This commit was manufactured by cvs2svn to create tag 'v201106091215'.

Sprout from master 2011-05-19 22:20:08 UTC Greg Watson <g.watson@computer.org> 'Use shared license.'
Delete:
    org.eclipse.photran.core.vpg.preprocessor.c.tests/.classpath
    org.eclipse.photran.core.vpg.preprocessor.c.tests/.project
    org.eclipse.photran.core.vpg.preprocessor.c.tests/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.core.vpg.preprocessor.c.tests/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.core.vpg.preprocessor.c.tests/META-INF/MANIFEST.MF
    org.eclipse.photran.core.vpg.preprocessor.c.tests/about.html
    org.eclipse.photran.core.vpg.preprocessor.c.tests/build.properties
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/extractvariable/ExtractVariable.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/extractvariable/ExtractVariableAfter.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1aRefactored.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1abOriginal.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1bRefactored.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test2Original.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test3Original.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test4Original.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test4Refactored.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro1.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro2.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro3.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro4.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro5.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro6.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/basic_function_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/constant_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/empty_macro_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/indirect_macro_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/newline_bug_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/trigraph_splice_macro_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/basic_included.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/basic_includer.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/commented_included.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/commented_includer.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/deep_includer.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/directive_includer.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/empty_file.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/empty_includer.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/failing_includer.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/if_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/at_sign_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/backslash_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/comment_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/end_of_file_directive_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/end_of_file_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/line_splice_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/pound_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/token_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/trigraph_test.f90
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/AbstractCppTestCase.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/AbstractCppTestSuite.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIntegratedSourceReproductionTestCase.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIntegratedSourceReproductionTestSuite.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIsolatedSourceReproductionTestCase.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIsolatedSourceReproductionTestSuite.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintArjanVanDijkAtmos.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintAsteroids.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintBasicTestFiles.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintFMLIB.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintMacroTestFiles.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintOtherDirectiveTestFiles.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintPOP.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintProjectString.java
    org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintTokenTestFiles.java
    org.eclipse.photran.core.vpg.preprocessor.c/.classpath
    org.eclipse.photran.core.vpg.preprocessor.c/.project
    org.eclipse.photran.core.vpg.preprocessor.c/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.core.vpg.preprocessor.c/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.core.vpg.preprocessor.c/META-INF/MANIFEST.MF
    org.eclipse.photran.core.vpg.preprocessor.c/OSGI-INF/l10n/bundle.properties
    org.eclipse.photran.core.vpg.preprocessor.c/about.html
    org.eclipse.photran.core.vpg.preprocessor.c/build.properties
    org.eclipse.photran.core.vpg.preprocessor.c/doc/README.txt
    org.eclipse.photran.core.vpg.preprocessor.c/doc/producer_map_example.doc
    org.eclipse.photran.core.vpg.preprocessor.c/plugin.xml
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessingLexer.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessingReader.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessorReplacement.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/IncludeMap.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/ProducerMap.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/sourceform/CPreprocessedFreeSourceForm.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTNode.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTPreprocessorName.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTPreprocessorNode.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CPreprocessor.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CompletionInMacroExpansionException.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CppHelper.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/EmptyCodeReaderCache.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/EndOfFileException.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ExpressionEvaluator.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/FileCodeReaderFactory.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IIndexBasedCodeReaderFactory.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ILexerLog.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ILocationCtx.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ISkippedIndexedFilesListener.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IToken.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ImageLocationInfo.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IncludeFileContent.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/InternalParserUtil.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/Lexer.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtx.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxContainer.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxFile.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxMacroExpansion.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationMap.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroDefinitionParser.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroExpander.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroExpansionTracker.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/OffsetLimitReachedException.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/PreprocessorMacro.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ReaderBasedCodeReader.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ScannerContext.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ScannerUtility.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/Token.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenForDigraph.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenForInclude.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenList.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenTypeTranslator.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenUtil.java
    org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenWithImage.java
    org.eclipse.photran.core.vpg.tests.failing/.classpath
    org.eclipse.photran.core.vpg.tests.failing/.project
    org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.core.vpg.tests.failing/META-INF/MANIFEST.MF
    org.eclipse.photran.core.vpg.tests.failing/build.properties
    org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-1/hello.f90
    org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-1/hello.f90.result
    org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-2/hello2.f90
    org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-2/hello2.f90.result
    org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/failing/Activator.java
    org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/00-README.txt
    org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseBrainerdTestSuiteFixed.java
    org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseBrainerdTestSuiteFree.java
    org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseFilesFromTheWWW.java
    org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/failing/TestReindent.java
    org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/refactoring/introimplicitnone/failing/IntroImplicitTestSuite.java
    org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/search/failing/VPGSearchTestSuite.java
    org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/vpg/failing/VariableAccessTestSuite.java
    org.eclipse.photran.core.vpg.tests.failing/var-access-test-code/test-io/test-io.f90
    org.eclipse.photran.core.vpg.tests/.classpath
    org.eclipse.photran.core.vpg.tests/.project
    org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.core.vpg.tests/META-INF/MANIFEST.MF
    org.eclipse.photran.core.vpg.tests/Makefile
    org.eclipse.photran.core.vpg.tests/NOTE
    org.eclipse.photran.core.vpg.tests/build.properties
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-allstop/test-allstop.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-allstop/test-allstop.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-arithmetic-if/test-arithmetic-if.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-arithmetic-if/test-arithmetic-if.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-assigned-goto/test-assigned-goto.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-assigned-goto/test-assigned-goto.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-associate/test-associate.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-associate/test-associate.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-block/test-block.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-block/test-block.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-computed-goto/test-computed-goto.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-computed-goto/test-computed-goto.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-critical/test-critical.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-critical/test-critical.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-cycle/test-cycle.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-cycle/test-cycle.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-loop/test-do-loop.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-loop/test-do-loop.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-while/test-do-while.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-while/test-do-while.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-forall/test-forall.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-forall/test-forall.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-function/test-function.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-function/test-function.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-goto/test-goto.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-goto/test-goto.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-if-single/test-if-single1.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-if-single/test-if-single1.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-ifconstruct/test-ifconstruct.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-ifconstruct/test-ifconstruct.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-io/test-io.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-io/test-io.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-loopswithexit/test-loopwithexit.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-loopswithexit/test-loopwithexit.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-module/test-module.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-module/test-module.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-return/test-return.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-return/test-return.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-select-type/test-select-type.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-select-type/test-select-type.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stmt-function/test-stmt-function.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stmt-function/test-stmt-function.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stop/test-stop.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stop/test-stop.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-subroutine/test-subroutine.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-subroutine/test-subroutine.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-construct/test-where-construct.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-construct/test-where-construct.f90.result
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-stmt/test-where-stmt.f90
    org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-stmt/test-where-stmt.f90.result
    org.eclipse.photran.core.vpg.tests/parser-test-code/.cvsignore
    org.eclipse.photran.core.vpg.tests/parser-test-code/fortran2003_tests/fortran2003-syntax.f03
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariable.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariableAfter.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1aRefactored.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1abOriginal.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1bRefactored.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test2Original.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test3Original.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Original.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Refactored.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/AssignResult.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/BlockData.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ConstSubstring.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/DblPrecDim.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/FormatTest.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/Function.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ImplicitTest.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/IntentTest.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/LineContinuationTest.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/OperatorStarTest.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ParenSlash.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118954-todo.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118955.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118965.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126383.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126546.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126547.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126548.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug138221.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug167734.f
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193031.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193196.f
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug195801.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606-todo.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug276186.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug294055.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug298895.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug300931.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug304269.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134.f
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134_sub_module_TnumERROR.f
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134_sub_module_TnumOK.f
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug308196.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug308197.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug314450.f03
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug320148.f
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug320148.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745a1.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745a2.F90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745b.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745c.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug331850.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug337623.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/formatbugs.f90
    org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/valref.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test1/test1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test1/test1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test2/test2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test3/test3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test4/test4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test5/test5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test5/test5.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test1/test1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test1/test1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test2/test2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test2/test2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test3/test3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test3/test3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test4/test4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test4/test4.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test5/test5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test5/test5.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test6/test6.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test6/test6.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/test1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/test1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/test2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/test2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/test3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/test3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/test3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test6/module4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test6/test6.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test7/module4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test7/test7.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/module4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/test8.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/test8.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/module.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/test9.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/test9.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test1-basic/add_subroutine_parameter_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test1-basic/add_subroutine_parameter_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test10-fail-invalidtype/add_subroutine_parameter_10.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test11-updatecallsitewhenvariablenamesaddedincall/add_subroutine_parameter_11.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test11-updatecallsitewhenvariablenamesaddedincall/add_subroutine_parameter_11.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test12-includevalidattributes/add_subroutine_parameter_12.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test12-includevalidattributes/add_subroutine_parameter_12.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test13-fail-invalidattribute/add_subroutine_parameter_13.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test14-fail-conflictingattributes/add_subroutine_parameter_14.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test15-fail-conflictingvariablenames/add_subroutine_parameter_15.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test16-fail-whitespacevariablename/add_subroutine_parameter_16.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test17-fail-parameternamebeginswithnumber/add_subroutine_parameter_17.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test18-fail-defaultvalueisvariablestartingwithnumber/add_subroutine_parameter_18.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test19-fail-defaultvalueisrealwhentypeisinteger/add_subroutine_parameter_19.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test2-updatecallsite/add_subroutine_parameter_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test2-updatecallsite/add_subroutine_parameter_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test20-fail-defaultvalueisnumberwhentypeisnonnumber/add_subroutine_parameter_20.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test21-fail-defaultvalueisnullwhentypeisnotpointer/add_subroutine_parameter_21.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test22-basicpointer/add_subroutine_parameter_22.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test22-basicpointer/add_subroutine_parameter_22.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test3-updatecallsitewithorder/add_subroutine_parameter_3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test3-updatecallsitewithorder/add_subroutine_parameter_3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test4-fail-negativeposition/add_subroutine_parameter_4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test5-fail-outofboundsposition/add_subroutine_parameter_5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test6-fail-whitespacedefaultvalue/add_subroutine_parameter_6.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test7-basicarray/add_subroutine_parameter_7.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test7-basicarray/add_subroutine_parameter_7.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test8-logicalbasic/add_subroutine_parameter_8.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test8-logicalbasic/add_subroutine_parameter_8.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test9-dontsetvariabletype/add_subroutine_parameter_9.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test9-dontsetvariabletype/add_subroutine_parameter_9.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-array/test-array.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-array/test-array.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-pointer/test-pointer.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-pointer/test-pointer.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test1/dataToParameter.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test1/dataToParameter.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-dt/test-encap-01c-basic-dt.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-dt/test-encap-01c-basic-dt.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-integer/test-encap-01a-basic-integer.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-integer/test-encap-01a-basic-integer.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-real/test-encap-01b-basic-real.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-real/test-encap-01b-basic-real.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-contains/test-encap-02-contains.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-contains/test-encap-02-contains.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-expr/test-encap-03-expr.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-expr/test-encap-03-expr.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-allocatable1/test-encap-06c-fail-allocatable1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-allocatable2/test-encap-06d-fail-allocatable2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-array/test-encap-06a-fail-array.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-conflict/test-encap-05a-fail-conflict.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-pointer/test-encap-06b-fail-pointer.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-target/test-encap-06e-fail-target.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-nosetter-parameter/test-encap-04-nosetter-parameter.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/module1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/module1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/test-simple01.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/test-simple01.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test1-basic/extract_local_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test1-basic/extract_local_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test2-formatting/extract_local_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test2-formatting/extract_local_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test3-fail-precedence/extract_local_3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test4-fail-conflict/extract_local_4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test01-simple.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test01-simple.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test02-locals.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test02-locals.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test03-locals2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test03-locals2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test04-in-loop.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test04-in-loop.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test05-parameter.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test05-parameter.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test06-parameter.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test06-parameter.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test07-attribs.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test07-attribs.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test08-charlen.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test08-charlen.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/increment-decrement-fusion/incrementDecrementTest.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/increment-decrement-fusion/incrementDecrementTest.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/simple-fuse-test/simpleFusionTest.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/simple-fuse-test/simpleFusionTest.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/two-decremented-loops/decrementedLoopsTest.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/two-decremented-loops/decrementedLoopsTest.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test01-fail-notAValidIfStatement/convertIfStatementToIfConstruct_InvalidIfStatement.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test02-convert_ifConstructToIfStmt/convert_ifConstruct.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test02-convert_ifConstructToIfStmt/convert_ifConstruct.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test03-fail-ifNamedVariable/convert_ifStatement_ifNamedVariable.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test04-complexboolean/ifStmtComplexBoolean_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test04-complexboolean/ifStmtComplexBoolean_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test05-complexboolean/ifStmtComplexBoolean_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test05-complexboolean/ifStmtComplexBoolean_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test06-convertifStmt/convertIfStatementToIfConstruct.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test06-convertifStmt/convertIfStatementToIfConstruct.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test07-ifConstructToStmtBasic/ifConstructToStmtBasic_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test07-ifConstructToStmtBasic/ifConstructToStmtBasic_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test08-nonIfToken/nonIfToken_fail.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test09-ifConstructComplexBoolean/ifConstructComplexBoolean_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test09-ifConstructComplexBoolean/ifConstructComplexBoolean_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test10-namedIfConstruct/namedIfConstruct_fail.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test11-multiLineIfConstructToIfStatement-failure/multiLineIfConstructToIfStmt.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test12-generalIfConstToIfStmt-failure/generalIfConstToIfStmt.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test13-fail-multipleIfSelections1/multipleIfSelections1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test14-fail-multipleIfSelections2/multipleIfSelections2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test15-commentInIfConstructToIfStmt/commentIfConstructToIfStmt.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test15-commentInIfConstructToIfStmt/commentIfConstructToIfStmt.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test16-commentInIfStmtToIfConstruct/commentInIfStmtToIfConst.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test16-commentInIfStmtToIfConstruct/commentInIfStmtToIfConst.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test17-reindentIfConstruct/reindentIfConstruct.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test17-reindentIfConstruct/reindentIfConstruct.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test18-commentHandling/commentHandling.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test18-commentHandling/commentHandling.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test19-optionalElse/optionalElse.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test19-optionalElse/optionalElse.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test20-optionalElseNotAdded/optionalElseNotAdded.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test20-optionalElseNotAdded/optionalElseNotAdded.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/external.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/main.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/module.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/01-simple.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/01-simple.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/02-end-after.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/02-end-after.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/03-blank-after.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/03-blank-after.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/04-guess-indent.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/04-guess-indent.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/05-eachline-test.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/05-eachline-test.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/06-continuation-test.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/06-continuation-test.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/07-singleLineIf-test.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/07-singleLineIf-test.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/08-labelAndComments-test.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/08-labelAndComments-test.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/09-bug331904.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/09-bug331904.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/10-continue.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/10-continue.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/11-select-case.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/11-select-case.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/12-line-continuations.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/12-line-continuations.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-1-initial.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-2-proggie-shorter.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-3-proggie-longer.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-4-q-cut.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-5-q-pasted.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-6-q-pasted-at-bottom.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-7-q-pasted-formatted.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-8-q-pasted-at-bottom-formatted.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-9-t-above-q.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-single/test-single-loop.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-single/test-single-loop.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple1/test-triple-loop.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple1/test-triple-loop.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple2/test-triple-loop2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple2/test-triple-loop2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test1-simple/test01-simple.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test1-simple/test01-simple.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test2-simple/test02-simple.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test2-simple/test02-simple.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-big-expression/bigexpression.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-big-expression/bigexpression.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-crazy-implicits/crazyimplicits.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-crazy-implicits/crazyimplicits.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-format-stmt/bug306444.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-format-stmt/bug306444.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-fortran/fortran.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-fortran/fortran.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-implicit-subprog/implicit-subprog.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-implicit-subprog/implicit-subprog.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files1/crazyimplicits.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files1/crazyimplicits.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files2/fortran.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files2/fortran.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/simple1/01-simple.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/simple1/01-simple.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files1/01-simple.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files1/01-simple.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files2/02-end-after.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files2/02-end-after.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.1/justCommons1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.1/justCommons1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.2/justCommons2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.2/justCommons2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common4.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.1/namesProv1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.1/namesProv1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.2/namesProv2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.2/namesProv2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.1/short1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.1/short1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.2/short2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.2/short2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.1/typesDiffer1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.2/typesDiffer1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.3/typesDiffer2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv1/priv1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv1/priv1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv2/priv2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv2/priv2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test10/priv2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test10/testFile1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test12/test12.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test12/test12.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test13/test13.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test3/test3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test3/test3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test4/test4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test4/test4.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test5/test5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test5/test5.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test6/test6.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test6/test6.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7/test7.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7/test7.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7_1/test7_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7_1/test7_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test8/priv1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test9/priv1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test9/testFile1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.1/make_save_1_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.1/make_save_1_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.2/make_save_1_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.2/make_save_1_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.3/make_save_1_3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.3/make_save_1_3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.4/make_save_1_4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.4/make_save_1_4.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.1/make_save_2_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.1/make_save_2_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.2/make_save_2_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.2/make_save_2_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.3/make_save_2_3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.3/make_save_2_3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.1/make_save_3_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.1/make_save_3_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.2/make_save_3_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.2/make_save_3_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.1/make_save_4_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.1/make_save_4_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.2/make_save_4_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.2/make_save_4_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.3/make_save_4_3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.3/make_save_4_3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.4/make_save_4_4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.4/make_save_4_4.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.5/make_save_4_5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.5/make_save_4_5.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.1/make_save_5_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.1/make_save_5_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.2/make_save_5_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.2/make_save_5_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.3/make_save_5_3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.3/make_save_5_3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.4/make_save_5_4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.4/make_save_5_4.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.1/make_save_6_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.1/make_save_6_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.2/make_save_6_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.2/make_save_6_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.3/make_save_6_3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.3/make_save_6_3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.4/make_save_6_4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.4/make_save_6_4.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.5/make_save_6_5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.5/make_save_6_5.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.1/make_save_7_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.1/make_save_7_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.2/make_save_7_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.2/make_save_7_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.3/make_save_7_3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.3/make_save_7_3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.1/make_save_8_1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.1/make_save_8_1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.2/make_save_8_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.2/make_save_8_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.3/make_save_8_3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.3/make_save_8_3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/module.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/test1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/test1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test10/program1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test10/program1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/module.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/test2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/test2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/module.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/test3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/test3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test4/module.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test4/test4_5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test5/module.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test5/test4_5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test6/module.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test6/test6.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test7/module.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test7/test7.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test8/program3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test8/program3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test9/program2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test9/program2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test1/test1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test1/test1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test2/test2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test2/test2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-alternate-return/test-alternate-return.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-alternate-return/test-alternate-return.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-basic/test-basic.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-basic/test-basic.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface/test-interface.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface/test-interface.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface2/test-interface2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface2/test-interface2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-internal-subroutine/test-internal-subroutine.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-internal-subroutine/test-internal-subroutine.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-no-arguments/test-no-arguments.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-optional-arguments/test-optional-arguments.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-optional-arguments/test-optional-arguments.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test1/test1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test1/test1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test2/test2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test2/test2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test3/test3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test3/test3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test4/test4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test4/test4.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test5/bug335794.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test5/bug335794.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos-white-box/one_label_no_goto.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos-white-box/one_label_no_goto.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test01/one_label_no_goto.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test01/one_label_no_goto.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test02/one_label_one_address.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test02/one_label_one_address.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test03/one_label_three_addresses.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test03/one_label_three_addresses.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test04/two_labels_no_goto.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test04/two_labels_no_goto.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test05/two_labels_one_address.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test05/two_labels_one_address.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test06/two_labels_three_addresses.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test06/two_labels_three_addresses.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test07/one_label_reassign_address.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test07/one_label_reassign_label.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test08/two_label_same_address.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test08/two_labels_same_address.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test09/one_label_goto_two_different_addresses.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test09/one_label_goto_two_different_addresses.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test10/comment_assign_and_goto.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test11/comment_assign_valid_goto.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test12/valid_assign_comment_goto.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test12/valid_assign_comment_goto.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test13/split_assign_to_two_lines.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test13/split_assign_to_two_lines.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test14/one_label_no_goto_no_address.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test15/use_label_in_equivalence.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test15/use_label_in_equivalence.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test16/use_label_in_subroutine.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test17/use_label_in_write.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test18/use_label_in_assignment.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test19/use_label_in_declaration.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test19/use_label_in_declaration.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test20/use_label_in_common_block.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test20/use_label_in_common_block.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test21/two_assign_same_label_withgotos.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test21/two_assign_same_label_withgotos.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test22/one_label_one_address_no_default.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test22/one_label_one_address_no_default.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test23/one_label_goto_two_different_addresses_no_default.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test23/one_label_goto_two_different_addresses_no_default.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test24/one_goto_with_statement_label.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test24/one_goto_with_statement_label.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_Inside_and_outside_if_block/branch_from_Inside_and_outside_if_block.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_Inside_and_outside_if_block/branch_from_Inside_and_outside_if_block.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_inside_and_outside_if_block_no_do_loop/branch_from_inside_and_outside_if_block_no_do_loop.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_inside_and_outside_if_block_no_do_loop/branch_from_inside_and_outside_if_block_no_do_loop.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_to_immediate_end_if_from_else/branch_to_immediate_end_if_from_else.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_to_immediate_end_if_from_else/branch_to_immediate_end_if_from_else.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_If_block_branch_from_else/nested_If_block_branch_from_else.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_If_block_branch_from_else/nested_If_block_branch_from_else.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_basic/nested_if_block_basic.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_basic/nested_if_block_basic.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_inner_end_if/nested_if_block_branch_to_immediate_inner_end_if.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_inner_end_if/nested_if_block_branch_to_immediate_inner_end_if.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_outer_end_if/nested_if_block_branch_to_immediate_outer_end_if.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_outer_end_if/nested_if_block_branch_to_immediate_outer_end_if.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_end_if_label/test-branch_end_if_label.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_end_if_label/test-branch_end_if_label.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if/test-branch_to_immediate_end_if.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if/test-branch_to_immediate_end_if.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if_with_continue_after_end_if/test-branch_to_immediate_end_if_with_continue_after_end_if.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if_with_continue_after_end_if/test-branch_to_immediate_end_if_with_continue_after_end_if.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-end_if_label_between_branch_to_end_if/test-end_if_label_between_branch_to_end_if.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-end_if_label_between_branch_to_end_if/test-end_if_label_between_branch_to_end_if.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_continue_branch-1/test-endif_continue_branch-1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_continue_branch-1/test-endif_continue_branch-1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_duplicate_continue/test-endif_duplicate_continue.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_duplicate_continue/test-endif_duplicate_continue.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-invalid_selection/test-invalid_selection.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-invalid_selection/test-invalid_selection.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-nested_if_blocks/test-nested_if_blocks.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-nested_if_blocks/test-nested_if_blocks.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-no_branch_to_end_if_label/test-no_branch_to_end_if_label.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-no_branch_to_end_if_label/test-no_branch_to_end_if_label.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-numbered_statement_after_continue/test-numbered_statement_after_continue.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-numbered_statement_after_continue/test-numbered_statement_after_continue.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test1/test1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test1/test1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test2/test2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test2/test2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test3/test3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test3/test3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test4/test4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test5/test5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test5/test5.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_as_only_stmt/pause_as_only_stmt.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_as_only_stmt/pause_as_only_stmt.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_in_subroutine/pause_in_subroutine.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_in_subroutine/pause_in_subroutine.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_nested_in_if_and_do_loop/pause_nested_in_if_and_do_loop.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_nested_in_if_and_do_loop/pause_nested_in_if_and_do_loop.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_no_message/pause_no_message.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_no_message/pause_no_message.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_not_selected/pause_not_selected.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_not_selected/pause_not_selected.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/equal-lb-ub/equal-lb-ub.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/equal-lb-ub/equal-lb-ub.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/integer-control-variable/integer-control-variable.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/integer-control-variable/integer-control-variable.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-do-while/nested-do-double-inner-decrement-do-while.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-do-while/nested-do-double-inner-decrement-do-while.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit-do-while/nested-do-double-inner-decrement-implicit-do-while.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit-do-while/nested-do-double-inner-decrement-implicit-do-while.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit/nested-do-double-inner-decrement-implicit.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit/nested-do-double-inner-decrement-implicit.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement/nested-do-double-inner-decrement.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement/nested-do-double-inner-decrement.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-do-while/nested-do-double-outer-increment-do-while.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-do-while/nested-do-double-outer-increment-do-while.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit-do-while/nested-do-double-outer-increment-implicit-do-while.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit-do-while/nested-do-double-outer-increment-implicit-do-while.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit/nested-do-double-outer-increment-implicit.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit/nested-do-double-outer-increment-implicit.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment/nested-do-double-outer-increment.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment/nested-do-double-outer-increment.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-do-while/nested-do-real-inner-decrement-do-while.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-do-while/nested-do-real-inner-decrement-do-while.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit-do-while/nested-do-real-inner-decrement-implicit-do-while.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit-do-while/nested-do-real-inner-decrement-implicit-do-while.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit/nested-do-real-inner-decrement-implicit.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit/nested-do-real-inner-decrement-implicit.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement/nested-do-real-inner-decrement.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement/nested-do-real-inner-decrement.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-do-while/nested-do-real-outer-increment-do-while.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-do-while/nested-do-real-outer-increment-do-while.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit-do-while/nested-do-real-outer-increment-implicit-do-while.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit-do-while/nested-do-real-outer-increment-implicit-do-while.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit/nested-do-real-outer-increment-implicit.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit/nested-do-real-outer-increment-implicit.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment/nested-do-real-outer-increment.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment/nested-do-real-outer-increment.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/test-invalid-selection/test-invalid-selection.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/test-invalid-selection/test-invalid-selection.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/uncontrolled-do-loop/uncontrolled-do-loop.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/uncontrolled-do-loop/uncontrolled-do-loop.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test1/remove-unreferenced-labels-test1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test1/remove-unreferenced-labels-test1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test2/remove-unreferenced-labels-test2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test2/remove-unreferenced-labels-test2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test3/remove-unreferenced-labels-test3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test3/remove-unreferenced-labels-test3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test1/unused_variables.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test1/unused_variables.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test2/unused_variables_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test2/unused_variables_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/.cvsignore
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/Makefile
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-mod.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-prog.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-subs.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278106-visibility.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278320-mod.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278320-prog.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278324.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-extsub1-a.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-extsub1-b.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-fn-result.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-overloads.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3a.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3b.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3c.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4a.fh
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4b.fh
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename6.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename7.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename8.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename9.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename9a.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-character-star/test1/Test1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-character-star/test1/Test1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test1/test1.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test1/test1.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test2/test2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test2/test2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test3/test3.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test3/test3.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test4/test4.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test4/test4.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test5/test5.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test5/test5.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-decrement-loop/reverseDecrementedLoop.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-decrement-loop/reverseDecrementedLoop.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-loop-with-comment/reverseLoopWithComment.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-loop-with-comment/reverseLoopWithComment.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops/reverseNested.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops/reverseNested.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops2/reverseNested2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops2/reverseNested2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-reverse-with-expression/reverseLoopWithExpression.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-reverse-with-expression/reverseLoopWithExpression.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-simple-loop/reverseLoopRefactoring.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-simple-loop/reverseLoopRefactoring.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test1/standardize_statements.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test1/standardize_statements.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test2/standardize_statements_2.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test2/standardize_statements_2.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/all-identifiers/testAllIdentifiers.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/all-identifiers/testAllIdentifiers.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-lowerBound-dependency/lowerBoundDependency.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-lowerBound-dependency/lowerBoundDependency.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-upperBound-dependency/loopUpperBoundDependency.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-upperBound-dependency/loopUpperBoundDependency.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/simple-tiling-test/simpleTilingTest.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/simple-tiling-test/simpleTilingTest.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/before-and-after/beforeAndAfter.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/before-and-after/beforeAndAfter.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complete-unroll-with-step/completeUnrollWithStep.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complete-unroll-with-step/completeUnrollWithStep.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complex-body-unroll2/ComplexBodyCompleteUnroll.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complex-body-unroll2/ComplexBodyCompleteUnroll.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complexLoopBodyUnroll/complexLoopBodyUnroll.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complexLoopBodyUnroll/complexLoopBodyUnroll.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop-partial/decrementLoopPartial.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop-partial/decrementLoopPartial.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop/decrementLoopComplete.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop/decrementLoopComplete.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/nested-loop-unroll/nestedLoopUnroll.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/nested-loop-unroll/nestedLoopUnroll.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/simple-complete-unroll/simpleCompleteUnroll.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/simple-complete-unroll/simpleCompleteUnroll.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/test-simple-loop/testSimpleLoop.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/test-simple-loop/testSimpleLoop.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/testUnrollWithStep/unrollWithStep.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/testUnrollWithStep/unrollWithStep.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/unroll-with-expr-arg/unrollWithExpr.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/unroll-with-expr-arg/unrollWithExpr.f90.result
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/upper-bound-int-expr/unrollWithUpperIntExpr.f90
    org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/upper-bound-int-expr/unrollWithUpperIntExpr.f90.result
    org.eclipse.photran.core.vpg.tests/search-test-code/foo.f90
    org.eclipse.photran.core.vpg.tests/search-test-code/implicitTest.f90
    org.eclipse.photran.core.vpg.tests/search-test-code/moduleInclusion.F90
    org.eclipse.photran.core.vpg.tests/search-test-code/nameScoping.F90
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/Activator.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranASTTestCase.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranRefactoringTestSuiteFromMarkers.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranTestCase.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranTestSuiteFromFiles.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranWorkspaceTestCase.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/AbstractDependencesTestCase.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/ArrayReferenceTest.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/DependencesTest.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/flow/ControlFlowTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/types/TypeCheckerTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/types/TypeCheckerTests.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/MultiTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseArjanVanDijkAtmos.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseAsteroids.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdFortran2003.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdTestSuiteFixed.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdTestSuiteFree.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseCoarraySamples.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseCollections.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFMLIB.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFilesFromTheWWW.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFortran2003TestFiles.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseHugeFile.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseIBEAMCppMod.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseLAPACK.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseNagleFortran2003.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParsePOP.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParsePhotranSamples.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectCInterop.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectGTKHello.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectString.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseRefactoringTestFiles.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseRegressionTestFiles.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseWRF.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/TestOpenMPComments.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/patternmatching/TestIdentMatch.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddIdentifierToEndTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddOnlyToUseTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddSubroutineParameterTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/DataToParameterTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/EncapsulateVariableTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ExtractLocalVariableTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/FuseLoopsRefactoringTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/IfConstructStatementConversionRefactoringTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/InterchangeLoopsTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/IntroImplicitTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/KeywordCaseTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakeCommonConsistentTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakePrivateEntityPublicTestCase.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakeSaveExplicitTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MinOnlyListTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MoveSavedToCommonBlockTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/PermuteSubroutineArgsTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveArithmeticIfTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveAssignedGotoTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveAssignedGotoWhiteBoxTestCase.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveBranchToEndIfTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveComputedGoToTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemovePauseStmtTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveRealAndDoublePrecisionLoopCountersTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveUnreferencedLabelsTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveUnusedTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReplaceCharacterStarTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReplaceOldStyleDoLoopTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReverseLoopRefactoringTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/SafeDeleteInternalSubprogramRefactoringTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/StandardizeStmtsTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/TileLoopRefactoringTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/UnrollLoopRefactoringTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/extractprocedure/ExtractProcTestCase.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/extractprocedure/ExtractProcTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/AbstractSourceEditorTestCase.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/CheckCanAddDeclTests.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/ReindenterTestCase.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/ReindenterTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestChangeText.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestRemove.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestSeparatedListRemoval.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename1.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename2.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename3.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename4.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename5.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename6.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename7.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename8.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename9.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278103.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278106_Visibility.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278320.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278324.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameExtSub1.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameFnResult.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameOverloads.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameTestCase.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/ManualSearchPageTests.txt
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/VPGSearchTestCase.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/VPGSearchTestSuite.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/InterfaceLinkTests.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/ListAllModulesTests.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/TokenOffsetTests.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/VPGSerializerTests.java
    org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/VariableAccessTestSuite.java
    org.eclipse.photran.core.vpg.tests/type-checker-test-code/test-constants/test.f90
    org.eclipse.photran.core.vpg.tests/var-access-test-code/array-test/array-test.f90
    org.eclipse.photran.core.vpg.tests/var-access-test-code/assignment-test/assignment-test.f90
    org.eclipse.photran.core.vpg.tests/var-access-test-code/call-test/call-test.f90
    org.eclipse.photran.core.vpg.tests/var-access-test-code/forall-test/forall-test.f90
    org.eclipse.photran.core.vpg.tests/var-access-test-code/test-assigned-goto/test-assigned-goto.f90
    org.eclipse.photran.core.vpg.tests/var-access-test-code/test-data-reference/test-data-reference.f90
    org.eclipse.photran.core.vpg.tests/var-access-test-code/test-implied-do/test-implied-do.f90
    org.eclipse.photran.core.vpg.tests/var-access-test-code/test-where-construct/test-where-construct.f90
    org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/definition1.f90
    org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/definition2.f90
    org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/interface1.f90
    org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/interface2.f90
    org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module1.f90
    org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module2-module3.f90
    org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module4.f90
    org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/use-module1.f90
    org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/use-module4.f90
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallConstructNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallConstructStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallHeaderNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallTripletSpecListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatEditNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatIdentifierNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatsepNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionArgListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionArgNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionInterfaceRangeNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionParNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionPrefixNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionRangeNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionReferenceNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionSubprogramNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericBindingNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGoToKwNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGotoStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfConstructNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfThenErrorNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfThenStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImageSelectorNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImageSetNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImplicitSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImplicitStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImpliedDoVariableNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImportStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInitializationNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInputImpliedDoNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireSpecListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntConstNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentParListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentParNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceBlockNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceBodyNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceRangeNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicProcedureNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInvalidEntityDeclNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIoControlSpecListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIoControlSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTKindParamNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTKindSelectorNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLabelDoStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLabelNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLanguageBindingSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblDefNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblRefListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblRefNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLockStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLogicalConstNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLoopControlNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLowerBoundNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMainProgramNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMainRangeNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskExprNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskedElseWhereConstructNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskedElseWhereStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleBlockNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNatureNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleProcedureStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMpSubprogramRangeNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMpSubprogramStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantDefNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantUseNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupObjectNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupsNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNestedExprNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodePair.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodeUtil.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodeWithErrorRecoverySymbols.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNullifyStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTObjectNameListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTObjectNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOnlyNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOpenStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOperatorNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalParListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalParNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputImpliedDoNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputItemList1Node.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputItemListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParameterStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParentIdentifierNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParenthesizedSubroutineArgListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPauseStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerFieldNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerObjectNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerStmtObjectNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPositionSpecListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPositionSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrefixSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrintStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrivateSequenceStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcComponentAttrSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcComponentDefStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcDeclNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcInterfaceNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureDeclarationStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureNameListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProgramNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProgramStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProtectedStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdCtlSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdFmtIdExprNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdFmtIdNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdIoCtlSpecListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdUnitIdNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTReadStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRealConstNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRenameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTReturnStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRewindStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDataRefNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDummyArgNameListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDummyArgNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFExprListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFExprNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFFactorNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFPrimaryNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFTermNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFVarNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSaveStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSavedCommonBlockNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSavedEntityNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTScalarMaskExprNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTScalarVariableNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSectionSubscriptNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectCaseRangeNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectCaseStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeBodyNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeConstructNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSeparateModuleSubprogramNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSeparatedListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSignNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSpecificBindingNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStmtFunctionRangeNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStmtFunctionStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStopStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStringConstNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStructureComponentNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStructureConstructorNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleBlockNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineArgNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineInterfaceRangeNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineNameUseNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineParNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutinePrefixNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineRangeNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineSubprogramNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubscriptNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubscriptTripletNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubstrConstNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubstringRangeNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncAllStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncImagesStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncMemoryStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncStatNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetObjectNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTThenPartNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeAttrSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeBoundProcedurePartNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeDeclarationStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeGuardStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamAttrSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamDeclNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamDefStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamValueNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFExprNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFFactorNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFPrimaryNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFTermNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnaryExprNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnitIdentifierNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnlockStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnprocessedIncludeStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUpperBoundNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUseNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUseStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTValueStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVarOrFnRefNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableCommaNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableNameNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVisitor.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVolatileStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWaitSpecNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWaitStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereConstructNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereConstructStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereRangeNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWriteStmtNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/BodyParsingTables.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ContainsStmtParsingTables.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ExecutableProgramParsingTables.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ExprParsingTables.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/GenericASTVisitor.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTListNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTNode.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTVisitor.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IAccessId.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IActionStmt.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBindEntity.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBlockDataBodyConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBodyConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ICaseBodyConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IComponentDefStmt.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDataIDoObject.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDataStmtObject.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDeclarationConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDefinedOperator.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDerivedTypeBodyConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExecutableConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExecutionPartConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExpr.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IForallBodyConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInputItem.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInterfaceSpecification.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInternalSubprogram.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleBodyConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleSubprogram.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleSubprogramPartConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IObsoleteActionStmt.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IObsoleteExecutionPartConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IProcBindingStmt.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IProgramUnit.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISelector.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISpecificationPartConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISpecificationStmt.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IUnsignedArithmeticConst.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IWhereBodyConstruct.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/Parser.java
    org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/SemanticActions.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/Activator.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Binder.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/BindingCollector.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Definition.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/DefinitionCollector.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/DefinitionPrint.txt
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ImplicitSpec.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ImplicitSpecCollector.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Intrinsic.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Messages.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ModuleLoader.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/PrivateCollector.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ReferenceCollector.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ScopePrint.txt
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ScopingNode.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/SpecificationCollector.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/SubprogramTypeCollector.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/VariableAccess.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/VisibilityCollector.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/messages.properties
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/package-info.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/LoopDependences.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/Messages.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/PerfectLoopNest.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/VariableReference.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/messages.properties
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/package-info.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/flow/ControlFlowAnalysis.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/ASTProperLoopConstructNode.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/ASTVisitorWithLoops.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/GenericASTVisitorWithLoops.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/IASTVisitorWithLoops.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/LoopReplacer.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/package-info.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/ArraySpec.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/DerivedType.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/Dimension.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/FunctionType.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/Type.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/TypeChecker.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/TypeProcessor.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/package-info.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/properties/SearchPathProperties.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/properties/package-info.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddIdentifierToEndRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddOnlyToUseStmtRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddSubroutineParameterRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/CommonVarNamesRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/DataToParameterRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/EncapsulateVariableRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ExtractLocalVariableRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ExtractProcedureRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/FuseLoopsRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IfConstructStatementConversionRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/InterchangeLoopsRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IntroImplicitNoneRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/KeywordCaseRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MakePrivateEntityPublicRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MakeSaveExplicitRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/Messages.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MinOnlyListRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MoveCommonToModuleRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MoveSavedToCommonBlockRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/PermuteSubroutineArgsRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveArithmeticIfRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveAssignedGotoRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveBranchToEndIfRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveComputedGoToRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemovePauseStmtRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveRealAndDoublePrecisionLoopCountersRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveUnreferencedLabelsRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveUnusedVariablesRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RenameRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RepObsOpersRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReplaceCharacterStarRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReplaceOldStyleDoLoopRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReverseLoopRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/SafeDeleteInternalSubprogramRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/StandardizeStatementsRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/TileLoopRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/UnrollLoopRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/_AST_VPG_HOWTO.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/_REFACTORING_HOWTO.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/ASTNodeAdapterFactory.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranEditorRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranResourceRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/Messages.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/SourcePrinter.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/messages.properties
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/package-info.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/IFortranEditorRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/ILTKRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/IRenameRefactoring.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/package-info.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/messages.properties
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/package-info.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/LineColComputer.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ReindentEachLineVisitor.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/Reindenter.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ReindentingVisitor.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ShiftBlockVisitor.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/StartOfLine.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/IterableWrapper.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/LineCol.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/Messages.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/Notification.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/SemanticError.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/messages.properties
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/package-info.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/AnnotationType.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/EdgeType.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/IPhotranSerializable.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/Messages.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranTokenRef.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPG.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGComponentFactory.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGDB1.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGDB2.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGSerializer.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGStartup.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGWriter.java
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/messages.properties
    org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/package-info.java
    org.eclipse.photran.doc.user/.project
    org.eclipse.photran.doc.user/META-INF/MANIFEST.MF
    org.eclipse.photran.doc.user/README.TXT
    org.eclipse.photran.doc.user/about.html
    org.eclipse.photran.doc.user/build.properties
    org.eclipse.photran.doc.user/html/advanced/AdvancedEditingFeatures.html
    org.eclipse.photran.doc.user/html/advanced/Introduction.html
    org.eclipse.photran.doc.user/html/advanced/Refactoring.html
    org.eclipse.photran.doc.user/html/advanced/SearchNavigation.html
    org.eclipse.photran.doc.user/html/advanced/top.html
    org.eclipse.photran.doc.user/html/basic/AdvancedFeatures.html
    org.eclipse.photran.doc.user/html/basic/CompilingFortran.html
    org.eclipse.photran.doc.user/html/basic/GettingStarted.html
    org.eclipse.photran.doc.user/html/basic/InstallingPhotran.html
    org.eclipse.photran.doc.user/html/basic/RunningDebuggingFortran.html
    org.eclipse.photran.doc.user/html/basic/StartingNewProject.html
    org.eclipse.photran.doc.user/html/basic/Troubleshooting.html
    org.eclipse.photran.doc.user/html/basic/UpgradingProjects.html
    org.eclipse.photran.doc.user/html/basic/WritingCode.html
    org.eclipse.photran.doc.user/html/basic/top.html
    org.eclipse.photran.doc.user/html/help.css
    org.eclipse.photran.doc.user/html/images/ContentAssist.jpg
    org.eclipse.photran.doc.user/html/images/EncapsulateVariablesPart1.jpg
    org.eclipse.photran.doc.user/html/images/EncapsulateVariablesPart2.jpg
    org.eclipse.photran.doc.user/html/images/GetterSetterNames.jpg
    org.eclipse.photran.doc.user/html/images/InterchangeLoops.png
    org.eclipse.photran.doc.user/html/images/MoveSavedToCommonBlock.PNG
    org.eclipse.photran.doc.user/html/images/OpenSearch.jpg
    org.eclipse.photran.doc.user/html/images/Photran-Data-To-Parameter.png
    org.eclipse.photran.doc.user/html/images/Photran-Remove-Unused-Variables.png
    org.eclipse.photran.doc.user/html/images/Photran-Standardize-Statements.png
    org.eclipse.photran.doc.user/html/images/Photran-add-only-dialog.PNG
    org.eclipse.photran.doc.user/html/images/Photran-add-only-list.PNG
    org.eclipse.photran.doc.user/html/images/Photran-canonicalize-keyword-cap-1.PNG
    org.eclipse.photran.doc.user/html/images/Photran-canonicalize-keyword-cap-dialog.PNG
    org.eclipse.photran.doc.user/html/images/Photran-comment-action.png
    org.eclipse.photran.doc.user/html/images/Photran-editor-1.PNG
    org.eclipse.photran.doc.user/html/images/Photran-editor-fixed-1.PNG
    org.eclipse.photran.doc.user/html/images/Photran-editor-folding-1.PNG
    org.eclipse.photran.doc.user/html/images/Photran-editor-ruler.PNG
    org.eclipse.photran.doc.user/html/images/Photran-extract-proc-1.png
    org.eclipse.photran.doc.user/html/images/Photran-extract-proc-dialog.png
    org.eclipse.photran.doc.user/html/images/Photran-f-vs-c-project.png
    org.eclipse.photran.doc.user/html/images/Photran-fortran-binary-parsers.PNG
    org.eclipse.photran.doc.user/html/images/Photran-fortran-declaration-view.png
    org.eclipse.photran.doc.user/html/images/Photran-fortran-error-parsers.PNG
    org.eclipse.photran.doc.user/html/images/Photran-intro-implicit-1.png
    org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist-1.PNG
    org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist-dialog.PNG
    org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist.PNG
    org.eclipse.photran.doc.user/html/images/Photran-min-only-list.PNG
    org.eclipse.photran.doc.user/html/images/Photran-outline-view-error.PNG
    org.eclipse.photran.doc.user/html/images/Photran-outline-view.PNG
    org.eclipse.photran.doc.user/html/images/Photran-priv-to-public.PNG
    org.eclipse.photran.doc.user/html/images/Photran-priv-to-public2.PNG
    org.eclipse.photran.doc.user/html/images/Photran-project-type.PNG
    org.eclipse.photran.doc.user/html/images/Photran-refac-properties.png
    org.eclipse.photran.doc.user/html/images/Photran-rename-1.png
    org.eclipse.photran.doc.user/html/images/Photran-rename-dialog.png
    org.eclipse.photran.doc.user/html/images/Photran-replace-obsolete-1.png
    org.eclipse.photran.doc.user/html/images/Photran-run-as-local-fortran.png
    org.eclipse.photran.doc.user/html/images/Photran-set-breakpoint.png
    org.eclipse.photran.doc.user/html/images/Photran-source-form-config.png
    org.eclipse.photran.doc.user/html/images/PhotranHoverTips.jpg
    org.eclipse.photran.doc.user/html/images/SearchDeclarations.jpg
    org.eclipse.photran.doc.user/plugin.properties
    org.eclipse.photran.doc.user/plugin.xml
    org.eclipse.photran.doc.user/toc.xml
    org.eclipse.photran.doc.user/tocadvanced.xml
    org.eclipse.photran.doc.user/tocbasic.xml
    org.eclipse.photran.errorparsers.xlf/.classpath
    org.eclipse.photran.errorparsers.xlf/.project
    org.eclipse.photran.errorparsers.xlf/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.errorparsers.xlf/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.errorparsers.xlf/META-INF/MANIFEST.MF
    org.eclipse.photran.errorparsers.xlf/about.ini
    org.eclipse.photran.errorparsers.xlf/about.mappings
    org.eclipse.photran.errorparsers.xlf/about.properties
    org.eclipse.photran.errorparsers.xlf/build.properties
    org.eclipse.photran.errorparsers.xlf/plugin.properties
    org.eclipse.photran.errorparsers.xlf/plugin.xml
    org.eclipse.photran.errorparsers.xlf/src/org/eclipse/photran/errorparsers/xlf/Activator.java
    org.eclipse.photran.errorparsers.xlf/src/org/eclipse/photran/errorparsers/xlf/XLFCompilerErrorParser.java
    org.eclipse.photran.intel-feature/.project
    org.eclipse.photran.intel-feature/build.properties
    org.eclipse.photran.intel-feature/feature.properties
    org.eclipse.photran.intel-feature/feature.xml
    org.eclipse.photran.managedbuilder.core/.classpath
    org.eclipse.photran.managedbuilder.core/.cvsignore
    org.eclipse.photran.managedbuilder.core/.project
    org.eclipse.photran.managedbuilder.core/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.managedbuilder.core/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.managedbuilder.core/META-INF/MANIFEST.MF
    org.eclipse.photran.managedbuilder.core/about.html
    org.eclipse.photran.managedbuilder.core/build.properties
    org.eclipse.photran.managedbuilder.core/plugin.properties
    org.eclipse.photran.managedbuilder.core/plugin.xml
    org.eclipse.photran.managedbuilder.core/src/org/eclipse/photran/managedbuilder/core/ManagedBuilderCorePlugin.java
    org.eclipse.photran.managedbuilder.core/src/org/eclipse/photran/managedbuilder/core/makegen/DefaultFortranDependencyCalculator.java
    org.eclipse.photran.managedbuilder.gnu.ui/.classpath
    org.eclipse.photran.managedbuilder.gnu.ui/.project
    org.eclipse.photran.managedbuilder.gnu.ui/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.managedbuilder.gnu.ui/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.managedbuilder.gnu.ui/META-INF/MANIFEST.MF
    org.eclipse.photran.managedbuilder.gnu.ui/about.html
    org.eclipse.photran.managedbuilder.gnu.ui/build.properties
    org.eclipse.photran.managedbuilder.gnu.ui/plugin.properties
    org.eclipse.photran.managedbuilder.gnu.ui/plugin.xml
    org.eclipse.photran.managedbuilder.intel.ui/.classpath
    org.eclipse.photran.managedbuilder.intel.ui/.cvsignore
    org.eclipse.photran.managedbuilder.intel.ui/.project
    org.eclipse.photran.managedbuilder.intel.ui/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.managedbuilder.intel.ui/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.managedbuilder.intel.ui/META-INF/MANIFEST.MF
    org.eclipse.photran.managedbuilder.intel.ui/about.html
    org.eclipse.photran.managedbuilder.intel.ui/build.properties
    org.eclipse.photran.managedbuilder.intel.ui/plugin.properties
    org.eclipse.photran.managedbuilder.intel.ui/plugin.xml
    org.eclipse.photran.managedbuilder.intel.ui/src/org/eclipse/photran/managedbuilder/intel/ui/IntelUiPlugin.java
    org.eclipse.photran.managedbuilder.ui/.classpath
    org.eclipse.photran.managedbuilder.ui/.cvsignore
    org.eclipse.photran.managedbuilder.ui/.project
    org.eclipse.photran.managedbuilder.ui/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.managedbuilder.ui/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.managedbuilder.ui/META-INF/MANIFEST.MF
    org.eclipse.photran.managedbuilder.ui/about.html
    org.eclipse.photran.managedbuilder.ui/build.properties
    org.eclipse.photran.managedbuilder.ui/plugin.properties
    org.eclipse.photran.managedbuilder.ui/plugin.xml
    org.eclipse.photran.managedbuilder.ui/src/org/eclipse/photran/managedbuilder/internal/ui/ManagedBuilderUIPlugin.java
    org.eclipse.photran.managedbuilder.xlf.ui/.classpath
    org.eclipse.photran.managedbuilder.xlf.ui/.project
    org.eclipse.photran.managedbuilder.xlf.ui/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.managedbuilder.xlf.ui/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.managedbuilder.xlf.ui/META-INF/MANIFEST.MF
    org.eclipse.photran.managedbuilder.xlf.ui/about.html
    org.eclipse.photran.managedbuilder.xlf.ui/build.properties
    org.eclipse.photran.managedbuilder.xlf.ui/plugin.properties
    org.eclipse.photran.managedbuilder.xlf.ui/plugin.xml
    org.eclipse.photran.ui.vpg.preprocessor.c/.classpath
    org.eclipse.photran.ui.vpg.preprocessor.c/.project
    org.eclipse.photran.ui.vpg.preprocessor.c/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.ui.vpg.preprocessor.c/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.ui.vpg.preprocessor.c/META-INF/MANIFEST.MF
    org.eclipse.photran.ui.vpg.preprocessor.c/OSGI-INF/l10n/bundle.properties
    org.eclipse.photran.ui.vpg.preprocessor.c/about.html
    org.eclipse.photran.ui.vpg.preprocessor.c/build.properties
    org.eclipse.photran.ui.vpg.preprocessor.c/plugin.xml
    org.eclipse.photran.ui.vpg.preprocessor.c/src/org/eclipse/photran/internal/ui/actions/DisplayPreprocessedSource.java
    org.eclipse.photran.ui.vpg/.classpath
    org.eclipse.photran.ui.vpg/.project
    org.eclipse.photran.ui.vpg/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.ui.vpg/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.ui.vpg/META-INF/MANIFEST.MF
    org.eclipse.photran.ui.vpg/OSGI-INF/l10n/bundle.properties
    org.eclipse.photran.ui.vpg/about.html
    org.eclipse.photran.ui.vpg/build.properties
    org.eclipse.photran.ui.vpg/icons/full/eview16/problems_view.gif
    org.eclipse.photran.ui.vpg/icons/full/eview16/source.gif
    org.eclipse.photran.ui.vpg/icons/full/obj16/f_file_obj.gif
    org.eclipse.photran.ui.vpg/icons/full/obj16/fsearch_obj.gif
    org.eclipse.photran.ui.vpg/icons/full/obj16/search_ref_obj.gif
    org.eclipse.photran.ui.vpg/icons/sample.gif
    org.eclipse.photran.ui.vpg/plugin.properties
    org.eclipse.photran.ui.vpg/plugin.xml
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/CorrectIndentationAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/DisplayBinderStatistics.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/DisplaySymbolTable.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/EasterEgg.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/EasterEggAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FindAllDeclarationsInScope.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FindMatchingInterfaceDeclarations.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FortranEditorASTActionDelegate.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/HighlightVariableAccesses.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/Messages.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/OpenDeclaration.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/ResetBinderStatistics.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/ResolveInterfaceBinding.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/SelectEnclosingScope.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/messages.properties
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/DefinitionMap.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranEditorTasks.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranVPGReconcilingStrategy.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranVPGSourceViewerConfigurationFactory.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/IFortranEditorASTTask.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/IFortranEditorVPGTask.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/Messages.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessor.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessorASTTask.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessorVPGTask.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProposalComputer.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/folding/FortranFoldingProvider.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/FortranDeclarationHover.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/FortranHoverASTTask.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/SourceViewerInformationControl.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/messages.properties
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/Messages.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/SearchPathsPropertyPage.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/messages.properties
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AbstractFortranRefactoringActionDelegate.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AbstractFortranRefactoringWizard.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AddOnlyToUseStmtInputPage.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AddSubroutineParameterAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/CommonVarNamesInputPage.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/ExtractLocalVariableAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/ExtractProcedureAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/IfConstructStatementConversionAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/KeywordCaseInputPage.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/Messages.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/PermuteSubroutineArgsInputPage.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveAssignedGotoAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveAssignedGotoInputPage.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveRealAndDoublePrecisionLoopCountersInputPage.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RenameAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/messages.properties
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranFindReferencesActionDelegate.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranFindReferencesSearchQuery.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranSearchPage.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranSearchQuery.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/Messages.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/messages.properties
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/declaration/DeclarationView.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/CopyMarkedFileAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/ErrorWarningFilterAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/MarkerDispatchAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/Messages.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/OpenMarkedFileAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/RemoveMarkerAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/SelectedResourceFilterAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/ShowFullMessageAction.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/TableSorter.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemContentProvider.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemContextMenu.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemLabelProvider.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemView.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/messages.properties
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/Activator.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/PhotranResourceFilter.java
    org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/PhotranVPGContribution.java
    org.eclipse.photran.ui/.classpath
    org.eclipse.photran.ui/.cvsignore
    org.eclipse.photran.ui/.project
    org.eclipse.photran.ui/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.photran.ui/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.photran.ui/META-INF/MANIFEST.MF
    org.eclipse.photran.ui/about.html
    org.eclipse.photran.ui/build.properties
    org.eclipse.photran.ui/icons/full/obj16/f_file_obj.gif
    org.eclipse.photran.ui/icons/full/obj16/f_ovr.gif
    org.eclipse.photran.ui/icons/sample.gif
    org.eclipse.photran.ui/intro/css/graphics/f.png
    org.eclipse.photran.ui/intro/css/graphics/f.xcf
    org.eclipse.photran.ui/intro/css/graphics/f_hov.png
    org.eclipse.photran.ui/intro/css/graphics/f_hov.xcf
    org.eclipse.photran.ui/intro/css/graphics/sample.gif
    org.eclipse.photran.ui/intro/css/graphics/sample_hov.gif
    org.eclipse.photran.ui/intro/css/overview.css
    org.eclipse.photran.ui/intro/overviewContent.xml
    org.eclipse.photran.ui/plugin.properties
    org.eclipse.photran.ui/plugin.xml
    org.eclipse.photran.ui/schema/sourceViewerConfig.exsd
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/FortranTemplateManager.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/FortranUIPlugin.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/FortranBlockCommentActionDelegate.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/FortranEditorActionDelegate.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/UIMessages.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/uimessages.properties
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/CompletionComputer.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranEditor.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranKeywordRuleBasedScanner.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranSourceViewer.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranTemplateCompletionProcessor.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranTemplateContext.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/HorizontalRuler.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/IFortranSourceViewerConfigurationFactory.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/SalesScanKeywordRule.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/AbstractFortranPreferencePage.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/CDTFortranPreferencePage.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/EditorPreferencePage.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/FortranTemplatesPreferencePage.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/MainFortranPreferencePage.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/Messages.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/messages.properties
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranBooleanFieldEditor.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranPropertyPage.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranSourceFormEditor.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/Page_head_general.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/SourceFormPropertyPage.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/UIMessages.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/WorkspacePathEditor.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/uimessages.properties
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/ShowReleaseNotes.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/UIMessages.java
    org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/uimessages.properties
    org.eclipse.photran.ui/templates/defaults.xml
    org.eclipse.photran.xlf-feature/.project
    org.eclipse.photran.xlf-feature/build.properties
    org.eclipse.photran.xlf-feature/feature.properties
    org.eclipse.photran.xlf-feature/feature.xml
    org.eclipse.rephraserengine-feature/.project
    org.eclipse.rephraserengine-feature/build.properties
    org.eclipse.rephraserengine-feature/epl-v10.html
    org.eclipse.rephraserengine-feature/feature.properties
    org.eclipse.rephraserengine-feature/feature.xml
    org.eclipse.rephraserengine-feature/license.html
    org.eclipse.rephraserengine-support/.classpath
    org.eclipse.rephraserengine-support/.project
    org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.rephraserengine-support/README.txt
    org.eclipse.rephraserengine-support/about.html
    org.eclipse.rephraserengine-support/build/cdtdb-4.0.3.xml
    org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-cmdline.jar
    org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-eclipse.jar
    org.eclipse.rephraserengine-support/distrib/license.html
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/core/CCorePlugin.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/CCorePluginResources.properties
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/BTree.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Chunk.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ChunkCache.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBStatus.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Database.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IString.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ListItem.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/LongString.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Messages.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ShortString.java
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/messages.properties
    org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/dom/PDOMNotImplementedError.java
    org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/IRuntimeConstants.java
    org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/LocalizationUtils.java
    org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/commonMessages.properties
    org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Assert.java
    org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/AssertionFailedException.java
    org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/CoreException.java
    org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/IStatus.java
    org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Status.java
    org.eclipse.rephraserengine.core.refactoring/.classpath
    org.eclipse.rephraserengine.core.refactoring/.project
    org.eclipse.rephraserengine.core.refactoring/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.rephraserengine.core.refactoring/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.rephraserengine.core.refactoring/META-INF/MANIFEST.MF
    org.eclipse.rephraserengine.core.refactoring/OSGI-INF/l10n/bundle.properties
    org.eclipse.rephraserengine.core.refactoring/about.html
    org.eclipse.rephraserengine.core.refactoring/build.properties
    org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IEditorRefactoring.java
    org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IRefactoring.java
    org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IResourceRefactoring.java
    org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/UserInputBoolean.java
    org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/UserInputString.java
    org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/simple/SimpleEditorRefactoring.java
    org.eclipse.rephraserengine.core.vpg.tests/.classpath
    org.eclipse.rephraserengine.core.vpg.tests/.project
    org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.rephraserengine.core.vpg.tests/META-INF/MANIFEST.MF
    org.eclipse.rephraserengine.core.vpg.tests/about.html
    org.eclipse.rephraserengine.core.vpg.tests/build.properties
    org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/dependence/GCDTestTest.java
    org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/dependence/IntMatrixTests.java
    org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/flow/FlowGraphTests.java
    org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/flow/ReachingDefsTest.java
    org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/InternalCDTDBTests.java
    org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/RAMDBTests.java
    org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/TestTokenRef.java
    org.eclipse.rephraserengine.core.vpg/.classpath
    org.eclipse.rephraserengine.core.vpg/.cvsignore
    org.eclipse.rephraserengine.core.vpg/.project
    org.eclipse.rephraserengine.core.vpg/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.rephraserengine.core.vpg/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.rephraserengine.core.vpg/META-INF/MANIFEST.MF
    org.eclipse.rephraserengine.core.vpg/OSGI-INF/l10n/bundle.properties
    org.eclipse.rephraserengine.core.vpg/about.html
    org.eclipse.rephraserengine.core.vpg/build.properties
    org.eclipse.rephraserengine.core.vpg/cdtdb-4.0.3-eclipse.jar
    org.eclipse.rephraserengine.core.vpg/src/doc-files/vpg.dot
    org.eclipse.rephraserengine.core.vpg/src/doc-files/vpg.png
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/analysis/flow/VPGFlowGraph.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/MergePreservationAnalyzer.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Messages.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Model.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ModelDiff.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PostTransformationContext.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationAnalysis.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationAnalyzer.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationRuleset.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Replacement.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ReplacementList.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ResetOffsetLength.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/messages.properties
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/ASTRepository.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/DemandDB.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/ILazyVPGPopulator.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/IVPGComponentFactory.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/IVPGNode.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/Messages.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/NodeRef.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPG.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGDB.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGDependency.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGEdge.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGLog.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGWriter.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/caching/CachingDB.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/cdt/CDTDB.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/profiling/ProfilingDB.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/ram/RAMDB.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/EclipseVPG.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/EclipseVPGWriter.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/IEclipseVPGComponentFactory.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/Messages.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/ResourceUtil.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/VPGJob.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/VPGSchedulingRule.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/messages.properties
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/package-info.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/messages.properties
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/package-info.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/Messages.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGEditorRefactoring.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGPreservationBasedEditorRefactoring.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGRefactoring.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGResourceRefactoring.java
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/messages.properties
    org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/internal/core/vpg/db/cdt/InternalCDTDB.java
    org.eclipse.rephraserengine.core.vpg/src/overview.html
    org.eclipse.rephraserengine.core.vpg/src/stylesheet.css
    org.eclipse.rephraserengine.core/.classpath
    org.eclipse.rephraserengine.core/.project
    org.eclipse.rephraserengine.core/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.rephraserengine.core/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.rephraserengine.core/META-INF/MANIFEST.MF
    org.eclipse.rephraserengine.core/OSGI-INF/l10n/bundle.properties
    org.eclipse.rephraserengine.core/about.html
    org.eclipse.rephraserengine.core/build.properties
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Dependence.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/DependenceTestFailure.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Direction.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/GCDTest.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/GeneralizedGCDTest.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/IDependenceTester.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/IVariableReference.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Messages.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/messages.properties
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/BasicBlock.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/BasicBlockBuilder.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/FlowGraph.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/FlowGraphNode.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/ReachingDefsAnalysis.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/symtab/SymbolTable.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/DefaultResourceFilter.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/IResourceFilter.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/Messages.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/messages.properties
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/LRUCache.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/MathUtil.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Messages.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/OffsetLength.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Pair.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/ReverseIterator.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/SetOfPairs.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Spawner.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/StringUtil.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TokenList.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TwoKeyHashMap.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TwoKeyTreeMap.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Worklist.java
    org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/messages.properties
    org.eclipse.rephraserengine.doc.isv/.project
    org.eclipse.rephraserengine.doc.isv/META-INF/MANIFEST.MF
    org.eclipse.rephraserengine.doc.isv/about.html
    org.eclipse.rephraserengine.doc.isv/build.properties
    org.eclipse.rephraserengine.doc.isv/html/concepts/introduction.html
    org.eclipse.rephraserengine.doc.isv/html/concepts/refactorings.html
    org.eclipse.rephraserengine.doc.isv/html/concepts/vpg.html
    org.eclipse.rephraserengine.doc.isv/html/samples/samples.html
    org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-editor.html
    org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-editor.rtf
    org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-perspective.html
    org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-perspective.rtf
    org.eclipse.rephraserengine.doc.isv/images/architecture.graffle
    org.eclipse.rephraserengine.doc.isv/images/architecture.png
    org.eclipse.rephraserengine.doc.isv/plugin.xml
    org.eclipse.rephraserengine.doc.isv/toc.xml
    org.eclipse.rephraserengine.doc.isv/tocconcepts.xml
    org.eclipse.rephraserengine.doc.isv/tocsamples.xml
    org.eclipse.rephraserengine.doc.isv/toctasks.xml
    org.eclipse.rephraserengine.examples.testing/.classpath
    org.eclipse.rephraserengine.examples.testing/.project
    org.eclipse.rephraserengine.examples.testing/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.rephraserengine.examples.testing/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.rephraserengine.examples.testing/META-INF/MANIFEST.MF
    org.eclipse.rephraserengine.examples.testing/build.properties
    org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/ForEachExamples.java
    org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/GeneralTestSuiteFromFilesExample.java
    org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/GeneralTestSuiteFromMarkersExample.java
    org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/TestSuiteFromFilesExample.java
    org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/TestSuiteFromMarkersExample.java
    org.eclipse.rephraserengine.examples.testing/test-files-1/file1.txt
    org.eclipse.rephraserengine.examples.testing/test-files-1/file2.txt
    org.eclipse.rephraserengine.examples.testing/test-files-2/file-with-markers-1.txt
    org.eclipse.rephraserengine.examples.testing/test-files-2/file-with-markers-2.txt
    org.eclipse.rephraserengine.examples.text/.classpath
    org.eclipse.rephraserengine.examples.text/.project
    org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.rephraserengine.examples.text/META-INF/MANIFEST.MF
    org.eclipse.rephraserengine.examples.text/README.txt
    org.eclipse.rephraserengine.examples.text/about.html
    org.eclipse.rephraserengine.examples.text/build.properties
    org.eclipse.rephraserengine.examples.text/icons/search_obj.gif
    org.eclipse.rephraserengine.examples.text/plugin.xml
    org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/ConvertTabsToSpacesRefactoring.java
    org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextFileResourceFilter.java
    org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextSearchPage.java
    org.eclipse.rephraserengine.examples.text/test/tab-example.txt
    org.eclipse.rephraserengine.testing.junit3/.classpath
    org.eclipse.rephraserengine.testing.junit3/.project
    org.eclipse.rephraserengine.testing.junit3/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.rephraserengine.testing.junit3/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.rephraserengine.testing.junit3/META-INF/MANIFEST.MF
    org.eclipse.rephraserengine.testing.junit3/build.properties
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/combinatorial/CombinationGenerator.java
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/combinatorial/ForEach.java
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/GeneralTestSuiteFromFiles.java
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/GeneralTestSuiteFromMarkers.java
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/MarkerUtil.java
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/Messages.java
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/RefactoringTestCase.java
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/RefactoringTestSuite.java
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/TestSuiteFromFiles.java
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/TestSuiteFromMarkers.java
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/WorkspaceTestCase.java
    org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/messages.properties
    org.eclipse.rephraserengine.ui.refactoring/.classpath
    org.eclipse.rephraserengine.ui.refactoring/.project
    org.eclipse.rephraserengine.ui.refactoring/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.rephraserengine.ui.refactoring/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.rephraserengine.ui.refactoring/META-INF/MANIFEST.MF
    org.eclipse.rephraserengine.ui.refactoring/OSGI-INF/l10n/bundle.properties
    org.eclipse.rephraserengine.ui.refactoring/about.html
    org.eclipse.rephraserengine.ui.refactoring/build.properties
    org.eclipse.rephraserengine.ui.refactoring/icons/sample.gif
    org.eclipse.rephraserengine.ui.refactoring/plugin.xml
    org.eclipse.rephraserengine.ui.refactoring/schema/refactorings.exsd
    org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/Messages.java
    org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/RefactoringAction.java
    org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/messages.properties
    org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/menus/RefactorableResourcePropertyTester.java
    org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/Messages.java
    org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/RefactorMenu.java
    org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/messages.properties
    org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/CustomUserInputPage.java
    org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/Messages.java
    org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/messages.properties
    org.eclipse.rephraserengine.ui.vpg/.classpath
    org.eclipse.rephraserengine.ui.vpg/.project
    org.eclipse.rephraserengine.ui.vpg/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.rephraserengine.ui.vpg/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.rephraserengine.ui.vpg/META-INF/MANIFEST.MF
    org.eclipse.rephraserengine.ui.vpg/OSGI-INF/l10n/bundle.properties
    org.eclipse.rephraserengine.ui.vpg/about.html
    org.eclipse.rephraserengine.ui.vpg/build.properties
    org.eclipse.rephraserengine.ui.vpg/plugin.xml
    org.eclipse.rephraserengine.ui.vpg/schema/vpg.exsd
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/ClearDBAction.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayDBAction.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayDBStatisticsAction.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayModelAction.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayVPGErrorLogAction.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/EnsureDBUpToDateAction.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/Messages.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/ResetDBStatisticsAction.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/messages.properties
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/AnnotationsTab.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/BrowseDBAction.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/DependenciesTab.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/EdgeArrow.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/EdgesTab.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/Messages.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/VPGBrowser.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/messages.properties
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/preservation/PostTransformationStatusContextViewer.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/IEclipseVPGFactory.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/Messages.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/VPGOutputWindowAction.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/VPGWindowActionDelegate.java
    org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/messages.properties
    org.eclipse.rephraserengine.ui/.classpath
    org.eclipse.rephraserengine.ui/.project
    org.eclipse.rephraserengine.ui/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.rephraserengine.ui/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.rephraserengine.ui/META-INF/MANIFEST.MF
    org.eclipse.rephraserengine.ui/OSGI-INF/l10n/bundle.properties
    org.eclipse.rephraserengine.ui/about.html
    org.eclipse.rephraserengine.ui/build.properties
    org.eclipse.rephraserengine.ui/icons/search_obj.gif
    org.eclipse.rephraserengine.ui/plugin.xml
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/Activator.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/ISearchContentProvider.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/Messages.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchLabelProvider.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchListContentProvider.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchTreeContentProvider.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchViewPage.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/messages.properties
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/Messages.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/UIUtil.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/WorkbenchSelectionInfo.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/messages.properties
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/Messages.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/OpenSearchPageAction.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchMatch.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchPage.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchQuery.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchResult.java
    org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/messages.properties
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/.classpath b/org.eclipse.photran.core.vpg.preprocessor.c.tests/.classpath
deleted file mode 100755
index 64c5e31..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/.project b/org.eclipse.photran.core.vpg.preprocessor.c.tests/.project
deleted file mode 100755
index cdd54df..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.core.vpg.preprocessor.c.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.core.vpg.preprocessor.c.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100755
index 7135d96..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,330 +0,0 @@
-#Thu May 27 09:03:29 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.core.vpg.preprocessor.c.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index ec3e913..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Tue Dec 01 10:22:15 CST 2009

-eclipse.preferences.version=1

-formatter_profile=_Photran

-formatter_settings_version=11

-org.eclipse.jdt.ui.javadoc=true

-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *    UIUC - Initial API and implementation\r\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * \r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/META-INF/MANIFEST.MF b/org.eclipse.photran.core.vpg.preprocessor.c.tests/META-INF/MANIFEST.MF
deleted file mode 100755
index 4bead14..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Photran C Preprocessor Support - Unit Tests
-Bundle-SymbolicName: org.eclipse.photran.core.vpg.preprocessor.c.tests
-Bundle-Version: 7.0.0.qualifier
-Bundle-Vendor: Eclipse.org
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.cdt.core,
- org.eclipse.core.runtime,
- org.eclipse.photran.core,
- org.eclipse.photran.core.vpg,
- org.eclipse.photran.core.vpg.preprocessor.c,
- org.eclipse.photran.core.vpg.tests,
- org.junit,
- org.eclipse.core.resources,
- org.eclipse.rephraserengine.testing.junit3
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/about.html b/org.eclipse.photran.core.vpg.preprocessor.c.tests/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/build.properties b/org.eclipse.photran.core.vpg.preprocessor.c.tests/build.properties
deleted file mode 100755
index 34d2e4d..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/extractvariable/ExtractVariable.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/extractvariable/ExtractVariable.f90
deleted file mode 100755
index 4e2eb2d..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/extractvariable/ExtractVariable.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program TestExtractVariable

-

-contains

-

-subroutine Sub()

-  integer :: x

-  x = 1

-  if(x==1) then

-  	x=2

-  end if	

-  

-end subroutine Sub

-

-end program TestExtractVariable

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/extractvariable/ExtractVariableAfter.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/extractvariable/ExtractVariableAfter.f90
deleted file mode 100755
index 29fa234..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/extractvariable/ExtractVariableAfter.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program TestExtractVariable

-

-contains

-

-subroutine Sub()

-  integer :: x

-  logical :: y

-  x = 1

-  y = (x == 1)

-  if(y) then

-  	x=2

-  end if	

-  

-end subroutine Sub

-

-end program TestExtractVariable

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90
deleted file mode 100755
index 4921600..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-program Hello

-  implicit none

-  integer :: i

-

-  i = 3

-  call Sub(i + 1)

-

-  print *, "The integer is ", i

-

-contains

-

-subroutine Sub(i)

-  integer :: i

-  integer :: x

-

-  x = i

-  print *, x

-

-end subroutine Sub

-

-

-subroutine SomeSub(y,z)

-  real :: y

-  real :: z

-  real :: x

-

-  x = y + z

-  y = 22

-  z = y + z

-  print *, x

-

-end subroutine SomeSub

-

-end program

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90
deleted file mode 100755
index 9b0fd49..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90
+++ /dev/null
@@ -1,30 +0,0 @@
-program Hello

-

-  i = 3

-  call Sub(i + 1)

-

-  print *, "The integer is ", i

-  

-contains

-

-subroutine Sub(i)

-  integer :: x

-

-  x = i

-  print *, x

-  

-end subroutine Sub

-

-

-subroutine SomeSub(y,z)

-  real :: y

-  real :: z

-

-  x = y + z

-  y = 22

-  z = y + z

-  print *, x

-  

-end subroutine SomeSub

-

-end program

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90
deleted file mode 100755
index b0ffe2d..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-program Hello

-  integer :: i = 3

-

-  call Sub(i + 1)

-

-  print *, "The integer is ", i

-

-contains

-

-subroutine Sub(i)

-  implicit none

-  integer :: i

-  real :: x

-

-  x = i

-  print *, x

-

-end subroutine Sub

-

-

-subroutine SomeSub(y,z)

-  implicit none

-  real :: y

-  real :: z

-  real :: x

-

-  x = y + z

-  y = 22

-  z = y + z

-  print *, x

-

-end subroutine SomeSub

-

-end program

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90
deleted file mode 100755
index c9a9a2f..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program Hello

-  integer :: i = 3

-

-  call Sub(i + 1)

-

-  print *, "The integer is ", i

-  

-contains

-

-subroutine Sub(i)

-  

-  x = i

-  print *, x

-  

-end subroutine Sub

-

-

-subroutine SomeSub(y,z)

-  

-  x = y + z

-  y = 22

-  z = y + z

-  print *, x

-  

-end subroutine SomeSub

-

-end program

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90
deleted file mode 100755
index a06c261..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello

-  integer :: i = 3

-

-  call Sub(i + 1)

-

-  print *, "The integer is ", i

-

-contains

-

-subroutine Sub(i)

-  implicit none

-  integer :: i

-  real :: x

-

-  x = i

-  print *, x

-

-end subroutine Sub

-

-end program

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90
deleted file mode 100755
index bd9d871..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-program Hello

-  integer :: i = 3

-

-  call Sub(i + 1)

-

-  print *, "The integer is ", i

-  

-contains

-

-subroutine Sub(i)

-  

-  x = i

-  print *, x

-  

-end subroutine Sub

-

-end program

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90
deleted file mode 100755
index 92c1e0b..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello

-  integer :: i = 3

-

-  call Sub(i + 1)

-

-  print *, "The integer is ", i

-

-contains

-

-subroutine Sub(i)

-  implicit none

-  integer :: i

-  real :: x

-

-  x = i

-  print *, x

-  

-end subroutine Sub

-

-end program

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90
deleted file mode 100755
index 9b9f239..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-program Hello

-  integer :: i = 3

-

-  call Sub(i + 1)

-

-  print *, "The integer is ", i

-

-contains

-

-subroutine Sub(i)

-  integer :: i

-  real :: x

-

-  x = i

-  print *, x

-  

-end subroutine Sub

-

-end program

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90
deleted file mode 100755
index a06c261..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello

-  integer :: i = 3

-

-  call Sub(i + 1)

-

-  print *, "The integer is ", i

-

-contains

-

-subroutine Sub(i)

-  implicit none

-  integer :: i

-  real :: x

-

-  x = i

-  print *, x

-

-end subroutine Sub

-

-end program

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1aRefactored.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1aRefactored.f90
deleted file mode 100755
index 5738336..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1aRefactored.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program Hello

-  integer :: Whatever = 3

-

-  Whatever = Whatever + 1

-  print *, "The integer is ", Whatever

-  stop

-

-end program Hello

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1abOriginal.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1abOriginal.f90
deleted file mode 100755
index 963c879..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1abOriginal.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program Hello

-  integer :: i = 3

-  

-  i = i + 1

-  print *, "The integer is ", i

-  stop

-

-end program Hello

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1bRefactored.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1bRefactored.f90
deleted file mode 100755
index fe23bd6..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test1bRefactored.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program Whatever

-  integer :: i = 3

-

-  i = i + 1

-  print *, "The integer is ", i

-  stop

-

-end program Whatever

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test2Original.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test2Original.f90
deleted file mode 100755
index fd97eac..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test2Original.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program Hello

-  integer :: i = 3

-  integer :: j = 4

-  

-  i = i + 1

-  print *, "The integer is ", i

-  print *, "and the other integer is ", j

-  stop

-

-end program

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test3Original.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test3Original.f90
deleted file mode 100755
index b1cc8f1..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test3Original.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program Hello

-  integer :: i = 3

-

-  call Sub(i + 1)

-

-  print *, "The integer is ", i

-  

-contains

-

-subroutine Sub(x)

-  integer, intent(in) :: x

-

-  print *, "In the subroutine, the integer is ", x

-end subroutine Sub

-

-end program

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test4Original.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test4Original.f90
deleted file mode 100755
index 1955606..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test4Original.f90
+++ /dev/null
@@ -1,23 +0,0 @@
-! This is a sample program

-

-program Hello

-  integer :: i = 3 !!! a variable !!!

-

-  call Sub(Fn(i) + 1)

-

-  print *, "The integer is ", i

-

-contains ! a comment

-

-subroutine Sub(x) ! start

-  integer, intent(in) :: x

-

-  print *, "In the subroutine, the integer is ", x

-end subroutine Sub   ! end

-

-end program

-

-integer function Fn(n) result(y)

-  print *, "You sent", n, "to the function"

-  y = n

-end function

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test4Refactored.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test4Refactored.f90
deleted file mode 100755
index 52b7362..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/basic_test_files/rename/Test4Refactored.f90
+++ /dev/null
@@ -1,23 +0,0 @@
-! This is a sample program

-

-program Hello

-  integer :: i = 3 !!! a variable !!!

-

-  call buS(nF(i) + 1)

-

-  print *, "The integer is ", i

-

-contains ! a comment

-

-subroutine buS(x) ! start

-  integer, intent(in) :: x

-

-  print *, "In the subroutine, the integer is ", x

-end subroutine buS   ! end

-

-end program

-

-integer function nF(n) result(y)

-  print *, "You sent", n, "to the function"

-  y = n

-end function

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro1.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro1.f90
deleted file mode 100644
index 4b27ca4..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro1.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-! Here's a comment at the top of the file
-#define TYPE integer
-#define VALUE 5
-program hello_world
-  implicit none
-  TYPE :: hello = VALUE
-  print *, hello
-end program
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro2.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro2.f90
deleted file mode 100644
index 0c9db19..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-! Here's a comment at the top of the file
-#define TYPE integer
-#define VALUE 5
-program hello_world
-  implicit none
-  TYPE :: hello = VALUE
-  print *, hello
-  
-! TYPE
-end program
-! TYPE
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro3.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro3.f90
deleted file mode 100644
index ceeb588..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro3.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-! Here's a comment at the top of the file
-#define TYPE_AND_VAR integer :: hello
-#define VALUE 5
-program hello_world
-  implicit none
-  TYPE_AND_VAR = VALUE
-  print *, hello
-  
-end program
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro4.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro4.f90
deleted file mode 100644
index 5daa625..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro4.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-! This program will test some complicated token overlap situation
-#define ECHO(x) x
-
-program hello_world
-  implicit none
-  integer :: hello = 5
-  if(3 ECHO(.lt). 4) print *, hello
-  if(3 .ECHO(lt. 4 .)ECHO(and)ECHO(. 4 .lt). 5) print *, hello
-  if(3 ECHO(<)ECHO(4)) print *ECHO(),ECHO() ECHO()hello
-  print *, ECHO(hello ! in macro)
-  print *, ECHO(hello ! in macro) out of macro
-  
-end program
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro5.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro5.f90
deleted file mode 100644
index 01bf0bc..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro5.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-! this just tests to make sure the code works if there are no macros, etc.
-
-program hello_world
-  implicit none
-  integer :: hello = 5
-  print *, hello
-end program
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro6.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro6.f90
deleted file mode 100644
index 0a5ca51..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/fortran_macro_test_files/macro6.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-#define int integer ::
-
-program cpp
-    implicit none
-    int i = 3
-end program cpp
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/basic_function_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/basic_function_test.f90
deleted file mode 100755
index 23cb097..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/basic_function_test.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-/*1*/ # /*2*/ define /*3*/ f( /*4*/ x /*5*/, /*6*/ y /*7*/) /*8*/ x /*9*/ * /*10*/ y /*11*/ 

-

-/*12*/ f /*13*/ ( /*14*/ 5 /*15*/ , /*16*/ A /*17*/ + /*18*/ B /*19*/) /*20*/;

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/constant_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/constant_test.f90
deleted file mode 100755
index 5e38ba6..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/constant_test.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-#define  /*comment1*/ PI /*comment2*/  3.14159  /*comment3*/

-

-/*comment4*/ PI /*comment5*/

-

-/*comment6*/# /*comment7*/ define STRING some text

-

-/*comment8*/ PI /*comment9*/ STRING /*comment10*/

-

-

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/empty_macro_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/empty_macro_test.f90
deleted file mode 100755
index 310fcc4..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/empty_macro_test.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-There may be a problem reconstructing source code if a macro does not

-produce any tokens, because the macro invocation cannot be attached to

-the macro expansion.

-

-

-#define BLANK

-#define ECHO(x) x

-

-/*1*/BLANK  //2

-

-/*3*/ECHO()  //4

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/indirect_macro_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/indirect_macro_test.f90
deleted file mode 100755
index b347311..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/indirect_macro_test.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-#define SQUARE(x) x*x

-#define MAKE_SQUARE SQUARE

-#define SQUARE_OPEN SQUARE(

-

-MAKE_SQUARE(5)

-SQUARE_OPEN A)

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/newline_bug_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/newline_bug_test.f90
deleted file mode 100755
index cefa719..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/newline_bug_test.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-A newline token may not be returned if a macro expansion attempt fails.

-

-#define SQUARE(x) x*x

-

-SQUARE /*1*/

- /*2*/

- /*3*/ nothing

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/trigraph_splice_macro_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/trigraph_splice_macro_test.f90
deleted file mode 100755
index afd1bf6..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/macro_test_files/trigraph_splice_macro_test.f90
+++ /dev/null
@@ -1,23 +0,0 @@
-#define \u0025(x) x*x

-#define ??/u0027(x) x+x

-

-/*1*/ \u0025(10);

-/*2*/ ??/u0025(20);

-/*3*/ \u0027(30);

-/*4*/ ??/u0027(40);

-/*5*/ ??/u002\

-5(50);

-

-\u0025(/*6*/??=/*7*/)

-

-#define TRIGRAPH /*8*/ ??( /*9*/

-

-/*10*/ TRIGRAPH //11

-

-#define ALPHA  /*12*/ a \

-  b  \

-   \

-   c //13

-

-/*14*/ ALPHA //15

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/basic_included.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/basic_included.f90
deleted file mode 100755
index 337ffe4..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/basic_included.f90
+++ /dev/null
@@ -1,2 +0,0 @@
-This is an included file.

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/basic_includer.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/basic_includer.f90
deleted file mode 100755
index 76b5509..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/basic_includer.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-PRE INCLUDED FILE

-

-#include "basic_included.f90"

-

-POST INCLUDED FILE

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/commented_included.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/commented_included.f90
deleted file mode 100755
index ebf9edc..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/commented_included.f90
+++ /dev/null
@@ -1 +0,0 @@
-/*commentA*/ This is an included file. /*commentB*/
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/commented_includer.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/commented_includer.f90
deleted file mode 100755
index 400e2b2..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/commented_includer.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-PRE INCLUDED FILE

-

-/*comment1*/ #include "commented_included.f90" /*comment2 */

-/*comment3*/

-

-POST INCLUDED FILE

-

-WARNING: There may still be an error even if source reproduction succeeds.

-The included file ends with a comment instead of a newline, so make sure

-the comment is remembered.

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/deep_includer.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/deep_includer.f90
deleted file mode 100755
index 4ff481d..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/deep_includer.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-PRE OUTER INCLUDED FILE

-

-#include "basic_includer.f90"

-

-POST OUTER INCLUDED FILE

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/directive_includer.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/directive_includer.f90
deleted file mode 100644
index 905b2ce..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/directive_includer.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-PRE INCLUDED FILE
-
-#include "if_test.f90"
-
-POST INCLUDED FILE
-
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/empty_file.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/empty_file.f90
deleted file mode 100755
index e69de29..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/empty_file.f90
+++ /dev/null
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/empty_includer.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/empty_includer.f90
deleted file mode 100755
index 4b19146..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/empty_includer.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-PRE INCLUDED FILE

-

-#include "empty_file.f90"

-

-POST INCLUDED FILE

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/failing_includer.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/failing_includer.f90
deleted file mode 100755
index b6f00b3..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/failing_includer.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-PRE INCLUDED FILE

-

-#include "non_existant_file.f90"

-

-POST INCLUDED FILE

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/if_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/if_test.f90
deleted file mode 100755
index dcb4ac4..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/other_directive_test_files/if_test.f90
+++ /dev/null
@@ -1,31 +0,0 @@
-start

-

-#define DEFINED_VAR /*1*/

-

-#ifdef UNDEFINED_VAR/*2*/

-undefined-var is defined

-

-#elif defined(ANOTHER_UNDEFINED_VAR) /*3*/

-another-undefined-var is defined

-

-#elif defined(DEFINED_VAR) /*4*/

-defined-var is defined

-

-#else/*5*/

-none of the tested vars were defined

-

-#endif/*6*/

-

-#if defined(UNDEFINED_VAR)/*7*/

-undefined-var is defined

-#include "basic_included.f90"

-

-#endif/*8*/

-

-#if defined(DEFINED_VAR)/*17*/

-defined-var is defined

-#include "basic_included.f90"

-

-#endif/*9*/

-

-end

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/at_sign_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/at_sign_test.f90
deleted file mode 100755
index b07cd0e..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/at_sign_test.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-@ @@ @ @ @  @ @ @@  @

-

-At signs are considered unknown tokens by the Lexer. The Lexer will

-return unknown tokens like this with the proper image. However,

-the CPreprocessor is designed (or was designed) to not return tokens

-with an unknown type that it receives from the Lexer. If this is not

-handled, at signs will be lost.

-

-

-@@ @ @  @ @ @  @ @ @ @@  @

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/backslash_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/backslash_test.f90
deleted file mode 100755
index f434f07..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/backslash_test.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-If a backslash isn't the last character on a line (making a line

-splice), it may not be remembered. In this situation, it would be

-in a similar situation as the at sign: considered an unknown character.

-

-text \ text

-

-

-

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/comment_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/comment_test.f90
deleted file mode 100755
index 3c0a8a0..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/comment_test.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-//comment1

-

-text1 //comment2

-

-text2/*comment3*/ /*comment 4*/   text3

-

-//comment5

-/*comment6

-*/text

-

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/end_of_file_directive_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/end_of_file_directive_test.f90
deleted file mode 100755
index e5514a6..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/end_of_file_directive_test.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-There may be a problem when the file ends with a directive instead

-of a newline, since there is no token to attach the white space of

-the directive to the beginning of.

-

-#directive
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/end_of_file_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/end_of_file_test.f90
deleted file mode 100755
index 89cadb4..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/end_of_file_test.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-There may be a problem when the file ends with "whitespace" instead

-of a newline, since there is no token to attach the white space to

-the beginning of. For example, this file ends with a few spaces.

-

-   
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/line_splice_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/line_splice_test.f90
deleted file mode 100755
index 428e37c..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/line_splice_test.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-Here is a line splice \

-This is the next line.

-

-Here is another line splice \

-Here is \

-    \

-another line splice\

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/pound_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/pound_test.f90
deleted file mode 100755
index 93da356..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/pound_test.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-  #  #  ## # textA # #  # # 

-textB

-#

-textC

-##

-

-If a pound token starts out a line, the line may be lost

-in some cases...

-

-

-#textD

-textE ### #

-# textF

-

-#  5

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/token_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/token_test.f90
deleted file mode 100755
index 761f776..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/token_test.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-	 	 	 	 	!#$%^&*(*(()

-

-{} [] abcdef ghijk

-lmnopqrs  tuvwxyz

-

-<< >> <<<<< >>>> <<< >>>

-

-??   ????  ????????

-...

-%:%:

-;;;

-"this is quoted text   \n  \t    \r\n"

-'a' 'abdefg'

-

-

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/trigraph_test.f90 b/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/trigraph_test.f90
deleted file mode 100755
index 88274a8..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/token_test_files/trigraph_test.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-start

-

-text ??=

-??\

-??(

-??)

-??!

-??<

-??>

-??-

-??/

-

-???

-??abcdefg

-?????????

-

-??-??!??<

-

-

-end

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/AbstractCppTestCase.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/AbstractCppTestCase.java
deleted file mode 100755
index 1a2a576..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/AbstractCppTestCase.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c;

-

-import java.io.File;

-import java.io.IOException;

-

-import junit.framework.ComparisonFailure;

-import junit.framework.TestCase;

-

-import org.eclipse.photran.internal.core.preprocessor.c.CppHelper;

-import org.eclipse.photran.internal.core.preprocessor.c.IToken;

-import org.eclipse.photran.internal.core.util.SemanticError;

-

-/**

- * A test case for parsing a single file with the CPreprocessor. Based

- * on AbstractParserTestCase by joverbey.

- * @author Matthew Michelotti

- */

-public abstract class AbstractCppTestCase extends TestCase

-{

-    protected File file = null;

-    protected boolean isFixedForm = false;

-    protected String fileDescription = null;

-

-    /**

-     * Constructor

-     * 

-     * @param filename the file to parse

-     * @param isFixedForm true iff the file is in fixed format

-     */

-    public AbstractCppTestCase(File file, boolean isFixedForm, String testCaseDescription)

-    {

-        super("test"); // name of method to run

-        this.file = file;

-        this.isFixedForm = isFixedForm;

-        this.fileDescription = testCaseDescription;

-    }

-    

-    /**

-     * Method called by JUnit: Parses the given file.

-     * 

-     * @throws Exception

-     */

-    public final void test() throws Exception

-    {

-        if (file == null) return; // for when JUnit invokes the no-arguments constructor and reflectively invokes this method

-        

-        try

-        {

-            //SourceForm sourceForm = (isFixedForm ? SourceForm.FIXED_FORM : SourceForm.UNPREPROCESSED_FREE_FORM);

-            

-            CppHelper cpp = new CppHelper(file);

-            handleTokens(cpp.getRemainingTokens());

-        }

-        catch (ComparisonFailure f)

-        {

-            throw f;

-        }

-        catch (Throwable t)

-        {

-            throw new Exception(fileDescription, t);

-        }

-    }

-

-    /**

-     * Subclasses can override this method to perform the appropriate test on tokens

-     * 

-     * @param startToken - The first token in a linked-list of tokens

-     *        obtained from the CPP. Get other tokens with IToken.getNext().

-     * @throws IOException 

-     */

-    protected abstract void handleTokens(IToken startToken) throws IOException, SemanticError;

-}

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/AbstractCppTestSuite.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/AbstractCppTestSuite.java
deleted file mode 100755
index b79645e..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/AbstractCppTestSuite.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c;

-

-import java.io.File;

-import java.io.FileFilter;

-import java.io.FileNotFoundException;

-import java.io.FilenameFilter;

-import java.io.IOException;

-

-import junit.framework.TestSuite;

-

-/**

- * Test suite for the C preprocessor, based on

- * AbstractParserTestSuite by joverbey.

- * 

- * @author Matthew Michelotti

- */

-public abstract class AbstractCppTestSuite extends TestSuite

-{

-    public static final String TEST_ROOT = "../org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/";

-    

-    protected String directory;

-    protected boolean isFixedForm;

-    protected boolean print;

-

-    public AbstractCppTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist, boolean print) throws FileNotFoundException, IOException

-    {

-        this.directory = getFullPath(directorySuffix);

-        this.isFixedForm = isFixedForm;

-        this.print = print;

-

-        setName(getDescription(directorySuffix, isFixedForm, mustExist));

-

-        File dir = new File(directory);

-        if (dir.exists()) processDirectory(dir);

-    }

-    

-    protected String getDescription(String directorySuffix, boolean isFixedForm, boolean mustExist)

-    {

-        String dir = getFullPath(directorySuffix);

-        

-        StringBuffer sb = new StringBuffer(256);

-        sb.append(describeTestAction());

-        sb.append(" ");

-        sb.append(directorySuffix);

-        sb.append(isFixedForm ? " (fixed format)" : " (free format)");

-        String message = sb.toString();

-        

-        if (!new File(dir).exists())

-        {

-            if (mustExist)

-                throw new Error("Unable to find directory " + dir + " (working directory is " + getWorkingDirectory() + ")");

-            else

-                message = "NOTE: Confidential parser tests are not installed on this system: " + dir + " does not exist";

-        }

-        

-        return message;

-    }

-

-    private String getWorkingDirectory()

-    {

-        try

-        {

-            return new File(".").getCanonicalPath();

-        }

-        catch (IOException e)

-        {

-            return "???";

-        }

-    }

-

-    protected abstract String describeTestAction();

-

-    private static String getFullPath(String directorySuffix)

-    {

-        return TEST_ROOT + directorySuffix + (directorySuffix.endsWith("/") ? "" : "/");

-    }

-    

-    private void processDirectory(File dir)

-    {

-        if (isFixedForm)

-            for (File file : dir.listFiles(FIXED_FORM_FILENAME_FILTER))

-                addTest(createTestFor(file, isFixedForm, describe(file)));

-        else

-            for (File file : dir.listFiles(FREE_FORM_FILENAME_FILTER))

-                addTest(createTestFor(file, isFixedForm, describe(file)));

-        

-        for (File subdir : dir.listFiles(DIRECTORY_FILTER))

-            processDirectory(subdir);

-    }

-

-    protected abstract AbstractCppTestCase createTestFor(File file, boolean isFixedForm, String fileDescription);

-    

-    private String describe(File file)

-    {

-        return file.getAbsolutePath().substring(directory.length());

-    }

-

-    private static FilenameFilter FREE_FORM_FILENAME_FILTER = new FilenameFilter()

-    {

-        public boolean accept(File dir, String name)

-        {

-            return (name.endsWith(".f90")

-                || name.endsWith(".f03")

-                || name.endsWith(".F90")

-                || name.endsWith(".F03")

-                || name.endsWith(".FRE")) && !name.startsWith("XXX");

-        }

-    };

-

-    private static FilenameFilter FIXED_FORM_FILENAME_FILTER = new FilenameFilter()

-    {

-        public boolean accept(File dir, String name)

-        {

-            return (name.endsWith(".f")

-                || name.endsWith(".FIX")) && !name.startsWith("XXX");

-        }

-    };

-

-    private static FileFilter DIRECTORY_FILTER = new FileFilter()

-    {

-        public boolean accept(File f)

-        {

-            return f.isDirectory() && !f.getName().startsWith("XXX");

-        }

-    };

-}

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIntegratedSourceReproductionTestCase.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIntegratedSourceReproductionTestCase.java
deleted file mode 100755
index c2ae0ef..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIntegratedSourceReproductionTestCase.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.preprocessor.c;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-
-import org.eclipse.photran.internal.core.lexer.sourceform.CPreprocessedFreeSourceForm;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;
-import org.eclipse.photran.internal.core.sourceform.ISourceForm;
-import org.eclipse.photran.internal.tests.PhotranASTTestCase;
-
-public class CppIntegratedSourceReproductionTestCase extends PhotranASTTestCase
-{
-    public CppIntegratedSourceReproductionTestCase(File file, boolean isFixedForm, String testCaseDescription)
-    {
-        super(file, isFixedForm, testCaseDescription);
-    }
-
-    @Override protected ISourceForm createSourceForm()
-    {
-        return new CPreprocessedFreeSourceForm();
-    }
-
-    @Override
-    protected void handleAST(ASTExecutableProgramNode ast) throws IOException
-    {
-        String originalSourceCode = getSourceCodeFromFile(file);
-        transform(ast);
-        String reproducedSourceCode = getSourceCodeFromAST(ast);
-        assertEquals(originalSourceCode.replaceAll("\\r", "").trim(), reproducedSourceCode.replaceAll("\\r", "").trim());
-    }
-
-    protected void transform(ASTExecutableProgramNode ast)
-    {
-        // Subclass and override to transform AST first
-    }
-
-    private String getSourceCodeFromFile(File file) throws IOException
-    {
-        StringBuffer sb = new StringBuffer(4096);
-        BufferedReader in = new BufferedReader(new FileReader(file));
-        for (int ch = in.read(); ch >= 0; ch = in.read())
-            sb.append((char)ch);
-        in.close();
-        return sb.toString();
-    }
-    
-    private String getSourceCodeFromAST(ASTExecutableProgramNode ast)
-    {
-        return SourcePrinter.getSourceCodeFromAST(ast);
-    }
-
-    public CppIntegratedSourceReproductionTestCase() { super(null, false, ""); } // to keep JUnit quiet
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIntegratedSourceReproductionTestSuite.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIntegratedSourceReproductionTestSuite.java
deleted file mode 100755
index 29927ee..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIntegratedSourceReproductionTestSuite.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.preprocessor.c;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import org.eclipse.photran.internal.tests.PhotranASTTestCase;
-import org.eclipse.photran.internal.tests.PhotranTestSuiteFromFiles;
-
-public abstract class CppIntegratedSourceReproductionTestSuite extends PhotranTestSuiteFromFiles
-{
-    public CppIntegratedSourceReproductionTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
-    {
-    	// Super constructor will append directorySuffix to
-    	// ../org.eclipse.photran.core.vpg.tests/parser-test-code/
-        super("Reproduce preprocessed source code for",
-              "../../org.eclipse.photran.core.vpg.preprocessor.c.tests/cpp-test-code/" + directorySuffix,
-              isFixedForm,
-              mustExist);
-    }
-
-    @Override
-    protected PhotranASTTestCase createTestFor(File file, boolean isFixedForm, String fileDescription)
-    {
-        return new CppIntegratedSourceReproductionTestCase(file, isFixedForm, fileDescription);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIsolatedSourceReproductionTestCase.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIsolatedSourceReproductionTestCase.java
deleted file mode 100755
index 24d18a3..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIsolatedSourceReproductionTestCase.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.preprocessor.c;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-
-import org.eclipse.photran.internal.core.preprocessor.c.CppHelper;
-import org.eclipse.photran.internal.core.preprocessor.c.IToken;
-import org.eclipse.photran.internal.core.util.SemanticError;
-
-/**
- * A test case for making sure that code processed by the CPreprocessor
- * can be restored to the original source code. Based on the
- * SourceReproductionTestCase class.
- * @author Matthew Michelotti
- */
-public class CppIsolatedSourceReproductionTestCase extends AbstractCppTestCase
-{
-    //private String filename;
-    //private boolean print;
-    
-    public CppIsolatedSourceReproductionTestCase(File file, boolean isFixedForm, String testCaseDescription, boolean print)
-    {
-        super(file, isFixedForm, testCaseDescription);
-        //filename = file.getName();
-        //this.print = print;
-    }
-
-    @Override
-    protected void handleTokens(IToken startToken) throws IOException, SemanticError
-    {
-        String originalSourceCode = getSourceCodeFromFile(file);
-        String reproducedSourceCode = getSourceCodeFromTokens(startToken);
-        
-        assertEquals(originalSourceCode, reproducedSourceCode);
-        
-        /*int line = 1;
-        int col = 1;
-        for(int i = 0; i < originalSourceCode.length(); i++) {
-            char origChar = originalSourceCode.charAt(i);
-            
-            if(reproducedSourceCode.length() <= i) {
-                fail("Reproduced code ended prematurely at line "
-                    + line + ", col " + col + " of " + filename);
-            }
-            
-            if(origChar != reproducedSourceCode.charAt(i)) {
-                fail("Incorrect source reproduction at line "
-                    + line + ", col" + col + " of " + filename);
-            }
-            
-            if(origChar == '\n') {
-                line++;
-                col = 1;
-            }
-            else col++;
-        }*/
-    }
-    
-    private static String getSourceCodeFromFile(File file) throws IOException
-    {
-        StringBuffer sb = new StringBuffer(4096);
-        BufferedReader in = new BufferedReader(new FileReader(file));
-        for (int ch = in.read(); ch >= 0; ch = in.read())
-            sb.append((char)ch);
-        in.close();
-        return sb.toString();
-    }
-    
-    private String getSourceCodeFromTokens(IToken startToken) {
-    	/*
-        if(print) {
-            System.out.println();
-            System.out.println("----------------------------------------------------");
-            System.out.println("file: " + filename);
-            System.out.println("----------------------------------------------------");
-            for(IToken t = startToken; t != null; t = t.getNext()) {
-                System.out.println(CppHelper.getTokenDetails(t, "~", "|", false));
-            }
-        }
-        */
-        
-        return CppHelper.reproduceSourceCode(startToken);
-    }
-    
-    public CppIsolatedSourceReproductionTestCase() { super(null, false, ""); } // to keep JUnit quiet
-
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIsolatedSourceReproductionTestSuite.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIsolatedSourceReproductionTestSuite.java
deleted file mode 100755
index 203b9f1..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/CppIsolatedSourceReproductionTestSuite.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c;

-

-import java.io.File;

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-/**

- * Test suite for CppSourceReproductionTestCase's. Based on the

- * code from SourceReproductionTestSuite.

- * @author Matthew Michelotti

- */

-public abstract class CppIsolatedSourceReproductionTestSuite extends AbstractCppTestSuite

-{

-    public CppIsolatedSourceReproductionTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist, boolean print) throws FileNotFoundException, IOException

-    {

-        super(directorySuffix, isFixedForm, mustExist, print);

-    }

-

-    public CppIsolatedSourceReproductionTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException

-    {

-        this(directorySuffix, isFixedForm, mustExist, true);

-    }

-

-    @Override

-    protected String describeTestAction()

-    {

-        return "Reproduce unpreprocessed source code for";

-    }

-

-    @Override

-    protected AbstractCppTestCase createTestFor(File file, boolean isFixedForm, String fileDescription)

-    {

-        return new CppIsolatedSourceReproductionTestCase(file, isFixedForm, fileDescription, print);

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintArjanVanDijkAtmos.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintArjanVanDijkAtmos.java
deleted file mode 100755
index af9fdfb..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintArjanVanDijkAtmos.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c.source_reproduction;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.core.tests.preprocessor.c.CppIsolatedSourceReproductionTestSuite;

-

-public class PrintArjanVanDijkAtmos

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new CppIsolatedSourceReproductionTestSuite("../../org.eclipse.photran-projects.confidential.arjan-van-dijk-atmos", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintAsteroids.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintAsteroids.java
deleted file mode 100755
index 1962988..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintAsteroids.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c.source_reproduction;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.core.tests.preprocessor.c.CppIsolatedSourceReproductionTestSuite;

-

-public class PrintAsteroids

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new CppIsolatedSourceReproductionTestSuite("../../org.eclipse.photran-projects.confidential.asteroids", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintBasicTestFiles.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintBasicTestFiles.java
deleted file mode 100755
index 5bcd769..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintBasicTestFiles.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c.source_reproduction;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-import junit.framework.TestSuite;

-

-import org.eclipse.photran.internal.core.tests.preprocessor.c.CppIntegratedSourceReproductionTestSuite;

-import org.eclipse.photran.internal.core.tests.preprocessor.c.CppIsolatedSourceReproductionTestSuite;

-

-public class PrintBasicTestFiles

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-    	TestSuite suite = new TestSuite();

-    	suite.addTest(new CppIsolatedSourceReproductionTestSuite("basic_test_files", false, true, true) {});

-    	suite.addTest(new CppIntegratedSourceReproductionTestSuite("basic_test_files", false, true) {});

-    	return suite;

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintFMLIB.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintFMLIB.java
deleted file mode 100755
index dc7a842..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintFMLIB.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c.source_reproduction;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.core.tests.preprocessor.c.CppIsolatedSourceReproductionTestSuite;

-

-public class PrintFMLIB

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new CppIsolatedSourceReproductionTestSuite("../../org.eclipse.photran-projects.confidential.fmlib", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintMacroTestFiles.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintMacroTestFiles.java
deleted file mode 100755
index e024500..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintMacroTestFiles.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c.source_reproduction;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-import junit.framework.TestSuite;

-

-import org.eclipse.photran.internal.core.tests.preprocessor.c.CppIntegratedSourceReproductionTestSuite;

-import org.eclipse.photran.internal.core.tests.preprocessor.c.CppIsolatedSourceReproductionTestSuite;

-

-public class PrintMacroTestFiles

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-    	TestSuite suite = new TestSuite();

-    	suite.addTest(new CppIsolatedSourceReproductionTestSuite("macro_test_files", false, true, true) {});

-    	suite.addTest(new CppIsolatedSourceReproductionTestSuite("fortran_macro_test_files", false, true, true) {});

-    	suite.addTest(new CppIntegratedSourceReproductionTestSuite("fortran_macro_test_files", false, true) {});

-    	return suite;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintOtherDirectiveTestFiles.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintOtherDirectiveTestFiles.java
deleted file mode 100755
index 2e49a74..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintOtherDirectiveTestFiles.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c.source_reproduction;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import org.eclipse.photran.internal.core.tests.preprocessor.c.CppIsolatedSourceReproductionTestSuite;

-

-import junit.framework.Test;

-

-public class PrintOtherDirectiveTestFiles

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new CppIsolatedSourceReproductionTestSuite("other_directive_test_files", false, true, true) {};

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintPOP.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintPOP.java
deleted file mode 100755
index 41de361..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintPOP.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c.source_reproduction;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.core.tests.preprocessor.c.CppIsolatedSourceReproductionTestSuite;

-

-public class PrintPOP

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new CppIsolatedSourceReproductionTestSuite("../../org.eclipse.photran-projects.confidential.pop", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintProjectString.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintProjectString.java
deleted file mode 100755
index edd2da9..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintProjectString.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c.source_reproduction;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.core.tests.preprocessor.c.CppIsolatedSourceReproductionTestSuite;

-

-public class PrintProjectString

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new CppIsolatedSourceReproductionTestSuite("../../org.eclipse.photran-projects.string", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintTokenTestFiles.java b/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintTokenTestFiles.java
deleted file mode 100755
index 0d7e4f2..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c.tests/src/org/eclipse/photran/internal/core/tests/preprocessor/c/source_reproduction/PrintTokenTestFiles.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.tests.preprocessor.c.source_reproduction;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import org.eclipse.photran.internal.core.tests.preprocessor.c.CppIsolatedSourceReproductionTestSuite;

-

-import junit.framework.Test;

-

-public class PrintTokenTestFiles

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new CppIsolatedSourceReproductionTestSuite("token_test_files", false, true, true) {};

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/.classpath b/org.eclipse.photran.core.vpg.preprocessor.c/.classpath
deleted file mode 100755
index 472ee29..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/.project b/org.eclipse.photran.core.vpg.preprocessor.c/.project
deleted file mode 100755
index 05436f0..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.core.vpg.preprocessor.c</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.core.vpg.preprocessor.c/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100755
index f549b06..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 13:37:05 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=ignore
-org.eclipse.jdt.core.compiler.problem.deadCode=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=ignore
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=ignore
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=ignore
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=ignore
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=ignore
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=ignore
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
-org.eclipse.jdt.core.compiler.problem.unusedLabel=ignore
-org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=ignore
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.core.vpg.preprocessor.c/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 3b894f5..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Tue Dec 01 10:22:21 CST 2009

-eclipse.preferences.version=1

-formatter_profile=_Photran

-formatter_settings_version=11

-org.eclipse.jdt.ui.javadoc=true

-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *    UIUC - Initial API and implementation\r\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * \r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/META-INF/MANIFEST.MF b/org.eclipse.photran.core.vpg.preprocessor.c/META-INF/MANIFEST.MF
deleted file mode 100755
index b8d44ff..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.photran.core.vpg.preprocessor.c;singleton:=true
-Bundle-Version: 7.0.0.qualifier
-Bundle-Vendor: %Bundle-Vendor
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.photran.core,
- org.eclipse.photran.core.vpg,
- org.eclipse.cdt.core,
- org.eclipse.core.runtime,
- org.eclipse.text,
- org.eclipse.core.resources
-Export-Package: org.eclipse.photran.internal.core.lexer,
- org.eclipse.photran.internal.core.lexer.sourceform,
- org.eclipse.photran.internal.core.preprocessor.c
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/OSGI-INF/l10n/bundle.properties b/org.eclipse.photran.core.vpg.preprocessor.c/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 85ab18e..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Properties file for org.eclipse.photran.core.vpg.preprocessor.c
-source-form.name = Free Form - C Preprocessed
-Bundle-Vendor = Eclipse.org
-Bundle-Name = Photran C Preprocessor Support - Core Plug-in
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/about.html b/org.eclipse.photran.core.vpg.preprocessor.c/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/build.properties b/org.eclipse.photran.core.vpg.preprocessor.c/build.properties
deleted file mode 100755
index 22a6ca4..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               OSGI-INF/l10n/bundle.properties
-src.includes = about.html,\
-               doc/
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/doc/README.txt b/org.eclipse.photran.core.vpg.preprocessor.c/doc/README.txt
deleted file mode 100755
index b0bc10f..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/doc/README.txt
+++ /dev/null
@@ -1,136 +0,0 @@
-There are 3 folders in this zip file:

-

--scanner_mm: Contains code for the CPreprocessor.

-    These classes should go in the project org.eclipse.photran.core.vpg.tests

-    and in the package org.eclipse.photran.internal.core.tests.scanner_mm

--y_cpp_source_reproduction: Contains code for testing the CPreprocessor.

-    These classes should go in the project org.eclipse.photran.core.vpg.tests

-    and in the package 

-    org.eclipse.photran.internal.core.tests.y_cpp_source_reproduction

--cpp-test-code: Contains test files to parse.

-    This folder should go in the project org.eclipse.photran.core.vpg.tests

-    (same as where parser-test-code is)

-

-

-Most of the files in scanner_mm were originally copies of

-the files in the package org.eclipse.cdt.internal.core.parser.scanner .

-I named it scanner_mm early on because it is a copy of a package named

-"scanner", and "mm" are my initials, and I didn't know what else to

-call it. You can change the name and/or move the package if you want.

-(For example, did you want to call the package x_cpreprocessor?)

-The classes IToken and OffsetLimitReachedException were taken from

-a different package: org.eclipse.cdt.core.parser . I made the classes

-CppHelper and TokenTypeTranslator.

-

-

-I made a helper class called CppHelper, which provides an interface

-to the functionality of the CPreprocessor. Reading

-through the code and comments of CppHelper should help to

-understand how to use the CPreprocessor and the tokens that come from it.

-

-I made a number of test files. These files can be found in

-the folder cpp-test-code. These files all have the extension

-.f90 so that they would be recognized by the test suite (even though

-most do not contain Fortran code). I split up the code into four

-different categories. The first, basic_test_files, contains fortran

-code that I just copied from parser-test-code, to see if the

-CPreprocessor could reproduce normal text with no directives or macros.

-The second, token_test_files, tests a number of things unrelated

-to directives, such as trigraphs, line-splices, comments, '@' characters,

-etc. The third, macro_test_files, tests a number of different

-things that can happen concerning macros. The fourth,

-other_directive_test_files, tests some directives other than the #define

-directive, especially #include directives. All of these tests are

-successful.

-

-The package y_cpp_source_reproduction contains functionality to

-test the files in cpp-test-code to see if the source code can

-be reproduced. The code is based on code from

-the package org.eclipse.photran.internal.core.tests

-and org.eclipse.photran.internal.core.tests.b_source_reproduction.

-I edited this code to work with CppHelper, and I made a few other

-modifications. Most notably, I added a "print" parameter to the

-CppSourceReproductionTestSuite which, if it is true, will

-print out details about all of the tokens. There are four files

-that can be run as tests (which test the four corresponding

-subdirectories of cpp-test-code): PrintBasicTestFiles,

-PrintTokenTestFiles, PrintMacroTestFiles, and PrintOtherDirectiveTestFiles.

-

-

-Suppose, for example, there was a file called "test.f90" with the

-following code:

-

-cout << "hello" << endl;

-#define SQUARE(x) x*x

-cout << SQUARE(17) << endl;

-//no newline after this comment

-

-If the test is set to print out details, this is the result:

-

-----------------------------------------------------

-file: test.f90

-----------------------------------------------------

-~cout

- ~<<

- ~"hello"

- ~<<

- ~endl

-~;

-~\n|~\r\n

-~|~#define SQUARE(x) x*x

-~\n|~\r\n

-~cout

- ~<<

- ~17| ~SQUARE(17)

-~*| ~SQUARE(17)

-~17| ~SQUARE(17)

- ~<<

- ~endl

-~;

-~\n|~\r\n

-//no newline after this comment~

-

-Each line gives details about a token and that token's ancestors.

-A '~' is placed between the preceding-white-space and the token-image

-for each token. A '|' is placed between a token and its parent.

-'\n' is replaced with "\\n", and '\r' is replaced with "\\r" so that

-the details for a token (and its ancestors) remain on one line.

-

-If you want, I added an option that will cause the token type

-to be printed out for each token and its ancestors. This makes

-use of the TokenTypeTranslator class that I made. Using this causes

-the output to get a little cluttered, though. You can toggle this

-feature, along with the characters used as separators (currently

-'~' and '|') in CppSourceReproductionTestCase (in the package

-y_cpp_source_reproduction) where it calls CppHelper.getTokenDetails(...).

-I haven't done much testing concerning token types (since I just

-made TokenTypeTranslator).

-

-

-Concerning the package scanner_mm again:

-The classes that I edited (other than changing import statements)

-are Lexer, CPreprocessor, MacroExpander, MacroDefinitionParser,

-IToken, Token, TokenForDigraph, and TokenWithImage. (I think that's

-all of them...) I made the classes CppHelper and TokenTypeTranslator

-from scratch.

-

-In each of the classes that I edited, I added a comment right after the

-cdt copyright notice. This comment starts by saying something like

-"Class edited by Matthew Michelotti." After that I give an overview of the

-changes that I made to the class, in roughly chronological order. I

-also usually put a comment like "//added by MM" or "//edited by MM"

-(or something like that) after each line that I changed in the file.

-

-There are a number of functions and even classes that I copied

-over which don't seem to be used. For example, I don't think

-MultiMacroExpansionExplorer is called, nor MacroExpansionStep nor

-MacroExpansionTracker. Eventually, we may want to get rid of these

-if they are not used.

-

-In case you were interested, looked up all of the external class

-references that said "discouraged access" on them. They are:

-org.eclipse.cdt.internal.core.dom.Linkage

-org.eclipse.cdt.internal.core.dom.parser.ASTNode

-org.eclipse.cdt.internal.core.dom.parser.ASTProblem

-org.eclipse.cdt.internal.core.dom.parser.ASTNodeSpecification

-I don't think any of these are really integral to the functionality.

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/doc/producer_map_example.doc b/org.eclipse.photran.core.vpg.preprocessor.c/doc/producer_map_example.doc
deleted file mode 100644
index c769f5b..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/doc/producer_map_example.doc
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/plugin.xml b/org.eclipse.photran.core.vpg.preprocessor.c/plugin.xml
deleted file mode 100644
index b4346bc..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-  <!-- ============================-->
-  <!-- C-Preprocessed Source Forms -->
-  <!-- ============================-->
-  <extension point="org.eclipse.photran.core.sourceForms">
-      <source-form
-          id="cppFreeForm"
-          name="%source-form.name"
-          class="org.eclipse.photran.internal.core.lexer.sourceform.CPreprocessedFreeSourceForm"
-          priority="high"
-          defaultForFilenameExtensions="F90,F95,F03,F08" />
-      <!--source-form
-          id="cppFixedForm"
-          name="Fixed Form - C Preprocessed"
-          class="org.eclipse.photran.internal.core.lexer.sourceform.CPreprocessedFixedSourceForm"
-          priority="high"
-          defaultForFilenameExtensions="fpp,F,FOR,FTN,FIX,F77,FPP" /-->
-  </extension>
-</plugin>
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessingLexer.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessingLexer.java
deleted file mode 100644
index fa5084f..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessingLexer.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.lexer;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * Base class for a lexer that handles C preprocessor directives by preprocessing the
- * input stream, using a Phase 1 lexer to tokenize it, and then calling back to the
- * preprocessor to determine which tokens were preprocessed.
- * <p>
- * This class feeds {@link FreeFormLexerPhase1} with a {@link CPreprocessingReader},
- * an {@link InputStream} that interprets C preprocessor directives.
- * {@link FreeFormLexerPhase1} tokenizes the preprocessed stream.  However, this
- * class subclasses {@link FreeFormLexerPhase1} and overrides its tokenization
- * method ({@link #yylex()}), so when it produces a token, it can reset the
- * filename, line number, file offset, and guarding preprocessor directive
- * correctly.
- *
- * @author Matthew Michelotti, Jeff Overbey
- */
-public abstract class CPreprocessingLexer implements ILexer
-{
-    private ILexer phase1Lexer;
-    
-	/**ProducerMap obatined from CPreprocessingInputStream.
-	 * Used to find directives and macros.*/
-	private ProducerMap producerMap;
-
-	private IncludeMap includeMap;
-
-	/**an array of tokens, treated as a stack, that should be returned
-	 * when yylex is called so long as the stack is not empty*/
-	private ArrayList<Token> processedTokensStack = new ArrayList<Token>();
-	/**a token which should be processed next instead of calling
-	 * super.yylex() to get the next unprocessed token*/
-	private Token nextRawToken = null;
-
-	private Token lastToken = null;
-	
-	private Token lastReadInFile = null;
-
-    public CPreprocessingLexer(Reader in, IFile file, String filename, boolean accumulateWhitetext) throws IOException
-    {
-        this(new CPreprocessingReader(file, filename, new LineAppendingReader(in)), file, filename, accumulateWhitetext);
-    }
-
-    // This would not be here if we could assign the preprocessor to a variable in the above ctor (grrr)
-    private CPreprocessingLexer(CPreprocessingReader cpp, IFile file, String filename, boolean accumulateWhitetext)
-    {
-        this.phase1Lexer = createDelegateLexer(cpp, file, filename, accumulateWhitetext);
-        this.producerMap = cpp.getProducerMap();
-        this.includeMap = cpp.getIncludeMap();
-
-        if (accumulateWhitetext == false)
-            throw new IllegalArgumentException("C preprocessor can only be used if accumulateWhitetext is true"); //$NON-NLS-1$
-    }
-
-    protected abstract ILexer createDelegateLexer(
-        CPreprocessingReader cpp, IFile file, String filename,
-        boolean accumulateWhitetext);
-
-    public Token yylex() throws IOException, LexerException
-    {
-        /*HACK: This conditional fixes the following bug: When a Fortran file has an invalid format
-         * which is detected after the end-of-file token was read, it breaks the syntaxErrorRecovery 
-         * routine. It breaks it because the routine (supposedly) strips the new-line from the token 
-         * on which parsing failed, which in this case is the end-of-file token, with new-line being 
-         * the last thing in the file. Because that new-line is discarded, some offset algebra in yylex()
-         * produces negative string offset, which then triggers a StringIndexOutOfBounds Exception. 
-         * By remembering the end-of-file token when we read it, we are bypassing that problem.
-         */
-    	if(lastReadInFile != null)
-    	    return lastReadInFile;
-    	
-    	//return a token from the processedTokensStack if there is one
-        Token token;
-    	if(processedTokensStack.size() > 0) {
-    		token = processedTokensStack.remove(processedTokensStack.size()-1);
-
-    		//return the token
-    		lastToken = token;
-    		setTokenAsCurrent(token);
-    		return token;
-    	}
-
-    	//obtain the next raw token, if it is not already obtained
-    	if(nextRawToken != null) {
-    		token = nextRawToken;
-    		nextRawToken = null;
-    	}
-    	else token = rawYYLex();
-
-    	//handle the final token specially...
-    	if(token.getTerminal() == Terminal.END_OF_INPUT) {
-    		//expand the whiteAfter on the last token using the producerMap
-    		if(lastToken != null) {
-    			String whiteAfter = lastToken.getWhiteAfter();
-
-    			int whiteStartOffset = lastToken.getStreamOffset()
-    								+ lastToken.getText().length();
-    			int whiteEndOffset = whiteStartOffset + whiteAfter.length();
-
-    			//The original whiteAfter on the last token usually has an
-    			//extra newline or something, but we cannot exceed the final
-    			//offset in the producerMap when setting markB.
-    			//Thus, this stores any extra characters in a separate
-    			//string called appendedWhite.
-    			String appendedWhite;
-    			if(whiteEndOffset > producerMap.getFinalOffset()) {
-    				int newLength = producerMap.getFinalOffset() - whiteStartOffset;
-    				whiteEndOffset = whiteStartOffset + newLength;
-    				appendedWhite = whiteAfter.substring(newLength);
-    				whiteAfter = whiteAfter.substring(0, newLength);
-    			}
-    			else appendedWhite = ""; //$NON-NLS-1$
-
-    			producerMap.setMarkA(whiteStartOffset);
-    			producerMap.setMarkB(whiteEndOffset);
-    			String newWhiteAfter = producerMap.expandWhite(whiteAfter);
-
-    			if(newWhiteAfter != null)
-    				lastToken.setWhiteAfter(newWhiteAfter+appendedWhite);
-    		}
-
-    		//return the token
-    		lastToken = token;
-    		setTokenAsCurrent(token);
-    		lastReadInFile = token;
-    		return token;
-    	}
-
-    	//expand the white-space using the producerMap
-    	String whiteBefore = token.getWhiteBefore();
-    	producerMap.setMarkA(token.getStreamOffset() - whiteBefore.length());
-    	producerMap.setMarkB(token.getStreamOffset());
-    	String newWhiteBefore = producerMap.expandWhite(whiteBefore);
-    	if(newWhiteBefore != null) token.setWhiteBefore(newWhiteBefore);
-
-    	//prepare to expand the text using the producerMap
-    	String text = token.getText();
-    	producerMap.setMarkA(token.getStreamOffset());
-    	producerMap.setMarkB(token.getStreamOffset() + text.length());
-
-    	//If a producer overlaps the end of this token, more tokens will
-    	//have to be read in until there is no such overlap (in this case,
-    	//processedTokensStack may need to be filled and nextRawToken
-    	//may need to be set).
-    	//Otherwise, just update the producer of the token immediately.
-    	if(producerMap.isMarkBInProducer()) {
-    		int strLen = token.getText().length();
-    		ArrayList<Token> postTokens = new ArrayList<Token>();
-    		do {
-    			Token postToken = rawYYLex();
-    			if(postToken.getTerminal() == Terminal.END_OF_INPUT ||
-    					producerMap.isBreakAfterMarkB(postToken.getStreamOffset()))
-    			{
-    				//WARNING: It seems like this code is not enough to handle
-    				//the case when postToken.getTerminal() == Terminal.END_OF_INPUT.
-    				//I suspect that getting the END_OF_INPUT token early from
-    				//the FreeFormLexerPhase1 is causing problems.
-    				nextRawToken = postToken;
-    				break;
-    			}
-    			whiteBefore = postToken.getWhiteBefore();
-    			postTokens.add(postToken);
-    			text = postToken.getText();
-    			producerMap.setMarkB(postToken.getStreamOffset() + text.length());
-    			strLen += whiteBefore.length() + text.length();
-    		}while(producerMap.isMarkBInProducer());
-
-    		StringBuffer buffer = new StringBuffer(strLen);
-    		buffer.append(token.getText());
-    		for(int i = 0; i < postTokens.size(); i++) {
-    			Token postToken = postTokens.get(i);
-    			buffer.append(postToken.getWhiteBefore());
-    			buffer.append(postToken.getText());
-    		}
-    		CPreprocessorReplacement producer =
-    		    CPreprocessorReplacement.createFor(producerMap.expandNormal(buffer.toString()));
-
-    		token.setPreprocessorDirective(producer);
-    		for(int i = postTokens.size()-1; i >= 0; i--) {
-    			Token postToken = postTokens.get(i);
-    			postToken.setPreprocessorDirective(producer);
-    			processedTokensStack.add(postToken);
-    		}
-    	}
-    	else {
-    	    CPreprocessorReplacement producer =
-    	        CPreprocessorReplacement.createFor(producerMap.expandNormal(text));
-    		if(producer != null) token.setPreprocessorDirective(producer);
-    	}
-
-    	//return the token
-    	lastToken = token;
-    	setTokenAsCurrent(token);
-    	return token;
-    }
-
-    /**
-     * Calls super.yylex() and returns the token. Updates the token's
-     * file, line, col, file offset, stream offset, and length.
-     * @return token obtained from super.yylex()
-     * @throws IOException
-     * @throws LexerException
-     */
-    private Token rawYYLex() throws IOException, LexerException {
-    	Token token = (Token)phase1Lexer.yylex();
-    	
-    	includeMap.setStreamOffset(phase1Lexer.getLastTokenStreamOffset());
-
-    	//token.setFile(includeMap.getFile());
-    	token.setLine(includeMap.getLine());
-    	token.setCol(includeMap.getCol());
-    	token.setPhysicalFile(includeMap.getFileOrIFile());
-    	token.setFileOffset(includeMap.getFileOffset());
-    	token.setStreamOffset(phase1Lexer.getLastTokenStreamOffset());
-    	token.setLength(phase1Lexer.getLastTokenLength());
-
-    	return token;
-    }
-
-    public void setTokenAsCurrent(IToken token)
-    {
-        phase1Lexer.setTokenAsCurrent(token);
-    }
-
-    public String getFilename() { return phase1Lexer.getFilename(); }
-
-    public int getLastTokenLine() { return phase1Lexer.getLastTokenLine(); }
-
-    public int getLastTokenCol() { return phase1Lexer.getLastTokenCol(); }
-    
-    public FileOrIFile getLastTokenFile() { return phase1Lexer.getLastTokenFile(); }
-    
-    public int getLastTokenFileOffset() { return phase1Lexer.getLastTokenFileOffset(); }
-    
-    public int getLastTokenStreamOffset() { return phase1Lexer.getLastTokenStreamOffset(); }
-    
-    public int getLastTokenLength() { return phase1Lexer.getLastTokenLength(); }
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessingReader.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessingReader.java
deleted file mode 100755
index 359ef23..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessingReader.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.lexer;
-
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.internal.core.preprocessor.c.CppHelper;
-import org.eclipse.photran.internal.core.preprocessor.c.IToken;
-import org.eclipse.photran.internal.core.preprocessor.c.OffsetLimitReachedException;
-
-/**
- * An InputStream to read tokens obtained from the CPP. This class will
- * also make a ProducerMap when constructed that can be used to find
- * directives and macros.
- * 
- * @author Matthew Michelotti
- */
-public class CPreprocessingReader extends SingleCharReader
-{
-	/**ProducerMap constructed from the CPP tokens*/
-	private ProducerMap producerMap;
-	
-	private IncludeMap includeMap;
-
-	/**current CPP token being read*/
-	private IToken curToken;
-	/**full image of curToken*/
-	private String curTokenImage;
-	/**the offset in curTokenImage to be read next*/
-	private int curTokenOffset = 0;
-	
-	/**
-	 * Basic constructor. Parses the whole file in the constructor
-	 * and turns the result into CPP tokens. A ProducerMap is made
-	 * from these tokens. The tokens are remembered, so that they
-	 * can be read as an input stream.
-	 * @param filename - name of file that inputStream corresponds to
-	 * @param reader - Reader to read file data from
-	 * @throws IOException
-	 */
-	public CPreprocessingReader(IFile file, String filename, Reader reader) throws IOException
-	{
-		try
-		{
-			CppHelper cpp = new CppHelper(file, filename, reader);
-			curToken = cpp.getRemainingTokens();
-			curTokenImage = CppHelper.getFullImage(curToken);
-			producerMap = new ProducerMap(curToken);
-			includeMap = new IncludeMap(curToken, file);
-		}catch(OffsetLimitReachedException e) {throw new Error(e);}
-	}
-	
-	@Override public int read() throws IOException
-	{
-		if(curToken == null) return -1;
-		while(curTokenOffset >= curTokenImage.length()) {
-			curToken = curToken.getNext();
-			if(curToken == null) return -1;
-			curTokenImage = CppHelper.getFullImage(curToken);
-			curTokenOffset = 0;
-		}
-		char result = curTokenImage.charAt(curTokenOffset);
-		curTokenOffset++;
-		
-		return result;
-	}
-	
-	/**@return the ProducerMap object made at construction*/
-	public ProducerMap getProducerMap() {
-		return producerMap;
-	}
-	
-	public IncludeMap getIncludeMap() {
-		return includeMap;
-	}
-
-    @Override
-    public void close() throws IOException
-    {
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessorReplacement.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessorReplacement.java
deleted file mode 100644
index f7bad0c..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/CPreprocessorReplacement.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.lexer;

-

-/**

- * An {@link IPreprocessorReplacement} for a C preprocessor directive.

- * 

- * @author Jeff Overbey

- */

-public class CPreprocessorReplacement implements IPreprocessorReplacement

-{

-    public static CPreprocessorReplacement createFor(String string)

-    {

-        if (string == null)

-            return null;

-        else

-            return new CPreprocessorReplacement(string);

-    }

-    

-    private String contents;

-    

-    private CPreprocessorReplacement(String contents)

-    {

-        this.contents = contents;

-    }

-    

-    @Override public String toString()

-    {

-        return contents;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/IncludeMap.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/IncludeMap.java
deleted file mode 100644
index 21e3c7e..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/IncludeMap.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.lexer;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.internal.core.preprocessor.c.CPreprocessor;
-import org.eclipse.photran.internal.core.preprocessor.c.CppHelper;
-import org.eclipse.photran.internal.core.preprocessor.c.IToken;
-
-/**
- *
- *
- * @author Matthew Michelotti
- */
-public class IncludeMap {
-
-	private ArrayList<FileLoc> fileLocStack = new ArrayList<FileLoc>();
-	private IToken curToken = null;
-	private int imageOffset = 0;
-	private int streamOffset = 0;
-
-	public IncludeMap(IToken startToken) {
-		this(startToken, null);
-	}
-
-	public IncludeMap(IToken startToken, IFile file) {
-		fileLocStack.add(new FileLoc(file));
-		changeCurToken(startToken);
-		setStreamOffset(0);
-	}
-
-	public void setStreamOffset(int newStreamOffset) {
-		int distance = newStreamOffset - streamOffset;
-		if(distance < 0) throw new IllegalArgumentException(
-				"newStreamOffset must be >= the previous stream offset"); //$NON-NLS-1$
-		streamOffset = newStreamOffset;
-
-		if(curToken == null) return;
-
-		String tokenImage = CppHelper.getFullImage(curToken).substring(imageOffset);
-		while(distance >= tokenImage.length()) {
-			distance -= tokenImage.length();
-			if(isTokenSourceCode(curToken)) passSourceCode(tokenImage);
-			changeCurToken(curToken.getNext());
-			imageOffset = 0;
-			if(curToken == null) return;
-			tokenImage = CppHelper.getFullImage(curToken);
-		}
-
-		if(isTokenSourceCode(curToken)) {
-			passSourceCode(tokenImage.substring(0, distance));
-		}
-		imageOffset += distance;
-	}
-
-    public FileOrIFile getFileOrIFile() {
-        return activeFileLoc().fileOrIFile;
-    }
-
-	public int getFileOffset() {
-		return activeFileLoc().offset;
-	}
-
-	public int getLine() {
-		return activeFileLoc().line;
-	}
-
-	public int getCol() {
-		return activeFileLoc().col;
-	}
-
-	private void changeCurToken(IToken nextToken) {
-		if(curToken != null &&
-			curToken.getType() == CPreprocessor.tINCLUDED_FILE_END)
-		{
-			fileLocStack.remove(fileLocStack.size()-1);
-		}
-
-		FileLoc fileLoc = activeFileLoc();
-		IToken oldProducer = getProducer(curToken, fileLoc.includeDir);
-		IToken newProducer = getProducer(nextToken, fileLoc.includeDir);
-		if(oldProducer != null && oldProducer != newProducer) {
-			passSourceCode(CppHelper.getFullImage(oldProducer));
-		}
-
-		if(nextToken != null &&
-			nextToken.getType() == CPreprocessor.tINCLUDED_FILE_START)
-		{
-			IToken includeDir = nextToken.getParent();
-			while(includeDir.getIncludeFile() == null) {
-				includeDir = includeDir.getParent();
-			}
-			fileLocStack.add(new FileLoc(includeDir));
-		}
-
-		curToken = nextToken;
-	}
-
-	private void passSourceCode(String code) {
-		FileLoc fileLoc = activeFileLoc();
-		int codeLength = code.length();
-		fileLoc.offset += codeLength;
-		for(int i = 0; i < codeLength; i++) {
-			switch(code.charAt(i)) {
-			case('\n'): fileLoc.line++; fileLoc.col = 1; break;
-			default: fileLoc.col++; break;
-			}
-		}
-	}
-
-	private FileLoc activeFileLoc() {
-		return fileLocStack.get(fileLocStack.size()-1);
-	}
-
-	private static IToken getProducer(IToken token, IToken blockingAncestor) {
-		if(token == null) return null;
-
-		IToken last = null;
-		for(IToken p = token.getParent(); p != blockingAncestor; p = p.getParent())
-		{
-			last = p;
-		}
-		return last;
-	}
-
-	private static boolean isTokenSourceCode(IToken token) {
-		IToken parent = token.getParent();
-		return (parent == null || parent.getIncludeFile() != null);
-	}
-
-	private static class FileLoc {
-		private final IToken includeDir;
-        private final FileOrIFile fileOrIFile;
-		private int line = 1;
-		private int col = 1;
-		private int offset = 0; //should this start at 0 or 1?
-
-		private FileLoc(IFile file) {
-			this.includeDir = null;
-			this.fileOrIFile = new FileOrIFile(file);
-		}
-
-		private FileLoc(IToken includeDir) {
-			this.includeDir = includeDir;
-			this.fileOrIFile = new FileOrIFile(new java.io.File(includeDir.getIncludeFile()));
-		}
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/ProducerMap.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/ProducerMap.java
deleted file mode 100644
index 7b94ae6..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/ProducerMap.java
+++ /dev/null
@@ -1,403 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.lexer;
-
-import java.util.ArrayList;
-
-import org.eclipse.photran.internal.core.preprocessor.c.CppHelper;
-import org.eclipse.photran.internal.core.preprocessor.c.IToken;
-
-/**
- * This class contains a mapping of CPP directives and macros 
- * (referred to in this class as "producers") to their expansions.
- * It is designed as a helper class to assign CPP directives
- * and macros to Photran tokens, and it takes into account complicated
- * overlapping corner cases. Iteration over the Photran tokens and
- * the mapping should be done together.
- * See CPreprocessingFreeFormLexerPhase1 for how this class is used.
- * 
- * @author Matthew Michelotti
- */
-public class ProducerMap {
-	/**
-	 * A mapping of offsets to producers. Each element in this array
-	 * is a String and integer pair. The string of an array element is
-	 * considered the producer of all offsets between the offset value of
-	 * that element and the offset value of the next element. If the string
-	 * of an element is null, that means that all offsets between the offset
-	 * value of that element and the offset value of the next element have
-	 * no producer. The following conditions are guaranteed after the
-	 * ProducerMap is constructed:
-	 * <li>the offsets in the array are in increasing order, including
-	 *  the possibility of equality</li>
-	 * <li>the first element has an offset of zero</li>
-	 * <li>the second-to-last element has an offset of finalOffset</li>
-	 * <li>the last element has an offset greater than finalOffset and
-	 *  a string value of null</li>
-	 * <li>all non-null strings refer to different producers. Thus,
-	 *  no two strings should be equal using the "==" operator</li>
-	 * <li>there are no two consecutive elements where the string is
-	 *  null, except possibly among the last three elements</li>
-	 */
-	private final StringWithOffset[] mapping;
-	/**the combined length of the CPP tokens. This is the largest possible
-	 * value for markA or markB.*/
-	private final int finalOffset;
-	
-	/**
-	 * an offset marking the start of the interval concerned.
-	 * This offset can only be increased unless the ProducerMap is reset.
-	 * This value must be between zero and finalOffset, and <= markB.
-	 */
-	private int markA;
-	/**
-	 * an offset marking the end of the interval concerned.
-	 * This offset can only be increased unless the ProducerMap is reset.
-	 * This value must be between zero and finalOffset, and >= markA.
-	 */
-	private int markB;
-	/**
-	 * an index in the mapping corresponding to markA. It marks the first
-	 * element in the mapping that is needed to analyze the interval
-	 * between markA and markB. Specifically, if there is an offset
-	 * in the mapping equal to markA, indexPreA is the index
-	 * of the first such array element. Otherwise, indexPreA is the index
-	 * of the last array element with a smaller offset than markA.
-	 */
-	private int indexPreA;
-	/**
-	 * an index in the mapping corresponding to markB. It marks the last
-	 * element in the mapping that is needed to analyze the interval
-	 * between markA and markB. Specifically, if there is an offset
-	 * in the mapping equal to markB, indexPostB is the index
-	 * of the last such array element. Otherwise, indexPostB is the index
-	 * of the first array element with a larger offset than markA.
-	 */
-	private int indexPostB;
-	
-	/**
-	 * A constructor which creates a producer mapping from a series
-	 * of CPP tokens.
-	 * @param token - the first token in the series. The remaining tokens
-	 *        are assumed to be attainable using IToken.getNext().
-	 */
-	public ProducerMap(IToken token) {
-		ArrayList<StringWithOffset> mappingAL
-				= new ArrayList<StringWithOffset>();
-		
-		int offset = 0;
-		IToken lastProducer = null;
-		/*for(IToken tok = token; tok != null; tok = tok.getNext())*/
-		IToken tok = token;
-		IToken prevTok = null;
-		while(tok != null)
-		{
-			IToken producer = CppHelper.getAncestor(tok, true);
-			if(producer == tok) producer = null;
-			
-			if(lastProducer != null && producer != lastProducer) {
-				mappingAL.add(new StringWithOffset(null, offset));
-			}
-			offset += CppHelper.getPreWhiteSpaceLength(tok);
-			if(producer != null && producer != lastProducer) {
-				mappingAL.add(new StringWithOffset(
-						CppHelper.getImage(producer), offset));
-			}
-			offset += CppHelper.getImageLength(tok);
-			
-			lastProducer = producer;
-			prevTok = tok;
-			tok = tok.getNext();
-		}
-
-		finalOffset = offset;
-		
-		//append one or two elements to the mapping in order to conform with
-		//the requirements specified in the comment of the field "mapping"
-		if(mappingAL.size() > 0) {
-			StringWithOffset lastSWO = mappingAL.get(mappingAL.size()-1);
-			if(lastSWO.offset < finalOffset || lastSWO.string != null)
-				mappingAL.add(new StringWithOffset(null, finalOffset));
-		}
-
-		else mappingAL.add(new StringWithOffset(null, finalOffset));
-		mappingAL.add(new StringWithOffset(null, finalOffset+1));
-		
-		//when translating the mapping ArrayList into an array, possibly
-		//add an element onto the beginning to conform with the requirements
-		//specified in the comment of the field "mapping"
-		if(mappingAL.get(0).offset == 0) {
-			mapping = new StringWithOffset[mappingAL.size()];
-			for(int i = 0; i < mapping.length; i++)
-				mapping[i] = mappingAL.get(i);
-		}
-		else {
-			mapping = new StringWithOffset[mappingAL.size()+1];
-			mapping[0] = new StringWithOffset(null, 0);
-			for(int i = 1; i < mapping.length; i++)
-				mapping[i] = mappingAL.get(i-1);
-		}
-		
-		reset();
-	}
-	
-	/**
-	 * Make a copy of a ProducerMap without needing to reconstruct
-	 * the map. This new map will be reset upon construction.
-	 * @param original - map to base new map on
-	 */
-	public ProducerMap(ProducerMap original) {
-		mapping = original.mapping;
-		finalOffset = original.finalOffset;
-		reset();
-	}
-	
-	/**move the values of markA and markB back to zero*/
-	public void reset() {
-		markA = 0;
-		markB = 0;
-		indexPreA = 0;
-		indexPostB = 0;
-	}
-	
-	/**
-	 * Shift markA further along in the mapping. markA is the start
-	 * of the analyzed interval. If markA exceeds markB, then markB
-	 * will be shifted as well to match markA.
-	 * @param newMarkA - new value for markA. Should be >= current value.
-	 * @throws IllegalArgumentException - when newMarkA is less than
-	 *         the current markA or newMarkA is greater than the final
-	 *         offset in the mapping
-	 */
-	public void setMarkA(int newMarkA) {
-		if(newMarkA < markA) throw new IllegalArgumentException(
-				"newMarkA must be >= markA"); //$NON-NLS-1$
-		if(newMarkA > finalOffset) throw new IllegalArgumentException(
-				"newMarkA must be <= the final offset"); //$NON-NLS-1$
-		
-		while(true) {
-			int offset = mapping[indexPreA].offset;
-			if(offset == newMarkA) break;
-			if(offset > newMarkA) {
-				indexPreA--;
-				break;
-			}
-			indexPreA++;
-		}
-		
-		markA = newMarkA;
-		if(newMarkA > markB) setMarkB(newMarkA);
-	}
-	
-	/**
-	 * Shift markB further along in the mapping. markB is the end
-	 * of the analyzed interval.
-	 * @param newMarkB - new value for markB. Should be >= current value.
-	 * @throws IllegalArgumentException - when newMarkB is less than
-	 *         the current markB or newMarkB is greater than the final
-	 *         offset in the mapping
-	 */
-	public void setMarkB(int newMarkB) {
-		if(newMarkB < markB)
-		    throw new IllegalArgumentException("newMarkB must be >= markB"); //$NON-NLS-1$
-		if(newMarkB > finalOffset)
-		    throw new IllegalArgumentException("newMarkB must be <= the final offset"); //$NON-NLS-1$
-		
-		boolean wasEqual = false;
-		while(true) {
-			int offset = mapping[indexPostB].offset;
-			if(offset > newMarkB) break;
-			wasEqual = (offset == newMarkB);
-			indexPostB++;
-		}
-		if(wasEqual) indexPostB--;
-		
-		markB = newMarkB;
-	}
-	
-	/*public String expandWhite(String image) {
-		System.out.print("w|" + markA + "|" + markB + "|" + image + "|");
-		String result = expandWhitea(image);
-		System.out.println(result);
-		return result;
-	}*/
-	/**
-	 * A function intended to be used to obtain an expanded string
-	 * for whitespace before a Photran token. markA and markB should
-	 * specify the interval of that white space.
-	 * @param image - the original whitespace
-	 * @return a new string for the new whitespace, or null if there
-	 *         shouldn't be a change. This new string will replace
-	 *         text in "image" with producers when appropriate.
-	 *         A producer that contains an interval boundary (such
-	 *         that the boundary does not lie on the edge of it)
-	 *         IS NOT reproduced and the text from "image" in
-	 *         that region is removed. A producer mapping to a
-	 *         region of length zero on an edge of the interval
-	 *         IS reproduced.
-	 * @throws IllegalArgumentException - when the length of image
-	 *         is not the same as the length of the interval
-	 *         (i.e., markB-markA)
-	 */
-	public String expandWhite(String image) {
-		if(image.length() != markB-markA) throw new IllegalArgumentException(
-				"the length of image must equal markB-markA"); //$NON-NLS-1$
-		
-		if(indexPreA == indexPostB) return null;
-		if(indexPreA + 1 == indexPostB) {
-			if(mapping[indexPreA].string == null) return null;
-			if(mapping[indexPreA].offset == markA && mapping[indexPostB].offset == markB)
-				return mapping[indexPreA].string;
-			return ""; //$NON-NLS-1$
-		}
-		
-		//at this point, indexPreA and indexPostB are at least 2 apart
-		
-		StringBuffer buffer = new StringBuffer(256);
-		int index = indexPreA;
-		
-		if(mapping[index].offset < markA) {
-			if(mapping[index].string == null)
-				buffer.append(image.substring(0, mapping[index+1].offset-markA));
-			index++;
-		}
-
-		for(; index < indexPostB; index++) {
-			if(index+1 == indexPostB && mapping[index+1].offset > markB) {
-				if(mapping[index].string == null)
-					buffer.append(image.substring(mapping[index].offset-markA));
-				break;
-			}
-			if(mapping[index].string == null) buffer.append(image.substring(
-				mapping[index].offset-markA, mapping[index+1].offset-markA));
-			else buffer.append(mapping[index].string);
-		}
-		
-		return buffer.toString();
-	}
-
-	
-	/*public String expandNormal(String image) {
-		System.out.print("n|" + markA + "|" + markB + "|" + image + "|");
-		String result = expandNormala(image);
-		System.out.println(result);
-		return result;
-	}*/
-	/**
-	 * A function intended to be used to obtain an expanded string
-	 * for the text of a Photran tokens, or possibly several Photran
-	 * tokens (but not including the surrounding white space).
-	 * markA and markB should specify the interval of that text.
-	 * @param image - the original text
-	 * @return a new string for the new text, or null if there
-	 *         shouldn't be a change. This new string will replace
-	 *         text in "image" with producers when appropriate.
-	 *         A producer that contains an interval boundary
-	 *         IS reproduced. A producer mapping to a
-	 *         region of length zero on an edge of the interval
-	 *         IS NOT reproduced.
-	 * @throws IllegalArgumentException - when the length of image
-	 *         is not the same as the length of the interval
-	 *         (i.e., markB-markA)
-	 */
-	public String expandNormal(String image) {
-		if(image.length() != markB-markA) throw new IllegalArgumentException(
-				"the length of image must equal markB-markA"); //$NON-NLS-1$
-		
-		int index = indexPreA;
-		int endIndex = indexPostB;
-		while(index < endIndex) {
-			if(mapping[index+1].offset == markA) index++;
-			else break;
-		}
-		while(index < endIndex) {
-			if(mapping[endIndex-1].offset == markB) endIndex--;
-			else break;
-		}
-		
-		if(index == endIndex) return null;
-		if(index + 1 == endIndex) {
-			if(mapping[index].string == null) return null;
-			return mapping[index].string;
-		}
-		
-		//at this point, index and endIndex are at least 2 apart
-		
-		StringBuffer buffer = new StringBuffer(256);
-		
-		for(; index < endIndex; index++) {
-			if(mapping[index].string == null) {
-				int subStart = mapping[index].offset-markA;
-				if(subStart < 0) subStart = 0;
-				int subEnd = mapping[index+1].offset-markA;
-				if(subEnd > image.length()) subEnd = image.length();
-				buffer.append(image.substring(subStart, subEnd));
-			}
-			else buffer.append(mapping[index].string);
-		}
-		
-		return buffer.toString();
-	}
-	
-	/**
-	 * @return true iff markB is not contained within a producer
-	 *         (which implies markB is also not on the edge of a producer)
-	 */
-	public boolean isMarkBInProducer() {
-		if(mapping[indexPostB].offset == markB) return false;
-		StringWithOffset preSWO = mapping[indexPostB-1];
-		if(preSWO.offset == markB) return false;
-		if(preSWO.string == null) return false;
-		return true;
-	}
-	
-	/**
-	 * Examine an interval between markB and endOffset. Determine
-	 * if there is a producer break in this interval.
-	 * @param endOffset - the end of the interval to consider. Must
-	 *        be >= markB.
-	 * @return true iff there is a producer break in this interval.
-	 *         This includes when the producer of this interval is
-	 *         null. This also includes when the producer ends
-	 *         at markB or endOffset
-	 * @throws IllegalArgumentException - when endOffset is less than markB or
-	 *         endOffset is greater than the final offset in the mapping
-	 */
-	public boolean isBreakAfterMarkB(int endOffset) {
-		if(endOffset < markB) throw new IllegalArgumentException(
-				"endOffset must be >= markB"); //$NON-NLS-1$
-		
-		if(mapping[indexPostB].offset <= endOffset) return true;
-		if(mapping[indexPostB-1].string == null) return true;
-		return false;
-	}
-	
-	/**@return the maximum allowed offset. This will be the maximum
-	 *         legal input to setMarkA and setMarkB.*/
-	public int getFinalOffset() {
-		return finalOffset;
-	}
-	
-	/**
-	 * A class containing a string and int pair.
-	 * @author Matthew Michelotti
-	 */
-	private static class StringWithOffset {
-		private final String string;
-		private final int offset;
-		
-		private StringWithOffset(String string, int offset) {
-			if(string == null) this.string = null;
-			else this.string = new String(string);
-			this.offset = offset;
-		}
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/sourceform/CPreprocessedFreeSourceForm.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/sourceform/CPreprocessedFreeSourceForm.java
deleted file mode 100644
index 7f701b2..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/lexer/sourceform/CPreprocessedFreeSourceForm.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.lexer.sourceform;
-
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.internal.core.lexer.CPreprocessingLexer;
-import org.eclipse.photran.internal.core.lexer.CPreprocessingReader;
-import org.eclipse.photran.internal.core.lexer.FreeFormLexerPhase1;
-import org.eclipse.photran.internal.core.lexer.FreeFormLexerPhase2;
-import org.eclipse.photran.internal.core.lexer.ILexer;
-import org.eclipse.photran.internal.core.sourceform.ISourceForm;
-
-/**
- * An {@link ISourceForm} for free form Fortran source code that may
- * contain C preprocessor directives.
- * 
- * @author Jeff Overbey
- */
-public class CPreprocessedFreeSourceForm implements ISourceForm
-{
-    public ILexer createLexer(
-        Reader in, IFile file, String filename,
-        boolean accumulateWhitetext) throws IOException
-    {
-        return new FreeFormLexerPhase2(
-            new CPreprocessingFreeFormLexerPhase1(
-                in,
-                file,
-                filename,
-                true));
-    }
-
-    public CPreprocessedFreeSourceForm configuredWith(Object data)
-    {
-        return this;
-    }
-    
-    public boolean isFixedForm()     { return false; }
-    public boolean isCPreprocessed() { return true; }
-    
-    private static class CPreprocessingFreeFormLexerPhase1 extends CPreprocessingLexer
-    {
-        public CPreprocessingFreeFormLexerPhase1(
-            Reader in, IFile file, String filename,
-            boolean accumulateWhitetext) throws IOException
-        {
-            super(in, file, filename, accumulateWhitetext);
-        }
-
-        @Override protected ILexer createDelegateLexer(
-            CPreprocessingReader cpp, IFile file, String filename,
-            boolean accumulateWhitetext)
-        {
-            return new FreeFormLexerPhase1(cpp, file, filename, accumulateWhitetext);
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTNode.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTNode.java
deleted file mode 100644
index 8a9f0b1..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTNode.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    IBM Rational Software - Initial API and implementation
- *    Markus Schorn (Wind River Systems)
- *******************************************************************************/
-/**
- * Edited by Matthew Michelotti
- * 
- * Overview of changes:
- * -may have changed import statements
- * -Commented out sections of code which may significantly
- *  depend on the CDT version. May have deprecated a number of methods
- *  with commented code.
- * -added unimplemented methods to conform with new versions of
- *  CDT interfaces. Deprecated these methods.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import org.eclipse.cdt.core.dom.ast.ASTNodeProperty;
-import org.eclipse.cdt.core.dom.ast.ASTVisitor;
-import org.eclipse.cdt.core.dom.ast.ExpansionOverlapsBoundaryException;
-import org.eclipse.cdt.core.dom.ast.IASTFileLocation;
-import org.eclipse.cdt.core.dom.ast.IASTImageLocation;
-import org.eclipse.cdt.core.dom.ast.IASTNode;
-import org.eclipse.cdt.core.dom.ast.IASTNodeLocation;
-import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-//import org.eclipse.cdt.internal.core.parser.scanner.ILocationResolver;
-import org.eclipse.cdt.core.parser.IToken;
-
-/**
- * @author jcamelon
- */
-public abstract class ASTNode implements IASTNode {
-
-    //private static final IASTNodeLocation[] EMPTY_LOCATION_ARRAY = new IASTNodeLocation[0];
-
-    private IASTNode parent;
-    private ASTNodeProperty property;
-
-    private int length;
-    private int offset;
-
-    public IASTNode getParent() {
-    	return parent;
-    }
-    
-    public void setParent(IASTNode node) {
-    	this.parent = node;
-    }
-    
-    public ASTNodeProperty getPropertyInParent() {
-    	return property;
-    }
-    
-    public void setPropertyInParent(ASTNodeProperty property) {
-    	this.property = property;
-    }
-    
-    public int getOffset() {
-        return offset;
-    }
-
-    public int getLength() {
-        return length;
-    }
-
-    public void setOffset(int offset) {
-        this.offset = offset;
-        //this.locations = null;
-    }
-
-    public void setLength(int length) {
-        this.length = length;
-        //this.locations = null;
-    }
-
-    public void setOffsetAndLength(int offset, int length) {
-        this.offset = offset;
-        this.length = length;
-        //this.locations = null;
-    }
-
-    public void setOffsetAndLength(ASTNode node) {
-        setOffsetAndLength(node.getOffset(), node.getLength());
-    }
-
-    //private IASTNodeLocation[] locations = null;
-    //private IASTFileLocation fileLocation = null;
-    
-    @Deprecated
-    //functionality removed for stability with CDT version
-    public IASTNodeLocation[] getNodeLocations() {
-        /*if (locations != null)
-            return locations;
-        if (length == 0) {
-        	locations= EMPTY_LOCATION_ARRAY;
-        }
-        else {
-        	final IASTTranslationUnit tu= getTranslationUnit();
-        	if (tu != null) {
-        		ILocationResolver l= (ILocationResolver) tu.getAdapter(ILocationResolver.class);
-        		if (l != null) {
-        			locations= l.getLocations(offset, length);
-        		}
-        	}
-        }
-        return locations;*/
-    	return null;
-    }
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-    public IASTImageLocation getImageLocation() {
-    	/*final IASTTranslationUnit tu= getTranslationUnit();
-    	if (tu != null) {
-    		ILocationResolver l= (ILocationResolver) tu.getAdapter(ILocationResolver.class);
-    		if (l != null) {
-    			return l.getImageLocation(offset, length);
-    		}
-    	}
-        return null;*/
-    	return null;
-    }
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-    public String getRawSignature() {
-    	/*final IASTFileLocation floc= getFileLocation();
-        final IASTTranslationUnit ast = getTranslationUnit();
-        if (floc != null && ast != null) {
-        	ILocationResolver lr= (ILocationResolver) ast.getAdapter(ILocationResolver.class);
-        	if (lr != null) {
-        		return new String(lr.getUnpreprocessedSignature(getFileLocation()));
-        	}
-        }
-        return ""; //$NON-NLS-1$*/
-    	return null;
-    }
-
-    public String getContainingFilename() {
-    	if (offset <= 0 && (length == 0 || offset < 0)) {
-    		final IASTNode parent = getParent();
-    		if (parent == null) {
-    			if (this instanceof IASTTranslationUnit) {
-    				return ((IASTTranslationUnit) this).getFilePath();
-    			}
-    			return ""; //$NON-NLS-1$
-    		}
-    		return parent.getContainingFilename();
-    	}
-        return getTranslationUnit().getContainingFilename(offset);
-    }
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-    public IASTFileLocation getFileLocation() {
-        /*if( fileLocation != null )
-            return fileLocation;
-        if (offset <= 0 && (length == 0 || offset < 0)) {
-        	return null;
-        }
-        IASTTranslationUnit ast = getTranslationUnit();
-        if (ast != null) {
-        	ILocationResolver lr= (ILocationResolver) ast.getAdapter(ILocationResolver.class);
-        	if (lr != null) {
-        		fileLocation= lr.getMappedFileLocation(offset, length);
-        	}
-        	else {
-        		// support for old location map
-        		fileLocation= ast.flattenLocationsToFile(getNodeLocations());
-        	}
-        }
-        return fileLocation;*/
-        return null;
-    }
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-    public boolean isPartOfTranslationUnitFile() {
-        /*IASTTranslationUnit ast = getTranslationUnit();
-        if (ast != null) {
-        	ILocationResolver lr= (ILocationResolver) ast.getAdapter(ILocationResolver.class);
-        	if (lr != null) {
-        		return lr.isPartOfTranslationUnitFile(offset);
-        	}
-        }
-        return false;*/
-    	return false;
-    }
-    
-    public IASTTranslationUnit getTranslationUnit() {
-       	return parent != null ? parent.getTranslationUnit() : null;
-    }
-
-    public boolean accept(ASTVisitor visitor) {
-    	return true;
-    }
-    
-    public boolean contains(IASTNode node) {
-    	if (node instanceof ASTNode) {
-    		ASTNode astNode= (ASTNode) node;
-    		return offset <= astNode.offset && 
-    			astNode.offset+astNode.length <= offset+length;
-    	}
-    	return false;
-    }
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public IASTNode copy() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public IASTNode[] getChildren() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public IToken getLeadingSyntax() throws ExpansionOverlapsBoundaryException,
-			UnsupportedOperationException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public IToken getSyntax() throws ExpansionOverlapsBoundaryException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public IToken getTrailingSyntax()
-			throws ExpansionOverlapsBoundaryException,
-			UnsupportedOperationException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public boolean isActive() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public boolean isFrozen() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTPreprocessorName.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTPreprocessorName.java
deleted file mode 100755
index 69810f6..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTPreprocessorName.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-/**
- * Edited by Matthew Michelotti
- * 
- * Overview of changes:
- * -may have changed import statements
- * -Commented out sections of code which may significantly
- *  depend on the CDT version. May have deprecated a number of methods
- *  with commented code.
- * -added unimplemented methods to conform with new versions of
- *  CDT interfaces. Deprecated these methods.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import org.eclipse.cdt.core.dom.ILinkage;
-import org.eclipse.cdt.core.dom.ast.ASTNodeProperty;
-import org.eclipse.cdt.core.dom.ast.IASTCompletionContext;
-import org.eclipse.cdt.core.dom.ast.IASTName;
-import org.eclipse.cdt.core.dom.ast.IASTNameOwner;
-import org.eclipse.cdt.core.dom.ast.IASTNode;
-import org.eclipse.cdt.core.dom.ast.IBinding;
-import org.eclipse.cdt.core.dom.ast.IMacroBinding;
-
-/**
- * Models IASTNames as needed for the preprocessor statements and macro expansions.
- * @since 5.0
- */
-class ASTPreprocessorName extends ASTPreprocessorNode implements IASTName {
-	private final char[] fName;
-	private final IBinding fBinding;
-	public ASTPreprocessorName(IASTNode parent, ASTNodeProperty property, int startNumber, int endNumber, char[] name, IBinding binding) {
-		super(parent, property, startNumber, endNumber);
-		fName= name;
-		fBinding= binding;
-	}
-
-	public IBinding resolveBinding() {
-		return fBinding;
-	}
-	public IBinding getBinding() {
-		return fBinding;
-	}
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public ILinkage getLinkage() {
-		//final IASTTranslationUnit tu= getTranslationUnit();
-		//return tu == null ? Linkage.NO_LINKAGE : tu.getLinkage();
-		return null;
-	}
-	public IASTCompletionContext getCompletionContext() {
-		return null;
-	}
-	public boolean isDeclaration() {
-		return false;
-	}
-	public boolean isDefinition() {
-		return false;
-	}
-	public boolean isReference() {
-		return false;
-	}
-	public char[] toCharArray() {
-		return fName;
-	}    	
-	@Override
-	public String toString() {
-		return new String(fName);
-	}
-	public void setBinding(IBinding binding) {assert false;}
-
-	public int getRoleOfName(boolean allowResolution) {
-		return IASTNameOwner.r_unclear;
-	}
-	public IASTName getLastName() {
-		return this;
-	}
-
-    @Deprecated
-    @Override
-    public IASTName copy() {
-        throw new UnsupportedOperationException();
-    }
-
-    public IASTName copy(CopyStyle style) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public char[] getLookupKey() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public IBinding getPreBinding() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public IBinding resolvePreBinding() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public char[] getSimpleID() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-}
-
-/*class ASTPreprocessorDefinition extends ASTPreprocessorName {
-	public ASTPreprocessorDefinition(IASTNode parent, ASTNodeProperty property, int startNumber,
-			int endNumber, char[] name, IBinding binding) {
-		super(parent, property, startNumber, endNumber, name, binding);
-	}
-
-	@Override
-	public boolean isDefinition() {
-		return true;
-	}
-	
-	@Override
-	public int getRoleOfName(boolean allowResolution) {
-		return IASTNameOwner.r_definition;
-	}
-}*/
-
-
-/*class ASTBuiltinName extends ASTPreprocessorDefinition {
-	private final IASTFileLocation fFileLocation;
-
-	public ASTBuiltinName(IASTNode parent, ASTNodeProperty property, IASTFileLocation floc, char[] name, IBinding binding) {
-		super(parent, property, -1, -1, name, binding);
-		fFileLocation= floc;
-	}
-
-	@Override
-	public boolean contains(IASTNode node) {
-		return node==this;
-	}
-
-	@Override
-	public String getContainingFilename() {
-		if (fFileLocation == null) {
-			return ""; //$NON-NLS-1$
-		}
-		return fFileLocation.getFileName();
-	}
-
-	@Override
-	public IASTFileLocation getFileLocation() {
-		return fFileLocation;
-	}
-
-	@Override
-	public IASTNodeLocation[] getNodeLocations() {
-		if (fFileLocation == null) {
-			return new IASTNodeLocation[0];
-		}
-		return new IASTNodeLocation[]{fFileLocation};
-	}
-
-	@Override
-	public String getRawSignature() {
-		if (fFileLocation == null) {
-			return ""; //$NON-NLS-1$
-		}
-		return toString();
-	}
-}*/
-
-class ASTMacroReferenceName extends ASTPreprocessorName {
-	//private ImageLocationInfo fImageLocationInfo;
-	
-	public ASTMacroReferenceName(IASTNode parent, ASTNodeProperty property, int offset, int endOffset, IMacroBinding macro, ImageLocationInfo imgLocationInfo) {
-		super(parent, property, offset, endOffset, macro.getNameCharArray(), macro);
-		//fImageLocationInfo= imgLocationInfo;
-	}
-
-	@Override
-	public int getRoleOfName(boolean allowResolution) {
-		return IASTNameOwner.r_unclear;
-	}
-
-	@Override
-	public boolean isReference() {
-		return true;
-	}
-
-	/*@Override
-	public IASTImageLocation getImageLocation() {
-		if (fImageLocationInfo != null) {
-			IASTTranslationUnit tu= getTranslationUnit();
-			if (tu != null) {
-				LocationMap lr= (LocationMap) tu.getAdapter(LocationMap.class);
-				if (lr != null) {
-					return fImageLocationInfo.createLocation(lr, fImageLocationInfo);
-				}
-			}
-			return null;
-		}
-		return super.getImageLocation();
-	}*/
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTPreprocessorNode.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTPreprocessorNode.java
deleted file mode 100755
index 2a70c00..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ASTPreprocessorNode.java
+++ /dev/null
@@ -1,696 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-/**
- * Edited by Matthew Michelotti
- * 
- * Overview of changes:
- * -may have changed import statements
- * -Commented out sections of code which may significantly
- *  depend on the CDT version. May have deprecated a number of methods
- *  with commented code.
- * -added unimplemented methods to conform with new versions of
- *  CDT interfaces. Deprecated these methods.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.ArrayList;
-
-import org.eclipse.cdt.core.dom.ast.ASTNodeProperty;
-//import org.eclipse.cdt.core.dom.ast.IASTComment;
-import org.eclipse.cdt.core.dom.ast.IASTFileLocation;
-//import org.eclipse.cdt.core.dom.ast.IASTFunctionStyleMacroParameter;
-//import org.eclipse.cdt.core.dom.ast.ExpansionOverlapsBoundaryException;
-import org.eclipse.cdt.core.dom.ast.IASTImageLocation;
-import org.eclipse.cdt.core.dom.ast.IASTMacroExpansionLocation;
-import org.eclipse.cdt.core.dom.ast.IASTName;
-import org.eclipse.cdt.core.dom.ast.IASTNode;
-import org.eclipse.cdt.core.dom.ast.IASTNodeLocation;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorElifStatement;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorElseStatement;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorEndifStatement;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorErrorStatement;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorFunctionStyleMacroDefinition;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorIfStatement;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorIfdefStatement;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorIfndefStatement;
-import org.eclipse.cdt.core.dom.ast.IASTPreprocessorIncludeStatement;
-import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition;
-import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroExpansion;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorObjectStyleMacroDefinition;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorPragmaStatement;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorStatement;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorUndefStatement;
-import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-//import org.eclipse.cdt.core.dom.ast.IBinding;
-//import org.eclipse.cdt.core.dom.ast.IMacroBinding;
-import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit.IDependencyTree;
-import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit.IDependencyTree.IASTInclusionNode;
-//import org.eclipse.cdt.core.parser.util.CharArrayUtils;
-//import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
-//import org.eclipse.cdt.internal.core.dom.parser.ASTNodeSpecification;
-//import org.eclipse.cdt.core.parser.IToken;
-
-/**
- * Models various AST-constructs obtained from the preprocessor.
- * @since 5.0
- */
-abstract class ASTPreprocessorNode extends ASTNode {
-	public ASTPreprocessorNode(IASTNode parent, ASTNodeProperty property, int startNumber, int endNumber) {
-		setParent(parent);
-		setPropertyInParent(property);
-		setOffset(startNumber);
-		setLength(endNumber-startNumber);
-	}
-	
-	/*protected char[] getSource(int offset, int length) {
-		final IASTTranslationUnit ast= getTranslationUnit();
-        if (ast != null) {
-        	ILocationResolver lr= (ILocationResolver) ast.getAdapter(ILocationResolver.class);
-        	if (lr != null) {
-        		final IASTFileLocation loc= lr.getMappedFileLocation(offset, length);
-        		if (loc != null) {
-        			return lr.getUnpreprocessedSignature(loc);
-        		}
-        	}
-        }
-		return CharArrayUtils.EMPTY;
-	}*/
-
-	/*/**
-	 * Searches nodes by file location.
-	 */
-	/*void findNode(ASTNodeSpecification<?> nodeSpec) {
-		nodeSpec.visit(this);
-	}*/
-}
-
-
-
-/*class ASTComment extends ASTPreprocessorNode implements IASTComment {
-	private final boolean fIsBlockComment;
-	public ASTComment(IASTTranslationUnit parent, int startNumber, int endNumber, boolean isBlockComment) {
-		super(parent, IASTTranslationUnit.PREPROCESSOR_STATEMENT, startNumber, endNumber);
-		fIsBlockComment= isBlockComment;
-	}
-
-	public char[] getComment() {
-		return getSource(getOffset(), getLength());
-	}
-
-	public boolean isBlockComment() {
-		return fIsBlockComment;
-	}
-
-	public void setComment(char[] comment) {
-		assert false;
-	}
-}*/
-
-
-/*abstract class ASTDirectiveWithCondition extends ASTPreprocessorNode {
-	private final int fConditionOffset;
-    private final boolean fActive;
-	public ASTDirectiveWithCondition(IASTTranslationUnit parent, int startNumber, int condNumber, int endNumber, boolean active) {
-		super(parent, IASTTranslationUnit.PREPROCESSOR_STATEMENT, startNumber, endNumber);
-		fConditionOffset= condNumber;
-		fActive= active;
-	}
-
-    public boolean taken() {
-        return fActive;
-    }
-        
-    public String getConditionString() {
-    	return new String(getSource(fConditionOffset, getOffset() + getLength() - fConditionOffset));
-    }
-    
-    public char[] getCondition() {
-    	return getConditionString().toCharArray();
-    }
-}*/
-
-/*class ASTEndif extends ASTPreprocessorNode implements IASTPreprocessorEndifStatement {
-	public ASTEndif(IASTTranslationUnit parent, int startNumber, int endNumber) {
-		super(parent, IASTTranslationUnit.PREPROCESSOR_STATEMENT, startNumber, endNumber);
-	}
-}*/
-
-/*class ASTElif extends ASTDirectiveWithCondition implements IASTPreprocessorElifStatement {
-	public ASTElif(IASTTranslationUnit parent, int startNumber, int condNumber, int condEndNumber, boolean active) {
-		super(parent, startNumber, condNumber, condEndNumber, active);
-    }
-}*/
-
-/*class ASTElse extends ASTPreprocessorNode implements IASTPreprocessorElseStatement {
-	private final boolean fActive;
-    public ASTElse(IASTTranslationUnit parent, int startNumber, int endNumber, boolean active) {
-		super(parent, IASTTranslationUnit.PREPROCESSOR_STATEMENT, startNumber, endNumber);
-		fActive= active;
-	}
-    public boolean taken() {
-        return fActive;
-    }
-}*/
-
-/*class ASTIfndef extends ASTDirectiveWithCondition implements IASTPreprocessorIfndefStatement {
-	private ASTMacroReferenceName fMacroRef;
-
-	public ASTIfndef(IASTTranslationUnit parent, int startNumber, int condNumber, int condEndNumber, boolean taken, IMacroBinding macro) {
-		super(parent, startNumber, condNumber, condEndNumber, taken);
-		if (macro != null) {
-			fMacroRef= new ASTMacroReferenceName(this, IASTPreprocessorStatement.MACRO_NAME, condNumber, condEndNumber, macro, null);
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.core.dom.ast.IASTPreprocessorIfdefStatement#getMacroReference()
-	 *//*
-	public ASTPreprocessorName getMacroReference() {
-		return fMacroRef;
-	}
-}*/
-
-/*class ASTIfdef extends ASTDirectiveWithCondition implements IASTPreprocessorIfdefStatement {
-	ASTMacroReferenceName fMacroRef;
-	public ASTIfdef(IASTTranslationUnit parent, int startNumber, int condNumber, int condEndNumber, boolean taken, IMacroBinding macro) {
-		super(parent, startNumber, condNumber, condEndNumber, taken);
-		if (macro != null) {
-			fMacroRef= new ASTMacroReferenceName(this, IASTPreprocessorStatement.MACRO_NAME, condNumber, condEndNumber, macro, null);
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.core.dom.ast.IASTPreprocessorIfdefStatement#getMacroReference()
-	 *//*
-	public ASTPreprocessorName getMacroReference() {
-		return fMacroRef;
-	}
-}*/
-
-/*class ASTIf extends ASTDirectiveWithCondition implements IASTPreprocessorIfStatement {
-	public ASTIf(IASTTranslationUnit parent, int startNumber, int condNumber, int condEndNumber, boolean active) {
-		super(parent, startNumber, condNumber, condEndNumber, active);
-	}
-}*/
-
-/*class ASTError extends ASTDirectiveWithCondition implements IASTPreprocessorErrorStatement {
-	public ASTError(IASTTranslationUnit parent, int startNumber, int condNumber, int condEndNumber) {
-		super(parent, startNumber, condNumber, condEndNumber, true);
-	}
-
-	public char[] getMessage() {
-		return getCondition();
-	}
-}*/
-
-/*class ASTPragma extends ASTDirectiveWithCondition implements IASTPreprocessorPragmaStatement {
-	public ASTPragma(IASTTranslationUnit parent, int startNumber, int condNumber, int condEndNumber) {
-		super(parent, startNumber, condNumber, condEndNumber, true);
-	}
-
-	public char[] getMessage() {
-		return getCondition();
-	}
-}*/
-
-class ASTInclusionStatement extends ASTPreprocessorNode implements IASTPreprocessorIncludeStatement {
-	private final ASTPreprocessorName fName;
-	private final String fPath;
-	private final boolean fIsActive;
-	private final boolean fIsResolved;
-	private final boolean fIsSystemInclude;
-
-	public ASTInclusionStatement(IASTTranslationUnit parent, 
-			int startNumber, int nameStartNumber, int nameEndNumber, int endNumber,
-			char[] headerName, String filePath, boolean userInclude, boolean active) {
-		super(parent, IASTTranslationUnit.PREPROCESSOR_STATEMENT, startNumber, endNumber);
-		fName= new ASTPreprocessorName(this, IASTPreprocessorIncludeStatement.INCLUDE_NAME, nameStartNumber, nameEndNumber, headerName, null);
-		fPath= filePath == null ? "" : filePath; //$NON-NLS-1$
-		fIsActive= active;
-		fIsResolved= filePath != null;
-		fIsSystemInclude= !userInclude;
-	}
-
-	public IASTName getName() {
-		return fName;
-	}
-
-	public String getPath() {
-		return fPath;
-	}
-
-	@Override
-    public boolean isActive() {
-		return fIsActive;
-	}
-
-	public boolean isResolved() {
-		return fIsResolved;
-	}
-
-	public boolean isSystemInclude() {
-		return fIsSystemInclude;
-	}
-
-    public IASTName copy(CopyStyle style) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public boolean isResolvedByHeuristics() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-	
-	/*@Override
-	void findNode(ASTNodeSpecification<?> nodeSpec) {
-		super.findNode(nodeSpec);
-		nodeSpec.visit(fName);
-	}*/
-}
-
-/*class ASTMacroDefinition extends ASTPreprocessorNode implements IASTPreprocessorObjectStyleMacroDefinition {
-	private final ASTPreprocessorName fName;
-	private final int fExpansionNumber;
-	private final int fExpansionOffset;
-	
-	/**
-	 * Regular constructor.
-	 *//*
-	public ASTMacroDefinition(IASTTranslationUnit parent, IMacroBinding macro, 
-			int startNumber, int nameNumber, int nameEndNumber, int expansionNumber, int endNumber) {
-		super(parent, IASTTranslationUnit.PREPROCESSOR_STATEMENT, startNumber, endNumber);
-		fExpansionNumber= expansionNumber;
-		fExpansionOffset= -1;
-		fName= new ASTPreprocessorDefinition(this, IASTPreprocessorMacroDefinition.MACRO_NAME, nameNumber, nameEndNumber, macro.getNameCharArray(), macro);
-	}
-
-	/**
-	 * Constructor for built-in macros
-	 * @param expansionOffset 
-	 *//*
-	/*public ASTMacroDefinition(IASTTranslationUnit parent, IMacroBinding macro, IASTFileLocation floc, int expansionOffset) {
-		super(parent, IASTTranslationUnit.PREPROCESSOR_STATEMENT, -1, -1);
-		fName= new ASTBuiltinName(this, IASTPreprocessorMacroDefinition.MACRO_NAME, floc, macro.getNameCharArray(), macro);
-		fExpansionNumber= -1;
-		fExpansionOffset= expansionOffset;
-	}
-
-	
-	@Override
-	public String getContainingFilename() {
-		if (fName instanceof ASTBuiltinName) {
-			return fName.getContainingFilename();
-		}
-		return super.getContainingFilename();
-	}
-
-	protected IMacroBinding getMacro() {
-		return (IMacroBinding) fName.getBinding();
-	}
-	
-	public String getExpansion() {
-		return new String(getMacro().getExpansion());
-	}
-
-	public IASTName getName() {
-		return fName;
-	}
-
-	public int getRoleForName(IASTName n) {
-		return (fName == n) ? r_definition : r_unclear;
-	}
-
-	@Override
-	void findNode(ASTNodeSpecification<?> nodeSpec) {
-		super.findNode(nodeSpec);
-		nodeSpec.visit(fName);
-	}
-
-	public void setExpansion(String exp) {assert false;}
-	public void setName(IASTName name) {assert false;}
-
-	public IASTFileLocation getExpansionLocation() {
-		if (fExpansionNumber >= 0) {
-			IASTTranslationUnit ast = getTranslationUnit();
-			if (ast != null) {
-				ILocationResolver lr= (ILocationResolver) ast.getAdapter(ILocationResolver.class);
-				if (lr != null) {
-					return lr.getMappedFileLocation(fExpansionNumber, getOffset() + getLength() - fExpansionNumber);
-				}
-			}
-		}
-		if (fExpansionOffset >= 0) {
-			String fileName= fName.getContainingFilename();
-			if (fileName != null) {
-				final char[] expansionImage = getMacro().getExpansionImage();
-				return new ASTFileLocationForBuiltins(fileName, fExpansionOffset, expansionImage.length);
-			}
-		}
-		return null;
-	}
-	
-	@Override
-	public String toString() {
-		return getName().toString() + '=' + getExpansion();
-	}
-}*/
-
-/*class ASTMacroParameter extends ASTPreprocessorNode implements IASTFunctionStyleMacroParameter  {
-	private final String fParameter;
-	
-	public ASTMacroParameter(IASTPreprocessorFunctionStyleMacroDefinition parent, char[] param, int offset, int endOffset) {
-		super(parent, IASTPreprocessorFunctionStyleMacroDefinition.PARAMETER, offset, endOffset);
-		fParameter= new String(param);
-	}
-
-	public String getParameter() {
-		return fParameter;
-	}
-
-	public void setParameter(String value) {assert false;}
-}*/
-
-/*class ASTFunctionStyleMacroDefinition extends ASTMacroDefinition implements IASTPreprocessorFunctionStyleMacroDefinition {
-	/**
-	 * Regular constructor.
-	 *//*
-	public ASTFunctionStyleMacroDefinition(IASTTranslationUnit parent, IMacroBinding macro, 
-			int startNumber, int nameNumber, int nameEndNumber, int expansionNumber, int endNumber) {
-		super(parent, macro, startNumber, nameNumber, nameEndNumber, expansionNumber, endNumber);
-	}
-
-	/**
-	 * Constructor for builtins
-	 *//*
-	public ASTFunctionStyleMacroDefinition(IASTTranslationUnit parent, IMacroBinding macro, 
-			IASTFileLocation nameLoc, int expansionOffset) {
-		super(parent, macro, nameLoc, expansionOffset);
-	}
-
-	public IASTFunctionStyleMacroParameter[] getParameters() {
-    	IMacroBinding macro= getMacro();
-    	char[][] paramList= macro.getParameterList();
-    	IASTFunctionStyleMacroParameter[] result= new IASTFunctionStyleMacroParameter[paramList.length];
-    	for (int i = 0; i < result.length; i++) {
-			result[i]= new ASTMacroParameter(this, paramList[i], -1, -1);
-		}
-        return result;
-    }
-
-	public void addParameter(IASTFunctionStyleMacroParameter parm) {assert false;}
-	
-	@Override
-	public String toString() {
-		StringBuilder result= new StringBuilder();
-		result.append(getName().toCharArray());
-		result.append('(');
-		boolean needComma= false;
-		for (IASTFunctionStyleMacroParameter param : getParameters()) {
-			if (needComma) {
-				result.append(',');
-			}
-			result.append(param.getParameter());
-			needComma= true;
-		}
-		result.append(')');
-		result.append('=');
-		result.append(getExpansion());
-		return result.toString();
-	}
-}*/
-
-
-/*class ASTUndef extends ASTPreprocessorNode implements IASTPreprocessorUndefStatement {
-	private final ASTPreprocessorName fName;
-	public ASTUndef(IASTTranslationUnit parent, char[] name, int startNumber, int nameNumber, int nameEndNumber, IBinding binding) {
-		super(parent, IASTTranslationUnit.PREPROCESSOR_STATEMENT, startNumber, nameEndNumber);
-		fName= new ASTPreprocessorName(this, IASTPreprocessorStatement.MACRO_NAME, nameNumber, nameEndNumber, name, binding);
-	}
-
-	public ASTPreprocessorName getMacroName() {
-		return fName;
-	}
-}*/
-
-class ASTInclusionNode implements IASTInclusionNode {
-	protected LocationCtx fLocationCtx;
-	private IASTInclusionNode[] fInclusions;
-
-	public ASTInclusionNode(LocationCtx ctx) {
-		fLocationCtx= ctx;
-	}
-
-	public IASTPreprocessorIncludeStatement getIncludeDirective() {
-		return fLocationCtx.getInclusionStatement();
-	}
-
-	public IASTInclusionNode[] getNestedInclusions() {
-		if (fInclusions == null) {
-			ArrayList<IASTInclusionNode> result= new ArrayList<IASTInclusionNode>();
-			fLocationCtx.getInclusions(result);
-			fInclusions= result.toArray(new IASTInclusionNode[result.size()]);
-		}
-		return fInclusions;
-	}
-}
-
-class DependencyTree extends ASTInclusionNode implements IDependencyTree {
-	public DependencyTree(LocationCtx ctx) {
-		super(ctx);
-	}
-
-	public IASTInclusionNode[] getInclusions() {
-		return getNestedInclusions();
-	}
-
-	public String getTranslationUnitPath() {
-		return fLocationCtx.getFilePath();
-	}
-}
-
-class ASTFileLocation implements IASTFileLocation {
-	private LocationCtxFile fLocationCtx;
-	private int fOffset;
-	private int fLength;
-
-	public ASTFileLocation(LocationCtxFile fileLocationCtx, int startOffset, int length) {
-		fLocationCtx= fileLocationCtx;
-		fOffset= startOffset;
-		fLength= length;
-	}
-
-	public String getFileName() {
-		return fLocationCtx.getFilePath();
-	}
-
-	public IASTFileLocation asFileLocation() {
-		return this;
-	}
-
-	public int getNodeLength() {
-		return fLength;
-	}
-
-	public int getNodeOffset() {
-		return fOffset;
-	}
-
-	public int getEndingLineNumber() {
-		int end= fLength > 0 ? fOffset+fLength-1 : fOffset;
-		return fLocationCtx.getLineNumber(end);
-	}
-
-	public int getStartingLineNumber() {
-		return fLocationCtx.getLineNumber(fOffset);
-	}
-
-	public char[] getSource() {
-		return fLocationCtx.getSource(fOffset, fLength);
-	}
-	
-	@Override
-	public String toString() {
-		return getFileName() + "[" + fOffset + "," + (fOffset+fLength) + ")";    //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-	}
-
-	public int getSequenceNumber() {
-		return fLocationCtx.getSequenceNumberForOffset(fOffset, true);
-	}
-	
-	public int getSequenceEndNumber() {
-		return fLocationCtx.getSequenceNumberForOffset(fOffset+fLength, true);
-	}
-	
-	public LocationCtxFile getLocationContext() {
-		return fLocationCtx;
-	}
-}
-
-class ASTMacroExpansion extends ASTPreprocessorNode implements IASTPreprocessorMacroExpansion {
-
-	private LocationCtxMacroExpansion fContext;
-
-	public ASTMacroExpansion(IASTNode parent, int startNumber, int endNumber) {
-		super(parent, IASTTranslationUnit.MACRO_EXPANSION, startNumber, endNumber);
-	}
-
-	void setContext(LocationCtxMacroExpansion expansionCtx) {
-		fContext= expansionCtx;
-	}
-
-	public IASTName copy(CopyStyle style) {
-        throw new UnsupportedOperationException();
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroExpansion#getName()
-	 */
-	public ASTMacroReferenceName getMacroReference() {
-		return fContext.getMacroReference();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroExpansion#getMacroDefinition()
-	 */
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public IASTPreprocessorMacroDefinition getMacroDefinition() {
-		//return fContext.getMacroDefinition();
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroExpansion#getNestedExpansions()
-	 */
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public ASTPreprocessorName[] getNestedMacroReferences() {
-		//return fContext.getNestedMacroReferences();
-		return null;
-	}
-
-	public LocationCtxMacroExpansion getContext() {
-		return fContext;
-	}
-}
-
-@SuppressWarnings("deprecation")
-class ASTMacroExpansionLocation implements IASTMacroExpansionLocation, org.eclipse.cdt.core.dom.ast.IASTMacroExpansion {
-
-	private LocationCtxMacroExpansion fContext;
-	private int fOffset;
-	private int fLength;
-
-	public ASTMacroExpansionLocation(LocationCtxMacroExpansion macroExpansionCtx, int offset, int length) {
-		fContext= macroExpansionCtx;
-		fOffset= offset;
-		fLength= length;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.core.dom.ast.IASTMacroExpansionLocation#getExpansion()
-	 */
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public IASTPreprocessorMacroExpansion getExpansion() {
-		//return fContext.getExpansion();
-		return null;
-	}
-
-	public IASTNodeLocation[] getExpansionLocations() {
-		final IASTFileLocation fl= asFileLocation();
-		return fl == null ? new IASTNodeLocation[0] : new IASTNodeLocation[] {fl};
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public IASTPreprocessorMacroDefinition getMacroDefinition() {
-		//return fContext.getMacroDefinition();
-		return null;
-	}
-	
-	public IASTName getMacroReference() {
-		return fContext.getMacroReference();
-	}
-
-	public IASTFileLocation asFileLocation() {
-		return ((LocationCtxContainer) fContext.getParent()).createFileLocation(fContext.fOffsetInParent, fContext.fEndOffsetInParent-fContext.fOffsetInParent);
-	}
-
-	public int getNodeLength() {
-		return fLength;
-	}
-
-	public int getNodeOffset() {
-		return fOffset;
-	}
-
-	/*@Override
-	public String toString() {
-		return fContext.getMacroDefinition().getName().toString() + "[" + fOffset + "," + (fOffset+fLength) + ")";    //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-	}*/
-
-	public IASTImageLocation getImageLocation() {
-		return fContext.getImageLocation(fOffset, fLength);
-	}
-}
-
-class ASTFileLocationForBuiltins implements IASTFileLocation {
-	private String fFile;
-	private int fOffset;
-	private int fLength;
-
-	public ASTFileLocationForBuiltins(String file, int startOffset, int length) {
-		fFile= file;
-		fOffset= startOffset;
-		fLength= length;
-	}
-
-	public String getFileName() {
-		return fFile;
-	}
-
-	public IASTFileLocation asFileLocation() {
-		return this;
-	}
-
-	public int getNodeLength() {
-		return fLength;
-	}
-
-	public int getNodeOffset() {
-		return fOffset;
-	}
-
-	public int getEndingLineNumber() {
-		return 0;
-	}
-
-	public int getStartingLineNumber() {
-		return 0;
-	}
-}
-
-
-class ASTImageLocation extends ASTFileLocationForBuiltins implements IASTImageLocation {
-	private final int fKind;
-
-	public ASTImageLocation(int kind, String file, int offset, int length) {
-		super(file, offset, length);
-		fKind= kind;
-	}
-
-	public int getLocationKind() {
-		return fKind;
-	}
-}
-
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CPreprocessor.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CPreprocessor.java
deleted file mode 100755
index 9d85c2b..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CPreprocessor.java
+++ /dev/null
@@ -1,1652 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    IBM - Initial API and implementation
- *    Anton Leherbauer (Wind River Systems)
- *    Markus Schorn (Wind River Systems)
- *    Sergey Prigogin (Google)
- *******************************************************************************/
-/**
- * Edited by Matthew Michelotti
- * 
- * Overview of changes:
- * -changed import statements
- * -commented out implementation of IScanner interface for now
- * -Updated the internalFetchToken method to have another flag called
- *  makeNewLineToken. When this flag is true, if a newline token is
- *  found, the method will return the newline token instead of ignoring
- *  it.
- * -For now, made another internalFetchToken method with the original
- *  parameters. This calls my updated internalFetchToken method
- *  with the makeNewLineToken flag set to false.
- * -Changed the call to internalFetchToken in the function fetchToken.
- *  Just added the boolean flag for makeNewLineToken, and the value
- *  of this flag is true.
- *  
- * -Added lines to executeDirective in order to get the raw characters
- *  that make up the directive. If the directive is not an
- *  include, these characters are prepended to the white-spaces of
- *  the last token read, which is perhaps always going to be a newline.
- * -Added an IToken argument called parentToken to executeInclude.
- *  This will be passed in as the tokenParent when a new Lexer is
- *  constructed in executeInclude. Added lines in executiveDirective
- *  to make use of this.
- * -Since I added an extra argument to executeInclude, I needed to
- *  put a null argument on the end of two calls to executeInclude in
- *  the function skipOverConditionalCode. This should probably be a
- *  temporary fix.
- *  
- * -Made a change in internalFetchToken so that tokens with the type
- *  Lexer.tOTHER_CHARACTER are returned. handleProblem is still called.
- *  
- * -Made a function called setDirectiveWhiteSpace, which contains code
- *  that used to be in executeDirective (specifically, code that I wrote
- *  to set the white space of the newline after the directive). Placed
- *  a call to this function where the original code use to be. Also,
- *  added a few more calls to this function early on in executeDirective
- *  so that the line would be remembered as whitespace even if the
- *  directive is invalid.
- *  
- * -Added five token types to be used to determine what kind of token
- *  a parent token is. These types are tPARENT_INCLUDE,
- *  tPARENT_INCLUDE_NEXT, tPARENT_IMPORT, tPARENT_BASIC_MACRO,
- *  and tPARENT_FUNCTION_MACRO.
- * -Added code to executeDirective to set the appropriate token
- *  type for a directive token.
- *  
- * -To fix an error, added a TokenList field fPreobtainedTokens. When
- *  fetchToken(...) is called, it will first look to see if there are
- *  any tokens in fPreobtainedTokens, and if not it will call
- *  internalFetchToken. The pre-obtained tokens will be processed
- *  the same as if it were obtained from internalFetchToken.
- * -Added code in fetchToken(...) to implement this functionality.
- * -Added code to expandMacro(...) to add previously-forgotten newline
- *  tokens to fPreobtainedTokens.
- *  
- * -Made a token type called tBLANK. These will be tokens with no image
- *  that are used to remember white space and their parents in certain
- *  circumstances.
- * -Edited internalFetchToken(...) so that the end-of-input token for
- *  an included file is returned as a blank token (instead of being
- *  skipped over). That way, white space behind it will be remembered.
- * -Edited executeInclude(...) to return a boolean value, which is
- *  true iff the include succeeded.
- * -Edited executeDirective(...) to remember include directives as white
- *  space if the include directive fails
- * 
- * -Edited executeDirective(...) to return a blank Token, whose parent is
- *  the directive. Made a helper function makeBlankDirToken(...).
- *  However, if the directive is a successful #include directive, such
- *  a token will not be returned (since an #include token will be the
- *  parent of all tokens from the included file).
- * -Edited internalFetchToken(...) to return the token obtained from
- *  executeDirective(...).
- *  
- * -commented the methods getLocationResolver and getLocationMap
- *  to increase stability with varying CDT versions
- * -added "suppress warnings deprecated" to several functions, because I
- *  deprecated certain functions that the CPreprocessor calls.
- *  
- * -Edited executeInclude to return a String, which is the file path of the
- *  included file, or null if the include failed.
- * -Edited executeDirective to make use of the String returned by
- *  executeInclude. The include directive will now be of the class
- *  TokenForInclude, which is a new class made for this purpose.
- *  
- * -Made the types tINCLUDED_FILE_START and tINCLUDED_FILE_END. A blank
- *  token with type tINCLUDED_FILE_START will now be returned as the
- *  first token of every included file. The token returned as the last
- *  token from every included file will now have the type tINCLUDED_FILE_END.
- *  Changes were made in the functions internalFetchToken and executeDirective.
- * -Fixed a bug in makeBlankDirToken(...) so that the directive token
- *  can have a parent token. This would have been a problem in the case of
- *  a non-include directive being in an included file.
- */
-
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.cdt.core.dom.ICodeReaderFactory;
-import org.eclipse.cdt.core.dom.ast.IASTFileLocation;
-import org.eclipse.cdt.core.dom.ast.IASTName;
-import org.eclipse.cdt.core.dom.ast.IMacroBinding;
-import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration;
-import org.eclipse.cdt.core.index.IIndexMacro;
-import org.eclipse.cdt.core.parser.CodeReader;
-import org.eclipse.cdt.core.parser.ICodeReaderCache;
-import org.eclipse.cdt.core.parser.IExtendedScannerInfo;
-import org.eclipse.cdt.core.parser.IMacro;
-import org.eclipse.cdt.core.parser.IParserLogService;
-import org.eclipse.cdt.core.parser.IPreprocessorDirective;
-import org.eclipse.cdt.core.parser.IProblem;
-import org.eclipse.cdt.core.parser.IScanner;
-import org.eclipse.cdt.core.parser.IScannerInfo;
-import org.eclipse.cdt.core.parser.Keywords;
-import org.eclipse.cdt.core.parser.ParseError;
-import org.eclipse.cdt.core.parser.ParserLanguage;
-import org.eclipse.cdt.core.parser.util.CharArrayIntMap;
-import org.eclipse.cdt.core.parser.util.CharArrayMap;
-import org.eclipse.cdt.core.parser.util.CharArrayUtils;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.photran.internal.core.preprocessor.c.ExpressionEvaluator.EvalException;
-import org.eclipse.photran.internal.core.preprocessor.c.IncludeFileContent.InclusionKind;
-import org.eclipse.photran.internal.core.preprocessor.c.Lexer.LexerOptions;
-import org.eclipse.photran.internal.core.preprocessor.c.MacroDefinitionParser.InvalidMacroDefinitionException;
-
-/**
- * C-Preprocessor providing tokens for the parsers. The class should not be used directly, rather than that 
- * you should be using the {@link IScanner} interface.
- * @since 5.0
- */
-public class CPreprocessor implements ILexerLog, /*IScanner, */IAdaptable {
-	public static final String PROP_VALUE = "CPreprocessor"; //$NON-NLS-1$
-
-	public static final int tDEFINED= IToken.FIRST_RESERVED_PREPROCESSOR;
-	public static final int tEXPANDED_IDENTIFIER= IToken.FIRST_RESERVED_PREPROCESSOR+1;
-	public static final int tSCOPE_MARKER= IToken.FIRST_RESERVED_PREPROCESSOR+2;
-	public static final int tSPACE= IToken.FIRST_RESERVED_PREPROCESSOR+3;
-	public static final int tNOSPACE= IToken.FIRST_RESERVED_PREPROCESSOR+4;
-	public static final int tMACRO_PARAMETER= IToken.FIRST_RESERVED_PREPROCESSOR+5;
-	
-	public static final int tBLANK= IToken.FIRST_RESERVED_PREPROCESSOR+6; //added by MM
-	public static final int tINCLUDED_FILE_START= IToken.FIRST_RESERVED_PREPROCESSOR+7; //added by MM
-	public static final int tINCLUDED_FILE_END= IToken.FIRST_RESERVED_PREPROCESSOR+8; //added by MM
-	
-	public static final int tPARENT_INCLUDE= IToken.FIRST_RESERVED_PREPROCESSOR+9; //added by MM
-    public static final int tPARENT_INCLUDE_NEXT= IToken.FIRST_RESERVED_PREPROCESSOR+10; //added by MM
-    public static final int tPARENT_IMPORT= IToken.FIRST_RESERVED_PREPROCESSOR+11; //added by MM
-    public static final int tPARENT_BASIC_MACRO= IToken.FIRST_RESERVED_PREPROCESSOR+12; //added by MM
-    public static final int tPARENT_FUNCTION_MACRO= IToken.FIRST_RESERVED_PREPROCESSOR+13; //added by MM
-    public static final int tPARENT_DIRECTIVE= IToken.FIRST_RESERVED_PREPROCESSOR+14; //added by MM
-
-	private static final int ORIGIN_PREPROCESSOR_DIRECTIVE = OffsetLimitReachedException.ORIGIN_PREPROCESSOR_DIRECTIVE;
-	private static final int ORIGIN_INACTIVE_CODE = OffsetLimitReachedException.ORIGIN_INACTIVE_CODE;
-//	private static final int ORIGIN_MACRO_EXPANSION = OffsetLimitReachedException.ORIGIN_MACRO_EXPANSION;
-	
-    private static final char[] EMPTY_CHAR_ARRAY = new char[0];
-    private static final char[] ONE = "1".toCharArray(); //$NON-NLS-1$
-    private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
-
-    // standard built-ins
-    private static final ObjectStyleMacro __CDT_PARSER__= new ObjectStyleMacro("__CDT_PARSER__".toCharArray(), ONE);   //$NON-NLS-1$
-    private static final ObjectStyleMacro __cplusplus = new ObjectStyleMacro("__cplusplus".toCharArray(), ONE);   //$NON-NLS-1$
-    private static final ObjectStyleMacro __STDC__ = new ObjectStyleMacro("__STDC__".toCharArray(), ONE);  //$NON-NLS-1$
-    private static final ObjectStyleMacro __STDC_HOSTED__ = new ObjectStyleMacro("__STDC_HOSTED_".toCharArray(), ONE);  //$NON-NLS-1$
-    private static final ObjectStyleMacro __STDC_VERSION__ = new ObjectStyleMacro("__STDC_VERSION_".toCharArray(), "199901L".toCharArray()); //$NON-NLS-1$ //$NON-NLS-2$
-
-    private static final DynamicMacro __FILE__= new FileMacro("__FILE__".toCharArray()); //$NON-NLS-1$
-    private static final DynamicMacro __DATE__= new DateMacro("__DATE__".toCharArray()); //$NON-NLS-1$
-    private static final DynamicMacro __TIME__ = new TimeMacro("__TIME__".toCharArray()); //$NON-NLS-1$
-    private static final DynamicMacro __LINE__ = new LineMacro("__LINE__".toCharArray()); //$NON-NLS-1$
-
-	private interface IIncludeFileTester<T> {
-    	T checkFile(String path, String fileName);
-    }
-
-    final private IIncludeFileTester<IncludeFileContent> createCodeReaderTester= new IIncludeFileTester<IncludeFileContent>() { 
-    	public IncludeFileContent checkFile(String path, String fileName) {
-    		String finalPath = ScannerUtility.createReconciledPath(path, fileName);
-			return fCodeReaderFactory.getContentForInclusion(finalPath);
-    	}
-    };
-    
-    final private IIncludeFileTester<String> createPathTester= new IIncludeFileTester<String>() { 
-    	public String checkFile(String path, String fileName) {
-    		String finalPath= ScannerUtility.createReconciledPath(path, fileName);
-    		if (fCodeReaderFactory.getInclusionExists(finalPath)) {
-    			return finalPath;
-    		}
-    		return null;
-    	}
-    };
-
-    final private IParserLogService fLog;
-    final private IIndexBasedCodeReaderFactory fCodeReaderFactory;
-    private final ExpressionEvaluator fExpressionEvaluator;
-	private final MacroDefinitionParser fMacroDefinitionParser;
-	private final MacroExpander fMacroExpander;
-
-    // configuration
-    final private LexerOptions fLexOptions= new LexerOptions();
-    final private char[] fAdditionalNumericLiteralSuffixes;
-    final private CharArrayIntMap fKeywords;
-    final private CharArrayIntMap fPPKeywords;
-    final private String[] fIncludePaths;
-    final private String[] fQuoteIncludePaths;
-    private String[][] fPreIncludedFiles= null;
-
-    private int fContentAssistLimit= -1;
-	private boolean fHandledCompletion= false;
-
-    // state information
-    private final CharArrayMap<PreprocessorMacro> fMacroDictionary = new CharArrayMap<PreprocessorMacro>(512);
-    private final LocationMap fLocationMap = new LocationMap();
-
-    /** Set of already included files */
-    private final HashSet<String> fAllIncludedFiles= new HashSet<String>();
-
-	private final Lexer fRootLexer;
-	private final ScannerContext fRootContext;
-	private ScannerContext fCurrentContext;
-
-    private boolean isCancelled= false;
-	private boolean fIsFirstFetchToken= true;
-
-	private Token fPrefetchedTokens;
-    private Token fLastToken;
-    
-    private TokenList fPreobtainedTokens = new TokenList(); //added by MM
-
-
-    public CPreprocessor(CodeReader reader, IScannerInfo info, ParserLanguage language, IParserLogService log,
-            IScannerExtensionConfiguration configuration, ICodeReaderFactory readerFactory) {
-    	this(reader, info, language, log, configuration, readerFactory, false, false);
-    }
-
-    /**
-     * Temporary, will be removed in 5.1
-     */
-    public CPreprocessor(CodeReader reader, IScannerInfo info, ParserLanguage language, IParserLogService log,
-            IScannerExtensionConfiguration configuration, ICodeReaderFactory readerFactory,
-            boolean supportAtSignInIndent) {
-    	this(reader, info, language, log, configuration, readerFactory, supportAtSignInIndent, false);
-    }
-
-    /**
-     * Temporary, will be removed in 5.1
-     */
-    public CPreprocessor(CodeReader reader, IScannerInfo info, ParserLanguage language, IParserLogService log,
-            IScannerExtensionConfiguration configuration, ICodeReaderFactory readerFactory, 
-            boolean supportAtSignInIdent, boolean supportSlashPercentComments) {
-        fLog = log;
-        fAdditionalNumericLiteralSuffixes= nonNull(configuration.supportAdditionalNumericLiteralSuffixes());
-        fLexOptions.fSupportDollarInIdentifiers= configuration.support$InIdentifiers();
-        fLexOptions.fSupportAtSignInIdentifiers= supportAtSignInIdent;
-        fLexOptions.fSupportSlashPercentComments= supportSlashPercentComments;
-        fLexOptions.fSupportMinAndMax = configuration.supportMinAndMaxOperators();
-        fKeywords= new CharArrayIntMap(40, -1);
-        fPPKeywords= new CharArrayIntMap(40, -1);
-        configureKeywords(language, configuration);
-
-    	fIncludePaths= info.getIncludePaths();
-    	fQuoteIncludePaths= getQuoteIncludePath(info);
-
-        fExpressionEvaluator= new ExpressionEvaluator();
-        fMacroDefinitionParser= new MacroDefinitionParser();
-        fMacroExpander= new MacroExpander(this, fMacroDictionary, fLocationMap, fLexOptions);
-        fCodeReaderFactory= wrapReaderFactory(readerFactory);
-
-        setupMacroDictionary(configuration, info, language);		
-                
-        final String filePath= new String(reader.filename);
-        fAllIncludedFiles.add(filePath);
-        ILocationCtx ctx= fLocationMap.pushTranslationUnit(filePath, reader.buffer);	
-        fRootLexer= new Lexer(reader.buffer, fLexOptions, this, this);
-        fRootContext= fCurrentContext= new ScannerContext(ctx, null, fRootLexer);
-        if (info instanceof IExtendedScannerInfo) {
-        	final IExtendedScannerInfo einfo= (IExtendedScannerInfo) info;
-        	fPreIncludedFiles= new String[][] {einfo.getMacroFiles(), einfo.getIncludeFiles()};
-        }
-    }
-        
-	private IIndexBasedCodeReaderFactory wrapReaderFactory(final ICodeReaderFactory readerFactory) {
-    	if (readerFactory instanceof IIndexBasedCodeReaderFactory) {
-    		return (IIndexBasedCodeReaderFactory) readerFactory;
-    	}
-		return new IIndexBasedCodeReaderFactory() {
-			public CodeReader createCodeReaderForTranslationUnit(String path) {
-				return readerFactory.createCodeReaderForTranslationUnit(path);
-			}
-			public CodeReader createCodeReaderForInclusion(String path) {
-				return readerFactory.createCodeReaderForInclusion(path);
-			}
-			public IncludeFileContent getContentForInclusion(String path) {
-				CodeReader reader= readerFactory.createCodeReaderForInclusion(path);
-				if (reader != null) {
-					return new IncludeFileContent(reader);
-				}
-				return null;
-			}
-			public boolean hasFileBeenIncludedInCurrentTranslationUnit(String path) {
-				return fAllIncludedFiles.contains(path);
-			}
-			public ICodeReaderCache getCodeReaderCache() {
-				return readerFactory.getCodeReaderCache();
-			}
-			public int getUniqueIdentifier() {
-				return readerFactory.getUniqueIdentifier();
-			}
-			public boolean getInclusionExists(String path) {
-				return readerFactory.createCodeReaderForInclusion(path) != null;
-			}
-			public IncludeFileContent getContentForContextToHeaderGap(String fileLocation) {
-				return null;
-			}
-		};
-	}
-
-	public void setComputeImageLocations(boolean val) {
-    	fLexOptions.fCreateImageLocations= val;
-    }
-    
-	public void setContentAssistMode(int offset) {
-		fContentAssistLimit= offset;
-		fRootLexer.setContentAssistMode(offset);
-	}
-
-	public void setScanComments(boolean val) {
-	}
-
-	/*public ILocationResolver getLocationResolver() {
-		return fLocationMap;
-	}*/
-
-	private void configureKeywords(ParserLanguage language,	IScannerExtensionConfiguration configuration) {
-		Keywords.addKeywordsPreprocessor(fPPKeywords);
-		if (language == ParserLanguage.C) {
-        	Keywords.addKeywordsC(fKeywords);
-        }
-        else {
-        	Keywords.addKeywordsCpp(fKeywords);
-        }
-        CharArrayIntMap additionalKeywords= configuration.getAdditionalKeywords();
-        if (additionalKeywords != null) {
-        	fKeywords.putAll(additionalKeywords);
-        }
-        additionalKeywords= configuration.getAdditionalPreprocessorKeywords();
-        if (additionalKeywords != null) {
-        	fPPKeywords.putAll(additionalKeywords);
-        }
-	}
-
-    protected String getCurrentFilename() {
-		return fLocationMap.getCurrentFilePath();
-	}
-
-	private char[] nonNull(char[] array) {
-		return array == null ? EMPTY_CHAR_ARRAY : array;
-	}
-
-    private String[] getQuoteIncludePath(IScannerInfo info) {
-        if (info instanceof IExtendedScannerInfo) {
-        	final IExtendedScannerInfo einfo= (IExtendedScannerInfo) info;
-            final String[] qip= einfo.getLocalIncludePath();
-            if (qip != null && qip.length > 0) {
-            	final String[] result= new String[qip.length + fIncludePaths.length];
-            	System.arraycopy(qip, 0, result, 0, qip.length);
-            	System.arraycopy(fIncludePaths, 0, result, qip.length, fIncludePaths.length);
-            	return result;
-            }
-        }
-        return info.getIncludePaths();
-	}
-
-    private void setupMacroDictionary(IScannerExtensionConfiguration config, IScannerInfo info, ParserLanguage lang) {
-    	// built in macros
-    	fMacroDictionary.put(__CDT_PARSER__.getNameCharArray(), __CDT_PARSER__);
-        fMacroDictionary.put(__STDC__.getNameCharArray(), __STDC__);
-        fMacroDictionary.put(__FILE__.getNameCharArray(), __FILE__);
-        fMacroDictionary.put(__DATE__.getNameCharArray(), __DATE__);
-        fMacroDictionary.put(__TIME__.getNameCharArray(), __TIME__);
-        fMacroDictionary.put(__LINE__.getNameCharArray(), __LINE__);
-
-        if (lang == ParserLanguage.CPP)
-            fMacroDictionary.put(__cplusplus.getNameCharArray(), __cplusplus);
-        else {
-            fMacroDictionary.put(__STDC_HOSTED__.getNameCharArray(), __STDC_HOSTED__);
-            fMacroDictionary.put(__STDC_VERSION__.getNameCharArray(), __STDC_VERSION__);
-        }
-
-        IMacro[] toAdd = config.getAdditionalMacros();
-        if(toAdd != null) {
-        	for (final IMacro macro : toAdd) {
-        		addMacroDefinition(macro.getSignature(), macro.getExpansion());
-        	}
-        }
-        
-        final Map<String, String> macroDict= info.getDefinedSymbols();
-        if (macroDict != null) {
-        	for (Map.Entry<String, String> entry : macroDict.entrySet()) {
-				final String key= entry.getKey();
-				final String value= entry.getValue().trim();
-				addMacroDefinition(key.toCharArray(), value.toCharArray());
-            }
-        }
-        
-        Collection<PreprocessorMacro> predefined= fMacroDictionary.values();
-        for (PreprocessorMacro macro : predefined) {
-        	fLocationMap.registerPredefinedMacro(macro);
-		}
-    }
-
-	private void beforeFirstFetchToken() {
-		if (fPreIncludedFiles != null) {
-    		handlePreIncludedFiles();
-    	}
-		final String location = fLocationMap.getTranslationUnitPath();
-		IncludeFileContent content= fCodeReaderFactory.getContentForContextToHeaderGap(location);
-		if (content != null && content.getKind() == InclusionKind.FOUND_IN_INDEX) {
-			processInclusionFromIndex(0, location, content);
-		}
-	}
-
-    private void handlePreIncludedFiles() {
-    	final String[] imacro= fPreIncludedFiles[0];
-    	if (imacro != null && imacro.length > 0) {
-    		final char[] buffer= createSyntheticFile(imacro);
-    		ILocationCtx ctx= fLocationMap.pushPreInclusion(buffer, 0, true);
-    		fCurrentContext= new ScannerContext(ctx, fCurrentContext, new Lexer(buffer, fLexOptions, this, this));
-    		ScannerContext preCtx= fCurrentContext;
-    		try {
-				while(internalFetchToken(true, false, false, true, preCtx).getType() != IToken.tEND_OF_INPUT) {
-				// just eat the tokens
-				}
-            	final ILocationCtx locationCtx = fCurrentContext.getLocationCtx();
-            	fLocationMap.popContext(locationCtx);
-        		fCurrentContext= fCurrentContext.getParent();
-        		assert fCurrentContext == fRootContext;
-			} catch (OffsetLimitReachedException e) {
-			}
-    	}
-    	final String[] include= fPreIncludedFiles[1];
-    	if (include != null && include.length > 0) {
-    		final char[] buffer= createSyntheticFile(include);
-    		ILocationCtx ctx= fLocationMap.pushPreInclusion(buffer, 0, false);
-    		fCurrentContext= new ScannerContext(ctx, fCurrentContext, new Lexer(buffer, fLexOptions, this, this));
-    	}
-    	fPreIncludedFiles= null;
-    } 
-    
-	private char[] createSyntheticFile(String[] files) {
-		int totalLength= 0;
-    	final char[] instruction= "#include <".toCharArray(); //$NON-NLS-1$
-    	for (String file : files) {
-    		totalLength+= instruction.length + 2 + file.length();
-    	}
-    	final char[] buffer= new char[totalLength];
-    	int pos= 0;
-    	for (String file : files) {
-    		final char[] fileName= file.toCharArray();
-    		System.arraycopy(instruction, 0, buffer, pos, instruction.length);
-    		pos+= instruction.length;
-    		System.arraycopy(fileName, 0, buffer, pos, fileName.length);
-    		pos+= fileName.length;
-    		buffer[pos++]= '>';
-    		buffer[pos++]= '\n';
-    	}
-    	return buffer;
-	}
-    
-    public PreprocessorMacro addMacroDefinition(char[] key, char[] value) {
-     	final Lexer lex= new Lexer(key, fLexOptions, ILexerLog.NULL, null);
-    	try {
-    		PreprocessorMacro result= fMacroDefinitionParser.parseMacroDefinition(lex, ILexerLog.NULL, value);
-    		fLocationMap.registerPredefinedMacro(result);
-	    	fMacroDictionary.put(result.getNameCharArray(), result);
-	    	return result;
-    	}
-    	catch (Exception e) {
-    		fLog.traceLog("Invalid macro definition: '" + String.valueOf(key) + "'");     //$NON-NLS-1$//$NON-NLS-2$
-    		return null;
-    	}
-    }
-  
-    public Map<String, IMacroBinding> getMacroDefinitions() {
-        Map<String, IMacroBinding> hashMap = new HashMap<String, IMacroBinding>(fMacroDictionary.size());
-        for (char[] key : fMacroDictionary.keys()) {
-            hashMap.put(String.valueOf(key), fMacroDictionary.get(key));
-		}
-        return hashMap;
-    }
-
-    public boolean isOnTopContext() {
-    	return fCurrentContext == fRootContext;
-    }
-
-    public void cancel() {
-    	isCancelled= true;
-    }
-
-    /**
-     * Returns the next token from the preprocessor without concatenating string literals.
-     */
-    private Token fetchToken() throws OffsetLimitReachedException {
-    	if (fIsFirstFetchToken) {
-    		beforeFirstFetchToken();
-    		fIsFirstFetchToken= false;
-    	}
-    	Token t= fPrefetchedTokens;
-    	if (t != null) {
-    		fPrefetchedTokens= (Token) t.getNext();
-    		t.setNext(null);
-    		return t;
-    	}
-    	
-    	t = fPreobtainedTokens.removeFirst(); //added by MM
-    	
-    	if(t == null) { //added by MM
-    	    try {
-    	        t= internalFetchToken(true, false, false, true, true, fRootContext);
-    	    } catch (OffsetLimitReachedException e) {
-    	        fHandledCompletion= true;
-    	        throw e;
-    	    }
-    	} //added by MM
-    	
-    	final int offset= fLocationMap.getSequenceNumberForOffset(t.getOffset());
-		final int endOffset= fLocationMap.getSequenceNumberForOffset(t.getEndOffset());
-		t.setOffset(offset, endOffset);
-		t.setNext(null);
-    	return t;
-    }
-    
-    private void pushbackToken(Token t) {
-    	t.setNext(fPrefetchedTokens);
-    	fPrefetchedTokens= t;
-    }
-    
-    /**
-     * Returns next token for the parser. String literals are not concatenated. When 
-     * the end is reached tokens with type {@link IToken#tEND_OF_INPUT}.
-     * @throws OffsetLimitReachedException see {@link Lexer}.
-     */
-    public IToken nextTokenRaw() throws OffsetLimitReachedException {
-        if (isCancelled) {
-            throw new ParseError(ParseError.ParseErrorKind.TIMEOUT_OR_CANCELLED);
-        }
-        
-    	Token t1= fetchToken();
-    	switch (t1.getType()) {
-    	case IToken.tCOMPLETION:
-    		fHandledCompletion= true;
-    		break;
-    	case IToken.tEND_OF_INPUT:
-    		if (fContentAssistLimit >= 0) {
-        		int useType= fHandledCompletion ? IToken.tEOC : IToken.tCOMPLETION; 
-    			int sequenceNumber= fLocationMap.getSequenceNumberForOffset(fContentAssistLimit);
-    			t1= new Token(useType, null, sequenceNumber, sequenceNumber);
-    			fHandledCompletion= true;
-    		}
-    		break;
-    	}
-    	if (fLastToken != null) {
-    		fLastToken.setNext(t1);
-    	}
-    	fLastToken= t1;
-    	return t1;
-    }
-
-    /**
-     * Returns next token for the parser. String literals are concatenated.
-     * @throws EndOfFileException when the end of the translation unit has been reached.
-     * @throws OffsetLimitReachedException see {@link Lexer}.
-     */
-    public IToken nextToken() throws EndOfFileException {
-        if (isCancelled) {
-            throw new ParseError(ParseError.ParseErrorKind.TIMEOUT_OR_CANCELLED);
-        }
-        
-    	Token t1= fetchToken();
-    	
-    	final int tt1= t1.getType();
-    	switch(tt1) {
-    	case IToken.tCOMPLETION:
-    		fHandledCompletion= true;
-    		break;
-    		
-    	case IToken.tEND_OF_INPUT:
-    		if (fContentAssistLimit < 0) {
-    			throw new EndOfFileException();
-    		}
-    		int useType= fHandledCompletion ? IToken.tEOC : IToken.tCOMPLETION; 
-    		int sequenceNumber= fLocationMap.getSequenceNumberForOffset(fContentAssistLimit);
-    		t1= new Token(useType, null, sequenceNumber, sequenceNumber);
-    		fHandledCompletion= true;
-    		break;
-    		
-    	case IToken.tSTRING:
-    	case IToken.tLSTRING:
-    		boolean isWide= tt1 == IToken.tLSTRING;
-    		Token t2;
-    		StringBuffer buf= null;
-    		int endOffset= 0;
-    		loop: while(true) {
-    			t2= fetchToken();
-    			final int tt2= t2.getType();
-    			switch(tt2) {
-    			case IToken.tLSTRING:
-    			case IToken.tSTRING:
-    				isWide= tt2 == IToken.tLSTRING;
-    				if (buf == null) {
-    					buf= new StringBuffer();
-    					appendStringContent(buf, t1);
-    				}
-    				appendStringContent(buf, t2);
-    				endOffset= t2.getEndOffset();
-    				continue loop;
-    				
-    			default:
-    				break loop;
-    			}
-    		}
-    		pushbackToken(t2);
-    		if (buf != null) {
-    			char[] image= new char[buf.length() + (isWide ? 3 : 2)];
-    			int off= -1;
-    			if (isWide) {
-    				image[++off]= 'L';
-    			}
-    			image[++off]= '"';
-    			buf.getChars(0, buf.length(), image, ++off);
-    			image[image.length-1]= '"';
-    			t1= new TokenWithImage((isWide ? IToken.tLSTRING : IToken.tSTRING), null, t1.getOffset(), endOffset, image);
-    		}
-    	}
-
-    	if (fLastToken != null) {
-    		fLastToken.setNext(t1);
-    	}
-    	fLastToken= t1;
-    	return t1;
-    }
-
-    private void appendStringContent(StringBuffer buf, Token t1) {
-    	final char[] image= t1.getCharImage();
-    	final int length= image.length;
-    	if (length > 1) {
-    		final int start= image[0]=='"' ? 1 : 2;
-    		final int diff= image[length-1] == '"' ? length-start-1 : length-start;
-    		if (diff > 0) {
-    			buf.append(image, start, diff);
-    		}
-    	}
-	}
-    
-
-    Token internalFetchToken(final boolean expandMacros, final boolean isPPCondition, final boolean stopAtNewline, 
-            final boolean checkNumbers, final ScannerContext uptoEndOfCtx) throws OffsetLimitReachedException {
-        return internalFetchToken(expandMacros, isPPCondition, stopAtNewline, false, checkNumbers, uptoEndOfCtx);
-    }
-
-	Token internalFetchToken(final boolean expandMacros, final boolean isPPCondition, final boolean stopAtNewline, 
-			final boolean makeNewLineToken, final boolean checkNumbers, final ScannerContext uptoEndOfCtx) throws OffsetLimitReachedException {
-        Token ppToken= fCurrentContext.currentLexerToken();
-        while(true) {
-			switch(ppToken.getType()) {
-        	case Lexer.tBEFORE_INPUT:
-    			ppToken= fCurrentContext.nextPPToken();
-        		continue;
-        		
-        	case Lexer.tNEWLINE:
-        	    if(makeNewLineToken) break; //added by MM
-        		if (stopAtNewline) {
-        			return ppToken;
-        		}
-        		ppToken= fCurrentContext.nextPPToken();
-        		continue;
-
-        	case Lexer.tOTHER_CHARACTER:
-        		handleProblem(IProblem.SCANNER_BAD_CHARACTER, ppToken.getCharImage(), 
-        				ppToken.getOffset(), ppToken.getEndOffset());
-        		break; //added by MM
-        		//ppToken= fCurrentContext.nextPPToken(); //commented out by MM
-        		//continue; //commented out by MM
-        		
-        	case IToken.tEND_OF_INPUT: {//open bracket added by MM
-        		if (fCurrentContext == uptoEndOfCtx || uptoEndOfCtx == null) {
-        			return ppToken;
-        		}
-        		
-        		final Lexer lexer = fCurrentContext.getLexer();             //added by MM
-        		final boolean returnToken                                   //added by MM
-        		        = (lexer != null && lexer.getParentToken() != null);//added by MM
-        		
-            	final ILocationCtx locationCtx = fCurrentContext.getLocationCtx();
-            	fLocationMap.popContext(locationCtx);
-        		fCurrentContext= fCurrentContext.getParent();
-        		assert fCurrentContext != null;
-            	
-        		if(returnToken) {                        //added by MM
-        		    ppToken.setType(tINCLUDED_FILE_END); //added by MM
-        		    return ppToken;                      //added by MM
-        		}                                        //added by MM
-        		
-        		ppToken= fCurrentContext.currentLexerToken();
-        	} continue; //close bracket added by MM
-
-            case IToken.tPOUND: 
-               	{
-               		final Lexer lexer= fCurrentContext.getLexer();
-               		if (lexer != null && lexer.currentTokenIsFirstOnLine()) {
-               			Token t = executeDirective(lexer, ppToken.getOffset());
-               			if(t != null) return t;
-               			ppToken= fCurrentContext.currentLexerToken();
-               			continue;
-               		}
-               		break;
-               	}
-        	
-        	case IToken.tIDENTIFIER:
-        		fCurrentContext.nextPPToken(); // consume the identifier
-        		if (expandMacros) {
-        			final Lexer lexer= fCurrentContext.getLexer();
-        			if (lexer != null && expandMacro(ppToken, lexer, stopAtNewline, isPPCondition)) {
-        				ppToken= fCurrentContext.currentLexerToken();
-        				continue;
-        			}
-
-        			final char[] name= ppToken.getCharImage();
-        			int tokenType = fKeywords.get(name);
-        			if (tokenType != fKeywords.undefined) {
-        				ppToken.setType(tokenType);
-        			}
-        		}
-            	return ppToken;
-        		
-        	case IToken.tINTEGER:
-        		if (checkNumbers) {
-        			checkNumber(ppToken, false);
-        		}
-        		break;
-
-        	case IToken.tFLOATINGPT:
-        		if (checkNumbers) {
-        			checkNumber(ppToken, true);
-        		}
-        		break;
-        	}
-			fCurrentContext.nextPPToken();
-        	return ppToken;
-        }
-    }
-
-    private void checkNumber(Token number, final boolean isFloat) {
-        final char[] image= number.getCharImage();
-        boolean hasExponent = false;
-
-        boolean isHex = false;
-        boolean isOctal = false;
-        boolean hasDot= false;
-
-        int pos= 0;
-        if (image.length > 1) {
-        	if (image[0] == '0') {
-        		switch (image[++pos]) {
-        		case 'x':
-        		case 'X':
-        			isHex = true;
-        			++pos;
-        			break;
-        		case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7':
-        			isOctal = true;
-        			++pos;
-        			break;
-        		case '8': case '9':
-        			handleProblem(IProblem.SCANNER_BAD_OCTAL_FORMAT, image, number.getOffset(), number.getEndOffset());
-        			return;
-        		}
-        	}
-        }
-
-        loop: for (; pos < image.length; pos++) {
-            switch (image[pos]) {
-            // octal digits
-            case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': 
-            	continue;
-            	
-            // decimal digits
-            case '8': case '9': 
-            	if (isOctal) {
-        			handleProblem(IProblem.SCANNER_BAD_OCTAL_FORMAT, image, number.getOffset(), number.getEndOffset());
-        			return;
-            	}
-                continue;
-                
-            // hex digits
-            case 'a': case 'A': case 'b': case 'B': case 'c': case 'C': case 'd': case 'D': case 'f': case 'F':
-                if (isHex && !hasExponent) {
-                    continue;
-                }
-                break loop;
-
-            case '.':
-                if (hasDot) {
-                    handleProblem(IProblem.SCANNER_BAD_FLOATING_POINT, image, number.getOffset(), number.getEndOffset());
-                    return;
-                }
-                hasDot= true;
-                continue;
-
-            // check for exponent or hex digit
-            case 'E': case 'e':
-                if (isHex && !hasExponent) {
-                    continue;
-                }
-                if (isFloat && !isHex && !hasExponent && pos+1 <= image.length) {
-                	switch (image[pos+1]) {
-                	case '+': case '-':
-                	case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
-                		hasExponent = true;
-                		++pos;
-                		continue;
-                	}
-                }
-                break loop;
-
-            // check for hex float exponent
-            case 'p': case 'P':
-                if (isFloat && isHex && !hasExponent && pos+1 >= image.length) {
-                	switch (image[pos+1]) {
-                	case '+': case '-':
-                	case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
-                		hasExponent = true;
-                		++pos;
-                		continue;
-                	}
-                }
-                break loop;
-
-            default:
-            	break loop;
-            }
-        }
-        
-        // check the suffix
-        loop: for (; pos < image.length; pos++) {
-        	final char c= image[pos];
-            switch (c) {
-            case 'u': case 'U': case 'L': case 'l':
-            	continue;
-            case 'f': case 'F':
-            	if (isFloat) {
-            		continue loop;
-            	}
-            }
-            for (int i=0; i<fAdditionalNumericLiteralSuffixes.length; i++) {
-				if (fAdditionalNumericLiteralSuffixes[i] == c) {
-					continue loop;
-				}
-			}
-            if (isFloat) {
-            	handleProblem(IProblem.SCANNER_BAD_FLOATING_POINT, image, number.getOffset(), number.getEndOffset());
-            }
-            else if (isHex) {
-            	handleProblem(IProblem.SCANNER_BAD_HEX_FORMAT, image, number.getOffset(), number.getEndOffset());
-            }
-            else if (isOctal) {
-            	handleProblem(IProblem.SCANNER_BAD_OCTAL_FORMAT, image, number.getOffset(), number.getEndOffset());
-            }
-            else {
-            	handleProblem(IProblem.SCANNER_BAD_DECIMAL_FORMAT, image, number.getOffset(), number.getEndOffset());
-            }
-            return;
-        }
-    }
-
-    private IncludeFileContent findInclusion(final String filename, final boolean quoteInclude, 
-    		final boolean includeNext, final File currentDir) {
-    	return findInclusion(filename, quoteInclude, includeNext, currentDir, createCodeReaderTester);
-    }
-
-    private <T> T findInclusion(final String filename, final boolean quoteInclude, 
-    		final boolean includeNext, final File currentDirectory, final IIncludeFileTester<T> tester) {
-        T reader = null;
-		// filename is an absolute path or it is a Linux absolute path on a windows machine
-		if (new File(filename).isAbsolute() || filename.startsWith("/")) {  //$NON-NLS-1$
-		    return tester.checkFile( EMPTY_STRING, filename );
-		}
-                
-        if (currentDirectory != null && quoteInclude && !includeNext) {
-            // Check to see if we find a match in the current directory
-        	String absolutePath = currentDirectory.getAbsolutePath();
-        	reader = tester.checkFile(absolutePath, filename);
-        	if (reader != null) {
-        		return reader;
-        	}
-        }
-        
-        // if we're not include_next, then we are looking for the first occurrence of 
-        // the file, otherwise, we ignore all the paths before the current directory
-        final String[] isp= quoteInclude ? fQuoteIncludePaths : fIncludePaths;
-        if (isp != null ) {
-        	int i=0;
-        	if (includeNext && currentDirectory != null) {
-        		i= findIncludePos(isp, currentDirectory) + 1;
-        	}
-        	for (; i < isp.length; ++i) {
-        		reader= tester.checkFile(isp[i], filename);
-        		if (reader != null) {
-        			return reader;
-        		}
-        	}
-        }
-        return null;
-    }
-
-    private int findIncludePos(String[] paths, File currentDirectory) {
-    	for (; currentDirectory != null; currentDirectory = currentDirectory.getParentFile()) {
-	        for (int i = 0; i < paths.length; ++i) {
-	        	File pathDir = new File(paths[i]);
-	        	if (currentDirectory.equals(pathDir))
-	        		return i;
-        	}
-        }
-
-        return -1;
-    }
-
-    @Override
-	public String toString() {
-        StringBuffer buffer = new StringBuffer("Scanner @ file:");  //$NON-NLS-1$
-        buffer.append(fCurrentContext.toString());
-        buffer.append(" line: ");  //$NON-NLS-1$
-        buffer.append(fLocationMap.getCurrentLineNumber(fCurrentContext.currentLexerToken().getOffset()));
-        return buffer.toString();
-    }
-	
-    
-    private void addMacroDefinition(IIndexMacro macro) {
-    	try {
-    		final char[] expansionImage = macro.getExpansionImage();
-    		if (expansionImage == null) {
-    			// this is an undef
-    			fMacroDictionary.remove(macro.getNameCharArray());
-    		}
-    		else {
-    			PreprocessorMacro result= MacroDefinitionParser.parseMacroDefinition(macro.getNameCharArray(), macro.getParameterList(), expansionImage);
-    			final IASTFileLocation loc= macro.getFileLocation();
-    			fLocationMap.registerMacroFromIndex(result, loc, -1);
-    			fMacroDictionary.put(result.getNameCharArray(), result);
-    		}
-    	}
-    	catch (Exception e) {
-    		fLog.traceLog("Invalid macro definition: '" + macro.getName() + "'");     //$NON-NLS-1$//$NON-NLS-2$
-    	}
-    }
-    
-    /*public ILocationResolver getLocationMap() {
-    	return fLocationMap;
-    }*/
-
-	@SuppressWarnings("deprecation")
-	public void handleComment(boolean isBlockComment, int offset, int endOffset) {
-		fLocationMap.encounteredComment(offset, endOffset, isBlockComment);
-	}
-
-    @SuppressWarnings("deprecation")
-	public void handleProblem(int id,  char[] arg, int offset, int endOffset) {
-        fLocationMap.encounterProblem(id, arg, offset, endOffset);
-    }
-    	
-    /**
-     * Assumes that the pound token has not yet been consumed
-     * @param ppdCtx 
-     * @param startOffset offset in current file
-     * @since 5.0
-     */
-    //return type added by MM
-    @SuppressWarnings("deprecation")
-	private Token executeDirective(final Lexer lexer, final int startOffset) throws OffsetLimitReachedException {
-        Token poundToken = lexer.currentToken(); //added by MM
-        
-        final Token ident= lexer.nextToken();
-    	switch (ident.getType()) {
-    	case IToken.tCOMPLETION:
-    		lexer.nextToken();
-    		Token completionToken= new TokenWithImage(ident.getType(), null, 
-    				startOffset, ident.getEndOffset(), ("#" + ident.getImage()).toCharArray()); //$NON-NLS-1$
-    		throw new OffsetLimitReachedException(ORIGIN_PREPROCESSOR_DIRECTIVE, completionToken);
-    		
-    	case Lexer.tNEWLINE:
-    		return makeBlankDirToken(lexer, poundToken);//added by MM
-
-    	case IToken.tEND_OF_INPUT:
-    	case IToken.tINTEGER:
-    		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-            return makeBlankDirToken(lexer, poundToken);//added by MM
-
-    	case IToken.tIDENTIFIER:
-    		break;
-
-    	default:
-    		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-    		handleProblem(IProblem.PREPROCESSOR_INVALID_DIRECTIVE, ident.getCharImage(), startOffset, lexer.getLastEndOffset());
-            return makeBlankDirToken(lexer, poundToken);//added by MM
-    	}
-
-    	// we have an identifier
-    	
-    	//parentToken is only used for include, import, and include_next
-    	//note: the token type on parentToken may be changed later in this method
-        TokenForInclude includeToken = null; //added by MM
-        String includedFilePath = null; //added by MM
-    	
-    	final char[] name = ident.getCharImage();
-    	final int type = fPPKeywords.get(name);
-    	int condEndOffset;
-    	switch (type) {
-    	case IPreprocessorDirective.ppImport:
-    		includeToken = new TokenForInclude(tPARENT_IMPORT, null, 0, 0, null); //added by MM
-    	    includedFilePath = executeInclude(lexer, startOffset, false, true, includeToken); //line edited by MM
-            break;
-    	case IPreprocessorDirective.ppInclude:
-    		includeToken = new TokenForInclude(tPARENT_INCLUDE, null, 0, 0, null); //added by MM
-            includedFilePath = executeInclude(lexer, startOffset, false, true, includeToken); //line edited by MM
-    		break;
-    	case IPreprocessorDirective.ppInclude_next:
-    		includeToken = new TokenForInclude(tPARENT_INCLUDE_NEXT, null, 0, 0, null); //added by MM
-            includedFilePath = executeInclude(lexer, startOffset, true, true, includeToken); //line edited by MM
-    		break;
-    	case IPreprocessorDirective.ppDefine:
-    		executeDefine(lexer, startOffset);
-    		break;
-    	case IPreprocessorDirective.ppUndef:
-    		executeUndefine(lexer, startOffset);
-    		break;
-    	case IPreprocessorDirective.ppIfdef:
-    		executeIfdef(lexer, startOffset, true);
-    		break;
-    	case IPreprocessorDirective.ppIfndef:
-    		executeIfdef(lexer, startOffset, false);
-    		break;
-    	case IPreprocessorDirective.ppIf: 
-    		executeIf(lexer, startOffset);
-    		break;
-    	case IPreprocessorDirective.ppElse: 
-    		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-    		if (fCurrentContext.changeBranch(ScannerContext.BRANCH_ELSE)) {
-    			fLocationMap.encounterPoundElse(startOffset, ident.getEndOffset(), false);
-    			skipOverConditionalCode(lexer, false);
-    		} 
-    		else {
-    			handleProblem(IProblem.PREPROCESSOR_UNBALANCE_CONDITION, name, startOffset, ident.getEndOffset());
-    		}
-    		break;
-    	case IPreprocessorDirective.ppElif: 
-    		int condOffset= lexer.nextToken().getOffset();
-    		condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-    		int endOffset= lexer.currentToken().getEndOffset();
-    		if (fCurrentContext.changeBranch(ScannerContext.BRANCH_ELIF)) {
-    			fLocationMap.encounterPoundElif(startOffset, condOffset, condEndOffset, endOffset, false, IASTName.EMPTY_NAME_ARRAY);
-    			skipOverConditionalCode(lexer, false);
-    		} 
-    		else {
-    			handleProblem(IProblem.PREPROCESSOR_UNBALANCE_CONDITION, name, startOffset, condEndOffset);
-    		}
-    		break;
-    	case IPreprocessorDirective.ppEndif:
-    		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-    		if (fCurrentContext.changeBranch(ScannerContext.BRANCH_END)) {
-    			fLocationMap.encounterPoundEndIf(startOffset, ident.getEndOffset());
-    		} 
-    		else {
-    			handleProblem(IProblem.PREPROCESSOR_UNBALANCE_CONDITION, name, startOffset, ident.getEndOffset());
-    		}
-    		break;
-    	case IPreprocessorDirective.ppWarning: 
-    	case IPreprocessorDirective.ppError:
-    		condOffset= lexer.nextToken().getOffset();
-    		condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-    		endOffset= lexer.currentToken().getEndOffset();
-    		final char[] warning= lexer.getInputChars(condOffset, condEndOffset);
-    		final int id= type == IPreprocessorDirective.ppError 
-    				? IProblem.PREPROCESSOR_POUND_ERROR 
-    				: IProblem.PREPROCESSOR_POUND_WARNING;
-    		handleProblem(id, warning, condOffset, condEndOffset); 
-    		fLocationMap.encounterPoundError(startOffset, condOffset, condEndOffset, endOffset);
-    		break;
-    	case IPreprocessorDirective.ppPragma: 
-    		condOffset= lexer.nextToken().getOffset();
-    		condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-    		endOffset= lexer.currentToken().getEndOffset();
-    		fLocationMap.encounterPoundPragma(startOffset, condOffset, condEndOffset, endOffset);
-    		break;
-    	case IPreprocessorDirective.ppIgnore:
-    		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-    		break;
-    	default:
-    		condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-			endOffset= lexer.currentToken().getEndOffset();
-    		handleProblem(IProblem.PREPROCESSOR_INVALID_DIRECTIVE, name, startOffset, condEndOffset);
-    		break;
-    	}
-    	
-    	if(includedFilePath == null) {                           //added by MM
-            return makeBlankDirToken(lexer, poundToken);         //added by MM
-    	}                                                        //added by MM
-    	else {                                                   //added by MM
-    		includeToken.setParent(lexer.getParentToken());      //added by MM
-    		includeToken.setIncludeFile(includedFilePath);       //added by MM
-            
-            IToken curToken = lexer.currentToken();              //added by MM
-            int charStart = poundToken.getOrigOffset()           //added by MM
-                - poundToken.getCharPrecedingWhiteSpace().length;//added by MM
-            int charEnd = curToken.getOrigOffset()               //added by MM
-                - curToken.getCharPrecedingWhiteSpace().length;  //added by MM
-            includeToken.setCharImage(lexer.getRawChars(charStart, charEnd)); //added by MM
-    	    //return null;                                         //added by MM
-            Token returnToken = new Token(tINCLUDED_FILE_START, null, 0, 0); //added by MM
-            returnToken.setParent(includeToken);                 //added by MM
-            return returnToken;                                  //added by MM
-    	}                                                        //added by MM
-    }
-    
-    /**
-     * Method added by MM.
-     * Makes a blank token whose parent is a directive token
-     * based on the input.
-     * @param lexer - Lexer to obtain characters from. Assumes that the
-     *        current token is the newline token after the pound token.
-     * @param poundToken - Pound token at the beginning of the directive.
-     *        Assumed to be from lexer.
-     * @return a blank token whose parent is a directive token
-     */
-    private Token makeBlankDirToken(final Lexer lexer, final Token poundToken) {
-        IToken curToken = lexer.currentToken();
-        int charStart = poundToken.getOrigOffset()
-                - poundToken.getCharPrecedingWhiteSpace().length;
-        int charEnd = curToken.getOrigOffset()
-                - curToken.getCharPrecedingWhiteSpace().length;
-        char[] rawChars = lexer.getRawChars(charStart, charEnd);
-        
-        TokenWithImage dirToken = new TokenWithImage(
-        							tPARENT_DIRECTIVE, null, 0, 0, rawChars);
-        dirToken.setParent(lexer.getParentToken());
-        
-        Token blankToken = new Token(tBLANK, null, charStart, charEnd);
-        blankToken.setParent(dirToken);
-        
-        return blankToken;
-    }
-
-    //return value added by MM
-	@SuppressWarnings("deprecation")
-	private String executeInclude(final Lexer lexer, int poundOffset, boolean include_next, boolean active, IToken parentToken) throws OffsetLimitReachedException {
-		lexer.setInsideIncludeDirective(true);
-		final Token header= lexer.nextToken();
-		lexer.setInsideIncludeDirective(false);
-
-		int condEndOffset= header.getEndOffset();
-		final int[] nameOffsets= new int[] {header.getOffset(), condEndOffset};
-		char[] headerName= null;
-		boolean userInclude= true;
-		
-		switch(header.getType()) {
-		case Lexer.tSYSTEM_HEADER_NAME:
-			userInclude= false;
-			headerName = extractHeaderName(header.getCharImage(), '<', '>', nameOffsets);
-			condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-			break;
-			
-		case Lexer.tQUOTE_HEADER_NAME:
-			headerName = extractHeaderName(header.getCharImage(), '"', '"', nameOffsets);
-			condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-			break;
-
-		case IToken.tCOMPLETION:
-			throw new OffsetLimitReachedException(ORIGIN_PREPROCESSOR_DIRECTIVE, header);
-			
-		case IToken.tIDENTIFIER: 
-			TokenList tl= new TokenList();
-			condEndOffset= nameOffsets[1]= getTokensWithinPPDirective(lexer, false, tl);
-			Token t= tl.first();
-			if (t != null) {
-				switch(t.getType()) {
-				case IToken.tSTRING:
-					headerName = extractHeaderName(t.getCharImage(), '"', '"', new int[]{0,0});
-					break;
-				case IToken.tLT:
-					userInclude= false;
-					boolean complete= false;
-					StringBuffer buf= new StringBuffer();
-					t= (Token) t.getNext();
-					while (t != null) {
-						if (t.getType() == IToken.tGT) {
-							complete= true;
-							break;
-						}
-						buf.append(t.getImage());
-						t= (Token) t.getNext();
-					}
-					if (complete) {
-						headerName= new char[buf.length()];
-						buf.getChars(0, buf.length(), headerName, 0);
-					}
-				}
-			}
-			break;
-			
-		default:
-			condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-			break;
-		}
-		if (headerName == null || headerName.length==0) {
-	    	if (active) {
-	            handleProblem(IProblem.PREPROCESSOR_INVALID_DIRECTIVE,
-	            		lexer.getInputChars(poundOffset, condEndOffset), poundOffset, condEndOffset);
-	    	}
-			return null; //edited by MM to return null instead of just return
-		}
-
-		String path= null;
-		boolean reported= false;
-		boolean expanded = false; //added by MM
-		
-		if (!active) {
-			// test if the include is inactive just because it was included before (bug 167100)
-			final File currentDir= userInclude || include_next ? new File(String.valueOf(getCurrentFilename())).getParentFile() : null;
-			final String resolved= findInclusion(new String(headerName), userInclude, include_next, currentDir, createPathTester);
-			if (resolved != null && fCodeReaderFactory.hasFileBeenIncludedInCurrentTranslationUnit(resolved)) {
-				path= resolved;
-			}
-		}
-		else {
-		    IResource currFileRes = ResourcesPlugin.getWorkspace().getRoot().findMember(getCurrentFilename());
-			File tempFile = null;
-		    if(currFileRes != null)
-		    {
-		        tempFile = currFileRes.getLocation().toFile().getParentFile();
-		    }
-			    
-		    final File currentDir= userInclude || include_next ? tempFile : null;
-			final IncludeFileContent fi= findInclusion(new String(headerName), userInclude, include_next, currentDir);
-			if (fi != null) {
-				path= fi.getFileLocation();
-				switch(fi.getKind()) {
-				case FOUND_IN_INDEX:
-					processInclusionFromIndex(poundOffset, path, fi);
-					break;
-				case USE_CODE_READER:
-					CodeReader reader= fi.getCodeReader();
-					if (reader != null && !isCircularInclusion(path)) {
-						reported= true;
-						fAllIncludedFiles.add(path);
-						ILocationCtx ctx= fLocationMap.pushInclusion(poundOffset, nameOffsets[0], nameOffsets[1], condEndOffset, reader.buffer, path, headerName, userInclude);
-						ScannerContext fctx= new ScannerContext(ctx, fCurrentContext, new Lexer(reader.buffer, fLexOptions, this, this, parentToken)); //line edited by MM
-						fCurrentContext= fctx;
-						expanded = true; //added by MM
-					}
-					break;
-					
-				case SKIP_FILE:
-					break;
-				}
-			}
-			else {
-				final int len = headerName.length+2;
-				StringBuilder name= new StringBuilder(len);
-				name.append(userInclude ? '"' : '<');
-				name.append(headerName);
-				name.append(userInclude ? '"' : '>');
-
-				final char[] nameChars= new char[len];
-				name.getChars(0, len, nameChars, 0);
-				handleProblem(IProblem.PREPROCESSOR_INCLUSION_NOT_FOUND, nameChars, poundOffset, condEndOffset);
-			}
-		}
-
-		if (!reported) {
-			fLocationMap.encounterPoundInclude(poundOffset, nameOffsets[0], nameOffsets[1], condEndOffset, headerName, path, userInclude, active); 
-		}
-		
-		if(expanded) return path; //added by MM
-		else return null;
-	}
-
-	private void processInclusionFromIndex(int offset, String path, IncludeFileContent fi) {
-		List<IIndexMacro> mdefs= fi.getMacroDefinitions();
-		for (IIndexMacro macro : mdefs) {
-			addMacroDefinition(macro);
-		}
-		fLocationMap.skippedFile(fLocationMap.getSequenceNumberForOffset(offset), fi);
-	}
-
-	private char[] extractHeaderName(final char[] image, final char startDelim, final char endDelim, int[] offsets) {
-		char[] headerName;
-		int start= 0;
-		int length= image.length;
-		if (length > 0 && image[length-1] == endDelim) {
-			length--;
-			offsets[1]--;
-			if (length > 0 && image[0] == startDelim) {
-				offsets[0]++;
-				start++;
-				length--;
-			}
-		}
-		headerName= new char[length];
-		System.arraycopy(image, start, headerName, 0, length);
-		return headerName;
-	}
-	
-	private boolean isCircularInclusion(String filename) {
-		ILocationCtx checkContext= fCurrentContext.getLocationCtx();
-		while (checkContext != null) {
-			if (filename.equals(checkContext.getFilePath())) {
-				return true;
-			}
-			checkContext= checkContext.getParent();
-		}
-		return false;
-	}
-
-
-    @SuppressWarnings("deprecation")
-	private void executeDefine(final Lexer lexer, int startOffset) throws OffsetLimitReachedException {
-		try {
-			ObjectStyleMacro macrodef = fMacroDefinitionParser.parseMacroDefinition(lexer, this);
-			fMacroDictionary.put(macrodef.getNameCharArray(), macrodef);
-			final Token name= fMacroDefinitionParser.getNameToken();
-
-			fLocationMap.encounterPoundDefine(startOffset, name.getOffset(), name.getEndOffset(), 
-					macrodef.getExpansionOffset(), macrodef.getExpansionEndOffset(), macrodef);
-		} catch (InvalidMacroDefinitionException e) {
-			lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-			handleProblem(IProblem.PREPROCESSOR_INVALID_MACRO_DEFN, e.fName, e.fStartOffset, e.fEndOffset);
-		}
-    }
-
-    @SuppressWarnings("deprecation")
-	private void executeUndefine(Lexer lexer, int startOffset) throws OffsetLimitReachedException {
-		final Token name= lexer.nextToken();
-    	final int tt= name.getType();
-    	if (tt != IToken.tIDENTIFIER) {
-    		if (tt == IToken.tCOMPLETION) {
-    			throw new OffsetLimitReachedException(ORIGIN_PREPROCESSOR_DIRECTIVE, name);
-    		}
-    		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-    		handleProblem(IProblem.PREPROCESSOR_INVALID_MACRO_DEFN, name.getCharImage(), startOffset, name.getEndOffset());
-    		return;
-    	}
-		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-    	final int endOffset= lexer.currentToken().getEndOffset();
-    	final char[] namechars= name.getCharImage();
-    	PreprocessorMacro definition= fMacroDictionary.remove(namechars, 0, namechars.length);
-    	fLocationMap.encounterPoundUndef(definition, startOffset, name.getOffset(), name.getEndOffset(), endOffset, namechars);
-    }
-
-    @SuppressWarnings("deprecation")
-	private void executeIfdef(Lexer lexer, int startOffset, boolean positive) throws OffsetLimitReachedException {
-		final Token name= lexer.nextToken();
-    	final int tt= name.getType();
-    	if (tt != IToken.tIDENTIFIER) {
-    		if (tt == IToken.tCOMPLETION) {
-    			throw new OffsetLimitReachedException(ORIGIN_PREPROCESSOR_DIRECTIVE, name);
-    		}
-    		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-    		handleProblem(IProblem.PREPROCESSOR_DEFINITION_NOT_FOUND, name.getCharImage(), startOffset, name.getEndOffset());
-    		return;
-    	}
-		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-		final int endOffset= lexer.currentToken().getEndOffset();
-    	final char[] namechars= name.getCharImage();
-        PreprocessorMacro macro= fMacroDictionary.get(namechars);
-        boolean isActive= (macro != null) == positive;
-        
-    	fCurrentContext.changeBranch(ScannerContext.BRANCH_IF);        
-        if (positive) {
-        	fLocationMap.encounterPoundIfdef(startOffset, name.getOffset(), name.getEndOffset(), endOffset, isActive, macro);
-        }
-        else {
-        	fLocationMap.encounterPoundIfndef(startOffset, name.getOffset(), name.getEndOffset(), endOffset, isActive, macro);
-        }
-
-        if ((macro == null) == positive) {
-        	skipOverConditionalCode(lexer, true);
-        }
-    }
-
-    @SuppressWarnings("deprecation")
-	private void executeIf(Lexer lexer, int startOffset) throws OffsetLimitReachedException {
-    	boolean isActive= false;
-    	TokenList condition= new TokenList();
-    	final int condOffset= lexer.nextToken().getOffset();
-    	final int condEndOffset= getTokensWithinPPDirective(lexer, true, condition);
-    	final int endOffset= lexer.currentToken().getEndOffset();
-    	
-    	fExpressionEvaluator.clearMacrosInDefinedExpression();
-    	if (condition.first() == null) {
-    		handleProblem(IProblem.SCANNER_EXPRESSION_SYNTAX_ERROR, null, startOffset, endOffset);
-    	}
-    	else {
-    		try {
-				isActive= fExpressionEvaluator.evaluate(condition, fMacroDictionary, fLocationMap);
-			} catch (EvalException e) {
-				handleProblem(e.getProblemID(), e.getProblemArg(), condOffset, endOffset);
-			}
-    	}
-
-		fCurrentContext.changeBranch(ScannerContext.BRANCH_IF);
-    	fLocationMap.encounterPoundIf(startOffset, condOffset, condEndOffset, endOffset, isActive, fExpressionEvaluator.clearMacrosInDefinedExpression());
-		
-    	if (!isActive) {
-    		skipOverConditionalCode(lexer, true);
-    	} 
-    }
-    
-    /**
-     * Runs the preprocessor on the rest of the line, storing the tokens in the holder supplied.
-     * Macro expansion is reported to the location map. 
-     * In case isCondition is set to <code>true</code>, identifiers with image 'defined' are 
-     * converted to the defined-token and its argument is not macro expanded.
-     * Returns the end-offset of the last token that was consumed.
-     */
-    private int getTokensWithinPPDirective(Lexer lexer, boolean isCondition, TokenList result) throws OffsetLimitReachedException {
-    	final ScannerContext scannerCtx= fCurrentContext;
-    	boolean expandMacros= true;
-    	loop: while(true) {
-    		Token t= internalFetchToken(expandMacros, isCondition, true, false, scannerCtx);
-    		switch(t.getType()) {
-    		case IToken.tEND_OF_INPUT:
-    		case IToken.tCOMPLETION:
-    			lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE); // make sure the exception is thrown.
-    			break loop;
-    		case Lexer.tNEWLINE:
-    			break loop;
-    		case IToken.tIDENTIFIER:
-    			if (isCondition && CharArrayUtils.equals(Keywords.cDEFINED, t.getCharImage())) {
-    				t.setType(CPreprocessor.tDEFINED);
-    				expandMacros= false;	
-    			}
-    			break;
-    		case IToken.tLPAREN:
-    			break;
-    		default:
-    			expandMacros= true;
-    			break;
-    		}
-    		result.append(t);
-    	}
-    	// make sure an exception is thrown if we are running content assist at the end of the line
-    	return lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-    }
-    
-    @SuppressWarnings("deprecation")
-	private void skipOverConditionalCode(final Lexer lexer, boolean takeElseBranch) throws OffsetLimitReachedException {
-    	int nesting= 0;
-    	while(true) {
-    		final Token pound= lexer.nextDirective();
-    		int tt= pound.getType();
-    		if (tt != IToken.tPOUND) {
-    			if (tt == IToken.tCOMPLETION) {
-    				throw new OffsetLimitReachedException(ORIGIN_INACTIVE_CODE, pound); // completion in inactive code
-    			}
-    			return;
-    		}
-        	final Token ident= lexer.nextToken();
-        	tt= ident.getType();
-        	if (tt != IToken.tIDENTIFIER) {
-        		if (tt == IToken.tCOMPLETION) {
-        			throw new OffsetLimitReachedException(ORIGIN_INACTIVE_CODE, ident);	// completion in inactive directive
-        		}
-        		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-        		continue;
-        	}
-        	
-        	// we have an identifier
-        	final char[] name = ident.getCharImage();
-        	final int type = fPPKeywords.get(name);
-        	switch (type) {
-        	case IPreprocessorDirective.ppImport:
-        	case IPreprocessorDirective.ppInclude:
-        		executeInclude(lexer, ident.getOffset(), false, false, null); //line edited by MM
-        		break;
-        	case IPreprocessorDirective.ppInclude_next:
-        		executeInclude(lexer, ident.getOffset(), true, false, null); //line edited by MM
-        		break;
-        	case IPreprocessorDirective.ppIfdef:
-        		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-        		int endOffset= lexer.currentToken().getEndOffset();
-        		nesting++;
-        		fCurrentContext.changeBranch(ScannerContext.BRANCH_IF);
-        		fLocationMap.encounterPoundIfdef(pound.getOffset(), ident.getOffset(), ident.getEndOffset(), endOffset, false, null);
-        		break;
-        	case IPreprocessorDirective.ppIfndef:
-        		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-        		endOffset= lexer.currentToken().getEndOffset();
-        		nesting++;
-        		fCurrentContext.changeBranch(ScannerContext.BRANCH_IF);
-        		fLocationMap.encounterPoundIfndef(pound.getOffset(), ident.getOffset(), ident.getEndOffset(), endOffset, false, null);
-        		break;
-        	case IPreprocessorDirective.ppIf: 
-        		int condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-        		endOffset= lexer.currentToken().getEndOffset();
-        		nesting++;
-        		fCurrentContext.changeBranch(ScannerContext.BRANCH_IF);
-        		fLocationMap.encounterPoundIf(pound.getOffset(), ident.getOffset(), condEndOffset, endOffset, false, IASTName.EMPTY_NAME_ARRAY);
-        		break;
-        	case IPreprocessorDirective.ppElse: 
-        		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-        		if (fCurrentContext.changeBranch(ScannerContext.BRANCH_ELSE)) {
-        			boolean isActive= nesting == 0 && takeElseBranch;
-        			fLocationMap.encounterPoundElse(pound.getOffset(), ident.getEndOffset(), isActive);
-        			if (isActive) {
-        				return;
-        			}
-        		} 
-        		else {
-        			handleProblem(IProblem.PREPROCESSOR_UNBALANCE_CONDITION, name, pound.getOffset(), ident.getEndOffset());
-        		}
-        		break;
-        	case IPreprocessorDirective.ppElif: 
-        		if (fCurrentContext.changeBranch(ScannerContext.BRANCH_ELIF)) {
-        	    	boolean isActive= false;
-        	    	fExpressionEvaluator.clearMacrosInDefinedExpression();
-        	    	int condOffset= lexer.nextToken().getOffset();
-        			if (nesting == 0 && takeElseBranch) {
-            	    	TokenList condition= new TokenList();
-        				condEndOffset= getTokensWithinPPDirective(lexer, true, condition);
-        				if (condition.first() != null) {
-        					try {
-        						isActive= fExpressionEvaluator.evaluate(condition, fMacroDictionary, fLocationMap);
-        					} catch (EvalException e) {
-        						handleProblem(e.getProblemID(), e.getProblemArg(), condOffset, condEndOffset);
-        					}
-        				}
-        			}
-        			else {
-        				condEndOffset= lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-        			}
-        			endOffset= lexer.currentToken().getEndOffset();
-        			fCurrentContext.changeBranch(ScannerContext.BRANCH_ELIF);
-					fLocationMap.encounterPoundElif(pound.getOffset(), condOffset, condEndOffset, endOffset, isActive, fExpressionEvaluator.clearMacrosInDefinedExpression());
-        			
-        	    	if (isActive) {
-        	    		return;
-        	    	} 
-        		} 
-        		else {
-            		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-            		endOffset= lexer.currentToken().getEndOffset();
-        			handleProblem(IProblem.PREPROCESSOR_UNBALANCE_CONDITION, name, pound.getOffset(), endOffset);
-        		}
-        		break;
-        	case IPreprocessorDirective.ppEndif:
-        		lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-        		if (fCurrentContext.changeBranch(ScannerContext.BRANCH_END)) {
-        			fLocationMap.encounterPoundEndIf(pound.getOffset(), ident.getEndOffset());
-            		if (nesting == 0) {
-            			return;
-            		}
-            		--nesting;
-        		} 
-        		else {
-        			handleProblem(IProblem.PREPROCESSOR_UNBALANCE_CONDITION, name, pound.getOffset(), ident.getEndOffset());
-        		}
-        		break;
-        	default:
-            	lexer.consumeLine(ORIGIN_PREPROCESSOR_DIRECTIVE);
-        		break;
-        	}
-    	}
-    }
-    
-	/**
-	 * The method assumes that the identifier is consumed.
-	 * <p>
-	 * Checks whether the identifier causes a macro expansion. May advance the current lexer
-	 * to check for the opening bracket succeeding the identifier.
-	 * <p>
-	 * If applicable the macro is expanded and the resulting tokens are put onto a new context.
-	 * @param identifier the token where macro expansion may occur.
-	 * @param lexer the input for the expansion.
-	 * @param stopAtNewline whether or not tokens to be read are limited to the current line. 
-	 * @param isPPCondition whether the expansion is inside of a preprocessor condition. This
-	 * implies a specific handling for the defined token.
-	 */
-	private boolean expandMacro(final Token identifier, Lexer lexer, boolean stopAtNewline, final boolean isPPCondition) throws OffsetLimitReachedException {
-		final char[] name= identifier.getCharImage();
-        PreprocessorMacro macro= fMacroDictionary.get(name);
-        if (macro == null) {
-        	return false;
-        }
-        
-        if (macro instanceof FunctionStyleMacro) {
-    		Token t= lexer.currentToken();
-    		TokenList newlines = new TokenList(); //added by MM
-    		if (!stopAtNewline) {
-    			while(t.getType() == Lexer.tNEWLINE) {
-    			    newlines.append(t); //added by MM
-    				t= lexer.nextToken();
-    			}
-    		}
-    		if (t.getType() != IToken.tLPAREN) {
-    		    fPreobtainedTokens.appendAll(newlines); //added by MM
-    			return false;
-    		}
-        }
-        final boolean contentAssist = fContentAssistLimit>=0 && fCurrentContext == fRootContext;
-        TokenList replacement= fMacroExpander.expand(lexer, stopAtNewline, isPPCondition, macro, identifier, contentAssist);
-    	final IASTName[] expansions= fMacroExpander.clearImplicitExpansions();
-    	final ImageLocationInfo[] ili= fMacroExpander.clearImageLocationInfos();
-    	final Token last= replacement.last();
-    	final int length= last == null ? 0 : last.getEndOffset(); 
-    	ILocationCtx ctx= fLocationMap.pushMacroExpansion(
-    			identifier.getOffset(), identifier.getEndOffset(), lexer.getLastEndOffset(), length, macro, expansions, ili);
-        fCurrentContext= new ScannerContext(ctx, fCurrentContext, replacement);
-        return true;
-	}
-
-	@SuppressWarnings("unchecked")
-	public Object getAdapter(Class adapter) {
-		if (adapter.isAssignableFrom(fMacroExpander.getClass())) {
-			return fMacroExpander;
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CompletionInMacroExpansionException.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CompletionInMacroExpansionException.java
deleted file mode 100755
index d77de93..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CompletionInMacroExpansionException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-/**
- * Thrown when content assist is used within the parameter list of a macro expansion.
- * It transports the token list of the current parameter for further use in attempting
- * a completion.
- * @since 5.0
- */
-@SuppressWarnings("serial")
-public class CompletionInMacroExpansionException extends OffsetLimitReachedException {
-
-	private TokenList fParameterTokens;
-
-	public CompletionInMacroExpansionException(int origin, IToken lastToken, TokenList paramTokens) {
-		super(origin, lastToken);
-		fParameterTokens = paramTokens;
-	}
-
-	public TokenList getParameterTokens() {
-		return fParameterTokens;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CppHelper.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CppHelper.java
deleted file mode 100755
index a38f7f7..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/CppHelper.java
+++ /dev/null
@@ -1,352 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.Arrays;
-
-import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.cdt.core.dom.parser.c.GCCScannerExtensionConfiguration;
-import org.eclipse.cdt.core.parser.CodeReader;
-import org.eclipse.cdt.core.parser.IScannerInfo;
-import org.eclipse.cdt.core.parser.IScannerInfoProvider;
-import org.eclipse.cdt.core.parser.NullLogService;
-import org.eclipse.cdt.core.parser.ParserLanguage;
-import org.eclipse.cdt.core.parser.ScannerInfo;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-
-/**
- * A wrapper class for the CPreprocessor in order to make
- * functionality easier.
- * 
- * @author Matthew Michelotti
- */
-public class CppHelper {
-    /**
-     * An option.
-     * When it is true, CppHelper will use CPreprocessor.nextTokenRaw() to
-     * get tokens. When it is false, CppHelper will use
-     * CPreprocessor.nextToken() to get tokens. Currently, the
-     * implementation of CPreprocessor is such that useRawTokens should
-     * always be true, but this option is here in case a switch needs to
-     * be made at some point.
-     */
-    private boolean useRawTokens = true;
-    
-    /**The CPreprocessor object to get tokens from*/
-    private CPreprocessor cpp;
-    /**True iff all Tokens have been obtained from the CPreprocessor*/
-    private boolean finished = false;
-    
-    
-    /**
-     * Constructs a CPreprocessor to read tokens from the given file.
-     * Included files are taken relative to this file
-     * or the includeSearchPaths.<br/>
-     * NOTE: If more control over the include search paths is desired,
-     * consider making a new CppHelper constructor using the class
-     * ExtendedScannerInfo instead of ScannerInfo.
-     * @param filename - name of file that input stream belongs to
-     * @param in - input stream to read file from
-     * @param includeSearchPaths - file paths to search in for included files
-     * @throws IOException
-     */
-    public CppHelper(String filename, Reader in, String[] includeSearchPaths)
-    		throws IOException
-    {
-    	//NOTE: it is important that the CodeReader gets an ABSOLUTE file path
-        cpp = new CPreprocessor(new ReaderBasedCodeReader(filename, in),
-            new ScannerInfo(null, includeSearchPaths), ParserLanguage.C,
-            new NullLogService(), new GCCScannerExtensionConfiguration(),
-            FileCodeReaderFactory.getInstance());
-    }
-    
-    /**
-     * Constructs a CPreprocessor to read tokens from the given file.
-     * Included files are taken relative to this file.
-     * @param file - IFile of the input stream belongs to
-     * @param filename - name of file that input stream belongs to
-     * @param in - input stream to read file from
-     * @throws IOException
-     * NOTE: @param file could be null (if the opened file is not in the workspace).
-     *      Also, @param in could be different than @param file, if for example there
-     *      are un-saved changes in the editor.
-     */
-    public CppHelper(IResource infoProvider, String filename, Reader in) throws IOException {
-        //NOTE: it is important that the CodeReader gets an ABSOLUTE file path
-        if (filename == null) 
-            filename = ""; //$NON-NLS-1$
-        
-        IScannerInfo scanInfo = new ScannerInfo();
-        if(infoProvider != null)
-        {
-            filename = infoProvider.getFullPath().toString();
-            IProject project = infoProvider.getProject();
-            IScannerInfoProvider provider = CCorePlugin.getDefault().getScannerInfoProvider(project);
-            if (provider != null) {
-                IScannerInfo buildScanInfo = provider.getScannerInformation(infoProvider);
-                if (buildScanInfo != null)
-                    scanInfo = buildScanInfo;
-            }
-        }
-
-        //Map<String, String> temp = scanInfo.getDefinedSymbols();
-        cpp = new CPreprocessor(new ReaderBasedCodeReader(filename, in),
-            new ScannerInfo(scanInfo.getDefinedSymbols(), scanInfo.getIncludePaths()), ParserLanguage.C, new NullLogService(), 
-            new GCCScannerExtensionConfiguration(), FileCodeReaderFactory.getInstance());
-    }
-    
-    /**
-     * Constructs a CPreprocessor to read tokens from the given file.
-     * Included files are taken relative to this file.
-     * @param file - file to read tokens from
-     * @throws IOException
-     */
-    public CppHelper(File file) throws IOException {
-        //NOTE: it is important that the CodeReader gets an ABSOLUTE file path
-        cpp = new CPreprocessor(new CodeReader(file.getAbsolutePath()),
-            new ScannerInfo(), ParserLanguage.C, new NullLogService(), 
-            new GCCScannerExtensionConfiguration(), FileCodeReaderFactory.getInstance());
-    }
-    
-    /**
-     * Constructs a CPreprocessor to read tokens from the given file.
-     * Included files are taken relative to this file.
-     * @param filename - name of file to read tokens from
-     * @throws IOException
-     */
-    public CppHelper(String filename) throws IOException {
-        this(new File(filename));
-    }
-    
-    /**
-     * Obtain the next token from the CPreprocessor
-     * @return next token, or null if there are no more tokens
-     * @throws OffsetLimitReachedException
-     */
-    public IToken nextToken() throws OffsetLimitReachedException {
-        if(finished) return null;
-        
-        if(useRawTokens) {
-            IToken next = cpp.nextTokenRaw();
-            if(next.getType() == IToken.tEND_OF_INPUT) finished = true;
-            return next;
-        }
-        else {
-            IToken next = null;
-            try {next = cpp.nextToken();}
-            catch (EndOfFileException e) {
-                finished = true;
-                return null;
-            }
-            return next;
-        }
-    }
-    
-    /**
-     * Call nextToken() repeatedly until the CPreprocessor is out of tokens.
-     * @return The first token obtained. You can get to the rest of the
-     *         tokens by using IToken.getNext()
-     * @throws OffsetLimitReachedException
-     */
-    public IToken getRemainingTokens() throws OffsetLimitReachedException {
-        IToken first = nextToken();
-        IToken t = first;
-        while(t != null) t = nextToken();
-        return first;
-    }
-    
-    /**
-     * Find the highest ancestor of a given token. i.e., call
-     * t.getParent() repeatedly and return the last non-null value.
-     * May return the input token.
-     * @param t - token to find ancestor of
-     * @param ignoreCarriageReturnAncestors - just returns t
-     *        if its ancestor is "\r\n"
-     * @return highest ancestor of the given token
-     */
-    public static IToken getAncestor(IToken t, boolean ignoreCarriageReturnAncestors) {
-    	IToken lastParent = t;
-        IToken parent = lastParent.getParent();
-        while(parent != null) {
-        	lastParent = parent;
-        	parent = lastParent.getParent();
-        }
-        
-        if(ignoreCarriageReturnAncestors) {
-        	if(t.getType() == Lexer.tNEWLINE && lastParent.getImage().equals("\r\n") //$NON-NLS-1$
-        		&& Arrays.equals(t.getCharPrecedingWhiteSpace(), lastParent.getCharPrecedingWhiteSpace()))
-        	{
-        		return t;
-        	}
-        }
-        
-        return lastParent;
-    }
-    
-    /**
-     * Same as getAncestor(IToken, boolean), but assumes
-     * ignoreCaradgeReturnAncestors is false.
-     * @param t - token to find ancestor of
-     * @return highest ancestor of the given token
-     */
-    public static IToken getAncestor(IToken t) {
-    	return getAncestor(t, false);
-    }
-    
-    /**
-     * find the first include directive which is an ancestor of this
-     * token (does not consider the input token itself)
-     * @param t - token to find an include directive parent of
-     * @return the found include directive token, or null if none was found
-     */
-    public static IToken getIncludeParent(IToken t) {
-    	for(IToken p = t.getParent(); p != null; p = p.getParent()) {
-    		if(p.getIncludeFile() != null) return p;
-    	}
-    	return null;
-    }
-    
-    /**@param t - token to get image of
-     * @return the image of the token (without white-space)*/
-    public static String getImage(IToken t) {
-    	if(t.getType() == Lexer.tNEWLINE) return "\n"; //$NON-NLS-1$
-    	else return t.getImage();
-    }
-    
-    /**@param t - token
-     * @return the white space before the token*/
-    public static String getPreWhiteSpace(IToken t) {
-    	return t.getPrecedingWhiteSpace();
-    }
-    
-    /**@param t - token to get whitespace of
-     * @return the length of the whitespace before the token*/
-    public static int getPreWhiteSpaceLength(IToken t) {
-    	return t.getCharPrecedingWhiteSpace().length;
-    }
-    
-    /**@param t - token to get image of
-     * @return the length of the token image (without white-space)*/
-    public static int getImageLength(IToken t) {
-    	if(t.getType() == Lexer.tNEWLINE) return 1; 
-    	else return t.getCharImage().length;
-    }
-    
-    /**@param t - token to get full image of
-     * @return full image of the given token, including whitespace*/
-    public static String getFullImage(IToken t) {
-    	return getPreWhiteSpace(t) + getImage(t);
-    }
-
-    /**@param t - token to get length of
-     * @return the length of the full token image, including whitespace*/
-    public static int getFullImageLength(IToken t) {
-    	return getPreWhiteSpaceLength(t) + getImageLength(t);
-    }
-    
-    /**
-     * Get a String describing the details of Token. Each parent in
-     * the hierarchy will be listed, separated by tokenSeparator.
-     * The preceding white space and image of each token in the
-     * hierarchy will be listed, separated by tokenSeparator.
-     * "\n" is replaced with "\\n", and "\r" is replaced with "\\r",
-     * so assuming spaceSeparator and tokenSeparator don't have newline
-     * characters in them, this String will be all on one line.
-     * Note that this method may not be thread-safe even though it is static,
-     * since it accesses a static variable.
-     * @param t - token to describe
-     * @param spaceSeparator - String that should be used to separate spaces
-     * @param tokenSeparator - String that should be used to separate tokens
-     * @param printTypes - true iff token types should be printed for the
-     *        token t and its ancestors. The type will be placed before the
-     *        pre-whitespace of each token, followed by a spaceSeparator.
-     * @return String describing the token and its parents
-     */
-    public static String getTokenDetails(IToken t, String spaceSeparator,
-                                    String tokenSeparator, boolean printTypes)
-    {
-        StringBuffer buffer = new StringBuffer(200);
-        
-        while(true) {
-            if(printTypes) {
-                buffer.append(TokenTypeTranslator.typeToString(t.getType()));
-                buffer.append(spaceSeparator);
-            }
-            appendNeatString(buffer, t.getCharPrecedingWhiteSpace());
-            buffer.append(spaceSeparator);
-            if(t.getType() == Lexer.tNEWLINE) buffer.append("\\n"); //$NON-NLS-1$
-            else appendNeatString(buffer, t.getCharImage());
-            
-            t = t.getParent();
-            if(t == null) break;
-            buffer.append(tokenSeparator);
-        }
-        return buffer.toString();
-    }
-    
-    /**
-     * Reproduce the original source code from a sequence of
-     * tokens, and return as a string.
-     * @param ignoreCarriageReturnAncestors - if a token has
-     *        "\r\n" as its ancestor, ignore the ancestor
-     * @param startToken - a token, which contains a series of
-     *        tokens after it that can be obtained using
-     *        IToken.getNext()
-     * @return the original source code
-     */
-    public static String reproduceSourceCode(IToken startToken, boolean ignoreCarriageReturnAncestors) {
-        StringBuffer buffer = new StringBuffer(4096);
-        
-        IToken lastAncestor = null;
-        for(IToken t = startToken; t != null; t = t.getNext()) {
-            IToken ancestor = CppHelper.getAncestor(t, ignoreCarriageReturnAncestors);
-            if(ancestor != lastAncestor) {
-                buffer.append(CppHelper.getFullImage(ancestor));
-                lastAncestor = ancestor;
-            }
-        }
-        
-        return buffer.toString();
-    }
-    
-    /**
-     * Same as reproduceSourceCode(IToken, boolean), except
-     * ignoreCarriageReturnAncestors is assumed to be false.
-     * @param startToken - a token, which contains a series of
-     *        tokens after it that can be obtained using
-     *        IToken.getNext()
-     * @return the original source code
-     */
-    public static String reproduceSourceCode(IToken startToken) {
-    	return reproduceSourceCode(startToken, false);
-    }
-    
-    /**
-     * Helper function for getTokenDetails.
-     * This will add characters to a buffer, but it will first
-     * replace "\n" with "\\n" and "\r" with "\\r"
-     * @param buffer - StringBuffer to add characters to
-     * @param chars - characters to add to buffer
-     */
-    private static void appendNeatString(StringBuffer buffer, char[] chars) {
-        for(int i = 0; i < chars.length; i++) {
-            switch(chars[i]) {
-            case('\n'): buffer.append("\\n"); break; //$NON-NLS-1$
-            case('\r'): buffer.append("\\r"); break; //$NON-NLS-1$
-            default: buffer.append(chars[i]); break;
-            }
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/EmptyCodeReaderCache.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/EmptyCodeReaderCache.java
deleted file mode 100644
index e0cb80d..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/EmptyCodeReaderCache.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Photran modifications
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/**
- * Edited by Matthew Michelotti
- * 
- * Overview of changes:
- * -may have changed import statements
- * -added unimplemented methods to conform with new versions of
- *  CDT interfaces. Deprecated these methods.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.io.IOException;
-import java.util.Iterator;
-
-import org.eclipse.cdt.core.index.IIndexFileLocation;
-import org.eclipse.cdt.core.model.IWorkingCopy;
-import org.eclipse.cdt.core.parser.CodeReader;
-import org.eclipse.cdt.core.parser.ICodeReaderCache;
-//import org.eclipse.cdt.internal.core.parser.InternalParserUtil;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * This is an empty implementation of the ICodeReaderCache interface.  It is used to implement a 
- * cache for the interface that isn't actually a cache, but rather always creates new CodeReaders
- * everytime a CodeReader is retrieved. 
- * 
- * This cache is not optimized to be run from within Eclipse (i.e. it ignores IResources).
- * 
- * @author dsteffle
- */
-public class EmptyCodeReaderCache implements ICodeReaderCache {
-
-	/**
-	 * Creates a new CodeReader for the given file location.
-	 */
-	public CodeReader get(String location) {
-		CodeReader ret = null;
-		ret = InternalParserUtil.createFileReader(location);
-		return ret;
-	}
-	
-	/**
-	 * This provides support for PartialWorkingCopyCodeReaderFactory.
-	 * @param finalPath
-	 * @param workingCopies
-	 */
-	public CodeReader createReader(String finalPath, Iterator<IWorkingCopy> workingCopies ) {
-		return InternalParserUtil.createFileReader(finalPath);
-	}
-
-	/**
-	 * Returns null.
-	 */
-	public CodeReader remove(String key) {
-		return null;
-	}
-
-	/**
-	 * Returns 0.
-	 */
-	public int getCurrentSpace() {
-		return 0;
-	}
-
-	public void flush() {
-		// nothing to do
-		
-	}
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public CodeReader get(String key, IIndexFileLocation ifl)
-			throws CoreException, IOException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/EndOfFileException.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/EndOfFileException.java
deleted file mode 100644
index 1302616..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/EndOfFileException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    John Camelon (IBM Rational Software) - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-/**
- * @noextend This interface is not intended to be extended by clients.
- * @noinstantiate This class is not intended to be instantiated by clients.
- */
-public class EndOfFileException extends Exception {
-	private static final long serialVersionUID= 1607883323361197919L;
-	
-	private final boolean fEndsInactiveCode;
-
-	public EndOfFileException() {
-		fEndsInactiveCode= false;
-	}
-	
-	/**
-	 * @since 5.1
-	 */
-	public EndOfFileException(boolean endsInactiveCode) {
-		fEndsInactiveCode= true;
-	}
-	
-	/**
-	 * @since 5.1
-	 */
-	public boolean endsInactiveCode() {
-		return fEndsInactiveCode;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ExpressionEvaluator.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ExpressionEvaluator.java
deleted file mode 100755
index 0c9c1fd..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ExpressionEvaluator.java
+++ /dev/null
@@ -1,433 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Photran modifications
- *     IBM Corporation - initial implementation
- *     Markus Schorn (Wind River Systems)
- *     Bryan Wilkinson (QNX) - https://bugs.eclipse.org/bugs/show_bug.cgi?id=151207
- *     Anton Leherbauer (Wind River Systems)
- *******************************************************************************/
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.ArrayList;
-
-import org.eclipse.cdt.core.dom.ast.IASTName;
-import org.eclipse.cdt.core.parser.IProblem;
-import org.eclipse.cdt.core.parser.util.CharArrayMap;
-
-/**
- * Used to evaluate expressions in preprocessor directives.
- */
-class ExpressionEvaluator {
-    @SuppressWarnings("serial")
-	static class EvalException extends Exception {
-        private int fProblemID;
-        private char[] fProblemArg;
-
-		public EvalException(int problemID, char[] problemArg) {
-        	fProblemID= problemID;
-        	fProblemArg= problemArg;
-        }
-		
-		public int getProblemID() {
-			return fProblemID;
-		}
-
-		public char[] getProblemArg() {
-			return fProblemArg;
-		}
-    }
-
-	private Token fTokens;
-	private CharArrayMap<PreprocessorMacro> fDictionary;
-	private ArrayList<IASTName> fMacrosInDefinedExpressions= new ArrayList<IASTName>();
-	private LocationMap fLocationMap;
-
-	public boolean evaluate(TokenList condition, CharArrayMap<PreprocessorMacro> macroDictionary, LocationMap map) throws EvalException {
-		fTokens= condition.first();
-		fDictionary= macroDictionary;
-		fLocationMap= map;
-		fMacrosInDefinedExpressions.clear();
-		return expression() != 0;
-	}
-	
-	public IASTName[] clearMacrosInDefinedExpression() {
-		IASTName[] result= fMacrosInDefinedExpressions.toArray(new IASTName[fMacrosInDefinedExpressions.size()]);
-		fMacrosInDefinedExpressions.clear();
-		return result;
-	}
-
-    private long expression() throws EvalException {
-        return conditionalExpression();
-    }
-
-    private long conditionalExpression() throws EvalException {
-        long r1 = logicalOrExpression();
-        if (LA() == IToken.tQUESTION) {
-            consume();
-            long r2 = expression();
-            if (LA() == IToken.tCOLON)
-                consume();
-            else {
-                throw new EvalException(IProblem.SCANNER_BAD_CONDITIONAL_EXPRESSION, null); 
-            }
-            long r3 = conditionalExpression();
-            return r1 != 0 ? r2 : r3;
-        }
-        return r1;
-    }
-
-    private long logicalOrExpression() throws EvalException {
-        long r1 = logicalAndExpression();
-        while (LA() == IToken.tOR) {
-            consume();
-            long r2 = logicalAndExpression();
-            r1 = ((r1 != 0) || (r2 != 0)) ? 1 : 0;
-        }
-        return r1;
-    }
-
-    private long logicalAndExpression() throws EvalException {
-        long r1 = inclusiveOrExpression();
-        while (LA() == IToken.tAND) {
-            consume();
-            long r2 = inclusiveOrExpression();
-            r1 = ((r1 != 0) && (r2 != 0)) ? 1 : 0;
-        }
-        return r1;
-    }
-
-    private long inclusiveOrExpression() throws EvalException {
-        long r1 = exclusiveOrExpression();
-        while (LA() == IToken.tBITOR) {
-            consume();
-            long r2 = exclusiveOrExpression();
-            r1 = r1 | r2;
-        }
-        return r1;
-    }
-
-    private long exclusiveOrExpression() throws EvalException {
-        long r1 = andExpression();
-        while (LA() == IToken.tXOR) {
-            consume();
-            long r2 = andExpression();
-            r1 = r1 ^ r2;
-        }
-        return r1;
-    }
-
-    private long andExpression() throws EvalException {
-        long r1 = equalityExpression();
-        while (LA() == IToken.tAMPER) {
-            consume();
-            long r2 = equalityExpression();
-            r1 = r1 & r2;
-        }
-        return r1;
-    }
-
-    private long equalityExpression() throws EvalException {
-        long r1 = relationalExpression();
-        for (int t = LA(); t == IToken.tEQUAL || t == IToken.tNOTEQUAL; t = LA()) {
-            consume();
-            long r2 = relationalExpression();
-            if (t == IToken.tEQUAL)
-                r1 = (r1 == r2) ? 1 : 0;
-            else
-                // t == tNOTEQUAL
-                r1 = (r1 != r2) ? 1 : 0;
-        }
-        return r1;
-    }
-
-    private long relationalExpression() throws EvalException {
-        long r1 = shiftExpression();
-        for (int t = LA(); t == IToken.tLT || t == IToken.tLTEQUAL || t == IToken.tGT
-                || t == IToken.tGTEQUAL || t == IToken.tASSIGN; t = LA()) {
-            consume();
-            long r2 = shiftExpression();
-            switch (t) {
-            case IToken.tLT:
-                r1 = (r1 < r2) ? 1 : 0;
-                break;
-            case IToken.tLTEQUAL:
-                r1 = (r1 <= r2) ? 1 : 0;
-                break;
-            case IToken.tGT:
-                r1 = (r1 > r2) ? 1 : 0;
-                break;
-            case IToken.tGTEQUAL:
-                r1 = (r1 >= r2) ? 1 : 0;
-                break;
-            case IToken.tASSIGN:
-            	throw new EvalException(IProblem.SCANNER_ASSIGNMENT_NOT_ALLOWED, null);
-            }
-        }
-        return r1;
-    }
-
-    private long shiftExpression() throws EvalException {
-        long r1 = additiveExpression();
-        for (int t = LA(); t == IToken.tSHIFTL || t == IToken.tSHIFTR; t = LA()) {
-            consume();
-            long r2 = additiveExpression();
-            if (t == IToken.tSHIFTL)
-                r1 = r1 << r2;
-            else
-                // t == tSHIFTR
-                r1 = r1 >> r2;
-        }
-        return r1;
-    }
-
-    private long additiveExpression() throws EvalException {
-        long r1 = multiplicativeExpression();
-        for (int t = LA(); t == IToken.tPLUS || t == IToken.tMINUS; t = LA()) {
-            consume();
-            long r2 = multiplicativeExpression();
-            if (t == IToken.tPLUS)
-                r1 = r1 + r2;
-            else
-                // t == tMINUS
-                r1 = r1 - r2;
-        }
-        return r1;
-    }
-
-    private long multiplicativeExpression() throws EvalException {
-        long r1 = unaryExpression();
-        for (int t = LA(); t == IToken.tSTAR || t == IToken.tDIV || t == IToken.tMOD; t = LA()) {
-            consume();
-            long r2 = unaryExpression();
-            if (t == IToken.tSTAR)
-                r1 = r1 * r2;
-            else if (r2 != 0) {
-            	if (t == IToken.tDIV)
-            		r1 = r1 / r2;
-            	else
-            		r1 = r1 % r2;	//tMOD
-            } else {
-                throw new EvalException(IProblem.SCANNER_DIVIDE_BY_ZERO, null); 
-            }
-        }
-        return r1;
-    }
-
-    private long unaryExpression() throws EvalException {
-        switch (LA()) {
-        case IToken.tPLUS:
-            consume();
-            return unaryExpression();
-        case IToken.tMINUS:
-            consume();
-            return -unaryExpression();
-        case IToken.tNOT:
-            consume();
-            return unaryExpression() == 0 ? 1 : 0;
-        case IToken.tBITCOMPLEMENT:
-            consume();
-            return ~unaryExpression();
-        case IToken.tCHAR:
-        case IToken.tLCHAR:
-        case IToken.tINTEGER:
-        	long val= getValue(fTokens);
-        	consume();
-        	return val;
-        case IToken.t_true:
-        	consume();
-        	return 1;
-        case IToken.t_false:
-        	consume();
-        	return 0;
-        case CPreprocessor.tDEFINED:
-            return handleDefined();
-        case IToken.tLPAREN:
-            consume();
-            long r1 = expression();
-            if (LA() == IToken.tRPAREN) {
-                consume();
-                return r1;
-            }
-            throw new EvalException(IProblem.SCANNER_MISSING_R_PAREN, null); 
-        case IToken.tIDENTIFIER:
-        	consume();
-        	return 0;
-        // 16.1.4 alternate keywords are not replaced by a 0
-        case IToken.tAND:
-        case IToken.tOR:
-        case IToken.tBITOR:
-        case IToken.tBITORASSIGN:
-        case IToken.tXOR:
-        case IToken.tXORASSIGN:
-        case IToken.tAMPER:
-        case IToken.tAMPERASSIGN:
-        case IToken.tSTRING:
-        case IToken.tLSTRING:
-            throw new EvalException(IProblem.SCANNER_EXPRESSION_SYNTAX_ERROR, null); 
-        	
-        default:
-            // 16.1.4 keywords are replaced by 0
-        	final char[] image= fTokens.getCharImage();
-        	if (image.length > 0) {
-        		final char c= image[0];
-        		if ((c>='a' && c<='z') || (c>='A' && c<='Z') || c == '_' || c=='$' || c=='@')
-        			return 0;
-        	}
-            throw new EvalException(IProblem.SCANNER_EXPRESSION_SYNTAX_ERROR, null); 
-        }
-    }
-
-    private long handleDefined() throws EvalException {
-    	boolean parenthesis= false;
-    	consume();
-    	if (LA() == IToken.tLPAREN) {
-    		parenthesis= true;
-    		consume();
-    	}
-    	if (LA() != IToken.tIDENTIFIER) {
-    		throw new EvalException(IProblem.SCANNER_ILLEGAL_IDENTIFIER, null);
-    	}
-    	PreprocessorMacro macro= fDictionary.get(fTokens.getCharImage());
-    	if (macro != null) {
-    		fMacrosInDefinedExpressions.add(fLocationMap.encounterDefinedExpression(macro, fTokens.getOffset(), fTokens.getEndOffset()));
-    	}
-    	int result= macro != null ? 1 : 0;
-    	consume();
-    	if (parenthesis) {
-    		if (LA() != IToken.tRPAREN) {
-    			throw new EvalException(IProblem.SCANNER_MISSING_R_PAREN, null);
-    		}
-    		consume();
-    	}
-    	return result;
-    }
-
-    private int LA() {
-    	return fTokens.getType();
-    }
-
-    private void consume() {
-    	fTokens= (Token) fTokens.getNext();
-    	if (fTokens == null) {
-    		fTokens= new Token(IToken.tEND_OF_INPUT, null, 0, 0);
-    	}
-    }
-    
-    long getValue(Token t) throws EvalException {
-    	switch(t.getType()) {
-    	case IToken.tCHAR:
-    		return getChar(t.getCharImage(), 1);
-    	case IToken.tLCHAR:
-    		return getChar(t.getCharImage(), 2);
-    	case IToken.tINTEGER:
-    		return getNumber(t.getCharImage());
-    	}
-    	assert false;
-    	return 1;
-    }
-
-	private long getNumber(char[] image) throws EvalException {
-        boolean isHex = false;
-        boolean isOctal = false;
-
-        int pos= 0;
-        if (image.length > 1) {
-        	if (image[0] == '0') {
-        		switch (image[++pos]) {
-        		case 'x':
-        		case 'X':
-        			isHex = true;
-        			++pos;
-        			break;
-        		case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
-        			isOctal = true;
-        			++pos;
-        			break;
-        		}
-        	}
-        }
-        if (isHex) {
-        	return getNumber(image, 2, image.length, 16, IProblem.SCANNER_BAD_HEX_FORMAT);
-        }
-        if (isOctal) {
-        	return getNumber(image, 1, image.length, 8, IProblem.SCANNER_BAD_OCTAL_FORMAT);
-        }
-    	return getNumber(image, 0, image.length, 10, IProblem.SCANNER_BAD_DECIMAL_FORMAT);
-    }
-
-	private long getChar(char[] tokenImage, int i) throws EvalException {
-		if (i>=tokenImage.length) {
-			throw new EvalException(IProblem.SCANNER_BAD_CHARACTER, tokenImage);
-		}
-		final char c= tokenImage[i];
-		if (c != '\\') {
-			return c;
-		}
-
-		if (++i>=tokenImage.length) {
-			throw new EvalException(IProblem.SCANNER_BAD_CHARACTER, tokenImage);
-		}
-		final char d= tokenImage[i];
-		switch(d) {
-		case '\\': case '"': case '\'':
-			return d;
-		case 'a': return 7;
-		case 'b': return '\b';
-		case 'f': return '\f';
-		case 'n': return '\n';
-		case 'r': return '\r';
-		case 't': return '\t';
-		case 'v': return 0xb;
-		
-		case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7':
-			return getNumber(tokenImage, i+1, tokenImage.length-1, 8, IProblem.SCANNER_BAD_OCTAL_FORMAT);
-		
-		case 'x': case 'u': case 'U':
-			return getNumber(tokenImage, i+1, tokenImage.length-1, 16, IProblem.SCANNER_BAD_HEX_FORMAT);
-		default:
-			throw new EvalException(IProblem.SCANNER_BAD_CHARACTER, tokenImage);
-		}
-	}
-
-	private long getNumber(char[] tokenImage, int from, int to, int base, int problemID) throws EvalException {
-		if (from == to) {
-			throw new EvalException(problemID, tokenImage);
-		}
-		long result= 0;
-		int i= from;
-		for (; i < to; i++) {
-			int digit= getDigit(tokenImage[i]);
-			if (digit >= base) {
-				break;
-			}
-			result= result*base + digit;
-		}
-		for (; i < to; i++) {
-			switch(tokenImage[i]) {
-			case 'u' : case 'l': case 'U': case 'L':
-				break;
-			default:
-				throw new EvalException(problemID, tokenImage);
-			}
-		}
-		return result;
-	}
-
-	private int getDigit(char c) {
-		switch(c) {
-		case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
-			return c-'0';
-		case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
-			return c-'a' + 10;
-		case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
-			return c-'A'+10;
-		}
-		return Integer.MAX_VALUE;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/FileCodeReaderFactory.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/FileCodeReaderFactory.java
deleted file mode 100755
index e38e2df..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/FileCodeReaderFactory.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import org.eclipse.cdt.core.dom.ICodeReaderFactory;
-import org.eclipse.cdt.core.model.ITranslationUnit;
-import org.eclipse.cdt.core.parser.CodeReader;
-import org.eclipse.cdt.core.parser.ICodeReaderCache;
-//import org.eclipse.cdt.internal.core.dom.parser.EmptyCodeReaderCache;
-
-/**
- * @author jcamelon
- */
-public class FileCodeReaderFactory implements ICodeReaderFactory {
-
-    private static FileCodeReaderFactory instance;
-	private ICodeReaderCache cache = null;
-
-    private FileCodeReaderFactory(ICodeReaderCache cache)
-    {
-		this.cache = cache;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.dom.ICodeReaderFactory#getUniqueIdentifier()
-     */
-    public int getUniqueIdentifier() {
-        return 3;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.dom.ICodeReaderFactory#createCodeReaderForTranslationUnit(java.lang.String)
-     */
-    public CodeReader createCodeReaderForTranslationUnit(String path) {
-		return cache.get(path);
-	}
-
-    public CodeReader createCodeReaderForTranslationUnit(ITranslationUnit tu) {
-		return new CodeReader(tu.getPath().toOSString(), tu.getContents());
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.cdt.core.dom.ICodeReaderFactory#createCodeReaderForInclusion(org.eclipse.cdt.core.dom.ICodeReaderFactoryCallback, java.lang.String)
-     */
-    public CodeReader createCodeReaderForInclusion(String path) {
-		return cache.get(path);
-	}
-
-    /**
-     * @return
-     */
-    public static FileCodeReaderFactory getInstance() {
-        if( instance == null )
-            instance = new FileCodeReaderFactory(new EmptyCodeReaderCache());
-        return instance;
-    }
-
-	public ICodeReaderCache getCodeReaderCache() {
-		return cache;
-	}
-
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IIndexBasedCodeReaderFactory.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IIndexBasedCodeReaderFactory.java
deleted file mode 100755
index c22297d..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IIndexBasedCodeReaderFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import org.eclipse.cdt.core.dom.ICodeReaderFactory;
-import org.eclipse.photran.internal.core.preprocessor.c.IncludeFileContent.InclusionKind;
-
-/** 
- * The index based code-reader factory fakes the inclusion of files that are already indexed.
- * When trying to figure out whether a specific header has been included or not, the factory
- * has to be consulted.
- * @since 4.0.1
- */
-public interface IIndexBasedCodeReaderFactory extends ICodeReaderFactory {
-	/**
-	 * Returns whether or not the file has been included.
-	 */
-	boolean hasFileBeenIncludedInCurrentTranslationUnit(String path);
-	
-	/**
-	 * Create an InclusionContent object for the given location.
-     * return an inclusion content or <code>null</code> if the location does not exist.
-	 * @see IncludeFileContent
-	 */
-	public IncludeFileContent getContentForInclusion(String fileLocation);
-
-	/**
-	 * Check whether the specified inclusion exists.
-	 * @since 5.0
-	 */
-	boolean getInclusionExists(String finalPath);
-
-	/**
-	 * Returns a file-content object of kind {@link InclusionKind#FOUND_IN_INDEX}, representing
-	 * the content from the context of the given file up to where the file actually gets included.
-	 * @since 5.0
-	 */
-	IncludeFileContent getContentForContextToHeaderGap(String fileLocation);
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ILexerLog.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ILexerLog.java
deleted file mode 100755
index 8793d49..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ILexerLog.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import org.eclipse.cdt.core.parser.IProblem;
-
-/**
- * Interface between the lexer and the preprocessor for picking up warnings and comments.
- * @since 5.0
- */
-public interface ILexerLog {
-	ILexerLog NULL = new ILexerLog() {
-		public void handleComment(boolean isBlockComment, int offset, int endOffset) {}
-		public void handleProblem(int problemID, char[] info, int offset, int endOffset) {}
-	};
-
-	/**
-	 * A problem has been detected
-	 * @param problemID id as defined in {@link IProblem}
-	 * @param info additional info as required for {@link IProblem}.
-	 * @param offset The offset of the problem in the source of the lexer.
-	 * @param endOffset end offset of the problem in the source of the lexer.
-	 */
-	void handleProblem(int problemID, char[] info, int offset, int endOffset);
-
-	/**
-	 * A comment has been detected
-	 * @param isBlockComment <code>true</code> for block-comments, <code>false</code> for line-comments.
-	 * @param source the input of the lexer.
-	 * @param offset the offset where the comment starts
-	 * @param endOffset the offset where the comment ends
-	 */
-	void handleComment(boolean isBlockComment, int offset, int endOffset);
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ILocationCtx.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ILocationCtx.java
deleted file mode 100755
index 73ba3fa..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ILocationCtx.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-/**
- * Interface between location map and preprocessor for modeling contexts that can deal with offsets. 
- * These are:
- * synthetic contexts used for pre-included files, file-contexts, macro-expansions.
- * @since 5.0
- */
-public interface ILocationCtx {
-	
-	/**
-	 * If this is a file context the filename of this context is returned,
-	 * otherwise the filename of the first enclosing context that is a file context is returned.
-	 */
-	String getFilePath();
-
-	/**
-	 * Returns the enclosing context or <code>null</code> if this is the translation unit context.
-	 */
-	ILocationCtx getParent();
-
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ISkippedIndexedFilesListener.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ISkippedIndexedFilesListener.java
deleted file mode 100755
index 4dbcc7d..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ISkippedIndexedFilesListener.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-//import org.eclipse.cdt.internal.core.dom.parser.ASTNode;
-
-/**
- * Interface to listen for information about files skipped by the preprocessor,
- * because they are found in the index
- */
-public interface ISkippedIndexedFilesListener {
-
-	/**
-	 * Notifies the listeners that an include file has been skipped.
-	 * @param offset offset at which the file is included (see {@link ASTNode#getOffset()} 
-	 * @param fileContent information about the skipped file.
-	 */
-	void skippedFile(int offset, IncludeFileContent fileContent);
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IToken.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IToken.java
deleted file mode 100755
index c7ce609..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IToken.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    IBM Rational Software - Initial API and implementation
- *    Markus Schorn (Wind River Systems)
- *******************************************************************************/
-/**
- * Class edited by Matthew Michelotti.
- * 
- * Overview of changes:
- * -added two methods: getPrecedingWhiteSpace and getCharPrecedingWhiteSpace.
- *  These methods are supposed to return the ignored characters (typically
- *  white spaces) preceding the token as a String or a char[].
- * -added method setPrecedingWhiteSpace, to set the preceding white
- *  spaces after construction.
- * -added getParent and setParent methods
- * -added getOrigOffset method to get the original value of offset
- * 
- * -added getIncludeFile method
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-
-/**
- * @author jcamelon
- *
- */
-public interface IToken {
-	
-	// getters
-	public int getType();
-	public String getImage();
-	public char [] getCharImage();
-    public String getPrecedingWhiteSpace(); //added by MM
-    public char[] getCharPrecedingWhiteSpace(); //added by MM
-	public int getOffset();
-	public int getLength();
-	public int getEndOffset();
-	public IToken getNext();
-	public IToken getParent(); //added by MM
-	public int getOrigOffset(); //added by MM
-	
-	/**
-	 * Method added by MM.
-	 * If this token is an active include directive, return the
-	 * file path of the included file. Otherwise, return null.
-	 * @return file path or null
-	 */
-	public String getIncludeFile();
-	
-	
-	public void setNext(IToken t);
-	public void setType(int i);	
-    public void setPrecedingWhiteSpace(char[] whiteSpace); //added by MM
-    public void setParent(IToken parent); //added by MM
-
-	public boolean isOperator();
-	
-	
-	// Token types
-	int FIRST_RESERVED_PREPROCESSOR= -200;
-	int LAST_RESERVED_PREPROCESSOR= -101;
-	int FIRST_RESERVED_SCANNER= -100;
-	int LAST_RESERVED_SCANNER= -1;
-	
-	static public final int tIDENTIFIER = 1;
-	static public final int tINTEGER = 2;
-	static public final int tCOLONCOLON = 3;
-	static public final int tCOLON = 4;
-	static public final int tSEMI = 5;
-	static public final int tCOMMA = 6;
-	static public final int tQUESTION = 7;
-	static public final int tLPAREN = 8;
-	static public final int tRPAREN = 9;
-	static public final int tLBRACKET = 10;
-	static public final int tRBRACKET = 11;
-	static public final int tLBRACE = 12;
-	static public final int tRBRACE = 13;
-	static public final int tPLUSASSIGN = 14;
-	static public final int tINCR = 15;
-	static public final int tPLUS = 16;
-	static public final int tMINUSASSIGN = 17;
-	static public final int tDECR = 18;
-	static public final int tARROWSTAR = 19;
-	static public final int tARROW = 20;
-	static public final int tMINUS = 21;
-	static public final int tSTARASSIGN = 22;
-	static public final int tSTAR = 23;
-	static public final int tMODASSIGN = 24;
-	static public final int tMOD = 25;
-	static public final int tXORASSIGN = 26;
-	static public final int tXOR = 27;
-	static public final int tAMPERASSIGN = 28;
-	static public final int tAND = 29;
-	static public final int tAMPER = 30;
-	static public final int tBITORASSIGN = 31;
-	static public final int tOR = 32;
-	static public final int tBITOR = 33;
-	static public final int tBITCOMPLEMENT = 34;
-	static public final int tNOTEQUAL = 35;
-	static public final int tNOT = 36;
-	static public final int tEQUAL = 37;
-	static public final int tASSIGN = 38;
-	static public final int tUNKNOWN_CHAR= 39;
-	static public final int tSHIFTL = 40;
-	static public final int tLTEQUAL = 41;
-	static public final int tLT = 42;
-	static public final int tSHIFTRASSIGN = 43;
-	static public final int tSHIFTR = 44;
-	static public final int tGTEQUAL = 45;
-	static public final int tGT = 46;
-	static public final int tSHIFTLASSIGN = 47;
-	static public final int tELLIPSIS = 48;
-	static public final int tDOTSTAR = 49;
-	static public final int tDOT = 50;
-	static public final int tDIVASSIGN = 51;
-	static public final int tDIV = 52;
-	
-	/** @deprecated use {@link #tAND} */
-	@Deprecated
-	static public final int t_and = 54;
-	/** @deprecated use {@link #tAMPERASSIGN} */
-	@Deprecated
-	static public final int t_and_eq = 55;
-
-	static public final int t_asm = 56;
-	static public final int t_auto = 57;
-
-	/** @deprecated use {@link #tAMPER} */
-	@Deprecated
-	static public final int t_bitand = 58;
-	/** @deprecated use {@link #tBITOR} */
-	@Deprecated
-	static public final int t_bitor = 59;
-
-	static public final int t_bool = 60;
-	static public final int t_break = 61;
-	static public final int t_case = 62;
-	static public final int t_catch = 63;
-	static public final int t_char = 64;
-	static public final int t_class = 65;
-	
-	/** @deprecated use {@link #tBITCOMPLEMENT} */
-	@Deprecated
-	static public final int tCOMPL= tBITCOMPLEMENT;
-	/** @deprecated use {@link #tBITCOMPLEMENT} */
-	@Deprecated
-	static public final int t_compl = 66;
-
-	static public final int t_const = 67;
-	static public final int t_const_cast = 69;
-	static public final int t_continue = 70;
-	static public final int t_default = 71;
-	static public final int t_delete = 72;
-	static public final int t_do = 73;
-	static public final int t_double = 74;
-	static public final int t_dynamic_cast = 75;
-	static public final int t_else = 76;
-	static public final int t_enum = 77;
-	static public final int t_explicit = 78;
-	static public final int t_export = 79;
-	static public final int t_extern = 80;
-	static public final int t_false = 81;
-	static public final int t_float = 82;
-	static public final int t_for = 83;
-	static public final int t_friend = 84;
-	static public final int t_goto = 85;
-	static public final int t_if = 86;
-	static public final int t_inline = 87;
-	static public final int t_int = 88;
-	static public final int t_long = 89;
-	static public final int t_mutable = 90;
-	static public final int t_namespace = 91;
-	static public final int t_new = 92;
-
-	/** @deprecated use {@link #tNOT} */
-	@Deprecated
-	static public final int t_not = 93;
-	/** @deprecated use {@link #tNOTEQUAL} */	
-	@Deprecated
-	static public final int t_not_eq = 94;
-
-	static public final int t_operator = 95;
-	
-	/** @deprecated use {@link #tOR} */
-	@Deprecated
-	static public final int t_or = 96;
-	/** @deprecated use {@link #tBITORASSIGN} */
-	@Deprecated
-	static public final int t_or_eq = 97;
-
-	static public final int t_private = 98;
-	static public final int t_protected = 99;
-	static public final int t_public = 100;
-	static public final int t_register = 101;
-	static public final int t_reinterpret_cast = 102;
-	static public final int t_return = 103;
-	static public final int t_short = 104;
-	static public final int t_sizeof = 105;
-	static public final int t_static = 106;
-	static public final int t_static_cast = 107;
-	static public final int t_signed = 108;
-	static public final int t_struct = 109;
-	static public final int t_switch = 110;
-	static public final int t_template = 111;
-	static public final int t_this = 112;
-	static public final int t_throw = 113;
-	static public final int t_true = 114;
-	static public final int t_try = 115;
-	static public final int t_typedef = 116;
-	static public final int t_typeid = 117;
-	static public final int t_typename = 118;
-	static public final int t_union = 119;
-	static public final int t_unsigned = 120;
-	static public final int t_using = 121;
-	static public final int t_virtual = 122;
-	static public final int t_void = 123;
-	static public final int t_volatile = 124;
-	static public final int t_wchar_t = 125;
-	static public final int t_while = 126;
-	
-	/** @deprecated use {@link #tXOR} */
-	@Deprecated
-	static public final int t_xor = 127;
-	/** @deprecated use {@link #tXORASSIGN} */
-	@Deprecated
-	static public final int t_xor_eq = 128;
-	
-	static public final int tFLOATINGPT = 129;
-	static public final int tSTRING = 130;
-	static public final int tLSTRING = 131;
-	static public final int tCHAR = 132;
-	static public final int tLCHAR = 133;
-	static public final int t__Bool = 134;
-	static public final int t__Complex = 135;
-	static public final int t__Imaginary = 136;
-	static public final int t_restrict = 137;
-	
-	/** @deprecated don't use it */
-	@Deprecated
-	static public final int tMACROEXP = 138;
-	
-	static public final int tPOUND= 	  138;
-	static public final int tPOUNDPOUND = 139;
-	static public final int tCOMPLETION = 140;
-	static public final int tEOC = 141; // End of Completion
-	
-	/** @deprecated don't use it */
-	@Deprecated
-	static public final int tCOMMENT = 142;
-	/** @deprecated don't use it */
-	@Deprecated
-	static public final int tBLOCKCOMMENT = 143;
-	static public final int tEND_OF_INPUT= 144;
-	
-	int FIRST_RESERVED_IGCCToken		= 150;
-	int LAST_RESERVED_IGCCToken			= 199;
-	
-	int FIRST_RESERVED_IExtensionToken	= 243;
-	int LAST_RESERVED_IExtensionToken	= 299;
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ImageLocationInfo.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ImageLocationInfo.java
deleted file mode 100755
index 5e118db..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ImageLocationInfo.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-/**
- * Edited by Matthew Michelotti
- * 
- * Overview of changes:
- * -may have changed import statements
- * -Commented out sections of code which may significantly
- *  depend on the CDT version. May have deprecated a number of methods
- *  with commented code.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import org.eclipse.cdt.core.dom.ast.IASTFileLocation;
-import org.eclipse.cdt.core.dom.ast.IASTImageLocation;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition;
-
-/**
- * Information needed for computing image-locations. An image location exists for a name and describes where the name
- * came from. This can be: source code, macro-expansion, parameter to macro-expansion or synthetic.
- * 
- * @since 5.0
- */
-public abstract class ImageLocationInfo {
-
-	public static final ImageLocationInfo[] NO_LOCATION_INFOS= {};
-
-	int fTokenOffsetInExpansion= -1;
-
-	public abstract IASTImageLocation createLocation(LocationMap lm, ImageLocationInfo upto);
-	public abstract boolean canConcatenate(ImageLocationInfo info);
-
-	public static class MacroImageLocationInfo extends ImageLocationInfo {
-		private final ObjectStyleMacro fMacro;
-		private final int fOffset;
-		private final int fEndOffset;
-		public MacroImageLocationInfo(ObjectStyleMacro macro, int offset, int endOffset) {
-			fMacro= macro;
-			fOffset= offset;
-			fEndOffset= endOffset;
-		}
-		
-		@Override
-	    @Deprecated
-	    //functionality removed for stability with CDT version
-		public IASTImageLocation createLocation(LocationMap lm, ImageLocationInfo upto) {
-			/*IASTPreprocessorMacroDefinition md= lm.getMacroDefinition(fMacro);
-			IASTFileLocation expansionLoc= md.getExpansionLocation();
-			if (expansionLoc != null) {
-				final int length= ((MacroImageLocationInfo) upto).fEndOffset - fOffset;
-				return new ASTImageLocation(IASTImageLocation.MACRO_DEFINITION,
-						expansionLoc.getFileName(), expansionLoc.getNodeOffset() + fOffset, length);
-			}
-			return null;*/
-			return null;
-		}
-
-		@Override
-		public boolean canConcatenate(ImageLocationInfo info) {
-			if (info instanceof MacroImageLocationInfo) {
-				MacroImageLocationInfo mli= (MacroImageLocationInfo) info;
-				if (mli.fMacro == fMacro &&	fEndOffset <= mli.fOffset) {
-					return true;
-				}
-			}
-			return false;
-		}
-	}
-	
-	public static class ParameterImageLocationInfo extends ImageLocationInfo {
-		public int fSequenceNumber;
-		public int fSequenceEndNumber;
-		public ParameterImageLocationInfo(int sequenceNumber, int sequenceEndNumber) {
-			fSequenceNumber= sequenceNumber;
-			fSequenceEndNumber= sequenceEndNumber;
-		}
-		@Override
-		public IASTImageLocation createLocation(LocationMap lm, ImageLocationInfo upto) {
-			int sequenceEnd= ((ParameterImageLocationInfo) upto).fSequenceEndNumber;
-			IASTFileLocation loc= lm.getMappedFileLocation(fSequenceNumber, sequenceEnd-fSequenceNumber);
-			if (loc != null) {
-				return new ASTImageLocation(IASTImageLocation.ARGUMENT_TO_MACRO_EXPANSION,
-						loc.getFileName(), loc.getNodeOffset(), loc.getNodeLength());
-			}
-			return null;
-		}
-		
-		@Override
-		public boolean canConcatenate(ImageLocationInfo info) {
-			if (info instanceof ParameterImageLocationInfo) {
-				ParameterImageLocationInfo pli= (ParameterImageLocationInfo) info;
-				if (fSequenceEndNumber <= pli.fSequenceNumber) {
-					return true;
-				}
-			}
-			return false;
-		}
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IncludeFileContent.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IncludeFileContent.java
deleted file mode 100755
index 79854f3..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/IncludeFileContent.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.List;
-
-import org.eclipse.cdt.core.dom.ast.cpp.ICPPUsingDirective;
-import org.eclipse.cdt.core.index.IIndexFile;
-import org.eclipse.cdt.core.index.IIndexMacro;
-import org.eclipse.cdt.core.parser.CodeReader;
-
-/**
- * Instructs the preprocessor on how to handle a file-inclusion.
- * @since 5.0
- */
-public class IncludeFileContent {
-	public enum InclusionKind {
-		/**
-		 * Instruct the preprocessor to skip this inclusion. 
-		 */
-		SKIP_FILE,
-		/**
-		 * The file and its dependents are indexed, required information is read
-		 * from there.
-		 */
-		FOUND_IN_INDEX,
-		/**
-		 * The file has to be scanned, a code reader is provided.
-		 */
-		USE_CODE_READER
-	}
-
-	private final InclusionKind fKind;
-	private final CodeReader fCodeReader;
-	private final List<IIndexMacro> fMacroDefinitions;
-	private final List<ICPPUsingDirective> fUsingDirectives;
-	private final String fFileLocation;
-	private List<IIndexFile> fFiles;
-	
-	/**
-	 * For skipping include files.
-	 * @param fileLocation the location of the file.
-	 * @param kind must be {@link InclusionKind#SKIP_FILE}.
-	 * @throws IllegalArgumentException if fileLocation is <code>null</code> or the kind value is illegal for
-	 * this constructor.
-	 */
-	public IncludeFileContent(String fileLocation, InclusionKind kind) throws IllegalArgumentException {
-		if (fileLocation == null || kind != InclusionKind.SKIP_FILE) {
-			throw new IllegalArgumentException();
-		}
-		fKind= kind;
-		fFileLocation= fileLocation;
-		fMacroDefinitions= null;
-		fUsingDirectives= null;
-		fCodeReader= null;
-	}
-
-	/**
-	 * For reading include files from disk.
-	 * @param codeReader the code reader for the inclusion.
-	 * @throws IllegalArgumentException in case the codeReader or its location is <code>null</code>.
-	 */
-	public IncludeFileContent(CodeReader codeReader) throws IllegalArgumentException {
-		if (codeReader == null) {
-			throw new IllegalArgumentException();
-		}
-		fKind= InclusionKind.USE_CODE_READER;
-		fFileLocation= codeReader.getPath();
-		fCodeReader= codeReader;
-		fMacroDefinitions= null;
-		fUsingDirectives= null;
-		if (fFileLocation == null) {
-			throw new IllegalArgumentException();
-		}
-	}
-
-	/**
-	 * For using information about an include file from the index.
-	 * @param fileLocation the location of the file
-	 * @param macroDefinitions a list of macro definitions
-	 * @param files 
-	 * @throws IllegalArgumentException in case the fileLocation or the macroDefinitions are <code>null</code>.
-	 */
-	public IncludeFileContent(String fileLocation, List<IIndexMacro> macroDefinitions, List<ICPPUsingDirective> usingDirectives,
-			List<IIndexFile> files) {
-		fKind= InclusionKind.FOUND_IN_INDEX;
-		fFileLocation= fileLocation;
-		fCodeReader= null;
-		fUsingDirectives= usingDirectives;
-		fMacroDefinitions= macroDefinitions;
-		fFiles= files;
-	}
-
-	/**
-	 * @return the kind
-	 */
-	public InclusionKind getKind() {
-		return fKind;
-	}
-
-	/**
-	 * Returns the location of the file to be included.
-	 */
-	public String getFileLocation() {
-		return fFileLocation;
-	}
-
-	/**
-	 * Valid with {@link InclusionKind#USE_CODE_READER}.
-	 * @return the codeReader or <code>null</code> if kind is different to {@link InclusionKind#USE_CODE_READER}.
-	 */
-	public CodeReader getCodeReader() {
-		return fCodeReader;
-	}
-
-	/**
-	 * Valid with {@link InclusionKind#FOUND_IN_INDEX}.
-	 * @return the macroDefinitions or <code>null</code> if kind is different to {@link InclusionKind#FOUND_IN_INDEX}.
-	 */
-	public List<IIndexMacro> getMacroDefinitions() {
-		return fMacroDefinitions;
-	}
-
-	/**
-	 * Valid with {@link InclusionKind#FOUND_IN_INDEX}.
-	 * @return the usingDirectives or <code>null</code> if kind is different to {@link InclusionKind#FOUND_IN_INDEX}.
-	 */
-	public List<ICPPUsingDirective> getUsingDirectives() {
-		return fUsingDirectives;
-	}
-
-	/**
-	 * Valid with {@link InclusionKind#FOUND_IN_INDEX}.
-	 * @return the files included or <code>null</code> if kind is different to {@link InclusionKind#FOUND_IN_INDEX}.
-	 */
-	public List<IIndexFile> getFilesIncluded() {
-		return fFiles;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/InternalParserUtil.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/InternalParserUtil.java
deleted file mode 100644
index 2cfc471..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/InternalParserUtil.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Photran modifications
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.eclipse.cdt.core.parser.CodeReader;
-import org.eclipse.cdt.core.parser.ParserFactory;
-
-/**
- * @author jcamelon
- */
-public class InternalParserUtil extends ParserFactory {
-
-	public static CodeReader createFileReader(String finalPath) {
-		File includeFile = new File(finalPath);
-		if (includeFile.isFile()) {
-			try {
-			    //use the canonical path so that in case of non-case-sensitive OSs
-			    //the CodeReader always has the same name as the file on disk with
-			    //no differences in case.
-				return new CodeReader(includeFile.getCanonicalPath());
-			} catch (IOException e) {
-			}
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/Lexer.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/Lexer.java
deleted file mode 100755
index 21f236b..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/Lexer.java
+++ /dev/null
@@ -1,1248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-/**
- * Class edited by Matthew Michelotti.
- * 
- * Overview of changes to Lexer:
- * -Redirected the original IToken, Token, TokenWithImage, TokenForDigraph,
- *  and OffsetLimitReachedException class references to references in my
- *  package of edited versions of those classes.
- * -Changed the fetchToken function to construct tokens which remember
- *  the white spaces that proceed them. This was done by making a new int
- *  named spacesStart which corresponds to the start index of the spaces,
- *  and passing this as an extra variable to all of the token-generating
- *  functions that fetchToken calls.
- * -Updated the functions newToken (2 functions with this name),
- *  stringLiteral, charLiteral, identifier, headerName, number, and
- *  newDigraphToken to accept an additional parameter called spacesStart.
- *  These functions are all called by fetchToken to get a certain type
- *  of token. I changed the code so that it would also obtain the
- *  characters from spacesStart to offset, consider these to be white-space
- *  characters, and add them to the token using my edited constructors
- *  for Token, TokenWithImage, and TokenForDigraph.
- *  
- * -Added a field called fParentToken, which is an IToken that will be
- *  set as the parent of each token that this lexer fetches.
- * -Re-named fetchToken method as innerFetchToken, and made a new fetchToken
- *  method. The new fetchToken method will call innerFetchToken, and also
- *  adds the field fParentToken to the token. NOTE: this functionality should
- *  probably be moved to the original function in the future, to avoid
- *  a wrapper function
- * -Added a constructor that allows fParentToken to be passed in as an
- *  argument.
- *  
- * -Added a function getRawChars to get characters from fInput given
- *  an offset and endOffset.
- *  
- * -Edited the new fetchToken function to remember trigraphs and "\r\n" 's
- *  as parents of the constructed token, by checking if the length of the
- *  token image matches the difference in start and end offset.
- * -Added a token type tPRE_PHASE_3 which represents a token parent for
- *  a trigraph or "\r\n" ( which is changed in nextCharPhase3() )
- * 
- * 
- * Note: These modifications give tokens information about the white
- * spaces that come before them. This includes '\\' and '\n' characters in
- * line-splices, and comments. No modifications were made to the
- * nextDirective method.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import org.eclipse.cdt.core.parser.IGCCToken;
-import org.eclipse.cdt.core.parser.IProblem;
-
-/**
- * In short this class converts line endings (to '\n') and trigraphs 
- * (to their corresponding character), 
- * removes line-splices, comments and whitespace other than newline.
- * Returns preprocessor tokens.
- * <p>
- * In addition to the preprocessor tokens the following tokens may also be returned:
- * {@link #tBEFORE_INPUT}, {@link IToken#tEND_OF_INPUT}, {@link IToken#tCOMPLETION}.
- * <p>
- * Number literals are split up into {@link IToken#tINTEGER} and {@link IToken#tFLOATINGPT}. 
- * No checks are done on the number literals.
- * <p>
- * UNCs are accepted, however characters from outside of the basic source character set are
- * not converted to UNCs. Rather than that they are tested with 
- * {@link Character#isUnicodeIdentifierPart(char)} and may be accepted as part of an 
- * identifier.
- * <p>
- * The characters in string literals and char-literals are left as they are found, no conversion to
- * an execution character-set is performed.
- */
-
-final public class Lexer {
-    public static final int tBEFORE_INPUT   = IToken.FIRST_RESERVED_SCANNER;
-    public static final int tNEWLINE        = IToken.FIRST_RESERVED_SCANNER + 1;
-    public static final int tQUOTE_HEADER_NAME    = IToken.FIRST_RESERVED_SCANNER + 2;
-    public static final int tSYSTEM_HEADER_NAME   = IToken.FIRST_RESERVED_SCANNER + 3;
-    public static final int tOTHER_CHARACTER      = IToken.FIRST_RESERVED_SCANNER + 4;
-    
-    public static final int tPRE_PHASE_3    = IToken.FIRST_RESERVED_SCANNER + 5; //added by MM
-    
-    private static final int END_OF_INPUT = -1;
-    private static final int ORIGIN_LEXER = OffsetLimitReachedException.ORIGIN_LEXER;
-    
-    public final static class LexerOptions implements Cloneable {
-        /**is '$' an allowed character of an identifier*/
-        public boolean fSupportDollarInIdentifiers= true;
-        /**is '@' an allowed character of an identifier*/
-        public boolean fSupportAtSignInIdentifiers= true;
-        /**should "&lt;?" and ">?" be IGCCToken.tMIN/tMAX tokens*/
-        public boolean fSupportMinAndMax= true;
-        /**not used by Lexer class...*/
-        public boolean fCreateImageLocations= true;
-        /**is "/% ... %/" treated as a comment*/
-        public boolean fSupportSlashPercentComments= false;
-        
-        @Override
-        public Object clone() {
-            try {
-                return super.clone();
-            } catch (CloneNotSupportedException e) {
-                return null;
-            }
-        }
-    }
-
-    // configuration
-    private final LexerOptions fOptions;
-    /**when true, handles END_OF_INPUT token differently*/
-    private boolean fSupportContentAssist= false;
-    private final ILexerLog fLog;
-    /**the source Object for all Tokens that this Lexer makes*/
-    private final Object fSource;
-    
-    // the input to the lexer
-    /**array of characters to parse*/
-    private final char[] fInput;
-    /**fInput index of place to start parsing*/
-    private int fStart;
-    /**fInput index of place to stop parsing*/
-    private int fLimit;
-
-    // after phase 3 (newline, trigraph, line-splice)
-    /**offset of fCharPhase3 character, trigraph, or "\r\n"*/
-    private int fOffset;
-    /**end of offset of fCharPhase3 character, trigraph, or "\r\n"*/
-    private int fEndOffset;
-    /**A char or END_OF_INPUT. This is the current char represented by
-     * a char in the input, a trigraph, or a "\r\n".*/
-    private int fCharPhase3;
-    
-    private boolean fInsideIncludeDirective= false;
-    private Token fToken;
-    private Token fLastToken;
-    
-    // for the few cases where we have to lookahead more than one character
-    // ( these variables are only used by markPhase3() and restorePhase3() )
-    private int fMarkOffset;
-    private int fMarkEndOffset;
-    private int fMarkPrefetchedChar;
-    
-    /**If applicable, this is the "#include" token that invoked this Lexer*/
-    private IToken fParentToken = null; //added by MM
-    
-    
-    public Lexer(char[] input, LexerOptions options, ILexerLog log, Object source) {
-        this(input, 0, input.length, options, log, source);
-    }
-    
-    //function added by MM
-    public Lexer(char[] input, LexerOptions options, ILexerLog log, Object source, IToken parentToken) {
-        this(input, 0, input.length, options, log, source);
-        fParentToken = parentToken;
-    }
-
-    public Lexer(char[] input, int start, int end, LexerOptions options, ILexerLog log, Object source) {
-        fInput= input;
-        fStart= fOffset= fEndOffset= start;
-        fLimit= end;
-        fOptions= options;
-        fLog= log;
-        fSource= source;
-        fLastToken= fToken= new Token(tBEFORE_INPUT, source, start, start);
-        nextCharPhase3();
-    }
-    
-    //added by MM
-    public char[] getRawChars(int offset, int endOffset) {
-        if(offset < fStart || endOffset > fLimit) return null;
-        char[] result = new char[endOffset-offset];
-        System.arraycopy(fInput, offset, result, 0, result.length);
-        return result;
-    }
-    
-    //added by MM
-    public IToken getParentToken() {
-        return fParentToken;
-    }
-    
-    /**
-     * Returns the source that is attached to the tokens generated by this lexer
-     */
-    public Object getSource() {
-        return fSource;
-    }
-
-    /**
-     * Resets the lexer to the first char and prepares for content-assist mode. 
-     */
-    public void setContentAssistMode(int offset) {
-        fSupportContentAssist= true;
-        fLimit= Math.min(offset, fInput.length);
-        // re-initialize 
-        fOffset= fEndOffset= fStart;
-        nextCharPhase3();
-    }
-
-    /**
-     * Call this before consuming the name-token in the include directive. It causes the header-file 
-     * tokens to be created. 
-     */
-    public void setInsideIncludeDirective(boolean val) {
-        fInsideIncludeDirective= val;
-    }
-    
-    /** 
-     * Returns the current preprocessor token, does not advance.
-     */
-    public Token currentToken() {
-        return fToken;
-    }
-
-    /**
-     * Returns the endoffset of the token before the current one.
-     */
-    public int getLastEndOffset() {
-        return fLastToken.getEndOffset();
-    }
-
-    /**
-     * Advances to the next token, skipping whitespace other than newline.
-     * @throws OffsetLimitReachedException when completion is requested in a literal or a header-name.
-     */
-    public Token nextToken() throws OffsetLimitReachedException {
-        fLastToken= fToken;
-        return fToken= fetchToken();
-    }
-
-    public boolean currentTokenIsFirstOnLine() {
-        final int type= fLastToken.getType();
-        return type == tNEWLINE || type == tBEFORE_INPUT;
-    }
-    
-    /**
-     * Advances to the next newline or the end of input. The newline will not be consumed. If the
-     * current token is a newline no action is performed.
-     * Returns the end offset of the last token before the newline. 
-     * @param origin parameter for the {@link OffsetLimitReachedException} when it has to be thrown.
-     * @since 5.0
-     */
-    @SuppressWarnings("fallthrough")
-    public final int consumeLine(int origin) throws OffsetLimitReachedException {
-        Token t= fToken;
-        Token lt= null;
-        while(true) {
-            switch(t.getType()) {
-            case IToken.tCOMPLETION:
-                if (lt != null) {
-                    fLastToken= lt;
-                }
-                fToken= t;
-                throw new OffsetLimitReachedException(origin, t);
-            case IToken.tEND_OF_INPUT:
-                if (fSupportContentAssist) {
-                    t.setType(IToken.tCOMPLETION);
-                    throw new OffsetLimitReachedException(origin, t);
-                }
-                // no break;
-            case Lexer.tNEWLINE:
-                fToken= t;
-                if (lt != null) {
-                    fLastToken= lt;
-                }
-                return getLastEndOffset();
-            }
-            lt= t;
-            t= fetchToken();
-        }
-    }
-
-    /** 
-     * Advances to the next pound token that starts a preprocessor directive. 
-     * @return pound token of the directive or end-of-input.
-     * @throws OffsetLimitReachedException when completion is requested in a literal or an header-name.
-     */
-    public Token nextDirective() throws OffsetLimitReachedException {
-        fInsideIncludeDirective= false;
-        final Token t= fToken;
-        boolean haveNL= t==null || t.getType() == tNEWLINE;
-        while(true) {
-            final boolean hadNL= haveNL;
-            haveNL= false;
-            final int start= fOffset;
-            final int c= fCharPhase3;
-            
-            // optimization avoids calling nextCharPhase3
-            int d;
-            final int pos= fEndOffset;
-            if (pos+1 >= fLimit) {
-                d= nextCharPhase3();
-            }
-            else {
-                d= fInput[pos];
-                switch(d) {
-                case '\\': 
-                    d= nextCharPhase3();
-                    break;
-                case '?':
-                    if (fInput[pos+1] == '?') {
-                        d= nextCharPhase3();
-                        break;
-                    }
-                    fOffset= pos;
-                    fCharPhase3= d;
-                    fEndOffset= pos+1;
-                    break;
-                default:
-                    fOffset= pos;
-                    fCharPhase3= d;
-                    fEndOffset= pos+1;
-                    break;
-                }
-            }
-
-            switch(c) {
-            case END_OF_INPUT:
-                fLastToken= fToken= newToken(IToken.tEND_OF_INPUT, start, start);
-                return fToken;
-            case '\n':
-                haveNL= true;
-                continue;
-            case ' ':
-            case '\t':
-            case 0xb:  // vertical tab
-            case '\f': 
-            case '\r':
-                haveNL= hadNL;
-                continue;
-                
-            case '"':
-                stringLiteral(start, start, false);
-                continue;
-
-            case '\'':
-                charLiteral(start, start, false);
-                continue;
-
-            case '/':
-                switch (d) {
-                case '/':
-                    nextCharPhase3();
-                    lineComment(start);
-                    continue; 
-                case '*':
-                    blockComment(start, '*');
-                    continue;
-                case '%':
-                    if (fOptions.fSupportSlashPercentComments) {
-                        blockComment(start, '%');
-                    }
-                    continue;
-                }
-                continue;
-            
-            case '%':
-                if (hadNL) {
-                    if (d == ':') {
-                        // found at least '#'
-                        final int e= nextCharPhase3();
-                        if (e == '%') {
-                            markPhase3();
-                            if (nextCharPhase3() == ':') {
-                                // found '##'
-                                nextCharPhase3();
-                                continue;
-                            }
-                            restorePhase3();
-                        }
-                        fLastToken= new Token(tNEWLINE, fSource, 0, start); // offset not significant
-                        fToken= newDigraphToken(IToken.tPOUND, start, start);
-                        return fToken;
-                    }
-                }
-                continue;
-
-            case '#':
-                if (hadNL && d != '#') {
-                    fLastToken= new Token(tNEWLINE, fSource, 0, start); // offset not significant
-                    fToken= newToken(IToken.tPOUND, start, start);
-                    return fToken;
-                }
-                continue;
-
-            default:
-                continue;
-            }
-        }
-    }
-    
-    //added by MM (re-named original fetchToken...)
-    private Token fetchToken() throws OffsetLimitReachedException {
-        Token t = innerFetchToken();
-        Token ancestor = t;
-        
-        //remember a parent token for trigraphs and "\r\n"
-        int tOffset = t.getOffset();
-        int tEndOffset = t.getEndOffset();
-        
-        int charImageLength;
-        if(t.getType() == tNEWLINE) charImageLength = 1;
-        else charImageLength = t.getCharImage().length;
-        
-        if(tEndOffset - tOffset != charImageLength) {
-            Token invoker = new TokenWithImage(tPRE_PHASE_3, fSource, tOffset, tEndOffset, this.getRawChars(tOffset, tEndOffset), t.getCharPrecedingWhiteSpace());
-            ancestor.setParent(invoker);
-            ancestor = invoker;
-        }
-        
-        
-        //if applicable, make an "#include" directive be a parent of this token
-        if(fParentToken != null) ancestor.setParent(fParentToken);
-        
-        return t;
-    }
-    
-    /**
-     * Computes the next token.
-     */
-    private Token innerFetchToken() throws OffsetLimitReachedException {
-        final int spacesStart = fOffset;
-        
-        while(true) {
-            final int start= fOffset;
-            final int c= fCharPhase3;
-            final int d= nextCharPhase3();
-            switch(c) {
-            case END_OF_INPUT:
-                return newToken(IToken.tEND_OF_INPUT, spacesStart, start);
-            case '\n':
-                fInsideIncludeDirective= false;
-                return newToken(Lexer.tNEWLINE, spacesStart, start);
-            case ' ':
-            case '\t':
-            case 0xb:  // vertical tab
-            case '\f': 
-            case '\r':
-                continue;
-
-            case 'L':
-                switch(d) {
-                case '"':
-                    nextCharPhase3();
-                    return stringLiteral(spacesStart, start, true);
-                case '\'':
-                    nextCharPhase3();
-                    return charLiteral(spacesStart, start, true);
-                }
-                return identifier(spacesStart, start, 1);
-
-            case '"':
-                if (fInsideIncludeDirective) {
-                    return headerName(spacesStart, start, true);
-                }
-                return stringLiteral(spacesStart, start, false);
-
-            case '\'':
-                return charLiteral(spacesStart, start, false);
-
-            case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': 
-            case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': 
-            case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z':
-            case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I':
-            case 'J': case 'K':           case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': 
-            case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z':
-            case '_':
-                return identifier(spacesStart, start, 1);
-
-            case '$':
-                if (fOptions.fSupportDollarInIdentifiers) {
-                    return identifier(spacesStart, start, 1);
-                }
-                break;
-            case '@':
-                if (fOptions.fSupportAtSignInIdentifiers) {
-                    return identifier(spacesStart, start, 1);
-                }
-                break;
-
-            case '\\':
-                switch(d) {
-                case 'u': case 'U':
-                    nextCharPhase3();
-                    return identifier(spacesStart, start, 2);
-                }
-                return newToken(tOTHER_CHARACTER, spacesStart, start, 1);
-
-            case '0': case '1': case '2': case '3': case '4':
-            case '5': case '6': case '7': case '8': case '9':
-                return number(spacesStart, start, 1, false);
-
-            case '.':
-                switch(d) {
-                case '0': case '1': case '2': case '3': case '4':
-                case '5': case '6': case '7': case '8': case '9':
-                    nextCharPhase3();
-                    return number(spacesStart, start, 2, true);
-
-                case '.':
-                    markPhase3();
-                    if (nextCharPhase3() == '.') {
-                        nextCharPhase3();
-                        return newToken(IToken.tELLIPSIS, spacesStart, start);
-                    }
-                    restorePhase3();
-                    break;
-
-                case '*':
-                    nextCharPhase3();
-                    return newToken(IToken.tDOTSTAR, spacesStart, start);
-                }
-                return newToken(IToken.tDOT, spacesStart, start);
-
-            case '#':
-                if (d == '#') {
-                    nextCharPhase3();
-                    return newToken(IToken.tPOUNDPOUND, spacesStart, start);
-                }
-                return newToken(IToken.tPOUND, spacesStart, start);
-
-            case '{':
-                return newToken(IToken.tLBRACE, spacesStart, start);
-            case '}':
-                return newToken(IToken.tRBRACE, spacesStart, start);
-            case '[':
-                return newToken(IToken.tLBRACKET, spacesStart, start);
-            case ']':
-                return newToken(IToken.tRBRACKET, spacesStart, start);
-            case '(':
-                return newToken(IToken.tLPAREN, spacesStart, start);
-            case ')':
-                return newToken(IToken.tRPAREN, spacesStart, start);
-            case ';':
-                return newToken(IToken.tSEMI, spacesStart, start);
-
-            case ':':
-                switch(d) {
-                case ':':
-                    nextCharPhase3();
-                    return newToken(IToken.tCOLONCOLON, spacesStart, start);
-                case '>': 
-                    nextCharPhase3();
-                    return newDigraphToken(IToken.tRBRACKET, spacesStart, start);
-                }
-                return newToken(IToken.tCOLON, spacesStart, start);
-
-            case '?':
-                return newToken(IToken.tQUESTION, spacesStart, start);
-
-            case '+':
-                switch (d) {
-                case '+':
-                    nextCharPhase3();
-                    return newToken(IToken.tINCR, spacesStart, start);
-                case '=':
-                    nextCharPhase3();
-                    return newToken(IToken.tPLUSASSIGN, spacesStart, start);
-                }
-                return newToken(IToken.tPLUS, spacesStart, start);
-
-            case '-':
-                switch (d) {
-                case '>': 
-                    int e= nextCharPhase3();
-                    if (e == '*') {
-                        nextCharPhase3();
-                        return newToken(IToken.tARROWSTAR, spacesStart, start);
-                    }
-                    return newToken(IToken.tARROW, spacesStart, start);
-
-                case '-':
-                    nextCharPhase3();
-                    return newToken(IToken.tDECR, spacesStart, start);
-                case '=':
-                    nextCharPhase3();
-                    return newToken(IToken.tMINUSASSIGN, spacesStart, start);
-                }
-                return newToken(IToken.tMINUS, spacesStart, start);
-
-            case '*':
-                if (d == '=') {
-                    nextCharPhase3();
-                    return newToken(IToken.tSTARASSIGN, spacesStart, start);
-                }
-                return newToken(IToken.tSTAR, spacesStart, start);
-
-            case '/':
-                switch (d) {
-                case '=':
-                    nextCharPhase3();
-                    return newToken(IToken.tDIVASSIGN, spacesStart, start);
-                case '/':
-                    nextCharPhase3();
-                    lineComment(start);
-                    continue; 
-                case '*':
-                    blockComment(start, '*');
-                    continue;
-                case '%':
-                    if (fOptions.fSupportSlashPercentComments) {
-                        blockComment(start, '%');
-                        continue;
-                    }
-                    break;
-                }
-                return newToken(IToken.tDIV, spacesStart, start);
-
-            case '%':
-                switch (d) {
-                case '=':
-                    nextCharPhase3();
-                    return newToken(IToken.tMODASSIGN, spacesStart, start);
-                case '>':
-                    nextCharPhase3();
-                    return newDigraphToken(IToken.tRBRACE, spacesStart, start);
-                case ':':
-                    final int e= nextCharPhase3();
-                    if (e == '%') {
-                        markPhase3();
-                        if (nextCharPhase3() == ':') {
-                            nextCharPhase3();
-                            return newDigraphToken(IToken.tPOUNDPOUND, spacesStart, start);
-                        }
-                        restorePhase3();
-                    }
-                    return newDigraphToken(IToken.tPOUND, spacesStart, start);
-                }
-                return newToken(IToken.tMOD, spacesStart, start);
-
-            case '^':
-                if (d == '=') {
-                    nextCharPhase3();
-                    return newToken(IToken.tXORASSIGN, spacesStart, start);
-                }
-                return newToken(IToken.tXOR, spacesStart, start);
-
-            case '&':
-                switch (d) {
-                case '&':
-                    nextCharPhase3();
-                    return newToken(IToken.tAND, spacesStart, start);
-                case '=':
-                    nextCharPhase3();
-                    return newToken(IToken.tAMPERASSIGN, spacesStart, start);
-                }
-                return newToken(IToken.tAMPER, spacesStart, start);
-
-            case '|':
-                switch (d) {
-                case '|':
-                    nextCharPhase3();
-                    return newToken(IToken.tOR, spacesStart, start);
-                case '=':
-                    nextCharPhase3();
-                    return newToken(IToken.tBITORASSIGN, spacesStart, start);
-                }
-                return newToken(IToken.tBITOR, spacesStart, start);
-
-            case '~':
-                return newToken(IToken.tBITCOMPLEMENT, spacesStart, start);
-
-            case '!':
-                if (d == '=') {
-                    nextCharPhase3();
-                    return newToken(IToken.tNOTEQUAL, spacesStart, start);
-                }
-                return newToken(IToken.tNOT, spacesStart, start);
-
-            case '=':
-                if (d == '=') {
-                    nextCharPhase3();
-                    return newToken(IToken.tEQUAL, spacesStart, start);
-                }
-                return newToken(IToken.tASSIGN, spacesStart, start);
-
-            case '<':
-                if (fInsideIncludeDirective) {
-                    return headerName(spacesStart, start, false);
-                }
-
-                switch(d) {
-                case '=':
-                    nextCharPhase3();
-                    return newToken(IToken.tLTEQUAL, spacesStart, start);
-                case '<':
-                    final int e= nextCharPhase3();
-                    if (e == '=') {
-                        nextCharPhase3();
-                        return newToken(IToken.tSHIFTLASSIGN, spacesStart, start);
-                    } 
-                    return newToken(IToken.tSHIFTL, spacesStart, start);
-                case '?':
-                    if (fOptions.fSupportMinAndMax) {
-                        nextCharPhase3();
-                        return newToken(IGCCToken.tMIN, spacesStart, start);
-                    } 
-                    break;
-                case ':':
-                    nextCharPhase3();
-                    return newDigraphToken(IToken.tLBRACKET, spacesStart, start);
-                case '%':
-                    nextCharPhase3();
-                    return newDigraphToken(IToken.tLBRACE, spacesStart, start);
-                }
-                return newToken(IToken.tLT, spacesStart, start);
-
-            case '>':
-                switch(d) {
-                case '=':
-                    nextCharPhase3();
-                    return newToken(IToken.tGTEQUAL, spacesStart, start);
-                case '>':
-                    final int e= nextCharPhase3();
-                    if (e == '=') {
-                        nextCharPhase3();
-                        return newToken(IToken.tSHIFTRASSIGN, spacesStart, start);
-                    } 
-                    return newToken(IToken.tSHIFTR, spacesStart, start);
-                case '?':
-                    if (fOptions.fSupportMinAndMax) {
-                        nextCharPhase3();
-                        return newToken(IGCCToken.tMAX, spacesStart, start);
-                    } 
-                    break;
-                }
-                return newToken(IToken.tGT, spacesStart, start);
-
-            case ',':
-                return newToken(IToken.tCOMMA, spacesStart, start);
-
-            default:
-                // in case we have some other letter to start an identifier
-                if (Character.isUnicodeIdentifierStart((char) c)) {
-                    return identifier(spacesStart, start, 1);
-                }
-                break;
-            }
-            // handles for instance @
-            return newToken(tOTHER_CHARACTER, spacesStart, start, 1);
-        }
-    }
-
-    private Token newToken(int kind, int spacesStart, int offset) {
-        char[] spaces = new char[offset - spacesStart];
-        System.arraycopy(fInput, spacesStart, spaces, 0, spaces.length);
-        return new Token(kind, fSource, offset, fOffset, spaces);
-    }
-
-    private Token newDigraphToken(int kind, int spacesStart, int offset) {
-        char[] spaces = new char[offset - spacesStart];
-        System.arraycopy(fInput, spacesStart, spaces, 0, spaces.length);
-        return new TokenForDigraph(kind, fSource, offset, fOffset, spaces);
-    }
-
-    private Token newToken(final int kind, final int spacesStart, final int offset, final int imageLength) {
-        final int endOffset= fOffset;
-        final int sourceLen= endOffset-offset;
-        char[] image;
-        if (sourceLen != imageLength) {
-            image= getCharImage(offset, endOffset, imageLength);
-        }
-        else {
-            image= new char[imageLength];
-            System.arraycopy(fInput, offset, image, 0, imageLength);
-        }
-        
-        char[] spaces = new char[offset - spacesStart];
-        System.arraycopy(fInput, spacesStart, spaces, 0, spaces.length);
-        
-        return new TokenWithImage(kind, fSource, offset, endOffset, image, spaces);
-    }
-
-    private void handleProblem(int problemID, char[] arg, int offset) {
-        fLog.handleProblem(problemID, arg, offset, fOffset);
-    }
-
-    @SuppressWarnings("fallthrough")
-    private Token headerName(final int spacesStart, final int start, final boolean expectQuotes) throws OffsetLimitReachedException {
-        int length= 1;
-        boolean done = false;
-        int c= fCharPhase3;
-        loop: while (!done) {
-            switch (c) {
-            case END_OF_INPUT:
-                if (fSupportContentAssist) {
-                    throw new OffsetLimitReachedException(ORIGIN_LEXER, 
-                            newToken((expectQuotes ? tQUOTE_HEADER_NAME : tSYSTEM_HEADER_NAME), spacesStart, start, length));
-                }
-                // no break;
-            case '\n':
-                handleProblem(IProblem.SCANNER_UNBOUNDED_STRING, getInputChars(start, fOffset), start);
-                break loop;
-                
-            case '"':
-                done= expectQuotes;
-                break;
-            case '>':
-                done= !expectQuotes;
-                break;
-            }
-            length++;
-            c= nextCharPhase3();
-        }
-        return newToken((expectQuotes ? tQUOTE_HEADER_NAME : tSYSTEM_HEADER_NAME), spacesStart, start, length);
-    }
-
-    private void blockComment(final int start, final char trigger) {
-        // we can ignore line-splices, trigraphs and windows newlines when searching for the '*'
-        int pos= fEndOffset;
-        while(pos < fLimit) {
-            if (fInput[pos++] == trigger) {
-                fEndOffset= pos;
-                if (nextCharPhase3() == '/') {
-                    nextCharPhase3();
-                    fLog.handleComment(true, start, fOffset);
-                    return;
-                }
-            }
-        }
-        fCharPhase3= END_OF_INPUT;
-        fOffset= fEndOffset= pos;
-        fLog.handleComment(true, start, pos);
-    }
-
-    private void lineComment(final int start) {
-        int c= fCharPhase3;
-        while(true) {
-            switch (c) {
-            case END_OF_INPUT:
-            case '\n':
-                fLog.handleComment(false, start, fOffset);
-                return;
-            }
-            c= nextCharPhase3();
-        }
-    }
-
-    @SuppressWarnings("fallthrough")
-    private Token stringLiteral(final int spacesStart, final int start, final boolean wide) throws OffsetLimitReachedException {
-        boolean escaped = false;
-        boolean done = false;
-        int length= wide ? 2 : 1;
-        int c= fCharPhase3;
-        
-        loop: while (!done) {
-            switch(c) {
-            case END_OF_INPUT:
-                if (fSupportContentAssist) {
-                    throw new OffsetLimitReachedException(ORIGIN_LEXER,
-                        newToken(wide ? IToken.tLSTRING : IToken.tSTRING, spacesStart, start, length));
-                }
-                // no break;
-            case '\n':
-                handleProblem(IProblem.SCANNER_UNBOUNDED_STRING, getInputChars(start, fOffset), start);
-                break loop;
-                
-            case '\\': 
-                escaped= !escaped;
-                break;
-            case '"':
-                if (!escaped) {
-                    done= true;
-                }
-                escaped= false;
-                break;
-            default:
-                escaped= false;
-                break;
-            }
-            length++;
-            c= nextCharPhase3();
-        }
-        return newToken(wide ? IToken.tLSTRING : IToken.tSTRING, spacesStart, start, length);
-    }
-    
-    @SuppressWarnings("fallthrough")
-    private Token charLiteral(final int spacesStart, final int start, boolean wide) throws OffsetLimitReachedException {
-        boolean escaped = false;
-        boolean done = false;
-        int length= wide ? 2 : 1;
-        int c= fCharPhase3;
-        
-        loop: while (!done) {
-            switch(c) {
-            case END_OF_INPUT:
-                if (fSupportContentAssist) {
-                    throw new OffsetLimitReachedException(ORIGIN_LEXER,
-                        newToken(wide ? IToken.tLCHAR : IToken.tCHAR, spacesStart, start, length));
-                }
-                // no break;
-            case '\n':
-                handleProblem(IProblem.SCANNER_BAD_CHARACTER, getInputChars(start, fOffset), start);
-                break loop;
-            case '\\': 
-                escaped= !escaped;
-                break;
-            case '\'':
-                if (!escaped) {
-                    done= true;
-                }
-                escaped= false;
-                break;
-            default:
-                escaped= false;
-                break;
-            }
-            length++;
-            c= nextCharPhase3();
-        }
-        return newToken(wide ? IToken.tLCHAR : IToken.tCHAR, spacesStart, start, length);
-    }
-    
-    private Token identifier(int spacesStart, int start, int length) {
-        int tokenKind= IToken.tIDENTIFIER;
-        boolean isPartOfIdentifier= true;
-        int c= fCharPhase3;
-        while (true) {
-            switch(c) {
-            case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': 
-            case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': 
-            case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z':
-            case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I':
-            case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': 
-            case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z':
-            case '_': 
-            case '0': case '1': case '2': case '3': case '4':
-            case '5': case '6': case '7': case '8': case '9':
-                break;
-                
-            case '\\': // universal character name
-                markPhase3();
-                switch(nextCharPhase3()) {
-                case 'u': case 'U':
-                    length++;
-                    break;
-                default:
-                    restorePhase3();
-                    isPartOfIdentifier= false;
-                    break;
-                }
-                break;
-
-            case END_OF_INPUT:
-                if (fSupportContentAssist) {
-                    tokenKind= IToken.tCOMPLETION;
-                }
-                isPartOfIdentifier= false;
-                break;
-            case ' ': case '\t': case 0xb: case '\f': case '\r': case '\n':
-                isPartOfIdentifier= false;
-                break;
-
-            case '$':
-                isPartOfIdentifier= fOptions.fSupportDollarInIdentifiers;
-                break;
-            case '@':
-                isPartOfIdentifier= fOptions.fSupportAtSignInIdentifiers;
-                break;
-                
-            case '{': case '}': case '[': case ']': case '#': case '(': case ')': case '<': case '>':
-            case '%': case ':': case ';': case '.': case '?': case '*': case '+': case '-': case '/':
-            case '^': case '&': case '|': case '~': case '!': case '=': case ',': case '"': case '\'':
-                isPartOfIdentifier= false;
-                break;
-                
-            default:
-                isPartOfIdentifier= Character.isUnicodeIdentifierPart((char) c);
-                break;
-            }
-            
-            if (!isPartOfIdentifier) {
-                break;
-            }
-            
-            length++;
-            c= nextCharPhase3();
-        }
-
-        return newToken(tokenKind, spacesStart, start, length);
-    }
-    
-    private Token number(final int spacesStart, final int start, int length, boolean isFloat) throws OffsetLimitReachedException {
-        boolean isPartOfNumber= true;
-        int c= fCharPhase3;
-        while (true) {
-            switch(c) {
-            // non-digit
-            case 'a': case 'b': case 'c': case 'd':           case 'f': case 'g': case 'h': case 'i': 
-            case 'j': case 'k': case 'l': case 'm': case 'n': case 'o':           case 'q': case 'r': 
-            case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z':
-            case 'A': case 'B': case 'C': case 'D':           case 'F': case 'G': case 'H': case 'I':
-            case 'J': case 'K': case 'L': case 'M': case 'N': case 'O':           case 'Q': case 'R': 
-            case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z':
-            case '_': 
-                
-            // digit
-            case '0': case '1': case '2': case '3': case '4':
-            case '5': case '6': case '7': case '8': case '9':
-                break;
-                
-            // period
-            case '.':
-                isFloat= true;
-                break;
-                
-            // sign
-            case 'p':
-            case 'P':
-            case 'e':
-            case 'E':
-                length++;
-                c= nextCharPhase3();
-                switch (c) {
-                case '+': case '-':
-                case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
-                    isFloat= true;
-                    length++;
-                    c= nextCharPhase3();
-                    break;
-                }
-                continue;
-                
-            // universal character name (non-digit)
-            case '\\':
-                markPhase3();
-                switch(nextCharPhase3()) {
-                case 'u': case 'U':
-                    length++;
-                    break;
-                default:
-                    restorePhase3();
-                    isPartOfNumber= false;
-                    break;
-                }
-                break;
-            
-            case END_OF_INPUT:
-                if (fSupportContentAssist) {
-                    throw new OffsetLimitReachedException(ORIGIN_LEXER, 
-                            newToken((isFloat ? IToken.tFLOATINGPT : IToken.tINTEGER), spacesStart, start, length));
-                }
-                isPartOfNumber= false;
-                break;
-                
-            default:
-                isPartOfNumber= false;
-                break;
-            }
-            if (!isPartOfNumber) {
-                break;
-            }
-            
-            c= nextCharPhase3();
-            length++;
-        }
-        
-        return newToken((isFloat ? IToken.tFLOATINGPT : IToken.tINTEGER), spacesStart, start, length);
-    }
-    
-    
-    /**
-     * Saves the current state of phase3, necessary for '...', '%:%:' and UNCs.
-     */
-    private void markPhase3() {
-        fMarkOffset= fOffset;
-        fMarkEndOffset= fEndOffset;
-        fMarkPrefetchedChar= fCharPhase3;
-    }
-    
-    /**
-     * Restores a previously saved state of phase3.
-     */
-    private void restorePhase3() {
-        fOffset= fMarkOffset;
-        fEndOffset= fMarkEndOffset;
-        fCharPhase3= fMarkPrefetchedChar;
-    }
-    
-    /**
-     * Perform phase 1-3: Replace \r\n with \n, handle trigraphs, detect line-splicing.
-     * Changes fOffset, fEndOffset and fCharPhase3, stateless otherwise.
-     */
-    @SuppressWarnings("fallthrough")
-    private int nextCharPhase3() {
-        int pos= fEndOffset;
-        do {
-            if (pos+1 >= fLimit) {
-                if (pos >= fLimit) {
-                    fOffset= fLimit;
-                    fEndOffset= fLimit;
-                    fCharPhase3= END_OF_INPUT;
-                    return END_OF_INPUT;
-                }
-                fOffset= pos;
-                fEndOffset= pos+1;
-                fCharPhase3= fInput[pos];
-                return fCharPhase3;
-            }
-            
-            final char c= fInput[pos];
-            fOffset= pos;
-            fEndOffset= ++pos;
-            fCharPhase3= c;
-            switch(c) {
-            // windows line-ending
-            case '\r':
-                if (fInput[pos] == '\n') {
-                    fEndOffset= pos+1;
-                    fCharPhase3= '\n';
-                    return '\n';
-                }
-                return c;
-
-                // trigraph sequences
-            case '?':
-                if (fInput[pos] != '?' || pos+1 >= fLimit) {
-                    return c;
-                }
-                final char trigraph= checkTrigraph(fInput[pos+1]);
-                if (trigraph == 0) {
-                    return c;
-                }
-                if (trigraph != '\\') {
-                    fEndOffset= pos+2;
-                    fCharPhase3= trigraph;
-                    return trigraph;
-                }
-                pos+= 2;
-                // no break, handle backslash
-
-            case '\\':
-                final int lsPos= findEndOfLineSpliceSequence(pos);
-                if (lsPos > pos) {
-                    pos= lsPos;
-                    continue;
-                }
-                fEndOffset= pos;
-                fCharPhase3= '\\';
-                return '\\';    // don't return c, it may be a '?'
-
-            default:
-                return c;
-            }
-        }
-        while(true);
-    }
-    
-    /**
-     * Maps a trigraph to the character it encodes.
-     * @param c trigraph without leading question marks.
-     * @return the character encoded or 0.
-     */
-    private char checkTrigraph(char c) {
-        switch(c) {
-        case '=': return '#';
-        case '\'':return '^';
-        case '(': return '[';
-        case ')': return ']';
-        case '!': return '|';
-        case '<': return '{';
-        case '>': return '}';
-        case '-': return '~';
-        case '/': return '\\';
-        }
-        return 0;
-    }
-
-    /**
-     * Returns the endoffset for a line-splice sequence, or -1 if there is none.
-     */
-    @SuppressWarnings("fallthrough")
-    private int findEndOfLineSpliceSequence(int pos) {
-        boolean haveBackslash= true;
-        int result= -1;
-        loop: while(pos < fLimit) {
-            switch(fInput[pos++]) {
-            case '\n':  
-                if (haveBackslash) {
-                    result= pos;
-                    haveBackslash= false;
-                    continue loop;
-                }
-                return result;                  
-        
-            case '\r': case ' ': case '\f': case '\t': case 0xb: // vertical tab  
-                if (haveBackslash) {
-                    continue loop;
-                }
-                return result;
-            
-            case '?':
-                if (pos+1 >= fLimit || fInput[pos] != '?' || fInput[++pos] != '/') {
-                    return result;
-                }
-                // fall through to backslash handling
-                    
-            case '\\':
-                if (!haveBackslash) {
-                    haveBackslash= true;
-                    continue loop;
-                }
-                return result;
-
-            default:
-                return result;
-            }
-        }
-        return result;
-    }
-
-    /**
-     * Returns the image from the input without any modification.
-     */
-    public char[] getInputChars(int offset, int endOffset) {
-        final int length= endOffset-offset;
-        final char[] result= new char[length];
-        System.arraycopy(fInput, offset, result, 0, length);
-        return result;
-    }
-
-    char[] getInput() {
-        return fInput;
-    }
-    
-    /**
-     * Returns the image with trigraphs replaced and line-splices removed.
-     */
-    private char[] getCharImage(int offset, int endOffset, int imageLength) {
-        final char[] result= new char[imageLength];
-        markPhase3();
-        fEndOffset= offset;
-        for (int idx=0; idx<imageLength; idx++) {
-            result[idx]= (char) nextCharPhase3();
-        }
-        restorePhase3();
-        return result;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtx.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtx.java
deleted file mode 100755
index c32df8b..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtx.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.cdt.core.dom.ast.IASTNodeLocation;
-import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit.IDependencyTree.IASTInclusionNode;
-
-/**
- * Various location contexts which are suitable for interpreting local offsets. These offsets are
- * converted in a global sequence-number to make all ast nodes comparable with each other.
- * @since 5.0
- */
-abstract class LocationCtx implements ILocationCtx {
-	final LocationCtxContainer fParent;
-	/**
-	 * The first sequence number used by this context.
-	 */
-	final int fSequenceNumber;
-	/**
-	 * The offset of the denotation of this context in the parent's source. This is no sequence number.
-	 */
-	final int fOffsetInParent;
-	/**
-	 * The end-offset of the denotation of this context in the parent's source. This is no sequence number.
-	 */
-	final int fEndOffsetInParent;
-
-	public LocationCtx(LocationCtxContainer parent, int parentOffset, int parentEndOffset, int sequenceNumber) {
-		fParent= parent;
-		fOffsetInParent= parentOffset;
-		fEndOffsetInParent= parentEndOffset;
-		fSequenceNumber= sequenceNumber;
-		if (parent != null) {
-			parent.addChild(this);
-		}
-	}
-	
-	public String getFilePath() {
-		return fParent.getFilePath();
-	}
-	
-	final public ILocationCtx getParent() {
-		return fParent;
-	}
-	/**
-	 * Returns the amount of sequence numbers occupied by this context including its children.
-	 */
-	public abstract int getSequenceLength();
-	
-	/**
-	 * Converts an offset within this context to the sequence number. In case there are child-contexts
-	 * behind the given offset, you need to set checkChildren to <code>true</code>.
-	 */
-	public int getSequenceNumberForOffset(int offset, boolean checkChildren) {
-		return fSequenceNumber+offset;
-	}
-
-	/**
-	 * When a child-context is finished it reports its total sequence length, such that offsets in this
-	 * context can be converted to sequence numbers.
-	 */
-	public void addChildSequenceLength(int childLength) {
-		assert false;
-	}
-	
-	/**
-	 * Returns the line number for an offset within this context. Not all contexts support line numbers,
-	 * so this may return 0.
-	 */
-	public int getLineNumber(int offset) {
-		return 0;
-	}
-
-	/**
-	 * Returns the minimal context containing the specified range, assuming that it is contained in
-	 * this context.
-	 */
-	public LocationCtx findSurroundingContext(int sequenceNumber, int length) {
-		return this;
-	}
-
-	/**
-	 * Returns the macro-expansion surrounding or augmenting the given range, or <code>null</code>.
-	 */
-	public LocationCtxMacroExpansion findEnclosingMacroExpansion(int sequenceNumber, int length) {
-		return null;
-	}
-
-	/**
-	 * Returns the minimal file location containing the specified sequence number range, assuming 
-	 * that it is contained in this context.
-	 */
-	public ASTFileLocation findMappedFileLocation(int sequenceNumber, int length) {
-		return fParent.createMappedFileLocation(fOffsetInParent, fEndOffsetInParent-fOffsetInParent);
-	}
-
-	/**
-	 * Returns the file location containing the specified offset range in this context.
-	 */
-	public ASTFileLocation createMappedFileLocation(int offset, int length) {
-		return fParent.createMappedFileLocation(fOffsetInParent, fEndOffsetInParent-fOffsetInParent);
-	}
-
-	/**
-	 * Returns the sequence of file locations spanning the given range. 
-	 * Assumes that the range starts within this context. 
-	 */
-	public abstract boolean collectLocations(int sequenceNumber, int length, ArrayList<IASTNodeLocation> sofar);
-
-	/**
-	 * Support for the dependency tree, add inclusion statements found in this context.
-	 */
-	public void getInclusions(ArrayList<IASTInclusionNode> result) {
-	}
-
-	/**
-	 * Support for the dependency tree, returns inclusion statement that created this context, or <code>null</code>.
-	 */
-	public ASTInclusionStatement getInclusionStatement() {
-		return null;
-	}
-
-	public Collection<LocationCtx> getChildren() {
-		return Collections.emptySet();
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxContainer.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxContainer.java
deleted file mode 100755
index 58c0069..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxContainer.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.cdt.core.dom.ast.IASTFileLocation;
-import org.eclipse.cdt.core.dom.ast.IASTNodeLocation;
-import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit.IDependencyTree.IASTInclusionNode;
-
-/**
- * Base class for all location contexts that can contain children. 
- * <p>
- * @since 5.0
- */
-class LocationCtxContainer extends LocationCtx {
-	/**
-	 * The total length of all children in terms of sequence numbers.
-	 */
-	private int fChildSequenceLength;
-
-	private ArrayList<LocationCtx> fChildren;
-	private char[] fSource;
-	private int[] fLineOffsets;
-	
-	public LocationCtxContainer(LocationCtxContainer parent, char[] source, int parentOffset, int parentEndOffset, int sequenceNumber) {
-		super(parent, parentOffset, parentEndOffset, sequenceNumber);
-		fSource= source;
-	}
-	
-	@Override
-	public Collection<LocationCtx> getChildren() {
-		if (fChildren == null) {
-			return Collections.emptyList();
-		}
-		return fChildren;
-	}
-
-	public void addChild(LocationCtx locationCtx) {
-		if (fChildren == null) {
-			fChildren= new ArrayList<LocationCtx>();
-		}
-		fChildren.add(locationCtx);
-	}
-
-	public char[] getSource(int offset, int length) {
-		offset= Math.max(0, Math.min(offset, fSource.length));
-		length= Math.max(0, Math.min(length, fSource.length-offset));
-		char[] result= new char[length];
-		System.arraycopy(fSource, offset, result, 0, length);
-		return result;
-	}
-
-	@Override
-	public final int getSequenceLength() {
-		return fSource.length + fChildSequenceLength;
-	}
-	
-	@Override
-	public final int getSequenceNumberForOffset(int offset, boolean checkChildren) {
-		int result= fSequenceNumber + fChildSequenceLength + offset;
-		if (checkChildren && fChildren != null) {
-			for (int i= fChildren.size()-1; i >= 0; i--) {
-				final LocationCtx child= fChildren.get(i);
-				if (child.fEndOffsetInParent > offset) {	// child was inserted behind the offset, adjust sequence number
-					result-= child.getSequenceLength();
-				}
-				else {
-					return result;
-				}
-			}
-		}
-		return result;
-	}
-	
-	@Override
-	public void addChildSequenceLength(int childLength) {
-		fChildSequenceLength+= childLength;
-	}
-
-	@Override
-	public final LocationCtx findSurroundingContext(int sequenceNumber, int length) {
-		int testEnd= length > 1 ? sequenceNumber+length-1 : sequenceNumber;
-		final LocationCtx child= findChildLessOrEqualThan(sequenceNumber, false);
-		if (child != null && child.fSequenceNumber+child.getSequenceLength() > testEnd) {
-			return child.findSurroundingContext(sequenceNumber, length);
-		}
-		return this;
-	}
-
-	@Override
-	public final LocationCtxMacroExpansion findEnclosingMacroExpansion(int sequenceNumber, int length) {
-		int testEnd= length > 1 ? sequenceNumber+length-1 : sequenceNumber;
-		final LocationCtx child= findChildLessOrEqualThan(sequenceNumber, true);
-		if (child != null && child.fSequenceNumber+child.getSequenceLength() > testEnd) {
-			return child.findEnclosingMacroExpansion(sequenceNumber, length);
-		}
-		return null;
-	}
-
-	@Override
-	public ASTFileLocation findMappedFileLocation(int sequenceNumber, int length) {
-		// try to delegate to a child.
-		int testEnd= length > 1 ? sequenceNumber+length-1 : sequenceNumber;
-		final LocationCtx child= findChildLessOrEqualThan(sequenceNumber, false);
-		if (child != null && child.fSequenceNumber+child.getSequenceLength() > testEnd) {
-			return child.findMappedFileLocation(sequenceNumber, length);
-		}
-		return super.findMappedFileLocation(sequenceNumber, length);
-	}
-
-	@Override
-	public boolean collectLocations(int sequenceNumber, final int length, ArrayList<IASTNodeLocation> locations) {
-		final int endSequenceNumber= sequenceNumber+length;
-		if (fChildren != null) {
-			int childIdx= Math.max(0, findChildIdxLessOrEqualThan(sequenceNumber, false));
-			for (; childIdx < fChildren.size(); childIdx++) {
-				final LocationCtx child= fChildren.get(childIdx);
-
-				// create the location between start and the child
-				if (sequenceNumber < child.fSequenceNumber) {
-					// compute offset backwards from the child's offset
-					final int offset= child.fEndOffsetInParent - (child.fSequenceNumber - sequenceNumber);
-					// it the child is not affected, we are done.
-					if (endSequenceNumber <= child.fSequenceNumber) {
-						addFileLocation(offset, endSequenceNumber-sequenceNumber, locations);
-						return true;
-					}
-					addFileLocation(offset, child.fOffsetInParent-offset, locations);
-					sequenceNumber= child.fSequenceNumber;
-				}
-
-				// let the child create locations
-				final int childEndSequenceNumber= child.fSequenceNumber + child.getSequenceLength();
-				if (sequenceNumber < childEndSequenceNumber) {
-					if (child.collectLocations(sequenceNumber, endSequenceNumber-sequenceNumber, locations)) {
-						return true;
-					}
-					sequenceNumber= childEndSequenceNumber;
-				}
-			}
-		}
-
-		// create the location after the last child.
-		final int myEndNumber = fSequenceNumber + getSequenceLength();
-		final int offset= fSource.length - (myEndNumber - sequenceNumber);
-		if (endSequenceNumber <= myEndNumber) {
-			addFileLocation(offset, endSequenceNumber-sequenceNumber, locations);
-			return true;
-		}
-		addFileLocation(offset, fSource.length-offset, locations);
-		return false;
-	}
-	
-	private ArrayList<IASTNodeLocation> addFileLocation(int offset, int length, ArrayList<IASTNodeLocation> sofar) {
-		IASTFileLocation loc= createFileLocation(offset, length);
-		if (loc != null) {
-			sofar.add(loc);
-		}
-		return sofar;
-	}
-
-	ASTFileLocation createFileLocation(int start, int length) {
-		return null;
-	}
-
-	final int findChildIdxLessOrEqualThan(int sequenceNumber, boolean beforeReplacedChars) {
-		if (fChildren == null) {
-			return -1;
-		}
-		int upper= fChildren.size();
-		int lower= 0;
-		while (upper > lower) {
-			int middle= (upper+lower)/2;
-			LocationCtx child= fChildren.get(middle);
-			int childSequenceNumber= child.fSequenceNumber;
-			if (beforeReplacedChars) {
-				childSequenceNumber-= child.fEndOffsetInParent-child.fOffsetInParent; 
-			}
-			if (childSequenceNumber <= sequenceNumber) {
-				lower= middle+1;
-			}
-			else {
-				upper= middle;
-			}
-		}
-		return lower-1;
-	}
-
-	final LocationCtx findChildLessOrEqualThan(final int sequenceNumber, boolean beforeReplacedChars) {
-		final int idx= findChildIdxLessOrEqualThan(sequenceNumber, beforeReplacedChars);
-		return idx >= 0 ? fChildren.get(idx) : null;
-	}
-
-	@Override
-	public void getInclusions(ArrayList<IASTInclusionNode> result) {
-		if (fChildren != null) {
-			for (LocationCtx ctx : fChildren) {
-				if (ctx.getInclusionStatement() != null) {
-					result.add(new ASTInclusionNode(ctx));
-				}
-				else {
-					ctx.getInclusions(result);
-				}
-			}
-		}
-	}
-	
-	@Override
-	public int getLineNumber(int offset) {
-		if (fLineOffsets == null) {
-			fLineOffsets= computeLineOffsets();
-		}
-		int idx= Arrays.binarySearch(fLineOffsets, offset);
-		if (idx < 0) {
-			return -idx;
-		}
-		return idx+1;
-	}
-
-	private int[] computeLineOffsets() {
-		ArrayList<Integer> offsets= new ArrayList<Integer>();
-		for (int i = 0; i < fSource.length; i++) {
-			if (fSource[i] == '\n') {
-				offsets.add(new Integer(i));
-			}
-		}
-		int[] result= new int[offsets.size()];
-		for (int i = 0; i < result.length; i++) {
-			result[i]= offsets.get(i).intValue();
-			
-		}
-		return result;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxFile.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxFile.java
deleted file mode 100755
index 10136e2..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxFile.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroExpansion;
-
-/**
- * A location context representing a file.
- * @since 5.0
- */
-class LocationCtxFile extends LocationCtxContainer {
-	private final String fFilename;
-	private final ASTInclusionStatement fASTInclude;
-
-	public LocationCtxFile(LocationCtxContainer parent, String filename, char[] source, int parentOffset, int parentEndOffset, int sequenceNumber, ASTInclusionStatement inclusionStatement) {
-		super(parent, source, parentOffset, parentEndOffset, sequenceNumber);
-		fFilename= new String(filename);
-		fASTInclude= inclusionStatement;
-	}
-	
-	@Override
-	public final void addChildSequenceLength(int childLength) {
-		super.addChildSequenceLength(childLength);
-	}
-
-	@Override
-	public final String getFilePath() {
-		return fFilename;
-	}
-
-	@Override
-	public ASTFileLocation findMappedFileLocation(int sequenceNumber, int length) {
-		// try to delegate to a child.
-		final int testEnd= length > 1 ? sequenceNumber+length-1 : sequenceNumber;
-		final int sequenceEnd= sequenceNumber+length;
-		final LocationCtx child1= findChildLessOrEqualThan(sequenceNumber, false);
-		final LocationCtx child2= testEnd == sequenceNumber ? child1 : findChildLessOrEqualThan(testEnd, false);
-	
-		if (child1 == child2 && child1 != null && child1.fSequenceNumber + child1.getSequenceLength() > testEnd) {
-			return child1.findMappedFileLocation(sequenceNumber, length);
-		}
-		
-		// handle here
-		int startOffset;
-		int endOffset;
-		
-		if (child1 == null) {
-			startOffset= sequenceNumber-fSequenceNumber;
-		}
-		else {
-			int childSequenceEnd= child1.fSequenceNumber + child1.getSequenceLength();
-			if (sequenceNumber < childSequenceEnd) {
-				startOffset= child1.fOffsetInParent;
-			}
-			else {	// start beyond child1
-				startOffset= child1.fEndOffsetInParent + sequenceNumber-childSequenceEnd;
-			}
-		}
-		if (child2 == null) {
-			endOffset= sequenceEnd-fSequenceNumber;
-		}
-		else {
-			int childSequenceEnd= child2.fSequenceNumber + child2.getSequenceLength();
-			if (childSequenceEnd < sequenceEnd) { // beyond child2
-				endOffset= child2.fEndOffsetInParent+sequenceEnd-childSequenceEnd;
-			}
-			else {
-				endOffset= child2.fEndOffsetInParent;
-			}
-		}
-		return new ASTFileLocation(this, startOffset, endOffset-startOffset);
-	}
-	
-	@Override
-	public ASTFileLocation createMappedFileLocation(int offset, int length) {
-		return new ASTFileLocation(this, offset, length);
-	}
-
-	@Override
-	public ASTInclusionStatement getInclusionStatement() {
-		return fASTInclude;
-	}
-
-	@Override
-	ASTFileLocation createFileLocation(int start, int length) {
-		return new ASTFileLocation(this, start, length);
-	}
-
-	public boolean isThisFile(int sequenceNumber) {
-		LocationCtx child= findChildLessOrEqualThan(sequenceNumber, false);
-		if (!(child instanceof LocationCtxFile)) {
-			return true;
-		}
-		return sequenceNumber >= child.fSequenceNumber + child.getSequenceLength();
-	}
-
-	public void collectMacroExpansions(int offset, int length, ArrayList<IASTPreprocessorMacroExpansion> list) {
-		Collection<LocationCtx> children= getChildren();
-		for (LocationCtx ctx : children) {
-			// context must start before the end of the search range
-			if (ctx.fOffsetInParent >= offset+length) {
-				break;
-			}
-			if (ctx instanceof LocationCtxMacroExpansion) {
-				// expansion must end after the search start
-				if (ctx.fEndOffsetInParent > offset) {
-					list.add((IASTPreprocessorMacroExpansion) ((LocationCtxMacroExpansion)ctx).getMacroReference().getParent());
-				}
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxMacroExpansion.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxMacroExpansion.java
deleted file mode 100755
index 278e715..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationCtxMacroExpansion.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-/**
- * Edited by Matthew Michelotti
- * 
- * Overview of changes:
- * -may have changed import statements
- * -Commented out sections of code which may significantly
- *  depend on the CDT version. May have deprecated a number of methods
- *  with commented code.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.ArrayList;
-
-import org.eclipse.cdt.core.dom.ast.IASTImageLocation;
-import org.eclipse.cdt.core.dom.ast.IASTNodeLocation;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition;
-//import org.eclipse.cdt.core.dom.ast.IMacroBinding;
-
-/**
- * A location context representing macro expansions.
- * @since 5.0
- */
-class LocationCtxMacroExpansion extends LocationCtx {
-	private final LocationMap fLocationMap;
-	private final int fLength;
-	private final ImageLocationInfo[] fLocationInfos;
-	private ASTMacroReferenceName fExpansionName;
-
-	public LocationCtxMacroExpansion(LocationMap map, LocationCtxContainer parent, int parentOffset, int parentEndOffset,
-			int sequenceNumber, int length, ImageLocationInfo[] imageLocations,	ASTMacroReferenceName expansionName) {
-		super(parent, parentOffset, parentEndOffset, sequenceNumber);
-		fLocationMap= map;
-		fLength= length;
-		fLocationInfos= imageLocations;
-		fExpansionName= expansionName;
-		if (expansionName.getParent() instanceof ASTMacroExpansion == false) {
-			throw new IllegalArgumentException(expansionName.toString() + " is not a macro expansion name"); //$NON-NLS-1$
-		}
-	}
-
-	@Override
-	public int getSequenceLength() {
-		return fLength;
-	}
-	
-	@Override
-	public boolean collectLocations(int start, int length, ArrayList<IASTNodeLocation> locations) {
-		final int offset= start-fSequenceNumber;
-		assert offset >= 0 && length >= 0;
-		
-		if (offset+length <= fLength) {
-			locations.add(new ASTMacroExpansionLocation(this, offset, length));
-			return true;
-		}
-
-		locations.add(new ASTMacroExpansionLocation(this, offset, fLength-offset));
-		return false;
-	}	
-	
-	public ASTMacroExpansion getExpansion() {
-		return (ASTMacroExpansion) fExpansionName.getParent();
-	}
-	
-	public ASTMacroReferenceName getMacroReference() {
-		return fExpansionName;
-	}
-	
-	/*public IASTPreprocessorMacroDefinition getMacroDefinition() {
-		return fLocationMap.getMacroDefinition((IMacroBinding) fExpansionName.getBinding());
-	}*/
-	
-	@Override
-	public LocationCtxMacroExpansion findEnclosingMacroExpansion(int sequenceNumber, int length) {
-		return this;
-	}
-
-	public IASTImageLocation getImageLocation(int offset, int length) {
-		if (length == 0) {
-			return null;
-		}
-		final int end= offset+length;
-		int nextToCheck= offset;
-		ImageLocationInfo firstInfo= null;
-		ImageLocationInfo lastInfo= null;
-		for (ImageLocationInfo info : fLocationInfos) {
-			if (info.fTokenOffsetInExpansion == nextToCheck) {
-				if (firstInfo == null || lastInfo == null) {
-					firstInfo= lastInfo= info;
-				}
-				else if (lastInfo.canConcatenate(info)) {
-					lastInfo= info;
-				}
-				else {
-					return null;
-				}
-				if (++nextToCheck == end) {
-					return firstInfo.createLocation(fLocationMap, lastInfo);
-				}
-			}
-			else if (info.fTokenOffsetInExpansion > nextToCheck) {
-				return null;
-			}
-		}
-		return null;
-	}
-
-	/*public ASTPreprocessorName[] getNestedMacroReferences() {
-		return fLocationMap.getNestedMacroReferences((ASTMacroExpansion) fExpansionName.getParent());
-	}*/
-}
-
-
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationMap.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationMap.java
deleted file mode 100755
index ff671f4..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/LocationMap.java
+++ /dev/null
@@ -1,748 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - Initial API and implementation
- *******************************************************************************/
-/**
- * Edited by Matthew Michelotti
- * 
- * Overview of changes:
- * -may have changed import statements
- * -Commented out sections of code which may significantly
- *  depend on the CDT version. May have deprecated a number of methods
- *  with commented code.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.ArrayList;
-//import java.util.IdentityHashMap;
-//import java.util.Iterator;
-//import java.util.LinkedList;
-import java.util.List;
-
-//import org.eclipse.cdt.core.dom.ast.IASTComment;
-import org.eclipse.cdt.core.dom.ast.IASTFileLocation;
-import org.eclipse.cdt.core.dom.ast.IASTImageLocation;
-import org.eclipse.cdt.core.dom.ast.IASTName;
-//import org.eclipse.cdt.core.dom.ast.IASTNode;
-import org.eclipse.cdt.core.dom.ast.IASTNodeLocation;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorIncludeStatement;
-//import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroDefinition;
-import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroExpansion;
-import org.eclipse.cdt.core.dom.ast.IASTPreprocessorStatement;
-//import org.eclipse.cdt.core.dom.ast.IASTProblem;
-import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
-//import org.eclipse.cdt.core.dom.ast.IBinding;
-import org.eclipse.cdt.core.dom.ast.IMacroBinding;
-import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit.IDependencyTree;
-//import org.eclipse.cdt.core.parser.util.CharArrayUtils;
-//import org.eclipse.cdt.internal.core.dom.parser.ASTNodeSpecification;
-//import org.eclipse.cdt.internal.core.dom.parser.ASTProblem;
-
-/**
- * Converts the offsets relative to various contexts to the global sequence number. Also creates and stores
- * objects that are needed to conform with the IAST... interfaces.
- * @since 5.0
- */
-public class LocationMap /*implements ILocationResolver*/ {
-	//private static final IASTName[] EMPTY_NAMES = {};
-	
-	private String fTranslationUnitPath;
-    private IASTTranslationUnit fTranslationUnit;
-
-    //private ArrayList<ASTPreprocessorNode> fDirectives= new ArrayList<ASTPreprocessorNode>();
-    //private ArrayList<ASTProblem> fProblems= new ArrayList<ASTProblem>();
-    //private ArrayList<ASTComment> fComments= new ArrayList<ASTComment>();
-    //private ArrayList<ASTMacroDefinition> fBuiltinMacros= new ArrayList<ASTMacroDefinition>();
-	//private ArrayList<ASTPreprocessorName> fMacroReferences= new ArrayList<ASTPreprocessorName>();
-	
-    private LocationCtxFile fRootContext= null;
-    private LocationCtx fCurrentContext= null;
-	private int fLastChildInsertionOffset;
-
-	// stuff computed on demand
-	//private IdentityHashMap<IBinding, IASTPreprocessorMacroDefinition> fMacroDefinitionMap= null;
-	private List<ISkippedIndexedFilesListener> fSkippedFilesListeners= new ArrayList<ISkippedIndexedFilesListener>();
-    
-	public void registerPredefinedMacro(IMacroBinding macro) {
-		registerPredefinedMacro(macro, null, -1);
-	}
-
-	public void registerMacroFromIndex(IMacroBinding macro, IASTFileLocation nameLocation, int expansionOffset) {
-		registerPredefinedMacro(macro, nameLocation, expansionOffset);
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	private void registerPredefinedMacro(IMacroBinding macro, IASTFileLocation nameloc, int expansionOffset) {
-		/*ASTMacroDefinition astmacro;
-		if (macro.isFunctionStyle()) {
-			astmacro= new ASTFunctionStyleMacroDefinition(fTranslationUnit, macro, nameloc, expansionOffset);
-		}
-		else {
-			astmacro= new ASTMacroDefinition(fTranslationUnit, macro, nameloc, expansionOffset);
-		}
-		fBuiltinMacros.add(astmacro);*/
-	}
-
-	/**
-	 * The outermost context must be a translation unit. You must call this method exactly once and before
-	 * creating any other context.
-	 */
-	public ILocationCtx pushTranslationUnit(String filename, char[] buffer) {
-		assert fCurrentContext == null;
-		fTranslationUnitPath= filename;
-		fCurrentContext= fRootContext= new LocationCtxFile(null, filename, buffer, 0, 0, 0, null);
-		fLastChildInsertionOffset= 0;
-		return fCurrentContext;
-	}
-
-	/**
-	 * Starts an artificial context that can be used to include files without having a source that contains
-	 * the include directives.
-	 * @param buffer a buffer containing the include directives.
-	 * @param isMacroFile whether the context is used for running the preprocessor, only.
-	 */
-	public ILocationCtx pushPreInclusion(char[] buffer, int offset, boolean isMacroFile) {
-		assert fCurrentContext instanceof LocationCtxContainer;
-		int sequenceNumber= getSequenceNumberForOffset(offset);
-		fCurrentContext= new LocationCtxContainer((LocationCtxContainer) fCurrentContext, buffer, offset, offset, sequenceNumber);
-		fLastChildInsertionOffset= 0;
-		return fCurrentContext;
-	}
-
-	/**
-	 * Starts a context for an included file.
-	 * @param buffer the buffer containing the content of the inclusion.
-	 * @param filename the filename of the included file
-	 * @param startOffset offset in the current context.
-	 * @param nameOffset offset in the current context.
-	 * @param endOffset offset in the current context
-	 * @param name name of the include without delimiters ("" or <>)
-	 * @param userInclude <code>true</code> when specified with double-quotes.
-	 */
-	public ILocationCtx pushInclusion(int startOffset,	int nameOffset, int nameEndOffset, int endOffset, 
-			char[] buffer, String filename, char[] name, boolean userInclude) {
-		assert fCurrentContext instanceof LocationCtxContainer;
-		int startNumber= getSequenceNumberForOffset(startOffset);	
-		int nameNumber= getSequenceNumberForOffset(nameOffset);		
-		int nameEndNumber= getSequenceNumberForOffset(nameEndOffset);
-		int endNumber= getSequenceNumberForOffset(endOffset);
-		final ASTInclusionStatement inclusionStatement= 
-			new ASTInclusionStatement(fTranslationUnit, startNumber, nameNumber, nameEndNumber, endNumber, name, filename, userInclude, true);
-		//fDirectives.add(inclusionStatement);
-		fCurrentContext= new LocationCtxFile((LocationCtxContainer) fCurrentContext, filename, buffer, startOffset, endOffset, endNumber, inclusionStatement);
-		fLastChildInsertionOffset= 0;
-		return fCurrentContext;
-	}
-
-	/**
-	 * Creates a name representing an implicit macro expansion. The returned name can be fed into 
-	 * {@link #pushMacroExpansion(int, int, int, int, IMacroBinding, IASTName[], ImageLocationInfo[])}
-	 * @param macro the macro that has been expanded
-	 * @param imageLocationInfo the image-location for the name of the macro.
-	 */
-	public IASTName encounterImplicitMacroExpansion(IMacroBinding macro, ImageLocationInfo imageLocationInfo) {
-		return new ASTMacroReferenceName(null, IASTPreprocessorMacroExpansion.NESTED_EXPANSION_NAME, 0, 0, macro, imageLocationInfo);
-	}
-	
-	/**
-	 * Creates a name representing a macro in a defined-expression. The returned name can be fed into 
-	 * {@link #encounterPoundIf(int, int, int, int, boolean, IASTName[])}.
-	 */
-	public IASTName encounterDefinedExpression(IMacroBinding macro, int startOffset, int endOffset) {
-		int startNumber= getSequenceNumberForOffset(startOffset);
-		int endNumber= getSequenceNumberForOffset(endOffset);
-		return new ASTMacroReferenceName(null, IASTPreprocessorStatement.MACRO_NAME, startNumber, endNumber, macro, null);
-	}
-	
-	
-	/**
-	 * Creates a new context for the result of a (recursive) macro-expansion.
-	 * @param nameOffset offset within the current context where the name for the macro-expansion starts.
-	 * @param nameEndOffset offset within the current context where the name for the macro-expansion ends.
-	 * @param endOffset offset within the current context where the entire macro-expansion ends.
-	 * @param macro the outermost macro that got expanded.
-	 * @param implicitMacroReferences an array of implicit macro-expansions.
-	 * @param imageLocations an array of image-locations for the new context.
-	 */
-	public ILocationCtx pushMacroExpansion(int nameOffset, int nameEndOffset, int endOffset, int contextLength,
-			IMacroBinding macro, IASTName[] implicitMacroReferences, ImageLocationInfo[] imageLocations) {
-		assert fCurrentContext instanceof LocationCtxContainer;
-		
-		int nameNumber= getSequenceNumberForOffset(nameOffset);		
-		int nameEndNumber= getSequenceNumberForOffset(nameEndOffset);
-		int endNumber= getSequenceNumberForOffset(endOffset);
-		//final int length= endNumber-nameNumber;
-		
-		ASTMacroExpansion expansion= new ASTMacroExpansion(fTranslationUnit, nameNumber, endNumber);
-		ASTMacroReferenceName explicitRef= new ASTMacroReferenceName(expansion, IASTPreprocessorMacroExpansion.EXPANSION_NAME, nameNumber, nameEndNumber, macro, null);
-		addMacroReference(explicitRef);
-		/*for (IASTName implicitMacroReference : implicitMacroReferences) {
-			ASTMacroReferenceName name = (ASTMacroReferenceName) implicitMacroReference;
-			name.setParent(expansion);
-			name.setOffsetAndLength(nameNumber, length);
-			addMacroReference(name);
-		}*/
-		
-		LocationCtxMacroExpansion expansionCtx= new LocationCtxMacroExpansion(this, (LocationCtxContainer) fCurrentContext, nameOffset, endOffset, endNumber, contextLength, imageLocations, explicitRef);
-		expansion.setContext(expansionCtx);
-		fCurrentContext= expansionCtx;
-		fLastChildInsertionOffset= 0;
-		return fCurrentContext;
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	private void addMacroReference(ASTPreprocessorName name) {
-		/*if (name != null) {
-			fMacroReferences.add(name);
-		}*/
-	}
-
-	/**
-	 * Ends the current context.
-	 * @param locationCtx the current context, used to check whether caller and location map are still in sync.
-	 */
-	public void popContext(ILocationCtx locationCtx) {
-		assert fCurrentContext == locationCtx;
-		final LocationCtx child= fCurrentContext;
-		final LocationCtx parent= (LocationCtx) fCurrentContext.getParent();
-		if (parent != null) {
-			fCurrentContext= parent;
-			fLastChildInsertionOffset= child.fEndOffsetInParent;
-			parent.addChildSequenceLength(child.getSequenceLength());
-		}
-	}
-
-	/**
-	 * Reports an inclusion that is not performed.
-	 * @param startOffset offset in the current context.
-	 * @param nameOffset offset in the current context.
-	 * @param endOffset offset in the current context
-	 * @param name name of the include without delimiters ("" or <>)
-	 * @param filename the filename of the included file
-	 * @param userInclude <code>true</code> when specified with double-quotes.
-	 * @param active <code>true</code> when include appears in active code.
-	 */
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterPoundInclude(int startOffset, int nameOffset, int nameEndOffset, int endOffset,
-			char[] name, String filename, boolean userInclude, boolean active) {
-		/*startOffset= getSequenceNumberForOffset(startOffset);	
-		nameOffset= getSequenceNumberForOffset(nameOffset);		
-		nameEndOffset= getSequenceNumberForOffset(nameEndOffset);
-		endOffset= getSequenceNumberForOffset(endOffset);
-		fDirectives.add(new ASTInclusionStatement(fTranslationUnit, startOffset, nameOffset, nameEndOffset, endOffset, name, filename, userInclude, active));*/
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounteredComment(int offset, int endOffset, boolean isBlockComment) {
-		/*offset= getSequenceNumberForOffset(offset);
-		endOffset= getSequenceNumberForOffset(endOffset);
-		fComments.add(new ASTComment(fTranslationUnit, offset, endOffset, isBlockComment));*/
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterProblem(int id, char[] arg, int offset, int endOffset) {
-    	/*offset= getSequenceNumberForOffset(offset);
-    	endOffset= getSequenceNumberForOffset(endOffset);
-    	ASTProblem problem = new ASTProblem(fTranslationUnit, IASTTranslationUnit.SCANNER_PROBLEM, id, arg, false, offset, endOffset);
-		fProblems.add(problem);*/
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterPoundElse(int startOffset, int endOffset, boolean isActive) {
-		/*startOffset= getSequenceNumberForOffset(startOffset);
-		endOffset= getSequenceNumberForOffset(endOffset);
-		fDirectives.add(new ASTElse(fTranslationUnit, startOffset, endOffset, isActive));*/
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterPoundElif(int startOffset, int condOffset, int condEndOffset, int endOffset, boolean isActive, 
-			IASTName[] macrosInDefinedExpression) {
-		/*startOffset= getSequenceNumberForOffset(startOffset); 	
-		condOffset= getSequenceNumberForOffset(condOffset);		
-		condEndOffset= getSequenceNumberForOffset(condEndOffset);
-		// compatible with 4.0: endOffset= getSequenceNumberForOffset(endOffset);
-		final ASTElif elif = new ASTElif(fTranslationUnit, startOffset, condOffset, condEndOffset, isActive);
-		fDirectives.add(elif);
-		
-		for (IASTName element : macrosInDefinedExpression) {
-			ASTMacroReferenceName name = (ASTMacroReferenceName) element;
-			name.setParent(elif);
-			name.setPropertyInParent(IASTPreprocessorStatement.MACRO_NAME);
-			addMacroReference(name);
-		}*/
-
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterPoundEndIf(int startOffset, int endOffset) {
-		/*startOffset= getSequenceNumberForOffset(startOffset);
-		endOffset= getSequenceNumberForOffset(endOffset);
-		fDirectives.add(new ASTEndif(fTranslationUnit, startOffset, endOffset));*/
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterPoundError(int startOffset, int condOffset, int condEndOffset, int endOffset) {
-		/*startOffset= getSequenceNumberForOffset(startOffset);
-		condOffset= getSequenceNumberForOffset(condOffset);
-		condEndOffset= getSequenceNumberForOffset(condEndOffset);
-		// not using endOffset, compatible with 4.0: endOffset= getSequenceNumberForOffset(endOffset);
-		fDirectives.add(new ASTError(fTranslationUnit, startOffset, condOffset, condEndOffset));*/
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterPoundPragma(int startOffset, int condOffset, int condEndOffset, int endOffset) {
-		/*startOffset= getSequenceNumberForOffset(startOffset);
-		condOffset= getSequenceNumberForOffset(condOffset);
-		condEndOffset= getSequenceNumberForOffset(condEndOffset);
-		// not using endOffset, compatible with 4.0: endOffset= getSequenceNumberForOffset(endOffset);
-		fDirectives.add(new ASTPragma(fTranslationUnit, startOffset, condOffset, condEndOffset));*/
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterPoundIfdef(int startOffset, int condOffset, int condEndOffset, int endOffset, boolean taken, IMacroBinding macro) {
-		/*startOffset= getSequenceNumberForOffset(startOffset);
-		condOffset= getSequenceNumberForOffset(condOffset);
-		condEndOffset= getSequenceNumberForOffset(condEndOffset);
-		// not using endOffset, compatible with 4.0: endOffset= getSequenceNumberForOffset(endOffset);
-		final ASTIfdef ifdef = new ASTIfdef(fTranslationUnit, startOffset, condOffset, condEndOffset, taken, macro);
-		fDirectives.add(ifdef);
-		addMacroReference(ifdef.getMacroReference());*/
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterPoundIfndef(int startOffset, int condOffset, int condEndOffset, int endOffset, boolean taken, IMacroBinding macro) {
-		/*startOffset= getSequenceNumberForOffset(startOffset);
-		condOffset= getSequenceNumberForOffset(condOffset);
-		condEndOffset= getSequenceNumberForOffset(condEndOffset);
-		// not using endOffset, compatible with 4.0: endOffset= getSequenceNumberForOffset(endOffset);
-		final ASTIfndef ifndef = new ASTIfndef(fTranslationUnit, startOffset, condOffset, condEndOffset, taken, macro);
-		fDirectives.add(ifndef);
-		addMacroReference(ifndef.getMacroReference());*/
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterPoundIf(int startOffset, int condOffset, int condEndOffset, int endOffset, boolean isActive,
-			IASTName[] macrosInDefinedExpression) {
-		/*startOffset= getSequenceNumberForOffset(startOffset);	
-		condOffset= getSequenceNumberForOffset(condOffset);		
-		condEndOffset= getSequenceNumberForOffset(condEndOffset);
-		// not using endOffset, compatible with 4.0: endOffset= getSequenceNumberForOffset(endOffset);
-		final ASTIf astif = new ASTIf(fTranslationUnit, startOffset, condOffset, condEndOffset, isActive);
-		fDirectives.add(astif);
-		for (IASTName element : macrosInDefinedExpression) {
-			ASTMacroReferenceName name = (ASTMacroReferenceName) element;
-			name.setParent(astif);
-			name.setPropertyInParent(IASTPreprocessorStatement.MACRO_NAME);
-			addMacroReference(name);
-		}*/
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterPoundDefine(int startOffset, int nameOffset, int nameEndOffset, int expansionOffset, int endOffset, IMacroBinding macrodef) {
-		/*startOffset= getSequenceNumberForOffset(startOffset);	
-		nameOffset= getSequenceNumberForOffset(nameOffset);		
-		nameEndOffset= getSequenceNumberForOffset(nameEndOffset);
-		expansionOffset= getSequenceNumberForOffset(expansionOffset);
-		endOffset= getSequenceNumberForOffset(endOffset);
-		ASTPreprocessorNode astMacro;
-		if (!macrodef.isFunctionStyle()) {
-			astMacro= new ASTMacroDefinition(fTranslationUnit, macrodef, startOffset, nameOffset, nameEndOffset, expansionOffset, endOffset);
-		}
-		else {
-			astMacro= new ASTFunctionStyleMacroDefinition(fTranslationUnit, macrodef, startOffset, nameOffset, nameEndOffset, expansionOffset, endOffset);
-		}
-		fDirectives.add(astMacro);*/
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	public void encounterPoundUndef(IMacroBinding definition, int startOffset, int nameOffset, int nameEndOffset, int endOffset, char[] name) {
-		/*startOffset= getSequenceNumberForOffset(startOffset);	
-		nameOffset= getSequenceNumberForOffset(nameOffset);		
-		nameEndOffset= getSequenceNumberForOffset(nameEndOffset);
-		// not using endOffset, compatible with 4.0: endOffset= getSequenceNumberForOffset(endOffset);
-		final ASTUndef undef = new ASTUndef(fTranslationUnit, name, startOffset, nameOffset, nameEndOffset, definition);
-		fDirectives.add(undef);
-		addMacroReference(undef.getMacroName());*/
-	}
-
-	public void setRootNode(IASTTranslationUnit root) {
-		fTranslationUnit= root;
-		if (fTranslationUnit instanceof ISkippedIndexedFilesListener) {
-			fSkippedFilesListeners.add((ISkippedIndexedFilesListener) root);
-		}
-	}
-	
-	public String getTranslationUnitPath() {
-		return fTranslationUnitPath;
-	}
-
-	/**
-	 * Line number of offset in current context.
-	 * @param offset in current context.
-	 */
-	public int getCurrentLineNumber(int offset) {
-		return fCurrentContext.getLineNumber(offset);
-	}
-
-	/**
-	 * Returns the filename of the current context. If the context is a macro-expansion the filename of
-	 * the enclosing file is returned.
-	 */
-	public String getCurrentFilePath() {
-		return fCurrentContext.getFilePath();
-	}
-
-	/**
-	 * Returns the sequence number corresponding to the offset in the current context. 
-	 * <p>
-	 * You must insert all child contexts before the given offset before conversion.
-	 */
-	int getSequenceNumberForOffset(int offset) {
-		return fCurrentContext.getSequenceNumberForOffset(offset, offset < fLastChildInsertionOffset);
-	}
-
-	public String getContainingFilePath(int sequenceNumber) {
-		LocationCtx ctx= fRootContext.findSurroundingContext(sequenceNumber, 1);
-		return new String(ctx.getFilePath());
-	}
-
-	public ASTFileLocation getMappedFileLocation(int sequenceNumber, int length) {
-		return fRootContext.findMappedFileLocation(sequenceNumber, length);
-	}
-	
-    /*public char[] getUnpreprocessedSignature(IASTFileLocation loc) {
-		ASTFileLocation floc= convertFileLocation(loc);
-		if (floc == null) {
-			return CharArrayUtils.EMPTY;
-		}
-		return floc.getSource();
-	}*/
-    
-	/*public IASTPreprocessorMacroExpansion[] getMacroExpansions(IASTFileLocation loc) {
-		ASTFileLocation floc= convertFileLocation(loc);
-		if (floc == null) {
-			return IASTPreprocessorMacroExpansion.EMPTY_ARRAY;
-		}
-		
-		LocationCtxFile ctx= floc.getLocationContext();
-		ArrayList<IASTPreprocessorMacroExpansion> list= new ArrayList<IASTPreprocessorMacroExpansion>();
-		
-		ctx.collectMacroExpansions(floc.getNodeOffset(), floc.getNodeLength(), list);
-		return list.toArray(new IASTPreprocessorMacroExpansion[list.size()]);
-	}*/
-
-	/*private ASTFileLocation convertFileLocation(IASTFileLocation loc) {
-		if (loc == null) {
-			return null;
-		}
-		if (loc instanceof ASTFileLocation) {
-			return (ASTFileLocation) loc;
-		}
-		final String fileName = loc.getFileName();
-		final int nodeOffset = loc.getNodeOffset();
-		final int nodeLength = loc.getNodeLength();
-		int sequenceNumber= getSequenceNumberForFileOffset(fileName, nodeOffset);
-		if (sequenceNumber < 0) {
-			return null;
-		}
-		
-		int length= 0;
-		if (nodeLength > 0) {
-			length= getSequenceNumberForFileOffset(fileName, nodeOffset + nodeLength-1)+1 - sequenceNumber;
-			if (length < 0) {
-				return null;
-			}
-		}
-		return getMappedFileLocation(sequenceNumber, length);
-	}*/
-
-	public IASTNodeLocation[] getLocations(int sequenceNumber, int length) {
-		ArrayList<IASTNodeLocation> result= new ArrayList<IASTNodeLocation>();
-		fRootContext.collectLocations(sequenceNumber, length, result);
-		return result.toArray(new IASTNodeLocation[result.size()]);
-	} 
-	
-	
-	public boolean isPartOfTranslationUnitFile(int sequenceNumber) {
-		return fRootContext.isThisFile(sequenceNumber);
-	}
-
-	public IASTImageLocation getImageLocation(int sequenceNumber, int length) {
-		ArrayList<IASTNodeLocation> result= new ArrayList<IASTNodeLocation>();
-		fRootContext.collectLocations(sequenceNumber, length, result);
-		if (result.size() != 1) {
-			return null;
-		}
-		IASTNodeLocation loc= result.get(0);
-		if (loc instanceof IASTFileLocation) {
-			IASTFileLocation floc= (IASTFileLocation) loc;
-			return new ASTImageLocation(IASTImageLocation.REGULAR_CODE, 
-					floc.getFileName(), floc.getNodeOffset(), floc.getNodeLength());
-		}
-		if (loc instanceof ASTMacroExpansionLocation) { 
-			ASTMacroExpansionLocation mel= (ASTMacroExpansionLocation) loc;
-			return mel.getImageLocation();
-		}
-		return null;
-	}
-
-	/*public void findPreprocessorNode(ASTNodeSpecification<?> nodeSpec) {
-		final int sequenceStart= nodeSpec.getSequenceStart();
-		final int sequenceEnd= nodeSpec.getSequenceEnd();
-		
-		// check directives
-		int from= findLastNodeBefore(fDirectives, sequenceStart);
-		for (int i= from+1; i < fDirectives.size(); i++) {
-			ASTPreprocessorNode directive= fDirectives.get(i);
-			if (directive.getOffset() > sequenceEnd) {
-				break;
-			}
-			directive.findNode(nodeSpec);
-		}
-		
-		// check macro references and expansions
-		from= findLastMacroReferenceBefore(fMacroReferences, sequenceStart);
-		for (int i= from+1; i < fMacroReferences.size(); i++) {
-			ASTPreprocessorNode macroRef= fMacroReferences.get(i);
-			if (macroRef.getOffset() > sequenceEnd) {
-				break;
-			}
-			if (macroRef.getPropertyInParent() == IASTPreprocessorMacroExpansion.NESTED_EXPANSION_NAME) {
-				continue;
-			}
-			nodeSpec.visit(macroRef);
-			IASTNode parent= macroRef.getParent();
-			if (parent instanceof ASTMacroExpansion) {
-				ASTMacroExpansion expansion= (ASTMacroExpansion) parent;
-				assert expansion.getMacroReference() == macroRef;
-
-				if (nodeSpec.canContainMatches(expansion)) {
-					nodeSpec.visit(expansion);
-					if (!nodeSpec.requiresClass(IASTPreprocessorMacroExpansion.class)) {
-						LocationCtxMacroExpansion ctx= expansion.getContext();
-						if (fTranslationUnit != null) {
-							FindNodeByImageLocation visitor= new FindNodeByImageLocation(ctx.fSequenceNumber, ctx.getSequenceLength(), nodeSpec);
-							fTranslationUnit.accept(visitor);
-						}
-						ASTPreprocessorName[] nestedMacros= expansion.getNestedMacroReferences();
-						for (ASTPreprocessorName nested : nestedMacros) {
-							IASTImageLocation imgLoc= nested.getImageLocation();
-							if (imgLoc != null && imgLoc.getLocationKind() == IASTImageLocation.ARGUMENT_TO_MACRO_EXPANSION) {
-								nodeSpec.visit(nested, imgLoc);
-							}
-						}
-					}
-				}
-			}
-		}
-	}*/
-	
-    /*private int findLastNodeBefore(ArrayList<? extends ASTPreprocessorNode> nodes, int sequenceStart) {
-    	int lower=-1;
-    	int upper= nodes.size()-1;
-    	while(lower < upper) {
-    		int middle= (lower+upper+1)/2;
-    		ASTPreprocessorNode candidate= nodes.get(middle);
-    		if (candidate.getOffset() + candidate.getLength() >= sequenceStart) {
-    			upper= middle-1;
-    		}
-    		else {
-    			lower= middle;
-    		}
-    	}
-    	return lower;
-	}*/
-
-    /*private int findLastMacroReferenceBefore(ArrayList<? extends ASTPreprocessorName> nodes, int sequenceStart) {
-    	int lower=-1;
-    	int upper= nodes.size()-1;
-    	while(lower < upper) {
-    		int middle= (lower+upper+1)/2;
-    		ASTPreprocessorNode candidate= nodes.get(middle);
-    		IASTNode parent= candidate.getParent();
-    		if (parent instanceof ASTMacroExpansion) {
-    			candidate= (ASTMacroExpansion) parent;
-    		}
-    		if (candidate.getOffset() + candidate.getLength() >= sequenceStart) {
-    			upper= middle-1;
-    		}
-    		else {
-    			lower= middle;
-    		}
-    	}
-    	return lower;
-	}*/
-
-	/*public int getSequenceNumberForFileOffset(String filePath, int fileOffset) {
-		LocationCtx ctx= fRootContext;
-		if (filePath != null) {
-			LinkedList<LocationCtx> contexts= new LinkedList<LocationCtx>();
-			while(ctx != null) {
-				if (ctx instanceof LocationCtxFile) {
-					if (filePath.equals(ctx.getFilePath())) {
-						break;
-					}
-				}
-				contexts.addAll(ctx.getChildren());
-				if (contexts.isEmpty()) {
-					ctx= null;
-				}
-				else {
-					ctx= contexts.removeFirst();
-				}
-			}
-		}
-		if (ctx != null) {
-			return ctx.getSequenceNumberForOffset(fileOffset, true);
-		}
-		return -1;
-	}*/
-
-	/*public IASTFileLocation flattenLocations(IASTNodeLocation[] locations) {
-		if (locations.length == 0) {
-			return null;
-		}
-		IASTFileLocation from= locations[0].asFileLocation();
-		IASTFileLocation to= locations[locations.length-1].asFileLocation();
-		if (from == to) {
-			return from;
-		}
-		if (from instanceof ASTFileLocation && to instanceof ASTFileLocation) {
-			int sequenceNumber= ((ASTFileLocation) from).getSequenceNumber();
-			int length= ((ASTFileLocation) from).getSequenceEndNumber() - sequenceNumber;
-			if (length > 0) {
-				return getMappedFileLocation(sequenceNumber, length);
-			}
-		}
-		return null;
-	}*/
-
-
-	/*public IASTPreprocessorMacroDefinition[] getMacroDefinitions() {
-    	ArrayList<Object> result= new ArrayList<Object>();
-    	for (Iterator<ASTPreprocessorNode> iterator = fDirectives.iterator(); iterator.hasNext();) {
-			Object directive= iterator.next();
-			if (directive instanceof IASTPreprocessorMacroDefinition) {
-				result.add(directive);
-			}
-		}
-    	return result.toArray(new IASTPreprocessorMacroDefinition[result.size()]);
-    }*/
-
-    /*public IASTPreprocessorIncludeStatement[] getIncludeDirectives() {
-    	ArrayList<Object> result= new ArrayList<Object>();
-    	for (Iterator<ASTPreprocessorNode> iterator = fDirectives.iterator(); iterator.hasNext();) {
-			Object directive= iterator.next();
-			if (directive instanceof IASTPreprocessorIncludeStatement) {
-				result.add(directive);
-			}
-		}
-    	return result.toArray(new IASTPreprocessorIncludeStatement[result.size()]);
-    }*/
-
-	/*public IASTComment[] getComments() {
-    	return fComments.toArray(new IASTComment[fComments.size()]);
-	}*/
-
-    /*public IASTPreprocessorStatement[] getAllPreprocessorStatements() {
-    	return fDirectives.toArray(new IASTPreprocessorStatement[fDirectives.size()]);
-    }*/
-
-    /*public IASTPreprocessorMacroDefinition[] getBuiltinMacroDefinitions() {
-    	return fBuiltinMacros.toArray(new IASTPreprocessorMacroDefinition[fBuiltinMacros.size()]);
-    }*/
-
-	/*public IASTProblem[] getScannerProblems() {
-		return fProblems.toArray(new IASTProblem[fProblems.size()]);
-	}
-
-	public int getScannerProblemsCount() {
-		return fProblems.size();
-	}*/
-	
-	/*public IASTName[] getDeclarations(IMacroBinding binding) {
-		IASTPreprocessorMacroDefinition def = getMacroDefinition(binding);
-		return def == null ? EMPTY_NAMES : new IASTName[] {def.getName()};
-	}*/
-
-	/*IASTPreprocessorMacroDefinition getMacroDefinition(IMacroBinding binding) {
-		if (fMacroDefinitionMap == null) {
-			fMacroDefinitionMap= new IdentityHashMap<IBinding, IASTPreprocessorMacroDefinition>();
-			for (int i = 0; i < fBuiltinMacros.size(); i++) {
-				final IASTPreprocessorMacroDefinition def = fBuiltinMacros.get(i);
-				final IASTName name = def.getName();
-				if (name != null) {
-					fMacroDefinitionMap.put(name.getBinding(), def);
-				}
-			}
-			IASTPreprocessorMacroDefinition[] defs= getMacroDefinitions();
-			for (final IASTPreprocessorMacroDefinition def : defs) {
-				final IASTName name = def.getName();
-				if (name != null) {
-					fMacroDefinitionMap.put(name.getBinding(), def);
-				}
-			}
-		}
-		return fMacroDefinitionMap.get(binding);
-	}*/
-
-	/*public IASTName[] getReferences(IMacroBinding binding) {
-		List<IASTName> result= new ArrayList<IASTName>();
-		for (IASTName name : fMacroReferences) {
-			if (name.getBinding() == binding) {
-				result.add(name);
-			}
-		}
-		return result.toArray(new IASTName[result.size()]);
-	}*/
-	
-	/*public IASTName[] getMacroReferences() {
-		return fMacroReferences.toArray(new IASTName[fMacroReferences.size()]);
-	}*/
-
-	/*public ASTPreprocessorName[] getNestedMacroReferences(ASTMacroExpansion expansion) {
-		final IASTName explicitRef= expansion.getMacroReference(); 
-		List<ASTPreprocessorName> result= new ArrayList<ASTPreprocessorName>();
-		for (ASTPreprocessorName name : fMacroReferences) {
-			if (name.getParent() == expansion && name != explicitRef) {
-				result.add(name);
-			}
-		}
-		return result.toArray(new ASTPreprocessorName[result.size()]);
-	}*/
-
-	public IDependencyTree getDependencyTree() {
-        return new DependencyTree(fRootContext);
-	}
-
-	public void cleanup() {
-	}
-
-	public void skippedFile(int sequenceNumber, IncludeFileContent fi) {
-		for (ISkippedIndexedFilesListener l : fSkippedFilesListeners) {
-			l.skippedFile(sequenceNumber, fi);
-		}
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroDefinitionParser.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroDefinitionParser.java
deleted file mode 100755
index 571b76f..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroDefinitionParser.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-/**
- * Edited by Matthew Michelotti
- * 
- * Overview of changes
- * -may have changed imports
- * -Updated constructor of TokenParameterReference to take in precedingWhiteSpace
- * -Updated call to the TokenParameterReference constructor in parseExpansion
- *  to send in preceding white space
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.ArrayList;
-
-import org.eclipse.cdt.core.parser.IProblem;
-import org.eclipse.cdt.core.parser.Keywords;
-import org.eclipse.cdt.core.parser.util.CharArrayUtils;
-import org.eclipse.photran.internal.core.preprocessor.c.Lexer.LexerOptions;
-
-/**
- * Utility to parse macro definitions and create the macro objects for the preprocessor.
- * @since 5.0
- */
-public class MacroDefinitionParser {
-	private static final int ORIGIN_PREPROCESSOR_DIRECTIVE = OffsetLimitReachedException.ORIGIN_PREPROCESSOR_DIRECTIVE;
-
-	/**
-	 * Exception for reporting problems while parsing a macro definition.
-	 */
-	@SuppressWarnings("serial")
-	static class InvalidMacroDefinitionException extends Exception {
-		public char[] fName;
-		public int fStartOffset;
-		public int fEndOffset;
-		public InvalidMacroDefinitionException(char[] name, int startOffset, int endOffset) {
-			fName= name;
-			fStartOffset= startOffset;
-			fEndOffset= endOffset;
-		}
-	}
-
-	/**
-	 * Token used for macro parameters found in the replacement list.
-	 */
-	static class TokenParameterReference extends TokenWithImage {
-		private final int fIndex;
-	
-		public TokenParameterReference(int type, int idx, Object source, int offset, int endOffset,
-		                                char[] name, char[] precedingWhiteSpace)
-		{
-			super(type, source, offset, endOffset, name, precedingWhiteSpace); //edited by MM to include white-space
-			fIndex= idx;
-		}
-	
-		public int getIndex() {
-			return fIndex;
-		}
-		
-		@Override
-		public String toString() {
-			return "[" + fIndex + "]";  //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	
-	public static char[] getExpansion(char[] expansionImage, int offset, int endOffset) {
-		TokenList tl= new TokenList();
-		Lexer lex= new Lexer(expansionImage, offset, endOffset, new LexerOptions(), ILexerLog.NULL, null);
-		try {
-			lex.nextToken(); // consume the start token
-			new MacroDefinitionParser().parseExpansion(lex, ILexerLog.NULL, null, new char[][]{}, tl);
-		} catch (OffsetLimitReachedException e) {
-		}
-
-		StringBuffer buf= new StringBuffer();
-		Token t= tl.first();
-		if (t == null) {
-			return CharArrayUtils.EMPTY;
-		}
-		endOffset= t.getOffset();
-		for (; t != null; t= (Token) t.getNext()) {
-			if (endOffset < t.getOffset()) {
-				buf.append(' ');
-			}
-			buf.append(t.getCharImage());
-			endOffset= t.getEndOffset();
-		}
-		final int length= buf.length(); 
-		final char[] expansion= new char[length];
-		buf.getChars(0, length, expansion, 0);
-		return expansion;
-	}
-
-	private int fHasVarArgs;
-	private int fExpansionOffset;
-	private int fExpansionEndOffset;
-	private Token fNameToken;
-		
-	MacroDefinitionParser() {
-	}
-	
-	/**
-	 * In case the name was successfully parsed, the name token is returned.
-	 * Otherwise the return value is undefined.
-	 */
-	public Token getNameToken() {
-		return fNameToken;
-	}
-
-	/** 
-	 * Parses an entire macro definition. Name must be the next token of the lexer.
-	 */
-	public ObjectStyleMacro parseMacroDefinition(final Lexer lexer, final ILexerLog log) 
-			throws OffsetLimitReachedException, InvalidMacroDefinitionException {
-    	final Token name = parseName(lexer);
-    	final char[] source= lexer.getInput();
-    	final char[] nameChars= name.getCharImage();
-    	final char[][] paramList= parseParamList(lexer, name);
-    	final TokenList replacement= new TokenList();
-    	parseExpansion(lexer, log, nameChars, paramList, replacement);
-    	if (paramList == null) {
-    		return new ObjectStyleMacro(nameChars, fExpansionOffset, fExpansionEndOffset, replacement, source);
-    	}
-    	return new FunctionStyleMacro(nameChars, paramList, fHasVarArgs, fExpansionOffset, fExpansionEndOffset, replacement, source);
-	}
-
-	/** 
-	 * Parses a macro definition without the replacement. Name must be the next token of the lexer.
-	 */
-	public PreprocessorMacro parseMacroDefinition(final Lexer lexer, final ILexerLog log, final char[] replacement) 
-			throws InvalidMacroDefinitionException, OffsetLimitReachedException {
-		final Token name = parseName(lexer);
-
-		final char[] nameChars = name.getCharImage();
-		final char[][] paramList= parseParamList(lexer, name);
-		final Token replacementToken = lexer.currentToken();
-		if (replacementToken.getType() != IToken.tEND_OF_INPUT) {
-			throw new InvalidMacroDefinitionException(nameChars, replacementToken.getOffset(), replacementToken.getEndOffset());
-		}
-		
-		if (paramList == null) { 
-			return new ObjectStyleMacro(nameChars, replacement);
-		}
-		return new FunctionStyleMacro(nameChars, paramList, fHasVarArgs, replacement);
-	}
-
-	/** 
-	 * Parses a macro definition basically checking for var-args.
-	 */
-	public static PreprocessorMacro parseMacroDefinition(final char[] name, char[][] paramList, final char[] replacement) {
-		int hasVarargs= 0;
-		if (paramList != null) {
-			final int length = paramList.length;
-			if (length > 0) {
-				char[] lastParam= paramList[length-1];
-				final int lpl = lastParam.length;
-				switch(lpl) {
-				case 0: case 1: case 2:
-					break;
-				case 3:
-					if (CharArrayUtils.equals(lastParam, Keywords.cpELLIPSIS)) {
-						hasVarargs= FunctionStyleMacro.VAARGS;
-						char[][] copy= new char[length][];
-						System.arraycopy(paramList, 0, copy, 0, length-1);
-						copy[length-1]= Keywords.cVA_ARGS;
-						paramList= copy;
-					}
-					break;
-				default:
-					if (CharArrayUtils.equals(lastParam, lpl-3, 3, Keywords.cpELLIPSIS)) {
-						hasVarargs= FunctionStyleMacro.NAMED_VAARGS;
-						char[][] copy= new char[length][];
-						System.arraycopy(paramList, 0, copy, 0, length-1);
-						copy[length-1]= CharArrayUtils.subarray(lastParam, 0, lpl-3);
-						paramList= copy;
-					}
-				break;
-				}
-			}
-		}
-		
-		if (paramList == null) { 
-			return new ObjectStyleMacro(name, replacement);
-		}
-		return new FunctionStyleMacro(name, paramList, hasVarargs, replacement);
-	}
-
-	private Token parseName(final Lexer lexer) throws OffsetLimitReachedException,	InvalidMacroDefinitionException {
-		final Token name= lexer.nextToken();
-    	final int tt= name.getType();
-    	if (tt != IToken.tIDENTIFIER) {
-    		if (tt == IToken.tCOMPLETION) {
-    			throw new OffsetLimitReachedException(ORIGIN_PREPROCESSOR_DIRECTIVE, name);
-    		}
-    		throw new InvalidMacroDefinitionException(name.getCharImage(), name.getOffset(), name.getEndOffset());
-    	}
-    	fNameToken= name;
-		return name;
-	}
-	
-	private char[][] parseParamList(Lexer lex, final Token name) throws OffsetLimitReachedException, InvalidMacroDefinitionException {
-	    final Token lparen= lex.nextToken();
-		fHasVarArgs= FunctionStyleMacro.NO_VAARGS;
-		if (lparen.getType() != IToken.tLPAREN || name.getEndOffset() != lparen.getOffset()) { 
-			return null;
-		}
-		ArrayList<char[]> paramList= new ArrayList<char[]>();
-		IToken next= null;
-		do {
-			final Token param= lex.nextToken();
-			switch (param.getType()) {
-			case IToken.tCOMPLETION:
-				throw new OffsetLimitReachedException(ORIGIN_PREPROCESSOR_DIRECTIVE, param);
-
-			case IToken.tIDENTIFIER:
-				paramList.add(param.getCharImage());
-				next= lex.nextToken();
-				if (next.getType() == IToken.tELLIPSIS) {
-					fHasVarArgs= FunctionStyleMacro.NAMED_VAARGS;
-					next= lex.nextToken();
-				}
-				break;
-
-			case IToken.tELLIPSIS:
-				fHasVarArgs= FunctionStyleMacro.VAARGS;
-				paramList.add(Keywords.cVA_ARGS);
-				next= lex.nextToken();
-				break;
-				
-			case IToken.tRPAREN:
-				if (next == null) {
-					next= param;
-					break;
-				}
-				throw new InvalidMacroDefinitionException(name.getCharImage(), name.getOffset(), param.getEndOffset());
-			default:
-				throw new InvalidMacroDefinitionException(name.getCharImage(), name.getOffset(), param.getEndOffset());
-			}
-		}
-		while (fHasVarArgs==0 && next.getType() == IToken.tCOMMA);
-		if (next.getType() != IToken.tRPAREN) {
-			throw new InvalidMacroDefinitionException(name.getCharImage(), name.getOffset(), next.getEndOffset());
-		}
-		next= lex.nextToken(); // consume the closing parenthesis
-
-		return paramList.toArray(new char[paramList.size()][]);
-	}
-
-	/**
-	 * Parses the expansion for a macro, the current token must be the first token of the expansion
-	 * @since 5.0
-	 */
-	public void parseExpansion(final Lexer lexer, final ILexerLog log, final char[] name, final char[][] paramList,
-			TokenList result) throws OffsetLimitReachedException {
-		boolean needParam= false;
-		boolean isFirst= true;
-		Token needAnotherToken= null;
-
-		Token candidate= lexer.currentToken();
-		fExpansionOffset= fExpansionEndOffset= candidate.getOffset();		
-
-		loop: while(true) {
-			switch(candidate.getType()) {
-			case IToken.tCOMPLETION:
-				throw new OffsetLimitReachedException(ORIGIN_PREPROCESSOR_DIRECTIVE, candidate);
-			case IToken.tEND_OF_INPUT:
-			case Lexer.tNEWLINE:
-				break loop;
-			case IToken.tIDENTIFIER:
-				if (paramList != null) {
-					// convert the parameters to special tokens
-					final char[] image = candidate.getCharImage();
-					int idx= CharArrayUtils.indexOf(image, paramList);
-					if (idx >= 0) {
-					    //following line edited by MM to include white-space
-						candidate= new TokenParameterReference(CPreprocessor.tMACRO_PARAMETER, idx, lexer.getSource(), candidate.getOffset(), candidate.getEndOffset(), paramList[idx], candidate.getCharPrecedingWhiteSpace());
-						needParam= false;
-					}
-					else {
-						if (needParam) {
-							log.handleProblem(IProblem.PREPROCESSOR_MACRO_PASTING_ERROR, name, fExpansionOffset, candidate.getEndOffset());
-						}
-						else if (CharArrayUtils.equals(Keywords.cVA_ARGS, image)) {
-							log.handleProblem(IProblem.PREPROCESSOR_INVALID_VA_ARGS, null, fExpansionOffset, candidate.getEndOffset());
-						}
-						needParam= false;
-					}
-				}
-				needAnotherToken= null;
-				break;
-			case IToken.tPOUND:
-				needParam= paramList != null;
-				needAnotherToken= null;
-				break;
-			case IToken.tPOUNDPOUND:
-				if (needParam || isFirst) {
-					log.handleProblem(IProblem.PREPROCESSOR_MACRO_PASTING_ERROR, name, fExpansionOffset, candidate.getEndOffset());
-				}
-				needAnotherToken= candidate;
-				needParam= false;
-				break;
-			default:
-				if (needParam) {
-					log.handleProblem(IProblem.PREPROCESSOR_MACRO_PASTING_ERROR, name, fExpansionOffset, candidate.getEndOffset());
-					needParam= false;
-				}
-				needAnotherToken= null;
-				break;
-			}
-			isFirst= false;
-			fExpansionEndOffset= candidate.getEndOffset();
-			result.append(candidate);
-			candidate= lexer.nextToken();
-		}
-		if (needAnotherToken != null) {
-			log.handleProblem(IProblem.PREPROCESSOR_MACRO_PASTING_ERROR, name, needAnotherToken.getOffset(), needAnotherToken.getEndOffset());
-		}
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroExpander.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroExpander.java
deleted file mode 100755
index 4280a08..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroExpander.java
+++ /dev/null
@@ -1,1046 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-/**
- * Edited by Matthew Michelotti
- * 
- * Overview of changes:
- * -may have changed some of the import statements
- * -added some lines to expand(...) to make sure the white-spaces
- *  preceding the macro-identifier are preserved in the macro expansion
- * -added some lines to replaceArgs(...) to make sure the white-spaces
- *  preceding the parameter tokens are preserved in the macro expansion
- *  
- * -Added functionality to expand(...) to memorize the macro invocation
- *  as a parent of the expansion. This is done by obtaining the raw
- *  characters from the lexer of the macro after the identifier.
- *  Then, these characters are made into a token and linked to a
- *  clone of the identifier, which is set as the parent of the expansion.
- *  This will form a sequence of one or two tokens, the first token being
- *  the identifier, and the optional second token being a string of
- *  all the arguments. The first token will have the type
- *  tPARENT_BASIC_MACRO or tPARENT_FUNCTION_MACRO, and the second
- *  token will have the type tMACRO_ARGS. I think it is possible for
- *  a Lexer change between the identifier and the argument tokens,
- *  so the first token may have a different parent than the second token.
- *  
- * -edited expand(...) so that if the resulting token list is empty,
- *  a blank token is added to it
- *  
- *  
- *  
- * THE FOLLOWING ARE CHANGES THAT I LATER REMOVED
- * -Added a parameter to parseArguments which is a TokenList named
- *  parsedArguments. Added a couple lines in parseArguments so that it
- *  would append all of the parsed tokens to the parsedArguments TokenList.
- *  If null, it is ignored.
- * -Added a parameter to expandOne called parsedArguments, which in turn will
- *  be passed to the parseArguments method.
- * -Updated references to expandOne to include this new parameter. The
- *  reference from the first expand method is the only one that passes it a
- *  non-null value for parsedArguments.
- * -Added lines in expand(...) to update the parents of the result tokens.
- *  Parents will be clones of the original tokens in a TokenList. Thus,
- *  the first token (left parent) will be singly-linked to the last token
- *  (right parent).
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.BitSet;
-import java.util.IdentityHashMap;
-
-import org.eclipse.cdt.core.dom.ast.IASTName;
-import org.eclipse.cdt.core.parser.IProblem;
-import org.eclipse.cdt.core.parser.Keywords;
-import org.eclipse.cdt.core.parser.util.CharArrayMap;
-import org.eclipse.cdt.core.parser.util.CharArrayUtils;
-import org.eclipse.photran.internal.core.preprocessor.c.ImageLocationInfo.MacroImageLocationInfo;
-import org.eclipse.photran.internal.core.preprocessor.c.ImageLocationInfo.ParameterImageLocationInfo;
-import org.eclipse.photran.internal.core.preprocessor.c.Lexer.LexerOptions;
-import org.eclipse.photran.internal.core.preprocessor.c.MacroDefinitionParser.TokenParameterReference;
-
-/**
- * Utility class to perform macro expansion.
- * @since 5.0
- */
-public class MacroExpander {
-	private static final int ORIGIN = OffsetLimitReachedException.ORIGIN_MACRO_EXPANSION;
-	private static final Token END_TOKEN = new Token(IToken.tEND_OF_INPUT, null, 0, 0);	
-	private static final TokenList EMPTY_TOKEN_LIST = new TokenList();	
-
-	/** 
-	 * Marks the beginning and the end of the scope of a macro expansion. Necessary to properly
-	 * handle recursive expansions and to figure out whether spaces are required during a stringify
-	 * operation across such boundaries.
-	 */
-	public static final class ExpansionBoundary extends Token {
-		private boolean fIsStart;
-		private final PreprocessorMacro fMacro;
-
-		ExpansionBoundary(PreprocessorMacro scope, boolean isStart) {
-			super(CPreprocessor.tSCOPE_MARKER, null, 0, 0);
-			fMacro= scope;
-			fIsStart= isStart;
-		}
-
-		@Override
-		public char[] getCharImage() {
-			return CharArrayUtils.EMPTY;
-		}
-		
-		@Override
-		public String toString() {
-			return "{" + (fIsStart ? '+' : '-') + fMacro.getName() + '}';  //$NON-NLS-1$
-		}
-
-		public void execute(IdentityHashMap<PreprocessorMacro, PreprocessorMacro> forbidden) {
-			if (fIsStart) {
-				forbidden.put(fMacro, fMacro);
-			}
-			else {
-				forbidden.remove(fMacro);
-			}
-		}
-	}
-		
-	/** 
-	 * Combines a list of tokens with the preprocessor to form the input for macro expansion.
-	 */
-	private class TokenSource extends TokenList {
-		private final Lexer fLexer;
-		private final boolean fStopAtNewline;
-
-		public TokenSource(Lexer lexer, boolean stopAtNewline) {
-			fLexer= lexer;
-			fStopAtNewline= stopAtNewline;
-		}
-
-		public Token fetchFirst() throws OffsetLimitReachedException {
-			Token t= removeFirst();
-			if (t == null && fLexer != null) {
-				t= fLexer.currentToken();
-				if (fStopAtNewline && t.getType() == Lexer.tNEWLINE) {
-					t= END_TOKEN;
-				}
-				else {
-					fEndOffset= t.getEndOffset();
-					fLexer.nextToken();
-				}
-			}
-			return t;
-		}
-
-		public boolean findLParenthesis() throws OffsetLimitReachedException {
-			Token t= first();
-			while (t != null) {
-				switch (t.getType()) {
-				case CPreprocessor.tSPACE:
-				case CPreprocessor.tNOSPACE:
-				case Lexer.tNEWLINE:
-				case CPreprocessor.tSCOPE_MARKER:
-					break;
-				case IToken.tLPAREN:
-					return true;
-				default:
-					return false;
-				}
-				t= (Token) t.getNext();
-			}
-
-			if (fLexer != null) {
-				t= fLexer.currentToken();
-				if (!fStopAtNewline) {
-					while(t.getType() == Lexer.tNEWLINE) {
-						t= fLexer.nextToken();
-					}
-				}
-				return t.getType() == IToken.tLPAREN;
-    		}
-
-			return false;
-		}
-	}
-
-	private final ILexerLog fLog;
-	private final MacroDefinitionParser fDefinitionParser;
-	private final CharArrayMap<PreprocessorMacro> fDictionary;
-	private final LocationMap fLocationMap;
-	private final LexerOptions fLexOptions;
-	private ArrayList<IASTName> fImplicitMacroExpansions= new ArrayList<IASTName>();
-	private ArrayList<ImageLocationInfo> fImageLocationInfos= new ArrayList<ImageLocationInfo>();
-	private boolean fCompletionMode;
-	private int fStartOffset;
-	private int fEndOffset;
-	
-	// for using the expander to track expansions
-	private String fFixedCurrentFilename;
-	private int fFixedLineNumber;
-	private char[] fFixedInput;
-	
-	public MacroExpander(ILexerLog log, CharArrayMap<PreprocessorMacro> macroDictionary, LocationMap locationMap, LexerOptions lexOptions) {
-		fDictionary= macroDictionary;
-		fLocationMap= locationMap;
-		fDefinitionParser= new MacroDefinitionParser();
-		fLexOptions= lexOptions;
-		fLog= log;
-	}
-	
-	/** 
-	 * Expects that the identifier has been consumed, stores the result in the list provided.
-	 */
-	public TokenList expand(Lexer lexer, boolean stopAtNewline, final boolean isPPCondition, PreprocessorMacro macro, Token identifier, boolean completionMode) throws OffsetLimitReachedException {
-		fImplicitMacroExpansions.clear();
-		fImageLocationInfos.clear();
-		
-		fStartOffset= identifier.getOffset();
-		fEndOffset= identifier.getEndOffset();
-		fCompletionMode= completionMode;
-		
-		IdentityHashMap<PreprocessorMacro, PreprocessorMacro> forbidden= new IdentityHashMap<PreprocessorMacro, PreprocessorMacro>();
-		
-		// setup input sequence
-		TokenSource input= new TokenSource(lexer, stopAtNewline);
-		TokenList firstExpansion= new TokenList();
-
-		TokenList result;
-		try {
-			firstExpansion.append(new ExpansionBoundary(macro, true));
-			expandOne(identifier, macro, forbidden, input, firstExpansion, null);
-			firstExpansion.append(new ExpansionBoundary(macro, false));
-
-			input.prepend(firstExpansion);
-
-			result= expandAll(input, forbidden, isPPCondition, null);
-		}
-		catch (CompletionInMacroExpansionException e) {
-			// for content assist in macro expansions, we return the list of tokens of the 
-			// parameter at the current cursor position and hope that they make sense if 
-			// they are inserted at the position of the expansion.
-			// For a better solution one would have to perform the expansion with artificial
-			// parameters and then check where the completion token ends up in the expansion.
-			result= e.getParameterTokens().cloneTokens();
-		}
-		postProcessTokens(result);
-		
-		if(result.first() == null) result.append(new Token(CPreprocessor.tBLANK, null, 0, 0)); //added by MM
-		
-        
-		//Assumes that "identifier" was constructed by "lexer".
-        IToken postToken = lexer.currentToken(); //added by MM
-        int invocationStart = identifier.getOrigOffset(); //added by MM
-        int invocationEnd = postToken.getOrigOffset() - postToken.getCharPrecedingWhiteSpace().length; //added by MM
-        Token invocation = new TokenWithImage(CPreprocessor.tPARENT_BASIC_MACRO, null, invocationStart, invocationEnd, lexer.getRawChars(invocationStart, invocationEnd), identifier.getCharPrecedingWhiteSpace()); //added by MM
-        if(macro.isFunctionStyle()) invocation.setType(CPreprocessor.tPARENT_FUNCTION_MACRO); //added by MM
-        invocation.setParent(lexer.getParentToken()); //added by MM
-        
-		
-		
-		Token firstToken = result.first();//added by MM
-	    firstToken.setPrecedingWhiteSpace(invocation.getCharPrecedingWhiteSpace());//added by MM
-	    
-	    Token lastToken = result.last();            //added by MM
-        IToken t = firstToken;                      //added by MM
-        while(true) {                               //added by MM
-            t.setParent(invocation);                //added by MM
-            
-            if(t == lastToken) break;               //added by MM
-            t = t.getNext();                        //added by MM
-        }                                           //added by MM
-        return result;
-	}
-
-	/**
-	 * Method for tracking macro expansions.
-	 * @since 5.0
-	 */
-	public void expand(String beforeExpansion, MacroExpansionTracker tracker, String filePath, int lineNumber, boolean protectDefinedConstructs) {
-		fImplicitMacroExpansions.clear();
-		fImageLocationInfos.clear();
-		fFixedInput= beforeExpansion.toCharArray();
-		fFixedCurrentFilename= filePath;
-		fFixedLineNumber= lineNumber;
-		Lexer lexer= new Lexer(fFixedInput, fLexOptions, fLog, this);
-		
-		try {
-			tracker.start(lexer);
-			Token identifier= lexer.nextToken();
-			if (identifier.getType() != IToken.tIDENTIFIER) {
-				tracker.fail();
-				return;
-			}
-			PreprocessorMacro macro= fDictionary.get(identifier.getCharImage());
-			if (macro == null) {
-				tracker.fail();
-				return;
-			}
-			lexer.nextToken();
-
-			fStartOffset= identifier.getOffset();
-			fEndOffset= identifier.getEndOffset();
-			fCompletionMode= false;
-			IdentityHashMap<PreprocessorMacro, PreprocessorMacro> forbidden= new IdentityHashMap<PreprocessorMacro, PreprocessorMacro>();
-
-			// setup input sequence
-			TokenSource input= new TokenSource(lexer, false);
-			TokenList firstExpansion= new TokenList();
-
-			firstExpansion.append(new ExpansionBoundary(macro, true));
-			expandOne(identifier, macro, forbidden, input, firstExpansion, tracker);
-			firstExpansion.append(new ExpansionBoundary(macro, false));
-			input.prepend(firstExpansion);
-
-			TokenList result= expandAll(input, forbidden, protectDefinedConstructs, tracker);
-			tracker.finish(result, fEndOffset);
-		} catch (OffsetLimitReachedException e) {
-		}
-	}
-	
-	/**
-	 * Expects that the identifier of the macro expansion has been consumed. Expands the macro consuming
-	 * tokens from the input (to read the parameters) and stores the resulting tokens together
-	 * with boundary markers in the result token list.
-	 * Returns the last token of the expansion.
-	 */
-	private Token expandOne(Token lastConsumed, PreprocessorMacro macro, 
-			IdentityHashMap<PreprocessorMacro, PreprocessorMacro> forbidden, TokenSource input, TokenList result,
-			MacroExpansionTracker tracker) 
-			throws OffsetLimitReachedException {
-		if (macro.isFunctionStyle()) {
-			final int paramCount = macro.getParameterPlaceholderList().length;
-			final TokenSource[] argInputs= new TokenSource[paramCount];
-			final BitSet paramUsage= getParamUsage(macro);
-			if (tracker != null) {
-				tracker.startFunctionStyleMacro((Token) lastConsumed.clone());
-			}
-			lastConsumed= parseArguments(input, (FunctionStyleMacro) macro, forbidden, argInputs, tracker);
-			TokenList[] clonedArgs= new TokenList[paramCount];
-			TokenList[] expandedArgs= new TokenList[paramCount];
-			for (int i = 0; i < paramCount; i++) {
-				final TokenSource argInput = argInputs[i];
-				final boolean needCopy= paramUsage.get(2*i);
-				final boolean needExpansion = paramUsage.get(2*i+1);
-				clonedArgs[i]= needCopy ? argInput.cloneTokens() : EMPTY_TOKEN_LIST;
-				expandedArgs[i]= needExpansion ? expandAll(argInput, forbidden, false, tracker) : EMPTY_TOKEN_LIST;
-				if (!needExpansion) {
-					executeScopeMarkers(argInput, forbidden);
-				}
-
-				if (tracker != null) {
-					tracker.setExpandedMacroArgument(needExpansion ? expandedArgs[i] : null);
-					// make sure that the trailing arguments do not get expanded.
-					if (tracker.isDone()) {
-						paramUsage.clear();
-					}
-				}
-			}
-			if (tracker == null) {
-				replaceArgs(macro, clonedArgs, expandedArgs, result);
-			}
-			else {
-				if (tracker.isRequestedStep()) {
-					TokenList replacement= new TokenList();
-					replaceArgs(macro, clonedArgs, expandedArgs, replacement);
-					tracker.storeFunctionStyleMacroReplacement(macro, replacement, result);
-				}
-				else if (tracker.isDone()) {
-					tracker.appendFunctionStyleMacro(result);
-				}
-				else {
-					replaceArgs(macro, clonedArgs, expandedArgs, result);
-				}
-				tracker.endFunctionStyleMacro();
-			}
-		}
-		else {
-			if (tracker == null) {
-				objStyleTokenPaste(macro, result);
-			}
-			else {
-				if (tracker.isRequestedStep()) {
-					TokenList replacement= new TokenList();
-					objStyleTokenPaste(macro, replacement);
-					tracker.storeObjectStyleMacroReplacement(macro, lastConsumed, replacement, result);
-				}
-				else {
-					objStyleTokenPaste(macro, result);
-				}
-				tracker.endObjectStyleMacro();
-			}
-		}
-		return lastConsumed;
-	}
-
-	private void executeScopeMarkers(TokenSource input, IdentityHashMap<PreprocessorMacro, PreprocessorMacro> forbidden) {
-		Token t= input.removeFirst();
-		while(t != null) {
-			if (t.getType() == CPreprocessor.tSCOPE_MARKER) {
-				((ExpansionBoundary) t).execute(forbidden);
-			}
-			t= input.removeFirst(); 
-		}
-	}
-
-	private TokenList expandAll(TokenSource input, IdentityHashMap<PreprocessorMacro, PreprocessorMacro> forbidden,
-			boolean protectDefinedConstructs, MacroExpansionTracker tracker) throws OffsetLimitReachedException {
-		final TokenList result= new TokenList();
-		boolean protect= false;
-		Token l= null;
-		Token t= input.removeFirst();
-		while(t != null) {
-			switch(t.getType()) {
-			case CPreprocessor.tSCOPE_MARKER:
-				((ExpansionBoundary) t).execute(forbidden);
-				break;
-			case IToken.tIDENTIFIER:
-				final char[] image = t.getCharImage();
-				PreprocessorMacro macro= fDictionary.get(image);
-				if (protect || (tracker != null && tracker.isDone())) {
-					result.append(t);
-				}
-				else if (protectDefinedConstructs && Arrays.equals(image, Keywords.cDEFINED)) {
-					t.setType(CPreprocessor.tDEFINED);
-					result.append(t);
-					protect= true;
-				}
-				// tricky: don't mark function-style macros if you don't find the left parenthesis
-				else if (macro == null || (macro.isFunctionStyle() && !input.findLParenthesis())) {
-					result.append(t);
-				}
-				else if (forbidden.containsKey(macro)) {
-					t.setType(CPreprocessor.tEXPANDED_IDENTIFIER); // prevent any further expansion
-					result.append(t);
-				}
-				else {
-					if (fLocationMap != null) {
-						ImageLocationInfo info= null;
-						if (fLexOptions.fCreateImageLocations) {
-							info = createImageLocationInfo(t);
-						}
-						fImplicitMacroExpansions.add(fLocationMap.encounterImplicitMacroExpansion(macro, info));
-					}
-					TokenList replacement= new TokenList();
-
-					addSpacemarker(l, t, replacement); // start expansion
-					replacement.append(new ExpansionBoundary(macro, true));
-					Token last= expandOne(t, macro, forbidden, input, replacement, tracker); 
-					replacement.append(new ExpansionBoundary(macro, false));
-					addSpacemarker(last, input.first(), replacement); // end expansion
-
-					input.prepend(replacement);
-				}
-				break;
-			case IToken.tLPAREN:
-			case CPreprocessor.tNOSPACE:
-			case CPreprocessor.tSPACE:				
-				result.append(t);
-				break;
-			default:
-				protect= false;
-				result.append(t); 
-				break;
-			}
-			l= t;
-			t= input.removeFirst();
-		}
-		return result;
-	}
-
-	private ImageLocationInfo createImageLocationInfo(Token t) {
-		if (fLocationMap != null) {
-			final Object s= t.fSource;
-			if (s instanceof ObjectStyleMacro) {
-				return new MacroImageLocationInfo((ObjectStyleMacro) s, t.getOffset(), t.getEndOffset());
-			}
-			else if (s instanceof CPreprocessor) {
-				int sequenceNumber= fLocationMap.getSequenceNumberForOffset(t.getOffset());
-				int sequenceEndNumber= fLocationMap.getSequenceNumberForOffset(t.getEndOffset());
-				return new ParameterImageLocationInfo(sequenceNumber, sequenceEndNumber);
-			}
-		}
-		return null;
-	}
-
-	private static boolean isNeighborInSource(Token l, Token t) {
-		return l != null && t != null && l.fSource != null && l.fSource == t.fSource;
-	}
-
-	static boolean hasImplicitSpace(Token l, Token t) {
-		return isNeighborInSource(l, t) && l.getEndOffset() != t.getOffset();
-	}
-
-	static void addSpacemarker(Token l, Token t, TokenList target) {
-		if (isNeighborInSource(l, t)) {
-			final int from= l.getEndOffset();
-			final int to= t.getOffset();
-			if (from != to) {
-				target.append(new Token(CPreprocessor.tSPACE, l.fSource, from, to));
-			}
-		}
-		target.append(new Token(CPreprocessor.tNOSPACE, null, 0, 0));
-	}
-	
-	/**
-	 * Expects that the identifier has been consumed.
-	 * @param forbidden 
-	 * @param tracker 
-	 * @throws OffsetLimitReachedException 
-	 */
-	private Token parseArguments(TokenSource input, FunctionStyleMacro macro, IdentityHashMap<PreprocessorMacro, PreprocessorMacro> forbidden, TokenSource[] result, 
-			MacroExpansionTracker tracker) throws OffsetLimitReachedException {
-		final int argCount= macro.getParameterPlaceholderList().length;
-		final boolean hasVarargs= macro.hasVarArgs() != FunctionStyleMacro.NO_VAARGS;
-		final int requiredArgs= hasVarargs ? argCount-1 : argCount;
-		int idx= 0;
-		int nesting= -1;
-		for (int i = 0; i < result.length; i++) {
-			result[i]= new TokenSource(null, false);
-		}
-		
-		boolean complete= false;
-		boolean isFirstOfArg= true;
-		Token lastToken= null;
-		TokenList spaceMarkers= new TokenList();
-        loop: while (true) {
-    		Token t= input.fetchFirst();
-    		//System.out.println("::::: " + t.getPrecedingWhiteSpace() + t.getImage());
-    		if (t == null) {
-    			break loop;
-    		}
-    		if (tracker != null) {
-    			switch(t.getType()) {
-    			case IToken.tEND_OF_INPUT:        	
-    			case IToken.tCOMPLETION:
-    			case CPreprocessor.tSCOPE_MARKER:
-    			case Lexer.tNEWLINE:
-    				break;
-    			default:
-    				tracker.addFunctionStyleMacroExpansionToken((Token) t.clone());
-    				break;
-    			}
-    		}
-			lastToken= t;
-        	switch(t.getType()) {
-        	case IToken.tEND_OF_INPUT:
-        		assert nesting >= 0;
-        		if (fCompletionMode) {
-            		if (idx < result.length) {
-            			throw new CompletionInMacroExpansionException(ORIGIN, t, result[idx]);
-            		}
-        			throw new OffsetLimitReachedException(ORIGIN, null);
-        		}
-        		break loop;
-        	case IToken.tCOMPLETION:
-        		if (idx < result.length) {
-        			result[idx].append(t);
-        			throw new CompletionInMacroExpansionException(ORIGIN, t, result[idx]);
-        		}
-        		throw new OffsetLimitReachedException(ORIGIN, t);
-        		
-        	case Lexer.tNEWLINE:
-        		continue loop;
-
-        	case IToken.tLPAREN:
-        		// the first one sets nesting to zero.
-        		if (++nesting == 0) {
-        			continue;
-        		}
-        		break;
-        		
-        	case IToken.tRPAREN:
-        		assert nesting >= 0;
-        		if (--nesting < 0) {
-        			complete= true;
-        			break loop;
-        		}
-        		break;
-        		
-        	case IToken.tCOMMA:
-        		assert nesting >= 0;
-        		if (nesting == 0) {
-        			if (idx < argCount-1) { // next argument
-        				isFirstOfArg= true;
-        				spaceMarkers.clear();
-        				idx++;
-            			continue loop;
-        			}
-        			else if (!hasVarargs) {
-        				break loop;
-        			}
-        		}
-        		break;
-        		
-        	case CPreprocessor.tSCOPE_MARKER:
-        		if (argCount == 0) {
-        			((ExpansionBoundary) t).execute(forbidden);
-        		}
-        		else {
-        			result[idx].append(t);
-        		}
-        		continue loop;
-        		
-        	case CPreprocessor.tSPACE:
-        	case CPreprocessor.tNOSPACE:
-        		if (!isFirstOfArg) {
-        			spaceMarkers.append(t);
-        		}
-        		continue loop;
-        		
-        	default:
-        		assert nesting >= 0;
-        	}
-    		if (argCount == 0) {
-    			break loop;
-    		}
-    		result[idx].appendAll(spaceMarkers);
-    		result[idx].append(t);
-    		isFirstOfArg= false;
-        }
-
-		if (!complete || idx+1 < requiredArgs) {
-			handleProblem(IProblem.PREPROCESSOR_MACRO_USAGE_ERROR, macro.getNameCharArray());
-		}
-        return lastToken;
-	}
-	
-	
-	
-	private void handleProblem(int problemID, char[] arg) {
-		fLog.handleProblem(problemID, arg, fStartOffset, fEndOffset);
-	}
-
-	private void replaceArgs(PreprocessorMacro macro, TokenList[] args, TokenList[] expandedArgs, TokenList result) {
-		TokenList replacement= clone(macro.getTokens(fDefinitionParser, fLexOptions, this));
-		
-		Token l= null;
-		Token n;       
-		Token pasteArg1= null;  
-		for (Token t= replacement.first(); t != null; l=t, t=n) {
-			n= (Token) t.getNext();
-
-			switch(t.getType()) {
-			case CPreprocessor.tMACRO_PARAMETER:
-				int idx= ((TokenParameterReference) t).getIndex();
-				if (idx < args.length) { // be defensive
-					addSpacemarker(l, t, result); // start argument replacement
-					if (isKind(n, IToken.tPOUNDPOUND)) {
-						TokenList arg= clone(args[idx]);
-                        Token firstToken = arg.first();//added by MM
-                        if(firstToken != null)//added by MM
-                            firstToken.setPrecedingWhiteSpace(t.getCharPrecedingWhiteSpace());//added by MM
-						pasteArg1= arg.last();
-						if (pasteArg1 != null) {
-							result.appendAllButLast(arg);
-							addSpacemarker(result.last(), pasteArg1, result); // start token paste
-						}
-					}
-					else {
-						TokenList arg= clone(expandedArgs[idx]);
-                        Token firstToken = arg.first();//added by MM
-                        if(firstToken != null)//added by MM
-                            firstToken.setPrecedingWhiteSpace(t.getCharPrecedingWhiteSpace());//added by MM
-						result.appendAll(arg);
-						addSpacemarker(t, n, result); // end argument replacement
-					}
-				}
-				break;
-				
-			case IToken.tPOUND:
-				addSpacemarker(l, t, result);	// start stringify
-				StringBuilder buf= new StringBuilder();
-				buf.append('"');
-				if (isKind(n, CPreprocessor.tMACRO_PARAMETER)) {
-					idx= ((TokenParameterReference) n).getIndex();
-					if (idx < args.length) { // be defensive
-						stringify(args[idx], buf);
-					}
-					t= n;
-					n= (Token) n.getNext();
-				}
-				buf.append('"');
-				final int length= buf.length(); 
-				final char[] image= new char[length];
-				buf.getChars(0, length, image, 0);
-				
-				Token generated= new TokenWithImage(IToken.tSTRING, null, 0, 0, image);
-				if (isKind(n, IToken.tPOUNDPOUND)) {  // start token paste, same as start stringify
-					pasteArg1= generated;	
-				}
-				else {
-					result.append(generated);
-					addSpacemarker(t, n, result);  // end stringify
-				}
-				break;
-				
-			case IToken.tPOUNDPOUND:
-				Token pasteArg2= null;
-				TokenList rest= null;
-				if (n != null) {
-					if (n.getType() == CPreprocessor.tMACRO_PARAMETER) {
-						TokenList arg;
-						idx= ((TokenParameterReference) n).getIndex();
-						if (idx < args.length) { // be defensive
-							arg= clone(args[idx]);
-							pasteArg2= arg.first();
-							if (pasteArg2 != null && arg.first() != arg.last()) {
-								rest= arg;
-								rest.removeFirst();
-							}
-						}
-					}
-					else {
-						idx= -1;
-						pasteArg2= n;
-					}
-					
-					t= n;
-					n= (Token) n.getNext();
-					final boolean pasteNext= isKind(n, IToken.tPOUNDPOUND);
-
-					generated= tokenpaste(pasteArg1, pasteArg2, macro);
-					pasteArg1= null;
-
-					if (generated != null) {
-						if (pasteNext && rest == null) {
-							pasteArg1= generated;	// no need to mark spaces, done ahead
-						}
-						else {
-							result.append(generated);
-							addSpacemarker(pasteArg2, rest == null ? n : rest.first(), result); // end token paste
-						}
-					}
-					if (rest != null) {
-						if (pasteNext) {
-							pasteArg1= rest.last();
-							if (pasteArg1 != null) {
-								result.appendAllButLast(rest);
-								addSpacemarker(result.last(), pasteArg1, result); // start token paste
-							}
-						}
-						else {
-							result.appendAll(rest);
-							if (idx >= 0) {
-								addSpacemarker(t, n, result);	// end argument replacement
-							}
-						}
-					}
-				}
-				break;
-				
-			case IToken.tCOMMA:
-				if (isKind(n, IToken.tPOUNDPOUND)) {
-					final Token nn= (Token) n.getNext();
-					if (isKind(nn, CPreprocessor.tMACRO_PARAMETER)) {
-						idx= ((TokenParameterReference) nn).getIndex();
-						
-						// check for gcc-extension preventing the paste operation
-						if (idx == args.length-1 && macro.hasVarArgs() != FunctionStyleMacro.NO_VAARGS && 
-								!isKind(nn.getNext(), IToken.tPOUNDPOUND)) {
-							final Token nnn= (Token) nn.getNext();
-							TokenList arg= clone(expandedArgs[idx]);
-							if (arg.isEmpty()) {
-								addSpacemarker(l, t, result);
-								addSpacemarker(nn, nnn, result);
-							}
-							else {
-								result.append(t);
-								addSpacemarker(t, n, result);
-								result.appendAll(arg);
-								addSpacemarker(nn, nnn, result);
-							}
-							t= nn;
-							n= nnn;
-							break;
-						}
-					}
-					
-					addSpacemarker(l, t, result);
-					pasteArg1= t;
-				}
-				else {
-					result.append(t);
-				}
-				break;
-				
-			default:
-				if (isKind(n, IToken.tPOUNDPOUND)) {
-					addSpacemarker(l, t, result);	// start token paste
-					pasteArg1= t;
-				}
-				else {
-					result.append(t);
-				}
-				break;
-			}
-		}
-	}
-	
-	private boolean isKind(final IToken t, final int kind) {
-		return t!=null && t.getType() == kind;
-	}
-
-	private BitSet getParamUsage(PreprocessorMacro macro) {
-		final BitSet result= new BitSet();
-		final TokenList replacement= macro.getTokens(fDefinitionParser, fLexOptions, this);
-		
-		Token l= null;
-		Token n;       
-		for (Token t= replacement.first(); t != null; l=t, t=n) {
-			n= (Token) t.getNext();
-			switch(t.getType()) {
-			case CPreprocessor.tMACRO_PARAMETER:
-				int idx= 2*((TokenParameterReference) t).getIndex();
-				if (!isKind(n, IToken.tPOUNDPOUND)) {
-					idx++;
-				}
-				result.set(idx);
-				break;
-				
-			case IToken.tPOUND:
-				if (isKind(n, CPreprocessor.tMACRO_PARAMETER)) {
-					idx= ((TokenParameterReference) n).getIndex();
-					result.set(2*idx);
-					t= n; n= (Token) n.getNext();
-				}
-				break;
-				
-			case IToken.tPOUNDPOUND:
-				if (isKind(n, CPreprocessor.tMACRO_PARAMETER)) {
-					idx= ((TokenParameterReference) n).getIndex();
-					// gcc-extension
-					if (isKind(l, IToken.tCOMMA) && macro.hasVarArgs() != FunctionStyleMacro.NO_VAARGS &&
-							idx == macro.getParameterPlaceholderList().length-1 && !isKind(n.getNext(), IToken.tPOUNDPOUND)) {
-						result.set(2*idx+1);
-					}
-					else {
-						result.set(2*idx);
-					}
-					t= n; n= (Token) n.getNext();
-				}
-				break;
-			}				
-		}
-		return result;
-	}
-
-	private void objStyleTokenPaste(PreprocessorMacro macro, TokenList result) {
-		TokenList replacement= clone(macro.getTokens(fDefinitionParser, fLexOptions, this));
-		
-		Token l= null;
-		Token n;       
-		Token pasteArg1= null;  
-		for (Token t= replacement.first(); t != null; l=t, t=n) {
-			n= (Token) t.getNext();
-
-			switch(t.getType()) {
-			case IToken.tPOUNDPOUND:
-				if (pasteArg1 != null) {
-					Token pasteArg2= null;
-					if (n != null) {
-						pasteArg2= n;
-						n= (Token) n.getNext();
-					}
-					
-					t= tokenpaste(pasteArg1, pasteArg2, macro);
-					if (t != null) {
-						if (isKind(n, IToken.tPOUNDPOUND)) {
-							pasteArg1= t;
-						}
-						else {
-							result.append(t);
-							addSpacemarker(pasteArg2, n, result); // end token paste
-						}
-					}
-				}
-				break;
-				
-			default:
-				if (isKind(n, IToken.tPOUNDPOUND)) {
-					addSpacemarker(l, t, result); // start token paste
-					pasteArg1= t;
-				}
-				else {
-					result.append(t);
-				}
-				break;
-			}
-		}
-	}
-
-	private TokenList clone(TokenList tl) {
-		TokenList result= new TokenList();
-		for (Token t= tl.first(); t != null; t= (Token) t.getNext()) {
-			result.append((Token) t.clone());
-		}
-		return result;
-	}
-
-	private Token tokenpaste(Token arg1, Token arg2, PreprocessorMacro macro) {
-		if (arg1 == null) {
-			return arg2;
-		}
-		if (arg2 == null) {
-			return arg1;
-		}
-		final char[] image1= arg1.getCharImage();
-		final char[] image2= arg2.getCharImage();
-		final int l1 = image1.length;
-		final int l2 = image2.length;
-		final char[] image= new char[l1+l2];
-		System.arraycopy(image1, 0, image, 0, l1);
-		System.arraycopy(image2, 0, image, l1, l2);
-		Lexer lex= new Lexer(image, fLexOptions, ILexerLog.NULL, null);
-		try {
-			Token t1= lex.nextToken();
-			Token t2= lex.nextToken();
-			if (t1.getType() != IToken.tEND_OF_INPUT && t2.getType() == IToken.tEND_OF_INPUT) {
-				t1.setOffset(arg1.getOffset(), arg2.getEndOffset());
-				return t1;
-			}
-		} catch (OffsetLimitReachedException e) {
-		}
-		handleProblem(IProblem.PREPROCESSOR_MACRO_PASTING_ERROR, macro.getNameCharArray());
-		return null;
-	}
-
-	private void stringify(TokenList tokenList, StringBuilder buf) {
-		Token t= tokenList.first();
-		if (t == null) {
-			return;
-		}
-		Token l= null;
-		Token n;
-		boolean space= false;
-		for (; t != null; l=t, t=n) {
-			n= (Token) t.getNext();
-			if (!space && hasImplicitSpace(l, t)) {
-				buf.append(' ');
-				space= true;
-			}
-			switch(t.getType()) {
-			case IToken.tSTRING:
-			case IToken.tLSTRING:
-			case IToken.tCHAR:
-			case IToken.tLCHAR:
-				final char[] image= t.getCharImage();
-				for (final char c : image) {
-						if (c == '"' || c == '\\') {
-							buf.append('\\');
-						}
-						buf.append(c);
-					}
-				space= false;
-				break;
-			
-			case CPreprocessor.tSPACE:
-				if (!space && l != null && n != null) {
-					buf.append(' ');
-					space= true;
-				}
-				break;
-
-			case CPreprocessor.tNOSPACE:
-				break;
-				
-			default:
-				buf.append(t.getCharImage());
-				space= false;
-				break;
-			}
-		}
-	}
-	
-	public IASTName[] clearImplicitExpansions() {
-		IASTName[] result= fImplicitMacroExpansions.toArray(new IASTName[fImplicitMacroExpansions.size()]);
-		fImplicitMacroExpansions.clear();
-		return result;
-	}
-
-	public ImageLocationInfo[] clearImageLocationInfos() {
-		ImageLocationInfo[] result= fImageLocationInfos.toArray(new ImageLocationInfo[fImageLocationInfos.size()]);
-		fImageLocationInfos.clear();
-		return result;
-	}
-
-	private void postProcessTokens(TokenList replacement) {
-		final boolean createImageLocations= fLexOptions.fCreateImageLocations;
-		int offset= 0;
-		Token l= null;
-		for (Token t= replacement.first(); t!=null; t= (Token) t.getNext()) {
-			switch(t.getType()) {
-			case CPreprocessor.tEXPANDED_IDENTIFIER:
-				t.setType(IToken.tIDENTIFIER);
-				if (createImageLocations) {
-					ImageLocationInfo info= createImageLocationInfo(t);
-					if (info != null) {
-						info.fTokenOffsetInExpansion= offset;
-						fImageLocationInfos.add(info);
-					}
-				}
-				break;
-			case IToken.tIDENTIFIER:
-				if (createImageLocations) {
-					ImageLocationInfo info= createImageLocationInfo(t);
-					if (info != null) {
-						info.fTokenOffsetInExpansion= offset;
-						fImageLocationInfos.add(info);
-					}
-				}
-				break;
-
-			case CPreprocessor.tSCOPE_MARKER:
-			case CPreprocessor.tSPACE:
-			case CPreprocessor.tNOSPACE:
-				replacement.removeBehind(l);
-				continue;
-
-			case IToken.tCOMPLETION:
-				// we need to preserve the length of the completion token.
-				t.setOffset(offset, offset+t.getLength());
-				t.setNext(null);
-				return;
-			}
-			t.setOffset(offset, ++offset);
-			l= t;
-		}
-	}
-	
-	int getCurrentLineNumber() {
-		if (fFixedInput != null) {
-			return fFixedLineNumber + countNewlines(fFixedInput);
-		}
-		if (fLocationMap != null) {
-			return fLocationMap.getCurrentLineNumber(fEndOffset);
-		}
-		return 0;
-	}
-
-	private int countNewlines(char[] input) {
-		int nl= 0;
-		for (int i = 0; i < input.length && i<fEndOffset; i++) {
-			if (input[i] == '\n') {
-				nl++;
-			}
-		}
-		return nl;
-	}
-
-	String getCurrentFilename() {
-		if (fFixedCurrentFilename != null) {
-			return fFixedCurrentFilename;
-		}
-		if (fLocationMap != null) {
-			return fLocationMap.getCurrentFilePath();
-		}
-		return ""; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroExpansionTracker.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroExpansionTracker.java
deleted file mode 100755
index 395e217..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/MacroExpansionTracker.java
+++ /dev/null
@@ -1,342 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-
-import org.eclipse.cdt.core.dom.ast.IMacroBinding;
-import org.eclipse.text.edits.ReplaceEdit;
-
-/**
- * Collects information while macro expansion is performed.
- */
-public class MacroExpansionTracker {
-	public class MacroInfo {
-		private TokenList fMacroCall= new TokenList();
-		private ArrayList<TokenList> fArguments= new ArrayList<TokenList>();
-
-		public MacroInfo(Token identifier) {
-			fMacroCall.append(identifier);
-		}
-
-		public void setArgument(TokenList tokenList) {
-			fArguments.add(tokenList);
-		}
-	}
-
-	private final int fStepToTrack;
-	
-	private int fStepCount;
-	private String fPreStep;
-	private ReplaceEdit fReplacement;
-	private IMacroBinding fMacroDefinition;
-
-	private Lexer fLexer;
-	private String fReplacementText= ""; //$NON-NLS-1$
-	private LinkedList<MacroInfo> fMacroStack= new LinkedList<MacroInfo>();
-
-	private IToken fReplaceFrom;
-	private IToken fReplaceTo;
-
-	public MacroExpansionTracker(int stepToTrack) {
-		fStepToTrack= stepToTrack;
-	}
-
-	/**
-	 * Returns whether the requested step has already been encountered.
-	 */
-	public boolean isDone() {
-		return fStepCount > fStepToTrack;
-	}
-	
-	/**
-	 * Returns whether we are currently looking at the requested step.
-	 */
-	public boolean isRequestedStep() {
-		return fStepCount == fStepToTrack;
-	}
-	
-	/**
-	 * Returns the total amount of steps encountered so far.
-	 */
-	public int getStepCount() {
-		return fStepCount;
-	}
-
-	/**
-	 * Returns the code as it looks like just before performing the step that was tracked.
-	 */
-	public String getCodeBeforeStep() {
-		return fPreStep;
-	}
-	
-	/**
-	 * Returns the replacement that represents the change by the step that was tracked.
-	 */
-	public ReplaceEdit getReplacement() {
-		return fReplacement;
-	}
-
-	/**
-	 * Returns the macro that is expanded in the step that was tracked.
-	 */
-	public IMacroBinding getExpandedMacro() {
-		return fMacroDefinition;
-	}
-
-	/**
-	 * Informs the tracker that macro expansion is started.
-	 */
-	void start(Lexer lexer) {
-		fLexer= lexer;
-	}
-
-	/**
-	 * Informs the tracker that the expansion is done.
-	 * @param result the list of tokens after performing partial expansion up to the step that was
-	 * tracked.
-	 * @param endOffset the end offset of the input that was read from the lexer.
-	 */
-	void finish(TokenList result, int endOffset) {
-		final char[] lexInput = fLexer.getInput();
-		if (!isDone()) {
-			// special case we compute the entire expansion as one step, the result contains the
-			// expanded text
-			StringBuilder replacementText= new StringBuilder();
-			toString(result, lexInput, replacementText, replacementText, replacementText);
-			fPreStep= new String(lexInput);
-			fReplacement= new ReplaceEdit(0, endOffset, replacementText.toString());
-		}
-		else {
-			// the regular case the result contains the text before the step
-			StringBuilder before= new StringBuilder();
-			StringBuilder replace= new StringBuilder();
-			StringBuilder after= new StringBuilder();
-			toString(result, lexInput, before, replace, after);
-			int offset= before.length();
-			// workaround bug 220158
-			final CharSequence csr= replace;
-			final CharSequence csa= after;
-			before.append(csr).append(csa);
-			before.append(lexInput, endOffset, lexInput.length-endOffset);
-			fPreStep= before.toString();
-			fReplacement= new ReplaceEdit(offset, replace.length(), fReplacementText);
-		}
-	}
-	
-	/**
-	 * There was no macro at the beginning of the input.
-	 */
-	void fail() {
-		fPreStep= new String(fLexer.getInput());
-		fReplacement= new ReplaceEdit(0, 0, ""); //$NON-NLS-1$
-	}
-	
-	private void toString(TokenList tokenList, char[] rootInput, StringBuilder before, StringBuilder replace, StringBuilder after) {
-		StringBuilder buf= before;
-		Token t= tokenList.first();
-		if (t == null) {
-			return ;
-		}
-		Token l= null;
-		Token n;
-		for (; t != null; l=t, t=n) {
-			n= (Token) t.getNext();
-			if (l != null && MacroExpander.hasImplicitSpace(l, t)) {
-				char[] input= getInputForSource(l.fSource, rootInput);
-				if (input == null) {
-					buf.append(' ');
-				}
-				else {
-					final int from = l.getEndOffset();
-					final int to = t.getOffset();
-					buf.append(input, from, to-from);
-				}
-			}
-			if (t == fReplaceFrom) {
-				buf= replace;
-			}
-			char[] input= getInputForSource(t.fSource, rootInput);
-			if (input == null) {
-				buf.append(t.getCharImage());
-			}
-			else {
-				buf.append(input, t.getOffset(), t.getLength());
-			}
-			if (t == fReplaceTo) {
-				buf= after;
-			}
-		}
-	}
-	
-	private char[] getInputForSource(Object source, char[] rootInput) {
-		if (source instanceof MacroExpander) {
-			return rootInput;
-		}
-		if (source instanceof PreprocessorMacro) {
-			final PreprocessorMacro pm = (PreprocessorMacro) source;
-			if (!pm.isDynamic()) {
-				return pm.getExpansionImage();
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Informs the tracker that a function-style expansion is started.
-	 * @param identifier the identifier token for the macro expansion.
-	 */
-	public void startFunctionStyleMacro(Token identifier) {
-		fMacroStack.add(new MacroInfo(identifier));
-	}
-	
-	/**
-	 * All tokens defining a function-style macro expansion are reported.
-	 */
-	public void addFunctionStyleMacroExpansionToken(Token t) {
-		fMacroStack.getLast().fMacroCall.append(t);
-	}
-
-	/**
-	 * The expanded arguments for the function-style macro expansion are reported.
-	 * @param tokenList the expanded argument, or <code>null</code> if it should not
-	 * be expanded.
-	 */
-	public void setExpandedMacroArgument(TokenList tokenList) {
-		fMacroStack.getLast().setArgument(tokenList);
-	}
-
-	/**
-	 * Called for the requested step.
-	 * @param macro the macro expanded in the requested step.
-	 * @param replacement the replacement for the expansion.
-	 * @param result a list to store the macro call with the arguments substituted in.
-	 */
-	public void storeFunctionStyleMacroReplacement(PreprocessorMacro macro, TokenList replacement, TokenList result) {
-		MacroInfo minfo= fMacroStack.getLast();
-		fMacroDefinition= macro;
-		fReplaceFrom= minfo.fMacroCall.first();
-		appendFunctionStyleMacro(result);
-		fReplaceTo= result.last();
-		StringBuilder buf= new StringBuilder();
-		toString(replacement, fLexer.getInput(), buf, buf, buf);
-		fReplacementText= buf.toString();
-	}
-
-	/**
-	 * Append the current function-style macro with the arguments substituted.
-	 */
-	public void appendFunctionStyleMacro(TokenList result) {
-		MacroInfo minfo= fMacroStack.getLast();		
-		boolean active= true;
-		int nesting= -1;
-		int pcount= 0;
-
-		Token n;
-		Token l= null;
-		for (Token t = minfo.fMacroCall.first(); t != null; l=t, t=n) {
-			n = (Token) t.getNext();
-			switch (t.getType()) {
-			case IToken.tLPAREN:
-				if (active) {
-					result.append(t);
-				}
-				// the first one sets nesting to zero.
-				++nesting;
-				if (nesting == 0) {
-					if (pcount < minfo.fArguments.size()) {
-						TokenList p = minfo.fArguments.get(pcount);
-						if (p != null) {
-							active = false;
-							if (n != null && n.getType() != IToken.tCOMMA && n.getType() != IToken.tRPAREN) {
-								MacroExpander.addSpacemarker(t, n, result);
-								result.appendAll(p);
-							}
-						}
-					}
-				}
-				break;
-
-			case IToken.tRPAREN:
-				if (!active && nesting == 0) {
-					MacroExpander.addSpacemarker(l, t, result);
-					active= true;
-				}
-				if (active) {
-					result.append(t);
-				}
-				if (nesting > 0) {
-					nesting--;
-				}
-				break;
-
-			case IToken.tCOMMA:
-				if (nesting == 0) {
-					if (++pcount < minfo.fArguments.size()) {
-						if (!active) {
-							MacroExpander.addSpacemarker(l, t, result);
-						}
-						result.append(t);
-						TokenList p = minfo.fArguments.get(pcount);
-						active = p == null;
-						if (!active) {
-							if (n != null && n.getType() != IToken.tCOMMA && n.getType() != IToken.tRPAREN) {
-								MacroExpander.addSpacemarker(t, n, result);
-								result.appendAll(p);
-							}
-						}
-					}
-				} else if (active) {
-					result.append(t);
-				}
-				break;
-				
-			default:
-				if (active) {
-					result.append(t);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Informs the tracker that the function style macro has been expanded.
-	 */
-	public void endFunctionStyleMacro() {
-		fStepCount++;
-		fMacroStack.removeLast();
-	}
-
-	/**
-	 * Called for the requested step
-	 * @param macro the macro expanded in the requested step.
-	 * @param identifier the token that gets replaced.
-	 * @param replacement the replacement
-	 * @param result a list to store the macro in.
-	 */
-	public void storeObjectStyleMacroReplacement(PreprocessorMacro macro, Token identifier, TokenList replacement, TokenList result) {
-		fMacroDefinition= macro;
-		fReplaceFrom= fReplaceTo= identifier;
-		result.append(identifier);
-		StringBuilder buf= new StringBuilder();
-		toString(replacement, fLexer.getInput(), buf, buf, buf);
-		fReplacementText= buf.toString();
-	}
-
-	/**
-	 * Informs the tracker that an object style macro has been expanded.
-	 */
-	public void endObjectStyleMacro() {
-		fStepCount++;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/OffsetLimitReachedException.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/OffsetLimitReachedException.java
deleted file mode 100755
index e4a6834..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/OffsetLimitReachedException.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    IBM Rational Software - Initial API and implementation
- *    Markus Schorn (Wind River Systems)
- *******************************************************************************/
-/**
- * Class edited by Matthew Michelotti.
- * 
- * Overview of changes:
- * -Redirected the original IToken interface reference to an edited
- *  version of IToken in my package.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-/**
- * The exception is thrown, when content-assist is requested within a context that is handled
- * by the lexer or the preprocessor.
- * <p>
- * {@link #ORIGIN_LEXER}: char-literal, string-literal, number-literal, header-name.
- * <p>
- * {@link #ORIGIN_PREPROCESSOR_DIRECTIVE}: preprocessor-directive.
- * <p>
- * {@link #ORIGIN_INACTIVE_CODE}: within an inactive branch of conditional compilation.
- * <p>
- * {@link #ORIGIN_MACRO_EXPANSION}: within a macro-expansion.
- */
-public class OffsetLimitReachedException extends EndOfFileException {
-
-	private static final long serialVersionUID= -4315255081891716385L;
-
-	public static final int ORIGIN_UNKNOWN = 0;
-	public static final int ORIGIN_LEXER = 1;
-	public static final int ORIGIN_PREPROCESSOR_DIRECTIVE = 2;
-	public static final int ORIGIN_INACTIVE_CODE = 3;
-	public static final int ORIGIN_MACRO_EXPANSION = 4;
-	
-	private final IToken finalToken;
-	private final int fOrigin;
-		
-	public OffsetLimitReachedException(int origin, IToken lastToken) {
-		fOrigin= origin;
-		finalToken= lastToken;
-	}
-	
-	/**
-	 * Returns one of ORIGIN_...
-	 */
-	public int getOriginator() {
-		return fOrigin;
-	}
-	
-	/**
-	 * @return Returns the finalToken.
-	 */
-	public IToken getFinalToken() {
-		return finalToken;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/PreprocessorMacro.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/PreprocessorMacro.java
deleted file mode 100755
index 95b84e6..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/PreprocessorMacro.java
+++ /dev/null
@@ -1,406 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-/**
- * Edited by Matthew Michelotti
- * 
- * Overview of changes:
- * -may have changed import statements
- * -Commented out sections of code which may significantly
- *  depend on the CDT version. May have deprecated a number of methods
- *  with commented code.
- * -added unimplemented methods to conform with new versions of
- *  CDT interfaces. Deprecated these methods.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.text.DateFormatSymbols;
-import java.util.Calendar;
-
-import org.eclipse.cdt.core.dom.ILinkage;
-import org.eclipse.cdt.core.dom.ast.DOMException;
-import org.eclipse.cdt.core.dom.ast.IBinding;
-import org.eclipse.cdt.core.dom.ast.IMacroBinding;
-import org.eclipse.cdt.core.dom.ast.IScope;
-import org.eclipse.cdt.core.parser.Keywords;
-//import org.eclipse.cdt.internal.core.dom.Linkage;
-import org.eclipse.photran.internal.core.preprocessor.c.Lexer.LexerOptions;
-
-/**
- * Models macros used by the preprocessor
- * @since 5.0
- */
-abstract class PreprocessorMacro implements IMacroBinding {
-	final private char[] fName;
-
-	public PreprocessorMacro(char[] name) {
-		fName= name;
-	}
-
-    @Deprecated
-    //functionality removed for stability with CDT version
-	final public ILinkage getLinkage() {
-		//return Linkage.NO_LINKAGE;
-		return null;
-	}
-
-	final public char[] getNameCharArray() {
-		return fName;
-	}
-
-	final public String getName() {
-		return new String(fName);
-	}
-
-	public IScope getScope() {
-		return null;
-	}
-
-	public boolean isFunctionStyle() {
-		return false;
-	}
-	
-	public char[][] getParameterList() {
-		return null;
-	}
-	
-	public char[][] getParameterPlaceholderList() {
-		return null;
-	}
-
-	public Object getAdapter(Class clazz) {
-		return null;
-	}
-
-	/**
-	 * Returns {@link FunctionStyleMacro#NO_VAARGS} 
-	 */
-	int hasVarArgs() {
-		return FunctionStyleMacro.NO_VAARGS;
-	}
-
-	@Override
-	public String toString() {
-		char[][] p= getParameterList();
-		if (p == null) {
-			return getName();
-		}
-		StringBuffer buf= new StringBuffer();
-		buf.append(getNameCharArray());
-		buf.append('(');
-		for (int i = 0; i < p.length; i++) {
-			if (i>0) {
-				buf.append(',');
-			}
-			buf.append(p[i]);
-		}
-		buf.append(')');
-		return buf.toString();
-	}
-	public abstract TokenList getTokens(MacroDefinitionParser parser, LexerOptions lexOptions, MacroExpander expander);
-
-    @Deprecated
-    //method added to conform with CDT interface
-	public IBinding getOwner() /*throws DOMException*/ {
-		// TODO Auto-generated method stub
-		return null;
-	}
-}
-
-class ObjectStyleMacro extends PreprocessorMacro {
-	private final char[] fExpansion;
-	final int fExpansionOffset;
-	final int fEndOffset;
-	private TokenList fExpansionTokens;
-	
-	public ObjectStyleMacro(char[] name, char[] expansion) {
-		this(name, 0, expansion.length, null, expansion);
-	}
-
-	public ObjectStyleMacro(char[] name, int expansionOffset, int endOffset, TokenList expansion, char[] source) {
-		super(name);
-		fExpansionOffset= expansionOffset;
-		fEndOffset= endOffset;
-		fExpansion= source;
-		fExpansionTokens= expansion;
-		if (expansion != null) {
-			setSource(expansion.first());
-		}
-	}
-
-	public int getExpansionOffset() {
-		return fExpansionOffset;
-	}
-	
-	public int getExpansionEndOffset() {
-		return fEndOffset;
-	}
-	
-	private void setSource(Token t) {
-		final int shift= -fExpansionOffset;
-		while (t != null) {
-			t.fSource= this;
-			t.shiftOffset(shift);
-			t= (Token) t.getNext();
-		}
-	}
-
-	public char[] getExpansion() {
-		return MacroDefinitionParser.getExpansion(fExpansion, fExpansionOffset, fEndOffset);
-	}
-
-	public char[] getExpansionImage() {
-		final int length = fEndOffset - fExpansionOffset;
-		if (length == fExpansion.length) {
-			return fExpansion;
-		}
-		char[] result= new char[length];
-		System.arraycopy(fExpansion, fExpansionOffset, result, 0, length);
-		return result;
-	}
-	
-	@Override
-	public TokenList getTokens(MacroDefinitionParser mdp, LexerOptions lexOptions, MacroExpander expander) {
-		if (fExpansionTokens == null) {
-			fExpansionTokens= new TokenList();
-			Lexer lex= new Lexer(fExpansion, fExpansionOffset, fEndOffset, lexOptions, ILexerLog.NULL, this);
-			try {
-				lex.nextToken(); // consume the start token
-				mdp.parseExpansion(lex, ILexerLog.NULL, getNameCharArray(), getParameterPlaceholderList(), fExpansionTokens);
-			} catch (OffsetLimitReachedException e) {
-			}
-		}
-		return fExpansionTokens;
-	}
-
-	public final boolean isDynamic() {
-		return false;
-	}
-}
-
-
-class FunctionStyleMacro extends ObjectStyleMacro {
-	public static final int NO_VAARGS 	= 0;    // M(a)
-	public static final int VAARGS	  	= 1;	// M(...)
-	public static final int NAMED_VAARGS= 2;	// M(a...)
-	
-	final private char[][] fParamList;
-	final private int fHasVarArgs;
-	private char[] fSignature;
-	
-	public FunctionStyleMacro(char[] name, char[][] paramList, int hasVarArgs, char[] expansion) {
-		super(name, expansion);
-		fParamList = paramList;
-		fHasVarArgs= hasVarArgs;
-	}
-
-	public FunctionStyleMacro(char[] name, char[][] paramList, int hasVarArgs, int expansionFileOffset, int endFileOffset, 
-			TokenList expansion, char[] source) {
-		super(name, expansionFileOffset, endFileOffset, expansion, source);
-		fParamList = paramList;
-		fHasVarArgs= hasVarArgs;
-	}
-	
-	@Override
-	public char[][] getParameterList() {
-		final int length = fParamList.length;
-		if (fHasVarArgs == NO_VAARGS || length==0) {
-			return fParamList;
-		}
-		char[][] result= new char[length][];
-		System.arraycopy(fParamList, 0, result, 0, length-1);
-		if (fHasVarArgs == VAARGS) {
-			result[length-1]= Keywords.cpELLIPSIS;
-		}
-		else {
-			final char[] param= fParamList[length-1];
-			final int plen= param.length;
-			final int elen = Keywords.cpELLIPSIS.length;
-			final char[] rp= new char[plen+elen];
-			System.arraycopy(param, 0, rp, 0, plen);
-			System.arraycopy(Keywords.cpELLIPSIS, 0, rp, plen, elen);
-			result[length-1]= rp;
-		}
-		return result;
-	}
-
-	@Override
-	public char[][] getParameterPlaceholderList() {
-		return fParamList;
-	}
-
-	public char[] getSignature() {
-	    if (fSignature != null) {
-	        return fSignature;
-	    }
-	    
-	    StringBuffer result= new StringBuffer();
-	    result.append(getName());
-	    result.append('(');
-	    
-	    final int lastIdx= fParamList.length-1;
-	    if (lastIdx >= 0) {
-	    	for (int i = 0; i < lastIdx; i++) {
-	    		result.append(fParamList[i]);
-	    		result.append(',');
-	    	}
-	    	switch(fHasVarArgs) {
-	    	case VAARGS:
-	    		result.append(Keywords.cpELLIPSIS);
-	    		break;
-	    	case NAMED_VAARGS:
-	    		result.append(fParamList[lastIdx]);
-	    		result.append(Keywords.cpELLIPSIS);
-	    		break;
-	    	default:
-	    		result.append(fParamList[lastIdx]);
-	    		break;
-	    	}
-	    }
-	    result.append(')');
-	    final int len= result.length();
-	    final char[] sig= new char[len];
-	    result.getChars(0, len, sig, 0);
-	    fSignature= sig;
-	    return sig;
-	}
-		
-	/**
-	 * Returns one of {@link FunctionStyleMacro#NO_VAARGS}, {@link #VAARGS} or {@link #NAMED_VAARGS}.
-	 */
-	@Override
-	int hasVarArgs() {
-		return fHasVarArgs;
-	}
-		
-	@Override
-	public boolean isFunctionStyle() {
-		return true;
-	}
-}
-
-abstract class DynamicMacro extends PreprocessorMacro {
-
-	public DynamicMacro(char[] name) {
-		super(name);
-	}
-	public final char[] getExpansion() {
-		return getExpansionImage();
-	}
-	public abstract Token execute(MacroExpander expander);
-
-	@Override
-	public TokenList getTokens(MacroDefinitionParser mdp, LexerOptions lexOptions, MacroExpander expander) {
-		TokenList result= new TokenList();
-		result.append(execute(expander));
-		return result;
-	}
-	
-	final protected void append(StringBuilder buffer, int value) {
-        if (value < 10)
-            buffer.append("0"); //$NON-NLS-1$
-        buffer.append(value);
-    }
-
-	public final boolean isDynamic() {
-		return true;
-	}
-}
-
-final class DateMacro extends DynamicMacro {
-	DateMacro(char[] name) {
-		super(name);
-	}
-
-	@Override
-	public Token execute(MacroExpander expander) {
-		return new TokenWithImage(IToken.tSTRING, null, 0, 0, createDate());
-    }
-
-	private char[] createDate() {
-		char[] charArray;
-		StringBuilder buffer = new StringBuilder("\""); //$NON-NLS-1$
-        Calendar cal = Calendar.getInstance();
-        DateFormatSymbols dfs= new DateFormatSymbols();
-        buffer.append(dfs.getShortMonths()[cal.get(Calendar.MONTH)]);
-        buffer.append(" "); //$NON-NLS-1$
-        append(buffer, cal.get(Calendar.DAY_OF_MONTH));
-        buffer.append(" "); //$NON-NLS-1$
-        buffer.append(cal.get(Calendar.YEAR));
-        buffer.append("\""); //$NON-NLS-1$
-        charArray = buffer.toString().toCharArray();
-		return charArray;
-	}
-
-	public char[] getExpansionImage() {
-		return createDate();
-	}
-}
-
-final class FileMacro extends DynamicMacro {
-	FileMacro(char[] name) {
-		super(name);
-	}
-
-	@Override
-	public Token execute(MacroExpander expander) {
-        StringBuffer buffer = new StringBuffer("\""); //$NON-NLS-1$
-        buffer.append(expander.getCurrentFilename());
-        buffer.append('\"');
-        return new TokenWithImage(IToken.tSTRING, null, 0, 0, buffer.toString().toCharArray());
-    }
-
-	public char[] getExpansionImage() {
-		return "\"file\"".toCharArray(); //$NON-NLS-1$
-	}
-}
-
-final class LineMacro extends DynamicMacro {
-	LineMacro(char[] name) {
-		super(name);
-	}
-	@Override
-	public Token execute(MacroExpander expander) {
-    	int lineNumber= expander.getCurrentLineNumber();
-        return new TokenWithImage(IToken.tINTEGER, null, 0, 0, Long.toString(lineNumber).toCharArray());
-    }
-	public char[] getExpansionImage() {
-		return new char[] {'1'};
-	}
-}
-
-final class TimeMacro extends DynamicMacro {
-	TimeMacro(char[] name) {
-		super(name);
-	}
-
-	@Override
-	public Token execute(MacroExpander expander) {
-		return new TokenWithImage(IToken.tSTRING, null, 0, 0, createDate());
-	}
-	
-	private char[] createDate() {
-        StringBuilder buffer = new StringBuilder("\""); //$NON-NLS-1$
-        Calendar cal = Calendar.getInstance();
-        append(buffer, cal.get(Calendar.HOUR_OF_DAY));
-        buffer.append(":"); //$NON-NLS-1$
-        append(buffer, cal.get(Calendar.MINUTE));
-        buffer.append(":"); //$NON-NLS-1$
-        append(buffer, cal.get(Calendar.SECOND));
-        buffer.append("\""); //$NON-NLS-1$
-        return buffer.toString().toCharArray();
-    }
-
-	public char[] getExpansionImage() {
-		return createDate();
-	}
-}
-
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ReaderBasedCodeReader.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ReaderBasedCodeReader.java
deleted file mode 100644
index 2dc10e8..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ReaderBasedCodeReader.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *           (Jeff Overbey) Modified to use Reader rather than InputStream

- *******************************************************************************/

-package org.eclipse.photran.internal.core.preprocessor.c;

-

-import java.io.IOException;

-import java.io.Reader;

-

-import org.eclipse.cdt.core.parser.CodeReader;

-

-public class ReaderBasedCodeReader extends CodeReader 

-{

-

-	public ReaderBasedCodeReader(String filename, Reader stream)

-			throws IOException 

-	{

-		super(filename, convertToCharBuffer(stream));

-	}

-	

-	private static char[] convertToCharBuffer(Reader stream)

-	{

-		int b = 0;

-		StringBuffer aggregate = new StringBuffer();

-		while(b != -1)

-		{

-			try 

-			{

-				b = stream.read();

-			} 

-			catch (IOException e) 

-			{

-				e.printStackTrace();

-				b = -1;

-				break;

-			}

-			if(b != -1)

-			{

-				aggregate.append((char)b);

-			}

-		}

-		try

-        {

-            stream.close();

-        }

-        catch (IOException e)

-        {

-            e.printStackTrace();

-        }

-		return aggregate.toString().toCharArray();

-	}

-}

diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ScannerContext.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ScannerContext.java
deleted file mode 100755
index 8d1ad3d..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ScannerContext.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.util.ArrayList;
-
-/**
- * Represents part of the input to the preprocessor. This may be a file or the result of a macro expansion.
- * @since 5.0
- */
-final class ScannerContext {
-	private static final Token END_TOKEN = new Token(IToken.tEND_OF_INPUT, null, 0, 0);
-
-	public static final Integer BRANCH_IF = new Integer(0);
-	public static final Integer BRANCH_ELIF = new Integer(1);
-	public static final Integer BRANCH_ELSE = new Integer(2);
-	public static final Integer BRANCH_END = new Integer(3);
-	
-	private final ILocationCtx fLocationCtx;
-	private final ScannerContext fParent;
-	private final Lexer fLexer;
-	private ArrayList<Integer> fBranches= null;
-
-	private Token fTokens;
-
-	/**
-	 * @param ctx 
-	 * @param parent context to be used after this context is done.
-	 */
-	public ScannerContext(ILocationCtx ctx, ScannerContext parent, Lexer lexer) {
-		fLocationCtx= ctx;
-		fParent= parent;
-		fLexer= lexer;
-	}
-	
-	public ScannerContext(ILocationCtx ctx, ScannerContext parent, TokenList tokens) {
-		fLocationCtx= ctx;
-		fParent= parent;
-		fLexer= null;
-		fTokens= tokens.first();
-	}
-
-	/**
-	 * Returns the location context associated with this scanner context.
-	 */
-	public final ILocationCtx getLocationCtx() {
-		return fLocationCtx;
-	}
-	
-	/**
-	 * Returns the parent context which will be used after this context is finished.
-	 * May return <code>null</code>.
-	 */
-	public final ScannerContext getParent() {
-		return fParent;
-	}
-
-	/**
-	 * Returns the lexer for this context.
-	 */
-	public final Lexer getLexer() {
-		return fLexer;
-	}
-
-	/**
-	 * Needs to be called whenever we change over to another branch of conditional 
-	 * compilation. Returns whether the change is legal at this point or not.
-	 */
-	public final boolean changeBranch(Integer branchKind) {
-		if (fBranches == null) {
-			fBranches= new ArrayList<Integer>();
-		}
-		
-		// an if starts a new conditional construct
-		if (branchKind == BRANCH_IF) {
-			fBranches.add(branchKind);
-			return true;
-		}
-		// if we are not inside of an conditional there shouldn't be an #else, #elsif or #end
-		final int pos= fBranches.size()-1;
-		if (pos < 0) {
-			return false;
-		}
-		// an #end just pops one construct.
-		if (branchKind == BRANCH_END) {
-			fBranches.remove(pos);
-			return true;
-		}
-		// #elsif or #else cannot appear after another #else
-		if (fBranches.get(pos) == BRANCH_ELSE) {
-			return false;
-		}
-		// overwrite #if, #elsif with #elsif or #else
-		fBranches.set(pos, branchKind);
-		return true;
-	}
-
-	/** 
-	 * Returns the current token from this context. When called before calling nextPPToken() 
-	 * a token of type {@link Lexer#tBEFORE_INPUT} will be returned.
-	 * @since 5.0
-	 */
-	public final Token currentLexerToken() {
-		if (fLexer != null) {
-			return fLexer.currentToken();
-		}
-		if (fTokens != null) {
-			return fTokens;
-		}
-		return END_TOKEN;
-	}
-	
-	/** 
-	 * Returns the next token from this context. 
-	 */
-	public Token nextPPToken() throws OffsetLimitReachedException {
-		if (fLexer != null) {
-			return fLexer.nextToken();
-		}
-		if (fTokens != null) {
-			fTokens= (Token) fTokens.getNext();
-		}
-		return currentLexerToken();
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ScannerUtility.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ScannerUtility.java
deleted file mode 100755
index b92247b..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/ScannerUtility.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    IBM Rational Software - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.io.File;
-
-/**
- * @author jcamelon
- *
- */
-public class ScannerUtility {
-
-	static final char DOT    = '.';  
-	static final char SLASH  = '/';
-	static final char BSLASH = '\\'; 
-	static final char QUOTE  = '\"'; 
-
-	/**
-	 * This method is quick 1-pass path reconciler.
-	 * Functions:
-	 *   - replace "/" or "\" by system's separator
-	 *   - replace multiple separators by single one
-	 *   - skip "/./" 
-	 *   - skip quotes
-	 *   - process "/../" (skip previous directory level)    
-	 * 
-	 * @param originalPath - path to process
-	 * @return             - reconciled path   
-	 */
-	public static String reconcilePath(String originalPath ) {
-		int len = originalPath.length();
-		int len1 = len - 1;         // to avoid multiple calculations
-		int j = 0;                  // index for output array
-		boolean noSepBefore = true; // to avoid duplicate separators
-		
-		char[] ein = new char[len];
-		char[] aus = new char[len + 1];
-		
-		originalPath.getChars(0, len, ein, 0);
-		
-		// allow double backslash at beginning for windows UNC paths, bug 233511
-		if(ein.length >= 2 && ein[0] == BSLASH && ein[1] == BSLASH && 
-		   File.separatorChar == BSLASH) {
-		    aus[j++] = BSLASH;
-		}
-
-		
-		for (int i=0; i<len; i++) {
-			char c = ein[i]; 
-			switch (c) {
-			case QUOTE:	  // quotes are removed
-				noSepBefore = true;
-				break;
-			case SLASH:     // both separators are processed  
-			case BSLASH:    // in the same way
-				if (noSepBefore) {
-					noSepBefore = false;
-					aus[j++] = File.separatorChar;
-				}
-				break;
-			case DOT:
-				// no separator before, not a 1st string symbol. 
-				if (noSepBefore && j>0) 
-					aus[j++] = c;
-				else { // separator before "." ! 
-					if (i < len1) {
-						c = ein[i+1]; // check for next symbol
-						// check for "/./" case
-						if (c == SLASH || c == BSLASH) {
-							// write nothing to output
-							// skip the next symbol
-							i++;
-							noSepBefore = false;
-						} 
-						// symbol other than "." - write it also 
-						else if (c != DOT) {
-							i++;
-							noSepBefore = true;
-							aus[j++] = DOT;
-							aus[j++] = c;
-						}
-						// we found "/.." sequence. Look ahead.
-						else {
-							// we found "/../" (or "/.." is at the end of string)
-							// we should delete previous segment of output path 
-							if (i == len1 || ein[i+2] == SLASH || ein[i+2] == BSLASH) {
-								i+=2;
-								noSepBefore = false;
-								if (j > 1) { // there is at least 1 segment before
-									int k = j - 2;
-									while ( k >= 0 ) {
-										if (aus[k] == File.separatorChar) break;
-										k--;
-									}
-									j = k + 1; // set index to previous segment or to 0
-								}
-							}
-							// Case "/..blabla" processed as usual
-							else {
-								i++;
-								noSepBefore = true;
-								aus[j++] = DOT;
-								aus[j++] = DOT;
-							}
-						}
-					} else 
-					{} // do nothing when "." is last symbol
-				}
-				break;
-			default: 
-				noSepBefore = true;
-				aus[j++] = c;
-			}
-		}
-		return new String(aus, 0, j);
-	}
-
-	/**
-	 * @param path     - include path
-	 * @param fileName - include file name
-	 * @return         - reconsiled path
-	 */
-	public static String createReconciledPath(String path, String fileName) {
-		boolean pathEmpty = (path == null || path.length() == 0);
-		return (pathEmpty ? fileName : reconcilePath(path + File.separatorChar + fileName));
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/Token.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/Token.java
deleted file mode 100755
index ad3a764..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/Token.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-/**
- * Class edited by Matthew Michelotti.
- * 
- * Overview of changes:
- * -Redirected the original IToken interface reference to an edited
- *  version of IToken in my package.
- * -Added a member variable fPreWhiteSpace to keep track of white
- *  spaces preceding this token.
- * -Made a new optional constructor with an extra parameter for passing
- *  in preceding white spaces.
- * -Added the methods getPrecedingWhiteSpace and getCharPrecedingWhiteSpace.
- * -Added the method setPrecedingWhiteSpace.
- * 
- * -Added a member variable fParent to keep track of the parent token
- * -initialized fParent to null in the constructors
- * -Added the methods getParent and setParent
- * 
- * -Added member variable fOrigOffset to keep track of the original value
- *  of offset, which will be the Lexer char-array offset for Lexer-constructed
- *  tokens
- * -initialized fOrigOffset in constructors
- * -Added the method getOrigOffset
- * 
- * -Changed the setPrecedingWhiteSpace function to set the preceding
- *  white space of this token and all of its ancestors.
- *  
- * -added getIncludeFile method
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import org.eclipse.photran.internal.core.preprocessor.c.TokenUtil;
-
-/**
- * Represents tokens found by the lexer. The preprocessor reuses the tokens and passes
- * them on to the parsers.
- * @since 5.0
- */
-public class Token implements IToken, Cloneable {
-	private int fKind;
-	private int fOffset;
-	private int fEndOffset;
-	private IToken fNextToken;
-	Object fSource;
-	
-	private char[] fPreWhiteSpace;
-	private IToken fParent;
-	
-	private final int fOrigOffset;
-
-	Token(int kind, Object source, int offset, int endOffset) {
-		fKind= kind;
-		fOffset= offset;
-		fEndOffset= endOffset;
-		fSource= source;
-		fPreWhiteSpace = new char[] {};
-		fParent = null;
-		fOrigOffset = offset;
-	}
-	
-	Token(int kind, Object source, int offset, int endOffset, char[] preWhiteSpace) {
-        fKind= kind;
-        fOffset= offset;
-        fEndOffset= endOffset;
-        fSource= source;
-        fPreWhiteSpace = preWhiteSpace;
-        fParent = null;
-        fOrigOffset = offset;
-    }
-
-	final public int getType() {
-		return fKind;
-	}
-
-	final public int getOffset() {
-		return fOffset;
-	}
-
-	final public int getEndOffset() {
-		return fEndOffset;
-	}
-
-	final public int getLength() {
-		return fEndOffset-fOffset;
-	}
-
-	final public IToken getNext() {
-		return fNextToken;
-	}
-
-	
-	final public void setType(int kind) {
-		fKind= kind;
-	}
-
-	final public void setNext(IToken t) {
-		fNextToken= t;
-	}
-
-	public void setOffset(int offset, int endOffset) {
-		fOffset= offset;
-		fEndOffset= endOffset;
-	}
-
-	public void shiftOffset(int shift) {
-		fOffset+= shift;
-		fEndOffset+= shift;
-	}
-
-	public char[] getCharImage() {
-		return TokenUtil.getImage(getType());
-	}
-
-	@Override
-	public String toString() {
-		return getImage();
-	}
-	
-	final public boolean isOperator() {
-		return TokenUtil.isOperator(fKind);
-	}
-
-	public String getImage() {
-		return new String(getCharImage());
-	}
-
-	@Override
-	final public Object clone() {
-	    //throw new IllegalArgumentException();//for debugging to get stack trace
-		try {
-			return super.clone();
-		} catch (CloneNotSupportedException e) {
-			return null;
-		}
-	}
-	
-	final public char[] getCharPrecedingWhiteSpace() {
-	    return fPreWhiteSpace;
-	}
-	
-	final public String getPrecedingWhiteSpace() {
-	    return new String(getCharPrecedingWhiteSpace());
-	}
-	
-	final public void setPrecedingWhiteSpace(char[] whiteSpace) {
-	    fPreWhiteSpace = whiteSpace;
-	    //Token t = this;
-	    //do {
-	    //    t.fPreWhiteSpace = whiteSpace;
-	    //    t = (Token)t.fParent;
-	    //}while(t != null);
-	}
-    
-    final public IToken getParent() {
-        return fParent;
-    }
-    
-    final public void setParent(IToken parent) {
-        fParent = parent;
-    }
-    
-    final public int getOrigOffset() {
-        return fOrigOffset;
-    }
-
-	public String getIncludeFile() {
-		return null;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenForDigraph.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenForDigraph.java
deleted file mode 100755
index 01cb560..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenForDigraph.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/
-/**
- * Class edited by Matthew Michelotti.
- * 
- * Overview of changes:
- * -Redirected the original Token class reference to an edited version
- *  of Token in my package.
- * -Made a new optional constructor with an extra parameter for passing
- *  in preceding white spaces.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import org.eclipse.photran.internal.core.preprocessor.c.TokenUtil;
-
-/**
- * Tokens for digraphs simply have a different image.
- * @since 5.0
- */
-public class TokenForDigraph extends Token {
-    public TokenForDigraph(int kind, Object source, int offset, int endOffset) {
-		super(kind, source, offset, endOffset);
-	}
-	
-    public TokenForDigraph(int kind, Object source, int offset, int endOffset, char[] preWhiteSpace) {
-        super(kind, source, offset, endOffset, preWhiteSpace);
-    }
-
-	@Override
-	public char[] getCharImage() {
-		return TokenUtil.getDigraphImage(getType());
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenForInclude.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenForInclude.java
deleted file mode 100644
index 9edd70d..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenForInclude.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-/**
- * A Token class used for include directives. This class keeps track
- * of the file path that is included.
- * 
- * @author Matthew Michelotti
- */
-public class TokenForInclude extends TokenWithImage {
-	private String fIncludeFilePath = null;
-
-	public TokenForInclude(int kind, Object source, int offset, int endOffset, char[] image) {
-		super(kind, source, offset, endOffset, image);
-	}
-
-    public TokenForInclude(int kind, Object source, int offset, int endOffset, char[] image, char[] preWhiteSpace) {
-        super(kind, source, offset, endOffset, image, preWhiteSpace);
-    }
-    
-    @Override
-    public String getIncludeFile() {
-    	return fIncludeFilePath;
-    }
-    
-    public void setIncludeFile(String includeFilePath) {
-    	fIncludeFilePath = includeFilePath;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenList.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenList.java
deleted file mode 100755
index b062318..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenList.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-class TokenList {
-	private Token fFirst;
-	private Token fLast;
-
-	final Token removeFirst() {
-		final Token first= fFirst;
-		if (first == fLast) {
-			fFirst= fLast= null;
-			return first;
-		}
-		fFirst= (Token) first.getNext();
-		return first;
-	}
-
-	public final void append(Token t) {
-		if (fFirst == null) {
-			fFirst= fLast= t;
-		}
-		else {
-			fLast.setNext(t);
-			fLast= t;
-		}
-		t.setNext(null);
-	}
-	
-	public final void appendAll(TokenList tl) {
-		final Token t= tl.first();
-		if (t != null) {
-			if (fFirst == null) {
-				fFirst= tl.fFirst;
-			}
-			else {
-				fLast.setNext(tl.fFirst);
-			}
-			fLast= tl.fLast;
-		}
-		tl.fFirst= tl.fLast= null;
-	}
-
-	public final void appendAllButLast(TokenList tl) {
-		Token t= tl.first();
-		if (t != null) {
-			for (Token n= (Token) t.getNext(); n != null; t=n, n= (Token) n.getNext()) {
-				append(t);
-			}
-		}
-	}
-
-	public final void prepend(TokenList prepend) {
-		final Token first= prepend.fFirst;
-		if (first != null) {
-			final Token last= prepend.fLast;
-			last.setNext(fFirst);
-			fFirst= first;
-			if (fLast == null) {
-				fLast= last;
-			}
-		}
-	}
-	
-	public final TokenList cloneTokens() {
-		TokenList result= new TokenList();
-		for (Token t= fFirst; t != null; t= (Token) t.getNext()) {
-			if (t.getType() != CPreprocessor.tSCOPE_MARKER) {
-				result.append((Token) t.clone());
-			}
-		}
-		return result;
-	}
-
-	public final Token first() {
-		return fFirst;
-	}
-
-	public final Token last() {
-		return fLast;
-	}
-
-	final void removeBehind(Token l) {
-		if (l == null) {
-			Token t= fFirst;
-			if (t != null) {
-				t= (Token) t.getNext();
-				fFirst= t;
-				if (t == null) {
-					fLast= null;
-				}
-			}
-		}
-		else {
-			final Token r= (Token) l.getNext();
-			if (r != null) {
-				l.setNext(r.getNext());
-				if (r == fLast) {
-					fLast= l;
-				}
-			}
-		}
-	}
-
-	void cutAfter(Token l) {
-		if (l == null) {
-			fFirst= fLast= null;
-		}
-		else {
-			l.setNext(null);
-			fLast= l;
-		}
-	}
-
-	public void clear() {
-		fFirst= fLast= null;
-	}
-
-	public boolean isEmpty() {
-		return fFirst==null;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenTypeTranslator.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenTypeTranslator.java
deleted file mode 100755
index 2fc77dd..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenTypeTranslator.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.HashMap;
-
-/**
- * A class which uses reflection to obtain the name of an IToken
- * type, given the integer type from IToken.getType(). This class
- * should only be used for debugging.
- * 
- * @author Matthew Michelotti
- */
-public class TokenTypeTranslator
-{
-    /**mapping of integer codes to names*/
-    private static HashMap<Integer, String> typeMap = null;
-    
-    /**
-     * @param type - integer type obtained by IToken.getType()
-     * @return the field name as found when TokenTypeTranslator was
-     *         constructed, or "unknown" if not found
-     */
-    public static String typeToString(int type) {
-    	if(typeMap == null) initialize();
-        String str = typeMap.get(type);
-        if(str == null) return "unknown"; //$NON-NLS-1$
-        else return str;
-    }
-    
-    /**
-     * Uses reflection to obtain public static
-     * integer values beginning with a lower-case 't' from the classes
-     * IToken, Lexer, and CPreprocessor. Creates a mapping from the
-     * values of these fields to their names.
-     */
-    private static void initialize() {
-    	HashMap<Integer, String> newTypeMap = new HashMap<Integer, String>();
-    	mapTypesFromClass(newTypeMap, IToken.class);
-        mapTypesFromClass(newTypeMap, Lexer.class);
-        mapTypesFromClass(newTypeMap, CPreprocessor.class);
-        typeMap = newTypeMap;
-    }
-    
-    /**
-     * Create a mapping (as described in the constructor)
-     * for a single class. Values are placed in typeMap.
-     * @param myClass - class to look in for token type fields
-     *        (any public static int beginning with a 't')
-     */
-    private static void mapTypesFromClass(HashMap<Integer, String> typeMap,
-    										Class<?> myClass)
-    {
-        Field[] fields = myClass.getFields();
-        for(int i = 0; i < fields.length; i++) {
-            try {
-                
-            Field field = fields[i];
-            int modifiers = field.getModifiers();
-            if(!Modifier.isPublic(modifiers) || !Modifier.isStatic(modifiers))
-                    continue;
-            
-            String name = field.getName();
-            if(name.length() == 0 || name.charAt(0) != 't') continue;
-            
-            typeMap.put(field.getInt(null), name);
-            
-            }catch(IllegalArgumentException e) {}
-            catch(IllegalAccessException e) {}
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenUtil.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenUtil.java
deleted file mode 100755
index 536b341..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenUtil.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-import org.eclipse.cdt.core.parser.IGCCToken;
-import org.eclipse.cdt.core.parser.IToken;
-import org.eclipse.cdt.core.parser.Keywords;
-import org.eclipse.cdt.core.parser.util.CharArrayUtils;
-
-
-public class TokenUtil {
-	private static final char[] SPACE = {' '};
-	private static final char[] IMAGE_POUND_POUND = "##".toCharArray(); //$NON-NLS-1$
-	private static final char[] IMAGE_POUND = "#".toCharArray(); //$NON-NLS-1$
-	
-	private static final char[] DIGRAPH_LBRACE=   "<%".toCharArray(); //$NON-NLS-1$
-	private static final char[] DIGRAPH_RBRACE=   "%>".toCharArray(); //$NON-NLS-1$
-	private static final char[] DIGRAPH_LBRACKET= "<:".toCharArray(); //$NON-NLS-1$
-	private static final char[] DIGRAPH_RBRACKET= ":>".toCharArray(); //$NON-NLS-1$
-	private static final char[] DIGRAPH_POUND = "%:".toCharArray(); //$NON-NLS-1$
-	private static final char[] DIGRAPH_POUNDPOUND = "%:%:".toCharArray(); //$NON-NLS-1$
-
-	public static boolean isOperator(int kind) {
-		switch (kind) {
-		case IToken.t_delete: case IToken.t_new:
-
-		// bit operations
-		case IToken.tAMPER: case IToken.tAMPERASSIGN:
-		case IToken.tARROW: case IToken.tARROWSTAR:
-		case IToken.tBITOR: case IToken.tBITORASSIGN:
-		case IToken.tBITCOMPLEMENT:
-		case IToken.tSHIFTL: case IToken.tSHIFTLASSIGN:
-		case IToken.tSHIFTR: case IToken.tSHIFTRASSIGN:
-		case IToken.tXOR: case IToken.tXORASSIGN:
-		
-        // logical operations
-		case IToken.tNOT: case IToken.tAND: case IToken.tOR:
-
-		// arithmetic
-		case IToken.tDECR: case IToken.tINCR:
-		case IToken.tDIV: case IToken.tDIVASSIGN:
-		case IToken.tMINUS: case IToken.tMINUSASSIGN:
-		case IToken.tMOD: case IToken.tMODASSIGN:
-		case IToken.tPLUS: case IToken.tPLUSASSIGN:
-		case IToken.tSTAR: case IToken.tSTARASSIGN:
-		case IGCCToken.tMAX: case IGCCToken.tMIN:
-			
-		// comparison
-		case IToken.tEQUAL: case IToken.tNOTEQUAL:
-		case IToken.tGT: case IToken.tGTEQUAL:
-		case IToken.tLT: case IToken.tLTEQUAL:
-			
-		// other
-		case IToken.tASSIGN: case IToken.tCOMMA:
-			return true;
-		}
-		
-		return false;
-	}
-
-	public static char[] getImage(int type) {
-        switch (type) {
-    	case IToken.tPOUND:	       	return IMAGE_POUND;
-    	case IToken.tPOUNDPOUND:   	return IMAGE_POUND_POUND;	
-        case IToken.tCOLONCOLON:   	return Keywords.cpCOLONCOLON; 
-        case IToken.tCOLON:        	return Keywords.cpCOLON;
-        case IToken.tSEMI:         	return Keywords.cpSEMI;
-        case IToken.tCOMMA:        	return Keywords.cpCOMMA;
-        case IToken.tQUESTION:     	return Keywords.cpQUESTION;
-        case IToken.tLPAREN :      	return Keywords.cpLPAREN;
-        case IToken.tRPAREN :      	return Keywords.cpRPAREN;
-        case IToken.tLBRACKET:     	return Keywords.cpLBRACKET;
-        case IToken.tRBRACKET:     	return Keywords.cpRBRACKET;
-        case IToken.tLBRACE:       	return Keywords.cpLBRACE;
-        case IToken.tRBRACE:       	return Keywords.cpRBRACE;
-        case IToken.tPLUSASSIGN:   	return Keywords.cpPLUSASSIGN;
-        case IToken.tINCR:         	return Keywords.cpINCR;
-        case IToken.tPLUS:         	return Keywords.cpPLUS;
-        case IToken.tMINUSASSIGN:  	return Keywords.cpMINUSASSIGN;
-        case IToken.tDECR:         	return Keywords.cpDECR;
-        case IToken.tARROWSTAR:    	return Keywords.cpARROWSTAR;
-        case IToken.tARROW:        	return Keywords.cpARROW;
-        case IToken.tMINUS:        	return Keywords.cpMINUS;
-        case IToken.tSTARASSIGN:   	return Keywords.cpSTARASSIGN;
-        case IToken.tSTAR:         	return Keywords.cpSTAR;
-        case IToken.tMODASSIGN:    	return Keywords.cpMODASSIGN;
-        case IToken.tMOD:          	return Keywords.cpMOD;
-        case IToken.tXORASSIGN:    	return Keywords.cpXORASSIGN;
-        case IToken.tXOR:          	return Keywords.cpXOR;
-        case IToken.tAMPERASSIGN:  	return Keywords.cpAMPERASSIGN;
-        case IToken.tAND:          	return Keywords.cpAND;
-        case IToken.tAMPER:        	return Keywords.cpAMPER;
-        case IToken.tBITORASSIGN:  	return Keywords.cpBITORASSIGN;
-        case IToken.tOR:           	return Keywords.cpOR;
-        case IToken.tBITOR:        	return Keywords.cpBITOR;
-        case IToken.tBITCOMPLEMENT:	return Keywords.cpCOMPL;
-        case IToken.tNOTEQUAL:     	return Keywords.cpNOTEQUAL;
-        case IToken.tNOT:          	return Keywords.cpNOT;
-        case IToken.tEQUAL:        	return Keywords.cpEQUAL;
-        case IToken.tASSIGN:       	return Keywords.cpASSIGN;
-        case IToken.tSHIFTL:       	return Keywords.cpSHIFTL;
-        case IToken.tLTEQUAL:      	return Keywords.cpLTEQUAL;
-        case IToken.tLT:           	return Keywords.cpLT;
-        case IToken.tSHIFTRASSIGN: 	return Keywords.cpSHIFTRASSIGN;
-        case IToken.tSHIFTR:       	return Keywords.cpSHIFTR;
-        case IToken.tGTEQUAL:      	return Keywords.cpGTEQUAL;
-        case IToken.tGT:           	return Keywords.cpGT;
-        case IToken.tSHIFTLASSIGN: 	return Keywords.cpSHIFTLASSIGN;
-        case IToken.tELLIPSIS:     	return Keywords.cpELLIPSIS;
-        case IToken.tDOTSTAR:      	return Keywords.cpDOTSTAR;
-        case IToken.tDOT:          	return Keywords.cpDOT;
-        case IToken.tDIVASSIGN:    	return Keywords.cpDIVASSIGN;
-        case IToken.tDIV:          	return Keywords.cpDIV;
-        
-        case IGCCToken.tMIN:		return Keywords.cpMIN;
-        case IGCCToken.tMAX:		return Keywords.cpMAX;
-        
-        case CPreprocessor.tSPACE:  return SPACE; 
-        case CPreprocessor.tNOSPACE: return CharArrayUtils.EMPTY;
-        
-        default:
-            return CharArrayUtils.EMPTY; 
-        }
-	}
-	
-	public static char[] getDigraphImage(int type) {
-        switch (type) {
-    	case IToken.tPOUND:	       	return DIGRAPH_POUND;
-    	case IToken.tPOUNDPOUND:   	return DIGRAPH_POUNDPOUND;	
-        case IToken.tLBRACKET:     	return DIGRAPH_LBRACKET;
-        case IToken.tRBRACKET:     	return DIGRAPH_RBRACKET;
-        case IToken.tLBRACE:       	return DIGRAPH_LBRACE;
-        case IToken.tRBRACE:       	return DIGRAPH_RBRACE;
-        
-        default:
-        	assert false: type;
-            return CharArrayUtils.EMPTY; 
-        }
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenWithImage.java b/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenWithImage.java
deleted file mode 100755
index 002eab0..0000000
--- a/org.eclipse.photran.core.vpg.preprocessor.c/src/org/eclipse/photran/internal/core/preprocessor/c/TokenWithImage.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Photran modifications
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-/**
- * Class edited by Matthew Michelotti.
- * 
- * Overview of changes:
- * -Redirected the original Token class reference to an edited version
- *  of Token in my package.
- * -Made a new optional constructor with an extra parameter for passing
- *  in preceding white spaces.
- * -Added setCharImage function.
- */
-package org.eclipse.photran.internal.core.preprocessor.c;
-
-public class TokenWithImage extends Token {
-	private char[] fImage;
-
-	public TokenWithImage(int kind, Object source, int offset, int endOffset, char[] image) {
-		super(kind, source, offset, endOffset);
-		fImage= image;
-	}
-
-    public TokenWithImage(int kind, Object source, int offset, int endOffset, char[] image, char[] preWhiteSpace) {
-        super(kind, source, offset, endOffset, preWhiteSpace);
-        fImage= image;
-    }
-
-	@Override
-	public char[] getCharImage() {
-		return fImage;
-	}
-	
-	//function added by MM
-	public void setCharImage(char[] image) {
-	    fImage = image;
-	}
-}
diff --git a/org.eclipse.photran.core.vpg.tests.failing/.classpath b/org.eclipse.photran.core.vpg.tests.failing/.classpath
deleted file mode 100644
index 472ee29..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.core.vpg.tests.failing/.project b/org.eclipse.photran.core.vpg.tests.failing/.project
deleted file mode 100644
index 82783c8..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.core.vpg.tests.failing</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5d0da91..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 09:03:09 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 25d194d..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Thu Oct 08 11:30:47 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *    UIUC - Initial API and implementation\r\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * \r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.photran.core.vpg.tests.failing/META-INF/MANIFEST.MF b/org.eclipse.photran.core.vpg.tests.failing/META-INF/MANIFEST.MF
deleted file mode 100644
index 13e5d1a..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Photran VPG Failing Unit Tests
-Bundle-SymbolicName: org.eclipse.photran.core.vpg.tests.failing;singleton:=true
-Bundle-Version: 7.0.0.qualifier
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.photran.core.vpg.tests,
- org.eclipse.photran.ui.vpg,
- org.junit,
- org.eclipse.photran.core,
- org.eclipse.photran.core.vpg,
- org.eclipse.cdt.core,
- org.eclipse.cdt.core.tests,
- org.eclipse.jface,
- org.eclipse.search,
- org.eclipse.rephraserengine.testing.junit3,
- org.eclipse.core.resources,
- org.eclipse.jface.text,
- org.eclipse.rephraserengine.core.vpg,
- org.eclipse.rephraserengine.core,
- org.eclipse.rephraserengine.core.refactoring,
- org.eclipse.core.runtime
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Activator: org.eclipse.photran.internal.tests.failing.Activator
-Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.photran.core.vpg.tests.failing/build.properties b/org.eclipse.photran.core.vpg.tests.failing/build.properties
deleted file mode 100644
index 4f89978..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               refactoring-test-code/
-src.includes = refactoring-test-code/
diff --git a/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-1/hello.f90 b/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-1/hello.f90
deleted file mode 100644
index 851068e..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-1/hello.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello !<<<<<1,1,pass
-  integer :: i = 3 !!! a variable !!!
-
-  call Sub(Fn(i) + 1)
-
-  print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine Sub(x) ! start
-
-  print *, "In the subroutine, the integer is ", x
-end subroutine Sub   ! end
-
-end program
-
-integer function Fn(n) result(y)
-  print *, "You sent", n, "to the function"
-  y = n
-end function
diff --git a/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-1/hello.f90.result b/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-1/hello.f90.result
deleted file mode 100644
index c1e95d8..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-1/hello.f90.result
+++ /dev/null
@@ -1,23 +0,0 @@
-program Hello !<<<<<1,1,pass
-  implicit none
-  integer :: i = 3 !!! a variable !!!
-
-  call Sub(Fn(i) + 1)
-
-  print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine Sub(x) ! start
-  implicit none
-  real :: x
-
-  print *, "In the subroutine, the integer is ", x
-end subroutine Sub   ! end
-
-end program
-
-integer function Fn(n) result(y)
-  print *, "You sent", n, "to the function"
-  y = n
-end function
diff --git a/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-2/hello2.f90 b/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-2/hello2.f90
deleted file mode 100644
index 5b7d90a..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-2/hello2.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello !<<<<<1,1,pass
-  integer :: i = 3 !!! a variable !!!
-
-  call Sub(Fn(i) + 1)
-
-  print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine Sub(x) ! start
-
-  print *, "In the subroutine, the integer is ", x
-end subroutine Sub   ! end
-
-integer function Fn(n) result(y)
-  print *, "You sent", n, "to the function"
-  y = n
-end function
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-2/hello2.f90.result b/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-2/hello2.f90.result
deleted file mode 100644
index 9a4121d..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/refactoring-test-code/intro-implicit-none/test-subroutine-2/hello2.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-program Hello !<<<<<1,1,pass
-  implicit none
-  integer :: i = 3 !!! a variable !!!
-
-  call Sub(Fn(i) + 1)
-
-  print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine Sub(x) ! start
-  implicit none
-  real :: x
-
-  print *, "In the subroutine, the integer is ", x
-end subroutine Sub   ! end
-
-integer function Fn(n) result(y)
-  implicit none
-  integer :: n
-  integer :: y
-  print *, "You sent", n, "to the function"
-  y = n
-end function
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/failing/Activator.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/failing/Activator.java
deleted file mode 100644
index c0dcbfd..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/failing/Activator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.failing;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle.
- * 
- * @author (generated)
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.photran.core.vpg.tests.failing";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	@Override public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	@Override public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/00-README.txt b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/00-README.txt
deleted file mode 100644
index f031a7e..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/00-README.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-The classes in this package are identical to those in the same package in the
-org.eclipse.photran.core.vpg.tests plug-in, EXCEPT that they create an instance
-of FailingParserTestSuite
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseBrainerdTestSuiteFixed.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseBrainerdTestSuiteFixed.java
deleted file mode 100644
index 7ae2490..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseBrainerdTestSuiteFixed.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser.failing;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.tests.parser.MultiTestSuite.FailingParserTestSuite;

-

-public class ParseBrainerdTestSuiteFixed

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new FailingParserTestSuite("../../org.eclipse.photran-projects.confidential.walt-brainerd-test-suite",

-            true, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseBrainerdTestSuiteFree.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseBrainerdTestSuiteFree.java
deleted file mode 100644
index 17697cd..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseBrainerdTestSuiteFree.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser.failing;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.tests.parser.MultiTestSuite.FailingParserTestSuite;

-

-public class ParseBrainerdTestSuiteFree

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new FailingParserTestSuite("../../org.eclipse.photran-projects.confidential.walt-brainerd-test-suite",

-            false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseFilesFromTheWWW.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseFilesFromTheWWW.java
deleted file mode 100644
index 7b719a6..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/parser/failing/ParseFilesFromTheWWW.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser.failing;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.tests.parser.MultiTestSuite.FailingParserTestSuite;

-

-public class ParseFilesFromTheWWW

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new FailingParserTestSuite("../../org.eclipse.photran-projects.confidential.from-the-www", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/failing/TestReindent.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/failing/TestReindent.java
deleted file mode 100644
index e36728a..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/failing/TestReindent.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.photran.internal.tests.refactoring.infrastructure.failing;
-
-import org.eclipse.photran.internal.tests.refactoring.infrastructure.AbstractSourceEditorTestCase;
-
-public class TestReindent extends AbstractSourceEditorTestCase
-{
-    public void test() {}
-    
-//    public void testPasteQOutsideAndReindent() throws Exception
-//    {
-//        ASTExecutableProgramNode ast = load("hello-1-initial.f90");
-//        
-//        ASTSubroutineSubprogramNode q = ast.getASTProgramUnit(1).getASTMainProgram().getASTMainRange().getASTBodyPlusInternals().getASTInternalSubprogram(2).getASTSubroutineSubprogram();
-//        SourceEditor.cut(q);
-//        SourceEditor.pasteAsFirstChild(q, ast.getASTProgramUnit(0), ast, true);
-//        assertEquals(load("hello-7-q-pasted-formatted.f90"), ast);
-//    }
-//
-//    public void testPasteQAtBottomAndReindent() throws Exception
-//    {
-//        ASTExecutableProgramNode ast = load("hello-1-initial.f90");
-//        
-//        ASTSubroutineSubprogramNode q = ast.getASTProgramUnit(1).getASTMainProgram().getASTMainRange().getASTBodyPlusInternals().getASTInternalSubprogram(2).getASTSubroutineSubprogram();
-//        SourceEditor.cut(q);
-//        SourceEditor.pasteAsLastChild(q, ast.getASTProgramUnit(0), ast, true);
-//        assertEquals(load("hello-8-q-pasted-at-bottom-formatted.f90"), ast);
-//    }
-//
-//    public void testPasteTAboveQAndReindent() throws Exception
-//    {
-//        ASTExecutableProgramNode ast = load("hello-1-initial.f90");
-//        
-//        ASTSubroutineSubprogramNode t = ast.getASTProgramUnit(0).getASTSubroutineSubprogram();
-//        ParseTreeNode internalSubprogram2 = ast.getASTProgramUnit(1).getASTMainProgram().getASTMainRange().getASTBodyPlusInternals().getASTInternalSubprogram(2);
-//        SourceEditor.cut(t);
-//        SourceEditor.pasteAsFirstChild(t, internalSubprogram2, ast, true);
-//        assertEquals(load("hello-9-t-above-q.f90"), ast);
-//    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/refactoring/introimplicitnone/failing/IntroImplicitTestSuite.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/refactoring/introimplicitnone/failing/IntroImplicitTestSuite.java
deleted file mode 100644
index a8fe8e6..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/refactoring/introimplicitnone/failing/IntroImplicitTestSuite.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.photran.internal.tests.refactoring.introimplicitnone.failing;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.core.refactoring.IntroImplicitNoneRefactoring;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-import org.eclipse.photran.internal.tests.failing.Activator;

-

-/**

- * Unit tests for the Introduce Implicit None refactoring.

- *

- * @author Jeff Overbey

- * @author Esfar Huq 

- * @author Rui Wang - Modified to allow for marker based testing, documentation

- */

-

-public class IntroImplicitTestSuite

-     extends PhotranRefactoringTestSuiteFromMarkers<IntroImplicitNoneRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/intro-implicit-none";

-

-    public static Test suite() throws Exception

-    {

-        return new IntroImplicitTestSuite();

-    }

-

-    public IntroImplicitTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Intro implicit refactoring in",

-              DIR,

-              IntroImplicitNoneRefactoring.class);

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/search/failing/VPGSearchTestSuite.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/search/failing/VPGSearchTestSuite.java
deleted file mode 100644
index beea658..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/search/failing/VPGSearchTestSuite.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.eclipse.photran.internal.tests.search.failing;
-
-import java.util.ArrayList;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.tests.search.VPGSearchTestCase;
-import org.eclipse.photran.internal.ui.search.FortranSearchQuery;
-import org.eclipse.search.ui.text.Match;
-
-/**
- * The suite of tests for testing search functionality
- * 
- * @author Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- */
-public class VPGSearchTestSuite extends TestSuite
-{   
-    /**
-     * Adds all the tests to the suite for searching tests
-     */
-    public static Test suite() throws Exception
-    {
-        TestSuite suite = new TestSuite();
-        ArrayList<Match> matches = new ArrayList<Match>();
-        
-        //test 4
-        //Tests FIND_REFERENCES
-        matches = new ArrayList<Match>();
-        matches.add(new Match("foo.f90",30,1));
-        matches.add(new Match("implicitTest.f90",22,1));
-        suite.addTest(getSuiteFor("testFour", new VPGSearchTestCase("a",
-            FortranSearchQuery.FIND_REFERENCES | FortranSearchQuery.FIND_ALL_TYPES, matches, false)));
-               
-        return suite;
-    }
-    
-    private static TestSuite getSuiteFor(String baseFilename, VPGSearchTestCase testCase)
-    {
-        TestSuite subSuite = new TestSuite(baseFilename);
-        subSuite.addTest(testCase);
-        return subSuite;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/vpg/failing/VariableAccessTestSuite.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/vpg/failing/VariableAccessTestSuite.java
deleted file mode 100644
index a744d8f..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/tests/vpg/failing/VariableAccessTestSuite.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.vpg.failing;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.tests.failing.Activator;
-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
-import org.eclipse.rephraserengine.testing.junit3.GeneralTestSuiteFromMarkers;
-
-/**
- * Test Suite for variable access marking (performed by the <code>ReferenceCollector</code>).
- * 
- * @author Matthew Fotzler
- */
-public class VariableAccessTestSuite extends GeneralTestSuiteFromMarkers
-{
-    private static final String DIR = "var-access-test-code";
-    
-    public static Test suite() throws Exception
-    {
-        return new VariableAccessTestSuite();
-    }
-    
-    public VariableAccessTestSuite() throws Exception
-    {
-        super("Constructing variable access marking for",
-            PhotranWorkspaceTestCase.MARKER,
-            new File(DIR),
-            PhotranWorkspaceTestCase.FORTRAN_FILE_FILTER);
-    }
-    
-    @Override
-    protected Test createTestFor(File fileContainingMarker, int markerOffset, String markerText)
-        throws Exception
-    {
-        return new ReferenceCollectorTestCase(fileContainingMarker, markerText) {};
-    }
-    
-    public static abstract class ReferenceCollectorTestCase extends PhotranWorkspaceTestCase
-    {
-        private File javaFile;
-        private IFile file;
-        private String[] markerText;
-        
-        public ReferenceCollectorTestCase(File file, String markerText) throws Exception
-        {
-            super("test");
-            this.javaFile = file;
-            this.markerText = parseMarker(markerText);
-        }
-        
-        @Override public void setUp() throws Exception
-        {
-            super.setUp();
-            
-            this.file = importFile(Activator.getDefault(), javaFileDirectory(), javaFile.getName());
-            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-        }
-        
-        protected String javaFileDirectory()
-        {
-            return DIR+File.separator+javaFile.getParentFile().getName();
-        }
-        
-        public void test() throws Exception
-        {
-            PhotranVPG vpg = PhotranVPG.getInstance();
-            vpg.ensureVPGIsUpToDate(new NullProgressMonitor());
-            
-            IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(file);
-            assertNotNull(ast);
-            
-            String lineNumber = markerText[0];
-            String column = markerText[1];
-            Token token = findTokenByLineCol(ast, Integer.parseInt(lineNumber), Integer.parseInt(column));
-            assertNotNull(token);
-
-            String line = getLine(ast, Integer.parseInt(lineNumber));
-            String actual = line + token.getText() + " - " + token.getVariableAccessType().toString();
-            String expected = line + token.getText() + " - " + markerText[2];
-            if (!expected.equals(actual))
-                System.err.println(file.getFullPath());
-            assertEquals(expected, actual);
-        }
-
-        private String getLine(IFortranAST ast, int lineNumber)
-        {
-            final ArrayList<Token> lineTokens = new ArrayList<Token>();
-            final int lineNum = lineNumber;
-            String line = "";
-            
-            ast.accept(new ASTVisitorWithLoops(){
-                @Override public void visitToken(Token token)
-                {
-                    if(token.getLine() == lineNum)
-                        lineTokens.add(token);
-                }
-            });
-            
-            for(Token token : lineTokens)
-            {
-                line += token.getWhiteBefore() + token.getText() + token.getWhiteAfter();
-            }
-            
-            line += "\n";
-            
-            return line;
-        }
-        
-        private Token findTokenByLineCol(IFortranAST ast, int line, int col)
-        {
-            for (Token token : ast)
-                if (token.getLine() == line && token.getCol() == col)
-                    return token;
-
-            return null;
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests.failing/var-access-test-code/test-io/test-io.f90 b/org.eclipse.photran.core.vpg.tests.failing/var-access-test-code/test-io/test-io.f90
deleted file mode 100644
index d069a43..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/var-access-test-code/test-io/test-io.f90
+++ /dev/null
@@ -1,52 +0,0 @@
-program testio
-    integer :: assignme, assignme2, assignme3
-    integer :: w,x
-    real :: y = 23.4
-    real :: z = 25.5
-    character(len=5) :: format = "(I5)"
-    character(len=50) :: testline
-
-    assign 100 to assignme2
-    assign 200 to assignme3
-
-    read (5, format, iostat=w, err=100, end=100) x
-    !<<<<< 12,14,READ
-    !<<<<< 12,29,RW
-    !<<<<< 12,50,WRITE
-
-    assign 20 to assignme
-    !<<<<< 17,18,WRITE
-
-    print assignme, x,y,z
-    !<<<<< 20,11,READ
-    !<<<<< 20,21,READ
-    !<<<<< 20,23,READ
-    !<<<<< 20,25,READ
-    
-20  format(i10,f10.2,f10.3)
-    !<<<<< 26,12,NONE
-    !<<<<< 26,16,NONE
-    !<<<<< 26,22,NONE
-    
-    write (6, format, iostat=w, err=100) x
-    !<<<<< 31,15,READ
-    !<<<<< 31,30,RW
-    !<<<<< 31,42,READ
-    
-    write (6, "(I5)", iostat=w, err=100) 2
-    !<<<<< 36,15,NONE
-    !<<<<< 36,30,RW
-    !<<<<< 36,42,NONE
-    
-    write (testline, assignme, iostat=w, err=100) x,y,z
-    !<<<<< 41,12,WRITE
-    !<<<<< 41,22,READ
-    !<<<<< 41,39,RW
-    !<<<<< 41,51,READ
-    !<<<<< 41,53,READ
-    !<<<<< 41,55,READ
-
-100 print *, "1"
-200 print *, "2"
-
-end program testio
diff --git a/org.eclipse.photran.core.vpg.tests/.classpath b/org.eclipse.photran.core.vpg.tests/.classpath
deleted file mode 100644
index 472ee29..0000000
--- a/org.eclipse.photran.core.vpg.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.core.vpg.tests/.project b/org.eclipse.photran.core.vpg.tests/.project
deleted file mode 100644
index 67cbcd3..0000000
--- a/org.eclipse.photran.core.vpg.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.core.vpg.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 84d028b..0000000
--- a/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 09:03:20 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index b439e4e..0000000
--- a/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Thu Oct 08 11:30:38 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *    UIUC - Initial API and implementation\r\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * \r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.photran.core.vpg.tests/META-INF/MANIFEST.MF b/org.eclipse.photran.core.vpg.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index b4fce7c..0000000
--- a/org.eclipse.photran.core.vpg.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,37 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Photran Virtual Program Graph Tests Plug-in
-Bundle-SymbolicName: org.eclipse.photran.core.vpg.tests
-Bundle-Version: 7.0.0.qualifier
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.photran.core.vpg,
- org.eclipse.photran.ui.vpg,
- org.eclipse.cdt.core.tests,
- org.eclipse.core.resources,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.core.runtime,
- org.eclipse.jface.text,
- org.junit,
- org.eclipse.cdt.core,
- org.eclipse.jface,
- org.eclipse.search,
- org.eclipse.rephraserengine.core.vpg,
- org.eclipse.rephraserengine.core,
- org.eclipse.rephraserengine.core.refactoring,
- org.eclipse.rephraserengine.testing.junit3,
- org.eclipse.rephraserengine.ui,
- org.eclipse.photran.core
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.photran.internal.tests.Activator
-Export-Package: org.eclipse.photran.internal.tests,
- org.eclipse.photran.internal.tests.analysis.dependence,
- org.eclipse.photran.internal.tests.analysis.types,
- org.eclipse.photran.internal.tests.parser,
- org.eclipse.photran.internal.tests.patternmatching,
- org.eclipse.photran.internal.tests.refactoring,
- org.eclipse.photran.internal.tests.refactoring.extractprocedure,
- org.eclipse.photran.internal.tests.refactoring.infrastructure,
- org.eclipse.photran.internal.tests.refactoring.rename,
- org.eclipse.photran.internal.tests.search,
- org.eclipse.photran.internal.tests.vpg
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/org.eclipse.photran.core.vpg.tests/Makefile b/org.eclipse.photran.core.vpg.tests/Makefile
deleted file mode 100644
index 6d0965f..0000000
--- a/org.eclipse.photran.core.vpg.tests/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-all:
-	$(MAKE) -C rename-test-code
-
-clean:
-	$(MAKE) clean -C rename-test-code
diff --git a/org.eclipse.photran.core.vpg.tests/NOTE b/org.eclipse.photran.core.vpg.tests/NOTE
deleted file mode 100644
index 95ff0f7..0000000
--- a/org.eclipse.photran.core.vpg.tests/NOTE
+++ /dev/null
@@ -1,9 +0,0 @@
-Due to licensing restrictions, some of the Fortran code used for testing
-the parser cannot be made publicly available.  The corresponding JUnit
-tests will display an informational message if these directories do not
-exist, but no tests should fail.  (See ParseIBEAMCppMod.java for one
-example of such a test.)
-
-See the Photran Developer's Guide for more information.
-
---Jeff Overbey (23 Sept 06, updated 16 May 10)
diff --git a/org.eclipse.photran.core.vpg.tests/build.properties b/org.eclipse.photran.core.vpg.tests/build.properties
deleted file mode 100644
index c087562..0000000
--- a/org.eclipse.photran.core.vpg.tests/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               parser-test-code/,\
-               refactoring-test-code/,\
-               search-test-code/,\
-               vpg-test-code/,\
-               control-flow-test-code/
-src.includes = Makefile,\
-               NOTE,\
-               refactoring-test-code/,\
-               parser-test-code/,\
-               search-test-code/,\
-               vpg-test-code/
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-allstop/test-allstop.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-allstop/test-allstop.f90
deleted file mode 100644
index 4cd8a2e..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-allstop/test-allstop.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program testallstop
-
-	print *, "1"
-	
-	all stop
-	
-	print *, "2"
-
-end program testallstop !<<<<< 9
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-allstop/test-allstop.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-allstop/test-allstop.f90.result
deleted file mode 100644
index 1e75b87..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-allstop/test-allstop.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-node1: null
-    => node3
-node3: print *, "1"
-    => node4
-node4: all stop
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-arithmetic-if/test-arithmetic-if.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-arithmetic-if/test-arithmetic-if.f90
deleted file mode 100644
index b3d8aab..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-arithmetic-if/test-arithmetic-if.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-program test19
-	integer x = 3
-
-	if (x) 10,20,30
-
-10	print *, "1"
-	return
-
-20	print *, "2"
-
-30	print *, "3"
-
-	print *, "4"
-
-end program test19 !<<<<< 15
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-arithmetic-if/test-arithmetic-if.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-arithmetic-if/test-arithmetic-if.f90.result
deleted file mode 100644
index 7a6b7ba..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-arithmetic-if/test-arithmetic-if.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-node1: null
-    => node3
-node3: if (x) 10,20,30
-    => node4
-    => node5
-    => node6
-node4: 10	print *, "1"
-    => node7
-node7: return
-node5: 20	print *, "2"
-    => node6
-node6: 30	print *, "3"
-    => node8
-node8: print *, "4"
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-assigned-goto/test-assigned-goto.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-assigned-goto/test-assigned-goto.f90
deleted file mode 100644
index 3a45586..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-assigned-goto/test-assigned-goto.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program testassignedgoto
-	integer :: return_label
-
-	assign 200 to return_label
-
-	goto return_label
-
-	print *, "I will never be printed..."
-
-200 print *, "but I will!"
-
-end program testassignedgoto !<<<<< 12
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-assigned-goto/test-assigned-goto.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-assigned-goto/test-assigned-goto.f90.result
deleted file mode 100644
index ff756f1..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-assigned-goto/test-assigned-goto.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-node1: null
-    => node3
-node3: assign 200 to return_label
-    => node4
-node4: goto return_label
-    => node5
-node5: 200 print *, "but I will!"
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-associate/test-associate.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-associate/test-associate.f90
deleted file mode 100644
index b8f377b..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-associate/test-associate.f90
+++ /dev/null
@@ -1,25 +0,0 @@
-program testassociate
-	type :: weights
-		integer :: onEarth
-	end type
-
-	type :: person
-		integer :: age
-		type(weights) :: weight
-	end type
-
-	type(person) :: me
-
-	me%age = 23
-
-	me%weight%onEarth = 150
-
-	associate (myWeight => me%weight)
-
-		print *, myWeight%onEarth
-
-	end associate
-
-	print *, "I am a heavy boy!"
-
-end program testassociate !<<<<< 25
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-associate/test-associate.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-associate/test-associate.f90.result
deleted file mode 100644
index 65e3600..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-associate/test-associate.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-node1: null
-    => node3
-node3: me%age = 23
-    => node4
-node4: me%weight%onEarth = 150
-    => node5
-node5: associate (myWeight => me%weight)
-     
-     		print *, myWeight%onEarth
-     
-     	end associate
-    => node6
-node6: print *, myWeight%onEarth
-    => node7
-node7: print *, "I am a heavy boy!"
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-block/test-block.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-block/test-block.f90
deleted file mode 100644
index ee8017a..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-block/test-block.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program testblock
-	integer :: x=4
-
-	block
-		integer :: x=2
-
-		print *, x
-	end block
-
-	print *, x
-end program testblock !<<<<< 11
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-block/test-block.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-block/test-block.f90.result
deleted file mode 100644
index 73922a7..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-block/test-block.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-node1: null
-    => node3
-node3: block
-     		integer :: x=2
-     
-     		print *, x
-     	end block
-    => node4
-node4: print *, x
-    => node5
-node5: print *, x
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-computed-goto/test-computed-goto.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-computed-goto/test-computed-goto.f90
deleted file mode 100644
index 75e7817..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-computed-goto/test-computed-goto.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program test20
-	integer :: x = 2
-
-	go to (10,20) x
-
-	print *, "0"
-
-10	print *, "1"
-
-	return
-
-20	print *, "2"
-
-end program test20 !<<<<< 14
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-computed-goto/test-computed-goto.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-computed-goto/test-computed-goto.f90.result
deleted file mode 100644
index e61b965..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-computed-goto/test-computed-goto.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-node1: null
-    => node3
-node3: go to (10,20) x
-    => node4
-    => node5
-    => node6
-node4: print *, "0"
-    => node5
-node5: 10	print *, "1"
-    => node7
-node7: return
-node6: 20	print *, "2"
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-critical/test-critical.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-critical/test-critical.f90
deleted file mode 100644
index 3ded7c1..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-critical/test-critical.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program test23
-
-	critical
-		print *, "Hello"
-	end critical
-
-end program test23 !<<<<< 7
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-critical/test-critical.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-critical/test-critical.f90.result
deleted file mode 100644
index f2459e3..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-critical/test-critical.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-node1: null
-    => node3
-node3: critical
-     		print *, "Hello"
-     	end critical
-    => node4
-node4: print *, "Hello"
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-cycle/test-cycle.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-cycle/test-cycle.f90
deleted file mode 100644
index c879e1e..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-cycle/test-cycle.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program testcycle
-	integer :: i
-
-	do i=1,5
-		print *, "1"
-		cycle
-		print *, "2"
-	end do
-	
-	print *, "3"
-
-end program testcycle !<<<<< 12
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-cycle/test-cycle.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-cycle/test-cycle.f90.result
deleted file mode 100644
index f0d4621..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-cycle/test-cycle.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-node1: null
-    => node3
-node3: do i=1,5
-     		print *, "1"
-     		cycle
-     		print *, "2"
-     	end do
-    => node4
-    => node5
-node4: print *, "1"
-    => node6
-node6: cycle
-    => node3
-node5: print *, "3"
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-loop/test-do-loop.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-loop/test-do-loop.f90
deleted file mode 100644
index 58762e0..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-loop/test-do-loop.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program test8
-	integer :: i
-
-	do i=1,5
-		print *, "Hello"
-	end do
-end program test8 !<<<<< 7
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-loop/test-do-loop.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-loop/test-do-loop.f90.result
deleted file mode 100644
index 9a299d4..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-loop/test-do-loop.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-node1: null
-    => node3
-node3: do i=1,5
-     		print *, "Hello"
-     	end do
-    => node4
-    => node2
-node4: print *, "Hello"
-    => node3
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-while/test-do-while.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-while/test-do-while.f90
deleted file mode 100644
index c9eaf42..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-while/test-do-while.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program test8
-	integer :: i
-
-	do while (i < 5)
-		print *, "Hello"
-		i = i + 1
-	end do
-end program test8 !<<<<< 8
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-while/test-do-while.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-while/test-do-while.f90.result
deleted file mode 100644
index 9cda577..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-do-while/test-do-while.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-node1: null
-    => node3
-node3: do while (i < 5)
-     		print *, "Hello"
-     		i = i + 1
-     	end do
-    => node4
-    => node2
-node4: print *, "Hello"
-    => node5
-node5: i = i + 1
-    => node3
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-forall/test-forall.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-forall/test-forall.f90
deleted file mode 100644
index 1192ba7..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-forall/test-forall.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program testforall
-	integer, dimension(10) :: array
-
-	forall (I = 1:5)
-		array(I) = 2
-		array(I) = array(I) * 2
-	end forall
-	
-end program testforall !<<<<< 9
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-forall/test-forall.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-forall/test-forall.f90.result
deleted file mode 100644
index 71e6279..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-forall/test-forall.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-node1: null
-    => node3
-node3: forall (I = 1:5)
-    => node4
-    => node2
-node4: array(I) = 2
-    => node5
-node5: array(I) = array(I) * 2
-    => node3
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-function/test-function.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-function/test-function.f90
deleted file mode 100644
index 8851180..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-function/test-function.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-function testfunction(A)
-
-	integer, intent(in) :: A
-
-	testfunction = 4;
-
-end !<<<<< 7
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-function/test-function.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-function/test-function.f90.result
deleted file mode 100644
index f4c6345..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-function/test-function.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-node1: function testfunction(A)
-    => node3
-node3: testfunction = 4;
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-goto/test-goto.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-goto/test-goto.f90
deleted file mode 100644
index 5014a60..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-goto/test-goto.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program testgoto
-
-	print *, "1"
-	
-	go to 20
-	
-	print *, "2"
-	
-20	print *, "3"
-
-end program testgoto !<<<<< 11
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-goto/test-goto.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-goto/test-goto.f90.result
deleted file mode 100644
index 388ca7b..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-goto/test-goto.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-node1: null
-    => node3
-node3: print *, "1"
-    => node4
-node4: go to 20
-    => node5
-node5: 20	print *, "3"
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-if-single/test-if-single1.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-if-single/test-if-single1.f90
deleted file mode 100644
index 9f8410f..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-if-single/test-if-single1.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program test
-if (.true.) a = 1
-a = 2
-end program !<<<<<4
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-if-single/test-if-single1.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-if-single/test-if-single1.f90.result
deleted file mode 100644
index fa799db..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-if-single/test-if-single1.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-node1: null
-    => node3
-node3: if (.true.) a = 1
-    => node4
-    => node5
-node4: a = 1
-    => node5
-node5: a = 2
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-ifconstruct/test-ifconstruct.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-ifconstruct/test-ifconstruct.f90
deleted file mode 100644
index d819030..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-ifconstruct/test-ifconstruct.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-program testifconstruct
-	integer :: x = 2
-	
-	if (x > 2) then
-		print *, "x is greater than 2!"
-	else if (x < -2) then
-		print *, "x is less than -2!"
-		print *, "..."
-	else
-		print *, "I have no clue what x is!"
-	end if
-	
-	print *, "This print statement is after the if construct!"	
-
-end program testifconstruct !<<<<< 15
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-ifconstruct/test-ifconstruct.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-ifconstruct/test-ifconstruct.f90.result
deleted file mode 100644
index 25d09e2..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-ifconstruct/test-ifconstruct.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
- node1: null
-    => node3
- node3: if (x > 2) then
-    => node4
-    => node5
- node4: print *, "x is greater than 2!"
-    => node6
- node6: print *, "This print statement is after the if construct!"
-    => node2
- node2: null
- node5: else if (x < -2) then
-    => node7
-    => node8
- node7: print *, "x is less than -2!"
-    => node9
- node9: print *, "..."
-    => node6
- node8: else
-    => node10
-node10: print *, "I have no clue what x is!"
-    => node6
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-io/test-io.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-io/test-io.f90
deleted file mode 100644
index a18d862..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-io/test-io.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program testio
-	integer :: x
-
-	print *, "hello world!"
-	
-	read *, x
-	
-	write (*,*) "test"
-
-end program testio !<<<<< 10
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-io/test-io.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-io/test-io.f90.result
deleted file mode 100644
index 5d9bd1f..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-io/test-io.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-node1: null
-    => node3
-node3: print *, "hello world!"
-    => node4
-node4: read *, x
-    => node5
-node5: write (*,*) "test"
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-loopswithexit/test-loopwithexit.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-loopswithexit/test-loopwithexit.f90
deleted file mode 100644
index ff9ff52..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-loopswithexit/test-loopwithexit.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program testloops
-	integer :: i,j
-	
-	firstdo: do i=1,5
-		innerdo: do j=1,5
-			print *, "1"
-			exit firstdo
-			print *, "2"
-		end do
-		print *, "3"
-	end do
-
-end program testloops !<<<<< 13
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-loopswithexit/test-loopwithexit.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-loopswithexit/test-loopwithexit.f90.result
deleted file mode 100644
index 29b32ad..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-loopswithexit/test-loopwithexit.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-node1: null
-    => node3
-node3: firstdo: do i=1,5
-     		innerdo: do j=1,5
-     			print *, "1"
-     			exit firstdo
-     			print *, "2"
-     		end do
-     		print *, "3"
-     	end do
-    => node4
-    => node2
-node4: innerdo: do j=1,5
-     			print *, "1"
-     			exit firstdo
-     			print *, "2"
-     		end do
-    => node5
-    => node6
-node5: print *, "1"
-    => node7
-node7: exit firstdo
-    => node2
-node2: null
-node6: print *, "3"
-    => node3
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-module/test-module.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-module/test-module.f90
deleted file mode 100644
index f549e15..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-module/test-module.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-module testmodule
-
-	integer :: xfromtestmodule
-
-10 end !<<<<< 5
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-module/test-module.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-module/test-module.f90.result
deleted file mode 100644
index 513af9f..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-module/test-module.f90.result
+++ /dev/null
@@ -1,3 +0,0 @@
-node1: null
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-return/test-return.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-return/test-return.f90
deleted file mode 100644
index c8a8ea6..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-return/test-return.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program testreturn
-
-	print *, "1"
-	
-	return
-	
-	print *, "2"
-
-end program testreturn !<<<<< 9
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-return/test-return.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-return/test-return.f90.result
deleted file mode 100644
index 3586bad..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-return/test-return.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-node1: null
-    => node3
-node3: print *, "1"
-    => node4
-node4: return
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-select-type/test-select-type.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-select-type/test-select-type.f90
deleted file mode 100644
index 9fe50d4..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-select-type/test-select-type.f90
+++ /dev/null
@@ -1,30 +0,0 @@
-program testselecttype
-    type person
-	integer :: age
-    end type
-    type, extends(person) :: friend
-	integer :: duration_of_friendship
-    end type
-
-    class(person),pointer :: p
-	integer :: i
-    type(friend), target :: my_buddy
-
-    p => my_buddy
-
-    select type (p)
-		type is (person)
-		    print *, "1"
-		    print *, "2"
-		type is (friend)
-		    print *, "3"
-		    do i=1,5
-		    	print *, "4"
-		    	cycle
-		    	print *, "5"
-		    end do
-    end select
-
-    print *, "6"
-
-end program testselecttype !<<<<< 30
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-select-type/test-select-type.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-select-type/test-select-type.f90.result
deleted file mode 100644
index 507b917..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-select-type/test-select-type.f90.result
+++ /dev/null
@@ -1,38 +0,0 @@
- node1: null
-    => node3
- node3: p => my_buddy
-    => node4
- node4: select type (p)
-      		type is (person)
-      		    print *, "1"
-      		    print *, "2"
-      		type is (friend)
-      		    print *, "3"
-      		    do i=1,5
-      		    	print *, "4"
-      		    	cycle
-      		    	print *, "5"
-      		    end do
-          end select
-    => node5
-    => node6
- node5: print *, "1"
-    => node7
- node7: print *, "2"
-    => node9
- node9: print *, "6"
-    => node2
- node2: null
- node6: print *, "3"
-    => node8
- node8: do i=1,5
-      		    	print *, "4"
-      		    	cycle
-      		    	print *, "5"
-      		    end do
-    => node10
-    => node9
-node10: print *, "4"
-    => node11
-node11: cycle
-    => node8
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stmt-function/test-stmt-function.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stmt-function/test-stmt-function.f90
deleted file mode 100644
index a43f0e5..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stmt-function/test-stmt-function.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program test18
-	implicit none
-	real :: teststmtfun
-	real :: z
-	real :: x = 2.
-
-	teststmtfun(z) = z * 2. + 1.
-
-	print *, teststmtfun(x)
-
-end program test18 !<<<<< 11
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stmt-function/test-stmt-function.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stmt-function/test-stmt-function.f90.result
deleted file mode 100644
index a303804..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stmt-function/test-stmt-function.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-node1: null
-    => node3
-node3: teststmtfun(z) = z * 2. + 1.
-    => node4
-node4: print *, teststmtfun(x)
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stop/test-stop.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stop/test-stop.f90
deleted file mode 100644
index 667c51e..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stop/test-stop.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program teststop
-
-	print *, "1"
-	
-	stop
-	
-	print *, "2"
-
-end program teststop !<<<<< 9
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stop/test-stop.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stop/test-stop.f90.result
deleted file mode 100644
index 4d626e4..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-stop/test-stop.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-node1: null
-    => node3
-node3: print *, "1"
-    => node4
-node4: stop
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-subroutine/test-subroutine.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-subroutine/test-subroutine.f90
deleted file mode 100644
index dea6bbf..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-subroutine/test-subroutine.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-subroutine testsub
-	print *, "Inside the subroutine!"
-end subroutine testsub !<<<<< 3
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-subroutine/test-subroutine.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-subroutine/test-subroutine.f90.result
deleted file mode 100644
index df837d1..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-subroutine/test-subroutine.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-node1: subroutine testsub
-    => node3
-node3: print *, "Inside the subroutine!"
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-construct/test-where-construct.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-construct/test-where-construct.f90
deleted file mode 100644
index c32f7e9..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-construct/test-where-construct.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-program testwhereconstruct
-	integer, dimension(10) :: array
-	
-	do i=1,10
-		array(i) = i
-	end do
-	
-	where (array > 5)
-		array = 2
-		array = 3
-	elsewhere (array < 2)
-		array = 10
-	elsewhere (array < 5)
-		array = 400
-	elsewhere
-		array = 1
-	end where
-
-end program testwhereconstruct !<<<<< 19
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-construct/test-where-construct.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-construct/test-where-construct.f90.result
deleted file mode 100644
index 550a86e..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-construct/test-where-construct.f90.result
+++ /dev/null
@@ -1,67 +0,0 @@
- node1: null
-    => node3
- node3: do i=1,10
-      		array(i) = i
-      	end do
-    => node4
-    => node5
- node4: array(i) = i
-    => node3
- node5: where (array > 5)
-      		array = 2
-      		array = 3
-      	elsewhere (array < 2)
-      		array = 10
-      	elsewhere (array < 5)
-      		array = 400
-      	elsewhere
-      		array = 1
-      	end where
-    => node6
-    => node7
- node6: array = 2
-    => node8
- node8: array = 3
-    => node2
- node2: null
- node7: where (array > 5)
-      		array = 2
-      		array = 3
-      	elsewhere (array < 2)
-      		array = 10
-      	elsewhere (array < 5)
-      		array = 400
-      	elsewhere
-      		array = 1
-      	end where
-    => node9
-    => node10
- node9: array = 10
-    => node2
-node10: where (array > 5)
-      		array = 2
-      		array = 3
-      	elsewhere (array < 2)
-      		array = 10
-      	elsewhere (array < 5)
-      		array = 400
-      	elsewhere
-      		array = 1
-      	end where
-    => node11
-    => node12
-node11: array = 400
-    => node2
-node12: where (array > 5)
-      		array = 2
-      		array = 3
-      	elsewhere (array < 2)
-      		array = 10
-      	elsewhere (array < 5)
-      		array = 400
-      	elsewhere
-      		array = 1
-      	end where
-    => node13
-node13: array = 1
-    => node2
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-stmt/test-where-stmt.f90 b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-stmt/test-where-stmt.f90
deleted file mode 100644
index aab917a..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-stmt/test-where-stmt.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program testwherestmt
-
-	integer, dimension(10) :: array
-
-	do i=1,10
-		array(i) = i
-	end do
-
-	where (array < 5) array = 1
-	
-	print *, "2"
-
-end program testwherestmt !<<<<< 13
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-stmt/test-where-stmt.f90.result b/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-stmt/test-where-stmt.f90.result
deleted file mode 100644
index 44a2627..0000000
--- a/org.eclipse.photran.core.vpg.tests/control-flow-test-code/test-where-stmt/test-where-stmt.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-node1: null
-    => node3
-node3: do i=1,10
-     		array(i) = i
-     	end do
-    => node4
-    => node5
-node4: array(i) = i
-    => node3
-node5: where (array < 5) array = 1
-    => node6
-node6: array = 1
-    => node7
-node7: print *, "2"
-    => node2
-node2: null
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/.cvsignore b/org.eclipse.photran.core.vpg.tests/parser-test-code/.cvsignore
deleted file mode 100644
index e69de29..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/.cvsignore
+++ /dev/null
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/fortran2003_tests/fortran2003-syntax.f03 b/org.eclipse.photran.core.vpg.tests/parser-test-code/fortran2003_tests/fortran2003-syntax.f03
deleted file mode 100644
index 405f051..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/fortran2003_tests/fortran2003-syntax.f03
+++ /dev/null
@@ -1,80 +0,0 @@
-! This is syntactically correct but semantically incorrect and meaningless
-program Fortran2003
-    import x, y
-    import :: z
-
-    type, bind(c) :: class
-        private
-        procedure(), public :: proc_component
-    contains
-        procedure                     type_bound_proc1
-        procedure, non_overridable :: type_bound_proc3
-        procedure                     type_bound_proc4 => proc
-        procedure, non_overridable :: type_bound_proc6 => proc
-    end type
-
-    enum, bind(c)
-        enumerator    apple = 3, orange, pear
-        enumerator :: grapefruit
-    end enum
-
-    type(class), asynchronous, bind(c, name='x'), protected, value, volatile, pointer :: t1
-    class(class) :: t2
-    class(*)     :: t3
-
-    common /c1/ t1, t2
-
-    asynchronous      x1, x2
-    asynchronous   :: x3
-    bind(c)           x4
-    bind(c,name=x) :: x5, /c1/
-    protected         x6
-    protected      :: x7, x8
-
-    abstract interface
-        subroutine s
-        end subroutine s
-    end interface
-
-    procedure() p1
-    procedure(integer) p2
-    procedure(), pointer :: p3
-    procedure(integer), save, optional :: p4, p5 => null(), p6
-
-    ! EXECUTION PART
-
-    associate (this => 3 + 4, that => 5)
-        print *, this
-        print *, that
-    end associate
-
-    select type (renamed => t3)
-        type is (class)
-            print *, "1"
-        class is (class)
-            print *, '2'
-        class default
-            print *, '3'
-            if (3 .eq. 4) then
-                print *, '?!'
-            end if
-            do i = 6,8
-                print *, ":-)"
-            end do
-            do 51 i = 6,8
-51              print *, ":-)"
-    end select
-
-!    if (t1%type_bound_proc1() .eq. 3) print *, "!"
-
-    call t2%type_bound_proc4
-
-    open (3,action=something,asynchronous='?',decimal='?',encoding='?',iomsg=v,round='?',sign='?')
-    decimal=3
-    wait (3,id=n,iostat=m)
-    close (unit=3,iomsg=v)
-
-    use, intrinsic :: some_module
-    use :: some_other_module, operator(.x.) => operator(.y.)
-    use :: some_third_module, only: operator(.x.) => operator(.y.)
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariable.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariable.f90
deleted file mode 100644
index c8798f9..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariable.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program TestExtractVariable
-
-contains
-
-subroutine Sub()
-  integer :: x
-  x = 1
-  if(x==1) then
-  	x=2
-  end if	
-  
-end subroutine Sub
-
-end program TestExtractVariable
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariableAfter.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariableAfter.f90
deleted file mode 100644
index 014e055..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariableAfter.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program TestExtractVariable
-
-contains
-
-subroutine Sub()
-  integer :: x
-  logical :: y
-  x = 1
-  y = (x == 1)
-  if(y) then
-  	x=2
-  end if	
-  
-end subroutine Sub
-
-end program TestExtractVariable
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90
deleted file mode 100644
index 7f06a62..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-program Hello
-  implicit none
-  integer :: i
-
-  i = 3
-  call Sub(i + 1)
-
-  print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
-  integer :: i
-  integer :: x
-
-  x = i
-  print *, x
-
-end subroutine Sub
-
-
-subroutine SomeSub(y,z)
-  real :: y
-  real :: z
-  real :: x
-
-  x = y + z
-  y = 22
-  z = y + z
-  print *, x
-
-end subroutine SomeSub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90
deleted file mode 100644
index 11faff4..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90
+++ /dev/null
@@ -1,30 +0,0 @@
-program Hello
-
-  i = 3
-  call Sub(i + 1)
-
-  print *, "The integer is ", i
-  
-contains
-
-subroutine Sub(i)
-  integer :: x
-
-  x = i
-  print *, x
-  
-end subroutine Sub
-
-
-subroutine SomeSub(y,z)
-  real :: y
-  real :: z
-
-  x = y + z
-  y = 22
-  z = y + z
-  print *, x
-  
-end subroutine SomeSub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90
deleted file mode 100644
index ada2665..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-program Hello
-  integer :: i = 3
-
-  call Sub(i + 1)
-
-  print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
-  implicit none
-  integer :: i
-  real :: x
-
-  x = i
-  print *, x
-
-end subroutine Sub
-
-
-subroutine SomeSub(y,z)
-  implicit none
-  real :: y
-  real :: z
-  real :: x
-
-  x = y + z
-  y = 22
-  z = y + z
-  print *, x
-
-end subroutine SomeSub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90
deleted file mode 100644
index 41e5075..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program Hello
-  integer :: i = 3
-
-  call Sub(i + 1)
-
-  print *, "The integer is ", i
-  
-contains
-
-subroutine Sub(i)
-  
-  x = i
-  print *, x
-  
-end subroutine Sub
-
-
-subroutine SomeSub(y,z)
-  
-  x = y + z
-  y = 22
-  z = y + z
-  print *, x
-  
-end subroutine SomeSub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90
deleted file mode 100644
index 5c1e049..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello
-  integer :: i = 3
-
-  call Sub(i + 1)
-
-  print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
-  implicit none
-  integer :: i
-  real :: x
-
-  x = i
-  print *, x
-
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90
deleted file mode 100644
index 969f1ab..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-program Hello
-  integer :: i = 3
-
-  call Sub(i + 1)
-
-  print *, "The integer is ", i
-  
-contains
-
-subroutine Sub(i)
-  
-  x = i
-  print *, x
-  
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90
deleted file mode 100644
index a053466..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello
-  integer :: i = 3
-
-  call Sub(i + 1)
-
-  print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
-  implicit none
-  integer :: i
-  real :: x
-
-  x = i
-  print *, x
-  
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90
deleted file mode 100644
index cf99a33..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-program Hello
-  integer :: i = 3
-
-  call Sub(i + 1)
-
-  print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
-  integer :: i
-  real :: x
-
-  x = i
-  print *, x
-  
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90
deleted file mode 100644
index 5c1e049..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello
-  integer :: i = 3
-
-  call Sub(i + 1)
-
-  print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
-  implicit none
-  integer :: i
-  real :: x
-
-  x = i
-  print *, x
-
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1aRefactored.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1aRefactored.f90
deleted file mode 100644
index 47cefca..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1aRefactored.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program Hello
-  integer :: Whatever = 3
-
-  Whatever = Whatever + 1
-  print *, "The integer is ", Whatever
-  stop
-
-end program Hello
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1abOriginal.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1abOriginal.f90
deleted file mode 100644
index ea5bbad..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1abOriginal.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program Hello
-  integer :: i = 3
-  
-  i = i + 1
-  print *, "The integer is ", i
-  stop
-
-end program Hello
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1bRefactored.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1bRefactored.f90
deleted file mode 100644
index 89cbb8f..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1bRefactored.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program Whatever
-  integer :: i = 3
-
-  i = i + 1
-  print *, "The integer is ", i
-  stop
-
-end program Whatever
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test2Original.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test2Original.f90
deleted file mode 100644
index c58a7cd..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test2Original.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program Hello
-  integer :: i = 3
-  integer :: j = 4
-  
-  i = i + 1
-  print *, "The integer is ", i
-  print *, "and the other integer is ", j
-  stop
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test3Original.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test3Original.f90
deleted file mode 100644
index 091fbdc..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test3Original.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program Hello
-  integer :: i = 3
-
-  call Sub(i + 1)
-
-  print *, "The integer is ", i
-  
-contains
-
-subroutine Sub(x)
-  integer, intent(in) :: x
-
-  print *, "In the subroutine, the integer is ", x
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Original.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Original.f90
deleted file mode 100644
index 5712ebd..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Original.f90
+++ /dev/null
@@ -1,23 +0,0 @@
-! This is a sample program
-
-program Hello
-  integer :: i = 3 !!! a variable !!!
-
-  call Sub(Fn(i) + 1)
-
-  print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine Sub(x) ! start
-  integer, intent(in) :: x
-
-  print *, "In the subroutine, the integer is ", x
-end subroutine Sub   ! end
-
-end program
-
-integer function Fn(n) result(y)
-  print *, "You sent", n, "to the function"
-  y = n
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Refactored.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Refactored.f90
deleted file mode 100644
index 3f1cd57..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Refactored.f90
+++ /dev/null
@@ -1,23 +0,0 @@
-! This is a sample program
-
-program Hello
-  integer :: i = 3 !!! a variable !!!
-
-  call buS(nF(i) + 1)
-
-  print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine buS(x) ! start
-  integer, intent(in) :: x
-
-  print *, "In the subroutine, the integer is ", x
-end subroutine buS   ! end
-
-end program
-
-integer function nF(n) result(y)
-  print *, "You sent", n, "to the function"
-  y = n
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/AssignResult.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/AssignResult.F90
deleted file mode 100644
index 1c35155..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/AssignResult.F90
+++ /dev/null
@@ -1,3 +0,0 @@
-program p
-result(1:7) = (/ 1.3, vector_x, 2.35, vector_y /)
-end program p
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/BlockData.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/BlockData.F90
deleted file mode 100644
index 0b6e27e..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/BlockData.F90
+++ /dev/null
@@ -1,7 +0,0 @@
-PROGRAM P
-
-END PROGRAM P
-
-BLOCK DATA INIT_BLOCK_A
-
-END BLOCK DATA
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ConstSubstring.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ConstSubstring.F90
deleted file mode 100644
index 154591c..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ConstSubstring.F90
+++ /dev/null
@@ -1,4 +0,0 @@
-Program p
-TEMP = "ELMWOOD HIGH" (N:N+3)   ! Parent is a constant.
-lll = 'ABCDF' (i:i)
-End program p
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/DblPrecDim.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/DblPrecDim.F90
deleted file mode 100644
index 8b29635..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/DblPrecDim.F90
+++ /dev/null
@@ -1,4 +0,0 @@
-program p
-  ! DIMENSION is a keyword
-  DOUBLE PRECISION , DIMENSION ( 100 ) :: A , B 
-end program p
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/FormatTest.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/FormatTest.F90
deleted file mode 100644
index 1e3ce78..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/FormatTest.F90
+++ /dev/null
@@ -1,4 +0,0 @@
-program p
-  ! Should match / ) as two tokens, not one
-  100 FORMAT (2(3EN15.4,3X)/)
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/Function.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/Function.F90
deleted file mode 100644
index fddbbb3..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/Function.F90
+++ /dev/null
@@ -1,11 +0,0 @@
-program p
-
-contains
-
-integer function f(x)
-end function
-
-double precision function f(x)
-end function
-
-end program p
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ImplicitTest.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ImplicitTest.F90
deleted file mode 100644
index 56e226e..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ImplicitTest.F90
+++ /dev/null
@@ -1,12 +0,0 @@
-program lineContTest
-	! See Fortran 95 Handbook p.112
-	implicit integer (a)
-	implicit integer (b-c)
-	implicit complex (d-e, f)
-	implicit integer (g-i, k), complex(l-n)
-	implicit type (mytype) (p), complex (q)
-	implicit logical (kind = bit) (r)
-	IMPLICIT INTEGER (S-V) ! Comment here
-	IMPLICIT CHARACTER(LEN=5)(W-X)
-	IMPLICIT CHARACTER(LEN=5, KIND=7)(Y), COMPLEX(Z) ! Yeah!
-end program lineContTest
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/IntentTest.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/IntentTest.F90
deleted file mode 100644
index 8351310..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/IntentTest.F90
+++ /dev/null
@@ -1,4 +0,0 @@
-integer function f(x, y) result(r)
-  intent ( in ) x , y
-  return 0
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/LineContinuationTest.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/LineContinuationTest.F90
deleted file mode 100644
index 2fa3bd6..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/LineContinuationTest.F90
+++ /dev/null
@@ -1,12 +0,0 @@
-program lineContTest

-	

-	REAL::S

-	REAL::R

-    R = 1.01 

-    S = R + & 		! a comment

-    				! another comment

-    & R*2 	&		! a comment

-    				! another comment

-    + R				! comment

-    

-end program lineContTest

diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/OperatorStarTest.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/OperatorStarTest.F90
deleted file mode 100644
index fad4a47..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/OperatorStarTest.F90
+++ /dev/null
@@ -1,5 +0,0 @@
-module ops

-interface operator (*)

-	module procedure rat_mult

-end interface

-end module

diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ParenSlash.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ParenSlash.F90
deleted file mode 100644
index 3fe1c7c..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ParenSlash.F90
+++ /dev/null
@@ -1,7 +0,0 @@
-MODULE X
-   ! (/) should be three tokens, not (/ followed by )
-   INTERFACE OPERATOR (/)
-      MODULE PROCEDURE BIG_DIV_INT, &
-                       BIG_DIV_BIG
-   END INTERFACE
-END MODULE X
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118954-todo.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118954-todo.f90
deleted file mode 100644
index e02a9e6..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118954-todo.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-500 FORMAT (1H0, 2F10.3, E15.1, TR1, A10, 7HIN BOOK)
-1001 FORMAT (2(5E10.2, I10/), (1X, SP, I7, ss, ES10.2))
-130 FORMAT (9HMORE SNOW)
-140 FORMAT (a, 9X, 3A5, 7/ a, 10X, 3L4)
-! 17   format (7Ha"cde'g, 4 I8, '***')   ! This still doesn't work (Holleriths in free form)
-
-string = ASCII_"Hello"
-
-end
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118955.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118955.f90
deleted file mode 100644
index 9b5ce8e..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118955.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-IDENT = RESHAPE ( (/ (1, (0, II=1,N), JJ=1,N-1), 1 /), (/ N,N /) )
-
-
-   a = reshape( (/ (1.0, (real(k), i=1,N), j=1,N), 1.0 /), &
-      (/ N, N /) )
-
-STOKES=DEN&
-      &SITY-11.11
-
-end
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118965.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118965.f90
deleted file mode 100644
index 475cfa4..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118965.f90
+++ /dev/null
@@ -1,174 +0,0 @@
-module CmatProduct_m
-
-use MatranUtil_m
-use Cmat_m
-
-implicit none
-
-
-
-  real(wp), parameter :: ZERO = 0, ONE = 1
-
-  interface Times
-     module procedure CmTimesComplexScalarRm, CmTimesComplexScalarCm, &
-     CmTimesRealScalarCm, CmTimesRealScalarRm
-  end interface Times
-
-!    interface operator(*)
-!       module procedure RmTimesScalarRm_o, RmTimesRmScalar_o, &
-!                        RmTimesRmRm_o
-!    end interface
-!
-!    interface TimesXhy
-!       module procedure RmTimesXhy
-!    end interface TimesXhy
-!
-!    interface operator(.xhy.)
-!       module procedure RmTimes_xhy
-!    end interface
-!
-!    interface TimesXyh
-!       module procedure RmTimesXyh
-!    end interface TimesXyh
-!   !    interface operator(.xyh.)
-!       module procedure RmTimes_xyh
-!    end interface
-!
-!    interface TimesXhx
-!       module procedure RmTimesXhx
-!    end interface
-!
-!    interface operator(.xhx.)
-!       module procedure RmTimes_xhx
-!    end interface
-!
-!    interface TimesXxh
-!       module procedure RmTimesXxh
-!    end interface
-!
-!    interface operator(.xxh.)
-!       module procedure RmTimes_xxh
-!    end interface
-
-contains
-
-  subroutine CmTimesComplexScalarRm(C, s, A)
-     type(Cmat), intent(inout) :: C
-     complex(wp), intent(in) :: s
-     type(Rmat), intent(in) :: A
-
-     integer :: m, n, i, j
-
-     m = A%nrow
-     n = A%ncol
-
-     call GuardTemp(A)
-     call ReshapeAry(C, m, n)
-
-     if (m==0 .or. n==0) then
-        C%tag = 'yy'
-     !else                C%tag = 'xx'
-     else
-                     C%tag = 'xx'
-        forall (i=1:m,j=1:n)
-            C%a(i,j) = s*cmplx(A%a(i,j),0)
-        end forall
-
-     end if
-
-     call CleanTemp(A)
-
-  end subroutine CmTimesComplexScalarRm
-
-  subroutine CmTimesRealScalarCm(C, s, A)
-     type(Cmat), intent(out) :: C
-     real(wp), intent(in) :: s
-     type(Cmat), intent(in) :: A
-
-     integer m, n
-
-     m = A%nrow
-     n = A%ncol
-
-     call GuardTemp(A)
-     call ReshapeAry(C, m, n)
-
-     if (m==0 .or. n==0) then
-        C%tag = 'GE'
-
-     else
-
-        if (s>=0 .OR. A%tag/='HP') then
-           C%tag = A%tag
-        else
-           C%tag = 'HE'
-        end if
-        C%a(1:m,1:n) = s*A%a(1:m,1:n)
-
-     end if
-
-     call CleanTemp(A)
-
-  end subroutine CmTimesRealScalarCm
-
-  subroutine CmTimesRealScalarRm(C, s, A)
-     type(Cmat), intent(out) :: C
-     real(wp), intent(in) :: s
-     type(Rmat), intent(in) :: A
-
-     integer m, n
-
-     m = A%nrow
-     n = A%ncol
-
-     call GuardTemp(A)
-     call ReshapeAry(C, m, n)
-
-     if (m==0 .or. n==0) then
-        C%tag = 'GE'
-
-     else
-
-        if (s>=0 .OR. A%tag/='HP') then
-           C%tag = A%tag
-        else
-           C%tag = 'HE'
-        end if
-        C%a(1:m,1:n) = s*A%a(1:m,1:n)
-
-     end if
-
-     call CleanTemp(A)
-
-  end subroutine CmTimesRealScalarRm
-
-  subroutine CmTimesComplexScalarCm(C, s, A)
-     type(Cmat), intent(out) :: C
-     complex(wp), intent(in) :: s
-     type(Cmat), intent(in) :: A
-
-     integer m, n
-
-     m = A%nrow
-     n = A%ncol
-
-     call GuardTemp(A)
-     call ReshapeAry(C, m, n)
-
-     if (m==0 .or. n==0) then
-        C%tag = 'GE'
-
-     else
-
-        C%tag = 'HE'
-        C%a(1:m,1:n) = s*A%a(1:m,1:n)
-
-     end if
-
-     call CleanTemp(A)
-
-  end subroutine CmTimesComplexScalarCm
-
-
-
-end module CmatProduct_m
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126383.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126383.f90
deleted file mode 100644
index a7c6b83..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126383.f90
+++ /dev/null
@@ -1,25 +0,0 @@
-PROGRAM TstFmts
-
-!   This program contains snippets of code that may cause the photran
-!   outline parser grief.  The program provides no useful function.
-
-    IMPLICIT NONE
-
-          WRITE (6, 148)
-          WRITE (6, 149)
-          WRITE (6, 150)
-
-148       FORMAT (/ ' *TestForBackup*  Backup due to too large a fractional ', 'change in core power.' / )
-149       FORMAT ( / ' *TestForBackup*  Backup due to too large a fractional ', 'change in core power.' /)
-150       FORMAT ( / ' *TestForBackup*  Backup due to too large a fractional change in core power.', // )
-
-         ictl(1:6) = ( / ictl1, ictl2, 1, 0, 0, 0 / )
-         ictl(1:6) = (/ ictl1, ictl2, 1, 0, 0, 0 /)
-
-
-data radii/(12*(fcasts+1))*0/
-
-       data radii / (12*(fcasts+1))*0 /
-
-
-END PROGRAM
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126546.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126546.f90
deleted file mode 100644
index 51da770..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126546.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-density(atoms%orbs) = 1.0d0
-density(atoms%orbs(i,n)) = 1.0d0
-end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126547.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126547.f90
deleted file mode 100644
index 29dfdd6..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126547.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-module blabla
-implicit none
-
-type,public :: atomic_type
-    integer ::n
-    integer, allocatable :: orbs(:,:)
-end type atomic_type
-
-end module blabla
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126548.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126548.f90
deleted file mode 100644
index ac34d1a..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126548.f90
+++ /dev/null
@@ -1,24 +0,0 @@
-module blabla
-implicit none
-
-integer :: includx
-integer :: includex
-real :: m
-
-end module blabla
-
-module blabla
-implicit none
-
-integer :: includx
-integer :: includex
-
-contains
-
-subroutine blablas
-
-    print *, includex
-    write(*,*)"hello"
-end subroutine blablas
-
-end module blabla
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug138221.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug138221.f90
deleted file mode 100644
index 4ffa5ef..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug138221.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-    type VarcharType
-        private
-        character,  dimension(:), allocatable :: chars
-    end type
-    end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug167734.f b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug167734.f
deleted file mode 100644
index d9ca601..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug167734.f
+++ /dev/null
@@ -1,3 +0,0 @@
-      program Hello
- 10    format(F5.4,3E2.1)
-      end
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193031.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193031.f90
deleted file mode 100644
index 1c2d909..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193031.f90
+++ /dev/null
@@ -1,32 +0,0 @@
-! This did not parse correctly if its filename extension was .F (it was interpreted as fixed rather than free format),
-! even if .F files were associated with the free-format Fortran content type 
-
-!WRF:DRIVER_LAYER:MAIN
-!
-
-PROGRAM wrf
-
-   USE module_wrf_top
-
-!<DESCRIPTION>
-! Main program of WRF model.  Responsible for starting up the model, reading in (and
-! broadcasting for distributed memory) configuration data, defining and initializing
-! the top-level domain, either from initial or restart data, setting up time-keeping, and
-! then calling the <a href=integrate.html>integrate</a> routine to advance the domain
-! to the ending time of the simulation. After the integration is completed, the model
-! is properly shut down.
-!
-!</DESCRIPTION>
-
-   IMPLICIT NONE
-
-   ! Initialize WRF model.  
-   CALL wrf_init
-
-   ! WRF model time-stepping.  Calls integrate().  
-   CALL wrf_run
-
-   ! WRF model clean-up.  This calls MPI_FINALIZE() for DM parallel runs.  
-   CALL wrf_finalize
-
-END PROGRAM wrf
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193196.f b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193196.f
deleted file mode 100644
index 322af35..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193196.f
+++ /dev/null
@@ -1,3 +0,0 @@
-      FORMAT(1X,I10,1X,I10,1X,E15.7,I10,1X,I10,1X,I3/)
- 9973 FORMAT(/,1X,'!!!!!! EXECUTION WILL NOW BE TERMINATED !!!!!!',//)
-      END
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug195801.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug195801.f90
deleted file mode 100644
index 2c8e869..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug195801.f90
+++ /dev/null
@@ -1,36 +0,0 @@
-PROGRAM TEST_DERIVED_TYPE
-
-	IMPLICIT NONE
-	
-	TYPE :: TestType
-		INTEGER :: a, b
-	END TYPE
-	
-	
-	TYPE(TestType) :: TestVar
-	
-	
-	TestVar%a = 10
-	TestVar%b = 20
-
-	CALL DISPLAYTEST(TestVar)
-
-	
-CONTAINS
-
-
-
-	SUBROUTINE DISPLAYTEST(Var)
-	
-		IMPLICIT NONE
-		
-		TYPE(TestType), INTENT(IN) :: Var
-		
-		PRINT *, Var%a
-		PRINT *, Var%b
-		
-	END SUBROUTINE
-
-
-
-END PROGRAM
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606-todo.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606-todo.f90
deleted file mode 100644
index 1623eba..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606-todo.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-USE SIZES; USE GLOBAL, ONLY: C3D, COMM; USE GLOBAL_IO
-
-
-type (OutputDataDescript_t) :: descript
-CHARACTER(LEN=4) :: type1
-CHARACTER(LEN=4) :: type2
-integer :: ns,type
-
-type1     = type2
-!type = 2   ! This line still has problems
-
-     READ(IHOT,REC=IHOTSTP) IMHS         ; IHOTSTP = IHOTSTP + 1
-     READ(IHOT,REC=IHOTSTP) TIME         ; IHOTSTP = IHOTSTP + 1
-     READ(IHOT,REC=IHOTSTP) ITHS         ; IHOTSTP = IHOTSTP + 1
-     READ(IHOT,REC=IHOTSTP) NP_G_IN      ; IHOTSTP = IHOTSTP + 1
-     READ(IHOT,REC=IHOTSTP) NE_G_IN      ; IHOTSTP = IHOTSTP + 1
-     READ(IHOT,REC=IHOTSTP) NP_A_IN      ; IHOTSTP = IHOTSTP + 1
-     READ(IHOT,REC=IHOTSTP) NE_A_IN      ; IHOTSTP = IHOTSTP + 1
-
-end
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606.f90
deleted file mode 100644
index 1822e04..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606.f90
+++ /dev/null
@@ -1,23 +0,0 @@
-subroutine s
-end subroutine  
-                
-
-program bug212606
-    implicit none
-
-    type OutputDataDescript_t
-        integer n
-    end type
-
-    type (OutputDataDescript_t) :: descript
-
-    CHARACTER(LEN=4) :: type1
-    CHARACTER(LEN=4) :: type2
-
-    integer :: ns,type
-
-    type1 = type2
-
-    type = 2
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug276186.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug276186.f90
deleted file mode 100644
index 8620ba3..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug276186.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-type t1(l)
-    integer, len :: l
-end type
-
-type t2(len)
-    integer, len :: len
-end type
-
-!            v-- F03 parser reports unexpected len
-integer ifdr,len_n,len_c,filtyp,fdrnam
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug294055.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug294055.f90
deleted file mode 100644
index afccca3..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug294055.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-      program test
-      implicit none
-      logical a /.true./
-
-      print *,'A = ', a
-
-      end program test
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug298895.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug298895.f90
deleted file mode 100644
index c4b07cc..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug298895.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-iunit=20
-convert=17.0
-open(iunit, file=filename, form=form, status=status, convert='BIG_ENDIAN', recl=65534, err=100)
-print *, convert
-end program test
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug300931.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug300931.f90
deleted file mode 100644
index b0478cd..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug300931.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-CHARACTER(LEN=B,KIND=A) :: NAME2
-CHARACTER(KIND=A,LEN=B) :: NAME1
-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug304269.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug304269.f90
deleted file mode 100644
index 572fa5a..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug304269.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-! ERRMSG= is an Intel extension
-ALLOCATE(BOX(NUM_THREADS),BOX_CTF(NUM_THREADS),STAT=IERR,ERRMSG=ERRMSG)
-END PROGRAM
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134.f b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134.f
deleted file mode 100644
index c14720d..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134.f
+++ /dev/null
@@ -1,2 +0,0 @@
-      RECURSIVE SUBROUTINE Read_BFTransfo()
-      END SUBROUTINE
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134_sub_module_TnumERROR.f b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134_sub_module_TnumERROR.f
deleted file mode 100644
index 51f3474..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134_sub_module_TnumERROR.f
+++ /dev/null
@@ -1,302 +0,0 @@
-      MODULE mod_Tnum
-      USE mod_system
-      USE mod_dnSVM
-      IMPLICIT NONE
-        TYPE Type_BFTransfo
-          !----------------------------------------------------------------
-          logical                     :: init0,notinit0
-          logical                     :: allo ! If allocated => T
-
-          integer :: nb_vect,nb_BF
-          integer :: nb_var,nb_var_Rot
-          integer :: num_Frame
-          character (len=Name_len) :: name_Frame
-
-          logical :: Frame
-
-          integer, pointer                  :: type_Q(:)
-          character (len=Name_len), pointer :: name_Q(:)
-
-
-
-          TYPE (Type_BFTransfo), pointer :: tab_BFTransfo(:) ! dim: nb_vect or nb_BF
-
-        END TYPE Type_BFTransfo
-      CONTAINS
-c=======================================================================
-c
-c     Read BF transfo: BF and vectors
-c
-c=======================================================================
-      SUBROUTINE init0_BFTransfo(BFTransfo)
-        TYPE (Type_BFTransfo),intent(out) :: BFTransfo
-
-        BFTransfo%init0     = .TRUE.
-        BFTransfo%notinit0  = .FALSE.
-
-        BFTransfo%allo      = .FALSE.
-
-        BFTransfo%nb_vect    = 0
-        BFTransfo%nb_BF      = 0
-        BFTransfo%nb_var     = 0
-        BFTransfo%nb_var_Rot = 0
-        BFTransfo%num_Frame  = 0
-        BFTransfo%name_Frame = "F0"
-
-        BFTransfo%Frame      = .FALSE.
-
-        nullify(BFTransfo%type_Q)
-        nullify(BFTransfo%name_Q)
-        nullify(BFTransfo%tab_BFTransfo)
-
-      END SUBROUTINE init0_BFTransfo
-      SUBROUTINE check_init0_BFTransfo(A,name_A,name_sub)
-      TYPE (Type_BFTransfo), intent(in) :: A
-      character (len=*), intent(in) :: name_A
-      character (len=*), intent(in) :: name_sub
-
-      IF ( (A%init0 .EQV. A%notinit0) .OR.
-     *       (A%notinit0 .AND. .NOT. A%init0) ) THEN
-        write(6,*) ' ERROR in ',name_sub
-        write(6,*) name_A,
-     *  ' has NOT been initiated with "init0_BFTransfo"'
-        write(6,*) ' CHECK the source!!!!!'
-        write(6,*) '.%init0, %notinit0',A%init0,A%notinit0
-        STOP
-      END IF
-      END SUBROUTINE check_init0_BFTransfo
-      RECURSIVE SUBROUTINE dealloc_BFTransfo(BFTransfo)
-      TYPE (Type_BFTransfo),intent(inout) :: BFTransfo
-
-      integer :: iv
-      character (len=*), parameter :: name_sub='dealloc_BFTransfo'
-
-      IF (.NOT. BFTransfo%Frame) RETURN
-      write(6,*) 'BEGINNING ',name_sub
-
-      CALL check_init0_BFTransfo(BFTransfo,'BFTransfo',name_sub)
-
-      deallocate(BFTransfo%type_Q)
-      deallocate(BFTransfo%name_Q)
-
-      DO iv=1,BFTransfo%nb_vect
-        CALL dealloc_BFTransfo(BFTransfo%tab_BFTransfo(iv))
-      END DO
-
-      deallocate(BFTransfo%tab_BFTransfo)
-
-      BFTransfo%allo = .FALSE.
-      CALL init0_BFTransfo(BFTransfo)
-
-      write(6,*) 'END ',name_sub
-
-      END SUBROUTINE dealloc_BFTransfo
-!      SUBROUTINE Read_BFTransfo(BFTransfo,Qtransfo,i_Q,
-!     *                          in_unitp,out_unitp)
-      RECURSIVE SUBROUTINE Read_BFTransfo(BFTransfo,Qtransfo,i_Q,
-     *                                    in_unitp,out_unitp)
-      TYPE (Type_BFTransfo),intent(inout) :: BFTransfo
-      TYPE (Type_Qtransfo), intent(inout) :: Qtransfo
-      integer, intent(inout) :: i_Q
-      integer :: in_unitp,out_unitp
-
-
-      integer :: nb_vect,nb_var,iq,iv
-      logical :: Frame,cos_th,cart
-      character (len=Name_len) :: name_d,name_th,name_dih,
-     *                            name_x,name_y,name_z
-      character (len=Name_len) :: name_F,name_v
-
-      NAMELIST /BF/ nb_vect
-      NAMELIST /vector/ Frame,cos_th,name_d,name_th,name_dih,
-     *                          cart,name_x,name_y,name_z
-
-      character (len=*), parameter :: name_sub='Read_BFTransfo'
-
-
-      IF (.NOT. BFTransfo%Frame) RETURN
-c     write(6,*) 'BEGINNING ',name_sub
-
-      CALL check_init0_BFTransfo(BFTransfo,'BFTransfo',name_sub)
-
-      nb_vect = 0
-
-      read(in_unitp,BF)
-c     write(out_unitp,BF)
-
-      IF (nb_vect < 1) THEN
-        write(out_unitp,*) ' ERROR in ',name_sub
-        write(out_unitp,*) ' the number of vector is < 1',nb_vect
-        STOP
-      END IF
-      BFTransfo%nb_vect = nb_vect
-      nb_var = max(1,3*nb_vect-3)
-      IF (BFTransfo%num_Frame > 0) THEN
-        nb_var = nb_var + 2
-        IF (nb_vect > 1) nb_var = nb_var + 1
-      END IF
-      BFTransfo%nb_var = nb_var
-
-      allocate(BFTransfo%type_Q(nb_var))
-      allocate(BFTransfo%name_Q(nb_var))
-
-      allocate(BFTransfo%tab_BFTransfo(nb_vect))
-      BFTransfo%allo = .TRUE.
-
-      write(name_F,*) BFTransfo%num_Frame
-      name_F = "F" // trim(adjustl(name_F))
-      IF (BFTransfo%num_Frame > 0) name_F =
-     *     trim(adjustl(name_F)) // trim(adjustl(BFTransfo%name_Frame))
-
-      BFTransfo%name_Frame = name_F
-
-c     write(6,*) 'num_Frame,name_Frame',
-c    *         BFTransfo%num_Frame,BFTransfo%name_Frame
-
-      iq = 0
-      DO iv=1,nb_vect
-        Frame    = .FALSE.
-        cos_th   = .TRUE.
-        cart     = .FALSE.
-        write(name_v,*) iv
-        name_v = trim(adjustl(name_v)) // "_" // trim(adjustl(name_F))
-        name_x   = "x" // trim(adjustl(name_v))
-        name_y   = "y" // trim(adjustl(name_v))
-        name_z   = "z" // trim(adjustl(name_v))
-        name_d   = "d" // trim(adjustl(name_v))
-        name_th  ="th" // trim(adjustl(name_v))
-        name_dih="dih" // trim(adjustl(name_v))
-        read(in_unitp,vector)
-c       write(out_unitp,vector)
-
-        CALL init0_BFTransfo(BFTransfo%tab_BFTransfo(iv))
-        BFTransfo%tab_BFTransfo(iv)%num_Frame = iv
-        BFTransfo%tab_BFTransfo(iv)%Frame = Frame
-        BFTransfo%tab_BFTransfo(iv)%name_Frame = name_F
-        IF (cart .AND. iv < 3) THEN
-          write(out_unitp,*) ' ERROR in ',name_sub
-          write(out_unitp,*) ' vector in cartesian and iv < 3',
-     *       ' is not possible'
-          write(out_unitp,*) 'cart,iv',cart,iv
-          STOP
-        END IF
-        IF (cart) THEN
-           iq = iq + 1
-           BFTransfo%type_Q(iq) = 1 ! cart :x
-           BFTransfo%name_Q(iq) = name_x
-           i_Q = i_Q + 1
-           Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-           Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-           iq = iq + 1
-           BFTransfo%type_Q(iq) = 1 ! cart :y
-           BFTransfo%name_Q(iq) = name_y
-           i_Q = i_Q + 1
-           Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-           Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-           iq = iq + 1
-           BFTransfo%type_Q(iq) = 1 ! cart :z
-           BFTransfo%name_Q(iq) = name_z
-           i_Q = i_Q + 1
-           Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-           Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-        ELSE
-           iq = iq + 1
-           BFTransfo%type_Q(iq) = 2 ! distance
-           BFTransfo%name_Q(iq) = name_d
-           i_Q = i_Q + 1
-           Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-           Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-           IF (iv > 1) THEN
-             iq = iq + 1
-             BFTransfo%type_Q(iq) = 3 ! th
-             IF (cos_th) BFTransfo%type_Q(iq) = -3 ! cos(th)
-             BFTransfo%name_Q(iq) = name_th
-             i_Q = i_Q + 1
-             Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-             Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-           END IF
-           IF (iv > 2) THEN
-             iq = iq + 1
-             BFTransfo%type_Q(iq) = 4 ! dih
-             BFTransfo%name_Q(iq) = name_dih
-             i_Q = i_Q + 1
-             Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-             Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-           END IF
-        END IF
-
-
-        CALL Read_BFTransfo(BFTransfo%tab_BFTransfo(iv),Qtransfo,i_Q,
-     *                      in_unitp,out_unitp)
-      END DO
-
-      IF (BFTransfo%num_Frame > 0) THEN
-        iq = iq + 1
-        BFTransfo%type_Q(iq) = 4
-        BFTransfo%name_Q(iq) = "alpha_" // trim(adjustl(name_F))
-        i_Q = i_Q + 1
-        Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-        Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-        iq = iq + 1
-        BFTransfo%type_Q(iq) = 3
-        IF (cos_th) BFTransfo%type_Q(iq) = -3
-        BFTransfo%name_Q(iq) = "beta_" // trim(adjustl(name_F))
-        i_Q = i_Q + 1
-        Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-        Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-        IF (nb_vect > 1) THEN
-          iq = iq + 1
-          BFTransfo%type_Q(iq) = 4
-          BFTransfo%name_Q(iq) = "gamma_" // trim(adjustl(name_F))
-          i_Q = i_Q + 1
-          Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-          Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-        END IF
-      END IF
-
-
-c     write(out_unitp,*) 'END ',name_sub
-
-      END SUBROUTINE Read_BFTransfo
-      !SUBROUTINE Write_BFTransfo(BFTransfo,out_unitp)
-      RECURSIVE SUBROUTINE Write_BFTransfo(BFTransfo,out_unitp)
-
-      TYPE (Type_BFTransfo),intent(out) :: BFTransfo
-
-      integer :: out_unitp
-
-      integer :: iv,iq
-      character (len=*), parameter :: name_sub='Write_BFTransfo'
-
-      IF (.NOT. BFTransfo%Frame) RETURN
-      write(out_unitp,*) 'BEGINNING ',name_sub
-
-      CALL check_init0_BFTransfo(BFTransfo,'BFTransfo',name_sub)
-
-      write(out_unitp,*) 'allo',BFTransfo%allo
-      write(out_unitp,*) 'num_Frame',BFTransfo%num_Frame
-      write(out_unitp,*) 'name_Frame: ',BFTransfo%name_Frame
-
-      write(out_unitp,*) 'nb_vect,nb_BF',
-     *                   BFTransfo%nb_vect,BFTransfo%nb_BF
-
-      write(out_unitp,*) 'nb_var,nb_var_Rot',
-     *                   BFTransfo%nb_var,BFTransfo%nb_var_Rot
-
-      write(out_unitp,*) 'BF',BFTransfo%Frame
-
-
-      write(out_unitp,*) 'type_Q',BFTransfo%type_Q(:)
-      write(out_unitp,*) 'name_Q: ',
-     *        (trim(BFTransfo%name_Q(iq))," ",iq=1,BFTransfo%nb_var)
-
-      IF (BFTransfo%Frame) THEN
-        DO iv=1,BFTransfo%nb_vect
-          CALL Write_BFTransfo(BFTransfo%tab_BFTransfo(iv),out_unitp)
-        END DO
-      END IF
-
-      write(6,*) 'END ',name_sub
-
-      END SUBROUTINE Write_BFTransfo
-      END MODULE mod_Tnum
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134_sub_module_TnumOK.f b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134_sub_module_TnumOK.f
deleted file mode 100644
index abe498a..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug305134_sub_module_TnumOK.f
+++ /dev/null
@@ -1,302 +0,0 @@
-      MODULE mod_Tnum
-      USE mod_system
-      USE mod_dnSVM
-      IMPLICIT NONE
-        TYPE Type_BFTransfo
-          !----------------------------------------------------------------
-          logical                     :: init0,notinit0
-          logical                     :: allo ! If allocated => T
-
-          integer :: nb_vect,nb_BF
-          integer :: nb_var,nb_var_Rot
-          integer :: num_Frame
-          character (len=Name_len) :: name_Frame
-
-          logical :: Frame
-
-          integer, pointer                  :: type_Q(:)
-          character (len=Name_len), pointer :: name_Q(:)
-
-
-
-          TYPE (Type_BFTransfo), pointer :: tab_BFTransfo(:) ! dim: nb_vect or nb_BF
-
-        END TYPE Type_BFTransfo
-      CONTAINS
-c=======================================================================
-c
-c     Read BF transfo: BF and vectors
-c
-c=======================================================================
-      SUBROUTINE init0_BFTransfo(BFTransfo)
-        TYPE (Type_BFTransfo),intent(out) :: BFTransfo
-
-        BFTransfo%init0     = .TRUE.
-        BFTransfo%notinit0  = .FALSE.
-
-        BFTransfo%allo      = .FALSE.
-
-        BFTransfo%nb_vect    = 0
-        BFTransfo%nb_BF      = 0
-        BFTransfo%nb_var     = 0
-        BFTransfo%nb_var_Rot = 0
-        BFTransfo%num_Frame  = 0
-        BFTransfo%name_Frame = "F0"
-
-        BFTransfo%Frame      = .FALSE.
-
-        nullify(BFTransfo%type_Q)
-        nullify(BFTransfo%name_Q)
-        nullify(BFTransfo%tab_BFTransfo)
-
-      END SUBROUTINE init0_BFTransfo
-      SUBROUTINE check_init0_BFTransfo(A,name_A,name_sub)
-      TYPE (Type_BFTransfo), intent(in) :: A
-      character (len=*), intent(in) :: name_A
-      character (len=*), intent(in) :: name_sub
-
-      IF ( (A%init0 .EQV. A%notinit0) .OR.
-     *       (A%notinit0 .AND. .NOT. A%init0) ) THEN
-        write(6,*) ' ERROR in ',name_sub
-        write(6,*) name_A,
-     *  ' has NOT been initiated with "init0_BFTransfo"'
-        write(6,*) ' CHECK the source!!!!!'
-        write(6,*) '.%init0, %notinit0',A%init0,A%notinit0
-        STOP
-      END IF
-      END SUBROUTINE check_init0_BFTransfo
-      RECURSIVE SUBROUTINE dealloc_BFTransfo(BFTransfo)
-      TYPE (Type_BFTransfo),intent(inout) :: BFTransfo
-
-      integer :: iv
-      character (len=*), parameter :: name_sub='dealloc_BFTransfo'
-
-      IF (.NOT. BFTransfo%Frame) RETURN
-      write(6,*) 'BEGINNING ',name_sub
-
-      CALL check_init0_BFTransfo(BFTransfo,'BFTransfo',name_sub)
-
-      deallocate(BFTransfo%type_Q)
-      deallocate(BFTransfo%name_Q)
-
-      DO iv=1,BFTransfo%nb_vect
-        CALL dealloc_BFTransfo(BFTransfo%tab_BFTransfo(iv))
-      END DO
-
-      deallocate(BFTransfo%tab_BFTransfo)
-
-      BFTransfo%allo = .FALSE.
-      CALL init0_BFTransfo(BFTransfo)
-
-      write(6,*) 'END ',name_sub
-
-      END SUBROUTINE dealloc_BFTransfo
-      SUBROUTINE Read_BFTransfo(BFTransfo,Qtransfo,i_Q,
-     *                          in_unitp,out_unitp)
-!     RECURSIVE SUBROUTINE Read_BFTransfo(BFTransfo,Qtransfo,i_Q,
-!    *                                    in_unitp,out_unitp)
-      TYPE (Type_BFTransfo),intent(inout) :: BFTransfo
-      TYPE (Type_Qtransfo), intent(inout) :: Qtransfo
-      integer, intent(inout) :: i_Q
-      integer :: in_unitp,out_unitp
-
-
-      integer :: nb_vect,nb_var,iq,iv
-      logical :: Frame,cos_th,cart
-      character (len=Name_len) :: name_d,name_th,name_dih,
-     *                            name_x,name_y,name_z
-      character (len=Name_len) :: name_F,name_v
-
-      NAMELIST /BF/ nb_vect
-      NAMELIST /vector/ Frame,cos_th,name_d,name_th,name_dih,
-     *                          cart,name_x,name_y,name_z
-
-      character (len=*), parameter :: name_sub='Read_BFTransfo'
-
-
-      IF (.NOT. BFTransfo%Frame) RETURN
-c     write(6,*) 'BEGINNING ',name_sub
-
-      CALL check_init0_BFTransfo(BFTransfo,'BFTransfo',name_sub)
-
-      nb_vect = 0
-
-      read(in_unitp,BF)
-c     write(out_unitp,BF)
-
-      IF (nb_vect < 1) THEN
-        write(out_unitp,*) ' ERROR in ',name_sub
-        write(out_unitp,*) ' the number of vector is < 1',nb_vect
-        STOP
-      END IF
-      BFTransfo%nb_vect = nb_vect
-      nb_var = max(1,3*nb_vect-3)
-      IF (BFTransfo%num_Frame > 0) THEN
-        nb_var = nb_var + 2
-        IF (nb_vect > 1) nb_var = nb_var + 1
-      END IF
-      BFTransfo%nb_var = nb_var
-
-      allocate(BFTransfo%type_Q(nb_var))
-      allocate(BFTransfo%name_Q(nb_var))
-
-      allocate(BFTransfo%tab_BFTransfo(nb_vect))
-      BFTransfo%allo = .TRUE.
-
-      write(name_F,*) BFTransfo%num_Frame
-      name_F = "F" // trim(adjustl(name_F))
-      IF (BFTransfo%num_Frame > 0) name_F =
-     *     trim(adjustl(name_F)) // trim(adjustl(BFTransfo%name_Frame))
-
-      BFTransfo%name_Frame = name_F
-
-c     write(6,*) 'num_Frame,name_Frame',
-c    *         BFTransfo%num_Frame,BFTransfo%name_Frame
-
-      iq = 0
-      DO iv=1,nb_vect
-        Frame    = .FALSE.
-        cos_th   = .TRUE.
-        cart     = .FALSE.
-        write(name_v,*) iv
-        name_v = trim(adjustl(name_v)) // "_" // trim(adjustl(name_F))
-        name_x   = "x" // trim(adjustl(name_v))
-        name_y   = "y" // trim(adjustl(name_v))
-        name_z   = "z" // trim(adjustl(name_v))
-        name_d   = "d" // trim(adjustl(name_v))
-        name_th  ="th" // trim(adjustl(name_v))
-        name_dih="dih" // trim(adjustl(name_v))
-        read(in_unitp,vector)
-c       write(out_unitp,vector)
-
-        CALL init0_BFTransfo(BFTransfo%tab_BFTransfo(iv))
-        BFTransfo%tab_BFTransfo(iv)%num_Frame = iv
-        BFTransfo%tab_BFTransfo(iv)%Frame = Frame
-        BFTransfo%tab_BFTransfo(iv)%name_Frame = name_F
-        IF (cart .AND. iv < 3) THEN
-          write(out_unitp,*) ' ERROR in ',name_sub
-          write(out_unitp,*) ' vector in cartesian and iv < 3',
-     *       ' is not possible'
-          write(out_unitp,*) 'cart,iv',cart,iv
-          STOP
-        END IF
-        IF (cart) THEN
-           iq = iq + 1
-           BFTransfo%type_Q(iq) = 1 ! cart :x
-           BFTransfo%name_Q(iq) = name_x
-           i_Q = i_Q + 1
-           Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-           Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-           iq = iq + 1
-           BFTransfo%type_Q(iq) = 1 ! cart :y
-           BFTransfo%name_Q(iq) = name_y
-           i_Q = i_Q + 1
-           Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-           Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-           iq = iq + 1
-           BFTransfo%type_Q(iq) = 1 ! cart :z
-           BFTransfo%name_Q(iq) = name_z
-           i_Q = i_Q + 1
-           Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-           Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-        ELSE
-           iq = iq + 1
-           BFTransfo%type_Q(iq) = 2 ! distance
-           BFTransfo%name_Q(iq) = name_d
-           i_Q = i_Q + 1
-           Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-           Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-           IF (iv > 1) THEN
-             iq = iq + 1
-             BFTransfo%type_Q(iq) = 3 ! th
-             IF (cos_th) BFTransfo%type_Q(iq) = -3 ! cos(th)
-             BFTransfo%name_Q(iq) = name_th
-             i_Q = i_Q + 1
-             Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-             Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-           END IF
-           IF (iv > 2) THEN
-             iq = iq + 1
-             BFTransfo%type_Q(iq) = 4 ! dih
-             BFTransfo%name_Q(iq) = name_dih
-             i_Q = i_Q + 1
-             Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-             Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-           END IF
-        END IF
-
-
-        CALL Read_BFTransfo(BFTransfo%tab_BFTransfo(iv),Qtransfo,i_Q,
-     *                      in_unitp,out_unitp)
-      END DO
-
-      IF (BFTransfo%num_Frame > 0) THEN
-        iq = iq + 1
-        BFTransfo%type_Q(iq) = 4
-        BFTransfo%name_Q(iq) = "alpha_" // trim(adjustl(name_F))
-        i_Q = i_Q + 1
-        Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-        Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-        iq = iq + 1
-        BFTransfo%type_Q(iq) = 3
-        IF (cos_th) BFTransfo%type_Q(iq) = -3
-        BFTransfo%name_Q(iq) = "beta_" // trim(adjustl(name_F))
-        i_Q = i_Q + 1
-        Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-        Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-        IF (nb_vect > 1) THEN
-          iq = iq + 1
-          BFTransfo%type_Q(iq) = 4
-          BFTransfo%name_Q(iq) = "gamma_" // trim(adjustl(name_F))
-          i_Q = i_Q + 1
-          Qtransfo%type_Q(i_Q) = BFTransfo%type_Q(iq)
-          Qtransfo%name_Q(i_Q) = BFTransfo%name_Q(iq)
-        END IF
-      END IF
-
-
-c     write(out_unitp,*) 'END ',name_sub
-
-      END SUBROUTINE Read_BFTransfo
-       SUBROUTINE Write_BFTransfo(BFTransfo,out_unitp)
-      !RECURSIVE SUBROUTINE Write_BFTransfo(BFTransfo,out_unitp)
-
-      TYPE (Type_BFTransfo),intent(out) :: BFTransfo
-
-      integer :: out_unitp
-
-      integer :: iv,iq
-      character (len=*), parameter :: name_sub='Write_BFTransfo'
-
-      IF (.NOT. BFTransfo%Frame) RETURN
-      write(out_unitp,*) 'BEGINNING ',name_sub
-
-      CALL check_init0_BFTransfo(BFTransfo,'BFTransfo',name_sub)
-
-      write(out_unitp,*) 'allo',BFTransfo%allo
-      write(out_unitp,*) 'num_Frame',BFTransfo%num_Frame
-      write(out_unitp,*) 'name_Frame: ',BFTransfo%name_Frame
-
-      write(out_unitp,*) 'nb_vect,nb_BF',
-     *                   BFTransfo%nb_vect,BFTransfo%nb_BF
-
-      write(out_unitp,*) 'nb_var,nb_var_Rot',
-     *                   BFTransfo%nb_var,BFTransfo%nb_var_Rot
-
-      write(out_unitp,*) 'BF',BFTransfo%Frame
-
-
-      write(out_unitp,*) 'type_Q',BFTransfo%type_Q(:)
-      write(out_unitp,*) 'name_Q: ',
-     *        (trim(BFTransfo%name_Q(iq))," ",iq=1,BFTransfo%nb_var)
-
-      IF (BFTransfo%Frame) THEN
-        DO iv=1,BFTransfo%nb_vect
-          CALL Write_BFTransfo(BFTransfo%tab_BFTransfo(iv),out_unitp)
-        END DO
-      END IF
-
-      write(6,*) 'END ',name_sub
-
-      END SUBROUTINE Write_BFTransfo
-      END MODULE mod_Tnum
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug308196.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug308196.f90
deleted file mode 100644
index 987254b..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug308196.f90
+++ /dev/null
@@ -1,2 +0,0 @@
-FORALL (I=1:NAT) DIPOLES(3*I-2:3*I,:) = ALPHA(:,:,I)
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug308197.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug308197.f90
deleted file mode 100644
index badd2cc..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug308197.f90
+++ /dev/null
@@ -1,287 +0,0 @@
-      SUBROUTINE Get_Geom( IDEBUG, ROOTNAME, NC, COORD,                  &
-     &                     NEIGHB1, NBBOUND,                             &
-     &                     NHEXA, NPENTA, NHEPTA,                        &
-     &                     IHEXA ,IPENTA, IHEPTA,                        &
-     &                     NEIGHB2_OUT, NPOINT_OUT )
-!--------------------------------------------------------------------
-!  Function : this program builds several connectivity arrays :
-! NEIGHB1(J,I) indices of Jth nearest neighbours of atom I
-! NBBOUND(I) : Number of nearest neighbors of atom I
-! optionally
-! NEIGHB2_OUT(1..6,I) : indices of the secound nearest neighbours
-! NPOINT_OUT(1..6,I : indices of the atoms between atoms I and NEIGHB2(J,I)
-! and optionally writes several files to be used
-! by an external program to display fullerene or nanotube molecules
-!      - geom.xxx contains the indices of the nearest neighbours and
-!                 the coordinates of the atoms of the fullerene
-!      - hexagons.xxx contains the labels of the carbon atoms constituting
-!                 the hexagons (1 line per hexagon)
-!      - pentagons.xxx contains the labels of the carbon atoms constituting
-!                 the pentagons (1 line per pentagon)
-!      - heptagons.xxx contains the labels of the carbon atoms constituting
-!                 the heptagons (1 line per heptagon)
-!
-! The problem here is that the tube is not necessarily closed !
-! -> some carbon atoms only have 2 neighbours
-!
-! The files are needed by a Mathematica script
-! such as showtub.m to display the molecules.
-!
-!  Date     : 06-06-1997
-!  Author   : Michel Devel
-!  Status   : Ready to run
-!
-!  Changes  : 23-11-98 : (MD) add automatic naming of all the files
-!             25-02-04 : (MD) adapt geom90 as a subroutine
-!--------------------------------------------------------------------
-      use kinds
-
-      IMPLICIT NONE
-
-      Integer, intent(in) :: IDEBUG
-      Character(LEN=*), intent(in) :: ROOTNAME
-      Integer, intent(in) :: NC
-      Real(kind=r_), intent(in) :: COORD(3,NC)
-
-      Integer, intent(out) :: NEIGHB1(3,NC), NBBOUND(NC)
-! NEIGHB1(1..3,I) : indices of the nearest neigbours of atom nb I
-      Integer, intent(out) :: NHEXA, NPENTA, NHEPTA
-      Integer, intent(out) :: IHEPTA(7,NC),IHEXA(6,NC),IPENTA(5,NC)
-
-      Integer, intent(out), optional :: NEIGHB2_OUT(6,NC)
-! NEIGHB2_OUT(1..6,I) : indices of the secound nearest neighbours
-      Integer, intent(out), optional :: NPOINT_OUT(6,NC)
-! NPOINT_OUT(1..6,I : indices of the atoms between atoms I and NEIGHB2(J,I)
-
-      Real(kind=r_),parameter :: DISTMIN=1._r_, DISTMAX=2._r_
-
-      INTEGER :: I, J, K, L, M, N, I1, I2, I3
-      INTEGER :: IND, IND1, IND2, NIND1, NIND2, NPO1, NPO2, NVOIS
-      Integer :: NEIGHB2(6,NC), NPOINT(6,NC)
-
-
-      Real(kind=r_) :: DISTIJ, D12, D13, D23
-
-      Real*8,external :: Norm
-!
-!------------------------------------------------------------------
-! Find indices of the 3 nearest neighbours for each carbon atom
-      NBBOUND = 0
-      NEIGHB1 = 0
-
-      DO I=1,NC
-         DO J=I+1,NC
-            DISTIJ = NORM( COORD(:,I)-COORD(:,J) )
-!           PRINT *,I,J,SQRT(DISTIJ2)
-            IF (DISTIJ.GT.DISTMIN.AND.DISTIJ.LT.DISTMAX) THEN
-               IF (NBBOUND(I).GE.3.OR.NBBOUND(J).GE.3) THEN
-                  PRINT *, "ERROR in FINDBOUND : more than 3 bounds"
-                  PRINT *,"I,NBBOUND(I),J,NBBOUND(J)"
-                  PRINT *,I,NBBOUND(I),J,NBBOUND(J)
-                  STOP
-               ENDIF
-               NBBOUND(I)=NBBOUND(I)+1
-               NBBOUND(J)=NBBOUND(J)+1
-               NEIGHB1(NBBOUND(I),I)=J
-               NEIGHB1(NBBOUND(J),J)=I
-!              PRINT *,I,J,DISTIJ
-            ENDIF
-         END DO
-      END DO
-
-      IF ( IDEBUG < 1 .AND. .NOT. PRESENT(NEIGHB2_OUT) ) GO TO 9999
-
-      IF (IDEBUG.GE.3) THEN
-         DO I=1,NC
-          I1=NEIGHB1(1,I)
-          I2=NEIGHB1(2,I)
-          I3=NEIGHB1(3,I)
-          PRINT *,I,I1,I2,I3
-          D12=NORM( COORD(:,I1) - COORD(:,I2) )
-          D13=NORM( COORD(:,I1) - COORD(:,I3) )
-          D23=NORM( COORD(:,I2) - COORD(:,I3) )
-          IF (IDEBUG.GE.2) PRINT *, D12, D13, D23
-         END DO
-      ENDIF
-!
-! find the second nearest neighbours of atom i : they are
-! the nearest neighbours of the nearest neighbours of i except i.
-      DO I=1,NC
-         NVOIS=0
-         DO J=1,3
-            IND=NEIGHB1(J,I)
-            IF (IND.EQ.0) CYCLE
-            DO K=1,3
-               IF (NEIGHB1(K,IND).NE.I) THEN
-                  NVOIS = NVOIS + 1
-                  IF (NVOIS.GT.6) THEN
-                     PRINT *,'error : too many 2nd nearest neighbours'
-                     PRINT *,'for atom nb :',I
-                     PRINT *,(NEIGHB1(L,I),L=1,3)
-                     PRINT *,(NEIGHB2(L,I),L=1,6)
-                     PRINT *,(NPOINT(L,I),L=1,6)
-                     PRINT *,NVOIS
-                  END IF
-                  NEIGHB2(NVOIS,I)=NEIGHB1(K,IND)
-                  NPOINT(NVOIS,I)=IND
-               END IF
-            END DO
-         END DO
-         DO J=NVOIS+1,6
-            NEIGHB2(J,I)=0
-            NPOINT(J,I)=0
-         END DO
-      END DO
-
-      IF ( PRESENT(NEIGHB2_OUT) ) NEIGHB2_OUT = NEIGHB2
-      IF ( PRESENT(NPOINT_OUT) ) NPOINT_OUT = NPOINT
-!
-! store coordinates
-      OPEN(UNIT=1,FILE="geom." // TRIM(ROOTNAME) )
-      IF (IDEBUG.GE.2) OPEN(UNIT=2,FILE="neighb2." // TRIM(ROOTNAME) )
-      DO 150 I=1,NC
-         WRITE(1,1070) NEIGHB1(1,I),NEIGHB1(2,I),NEIGHB1(3,I),COORD(:,I)
- 1070    FORMAT(3I5,3F12.3)
-       IF (IDEBUG.GE.2) WRITE(2,*) (NEIGHB2(J,I),J=1,6),  &
-     &                               (NPOINT(J,I),J=1,6)
- 150  CONTINUE
-      PRINT *, "file geom." // TRIM(ROOTNAME) // " written with ",       &
-     &            NC, " atoms"
-      CLOSE(1)
-      IF (IDEBUG.GE.2) CLOSE(2)
-!
-! Try to find the indices of the atoms composing the same
-! pentagon or the same hexagon or the same heptagon
-      NHEXA=0
-      NPENTA=0
-      NHEPTA=0
-      DO 200 I=1,NC
-         DO 210 J=1,6
-! loop on the second nearest neighbours of atom i
-! ind1 is the index of the j th second nearest neighbour of i
-          IND1=NEIGHB2(J,I)
-          IF (IND1.EQ.0) GOTO 210
-! npo1 is the index of the atom which is between atoms i and ind1
-          NPO1=NPOINT(J,I)
-! if ind1 < i or npo1 < i then the polygon must have already been found
-          IF (IND1.LE.I.OR.NPO1.LE.I) GOTO 210
-            DO 220 K=J+1,6
-! find between the other second nearest neighbours of atom i
-! which one is also a second nearest neighbour of atom ind1 without
-! having a nearest neighbour in common with atom ind1
-             IND2=NEIGHB2(K,I)
-             IF (IND2.EQ.0) GOTO 220
-! npo2 is the index of the atom which is between atoms i and ind2
-             NPO2=NPOINT(K,I)
-!            PRINT *,'I,IND1,NPO1,IND2,NPO2',I,IND1,NPO1,IND2,NPO2
-! if ind2 < i or npo2 < i then the polygon must have already been found
-! if npo1=npo2 ind1,ind2 and i have a common nearest neighbour ->
-! they belong to different polygons
-             IF (IND2.LE.I.OR.NPO2.LE.I.OR.NPO1.EQ.NPO2) GOTO 220
-! first deal with all the possible cases to get a pentagon, because
-! when a pentagon is near an heptagon, it can be mismatched for
-! the heptagon
-             IF (NEIGHB1(1,IND1).EQ.IND2.OR.                             &
-     &           NEIGHB1(2,IND1).EQ.IND2.OR.                             &
-     &           NEIGHB1(3,IND1).EQ.IND2) THEN
-! We have found a pentagon ! store it !
-                NPENTA=NPENTA+1
-                  IPENTA(1,NPENTA)=I
-                IPENTA(2,NPENTA)=NPO1
-            IPENTA(3,NPENTA)=IND1
-            IPENTA(4,NPENTA)=IND2
-            IPENTA(5,NPENTA)=NPO2
-! the secound nearest neighbours belong only to one polygon
-! in common with i
-            GOTO 210
-             ENDIF
-               DO 230 L=1,3
-            NIND1=NEIGHB1(L,IND1)
-            IF (NIND1.EQ.0) GOTO 230
-            IF (NIND1.EQ.NPO1.OR.NIND1.LE.I)  GOTO 230
-! if it is not a pentagon it must be an hexagon or an heptagon ->
-!     is ind1 a second nearest neighbour to ind2 ?
-            DO 240 N=1,3
-               NIND2=NEIGHB1(N,IND2)
-               IF (NIND2.EQ.0.OR.NIND2.EQ.NPO2) GOTO 240
-!              PRINT *,'NIND1,NIND2',NIND1,NIND2
-               IF (NIND2.EQ.NIND1) THEN
-! We have completed an hexagon ! Find the indices of the members
-! of this hexagon.
-                        NHEXA=NHEXA+1
-                        IHEXA(1,NHEXA)=I
-                        IHEXA(2,NHEXA)=NPO1
-                  IHEXA(3,NHEXA)=IND1
-                  IHEXA(4,NHEXA)=NIND2
-                  IHEXA(5,NHEXA)=IND2
-                  IHEXA(6,NHEXA)=NPO2
-                  GOTO 210
-               ELSE
-! May be an heptagon ? Is NIND1 a nearest neighbour to NIND2
-                  DO M=1,3
-                 IF (NEIGHB1(M,NIND1).EQ.NIND2) THEN
-! It IS an heptagon ! store it
-                              NHEPTA=NHEPTA+1
-                    IHEPTA(1,NHEPTA)=I
-                    IHEPTA(2,NHEPTA)=NPO1
-                    IHEPTA(3,NHEPTA)=IND1
-                    IHEPTA(4,NHEPTA)=NIND1
-                    IHEPTA(5,NHEPTA)=NIND2
-                    IHEPTA(6,NHEPTA)=IND2
-                    IHEPTA(7,NHEPTA)=NPO2
-                        GOTO 210
-                           ENDIF
-                        ENDDO
-               ENDIF
- 240              CONTINUE
- 230           CONTINUE
- 220        CONTINUE
- 210     CONTINUE
- 200  CONTINUE
-!
-      IF (IDEBUG.GE.1) PRINT *,'Hexagons :'
-      IF ( NHEXA .GT. 0 ) THEN
-         OPEN(UNIT=16,FILE="hexa." // TRIM(ROOTNAME) )
-         DO I=1,NHEXA
-          IF (IDEBUG.GE.1) PRINT *,(IHEXA(J,I),J=1,6)
-          WRITE(16,*) (IHEXA(J,I),J=1,6)
-         ENDDO
-         CLOSE(16)
-       PRINT *, "file hexa." // TRIM(ROOTNAME) // " written with ",      &
-     &            NHEXA, " hexagons"
-      END IF
-      IF ( NPENTA .GT. 0 ) THEN
-         IF (IDEBUG.GE.1) PRINT *,'Pentagons :'
-         OPEN(UNIT=15,FILE="penta." // TRIM(ROOTNAME) )
-         DO I=1,NPENTA
-          IF (IDEBUG.GE.1) PRINT *,(IPENTA(J,I),J=1,5)
-          WRITE(15,*) (IPENTA(J,I),J=1,5)
-         ENDDO
-         CLOSE(15)
-       PRINT *, "file penta." // TRIM(ROOTNAME) // " written with ",     &
-     &            NPENTA, " pentagons"
-      END IF
-      IF ( NHEPTA .GT. 0 ) THEN
-         IF (IDEBUG.GE.1) PRINT *,'heptagons :'
-         OPEN(UNIT=17,FILE="hepta." // TRIM(ROOTNAME) )
-         DO I=1,NHEPTA
-          IF (IDEBUG.GE.1) PRINT *,(IHEPTA(J,I),J=1,7)
-          WRITE(17,*) (IHEPTA(J,I),J=1,7)
-         ENDDO
-         CLOSE(17)
-       PRINT *, "file hepta." // TRIM(ROOTNAME) // " written with ",     &
-     &            NHEPTA, " heptagons"
-      END IF
-
-      Contains
-
-       Real(kind=8) Function Norm(VECT)
-         use kinds
-
-         IMPLICIT NONE
-
-         Real(kind=r_),intent(in) :: VECT(:)
-         NORM = SQRT( DOT_PRODUCT(VECT,VECT) )
-      END Function NORM
-
- 9999 END SUBROUTINE Get_geom
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug314450.f03 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug314450.f03
deleted file mode 100644
index 02e8d9a..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug314450.f03
+++ /dev/null
@@ -1,7 +0,0 @@
-program bug314450
-
-select type (xx)
-type is (xmotion)
-end select
-
-end program bug314450
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug320148.f b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug320148.f
deleted file mode 100644
index 6108a2c..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug320148.f
+++ /dev/null
@@ -1,26 +0,0 @@
-      complex*16    H(ldh,m), wsp(lwsp)
-
-      double precision jj
-      double complex  complex
-      double complex*16  j2
-
-      doubleprecision kk
-      doublecomplex  doublecomplex
-      doublecomplex*16  k2
-
-      double complex :: n
-
-      complex l
-      complex :: m
-
-      integer a /3/
-      integer b /4/, c /6/
-
-      goto 10
-   10 assign 30 to next
-
-      do 300 h=1,2
-        print *, "!"
-      end do
-
-      end
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug320148.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug320148.f90
deleted file mode 100644
index 6108a2c..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug320148.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-      complex*16    H(ldh,m), wsp(lwsp)
-
-      double precision jj
-      double complex  complex
-      double complex*16  j2
-
-      doubleprecision kk
-      doublecomplex  doublecomplex
-      doublecomplex*16  k2
-
-      double complex :: n
-
-      complex l
-      complex :: m
-
-      integer a /3/
-      integer b /4/, c /6/
-
-      goto 10
-   10 assign 30 to next
-
-      do 300 h=1,2
-        print *, "!"
-      end do
-
-      end
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745a1.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745a1.f90
deleted file mode 100644
index 44cfdb5..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745a1.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program test_preprocessor
-    implicit none
-
-#   ifdef __linux
-     character, parameter :: sep = '/'
-#   else
-     character, parameter :: sep = '\'
-#   endif
-
-end program test_preprocessor
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745a2.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745a2.F90
deleted file mode 100644
index 44cfdb5..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745a2.F90
+++ /dev/null
@@ -1,10 +0,0 @@
-program test_preprocessor
-    implicit none
-
-#   ifdef __linux
-     character, parameter :: sep = '/'
-#   else
-     character, parameter :: sep = '\'
-#   endif
-
-end program test_preprocessor
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745b.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745b.f90
deleted file mode 100644
index d0443a2..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745b.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module test_import
-    implicit none
-
-    use something, only: method_a
-
-    abstract interface
-        function interface_record(this) result(status)
-            import
-            logical :: status
-            class(method_a), target, intent(INOUT) :: this
-        end function
-    end interface
-
-end module test_import
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745c.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745c.f90
deleted file mode 100644
index b420268..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug329745c.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program test_case
-
-    use somemodule
-
-    implicit none
-
-    MAIN_LOOP: do
-        select case (mode)
-            case (SOMETHING)
-                if (.NOT. object%method(DO_IT = .TRUE.)) goto 300
-            case default
-                exit MAIN_LOOP
-        end select
-    enddo MAIN_LOOP
-
-    stop
-
-300 stop 'Failure'
-
-end program test_case
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug331850.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug331850.f90
deleted file mode 100644
index 9c5dd10..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug331850.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-forall (i=1:10, j=1:10) A(i,j) = 2.0
-
-forall (i=1:10, j=1:10)
-  A(i,j) = 2.0
-end forall
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug337623.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug337623.f90
deleted file mode 100644
index 65f2bc6..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug337623.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-PROGRAM main
-
-    CALL MySub(5)
-
-END PROGRAM
-
-SUBROUTINE MySub(n)
-
-      implicit           logical (a-z)
-      integer            n
-      integer            nzloc(n)
-
-END SUBROUTINE
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/formatbugs.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/formatbugs.f90
deleted file mode 100644
index fe4e648..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/formatbugs.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-10    format(F5.4,3E2.1)
-
-148       FORMAT (/ ' *TestForBackup*  Backup due to too large a fractional ', 'change in core power.' / )
-149       FORMAT ( / ' *TestForBackup*  Backup due to too large a fractional ', 'change in core power.' /)
-150       FORMAT ( / ' *TestForBackup*  Backup due to too large a fractional change in core power.', // )
-
-         ictl(1:6) = ( / ictl1, ictl2, 1, 0, 0, 0 / )
-         ictl(1:6) = (/ ictl1, ictl2, 1, 0, 0, 0 /)
-
-FORMAT(1X,I10,1X,I10,1X,E15.7,I10,1X,I10,1X,I3/)
-
-data radii/(12*(fcasts+1))*0/
-
-9973 FORMAT(/,1X,'!!!!!! EXECUTION WILL NOW BE TERMINATED !!!!!!',//)
-
-      end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/valref.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/valref.f90
deleted file mode 100644
index d5f0553..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/valref.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-subroutine s(%val(f), %ref(g))
-end subroutine
-
-function f(%val(f), %ref(g))
-end function
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test1/test1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test1/test1.f90
deleted file mode 100644
index e7806dd..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test1/test1.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program p

-    a = 3

-    d = 4

-

-    stop

-    contains

-	recursive subroutine s !<<<<<7,5,7,15,pass

-

-	integer ::a

-	call s

-	end subroutine

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test1/test1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test1/test1.f90.result
deleted file mode 100644
index fbb5508..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test1/test1.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program p

-    a = 3

-    d = 4

-

-    stop

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test2/test2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test2/test2.f90
deleted file mode 100644
index a0e281d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test2/test2.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program p

-    a = 3

-    d = 4

-	call s 

-    stop

-    contains

-	subroutine s !<<<<<7,5,7,15,fail-initial

-

-	integer ::a

-	call s

-	end subroutine

-

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test3/test3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test3/test3.f90
deleted file mode 100644
index 6909d96..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test3/test3.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program p

-    a = 3

-    d = 4

-  interface

-    subroutine s

-    end subroutine s

-  end interface

-    stop

-end program

-

-subroutine s !<<<<<11,1,11,11,fail-initial

-

-	integer ::a

-	call s

-	end subroutine

-

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test4/test4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test4/test4.f90
deleted file mode 100644
index 22c2e16..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test4/test4.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program p

-    a = 3

-    d = 4

-   stop

-end program

-

-    subroutine s !<<<<<7,5,7,15,fail-initial

-

-	integer ::a

-	call s

-	end subroutine

-

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test5/test5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test5/test5.f90
deleted file mode 100644
index c42929d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test5/test5.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-module class_test

-

- private :: s

-

- integer :: a

-

- contains

-

- subroutine s !<<<<<9,2,9,12,pass

-  integer ::a

-

-	end subroutine

-

-

-end module class_test

-program main; use class_test; a = 2; end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test5/test5.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test5/test5.f90.result
deleted file mode 100644
index 7c2fcb2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/Safe-Delete-Internal-Subprogram/test5/test5.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-module class_test

-

- integer :: a

-

-

-end module class_test

-program main; use class_test; a = 2; end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test1/test1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test1/test1.f90
deleted file mode 100644
index e97eb87..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test1/test1.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program fortrantest !<<<<< 1,1,pass
-
-print *, "Main program!"
-
-end program fortrantest
-
-subroutine do_stuff
-
-	print *,"Hi!"
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test1/test1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test1/test1.f90.result
deleted file mode 100644
index 586b30b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test1/test1.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-program fortrantest !<<<<< 1,1,pass
-
-print *, "Main program!"
-
-end program fortrantest
-
-subroutine do_stuff
-
-	print *,"Hi!"
-
-end subroutine do_stuff
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test2/test2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test2/test2.f90
deleted file mode 100644
index 785f713..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test2/test2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program fortrantest !<<<<< 1,1,pass
-
-print *, "Main program!"
-
-end program
-
-subroutine do_stuff
-
-	print *,"Hi!"
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test2/test2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test2/test2.f90.result
deleted file mode 100644
index 586b30b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test2/test2.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-program fortrantest !<<<<< 1,1,pass
-
-print *, "Main program!"
-
-end program fortrantest
-
-subroutine do_stuff
-
-	print *,"Hi!"
-
-end subroutine do_stuff
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test3/test3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test3/test3.f90
deleted file mode 100644
index 39c76a6..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test3/test3.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-module testmodule
-	integer :: xfromtestmodule
-end module
-
-program fortrantest !<<<<< 1,1,pass
-
-print *, "Main program!"
-
-end program
-
-subroutine do_stuff
-
-	print *,"Hi!"
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test3/test3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test3/test3.f90.result
deleted file mode 100644
index f7f9b07..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test3/test3.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-module testmodule
-	integer :: xfromtestmodule
-end module testmodule
-
-program fortrantest !<<<<< 1,1,pass
-
-print *, "Main program!"
-
-end program fortrantest
-
-subroutine do_stuff
-
-	print *,"Hi!"
-
-end subroutine do_stuff
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test4/test4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test4/test4.f90
deleted file mode 100644
index 1ebc9b2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test4/test4.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-module testmodule
-	integer :: xfromtestmodule
-end module
-
-function testfunction(A)
-	integer, intent(in) :: A
-	testfunction = 4;
-end function
-
-program fortrantest !<<<<< 1,1,pass
-
-print *, "Main program!"
-
-end program
-
-subroutine do_stuff
-
-	print *,"Hi!"
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test4/test4.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test4/test4.f90.result
deleted file mode 100644
index d157c83..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test4/test4.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-module testmodule
-	integer :: xfromtestmodule
-end module testmodule
-
-function testfunction(A)
-	integer, intent(in) :: A
-	testfunction = 4;
-end function testfunction
-
-program fortrantest !<<<<< 1,1,pass
-
-print *, "Main program!"
-
-end program fortrantest
-
-subroutine do_stuff
-
-	print *,"Hi!"
-
-end subroutine do_stuff
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test5/test5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test5/test5.f90
deleted file mode 100644
index c80c33d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test5/test5.f90
+++ /dev/null
@@ -1,28 +0,0 @@
-module testmodule
-	integer :: xfromtestmodule
-end
-
-function testfunction(A)
-	integer, intent(in) :: A
-	testfunction = 4;
-end
-
-program fortrantest !<<<<< 1,1,pass
-
-	print *, "Main program!"
-
-contains
-	integer function testfunction(A)
-		integer, intent(in) :: A
-		testfunction = 4;
-	end function
-	subroutine do_stuff
-		print *,"Hi!"
-	end subroutine
-end
-
-subroutine do_stuff
-
-	print *,"Hi!"
-
-end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test5/test5.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test5/test5.f90.result
deleted file mode 100644
index f3a7d96..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test5/test5.f90.result
+++ /dev/null
@@ -1,28 +0,0 @@
-module testmodule
-	integer :: xfromtestmodule
-end module testmodule
-
-function testfunction(A)
-	integer, intent(in) :: A
-	testfunction = 4;
-end function testfunction
-
-program fortrantest !<<<<< 1,1,pass
-
-	print *, "Main program!"
-
-contains
-	integer function testfunction(A)
-		integer, intent(in) :: A
-		testfunction = 4;
-	end function testfunction
-	subroutine do_stuff
-		print *,"Hi!"
-	end subroutine do_stuff
-end program fortrantest
-
-subroutine do_stuff
-
-	print *,"Hi!"
-
-end subroutine do_stuff
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test6/test6.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test6/test6.f90
deleted file mode 100644
index 44aa350..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test6/test6.f90
+++ /dev/null
@@ -1,29 +0,0 @@
-module testmodule
-	integer :: xfromtestmodule
-10 end
-
-function testfunction(A)
-	integer, intent(in) :: A
-	testfunction = 4;
-20 end ! Hey this is a comment in a weird spot!!!
-
-!<<<<< 1,1,pass
-
-	print *, "Main program!"
-
-contains
-	integer function testfunction(A)
-		integer, intent(in) :: A
-		testfunction = 4;
-30	end function
-	subroutine do_stuff
-		print *,"Hi!"
-40	end subroutine
-! I am a big fan of printing greetings
-end
-
-subroutine do_stuff
-
-	print *,"Hi!"
-! What a weird place to put a comment, right?
-50 end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test6/test6.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test6/test6.f90.result
deleted file mode 100644
index 1621832..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-identifier-to-end/test6/test6.f90.result
+++ /dev/null
@@ -1,29 +0,0 @@
-module testmodule
-	integer :: xfromtestmodule
-10 end module testmodule
-
-function testfunction(A)
-	integer, intent(in) :: A
-	testfunction = 4;
-20 end function testfunction ! Hey this is a comment in a weird spot!!!
-
-!<<<<< 1,1,pass
-
-	print *, "Main program!"
-
-contains
-	integer function testfunction(A)
-		integer, intent(in) :: A
-		testfunction = 4;
-30	end function testfunction
-	subroutine do_stuff
-		print *,"Hi!"
-40	end subroutine do_stuff
-! I am a big fan of printing greetings
-end
-
-subroutine do_stuff
-
-	print *,"Hi!"
-! What a weird place to put a comment, right?
-50 end subroutine do_stuff
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module2.f90
deleted file mode 100644
index fbc4a9a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module module2

-    implicit none

-

-    contains

-    subroutine help_common2

-        common /block/ d, e, f

-        integer :: d

-        real :: e

-        double precision :: f

-    end subroutine help_common2

-end module module2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module3.f90
deleted file mode 100644
index b029e6a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module3.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module module3

-    implicit none

-    integer :: onlyTest = 2

-

-    contains

-    subroutine help_common3

-        common /block/ r, s, t

-        integer :: r

-        real :: s

-        double precision :: t

-

-		print *, onlyTest

-    end subroutine help_common3

-end module module3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module4.f90
deleted file mode 100644
index 1df11d8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/module4.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module module4

-    implicit none

-	integer f

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module module4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/test1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/test1.f90
deleted file mode 100644
index 0a54ff8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/test1.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program program1 !basic test, add no list, leave the file the same

-use module2

-use module3 !<<<<< 3, 5, 3, 12,, pass

-use module4, only: help_common4

-implicit none

-

-common /block/ a, b, c, /mem/ r, f, t

-integer :: a

-real :: b

-double precision :: c

-

-integer :: r, f, t

-

-a = 5

-b = 4.6

-c = 2.345

-

-call helper

-end program program1

-

-subroutine helper

-implicit none

-common /block/ e, f, g

-integer :: e

-real :: f

-double precision :: g

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/test1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/test1.f90.result
deleted file mode 100644
index fc8f8ce..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test1/test1.f90.result
+++ /dev/null
@@ -1,27 +0,0 @@
-program program1 !basic test, add no list, leave the file the same

-use module2

-use module3

-use module4, only: help_common4

-implicit none

-

-common /block/ a, b, c, /mem/ r, f, t

-integer :: a

-real :: b

-double precision :: c

-

-integer :: r, f, t

-

-a = 5

-b = 4.6

-c = 2.345

-

-call helper

-end program program1

-

-subroutine helper

-implicit none

-common /block/ e, f, g

-integer :: e

-real :: f

-double precision :: g

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module2.f90
deleted file mode 100644
index fbc4a9a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module module2

-    implicit none

-

-    contains

-    subroutine help_common2

-        common /block/ d, e, f

-        integer :: d

-        real :: e

-        double precision :: f

-    end subroutine help_common2

-end module module2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module3.f90
deleted file mode 100644
index b029e6a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module3.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module module3

-    implicit none

-    integer :: onlyTest = 2

-

-    contains

-    subroutine help_common3

-        common /block/ r, s, t

-        integer :: r

-        real :: s

-        double precision :: t

-

-		print *, onlyTest

-    end subroutine help_common3

-end module module3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module4.f90
deleted file mode 100644
index 1df11d8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/module4.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module module4

-    implicit none

-	integer f

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module module4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/test2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/test2.f90
deleted file mode 100644
index 3613028..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/test2.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program program1 !basic test, add list of given names

-use module2

-use module3 !<<<<< 3, 5, 3, 12, help_common3, onlyTest, pass

-use module4, only: help_common4

-implicit none

-

-common /block/ a, b, c, /mem/ r, f, t

-integer :: a

-real :: b

-double precision :: c

-

-integer :: r, f, t

-

-a = 5

-b = 4.6

-c = 2.345

-

-call helper

-end program program1

-

-subroutine helper

-implicit none

-common /block/ e, f, g

-integer :: e

-real :: f

-double precision :: g

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/test2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/test2.f90.result
deleted file mode 100644
index 9fd5791..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test2/test2.f90.result
+++ /dev/null
@@ -1,27 +0,0 @@
-program program1 !basic test, add list of given names

-use module2

-use module3, only: help_common3, onlytest

-use module4, only: help_common4

-implicit none

-

-common /block/ a, b, c, /mem/ r, f, t

-integer :: a

-real :: b

-double precision :: c

-

-integer :: r, f, t

-

-a = 5

-b = 4.6

-c = 2.345

-

-call helper

-end program program1

-

-subroutine helper

-implicit none

-common /block/ e, f, g

-integer :: e

-real :: f

-double precision :: g

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module2.f90
deleted file mode 100644
index fbc4a9a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module module2

-    implicit none

-

-    contains

-    subroutine help_common2

-        common /block/ d, e, f

-        integer :: d

-        real :: e

-        double precision :: f

-    end subroutine help_common2

-end module module2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module3.f90
deleted file mode 100644
index b029e6a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module3.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module module3

-    implicit none

-    integer :: onlyTest = 2

-

-    contains

-    subroutine help_common3

-        common /block/ r, s, t

-        integer :: r

-        real :: s

-        double precision :: t

-

-		print *, onlyTest

-    end subroutine help_common3

-end module module3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module4.f90
deleted file mode 100644
index 1df11d8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module4.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module module4

-    implicit none

-	integer f

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module module4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module5.f90
deleted file mode 100644
index 0888ffa..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/module5.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-module module5

-    implicit none

-end module module5

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/test3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/test3.f90
deleted file mode 100644
index 8cf53d5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test3/test3.f90
+++ /dev/null
@@ -1,28 +0,0 @@
-program program1 !precondition test - give an empty selection for module name

-use module2

-use module3 !<<<<< 3, 5, 3, 5,, fail-initial

-use module4, only: help_common4

-use module5

-implicit none

-

-common /block/ a, b, c, /mem/ r, f, t

-integer :: a

-real :: b

-double precision :: c

-

-integer :: r, f, t

-

-a = 5

-b = 4.6

-c = 2.345

-

-call helper

-end program program1

-

-subroutine helper

-implicit none

-common /block/ e, f, g

-integer :: e

-real :: f

-double precision :: g

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module2.f90
deleted file mode 100644
index fbc4a9a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module module2

-    implicit none

-

-    contains

-    subroutine help_common2

-        common /block/ d, e, f

-        integer :: d

-        real :: e

-        double precision :: f

-    end subroutine help_common2

-end module module2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module3.f90
deleted file mode 100644
index b029e6a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module3.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module module3

-    implicit none

-    integer :: onlyTest = 2

-

-    contains

-    subroutine help_common3

-        common /block/ r, s, t

-        integer :: r

-        real :: s

-        double precision :: t

-

-		print *, onlyTest

-    end subroutine help_common3

-end module module3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module4.f90
deleted file mode 100644
index 1df11d8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module4.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module module4

-    implicit none

-	integer f

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module module4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module5.f90
deleted file mode 100644
index 0888ffa..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/module5.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-module module5

-    implicit none

-end module module5

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/test3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/test3.f90
deleted file mode 100644
index 4027086..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test4/test3.f90
+++ /dev/null
@@ -1,28 +0,0 @@
-program program1 !precondition test - give a non-existent module name

-use module2

-use module3

-use module4, only: help_common4

-use module5

-implicit none

-

-common /block/ a, b, c, /mem/ r, f, t !<<<<< 8, 9, 8, 14,, fail-initial 

-integer :: a

-real :: b

-double precision :: c

-

-integer :: r, f, t

-

-a = 5

-b = 4.6

-c = 2.345

-

-call helper

-end program program1

-

-subroutine helper

-implicit none

-common /block/ e, f, g

-integer :: e

-real :: f

-double precision :: g

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module2.f90
deleted file mode 100644
index fbc4a9a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module module2

-    implicit none

-

-    contains

-    subroutine help_common2

-        common /block/ d, e, f

-        integer :: d

-        real :: e

-        double precision :: f

-    end subroutine help_common2

-end module module2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module3.f90
deleted file mode 100644
index b029e6a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module3.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module module3

-    implicit none

-    integer :: onlyTest = 2

-

-    contains

-    subroutine help_common3

-        common /block/ r, s, t

-        integer :: r

-        real :: s

-        double precision :: t

-

-		print *, onlyTest

-    end subroutine help_common3

-end module module3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module4.f90
deleted file mode 100644
index 1df11d8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module4.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module module4

-    implicit none

-	integer f

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module module4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module5.f90
deleted file mode 100644
index 0888ffa..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/module5.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-module module5

-    implicit none

-end module module5

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/test3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/test3.f90
deleted file mode 100644
index 83d2bd0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test5/test3.f90
+++ /dev/null
@@ -1,28 +0,0 @@
-program program1 !precondition test - give a module containing no declarations

-use module2

-use module3

-use module4, only: help_common4

-use module5 !<<<<< 5,5,5,12,,fail-initial

-implicit none

-

-common /block/ a, b, c, /mem/ r, f, t !<<<<< 8, 9, 8, 14,, fail-initial 

-integer :: a

-real :: b

-double precision :: c

-

-integer :: r, f, t

-

-a = 5

-b = 4.6

-c = 2.345

-

-call helper

-end program program1

-

-subroutine helper

-implicit none

-common /block/ e, f, g

-integer :: e

-real :: f

-double precision :: g

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test6/module4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test6/module4.f90
deleted file mode 100644
index 1df11d8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test6/module4.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module module4

-    implicit none

-	integer f

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module module4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test6/test6.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test6/test6.f90
deleted file mode 100644
index eaf413d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test6/test6.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program test6 !pass

-    use module4 !<<<<< 2, 9, 2, 16, f, pass

-    implicit none

-    integer f

-    f = 4

-end program test6

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test7/module4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test7/module4.f90
deleted file mode 100644
index 1df11d8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test7/module4.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module module4

-    implicit none

-	integer f

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module module4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test7/test7.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test7/test7.f90
deleted file mode 100644
index 20ea8a8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test7/test7.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program test7 !precondition test - have 2 modules in project with same name

-    use module4 !<<<<< 2, 9, 2, 16,, fail-initial

-    implicit none

-

-end program test7

-

-module module4

-    implicit none

-    contains

-        subroutine help

-        end subroutine

-end module

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/module4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/module4.f90
deleted file mode 100644
index 1df11d8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/module4.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module module4

-    implicit none

-	integer f

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module module4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/test8.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/test8.f90
deleted file mode 100644
index d18a3a1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/test8.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program test8 !precondition test - have 2 declarations of subroutine in same project

-    use module4 !<<<<< 2, 9, 2, 16,, pass

-    implicit none

-

-    call help_common4

-end program test8

-

-subroutine help_common4

-    implicit none

-    real blah

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/test8.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/test8.f90.result
deleted file mode 100644
index 6a07d76..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test8/test8.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-program test8 !precondition test - have 2 declarations of subroutine in same project

-    use module4, only: help_common4

-    implicit none

-

-    call help_common4

-end program test8

-

-subroutine help_common4

-    implicit none

-    real blah

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/module.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/module.f90
deleted file mode 100644
index 5d60272..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/module.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module module1

-    implicit none

-    integer :: accessed_variable = 1, assigned_variable, unused_variable

-    integer, private :: private_variable

-    private :: private_subroutine

-contains

-    subroutine called_subroutine; end subroutine

-    subroutine unused_subroutine; end subroutine

-    subroutine private_subroutine; end subroutine

-end module module1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/test9.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/test9.f90
deleted file mode 100644
index f53a6f5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/test9.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program main !requires refactoring to add entities already being used in the module to the ONLY list

-    use module1 !<<<<< 2, 9, 2, 16,, pass

-    implicit none

-

-    assigned_variable = accessed_variable

-    call called_subroutine

-end program main

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/test9.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/test9.f90.result
deleted file mode 100644
index 056b310..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-only-to-use-stmt/test9/test9.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program main !requires refactoring to add entities already being used in the module to the ONLY list

-    use module1, only: accessed_variable, assigned_variable, called_subroutine

-    implicit none

-

-    assigned_variable = accessed_variable

-    call called_subroutine

-end program main

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test1-basic/add_subroutine_parameter_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test1-basic/add_subroutine_parameter_1.f90
deleted file mode 100644
index 6434c52..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test1-basic/add_subroutine_parameter_1.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program basic ! basic test, adding an integer with intent in, default value 0, at position 0.

-

-end program basic

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer; intent(in) :: y, 0, 0, pass

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test1-basic/add_subroutine_parameter_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test1-basic/add_subroutine_parameter_1.f90.result
deleted file mode 100644
index 974b32c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test1-basic/add_subroutine_parameter_1.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program basic ! basic test, adding an integer with intent in, default value 0, at position 0.

-

-end program basic

-subroutine sub(y,z) !<<<<< 4, 1, 4, 5, integer; intent(in) :: y, 0, 0, pass

-    integer, intent(in) :: y

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test10-fail-invalidtype/add_subroutine_parameter_10.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test10-fail-invalidtype/add_subroutine_parameter_10.f90
deleted file mode 100644
index cb501f4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test10-fail-invalidtype/add_subroutine_parameter_10.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program invalidtype ! Fails because the type specified is invalid in the declaration line.

-

-end program invalidtype

-subroutine sub(z) !<<<<< 4, 1, 4, 5, invalidtype :: y, 0, 0, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test11-updatecallsitewhenvariablenamesaddedincall/add_subroutine_parameter_11.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test11-updatecallsitewhenvariablenamesaddedincall/add_subroutine_parameter_11.f90
deleted file mode 100644
index 30773eb..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test11-updatecallsitewhenvariablenamesaddedincall/add_subroutine_parameter_11.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program variablenameaddedincallsite ! Tests that when y is added, the call site adds y=0

-    implicit none

-    call sub(z=2)

-end program variablenameaddedincallsite

-subroutine sub(z) !<<<<< 5, 1, 5, 5, integer; intent(in) :: y, 1, 0, pass

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test11-updatecallsitewhenvariablenamesaddedincall/add_subroutine_parameter_11.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test11-updatecallsitewhenvariablenamesaddedincall/add_subroutine_parameter_11.f90.result
deleted file mode 100644
index 30a7722..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test11-updatecallsitewhenvariablenamesaddedincall/add_subroutine_parameter_11.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-program variablenameaddedincallsite ! Tests that when y is added, the call site adds y=0

-    implicit none

-    call sub(z=2,y=0)

-end program variablenameaddedincallsite

-subroutine sub(z,y) !<<<<< 5, 1, 5, 5, integer; intent(in) :: y, 1, 0, pass

-    integer, intent(in) :: y

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test12-includevalidattributes/add_subroutine_parameter_12.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test12-includevalidattributes/add_subroutine_parameter_12.f90
deleted file mode 100644
index de084a3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test12-includevalidattributes/add_subroutine_parameter_12.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program validattributes ! Tests that valid attributes (intent(inout)) are allowed.

-

-end program validattributes

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer; intent(inout) :: y, 0, 0, pass

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test12-includevalidattributes/add_subroutine_parameter_12.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test12-includevalidattributes/add_subroutine_parameter_12.f90.result
deleted file mode 100644
index 46c97da..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test12-includevalidattributes/add_subroutine_parameter_12.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program validattributes ! Tests that valid attributes (intent(inout)) are allowed.

-

-end program validattributes

-subroutine sub(y,z) !<<<<< 4, 1, 4, 5, integer; intent(inout) :: y, 0, 0, pass

-    integer, intent(inout) :: y

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test13-fail-invalidattribute/add_subroutine_parameter_13.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test13-fail-invalidattribute/add_subroutine_parameter_13.f90
deleted file mode 100644
index 250e531..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test13-fail-invalidattribute/add_subroutine_parameter_13.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program invalidvalidattributes ! Tests that invalid attributes fail

-

-end program invalidvalidattributes

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer; intent(inoot) :: y, 0, 0, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test14-fail-conflictingattributes/add_subroutine_parameter_14.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test14-fail-conflictingattributes/add_subroutine_parameter_14.f90
deleted file mode 100644
index 5e5bd5d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test14-fail-conflictingattributes/add_subroutine_parameter_14.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program conflictingattributes ! Tests that conflicting attributes (two types) fail.

-

-end program conflictingattributes

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer; real; intent(out) :: y, 0, 0, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test15-fail-conflictingvariablenames/add_subroutine_parameter_15.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test15-fail-conflictingvariablenames/add_subroutine_parameter_15.f90
deleted file mode 100644
index 25b2a26..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test15-fail-conflictingvariablenames/add_subroutine_parameter_15.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program conflictingvariablenames ! Tests that a parameter cannot be given the same name as another in scope.

-

-end program conflictingvariablenames

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer; intent(in) :: alreadyused, 0, 0, fail-final

-	real :: alreadyused

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test16-fail-whitespacevariablename/add_subroutine_parameter_16.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test16-fail-whitespacevariablename/add_subroutine_parameter_16.f90
deleted file mode 100644
index ec2f807..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test16-fail-whitespacevariablename/add_subroutine_parameter_16.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program whitespacevariablename ! Tests that a variable name cannot be set to just white space.

-

-end program whitespacevariablename

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer; intent(inout) ::  	, 0, 0, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test17-fail-parameternamebeginswithnumber/add_subroutine_parameter_17.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test17-fail-parameternamebeginswithnumber/add_subroutine_parameter_17.f90
deleted file mode 100644
index bd0d49e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test17-fail-parameternamebeginswithnumber/add_subroutine_parameter_17.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program parameternamebeginswithnumber ! Tests that the variable name cannot begin with a number

-

-end program parameternamebeginswithnumber

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer :: 1y, 0, 0, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test18-fail-defaultvalueisvariablestartingwithnumber/add_subroutine_parameter_18.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test18-fail-defaultvalueisvariablestartingwithnumber/add_subroutine_parameter_18.f90
deleted file mode 100644
index 3a81081..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test18-fail-defaultvalueisvariablestartingwithnumber/add_subroutine_parameter_18.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program defaultvalueisvariablestartingwithnumber ! Tests that the default value cannot be set to an invalid variable name

-

-end program defaultvalueisvariablestartingwithnumber

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer :: y, 0, 1defval, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test19-fail-defaultvalueisrealwhentypeisinteger/add_subroutine_parameter_19.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test19-fail-defaultvalueisrealwhentypeisinteger/add_subroutine_parameter_19.f90
deleted file mode 100644
index d4d2534..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test19-fail-defaultvalueisrealwhentypeisinteger/add_subroutine_parameter_19.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program defaultvalueisrealforinteger ! Tests that an integer cannot be given a real default value.

-

-end program defaultvalueisrealforinteger

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer :: y, 0, 1.7, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test2-updatecallsite/add_subroutine_parameter_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test2-updatecallsite/add_subroutine_parameter_2.f90
deleted file mode 100644
index 9f7df91..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test2-updatecallsite/add_subroutine_parameter_2.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program updatecallsite ! Tests that the call site is updated appropriately - basic.

-    implicit none

-    call sub(2)

-end program updatecallsite

-subroutine sub(z) !<<<<< 5, 1, 5, 5, integer; intent(in) :: y, 0, 0, pass

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test2-updatecallsite/add_subroutine_parameter_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test2-updatecallsite/add_subroutine_parameter_2.f90.result
deleted file mode 100644
index 80ad088..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test2-updatecallsite/add_subroutine_parameter_2.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-program updatecallsite ! Tests that the call site is updated appropriately - basic.

-    implicit none

-    call sub(0,2)

-end program updatecallsite

-subroutine sub(y,z) !<<<<< 5, 1, 5, 5, integer; intent(in) :: y, 0, 0, pass

-    integer, intent(in) :: y

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test20-fail-defaultvalueisnumberwhentypeisnonnumber/add_subroutine_parameter_20.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test20-fail-defaultvalueisnumberwhentypeisnonnumber/add_subroutine_parameter_20.f90
deleted file mode 100644
index 9374ac3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test20-fail-defaultvalueisnumberwhentypeisnonnumber/add_subroutine_parameter_20.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program defaultvalueisnumberfornonnumbertype ! Tests that non number types cannot be given a number as a default value.

-

-end program defaultvalueisnumberfornonnumbertype

-subroutine sub(z) !<<<<< 4, 1, 4, 5, logical :: y, 0, 1, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test21-fail-defaultvalueisnullwhentypeisnotpointer/add_subroutine_parameter_21.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test21-fail-defaultvalueisnullwhentypeisnotpointer/add_subroutine_parameter_21.f90
deleted file mode 100644
index efe6785..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test21-fail-defaultvalueisnullwhentypeisnotpointer/add_subroutine_parameter_21.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program defaultvalueisnullfornonpointer ! Tests that null cannot be the default value for a non pointer

-

-end program defaultvalueisnullfornonpointer

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer :: y, 0, null, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test22-basicpointer/add_subroutine_parameter_22.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test22-basicpointer/add_subroutine_parameter_22.f90
deleted file mode 100644
index e7b0840..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test22-basicpointer/add_subroutine_parameter_22.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program basicpointer ! Tests that pointers can be passed as a parameter.

-

-end program basicpointer

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer; intent(in); pointer :: y, 0, null, pass

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test22-basicpointer/add_subroutine_parameter_22.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test22-basicpointer/add_subroutine_parameter_22.f90.result
deleted file mode 100644
index 61a51df..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test22-basicpointer/add_subroutine_parameter_22.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program basicpointer ! Tests that pointers can be passed as a parameter.

-

-end program basicpointer

-subroutine sub(y,z) !<<<<< 4, 1, 4, 5, integer; intent(in); pointer :: y, 0, null, pass

-    integer, intent(in), pointer :: y

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test3-updatecallsitewithorder/add_subroutine_parameter_3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test3-updatecallsitewithorder/add_subroutine_parameter_3.f90
deleted file mode 100644
index fad689b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test3-updatecallsitewithorder/add_subroutine_parameter_3.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program updatecallsitewithorder ! Tests that the position of the parameter is correctly set.

-    implicit none

-    call sub(2)

-end program updatecallsitewithorder

-subroutine sub(z) !<<<<< 5, 1, 5, 5, integer; intent(in) :: y, 1, 0, pass

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test3-updatecallsitewithorder/add_subroutine_parameter_3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test3-updatecallsitewithorder/add_subroutine_parameter_3.f90.result
deleted file mode 100644
index d6a7c87..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test3-updatecallsitewithorder/add_subroutine_parameter_3.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-program updatecallsitewithorder ! Tests that the position of the parameter is correctly set.

-    implicit none

-    call sub(2,0)

-end program updatecallsitewithorder

-subroutine sub(z,y) !<<<<< 5, 1, 5, 5, integer; intent(in) :: y, 1, 0, pass

-    integer, intent(in) :: y

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test4-fail-negativeposition/add_subroutine_parameter_4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test4-fail-negativeposition/add_subroutine_parameter_4.f90
deleted file mode 100644
index 5c38557..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test4-fail-negativeposition/add_subroutine_parameter_4.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program negativeposition ! Tests that the refactoring fails with negative positions requested.

-

-end program negativeposition

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer; intent(in) :: y, -1, 0, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test5-fail-outofboundsposition/add_subroutine_parameter_5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test5-fail-outofboundsposition/add_subroutine_parameter_5.f90
deleted file mode 100644
index 0f8e0e4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test5-fail-outofboundsposition/add_subroutine_parameter_5.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program outofbounds ! Tests that the refactoring fails for requests to place the new parameter in a position that is out of bounds.

-

-end program outofbounds

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer; intent(in) :: y, 3, 0, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test6-fail-whitespacedefaultvalue/add_subroutine_parameter_6.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test6-fail-whitespacedefaultvalue/add_subroutine_parameter_6.f90
deleted file mode 100644
index da6ea2b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test6-fail-whitespacedefaultvalue/add_subroutine_parameter_6.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program whitespacedefaultvalue ! Tests that the refactoring does not allow the default value to be white space

-

-end program whitespacedefaultvalue

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer; intent(in) :: y, 0,    	, fail-final

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test7-basicarray/add_subroutine_parameter_7.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test7-basicarray/add_subroutine_parameter_7.f90
deleted file mode 100644
index 88457cf..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test7-basicarray/add_subroutine_parameter_7.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program basicarray ! Tests that arrays can be passed.

-

-end program basicarray

-subroutine sub(z) !<<<<< 4, 1, 4, 5, integer; intent(in); dimension(2) :: y, 0, (/ 2; 3 /), pass

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test7-basicarray/add_subroutine_parameter_7.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test7-basicarray/add_subroutine_parameter_7.f90.result
deleted file mode 100644
index eb316a0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test7-basicarray/add_subroutine_parameter_7.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program basicarray ! Tests that arrays can be passed.

-

-end program basicarray

-subroutine sub(y,z) !<<<<< 4, 1, 4, 5, integer; intent(in); dimension(2) :: y, 0, (/ 2; 3 /), pass

-    integer, intent(in), dimension(2) :: y

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test8-logicalbasic/add_subroutine_parameter_8.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test8-logicalbasic/add_subroutine_parameter_8.f90
deleted file mode 100644
index c29c929..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test8-logicalbasic/add_subroutine_parameter_8.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program logicalbasic ! Tests that logical parameters work correctly.

-

-end program logicalbasic

-subroutine sub(z) !<<<<< 4, 1, 4, 5, logical; intent(in) :: y, 0, .true., pass

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test8-logicalbasic/add_subroutine_parameter_8.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test8-logicalbasic/add_subroutine_parameter_8.f90.result
deleted file mode 100644
index 8e0040f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test8-logicalbasic/add_subroutine_parameter_8.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program logicalbasic ! Tests that logical parameters work correctly.

-

-end program logicalbasic

-subroutine sub(y,z) !<<<<< 4, 1, 4, 5, logical; intent(in) :: y, 0, .true., pass

-    logical, intent(in) :: y

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test9-dontsetvariabletype/add_subroutine_parameter_9.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test9-dontsetvariabletype/add_subroutine_parameter_9.f90
deleted file mode 100644
index 94c832b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test9-dontsetvariabletype/add_subroutine_parameter_9.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program dontsetvariabletype ! Tests that the default variable type is set to real

-

-end program dontsetvariabletype

-subroutine sub(z) !<<<<< 4, 1, 4, 5, intent(in) :: y, 0, 3, pass

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test9-dontsetvariabletype/add_subroutine_parameter_9.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test9-dontsetvariabletype/add_subroutine_parameter_9.f90.result
deleted file mode 100644
index e200fa0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/add-subroutine-parameter/test9-dontsetvariabletype/add_subroutine_parameter_9.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program dontsetvariabletype ! Tests that the default variable type is set to real

-

-end program dontsetvariabletype

-subroutine sub(y,z) !<<<<< 4, 1, 4, 5, intent(in) :: y, 0, 3, pass

-    real, intent(in) :: y

-    integer, intent(in) :: z

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-array/test-array.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-array/test-array.f90
deleted file mode 100644
index c8b0fa9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-array/test-array.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program testarray !<<<<< 1,1,fail-final
-    integer :: myArray(5)
-    integer :: a,x,y,z
-    integer :: matrix(5,5)
-    
-    data x / 2 /
-    
-    data y,myArray,z /2, 3,4,5,6,7, 4/
-    
-    data ((matrix(i,j), i=1,5,2), j=1,5) / 15*0 /
-    
-    data a / 3 /
-
-end program testarray
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-array/test-array.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-array/test-array.f90.result
deleted file mode 100644
index 370130c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-array/test-array.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-program testarray !<<<<< 1,1,fail-final
-    integer :: myArray(5)
-    integer :: a,x,y,z
-    integer :: matrix(5,5)
-    
-    parameter ( x = 2 )
-    
-    data myArray, z / 3,4,5,6,7, 4/
-    parameter ( y = 2 )
-    
-    data ((matrix(i,j), i=1,5,2), j=1,5) / 15*0 /
-    
-    parameter ( a = 3 )
-
-end program testarray
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-pointer/test-pointer.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-pointer/test-pointer.f90
deleted file mode 100644
index c6b0515..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-pointer/test-pointer.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program testpointer !<<<<< 1,1,fail-final
-    integer, pointer :: p
-    integer :: q,x,y,z
-    
-    data x / 1 /
-    
-    data q,p,y / 3, null(), 1 /
-    
-    data z / 2 /
-
-end program testpointer
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-pointer/test-pointer.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-pointer/test-pointer.f90.result
deleted file mode 100644
index 6e154f4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test-pointer/test-pointer.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-program testpointer !<<<<< 1,1,fail-final
-    integer, pointer :: p
-    integer :: q,x,y,z
-    
-    parameter ( x = 1 )
-    
-    data p, y / null(), 1 /
-    parameter ( q = 3 )
-    
-    parameter ( z = 2 )
-
-end program testpointer
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test1/dataToParameter.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test1/dataToParameter.f90
deleted file mode 100644
index 2e66b18..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test1/dataToParameter.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program dataToParameter !<<<<<1,1,pass

-	implicit none

-	real :: x, y, z

-	integer :: a, b, c !A comment

-	!Another comment on a new line

-	data x,y,z/1.,2.,3./ !Those values are assigned

-	!About to assign more values

-	data a/10/,b/15/,c/20/ !More values are assigned

-	!About to change some assigned values

-	x = 5.4

-	b = 6

-

-end program dataToParameter

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test1/dataToParameter.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test1/dataToParameter.f90.result
deleted file mode 100644
index b2b12a6..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/data-to-parameter/test1/dataToParameter.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-program dataToParameter !<<<<<1,1,pass

-	implicit none

-	real :: x, y, z

-	integer :: a, b, c !A comment

-	!Another comment on a new line

-	data x/1./ !Those values are assigned

-	parameter ( z = 3. ) !Those values are assigned

-	parameter ( y = 2. ) !Those values are assigned

-		!About to assign more values

-	data b/15/ !More values are assigned

-	parameter ( c = 20 ) !More values are assigned

-	parameter ( a = 10 ) !More values are assigned

-	!About to change some assigned values

-	x = 5.4

-	b = 6

-

-end program dataToParameter

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-dt/test-encap-01c-basic-dt.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-dt/test-encap-01c-basic-dt.f90
deleted file mode 100644
index 2ee865b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-dt/test-encap-01c-basic-dt.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-module mod

-  implicit none

-

-  type point

-    double precision x, y, z

-  end type

-

-  type(point) :: variable  !<<<<< 8, 18, 8, pass

-end module

-

-program encap1

-  use mod

-  implicit none

-  print *, variable

-  variable = point(1.0, 2.0, 3.0)

-  print *, variable

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-dt/test-encap-01c-basic-dt.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-dt/test-encap-01c-basic-dt.f90.result
deleted file mode 100644
index 48a96ee..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-dt/test-encap-01c-basic-dt.f90.result
+++ /dev/null
@@ -1,30 +0,0 @@
-module mod

-  implicit none

-

-  type point

-    double precision x, y, z

-  end type

-

-  type(point) :: variable  !<<<<< 8, 18, 8, pass

-  private :: variable

-contains

-    subroutine setVariable(value)

-        implicit none

-        type(point), intent(in) :: value

-        variable = value

-    end subroutine

-

-    type(point) function getVariable()

-        implicit none

-        getVariable = variable

-    end function

-

-end module

-

-program encap1

-  use mod

-  implicit none

-  print *,getVariable()

-  call setVariable(point(1.0, 2.0, 3.0))

-  print *,getVariable()

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-integer/test-encap-01a-basic-integer.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-integer/test-encap-01a-basic-integer.f90
deleted file mode 100644
index 0c26d86..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-integer/test-encap-01a-basic-integer.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-module mod

-  implicit none

-  integer :: variable  !<<<<< 3, 14, 8, pass

-end module

-

-program encap1

-  use mod

-  implicit none

-  print *, variable

-  variable = 3

-  print *, variable

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-integer/test-encap-01a-basic-integer.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-integer/test-encap-01a-basic-integer.f90.result
deleted file mode 100644
index 26b78df..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-integer/test-encap-01a-basic-integer.f90.result
+++ /dev/null
@@ -1,25 +0,0 @@
-module mod

-  implicit none

-  integer :: variable  !<<<<< 3, 14, 8, pass

-  private :: variable

-contains

-    subroutine setVariable(value)

-        implicit none

-        integer, intent(in) :: value

-        variable = value

-    end subroutine

-

-    integer function getVariable()

-        implicit none

-        getVariable = variable

-    end function

-

-end module

-

-program encap1

-  use mod

-  implicit none

-  print *,getVariable()

-  call setVariable(3)

-  print *,getVariable()

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-real/test-encap-01b-basic-real.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-real/test-encap-01b-basic-real.f90
deleted file mode 100644
index 0029e99..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-real/test-encap-01b-basic-real.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-module mod

-  implicit none

-  real :: variable !<<<<< 3, 11, 8, pass

-end module

-

-program encap1

-  use mod

-  implicit none

-  print *, variable

-  variable = 3.0

-  print *, variable

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-real/test-encap-01b-basic-real.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-real/test-encap-01b-basic-real.f90.result
deleted file mode 100644
index cb521b8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-basic-real/test-encap-01b-basic-real.f90.result
+++ /dev/null
@@ -1,25 +0,0 @@
-module mod

-  implicit none

-  real :: variable !<<<<< 3, 11, 8, pass

-  private :: variable

-contains

-    subroutine setVariable(value)

-        implicit none

-        real, intent(in) :: value

-        variable = value

-    end subroutine

-

-    real function getVariable()

-        implicit none

-        getVariable = variable

-    end function

-

-end module

-

-program encap1

-  use mod

-  implicit none

-  print *,getVariable()

-  call setVariable(3.0)

-  print *,getVariable()

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-contains/test-encap-02-contains.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-contains/test-encap-02-contains.f90
deleted file mode 100644
index 94e3c64..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-contains/test-encap-02-contains.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-module mod

-  implicit none

-  integer :: variable !<<<<< 3, 14, 8, pass

-contains

-  integer function three()

-    three = 3

-  end function

-end module

-

-program encap1

-  use mod

-  implicit none

-  print *, variable

-  variable = 3

-  print *, variable

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-contains/test-encap-02-contains.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-contains/test-encap-02-contains.f90.result
deleted file mode 100644
index 4bfc7e6..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-contains/test-encap-02-contains.f90.result
+++ /dev/null
@@ -1,28 +0,0 @@
-module mod

-  implicit none

-  integer :: variable !<<<<< 3, 14, 8, pass

-  private :: variable

-contains

-  subroutine setVariable(value)

-      implicit none

-      integer, intent(in) :: value

-      variable = value

-  end subroutine

-

-  integer function getVariable()

-      implicit none

-      getVariable = variable

-  end function

-

-  integer function three()

-    three = 3

-  end function

-end module

-

-program encap1

-  use mod

-  implicit none

-  print *,getVariable()

-  call setVariable(3)

-  print *,getVariable()

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-expr/test-encap-03-expr.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-expr/test-encap-03-expr.f90
deleted file mode 100644
index 97a3fe6..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-expr/test-encap-03-expr.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-module mod

-  implicit none

-  integer :: variable !<<<<< 3, 14, 8, pass

-end module

-

-program encap1

-  use mod

-  implicit none

-  variable = 3

-  !                            9 + 1

-  variable = variable * variable + (variable - 2)

-  print *, variable, " should be equal to ", 10

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-expr/test-encap-03-expr.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-expr/test-encap-03-expr.f90.result
deleted file mode 100644
index a009be3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-expr/test-encap-03-expr.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-module mod

-  implicit none

-  integer :: variable !<<<<< 3, 14, 8, pass

-  private :: variable

-contains

-    subroutine setVariable(value)

-        implicit none

-        integer, intent(in) :: value

-        variable = value

-    end subroutine

-

-    integer function getVariable()

-        implicit none

-        getVariable = variable

-    end function

-

-end module

-

-program encap1

-  use mod

-  implicit none

-  call setVariable(3)

-  !                            9 + 1

-  call setVariable(getVariable() *getVariable() + (getVariable() - 2))

-  print *,getVariable(), " should be equal to ", 10

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-allocatable1/test-encap-06c-fail-allocatable1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-allocatable1/test-encap-06c-fail-allocatable1.f90
deleted file mode 100644
index 02bfc2f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-allocatable1/test-encap-06c-fail-allocatable1.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module mod

-  implicit none

-  integer, dimension(:), allocatable :: array !<<<<< 3, 27, 5, fail-initial

-end module

-

-program encap1

-  use mod

-  implicit none

-

-  allocate (array(5))

-  array = (/ 10, 20, 30, 40, 50 /)

-  print *, array

-  deallocate (array)

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-allocatable2/test-encap-06d-fail-allocatable2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-allocatable2/test-encap-06d-fail-allocatable2.f90
deleted file mode 100644
index 743d6f8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-allocatable2/test-encap-06d-fail-allocatable2.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-module mod

-  implicit none

-  integer, dimension(:), allocatable :: array !<<<<< 3, 27, 5, fail-initial

-contains

-  subroutine alloc

-    allocate (array(5))

-  end subroutine

-  subroutine dealloc

-    deallocate (array)

-  end subroutine

-end module

-

-program encap1

-  use mod

-  implicit none

-

-  call alloc

-  array = (/ 10, 20, 30, 40, 50 /)

-  print *, array

-  call dealloc

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-array/test-encap-06a-fail-array.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-array/test-encap-06a-fail-array.f90
deleted file mode 100644
index ec7e5a5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-array/test-encap-06a-fail-array.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module mod

-  implicit none

-  integer, dimension(3) :: variable !<<<<< 3, 28, 8, fail-initial

-end module

-

-program encap1

-  use mod

-  implicit none

-  variable = (/ 1, 2, 3 /)

-  print *, variable

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-conflict/test-encap-05a-fail-conflict.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-conflict/test-encap-05a-fail-conflict.f90
deleted file mode 100644
index 9fd03e2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-conflict/test-encap-05a-fail-conflict.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-module mod

-  implicit none

-  integer :: variable !<<<<< 3, 14, 8, fail-final

-contains

-  integer function getVariable()

-    getVariable = 99999

-  end function

-end module

-

-program encap1

-  use mod

-  implicit none

-  print *, variable

-  variable = 3

-  print *, variable

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-pointer/test-encap-06b-fail-pointer.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-pointer/test-encap-06b-fail-pointer.f90
deleted file mode 100644
index 9c01ea2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-pointer/test-encap-06b-fail-pointer.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-module mod

-  implicit none

-  integer, pointer :: ptr !<<<<< 3, 23, 3, fail-initial

-end module

-

-program encap1

-  use mod

-  implicit none

-

-  integer, target :: int

-  int = 3

-  ptr => int

-  int = 4

-  print *, ptr

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-target/test-encap-06e-fail-target.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-target/test-encap-06e-fail-target.f90
deleted file mode 100644
index 4d181cb..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-fail-target/test-encap-06e-fail-target.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-module mod

-  implicit none

-  integer, target :: int

-end module

-

-program encap1

-  use mod

-  implicit none

-

-  integer, pointer :: ptr !<<<<< 3, 22, 3, fail-initial

-  int = 3

-  ptr => int

-  int = 4

-  print *, ptr

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-nosetter-parameter/test-encap-04-nosetter-parameter.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-nosetter-parameter/test-encap-04-nosetter-parameter.f90
deleted file mode 100644
index 51d8bb3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-nosetter-parameter/test-encap-04-nosetter-parameter.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module mod

-  implicit none

-  integer, parameter :: CONSTANT = 10 !<<<<< 3, 25, 8, fail-initial

-end module

-

-program encap1

-  use mod

-  implicit none

-

-  print *, CONSTANT

-end program encap1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/module1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/module1.f90
deleted file mode 100644
index 5728a5a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/module1.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-module module1

-	implicit none

-	integer :: i,j,k

-	

-contains

-

-end module
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/module1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/module1.f90.result
deleted file mode 100644
index fdf23ab..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/module1.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-module module1

-	implicit none

-	integer :: i,j,k

-	private :: i

-	

-contains

-    subroutine setI(value)

-        implicit none

-        integer, intent(in) :: value

-        i = value

-    end subroutine

-

-    integer function getI()

-        implicit none

-        getI = i

-    end function

-

-

-end module

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/test-simple01.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/test-simple01.f90
deleted file mode 100644
index 6de8d9c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/test-simple01.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-program main

-    use module1

-    implicit none

-    integer :: blah

-    

-    blah = i + j + k !<<<<< 6, 12, 6, 13, pass

-    

-    i = blah + j

-    

-    call mult(i,j,blah)

-    

-contains

-    subroutine mult(a,b,c)

-        integer, intent(in) :: a, b, c

-        integer :: temp

-        temp = a*b*c

-    end subroutine

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/test-simple01.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/test-simple01.f90.result
deleted file mode 100644
index c8fa539..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/encapsulate-variable/test-simple/test-simple01.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-program main

-    use module1

-    implicit none

-    integer :: blah

-    

-    blah =getI() + j + k !<<<<< 6, 12, 6, 13, pass

-    

-    call setI(blah + j)

-    

-    call mult(getI(),j,blah)

-    

-contains

-    subroutine mult(a,b,c)

-        integer, intent(in) :: a, b, c

-        integer :: temp

-        temp = a*b*c

-    end subroutine

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test1-basic/extract_local_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test1-basic/extract_local_1.f90
deleted file mode 100644
index 449452c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test1-basic/extract_local_1.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program extract_local

-    implicit none

-    print *, "This is a test"

-    print *, 3+4*5+6 !<<<<< 4, 16, 4, 19, integer :: var, pass

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test1-basic/extract_local_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test1-basic/extract_local_1.f90.result
deleted file mode 100644
index 876b255..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test1-basic/extract_local_1.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program extract_local

-    implicit none

-    integer :: var

-    print *, "This is a test"

-    var = 4*5

-    print *, 3+var+6 !<<<<< 4, 16, 4, 19, integer :: var, pass

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test2-formatting/extract_local_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test2-formatting/extract_local_2.f90
deleted file mode 100644
index 247809e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test2-formatting/extract_local_2.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program extract_local

-    implicit none

-    real :: numbers(5) = (/ 1.2, 3.4, 5.6, 7.8, 9.0 /)

-    print *, sum(numbers)    &

-                  /          &

-             size(numbers,1) !<<<<< 6, 14, 6, 29, integer :: count, pass

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test2-formatting/extract_local_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test2-formatting/extract_local_2.f90.result
deleted file mode 100644
index 403e1c3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test2-formatting/extract_local_2.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-program extract_local

-    implicit none

-    real :: numbers(5) = (/ 1.2, 3.4, 5.6, 7.8, 9.0 /)

-    integer :: count

-    count = size(numbers,1)

-    print *, sum(numbers)    &

-                  /          &

-             count !<<<<< 6, 14, 6, 29, integer :: count, pass

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test3-fail-precedence/extract_local_3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test3-fail-precedence/extract_local_3.f90
deleted file mode 100644
index b707cf2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test3-fail-precedence/extract_local_3.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program extract_local

-    implicit none

-    print *, "This is a test"

-    ! Attempting to extract 5+6 should fail

-    print *, 3+4*5+6 !<<<<< 5, 18, 5, 21, integer :: var, fail-initial

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test4-fail-conflict/extract_local_4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test4-fail-conflict/extract_local_4.f90
deleted file mode 100644
index d84c4ae..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-local-variable/test4-fail-conflict/extract_local_4.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program extract_local

-    implicit none

-    integer :: var ! Attempting to extract to var should fail since that variable already exists

-    print *, "This is a test"

-    print *, 3+4*5+6 !<<<<< 5, 16, 5, 19, integer :: var, fail-final

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test01-simple.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test01-simple.f90
deleted file mode 100644
index 5860258..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test01-simple.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-subroutine sub
-    print *, "Hello" !<<<<<START !<<<<<END
-end subroutine
-
-program main; call sub; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test01-simple.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test01-simple.f90.result
deleted file mode 100644
index d854233..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test01-simple.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-subroutine sub
-    call new_procedure()
-end subroutine
-
-subroutine new_procedure()
-    implicit none
-    print *, "Hello" !<<<<<START !<<<<<END
-end subroutine
-
-
-program main; call sub; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test02-locals.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test02-locals.f90
deleted file mode 100644
index 42a27c5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test02-locals.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-call sub1(); call flush; stop
-contains
-
-    subroutine sub1
-        integer :: a, b
-        dimension a(3, 4:5)
-        do b = 1, 3; a(b, :) = b*10; enddo; implicit1 = 20; implicit2 = 30
-        print *, a                  !<<<<<START
-        print *, b
-        print *, implicit1
-        print *, implicit2
-        if (implicit2 .gt. 3) then
-          print *, "OK"
-        end if                      !<<<<<END
-    end subroutine
-
-    subroutine x
-    end subroutine x
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test02-locals.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test02-locals.f90.result
deleted file mode 100644
index 74591b0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test02-locals.f90.result
+++ /dev/null
@@ -1,29 +0,0 @@
-call sub1(); call flush; stop
-contains
-
-    subroutine sub1
-        integer :: a, b
-        dimension a(3, 4:5)
-        do b = 1, 3; a(b, :) = b*10; enddo; implicit1 = 20; implicit2 = 30
-        call new_procedure(a, b, implicit1, implicit2)
-    end subroutine
-
-    subroutine new_procedure(a, b, implicit1, implicit2)
-        implicit none
-        integer :: a(3, 4:5)
-        integer :: b
-        integer :: implicit1
-        integer :: implicit2
-        print *, a                  !<<<<<START
-        print *, b
-        print *, implicit1
-        print *, implicit2
-        if (implicit2 .gt. 3) then
-          print *, "OK"
-        end if                      !<<<<<END
-    end subroutine
-
-
-    subroutine x
-    end subroutine x
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test03-locals2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test03-locals2.f90
deleted file mode 100644
index fed5543..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test03-locals2.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-call sub1(); call flush; stop
-contains
-
-    subroutine sub1
-        integer :: a, b
-        dimension a(3, 4:5)
-        do b = 1, 3; a(b, :) = b*10; enddo; implicit1 = 20; implicit2 = 30
-        print *, a
-        print *, b                  !<<<<<START !<<<<<END
-        print *, implicit1
-        print *, implicit2
-        if (implicit2 .gt. 3) then
-          print *, "OK"
-        end if
-    end subroutine
-
-    subroutine x
-    end subroutine x
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test03-locals2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test03-locals2.f90.result
deleted file mode 100644
index 5b0f312..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test03-locals2.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-call sub1(); call flush; stop
-contains
-
-    subroutine sub1
-        integer :: a, b
-        dimension a(3, 4:5)
-        do b = 1, 3; a(b, :) = b*10; enddo; implicit1 = 20; implicit2 = 30
-        print *, a
-        call new_procedure(b)
-        print *, implicit1
-        print *, implicit2
-        if (implicit2 .gt. 3) then
-          print *, "OK"
-        end if
-    end subroutine
-
-    subroutine new_procedure(b)
-        implicit none
-        integer :: b
-        print *, b                  !<<<<<START !<<<<<END
-    end subroutine
-
-
-    subroutine x
-    end subroutine x
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test04-in-loop.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test04-in-loop.f90
deleted file mode 100644
index a4af97e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test04-in-loop.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-subroutine hmmm
-    do 10 i = 1, 5
-       print *, i                   !<<<<<START
-       if (i .gt. 3) then
-         print *, i * 10
-       end if                       !<<<<<END
-       print *, i
-10  continue
-end subroutine
-
-program main; call hmmm; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test04-in-loop.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test04-in-loop.f90.result
deleted file mode 100644
index f17e531..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test04-in-loop.f90.result
+++ /dev/null
@@ -1,18 +0,0 @@
-subroutine hmmm
-    do 10 i = 1, 5
-       call new_procedure(i)
-       print *, i
-10  continue
-end subroutine
-
-subroutine new_procedure(i)
-    implicit none
-    integer :: i
-    print *, i                   !<<<<<START
-    if (i .gt. 3) then
-      print *, i * 10
-    end if                       !<<<<<END
-end subroutine
-
-
-program main; call hmmm; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test05-parameter.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test05-parameter.f90
deleted file mode 100644
index def65e6..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test05-parameter.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-subroutine prob
-        integer, parameter :: SIZE = 5
-        real :: matrix(SIZE, SIZE)
-        matrix(:, :) = 0.0          !<<<<<START !<<<<<END
-        print *, matrix
-end subroutine
-
-program main; call prob; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test05-parameter.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test05-parameter.f90.result
deleted file mode 100644
index 26bfbf6..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test05-parameter.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-subroutine prob
-        integer, parameter :: SIZE = 5
-        real :: matrix(SIZE, SIZE)
-        call new_procedure(SIZE, matrix)
-        print *, matrix
-end subroutine
-
-subroutine new_procedure(SIZE, matrix)
-    implicit none
-    integer :: SIZE
-    real :: matrix(SIZE, SIZE)
-    matrix(:, :) = 0.0          !<<<<<START !<<<<<END
-end subroutine
-
-
-program main; call prob; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test06-parameter.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test06-parameter.f90
deleted file mode 100644
index ce0d9b1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test06-parameter.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-subroutine prob
-        integer, parameter :: ROWS = 5, COLS = 7
-        real :: matrix(ROWS, COLS)
-        matrix(:, :) = 0.0          !<<<<<START !<<<<<END
-        print *, matrix
-end subroutine
-
-program main; call prob; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test06-parameter.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test06-parameter.f90.result
deleted file mode 100644
index 255bebd..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test06-parameter.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-subroutine prob
-        integer, parameter :: ROWS = 5, COLS = 7
-        real :: matrix(ROWS, COLS)
-        call new_procedure(COLS, ROWS, matrix)
-        print *, matrix
-end subroutine
-
-subroutine new_procedure(COLS, ROWS, matrix)
-    implicit none
-    integer :: COLS
-    integer :: ROWS
-    real :: matrix(ROWS, COLS)
-    matrix(:, :) = 0.0          !<<<<<START !<<<<<END
-end subroutine
-
-
-program main; call prob; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test07-attribs.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test07-attribs.f90
deleted file mode 100644
index 2f547d2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test07-attribs.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-subroutine prob(m, n)
-        implicit none
-        integer, intent(in) :: m
-        integer, intent(out) :: n
-        integer, save :: saved = 10
-        target :: saved
-        integer, pointer :: p_saved
-        integer, parameter :: ROWS = 5, COLS = 7
-        real :: matrix(ROWS, COLS)
-        p_saved => saved
-        matrix(:, :) = 0.0           !<<<<<START
-        n = 5 * m
-        saved = 2
-        !p_saved => saved
-        !p_saved = p_saved + 1
-        print *, n, m, saved !<<<<<END
-        print *, n, m, saved, p_saved
-end subroutine
-
-program main; call prob(3, n); call prob(3, n); print *, n; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test07-attribs.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test07-attribs.f90.result
deleted file mode 100644
index 035c9c1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test07-attribs.f90.result
+++ /dev/null
@@ -1,32 +0,0 @@
-subroutine prob(m, n)
-        implicit none
-        integer, intent(in) :: m
-        integer, intent(out) :: n
-        integer, save :: saved = 10
-        target :: saved
-        integer, pointer :: p_saved
-        integer, parameter :: ROWS = 5, COLS = 7
-        real :: matrix(ROWS, COLS)
-        p_saved => saved
-        call new_procedure(COLS, ROWS, m, matrix, n, saved)
-        print *, n, m, saved, p_saved
-end subroutine
-
-subroutine new_procedure(COLS, ROWS, m, matrix, n, saved)
-    implicit none
-    integer :: COLS
-    integer :: ROWS
-    integer, intent(in) :: m
-    real :: matrix(ROWS, COLS)
-    integer, intent(out) :: n
-    integer, target :: saved
-    matrix(:, :) = 0.0           !<<<<<START
-    n = 5 * m
-    saved = 2
-    !p_saved => saved
-    !p_saved = p_saved + 1
-    print *, n, m, saved !<<<<<END
-end subroutine
-
-
-program main; call prob(3, n); call prob(3, n); print *, n; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test08-charlen.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test08-charlen.f90
deleted file mode 100644
index d50fa5d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test08-charlen.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program refactor
-    implicit none
-    character(3) :: charvar
-    charvar = 'abc'
-    print *, charvar !<<<<<START !<<<<<END
-end program refactor
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test08-charlen.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test08-charlen.f90.result
deleted file mode 100644
index 6e8236b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/extract-procedure/test08-charlen.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-program refactor
-    implicit none
-    character(3) :: charvar
-    charvar = 'abc'
-    call new_procedure(charvar)
-contains
-
-    subroutine new_procedure(charvar)
-        implicit none
-        character(3) :: charvar
-        print *, charvar !<<<<<START !<<<<<END
-    end subroutine
-
-end program refactor
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/increment-decrement-fusion/incrementDecrementTest.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/increment-decrement-fusion/incrementDecrementTest.f90
deleted file mode 100644
index 2213485..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/increment-decrement-fusion/incrementDecrementTest.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j

-    !<<<<<6,1,10,1,pass

-    do i=2,6

-        print *, i

-    end do

-

-    do j=6,2,-1

-        print *, j

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/increment-decrement-fusion/incrementDecrementTest.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/increment-decrement-fusion/incrementDecrementTest.f90.result
deleted file mode 100644
index 3b25bd0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/increment-decrement-fusion/incrementDecrementTest.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j

-    !<<<<<6,1,10,1,pass

-    do i=0,4,1

-        print *, (i*1+2)

-        print *, (i*-1+6)

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/simple-fuse-test/simpleFusionTest.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/simple-fuse-test/simpleFusionTest.f90
deleted file mode 100644
index 5565d53..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/simple-fuse-test/simpleFusionTest.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j

-    !<<<<<6,1,10,1,pass

-    do i=11,15,1

-        print *, i

-    end do

-

-    do j=1,5

-        print *, j

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/simple-fuse-test/simpleFusionTest.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/simple-fuse-test/simpleFusionTest.f90.result
deleted file mode 100644
index f65f75b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/simple-fuse-test/simpleFusionTest.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j

-    !<<<<<6,1,10,1,pass

-    do i=0,4,1

-        print *, (i*1+11)

-        print *, (i*1+1)

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/two-decremented-loops/decrementedLoopsTest.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/two-decremented-loops/decrementedLoopsTest.f90
deleted file mode 100644
index bafca69..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/two-decremented-loops/decrementedLoopsTest.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j, n = 2

-    !<<<<<6,1,10,1,pass

-    do i=10,1,-2

-        print *, i*i

-    end do

-

-    do j= 5,1,-1

-        n = n+j

-    end do

-	print *, n

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/two-decremented-loops/decrementedLoopsTest.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/two-decremented-loops/decrementedLoopsTest.f90.result
deleted file mode 100644
index f706ca2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/fuse-loops/two-decremented-loops/decrementedLoopsTest.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j, n = 2

-    !<<<<<6,1,10,1,pass

-    do i=0,4,1

-        print *, (i*-2+10)*(i*-2+10)

-        n = n+(i*-1+5)

-    end do

-	print *, n

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test01-fail-notAValidIfStatement/convertIfStatementToIfConstruct_InvalidIfStatement.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test01-fail-notAValidIfStatement/convertIfStatementToIfConstruct_InvalidIfStatement.f90
deleted file mode 100644
index 396bf68..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test01-fail-notAValidIfStatement/convertIfStatementToIfConstruct_InvalidIfStatement.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program notAValidIf

-    implicit none

-    print *, "This is a test"

-    print *, 3+4*5+6 !<<<<< 4, 5, 4, 22, fail-initial

-    

-    !!! This test shows the refactoring failing the initial precondition because the selected text is a print statement, and

-    !!! not a valid IF statement or construct

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test02-convert_ifConstructToIfStmt/convert_ifConstruct.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test02-convert_ifConstructToIfStmt/convert_ifConstruct.f90
deleted file mode 100644
index f336130..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test02-convert_ifConstructToIfStmt/convert_ifConstruct.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program convert_ifConstructToIfStmt

-    implicit none

-    print *, "This is a test"

-    if(.true.) then

-      a = 1

-    end if

-    !<<<<< 4, 5, 6, 11, pass

-    

-    !!! This test shows the refactoring successfully refactoring a simple valid IF construct into a valid IF statement.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test02-convert_ifConstructToIfStmt/convert_ifConstruct.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test02-convert_ifConstructToIfStmt/convert_ifConstruct.f90.result
deleted file mode 100644
index ffa06b4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test02-convert_ifConstructToIfStmt/convert_ifConstruct.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-program convert_ifConstructToIfStmt

-    implicit none

-    print *, "This is a test"

-    if (.true.) a = 1

-    !<<<<< 4, 5, 6, 11, pass

-    

-    !!! This test shows the refactoring successfully refactoring a simple valid IF construct into a valid IF statement.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test03-fail-ifNamedVariable/convert_ifStatement_ifNamedVariable.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test03-fail-ifNamedVariable/convert_ifStatement_ifNamedVariable.f90
deleted file mode 100644
index b481db0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test03-fail-ifNamedVariable/convert_ifStatement_ifNamedVariable.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program convert_ifStatementToIfConstruct_incorrectSelection

-    implicit none

-    print *, "This is a test"

-    integer :: if

-    if = 5 !<<<<< 5, 5, 5, 11, fail-initial

-    

-    !!! This test shows the refactoring failing the initial precondition because the selected text is not a valid

-    !!! IF statement or construct, even though the first token is "if"

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test04-complexboolean/ifStmtComplexBoolean_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test04-complexboolean/ifStmtComplexBoolean_1.f90
deleted file mode 100644
index d8d53d5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test04-complexboolean/ifStmtComplexBoolean_1.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program ifStmtComplexBoolean_1

-    implicit none

-    integer :: x, y, a

-    print *, "This is a test"

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) a = 1 !<<<<< 5, 5, 5, 53, pass

-    

-    !!! This tests shows the refactoring successfully converting a valid IF statement to a valid IF construct, even

-    !!! with a complex boolean guardian expression.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test04-complexboolean/ifStmtComplexBoolean_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test04-complexboolean/ifStmtComplexBoolean_1.f90.result
deleted file mode 100644
index 01d6b07..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test04-complexboolean/ifStmtComplexBoolean_1.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-program ifStmtComplexBoolean_1

-    implicit none

-    integer :: x, y, a

-    print *, "This is a test"

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) then

-        a = 1 !<<<<< 5, 5, 5, 53, pass

-        !can add more statements here

-    end if

-    

-    !!! This tests shows the refactoring successfully converting a valid IF statement to a valid IF construct, even

-    !!! with a complex boolean guardian expression.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test05-complexboolean/ifStmtComplexBoolean_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test05-complexboolean/ifStmtComplexBoolean_2.f90
deleted file mode 100644
index 4e1c731..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test05-complexboolean/ifStmtComplexBoolean_2.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program ifStmtComplexBoolean_2

-    implicit none

-    integer :: x, y, z, a

-    print *, "This is a test"

-    if ((x*2+3)/z .GE. y) a = 1 !<<<<< 5, 5, 5, 32, pass

-    

-    !!! This tests shows the refactoring successfully converting a valid IF statement to a valid IF construct, even

-    !!! with a complex boolean guardian expression.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test05-complexboolean/ifStmtComplexBoolean_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test05-complexboolean/ifStmtComplexBoolean_2.f90.result
deleted file mode 100644
index f4ebcf1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test05-complexboolean/ifStmtComplexBoolean_2.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-program ifStmtComplexBoolean_2

-    implicit none

-    integer :: x, y, z, a

-    print *, "This is a test"

-    if ((x*2+3)/z .GE. y) then

-        a = 1 !<<<<< 5, 5, 5, 32, pass

-        !can add more statements here

-    end if

-    

-    !!! This tests shows the refactoring successfully converting a valid IF statement to a valid IF construct, even

-    !!! with a complex boolean guardian expression.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test06-convertifStmt/convertIfStatementToIfConstruct.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test06-convertifStmt/convertIfStatementToIfConstruct.f90
deleted file mode 100644
index 5a310f3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test06-convertifStmt/convertIfStatementToIfConstruct.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program convertIfStatementToIfConstruct

-    implicit none

-    integer :: var1, var2

-    print *, "This is an if construct example."

-    var1 = 4

-    var2 = 5

-    if (var1 < var2) print *, var1, " is less than ", var2, " using if-stmt." !<<<<< 7, 5, 7, 78, pass

-    

-    !!! This tests shows the refactoring successfully converting a valid IF statement to a valid IF construct.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test06-convertifStmt/convertIfStatementToIfConstruct.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test06-convertifStmt/convertIfStatementToIfConstruct.f90.result
deleted file mode 100644
index e7ed947..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test06-convertifStmt/convertIfStatementToIfConstruct.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-program convertIfStatementToIfConstruct

-    implicit none

-    integer :: var1, var2

-    print *, "This is an if construct example."

-    var1 = 4

-    var2 = 5

-    if (var1 < var2) then

-        print *, var1, " is less than ", var2, " using if-stmt." !<<<<< 7, 5, 7, 78, pass

-        !can add more statements here

-    end if

-    

-    !!! This tests shows the refactoring successfully converting a valid IF statement to a valid IF construct.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test07-ifConstructToStmtBasic/ifConstructToStmtBasic_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test07-ifConstructToStmtBasic/ifConstructToStmtBasic_1.f90
deleted file mode 100644
index bf234fd..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test07-ifConstructToStmtBasic/ifConstructToStmtBasic_1.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program ifConstructToStmtBasic_1

-    if (.true.) then

-	    a = 2

-    end if

-    !<<<<< 2, 5, 4, 11, pass

-    

-    !!! This tests shows the refactoring successfully converting a valid IF construct to a valid IF statement.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test07-ifConstructToStmtBasic/ifConstructToStmtBasic_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test07-ifConstructToStmtBasic/ifConstructToStmtBasic_1.f90.result
deleted file mode 100644
index 30f6efe..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test07-ifConstructToStmtBasic/ifConstructToStmtBasic_1.f90.result
+++ /dev/null
@@ -1,6 +0,0 @@
-program ifConstructToStmtBasic_1

-    if (.true.) a = 2

-    !<<<<< 2, 5, 4, 11, pass

-    

-    !!! This tests shows the refactoring successfully converting a valid IF construct to a valid IF statement.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test08-nonIfToken/nonIfToken_fail.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test08-nonIfToken/nonIfToken_fail.f90
deleted file mode 100644
index adedeab..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test08-nonIfToken/nonIfToken_fail.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program nonIfToken_1

-	integer :: i, j

-	integer :: k, z

-	do j = 1, 10 !<<<<< 4, 5, 10, 11, fail-initial

-		print *, i                   

-   		if (i .gt. j) then

-     		print *, i * 10

-   		end if                      

-   		print *, i

-	end do

-    

-    !!! This tests shows the refactoring failing the initial precondition because the selected text is not a valid

-    !!! IF statement or construct, since the first token is "do"

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test09-ifConstructComplexBoolean/ifConstructComplexBoolean_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test09-ifConstructComplexBoolean/ifConstructComplexBoolean_1.f90
deleted file mode 100644
index 8b23839..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test09-ifConstructComplexBoolean/ifConstructComplexBoolean_1.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program ifConstructComplexBoolean_1

-    implicit none

-    integer :: x, y, a

-    print *, "This is a test"

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) then

-        a = 1

-    end if

-    !<<<<< 5, 5, 7, 11, pass

-    

-    !!! This tests shows the refactoring successfully converting a valid IF construct to a valid IF statement, even

-    !!! with a complex boolean guardian expression.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test09-ifConstructComplexBoolean/ifConstructComplexBoolean_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test09-ifConstructComplexBoolean/ifConstructComplexBoolean_1.f90.result
deleted file mode 100644
index 51edf89..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test09-ifConstructComplexBoolean/ifConstructComplexBoolean_1.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-program ifConstructComplexBoolean_1

-    implicit none

-    integer :: x, y, a

-    print *, "This is a test"

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) a = 1

-    !<<<<< 5, 5, 7, 11, pass

-    

-    !!! This tests shows the refactoring successfully converting a valid IF construct to a valid IF statement, even

-    !!! with a complex boolean guardian expression.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test10-namedIfConstruct/namedIfConstruct_fail.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test10-namedIfConstruct/namedIfConstruct_fail.f90
deleted file mode 100644
index 18378e7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test10-namedIfConstruct/namedIfConstruct_fail.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program namedIfConstruct_fail

-    myifconstruct: if (.true.) then

-        a = 3

-    end if myifconstruct

-    print *, "This test tries to convert a named if construct to if statement" !<<<<< 2, 5, 4, 11, fail-initial

-    

-    !!! This test shows the refactoring failing the initial precondition because while the selected text is a

-    !!! valid IF construct, it is a named IF construct, and therefore is not refactorable to an IF statement

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test11-multiLineIfConstructToIfStatement-failure/multiLineIfConstructToIfStmt.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test11-multiLineIfConstructToIfStatement-failure/multiLineIfConstructToIfStmt.f90
deleted file mode 100644
index 62bface..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test11-multiLineIfConstructToIfStatement-failure/multiLineIfConstructToIfStmt.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program convert_multiLineIfConstructToIfStatement

-    if (.true.) then

-        a = 2

-        print *, 'hello'

-        print *, 'world'

-    end if

-    print *, 3+4*5+6 !<<<<< 2, 5, 6, 11, fail-initial

-    

-    !!! This test shows the refactoring failing the initial precondition because while the selected text is a valid

-    !!! IF construct, the body contains multiple lines of valid statements, and therefore, is not refactorable to

-    !!! an IF statement.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test12-generalIfConstToIfStmt-failure/generalIfConstToIfStmt.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test12-generalIfConstToIfStmt-failure/generalIfConstToIfStmt.f90
deleted file mode 100644
index 90ce71a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test12-generalIfConstToIfStmt-failure/generalIfConstToIfStmt.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program convert_blockIfConstructToIfStatement

-    if (x .LT. 1) then

-        a = 2

-    else if (x .GE. 1) then

-        a = 4

-    else

-        a = 6

-    end if !<<<<< 2, 5, 8, 11, fail-initial

-    

-    !!! This test shows the refactoring failing the initial precondition because while the selected text is a valid

-    !!! IF construct, the body contains multiple lines of valid statements, and therefore, is not refactorable to

-    !!! an IF statement.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test13-fail-multipleIfSelections1/multipleIfSelections1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test13-fail-multipleIfSelections1/multipleIfSelections1.f90
deleted file mode 100644
index bb9653c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test13-fail-multipleIfSelections1/multipleIfSelections1.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program multipleIfSelections1

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) a = 1

-    if (.true.) then

-	    a = 2

-    end if 

-    !<<<<< 2, 5, 5, 11, fail-initial

-    

-    !!! This test shows the refactoring failing the initial precondition because multiple IF statements and IF

-    !!! constructs are selected, while the refactoring can only handle one at a time.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test14-fail-multipleIfSelections2/multipleIfSelections2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test14-fail-multipleIfSelections2/multipleIfSelections2.f90
deleted file mode 100644
index 78b529d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test14-fail-multipleIfSelections2/multipleIfSelections2.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program multipleIfSelections2

-    if (.true.) then

-	    a = 2

-    end if 

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) a = 1

-    !<<<<< 2, 5, 5, 53, fail-initial

-    

-    !!! This test shows the refactoring failing the initial precondition because multiple IF statements and IF

-    !!! constructs are selected, while the refactoring can only handle one at a time.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test15-commentInIfConstructToIfStmt/commentIfConstructToIfStmt.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test15-commentInIfConstructToIfStmt/commentIfConstructToIfStmt.f90
deleted file mode 100644
index e11f441..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test15-commentInIfConstructToIfStmt/commentIfConstructToIfStmt.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program commentIfConstructToIfStmt

-    implicit none

-    integer :: x, y, a

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) then

-        a = 1 !This is an if statement

-    end if

-    print *, "This is a test" !<<<<< 4, 5, 6, 11, pass

-    

-    !!! This test shows the refactoring successfully converting a valid IF construct to a valid IF statement, while

-    !!! also preserving the included comment.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test15-commentInIfConstructToIfStmt/commentIfConstructToIfStmt.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test15-commentInIfConstructToIfStmt/commentIfConstructToIfStmt.f90.result
deleted file mode 100644
index 145fc78..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test15-commentInIfConstructToIfStmt/commentIfConstructToIfStmt.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-program commentIfConstructToIfStmt

-    implicit none

-    integer :: x, y, a

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) a = 1 !This is an if statement

-    print *, "This is a test" !<<<<< 4, 5, 6, 11, pass

-    

-    !!! This test shows the refactoring successfully converting a valid IF construct to a valid IF statement, while

-    !!! also preserving the included comment.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test16-commentInIfStmtToIfConstruct/commentInIfStmtToIfConst.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test16-commentInIfStmtToIfConstruct/commentInIfStmtToIfConst.f90
deleted file mode 100644
index 9534180..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test16-commentInIfStmtToIfConstruct/commentInIfStmtToIfConst.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program commentIfStmtToIfConstruct

-    implicit none

-    integer :: x, y, a

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) a = 1 !This is an if statement

-    print *, "This is a test" !<<<<< 4, 5, 4, 78, pass

-    

-    !!! This test shows the refactoring successfully converting a valid IF statement to a valid IF construct, while

-    !!! also preserving the included comment.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test16-commentInIfStmtToIfConstruct/commentInIfStmtToIfConst.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test16-commentInIfStmtToIfConstruct/commentInIfStmtToIfConst.f90.result
deleted file mode 100644
index d1d3c16..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test16-commentInIfStmtToIfConstruct/commentInIfStmtToIfConst.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-program commentIfStmtToIfConstruct

-    implicit none

-    integer :: x, y, a

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) then

-        a = 1 !This is an if statement

-        !can add more statements here

-    end if

-    print *, "This is a test" !<<<<< 4, 5, 4, 78, pass

-    

-    !!! This test shows the refactoring successfully converting a valid IF statement to a valid IF construct, while

-    !!! also preserving the included comment.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test17-reindentIfConstruct/reindentIfConstruct.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test17-reindentIfConstruct/reindentIfConstruct.f90
deleted file mode 100644
index bce0c4d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test17-reindentIfConstruct/reindentIfConstruct.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program reindentIfConstruct

-                                     if (1 .GE. 1) then

-                                     	a = 1

-                                     end if

-    !<<<<< 2, 38, 4, 44, pass

-    

-    !!! This test shows the refactoring successfully converting a valid IF construct to a valid IF statement, and 

-    !!! then reindenting the section of code to the correct location, based on code context.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test17-reindentIfConstruct/reindentIfConstruct.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test17-reindentIfConstruct/reindentIfConstruct.f90.result
deleted file mode 100644
index 16b3b46..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test17-reindentIfConstruct/reindentIfConstruct.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program reindentIfConstruct

-    if (1 .GE. 1) a = 1

-    !<<<<< 2, 38, 4, 44, pass

-    

-    !!! This test shows the refactoring successfully converting a valid IF construct to a valid IF statement, and 

-    !!! then reindenting the section of code to the correct location, based on code context.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test18-commentHandling/commentHandling.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test18-commentHandling/commentHandling.f90
deleted file mode 100644
index ee06043..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test18-commentHandling/commentHandling.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-program commentHandling

-    implicit none

-    integer :: x, y, a

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) then

-        a = 1 !This is an if statement

-        !can add more statements here

-        !more comments here

-    end if

-    print *, "This is a test" !<<<<< 4, 5, 8, 11, pass

-    

-    !!! This test shows the refactoring successfully converting a valid IF construct to a valid IF statement. Even though the IF

-    !!! construct has multiple lines of code, only one of which is a valid statement, so it is therefore still refactorable. The

-    !!! refactoring will then take the lines of comments and append them to the end of the IF statement in order to preserve them.

-    !!! The user can then reformat the comments as they feel fit.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test18-commentHandling/commentHandling.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test18-commentHandling/commentHandling.f90.result
deleted file mode 100644
index a821b66..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test18-commentHandling/commentHandling.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-program commentHandling

-    implicit none

-    integer :: x, y, a

-    if (x .LT. y .OR. y .GT. 5 .AND. 6 .GE. 6) a = 1 !This is an if statement

-        !can add more statements here

-        !more comments here

-    

-    print *, "This is a test" !<<<<< 4, 5, 8, 11, pass

-    

-    !!! This test shows the refactoring successfully converting a valid IF construct to a valid IF statement. Even though the IF

-    !!! construct has multiple lines of code, only one of which is a valid statement, so it is therefore still refactorable. The

-    !!! refactoring will then take the lines of comments and append them to the end of the IF statement in order to preserve them.

-    !!! The user can then reformat the comments as they feel fit.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test19-optionalElse/optionalElse.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test19-optionalElse/optionalElse.f90
deleted file mode 100644
index f37fb85..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test19-optionalElse/optionalElse.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program convertIfStatementToIfConstructWithOptionalElseBlock

-    implicit none

-    integer :: var1, var2

-    print *, "This is an if construct example."

-    var1 = 4

-    var2 = 5

-    if (var1 < var2) print *, var1, " is less than ", var2, " using if-stmt." !<<<<< 7, 5, 7, 78, IfStmtToIfConstruct, TRUE, pass

-    

-    !!! This test shows the refactoring successfully converting a valid IF statement to a valid IF construct, and then based

-    !!! on the user's affirmative selection of the option, will add on an else construct block to the end of it.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test19-optionalElse/optionalElse.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test19-optionalElse/optionalElse.f90.result
deleted file mode 100644
index e79b0b1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test19-optionalElse/optionalElse.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-program convertIfStatementToIfConstructWithOptionalElseBlock

-    implicit none

-    integer :: var1, var2

-    print *, "This is an if construct example."

-    var1 = 4

-    var2 = 5

-    if (var1 < var2) then

-        print *, var1, " is less than ", var2, " using if-stmt." !<<<<< 7, 5, 7, 78, IfStmtToIfConstruct, TRUE, pass

-        !can add more statements here

-    else

-        !can add more statements here

-    end if

-    

-    !!! This test shows the refactoring successfully converting a valid IF statement to a valid IF construct, and then based

-    !!! on the user's affirmative selection of the option, will add on an else construct block to the end of it.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test20-optionalElseNotAdded/optionalElseNotAdded.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test20-optionalElseNotAdded/optionalElseNotAdded.f90
deleted file mode 100644
index 843a7cc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test20-optionalElseNotAdded/optionalElseNotAdded.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program convertIfStatementToIfConstructWithOutOptionalElseBlock

-    implicit none

-    integer :: var1, var2

-    print *, "This is an if construct example."

-    var1 = 4

-    var2 = 5

-    if (var1 < var2) print *, var1, " is less than ", var2, " using if-stmt." !<<<<< 7, 5, 7, 78, IfStmtToIfConstruct, FALSE, pass

-    

-    !!! This test shows the refactoring successfully converting a valid IF statement to a valid IF construct, and then based

-    !!! on the user's negative selection of the option, will now add on an else construct block to the end of it.

-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test20-optionalElseNotAdded/optionalElseNotAdded.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test20-optionalElseNotAdded/optionalElseNotAdded.f90.result
deleted file mode 100644
index 2d1d692..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/if-construct-statement-conversion/test20-optionalElseNotAdded/optionalElseNotAdded.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-program convertIfStatementToIfConstructWithOutOptionalElseBlock

-    implicit none

-    integer :: var1, var2

-    print *, "This is an if construct example."

-    var1 = 4

-    var2 = 5

-    if (var1 < var2) then

-        print *, var1, " is less than ", var2, " using if-stmt." !<<<<< 7, 5, 7, 78, IfStmtToIfConstruct, FALSE, pass

-        !can add more statements here

-    end if

-    

-    !!! This test shows the refactoring successfully converting a valid IF statement to a valid IF construct, and then based

-    !!! on the user's negative selection of the option, will now add on an else construct block to the end of it.

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/external.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/external.f90
deleted file mode 100644
index d437ea8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/external.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-subroutine declared_external_subroutine
-    implicit none
-    print *, "Called declared_external_subroutine"
-end subroutine declared_external_subroutine
-
-subroutine undeclared_external_subroutine
-    implicit none
-    print *, "Called undeclared_external_subroutine"
-end subroutine undeclared_external_subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/main.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/main.f90
deleted file mode 100644
index b348b08..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/main.f90
+++ /dev/null
@@ -1,42 +0,0 @@
-program program                                                      ! LINE 1
-    use module
-    implicit none
-
-    external declared_external_subroutine
-    integer :: unused_local_variable
-    integer :: assigned_local_variable
-    integer :: local_variable_accessed_from_internal_subroutine
-
-    ! Don't call unused_defined_external_subroutine
-    call defined_external_subroutine
-    call declared_external_subroutine
-    call undeclared_external_subroutine
-    call internal_subroutine
-    call used_module_subroutine
-
-    assigned_local_variable = local_variable_accessed_from_internal_subroutine
-
-    print *, assigned_local_variable
-
-contains
-
-    subroutine internal_subroutine                                   ! LINE 23
-        print *, "Called internal_subroutine"
-        local_variable_accessed_from_internal_subroutine = 12345
-    end subroutine internal_subroutine
-
-    subroutine unused_internal_subroutine
-        print *, "Called unused_internal_subroutine"
-    end subroutine unused_internal_subroutine
-
-end program program
-
-subroutine defined_external_subroutine
-    implicit none
-    print *, "Called defined_external_subroutine"
-end subroutine defined_external_subroutine
-
-subroutine unused_defined_external_subroutine
-    implicit none
-    print *, "Called unused_defined_external_subroutine"
-end subroutine unused_defined_external_subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/module.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/module.f90
deleted file mode 100644
index b3f0d51..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/check-can-add-decl/module.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-module module                                                        ! LINE 1
-    implicit none
-    
-    private :: private_module_subroutine
-    
-contains
-    
-    subroutine used_module_subroutine
-        print *, "Called used_module_subroutine"
-    end subroutine used_module_subroutine
-    
-    subroutine unused_module_subroutine
-        print *, "Called unused_module_subroutine"
-    end subroutine unused_module_subroutine
-    
-    subroutine private_module_subroutine
-        print *, "Called private_module_subroutine"
-    end subroutine private_module_subroutine
-    
-end module module
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/01-simple.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/01-simple.f90
deleted file mode 100644
index 8d0d2f4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/01-simple.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program program
-  implicit none
-! Don't forget about comments
-  ! That would be bad
-print *, "Hello" !<<<<<START !<<<<<END
-  stop
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/01-simple.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/01-simple.f90.result
deleted file mode 100644
index a979aeb..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/01-simple.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program program
-  implicit none
-  ! Don't forget about comments
-    ! That would be bad
-  print *, "Hello" !<<<<<START !<<<<<END
-  stop
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/02-end-after.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/02-end-after.f90
deleted file mode 100644
index 33fb83d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/02-end-after.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program program
-  implicit none
-print *, "Hello" !<<<<<START !<<<<<END
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/02-end-after.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/02-end-after.f90.result
deleted file mode 100644
index 3063bdd..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/02-end-after.f90.result
+++ /dev/null
@@ -1,4 +0,0 @@
-program program
-  implicit none
-  print *, "Hello" !<<<<<START !<<<<<END
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/03-blank-after.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/03-blank-after.f90
deleted file mode 100644
index 3550349..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/03-blank-after.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-    subroutine s     !<<<<<START
-      print *, 'Yip'
-    end subroutine   !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/03-blank-after.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/03-blank-after.f90.result
deleted file mode 100644
index 283be06..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/03-blank-after.f90.result
+++ /dev/null
@@ -1,3 +0,0 @@
-subroutine s     !<<<<<START
-  print *, 'Yip'
-end subroutine   !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/04-guess-indent.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/04-guess-indent.f90
deleted file mode 100644
index 54bdeb1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/04-guess-indent.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-program program
-print *, "Hello" !<<<<<START !<<<<<END
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/04-guess-indent.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/04-guess-indent.f90.result
deleted file mode 100644
index 4f26825..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/04-guess-indent.f90.result
+++ /dev/null
@@ -1,3 +0,0 @@
-program program
-    print *, "Hello" !<<<<<START !<<<<<END
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/05-eachline-test.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/05-eachline-test.f90
deleted file mode 100644
index 6ba1b56..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/05-eachline-test.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-            program program !<<<<<START
-          print *, "Hello"
-    end program program
-
-      subroutine s
-        integer :: i
-          do i = 3, 4
-        do j = 5, 6
-                  print *, i + j
-                     end do
-                             end do
-end subroutine !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/05-eachline-test.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/05-eachline-test.f90.result
deleted file mode 100644
index e2f0ef3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/05-eachline-test.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-program program !<<<<<START
-    print *, "Hello"
-end program program
-
-subroutine s
-    integer :: i
-    do i = 3, 4
-        do j = 5, 6
-            print *, i + j
-        end do
-    end do
-end subroutine !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/06-continuation-test.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/06-continuation-test.f90
deleted file mode 100644
index ec68a43..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/06-continuation-test.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program continuation !<<<<<START
-implicit none 
-							print &
-		*,&
-					"work"
-      end program continuation !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/06-continuation-test.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/06-continuation-test.f90.result
deleted file mode 100644
index b584980..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/06-continuation-test.f90.result
+++ /dev/null
@@ -1,6 +0,0 @@
-program continuation !<<<<<START
-    implicit none 
-    print &
-    *,&
-    "work"
-end program continuation !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/07-singleLineIf-test.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/07-singleLineIf-test.f90
deleted file mode 100644
index e83a76a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/07-singleLineIf-test.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-   program singlelineif !<<<<<START
-   		implicit none
-                                                      integer :: i,j
-             i = 1 
-             j = 2
-                     if(i == 1) print *, ""
-           if(j == 2)then
-           		print *,"asdf"
-           		   end if
-     end program singlelineif !<<<<<END
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/07-singleLineIf-test.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/07-singleLineIf-test.f90.result
deleted file mode 100644
index 8fef750..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/07-singleLineIf-test.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-program singlelineif !<<<<<START
-    implicit none
-    integer :: i,j
-    i = 1 
-    j = 2
-    if(i == 1) print *, ""
-    if(j == 2)then
-        print *,"asdf"
-    end if
-end program singlelineif !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/08-labelAndComments-test.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/08-labelAndComments-test.f90
deleted file mode 100644
index 52c38ec..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/08-labelAndComments-test.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program labelAndComment !<<<<<START
-	implicit none
-	integer :: x, y, z
-	
-		!now, I will assign values to these variables
-		x = 5
-		y = 10
-		z = 20 !this is my favorite number
-		
-		2 if(x == 5) print *, "Hello"
-				end program !<<<<<END
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/08-labelAndComments-test.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/08-labelAndComments-test.f90.result
deleted file mode 100644
index 97afd61..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/08-labelAndComments-test.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-program labelAndComment !<<<<<START
-    implicit none
-    integer :: x, y, z
-	
-    !now, I will assign values to these variables
-    x = 5
-    y = 10
-    z = 20 !this is my favorite number
-		
-2   if(x == 5) print *, "Hello"
-end program !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/09-bug331904.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/09-bug331904.f90
deleted file mode 100644
index 1c36880..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/09-bug331904.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program comment_surrounding_goto !<<<<<START
-    implicit none
-    integer anotherlabel
-
-    ! before comment
-    assign 10000 to anotherlabel ! line comment
-    ! after comment
-
-    ! before comment
-10000    goto anotherlabel ! line comment
-    ! after comment
-
-end program comment_surrounding_goto !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/09-bug331904.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/09-bug331904.f90.result
deleted file mode 100644
index 346c432..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/09-bug331904.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-program comment_surrounding_goto !<<<<<START
-    implicit none
-    integer anotherlabel
-
-    ! before comment
-    assign 10000 to anotherlabel ! line comment
-    ! after comment
-
-    ! before comment
-10000 goto anotherlabel ! line comment
-    ! after comment
-
-end program comment_surrounding_goto !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/10-continue.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/10-continue.f90
deleted file mode 100644
index 5cdff36..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/10-continue.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program p !<<<<<START
-      implicit none
-
-lbl:  DO I = 1, 10
-      end do
-
-      do 100 i = 1, 10
-          print *, i
-100           CONTINUE
-
-      print *, "Done"
-      stop
-end program !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/10-continue.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/10-continue.f90.result
deleted file mode 100644
index 85a7bb8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/10-continue.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-program p !<<<<<START
-    implicit none
-
-    lbl:  DO I = 1, 10
-    end do
-
-    do 100 i = 1, 10
-        print *, i
-100 CONTINUE
-
-    print *, "Done"
-    stop
-end program !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/11-select-case.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/11-select-case.f90
deleted file mode 100644
index d99e542..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/11-select-case.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program p !<<<<<START
-read *, i
-SELECT CASE (i)
-CASE (1)
-print *, "One"
-CASE (2)
-print *, "Two"
-CASE (3)
-print *, "Three"
-CASE DEFAULT
-print *, "Not one, two, or three"
-END SELECT
-end program !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/11-select-case.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/11-select-case.f90.result
deleted file mode 100644
index b14e343..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/11-select-case.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-program p !<<<<<START
-    read *, i
-    SELECT CASE (i)
-        CASE (1)
-            print *, "One"
-        CASE (2)
-            print *, "Two"
-        CASE (3)
-            print *, "Three"
-        CASE DEFAULT
-            print *, "Not one, two, or three"
-    END SELECT
-end program !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/12-line-continuations.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/12-line-continuations.f90
deleted file mode 100644
index d5b668c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/12-line-continuations.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-            program & !<<<<<START
-            program
-          print *, &
-           "Hello"
-    end&
-    program program
-
-      subroutine s
-        integer :: i
-          do i = 3, 4
-        do j =&
-          5, 6
-                  print *, i + j
-                     end do
-                             end&
- do
-end subroutine !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/12-line-continuations.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/12-line-continuations.f90.result
deleted file mode 100644
index 51552b8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/reindenter/12-line-continuations.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-program & !<<<<<START
-program
-    print *, &
-    "Hello"
-end&
-program program
-
-subroutine s
-    integer :: i
-    do i = 3, 4
-        do j =&
-        5, 6
-            print *, i + j
-        end do
-    end&
-    do
-end subroutine !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-1-initial.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-1-initial.f90
deleted file mode 100644
index 28819a2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-1-initial.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
-	integer, parameter :: TWENTY = 20 ! a constant
-	print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-  subroutine q
-  end
-  
-  ! Subroutine comment
-  subroutine s(x) ! sub sub
-    real, intent(in) :: x ! This is x
-    print *, x ! Printing
-  end subroutine
-  
-  subroutine r
-  end
-end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-2-proggie-shorter.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-2-proggie-shorter.f90
deleted file mode 100644
index 1153ad5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-2-proggie-shorter.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program p ! Yes, a program
-	integer, parameter :: TWENTY = 20 ! a constant
-	print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-  subroutine q
-  end
-  
-  ! Subroutine comment
-  subroutine s(x) ! sub sub
-    real, intent(in) :: x ! This is x
-    print *, x ! Printing
-  end subroutine
-  
-  subroutine r
-  end
-end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-3-proggie-longer.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-3-proggie-longer.f90
deleted file mode 100644
index 37a8bf0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-3-proggie-longer.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggiedoggie ! Yes, a program
-	integer, parameter :: TWENTY = 20 ! a constant
-	print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-  subroutine q
-  end
-  
-  ! Subroutine comment
-  subroutine s(x) ! sub sub
-    real, intent(in) :: x ! This is x
-    print *, x ! Printing
-  end subroutine
-  
-  subroutine r
-  end
-end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-4-q-cut.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-4-q-cut.f90
deleted file mode 100644
index 80be11c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-4-q-cut.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
-	integer, parameter :: TWENTY = 20 ! a constant
-	print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-  
-  ! Subroutine comment
-  subroutine s(x) ! sub sub
-    real, intent(in) :: x ! This is x
-    print *, x ! Printing
-  end subroutine
-  
-  subroutine r
-  end
-end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-5-q-pasted.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-5-q-pasted.f90
deleted file mode 100644
index 7b5c1a2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-5-q-pasted.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
-	integer, parameter :: TWENTY = 20 ! a constant
-	print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-  
-  ! Subroutine comment
-  subroutine s(x) ! sub sub
-    real, intent(in) :: x ! This is x
-    print *, x ! Printing
-  end subroutine
-  
-  subroutine r
-  end
-end
-  subroutine q
-  end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-6-q-pasted-at-bottom.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-6-q-pasted-at-bottom.f90
deleted file mode 100644
index 19d94da..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-6-q-pasted-at-bottom.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
-	integer, parameter :: TWENTY = 20 ! a constant
-	print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-  
-  ! Subroutine comment
-  subroutine s(x) ! sub sub
-    real, intent(in) :: x ! This is x
-    print *, x ! Printing
-  end subroutine
-  
-  subroutine r
-  end
-end
-
-subroutine t
-end subroutine ! EOF comment
-  subroutine q
-  end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-7-q-pasted-formatted.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-7-q-pasted-formatted.f90
deleted file mode 100644
index df092d0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-7-q-pasted-formatted.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
-	integer, parameter :: TWENTY = 20 ! a constant
-	print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-  
-  ! Subroutine comment
-  subroutine s(x) ! sub sub
-    real, intent(in) :: x ! This is x
-    print *, x ! Printing
-  end subroutine
-  
-  subroutine r
-  end
-end
-subroutine q
-end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-8-q-pasted-at-bottom-formatted.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-8-q-pasted-at-bottom-formatted.f90
deleted file mode 100644
index e48bad7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-8-q-pasted-at-bottom-formatted.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
-	integer, parameter :: TWENTY = 20 ! a constant
-	print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-  
-  ! Subroutine comment
-  subroutine s(x) ! sub sub
-    real, intent(in) :: x ! This is x
-    print *, x ! Printing
-  end subroutine
-  
-  subroutine r
-  end
-end
-
-subroutine t
-end subroutine ! EOF comment
-subroutine q
-end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-9-t-above-q.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-9-t-above-q.f90
deleted file mode 100644
index f1031ae..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/hello-9-t-above-q.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
-	integer, parameter :: TWENTY = 20 ! a constant
-	print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-
-    subroutine t
-    end subroutine ! EOF comment
-  subroutine q
-  end
-  
-  ! Subroutine comment
-  subroutine s(x) ! sub sub
-    real, intent(in) :: x ! This is x
-    print *, x ! Printing
-  end subroutine
-  
-  subroutine r
-  end
-end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-single/test-single-loop.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-single/test-single-loop.f90
deleted file mode 100644
index 58d8d40..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-single/test-single-loop.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-subroutine main()

-	integer :: i, j

-	integer :: k, z

-	

-	

-	do j = 1, 10 !<<<<< 6, 5, 12, 11, fail-initial

-		print *, i                   

-   		if (i .gt. j) then

-     		print *, i * 10

-   		end if                      

-   		print *, i

-	end do

-	

-

-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-single/test-single-loop.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-single/test-single-loop.f90.result
deleted file mode 100644
index f448f4d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-single/test-single-loop.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-subroutine main()

-	integer :: i, j

-	integer :: k, z

-	

-	!<<<<<START

-	do j = 1, 10

-		print *, i                   

-   		if (i .gt. j) then

-     		print *, i * 10

-   		end if                      

-   		print *, i

-	end do

-	!<<<<<END

-

-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple1/test-triple-loop.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple1/test-triple-loop.f90
deleted file mode 100644
index c1c9103..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple1/test-triple-loop.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-subroutine main()

-    integer :: i, j

-    integer :: k, z

-

-

-    do j = 1, 10

-        do i = 1, 10 !<<<<< 7, 9, 15, 15, pass

-            do k = 2, 20

-                print *, i

-                   if (i .gt. j) then

-                     print *, i * 10

-                   end if

-                   print *, i

-               end do

-        end do

-    end do

-

-

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple1/test-triple-loop.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple1/test-triple-loop.f90.result
deleted file mode 100644
index 8a4eb34..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple1/test-triple-loop.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-subroutine main()

-    integer :: i, j

-    integer :: k, z

-

-

-    do j = 1, 10

-        do k = 2, 20

-            do i = 1, 10 !<<<<< 7, 9, 15, 15, pass

-                print *, i

-                if (i .gt. j) then

-                    print *, i * 10

-                end if

-                print *, i

-            end do

-        end do

-    end do

-

-

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple2/test-triple-loop2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple2/test-triple-loop2.f90
deleted file mode 100644
index 8c3aa3d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple2/test-triple-loop2.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-subroutine main()

-	integer :: i, j

-	integer :: k, z

-	

-	

-	do i = 1, 10 !<<<<< 6, 5, 16, 11, pass

-		do j = 1, 15

-			do k = 1,20

-				print *, i                   

-	       		if (i .gt. j) then

-	         		print *, i * 10

-	       		end if                      

-	       		print *, i

-	       	end do

-		end do

-	end do

-	

-

-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple2/test-triple-loop2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple2/test-triple-loop2.f90.result
deleted file mode 100644
index 7f7ff75..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test-triple2/test-triple-loop2.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-subroutine main()

-	integer :: i, j

-	integer :: k, z

-	

-	

-	do j = 1, 15

-	    do i = 1, 10 !<<<<< 6, 5, 16, 11, pass

-	        do k = 1,20

-	            print *, i                   

-	            if (i .gt. j) then

-	                print *, i * 10

-	            end if                      

-	            print *, i

-	        end do

-	    end do

-	end do

-	

-

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test1-simple/test01-simple.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test1-simple/test01-simple.f90
deleted file mode 100644
index 5b6515c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test1-simple/test01-simple.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program main

-	integer :: i, j 

-	

-	

-	do j = 1, 10

-		do i = 1, 10 !<<<<< 5, 5, 9, 11, pass

-			print *, i+j

-		end do

-	end do

-	

-

-end program main
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test1-simple/test01-simple.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test1-simple/test01-simple.f90.result
deleted file mode 100644
index 51a4ac9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test1-simple/test01-simple.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-program main

-	integer :: i, j 

-	

-	

-	do i = 1, 10 !<<<<< 5, 5, 9, 11, pass

-	    do j = 1, 10

-	        print *, i+j

-	    end do

-	end do

-	

-

-end program main

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test2-simple/test02-simple.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test2-simple/test02-simple.f90
deleted file mode 100644
index 953a97a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test2-simple/test02-simple.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-program main

-	integer :: i, j

-	integer :: k, z

-	

-	

-	do j = 1, 10 !<<<<< 6, 5, 14, 11, pass

-	    do i = 2, 15

-	        print *, i                   

-	        if (i .gt. j) then

-	            print *, i * 10

-	        end if                      

-	        print *, i

-	    end do

-	end do

-	

-

-end program main

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test2-simple/test02-simple.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test2-simple/test02-simple.f90.result
deleted file mode 100644
index cfa5b21..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/interchange-loops/test2-simple/test02-simple.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-program main

-	integer :: i, j

-	integer :: k, z

-	

-	

-	do i = 2, 15

-	    do j = 1, 10 !<<<<< 6, 5, 14, 11, pass

-	        print *, i                   

-	        if (i .gt. j) then

-	            print *, i * 10

-	        end if                      

-	        print *, i

-	    end do

-	end do

-	

-

-end program main

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-big-expression/bigexpression.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-big-expression/bigexpression.f90
deleted file mode 100644
index 37907b3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-big-expression/bigexpression.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program p !<<<<< 1, 9, pass

-	integer :: hello

-	intrinsic flush

-	call s

-	call flush; stop

-contains

-	subroutine s

-		parameter (THREE = 3)

-		print *, THREE + 2 + 63 * twice(4)

-	end subroutine

-

-	integer function twice(n)

-		intent(in) :: n

-		twice = 2 * n

-	end function

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-big-expression/bigexpression.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-big-expression/bigexpression.f90.result
deleted file mode 100644
index 4cfd75c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-big-expression/bigexpression.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-program p !<<<<< 1, 9, pass

-	implicit none

-	integer :: hello

-	intrinsic flush

-	call s

-	call flush; stop

-contains

-	subroutine s

-		implicit none

-		real :: three

-		parameter (THREE = 3)

-		print *, THREE + 2 + 63 * twice(4)

-	end subroutine

-

-	integer function twice(n)

-		implicit none

-		integer :: n

-		intent(in) :: n

-		twice = 2 * n

-	end function

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-crazy-implicits/crazyimplicits.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-crazy-implicits/crazyimplicits.f90
deleted file mode 100644
index f843f31..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-crazy-implicits/crazyimplicits.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program p !<<<<< 1, 9, pass

-    intrinsic flush

-    type t

-        integer n

-    end type

-    type(t) u

-

-    a = 1

-    d = 1

-    u = t(5)

-    call s

-    print *, a, d, u

-    call flush; stop

-contains

-  subroutine s

-    implicit integer (a-c,g), real (d-e), type(t) (f), complex (h)

-

-    a = 3

-    b = 3

-    c = 3

-    d = 3.0

-    e = 3.0

-    f%n = 3

-    g = 3

-    h = (3, 4)

-  end subroutine

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-crazy-implicits/crazyimplicits.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-crazy-implicits/crazyimplicits.f90.result
deleted file mode 100644
index aabb8b7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-crazy-implicits/crazyimplicits.f90.result
+++ /dev/null
@@ -1,36 +0,0 @@
-program p !<<<<< 1, 9, pass

-    implicit none

-    real :: a

-    real :: d

-    intrinsic flush

-    type t

-        integer n

-    end type

-    type(t) u

-

-    a = 1

-    d = 1

-    u = t(5)

-    call s

-    print *, a, d, u

-    call flush; stop

-contains

-  subroutine s

-    implicit none

-    integer :: b

-    integer :: c

-    real :: e

-    type(t) :: f

-    integer :: g

-    complex :: h

-

-    a = 3

-    b = 3

-    c = 3

-    d = 3.0

-    e = 3.0

-    f%n = 3

-    g = 3

-    h = (3, 4)

-  end subroutine

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-format-stmt/bug306444.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-format-stmt/bug306444.f90
deleted file mode 100644
index 59684bc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-format-stmt/bug306444.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-9999 FORMAT( ' ', A6, ' PASSED THE COMPUTATIONAL TESTS (', I6, ' CALL', 'S)' )
-     print 9999, "X", 3
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-format-stmt/bug306444.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-format-stmt/bug306444.f90.result
deleted file mode 100644
index 1e4713e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-format-stmt/bug306444.f90.result
+++ /dev/null
@@ -1,4 +0,0 @@
-     implicit none
-9999 FORMAT( ' ', A6, ' PASSED THE COMPUTATIONAL TESTS (', I6, ' CALL', 'S)' )
-     print 9999, "X", 3
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-fortran/fortran.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-fortran/fortran.f90
deleted file mode 100644
index 216d5c9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-fortran/fortran.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-program functioncalling !<<<<< 1, 9, pass

-  intrinsic flush

-  print *, 'This is the Fortran program; I am going to call some functions now...'

-  call sum(1.0,2.0,3.0)

-  call factorial(3)

-  print *, 'Done'

-  call flush; stop

-

-contains

-

-  subroutine sum(x,y,z)

-

-

-	  !x = x+y+z ! gfortran 4.4.0 on Mac OS X 10.5.7 gives "Bus error"

-	  print *, x

-  end subroutine sum

-

-  subroutine factorial(j)

-	  p=1

-	  i=1

-	  do i=1,j

-	    p=p*i

-	  end do

-

-	  print *, j, "! = ", p

-  end subroutine factorial

-

-  subroutine sum2(x,y)

-	  implicit none

-	  real :: p

-	  integer :: x, y

-	  p = x+y

-  end subroutine sum2

-end

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-fortran/fortran.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-fortran/fortran.f90.result
deleted file mode 100644
index 2758d35..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-fortran/fortran.f90.result
+++ /dev/null
@@ -1,43 +0,0 @@
-program functioncalling !<<<<< 1, 9, pass

-  implicit none

-  intrinsic flush

-  print *, 'This is the Fortran program; I am going to call some functions now...'

-  call sum(1.0,2.0,3.0)

-  call factorial(3)

-  print *, 'Done'

-  call flush; stop

-

-contains

-

-  subroutine sum(x,y,z)

-	  implicit none

-	  real :: x

-	  real :: y

-	  real :: z

-

-

-	  !x = x+y+z ! gfortran 4.4.0 on Mac OS X 10.5.7 gives "Bus error"

-	  print *, x

-  end subroutine sum

-

-  subroutine factorial(j)

-	  implicit none

-	  integer :: i

-	  integer :: j

-	  real :: p

-	  p=1

-	  i=1

-	  do i=1,j

-	    p=p*i

-	  end do

-

-	  print *, j, "! = ", p

-  end subroutine factorial

-

-  subroutine sum2(x,y)

-	  implicit none

-	  real :: p

-	  integer :: x, y

-	  p = x+y

-  end subroutine sum2

-end

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-implicit-subprog/implicit-subprog.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-implicit-subprog/implicit-subprog.f90
deleted file mode 100644
index b8adbf6..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-implicit-subprog/implicit-subprog.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-some_variable = 3.0 !<<<<<1, 9, pass

-call some_subprogram

-end

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-implicit-subprog/implicit-subprog.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-implicit-subprog/implicit-subprog.f90.result
deleted file mode 100644
index c508ed4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-implicit-subprog/implicit-subprog.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-implicit none

-real :: some_variable

-some_variable = 3.0 !<<<<<1, 9, pass

-call some_subprogram

-end

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files1/crazyimplicits.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files1/crazyimplicits.f90
deleted file mode 100644
index f843f31..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files1/crazyimplicits.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program p !<<<<< 1, 9, pass

-    intrinsic flush

-    type t

-        integer n

-    end type

-    type(t) u

-

-    a = 1

-    d = 1

-    u = t(5)

-    call s

-    print *, a, d, u

-    call flush; stop

-contains

-  subroutine s

-    implicit integer (a-c,g), real (d-e), type(t) (f), complex (h)

-

-    a = 3

-    b = 3

-    c = 3

-    d = 3.0

-    e = 3.0

-    f%n = 3

-    g = 3

-    h = (3, 4)

-  end subroutine

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files1/crazyimplicits.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files1/crazyimplicits.f90.result
deleted file mode 100644
index aabb8b7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files1/crazyimplicits.f90.result
+++ /dev/null
@@ -1,36 +0,0 @@
-program p !<<<<< 1, 9, pass

-    implicit none

-    real :: a

-    real :: d

-    intrinsic flush

-    type t

-        integer n

-    end type

-    type(t) u

-

-    a = 1

-    d = 1

-    u = t(5)

-    call s

-    print *, a, d, u

-    call flush; stop

-contains

-  subroutine s

-    implicit none

-    integer :: b

-    integer :: c

-    real :: e

-    type(t) :: f

-    integer :: g

-    complex :: h

-

-    a = 3

-    b = 3

-    c = 3

-    d = 3.0

-    e = 3.0

-    f%n = 3

-    g = 3

-    h = (3, 4)

-  end subroutine

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files2/fortran.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files2/fortran.f90
deleted file mode 100644
index 216d5c9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files2/fortran.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-program functioncalling !<<<<< 1, 9, pass

-  intrinsic flush

-  print *, 'This is the Fortran program; I am going to call some functions now...'

-  call sum(1.0,2.0,3.0)

-  call factorial(3)

-  print *, 'Done'

-  call flush; stop

-

-contains

-

-  subroutine sum(x,y,z)

-

-

-	  !x = x+y+z ! gfortran 4.4.0 on Mac OS X 10.5.7 gives "Bus error"

-	  print *, x

-  end subroutine sum

-

-  subroutine factorial(j)

-	  p=1

-	  i=1

-	  do i=1,j

-	    p=p*i

-	  end do

-

-	  print *, j, "! = ", p

-  end subroutine factorial

-

-  subroutine sum2(x,y)

-	  implicit none

-	  real :: p

-	  integer :: x, y

-	  p = x+y

-  end subroutine sum2

-end

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files2/fortran.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files2/fortran.f90.result
deleted file mode 100644
index 2758d35..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/intro-implicit-none/test-two-files2/fortran.f90.result
+++ /dev/null
@@ -1,43 +0,0 @@
-program functioncalling !<<<<< 1, 9, pass

-  implicit none

-  intrinsic flush

-  print *, 'This is the Fortran program; I am going to call some functions now...'

-  call sum(1.0,2.0,3.0)

-  call factorial(3)

-  print *, 'Done'

-  call flush; stop

-

-contains

-

-  subroutine sum(x,y,z)

-	  implicit none

-	  real :: x

-	  real :: y

-	  real :: z

-

-

-	  !x = x+y+z ! gfortran 4.4.0 on Mac OS X 10.5.7 gives "Bus error"

-	  print *, x

-  end subroutine sum

-

-  subroutine factorial(j)

-	  implicit none

-	  integer :: i

-	  integer :: j

-	  real :: p

-	  p=1

-	  i=1

-	  do i=1,j

-	    p=p*i

-	  end do

-

-	  print *, j, "! = ", p

-  end subroutine factorial

-

-  subroutine sum2(x,y)

-	  implicit none

-	  real :: p

-	  integer :: x, y

-	  p = x+y

-  end subroutine sum2

-end

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/simple1/01-simple.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/simple1/01-simple.f90
deleted file mode 100644
index 53fef12..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/simple1/01-simple.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests

-program program !<<<<< 2, 1, 8, 20, false, pass

-  implicit none

-! Don't forget about comments

-  ! That would be bad

-print *, "Hello"

-  stop

-end program program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/simple1/01-simple.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/simple1/01-simple.f90.result
deleted file mode 100644
index cc510cd..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/simple1/01-simple.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests

-PROGRAM program !<<<<< 2, 1, 8, 20, false, pass

-  IMPLICIT NONE

-! Don't forget about comments

-  ! That would be bad

-PRINT *, "Hello"

-  STOP

-END PROGRAM program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files1/01-simple.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files1/01-simple.f90
deleted file mode 100644
index 53fef12..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files1/01-simple.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests

-program program !<<<<< 2, 1, 8, 20, false, pass

-  implicit none

-! Don't forget about comments

-  ! That would be bad

-print *, "Hello"

-  stop

-end program program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files1/01-simple.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files1/01-simple.f90.result
deleted file mode 100644
index cc510cd..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files1/01-simple.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests

-PROGRAM program !<<<<< 2, 1, 8, 20, false, pass

-  IMPLICIT NONE

-! Don't forget about comments

-  ! That would be bad

-PRINT *, "Hello"

-  STOP

-END PROGRAM program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files2/02-end-after.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files2/02-end-after.f90
deleted file mode 100644
index 9d1c945..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files2/02-end-after.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests

-program program1 !<<<<< 2, 1, 5, 20, false, pass

-implicit none

-print *, "Hello"

-end program program1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files2/02-end-after.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files2/02-end-after.f90.result
deleted file mode 100644
index eb4b879..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/keyword-case/two-files2/02-end-after.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests

-PROGRAM program1 !<<<<< 2, 1, 5, 20, false, pass

-IMPLICIT NONE

-PRINT *, "Hello"

-END PROGRAM program1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.1/justCommons1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.1/justCommons1.f90
deleted file mode 100644
index 3d96046..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.1/justCommons1.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program common1

-    common /block/ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, &

-                   a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1

-end program common1

-

-subroutine s

-    common /block/ i, j !<<<<< 7, 13, 7, 18,, pass

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.1/justCommons1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.1/justCommons1.f90.result
deleted file mode 100644
index 2a0e2b7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.1/justCommons1.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-program common1

-    common /block/ i_common, j_common, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, &

-                   a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1

-end program common1

-

-subroutine s

-    common /block/ i_common, j_common !<<<<< 7, 13, 7, 18,, pass

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.2/justCommons2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.2/justCommons2.f90
deleted file mode 100644
index 878bc97..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.2/justCommons2.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program common1 !<<<<< 2, 13, 2, 18,, pass

-    common /block/ a, b, c, d, e,&

-                   f, g, h, i, j,&

-                   k, l, m, n, o,&

-                   p, q, r, s, t,&

-                   u, v, w, x, y, z,&

-                   a1, b1, c1, d1, e1, f1,&

-                   g1, h1, i1, j1, k1, l1,&

-                   m1, n1, o1, p1, q1, r1,&

-                   s1, t1, u1, v1, w1, x1,&

-                   y1, z1

-end program common1

-

-subroutine s

-    common /block/ i, j

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.2/justCommons2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.2/justCommons2.f90.result
deleted file mode 100644
index b0303e2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test0.2/justCommons2.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-program common1 !<<<<< 2, 13, 2, 18,, pass

-    common /block/ a_common, b_common, c_common, d_common, e_common,&

-                   f_common, g_common, h_common, i_common, j_common,&

-                   k_common, l_common, m_common, n_common, o_common,&

-                   p_common, q_common, r_common, s_common, t_common,&

-                   u_common, v_common, w_common, x_common, y_common, z_common,&

-                   a1_common, b1_common, c1_common, d1_common, e1_common, f1_common,&

-                   g1_common, h1_common, i1_common, j1_common, k1_common, l1_common,&

-                   m1_common, n1_common, o1_common, p1_common, q1_common, r1_common,&

-                   s1_common, t1_common, u1_common, v1_common, w1_common, x1_common,&

-                   y1_common, z1_common

-end program common1

-

-subroutine s_common

-    common /block/ a_common, b_common

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common1.f90
deleted file mode 100644
index baa5def..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common1.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program common1

-!use common2

-!use common3

-!use common4

-implicit none

-

-common /block/ a, b, c, /mem/ r, f, t !<<<<< 7, 9, 7, 14,, pass

-integer :: a

-real :: b

-double precision :: c

-

-integer :: r, f, t

-

-a = 5

-b = 4.6

-c = 2.345

-

-call helper

-end program common1

-

-subroutine helper

-implicit none

-common /block/ e, f, g

-integer :: e

-real :: f

-double precision :: g

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common1.f90.result
deleted file mode 100644
index fc8a432..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common1.f90.result
+++ /dev/null
@@ -1,27 +0,0 @@
-program common1

-!use common2

-!use common3

-!use common4

-implicit none

-

-common /block/ a_common, b_common, c_common, /mem/ r, f, t !<<<<< 7, 9, 7, 14,, pass

-integer :: a_common

-real :: b_common

-double precision :: c_common

-

-integer :: r, f, t

-

-a_common = 5

-b_common = 4.6

-c_common = 2.345

-

-call helper

-end program common1

-

-subroutine helper

-implicit none

-common /block/ a_common, b_common, c_common

-integer :: a_common

-real :: b_common

-double precision :: c_common

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common2.f90
deleted file mode 100644
index dfbe524..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module common2

-    implicit none

-

-    contains

-    subroutine help_common2

-        common /block/ d, e, f

-        integer :: d

-        real :: e

-        double precision :: f

-    end subroutine help_common2

-end module common2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common2.f90.result
deleted file mode 100644
index 1ecb2bc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common2.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-module common2

-    implicit none

-

-    contains

-    subroutine help_common2

-        common /block/ a_common, b_common, c_common

-        integer :: a_common

-        real :: b_common

-        double precision :: c_common

-    end subroutine help_common2

-end module common2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common3.f90
deleted file mode 100644
index 529bbee..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common3.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module common3

-    implicit none

-

-    contains

-    subroutine help_common3

-        common /block/ r, s, t

-        integer :: r

-        real :: s

-        double precision :: t

-

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common3

-end module common3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common3.f90.result
deleted file mode 100644
index 86dfe27..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common3.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-module common3

-    implicit none

-

-    contains

-    subroutine help_common3

-        common /block/ a_common, b_common, c_common

-        integer :: a_common

-        real :: b_common

-        double precision :: c_common

-

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common3

-end module common3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common4.f90
deleted file mode 100644
index 393355c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common4.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-module common4

-    implicit none

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module common4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common4.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common4.f90.result
deleted file mode 100644
index 393355c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test1/common4.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-module common4

-    implicit none

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module common4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.1/namesProv1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.1/namesProv1.f90
deleted file mode 100644
index 31b4bc3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.1/namesProv1.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program namesProv

-    implicit none

-    common /names/ a, b, c !<<<<< 3, 13, 3, 18, a_hello, b_hello, c_hello, pass

-    integer :: a, b, c

-

-    print *, "Test the test case program with given names"

-end program namesProv

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.1/namesProv1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.1/namesProv1.f90.result
deleted file mode 100644
index 6f605e8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.1/namesProv1.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program namesProv

-    implicit none

-    common /names/ a_hello, b_hello, c_hello !<<<<< 3, 13, 3, 18, a_hello, b_hello, c_hello, pass

-    integer :: a_hello, b_hello, c_hello

-

-    print *, "Test the test case program with given names"

-end program namesProv

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.2/namesProv2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.2/namesProv2.f90
deleted file mode 100644
index b6d5c7e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.2/namesProv2.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program namesProv2

-    implicit none

-    common /names/ q, w, e !<<<<< 3, 13, 3, 18, a_hello, b_hello, c_hello, pass

-    integer q, w, e

-

-    q = 2

-    w = 4

-    e = q + w

-end program namesProv2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.2/namesProv2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.2/namesProv2.f90.result
deleted file mode 100644
index 307ce00..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test2.2/namesProv2.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-program namesProv2

-    implicit none

-    common /names/ a_hello, b_hello, c_hello !<<<<< 3, 13, 3, 18, a_hello, b_hello, c_hello, pass

-    integer a_hello, b_hello, c_hello

-

-    a_hello = 2

-    b_hello = 4

-    c_hello = a_hello + b_hello

-end program namesProv2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.1/short1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.1/short1.f90
deleted file mode 100644
index 03e73df..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.1/short1.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-program common1

-  implicit none

-

-  common /block/ a, b, c !<<<<< 4, 11, 4, 16, aaa, bbb, ccc, pass

-  integer :: a

-  real :: b

-  double precision :: c

-

-  a = 5

-  b = 4.6

-  c = 2.345

-  print *, a, b, c

-

-  call helper

-  print *, a, b, c

-end program common1

-

-subroutine helper

-  implicit none

-  common /block/ e, f

-  integer :: e

-  real :: f

-  

-  e = 50

-  f = 40.6

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.1/short1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.1/short1.f90.result
deleted file mode 100644
index c4af663..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.1/short1.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-program common1

-  implicit none

-

-  common /block/ aaa, bbb, ccc !<<<<< 4, 11, 4, 16, aaa, bbb, ccc, pass

-  integer :: aaa

-  real :: bbb

-  double precision :: ccc

-

-  aaa = 5

-  bbb = 4.6

-  ccc = 2.345

-  print *, aaa, bbb, ccc

-

-  call helper

-  print *, aaa, bbb, ccc

-end program common1

-

-subroutine helper

-  implicit none

-  common /block/ aaa, bbb

-  integer :: aaa

-  real :: bbb

-  

-  aaa = 50

-  bbb = 40.6

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.2/short2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.2/short2.f90
deleted file mode 100644
index 258cb81..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.2/short2.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-program common1

-  implicit none

-

-  common /block/ a, b, c

-  integer :: a

-  real :: b

-  double precision :: c

-

-  a = 5

-  b = 4.6

-  c = 2.345

-  print *, a, b, c

-

-  call helper

-  print *, a, b, c

-end program common1

-

-subroutine helper

-  implicit none

-  common /block/ e, f !<<<<< 20, 11, 20, 16, aaa, bbb, pass

-  integer :: e

-  real :: f

-  

-  e = 50

-  f = 40.6

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.2/short2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.2/short2.f90.result
deleted file mode 100644
index a25ebb8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test4.2/short2.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-program common1

-  implicit none

-

-  common /block/ aaa, bbb, c

-  integer :: aaa

-  real :: bbb

-  double precision :: c

-

-  aaa = 5

-  bbb = 4.6

-  c = 2.345

-  print *, aaa, bbb, c

-

-  call helper

-  print *, aaa, bbb, c

-end program common1

-

-subroutine helper

-  implicit none

-  common /block/ aaa, bbb !<<<<< 20, 11, 20, 16, aaa, bbb, pass

-  integer :: aaa

-  real :: bbb

-  

-  aaa = 50

-  bbb = 40.6

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common1.f90
deleted file mode 100644
index 3cd3b05..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common1.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program common1

-!use common2

-!use common3

-!use common4

-implicit none

-

-common /block/ a, b, c, /mem/ r, f, t !<<<<< 7, 9, 7, 14, a_hello, helper, c_hello, fail-final

-integer :: a

-real :: b

-double precision :: c

-

-integer :: r, f, t

-

-a = 5

-b = 4.6

-c = 2.345

-

-call helper

-end program common1

-

-subroutine helper

-implicit none

-common /block/ e, f, g

-integer :: e

-real :: f

-double precision :: g

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common2.f90
deleted file mode 100644
index dfbe524..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module common2

-    implicit none

-

-    contains

-    subroutine help_common2

-        common /block/ d, e, f

-        integer :: d

-        real :: e

-        double precision :: f

-    end subroutine help_common2

-end module common2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common3.f90
deleted file mode 100644
index 529bbee..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common3.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module common3

-    implicit none

-

-    contains

-    subroutine help_common3

-        common /block/ r, s, t

-        integer :: r

-        real :: s

-        double precision :: t

-

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common3

-end module common3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common4.f90
deleted file mode 100644
index 393355c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.1/common4.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-module common4

-    implicit none

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module common4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common1.f90
deleted file mode 100644
index 88259ce..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common1.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program common1

-!use common2

-!use common3

-!use common4

-implicit none

-

-common /block/ a, b, c, /mem/ r, f, t !<<<<< 7, 9, 7, 11, help_common2, b_hello, c_hello, fail-initial

-integer :: a

-real :: b

-double precision :: c

-

-integer :: r, f, t

-

-a = 5

-b = 4.6

-c = 2.345

-

-call helper

-end program common1

-

-subroutine helper

-implicit none

-common /block/ e, f, g

-integer :: e

-real :: f

-double precision :: g

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common2.f90
deleted file mode 100644
index dfbe524..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module common2

-    implicit none

-

-    contains

-    subroutine help_common2

-        common /block/ d, e, f

-        integer :: d

-        real :: e

-        double precision :: f

-    end subroutine help_common2

-end module common2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common3.f90
deleted file mode 100644
index 529bbee..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common3.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module common3

-    implicit none

-

-    contains

-    subroutine help_common3

-        common /block/ r, s, t

-        integer :: r

-        real :: s

-        double precision :: t

-

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common3

-end module common3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common4.f90
deleted file mode 100644
index 393355c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test5.2/common4.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-module common4

-    implicit none

-

-    contains

-    subroutine help_common4

-        common /mem/ a, b, c

-        integer :: a, b, c

-    end subroutine help_common4

-end module common4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.1/typesDiffer1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.1/typesDiffer1.f90
deleted file mode 100644
index 76989fc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.1/typesDiffer1.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-program common1

-  implicit none

-

-  common /block/ a, b, c !<<<<< 4, 11, 4, 16, fail-final

-  integer :: a

-  real :: b

-  double precision :: c

-

-  a = 5

-  b = 4.6

-  c = 2.345

-  print *, a, b, c

-

-  call helper

-  print *, a, b, c

-end program common1

-

-subroutine helper

-  implicit none

-  common /block/ e, f

-  integer :: e

-  double precision :: f  ! type differs

-  

-  e = 50

-  f = 40.6

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.2/typesDiffer1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.2/typesDiffer1.f90
deleted file mode 100644
index 0a9d064..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.2/typesDiffer1.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-program common1

-  implicit none

-

-  common /block/ a, b, c

-  integer :: a

-  real :: b

-  double precision :: c

-

-  a = 5

-  b = 4.6

-  c = 2.345

-  print *, a, b, c

-

-  call helper

-  print *, a, b, c

-end program common1

-

-subroutine helper

-  implicit none

-  common /block/ e, f !<<<<< 20, 11, 20, 16, fail-final

-  integer :: e

-  double precision :: f  ! type differs

-  

-  e = 50

-  f = 40.6

-end subroutine helper

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.3/typesDiffer2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.3/typesDiffer2.f90
deleted file mode 100644
index 0317d3f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-common-var-names-consistent/test6.3/typesDiffer2.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program differ

-   common /block/ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, & !<<<<< 2, 12, 2, 17, fail-final

-                  a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1

-   integer a, b

-   end program differ

-

-subroutine s

-   common /block/ i, j

-   real i, j

-end subroutine

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv1/priv1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv1/priv1.f90
deleted file mode 100644
index 3e179a8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv1/priv1.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-module priv1

-    implicit none

-    integer a, b, c

-    private a, c !<<<<< 4, 13, 4, 14, pass

-end module priv1

-

-program p

-	use priv1

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv1/priv1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv1/priv1.f90.result
deleted file mode 100644
index c267a3c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv1/priv1.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-module priv1

-    implicit none

-    integer a, b, c

-    private c !<<<<< 4, 13, 4, 14, pass

-    public a

-end module priv1

-

-program p

-	use priv1

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv2/priv2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv2/priv2.f90
deleted file mode 100644
index 64380b7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv2/priv2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module priv2

-    implicit none

-    double precision f

-    real q

-    private f !<<<<< 5, 13, 5, 14, pass

-    public q

-end module priv2

-

-program p

-	use priv2

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv2/priv2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv2/priv2.f90.result
deleted file mode 100644
index 25324ec..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/priv2/priv2.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-module priv2

-    implicit none

-    double precision f

-    real q

-    public f !<<<<< 5, 13, 5, 14, pass

-    public q

-end module priv2

-

-program p

-	use priv2

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test10/priv2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test10/priv2.f90
deleted file mode 100644
index 2fd17ae..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test10/priv2.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program priv2

-    implicit none

-    double precision f

-    real q

-    private f

-    public q !<<<<< 6, 12, 6, 13, fail-initial

-end program priv2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test10/testFile1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test10/testFile1.f90
deleted file mode 100644
index c932629..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test10/testFile1.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program testFile

-    real a, b

-    double precision dd

-    integer g

-    public a, b

-    private dd

-end program testFile

-

-subroutine help

-    integer q, w, e

-    public q, w !<<<<< 11, 15, 11, 16, fail-initial

-    private e

-end subroutine help

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test12/test12.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test12/test12.f90
deleted file mode 100644
index 25b73d4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test12/test12.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-module test

-    implicit none

-    private

-    real :: blah, hi

-contains

-    subroutine helpMe !<<<<< 6, 16, 6, 22, pass

-    end subroutine

-end module test

-

-program p

-	use test

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test12/test12.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test12/test12.f90.result
deleted file mode 100644
index 8bd8e1a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test12/test12.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-module test

-    implicit none

-    private

-    public helpMe

-    real :: blah, hi

-contains

-    subroutine helpMe !<<<<< 6, 16, 6, 22, pass

-    end subroutine

-end module test

-

-program p

-	use test

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test13/test13.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test13/test13.f90
deleted file mode 100644
index 2d1935b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test13/test13.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-program private

-    implicit none

-    real, private :: blah

-    integer, private, optional :: priv, blah

-    real :: hi

-    private :: hi

-

-    intrinsic hello

-    external goodbye

-    private hello

-contains

-    subroutine hello

-    private

-    end subroutine

-

-    function FFF() !<<<<< 16, 14, 16, 17, fail-initial

-    end function

-end program private

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test3/test3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test3/test3.f90
deleted file mode 100644
index 74ccab3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test3/test3.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module test3

-    implicit none

-    integer, private :: var !<<<<< 3, 25, 3, 26, pass

-end module test3

-

-program p

-	use test3

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test3/test3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test3/test3.f90.result
deleted file mode 100644
index 98f3dd7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test3/test3.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-module test3

-    implicit none

-    integer,public :: var !<<<<< 3, 25, 3, 26, pass

-end module test3

-

-program p

-	use test3

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test4/test4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test4/test4.f90
deleted file mode 100644
index ef2cc2d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test4/test4.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module test4

-    implicit none

-    real, private :: blah, hi !<<<<< 3, 22, 3, 26, pass

-end module test4

-

-program p

-	use test4

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test4/test4.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test4/test4.f90.result
deleted file mode 100644
index 4820943..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test4/test4.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-module test4

-    implicit none

-    real, private :: hi !<<<<< 3, 22, 3, 26, pass

-    real, public :: blah

-end module test4

-

-program p

-	use test4

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test5/test5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test5/test5.f90
deleted file mode 100644
index 11032cd..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test5/test5.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module test5

-    implicit none

-    integer, private :: attrs !<<<<< 3, 25, 3, 30, pass

-end module test5

-

-program p

-	use test5

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test5/test5.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test5/test5.f90.result
deleted file mode 100644
index 703bea6..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test5/test5.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-module test5

-    implicit none

-    integer,public :: attrs !<<<<< 3, 25, 3, 30, pass

-end module test5

-

-program p

-	use test5

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test6/test6.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test6/test6.f90
deleted file mode 100644
index 9409cc9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test6/test6.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module test6

-    implicit none

-    integer, private :: attrs, blah !<<<<< 3, 32, 3, 36, pass

-end module test6

-

-program p

-	use test6

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test6/test6.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test6/test6.f90.result
deleted file mode 100644
index 00308bd..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test6/test6.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-module test6

-    implicit none

-    integer, private :: attrs !<<<<< 3, 32, 3, 36, pass

-    integer, public :: blah

-end module test6

-

-program p

-	use test6

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7/test7.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7/test7.f90
deleted file mode 100644
index 776ec6b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7/test7.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module test7

-    implicit none

-    private

-    real :: r

-    integer five

-    real :: blah !<<<<< 6, 13, 6, 17, pass

-end module test7

-

-program p

-	use test7

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7/test7.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7/test7.f90.result
deleted file mode 100644
index f784e8d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7/test7.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-module test7

-    implicit none

-    private

-    real :: r

-    integer five

-    real, public :: blah

-end module test7

-

-program p

-	use test7

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7_1/test7_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7_1/test7_1.f90
deleted file mode 100644
index 4fa8604..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7_1/test7_1.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module test7_1

-    implicit none

-    private

-    real :: r

-    integer five

-    real :: blah, ok !<<<<< 6, 13, 6, 17, pass

-end module test7_1

-

-program p

-	use test7_1

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7_1/test7_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7_1/test7_1.f90.result
deleted file mode 100644
index 6d60128..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test7_1/test7_1.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-module test7_1

-    implicit none

-    private

-    real :: r

-    integer five

-    real :: ok !<<<<< 6, 13, 6, 17, pass

-    real, public :: blah

-end module test7_1

-

-program p

-	use test7_1

-end program p

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test8/priv1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test8/priv1.f90
deleted file mode 100644
index 651147f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test8/priv1.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program priv1

-    implicit none

-    integer a, b, c !<<<<< 3, 13, 3, 13, fail-initial

-    private a, c

-end program priv1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test9/priv1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test9/priv1.f90
deleted file mode 100644
index 28712c0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test9/priv1.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program priv1

-    implicit none

-    integer a, b, c !<<<<< 3, 16, 3, 17, fail-initial

-    private a, c

-end program priv1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test9/testFile1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test9/testFile1.f90
deleted file mode 100644
index c932629..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-private-entity-public/test9/testFile1.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program testFile

-    real a, b

-    double precision dd

-    integer g

-    public a, b

-    private dd

-end program testFile

-

-subroutine help

-    integer q, w, e

-    public q, w !<<<<< 11, 15, 11, 16, fail-initial

-    private e

-end subroutine help

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.1/make_save_1_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.1/make_save_1_1.f90
deleted file mode 100644
index 7682ced..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.1/make_save_1_1.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! USER STORY 1, TEST 1

-! Adds SAVE attribute to the initialized declaration statement for variable

-! call_counter

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: call_counter = 0

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.1/make_save_1_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.1/make_save_1_1.f90.result
deleted file mode 100644
index 035c398..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.1/make_save_1_1.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-! USER STORY 1, TEST 1

-! Adds SAVE attribute to the initialized declaration statement for variable

-! call_counter

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: call_counter = 0

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.2/make_save_1_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.2/make_save_1_2.f90
deleted file mode 100644
index f716eb4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.2/make_save_1_2.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! USER STORY 1, TEST 2

-! Adds SAVE attribute to the initialized declaration statements for variables

-! first_call_counter and second_call_counter

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: first_call_counter = 0

-  INTEGER :: second_call_counter = 10

-  first_call_counter = first_call_counter + 1

-  second_call_counter = second_call_counter + 1

-  PRINT *, 'called:', first_call_counter

-  PRINT *, 'called:', second_call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.2/make_save_1_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.2/make_save_1_2.f90.result
deleted file mode 100644
index 2ac2517..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.2/make_save_1_2.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-! USER STORY 1, TEST 2

-! Adds SAVE attribute to the initialized declaration statements for variables

-! first_call_counter and second_call_counter

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: first_call_counter = 0

-  INTEGER, SAVE :: second_call_counter = 10

-  first_call_counter = first_call_counter + 1

-  second_call_counter = second_call_counter + 1

-  PRINT *, 'called:', first_call_counter

-  PRINT *, 'called:', second_call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.3/make_save_1_3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.3/make_save_1_3.f90
deleted file mode 100644
index 83b622f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.3/make_save_1_3.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! USER STORY 1, TEST 3

-! Adds SAVE attribute to the initialized declaration statement for variable

-! first_call_counter, but not to the non-initialized declaration statement for

-! variable second_call_counter

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: first_call_counter = 0

-  INTEGER :: second_call_counter

-  second_call_counter = 10

-  first_call_counter = first_call_counter + 1

-  second_call_counter = second_call_counter + 1

-  PRINT *, 'called:', first_call_counter

-  PRINT *, 'called:', second_call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.3/make_save_1_3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.3/make_save_1_3.f90.result
deleted file mode 100644
index 726cc23..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.3/make_save_1_3.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-! USER STORY 1, TEST 3

-! Adds SAVE attribute to the initialized declaration statement for variable

-! first_call_counter, but not to the non-initialized declaration statement for

-! variable second_call_counter

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: first_call_counter = 0

-  INTEGER :: second_call_counter

-  second_call_counter = 10

-  first_call_counter = first_call_counter + 1

-  second_call_counter = second_call_counter + 1

-  PRINT *, 'called:', first_call_counter

-  PRINT *, 'called:', second_call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.4/make_save_1_4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.4/make_save_1_4.f90
deleted file mode 100644
index 104d8dc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.4/make_save_1_4.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! USER STORY 1, TEST 4

-! Adds SAVE attribute to the initialized declaration statement for array

-! myArray

-

-PROGRAM MyProgram !<<<<< 11, 18, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, DIMENSION(3) :: myArray = (/ 1, 2, 3 /)

-  myArray(1) = myArray(1) + 1

-  myArray(2) = myArray(2) + 2

-  myArray(3) = myArray(3) + 3

-  PRINT *, 'myArray:', myArray(1), myArray(2), myArray(3)

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.4/make_save_1_4.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.4/make_save_1_4.f90.result
deleted file mode 100644
index a10d6cd..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-1/test-1.4/make_save_1_4.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-! USER STORY 1, TEST 4

-! Adds SAVE attribute to the initialized declaration statement for array

-! myArray

-

-PROGRAM MyProgram !<<<<< 11, 18, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, DIMENSION(3), SAVE :: myArray = (/ 1, 2, 3 /)

-  myArray(1) = myArray(1) + 1

-  myArray(2) = myArray(2) + 2

-  myArray(3) = myArray(3) + 3

-  PRINT *, 'myArray:', myArray(1), myArray(2), myArray(3)

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.1/make_save_2_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.1/make_save_2_1.f90
deleted file mode 100644
index f00bc82..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.1/make_save_2_1.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-! USER STORY 2, TEST 1

-! Does not add SAVE attribute to the initialized declaration statement for

-! variable j due to the presence of the unspecified SAVE statement in the same

-! subroutine

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram !<<<<< 1, 1, pass 

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE

-  INTEGER :: i

-  INTEGER :: j = 0

-  i = i + 1

-  j = j + 5

-  PRINT *, 'i=', i, ', j=', j

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.1/make_save_2_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.1/make_save_2_1.f90.result
deleted file mode 100644
index f00bc82..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.1/make_save_2_1.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-! USER STORY 2, TEST 1

-! Does not add SAVE attribute to the initialized declaration statement for

-! variable j due to the presence of the unspecified SAVE statement in the same

-! subroutine

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram !<<<<< 1, 1, pass 

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE

-  INTEGER :: i

-  INTEGER :: j = 0

-  i = i + 1

-  j = j + 5

-  PRINT *, 'i=', i, ', j=', j

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.2/make_save_2_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.2/make_save_2_2.f90
deleted file mode 100644
index f04cdb9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.2/make_save_2_2.f90
+++ /dev/null
@@ -1,29 +0,0 @@
-! USER STORY 2, TEST 2

-! Does not add SAVE attribute to the initialized declaration statement for

-! variable j due to the presence of the unspecified SAVE statement in the same

-! subroutine, but does add SAVE attribute to the initialized declaration

-! statement for variable n with no SAVE statement in the same subroutine

-

-PROGRAM MyProgram !<<<<< 1, 1, pass 

-  CALL MySubOne

-  CALL MySubOne

-  CALL MySubTwo

-  CALL MySubTwo

-END PROGRAM MyProgram

-

-SUBROUTINE MySubOne

-  SAVE

-  INTEGER :: i

-  INTEGER :: j = 0

-  i = i + 1

-  j = j + 5

-  PRINT *, 'i=', i, ', j=', j

-END SUBROUTINE MySubOne

-

-SUBROUTINE MySubTwo

-  INTEGER :: m

-  INTEGER :: n = 0

-  m = m + 1

-  n = n + 5

-  PRINT *, 'm=', m, ', n=', n

-END SUBROUTINE MySubTwo

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.2/make_save_2_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.2/make_save_2_2.f90.result
deleted file mode 100644
index 050de40..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.2/make_save_2_2.f90.result
+++ /dev/null
@@ -1,29 +0,0 @@
-! USER STORY 2, TEST 2

-! Does not add SAVE attribute to the initialized declaration statement for

-! variable j due to the presence of the unspecified SAVE statement in the same

-! subroutine, but does add SAVE attribute to the initialized declaration

-! statement for variable n with no SAVE statement in the same subroutine

-

-PROGRAM MyProgram !<<<<< 1, 1, pass 

-  CALL MySubOne

-  CALL MySubOne

-  CALL MySubTwo

-  CALL MySubTwo

-END PROGRAM MyProgram

-

-SUBROUTINE MySubOne

-  SAVE

-  INTEGER :: i

-  INTEGER :: j = 0

-  i = i + 1

-  j = j + 5

-  PRINT *, 'i=', i, ', j=', j

-END SUBROUTINE MySubOne

-

-SUBROUTINE MySubTwo

-  INTEGER :: m

-  INTEGER, SAVE :: n = 0

-  m = m + 1

-  n = n + 5

-  PRINT *, 'm=', m, ', n=', n

-END SUBROUTINE MySubTwo

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.3/make_save_2_3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.3/make_save_2_3.f90
deleted file mode 100644
index 7235bea..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.3/make_save_2_3.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! USER STORY 2, TEST 3

-! Adds SAVE attribute to the initialized declaration statement for variable j

-! with a SAVE statement for a different variable in the same subroutine

-

-PROGRAM MyProgram !<<<<< 7, 9, pass 

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE i

-  INTEGER :: i

-  INTEGER :: j = 0

-  i = i + 1

-  j = j + 5

-  PRINT *, 'i=', i, ', j=', j

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.3/make_save_2_3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.3/make_save_2_3.f90.result
deleted file mode 100644
index 3cc4b0c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-2/test-2.3/make_save_2_3.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-! USER STORY 2, TEST 3

-! Adds SAVE attribute to the initialized declaration statement for variable j

-! with a SAVE statement for a different variable in the same subroutine

-

-PROGRAM MyProgram !<<<<< 7, 9, pass 

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE i

-  INTEGER :: i

-  INTEGER, SAVE :: j = 0

-  i = i + 1

-  j = j + 5

-  PRINT *, 'i=', i, ', j=', j

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.1/make_save_3_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.1/make_save_3_1.f90
deleted file mode 100644
index ce5e8de..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.1/make_save_3_1.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! USER STORY 3, TEST 1

-! Adds SAVE attribute to the declaration statement for variable sum initialized

-! through a DATA statement

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram !<<<<< 1, 1, pass 

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: sum

-  DATA sum /100/

-  sum = sum + sum

-  PRINT *, 'sum=', sum

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.1/make_save_3_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.1/make_save_3_1.f90.result
deleted file mode 100644
index 47af927..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.1/make_save_3_1.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-! USER STORY 3, TEST 1

-! Adds SAVE attribute to the declaration statement for variable sum initialized

-! through a DATA statement

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram !<<<<< 1, 1, pass 

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: sum

-  DATA sum /100/

-  sum = sum + sum

-  PRINT *, 'sum=', sum

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.2/make_save_3_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.2/make_save_3_2.f90
deleted file mode 100644
index c00b614..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.2/make_save_3_2.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! USER STORY 3, TEST 2

-! Adds SAVE attribute to the declaration statement for array myArray

-! initialized through a DATA statement

-

-PROGRAM MyProgram !<<<<< 8,16, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, DIMENSION(2) :: myArray

-  DATA myArray /100, 10/

-  myArray(1) = myArray(1) + 1

-  myArray(2) = myArray(2) + 1

-  PRINT *, 'myArray(1)=', myArray(1), 'myArray(2)=', myArray(2)

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.2/make_save_3_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.2/make_save_3_2.f90.result
deleted file mode 100644
index 6c90873..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-3/test-3.2/make_save_3_2.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-! USER STORY 3, TEST 2

-! Adds SAVE attribute to the declaration statement for array myArray

-! initialized through a DATA statement

-

-PROGRAM MyProgram !<<<<< 8,16, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, DIMENSION(2), SAVE :: myArray

-  DATA myArray /100, 10/

-  myArray(1) = myArray(1) + 1

-  myArray(2) = myArray(2) + 1

-  PRINT *, 'myArray(1)=', myArray(1), 'myArray(2)=', myArray(2)

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.1/make_save_4_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.1/make_save_4_1.f90
deleted file mode 100644
index 6b7224a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.1/make_save_4_1.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! USER STORY 4, TEST 1

-! Adds SAVE attribute to the declaration statements for variables sumOne and

-! sumTwo initialized through the same DATA statement

-

-PROGRAM MyProgram !<<<<< 1, 1, pass 

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: sumOne

-  INTEGER :: sumTwo

-  DATA sumOne /100/ sumTwo /10/

-  sumOne = sumOne + sumOne

-  sumTwo = sumTwo + sumTwo

-  PRINT *, 'sumOne=', sumOne, 'sumTwo=', sumTwo

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.1/make_save_4_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.1/make_save_4_1.f90.result
deleted file mode 100644
index 74eeb49..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.1/make_save_4_1.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-! USER STORY 4, TEST 1

-! Adds SAVE attribute to the declaration statements for variables sumOne and

-! sumTwo initialized through the same DATA statement

-

-PROGRAM MyProgram !<<<<< 1, 1, pass 

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: sumOne

-  INTEGER, SAVE :: sumTwo

-  DATA sumOne /100/ sumTwo /10/

-  sumOne = sumOne + sumOne

-  sumTwo = sumTwo + sumTwo

-  PRINT *, 'sumOne=', sumOne, 'sumTwo=', sumTwo

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.2/make_save_4_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.2/make_save_4_2.f90
deleted file mode 100644
index c862aa0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.2/make_save_4_2.f90
+++ /dev/null
@@ -1,23 +0,0 @@
-! USER STORY 4, TEST 2

-! Adds SAVE attribute to the declaration statements for arrays myArray and

-! myArray2 initialized through the same DATA statement

-

-PROGRAM MyProgram !<<<<< 8,16, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, DIMENSION(2) :: myArray

-  INTEGER, DIMENSION(2) :: myArray2

-  DATA myArray /10, 20/  myArray2 /30, 40/

-

-  myArray(1) = myArray(1) + 1

-  myArray(2) = myArray(2) + 1

-

-  myArray2(1) = myArray2(1) + 1

-  myArray2(2) = myArray2(2) + 1

-

-  PRINT *, 'myArray(1)=', myArray(1), 'myArray(2)=', myArray(2)

-  PRINT *, 'myArray2(1)=', myArray2(1), 'myArray2(2)=', myArray2(2)

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.2/make_save_4_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.2/make_save_4_2.f90.result
deleted file mode 100644
index b0b9237..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.2/make_save_4_2.f90.result
+++ /dev/null
@@ -1,23 +0,0 @@
-! USER STORY 4, TEST 2

-! Adds SAVE attribute to the declaration statements for arrays myArray and

-! myArray2 initialized through the same DATA statement

-

-PROGRAM MyProgram !<<<<< 8,16, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, DIMENSION(2), SAVE :: myArray

-  INTEGER, DIMENSION(2), SAVE :: myArray2

-  DATA myArray /10, 20/  myArray2 /30, 40/

-

-  myArray(1) = myArray(1) + 1

-  myArray(2) = myArray(2) + 1

-

-  myArray2(1) = myArray2(1) + 1

-  myArray2(2) = myArray2(2) + 1

-

-  PRINT *, 'myArray(1)=', myArray(1), 'myArray(2)=', myArray(2)

-  PRINT *, 'myArray2(1)=', myArray2(1), 'myArray2(2)=', myArray2(2)

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.3/make_save_4_3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.3/make_save_4_3.f90
deleted file mode 100644
index 43bce98..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.3/make_save_4_3.f90
+++ /dev/null
@@ -1,22 +0,0 @@
-! USER STORY 4, TEST 3

-! Adds SAVE attribute to the declaration statements for variables i, j, and k

-! initialized through the same DATA statement (alternate arrangement of DATA

-! statement)

-

-PROGRAM MyProgram !<<<<< 8,16, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: i

-  INTEGER :: j

-  INTEGER :: k

-  DATA i,j,k /10, 20, 35/

-

-  i = i + 1

-  j = j + 1

-  k = k + 1

-

-  PRINT *, 'i=', i, 'j=', j, 'k=', k

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.3/make_save_4_3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.3/make_save_4_3.f90.result
deleted file mode 100644
index 9d03b96..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.3/make_save_4_3.f90.result
+++ /dev/null
@@ -1,22 +0,0 @@
-! USER STORY 4, TEST 3

-! Adds SAVE attribute to the declaration statements for variables i, j, and k

-! initialized through the same DATA statement (alternate arrangement of DATA

-! statement)

-

-PROGRAM MyProgram !<<<<< 8,16, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: i

-  INTEGER, SAVE :: j

-  INTEGER, SAVE :: k

-  DATA i,j,k /10, 20, 35/

-

-  i = i + 1

-  j = j + 1

-  k = k + 1

-

-  PRINT *, 'i=', i, 'j=', j, 'k=', k

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.4/make_save_4_4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.4/make_save_4_4.f90
deleted file mode 100644
index b151e09..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.4/make_save_4_4.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-! USER STORY 4, TEST 4

-! Adds SAVE attribute to the declaration statements for variables sum1 and sum2

-! initialized through the same DATA statement (alternate arrangement of DATA

-! statement)

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: sum1, sum2

-  DATA sum1, sum2 /100, 200/

-  sum1 = sum1 + sum1

-  sum2 = sum2 + sum2 !<<<<< 1,11, pass

-  PRINT *, 'sum1=', sum1

-  PRINT *, 'sum2=', sum2

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.4/make_save_4_4.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.4/make_save_4_4.f90.result
deleted file mode 100644
index d1a87de..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.4/make_save_4_4.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-! USER STORY 4, TEST 4

-! Adds SAVE attribute to the declaration statements for variables sum1 and sum2

-! initialized through the same DATA statement (alternate arrangement of DATA

-! statement)

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: sum1, sum2

-  DATA sum1, sum2 /100, 200/

-  sum1 = sum1 + sum1

-  sum2 = sum2 + sum2 !<<<<< 1,11, pass

-  PRINT *, 'sum1=', sum1

-  PRINT *, 'sum2=', sum2

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.5/make_save_4_5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.5/make_save_4_5.f90
deleted file mode 100644
index 87d2a22..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.5/make_save_4_5.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-! USER STORY 4, TEST 5

-! Adds SAVE attribute to the declaration statements for variables sum1 and sum2

-! initialized through the same DATA statement

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

- !<<<<< 1,1, pass

-SUBROUTINE MySub

-  INTEGER :: sum1, sum2

-  DATA sum1 /100/, sum2 /200/

-  sum1 = sum1 + sum1

-  sum2 = sum2 + sum2

-  PRINT *, 'sum1=', sum1

-  PRINT *, 'sum2=', sum2

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.5/make_save_4_5.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.5/make_save_4_5.f90.result
deleted file mode 100644
index 54691a3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-4/test-4.5/make_save_4_5.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! USER STORY 4, TEST 5

-! Adds SAVE attribute to the declaration statements for variables sum1 and sum2

-! initialized through the same DATA statement

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

- !<<<<< 1,1, pass

-SUBROUTINE MySub

-  INTEGER, SAVE :: sum1, sum2

-  DATA sum1 /100/, sum2 /200/

-  sum1 = sum1 + sum1

-  sum2 = sum2 + sum2

-  PRINT *, 'sum1=', sum1

-  PRINT *, 'sum2=', sum2

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.1/make_save_5_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.1/make_save_5_1.f90
deleted file mode 100644
index fb78fe1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.1/make_save_5_1.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-! USER STORY 5, TEST 1

-! Adds SAVE statement for variables sum1 and sum2 due to variables not 

-! having declaration statements while being initialized by a DATA statement

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  DATA sum1, sum2 /100, 200/

-  sum1 = sum1 + sum1

-  sum2 = sum2 + sum2

-  PRINT *, 'sum1=', sum1

-  PRINT *, 'sum2=', sum2

-END SUBROUTINE MySub

-!<<<<< 1,1, pass

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.1/make_save_5_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.1/make_save_5_1.f90.result
deleted file mode 100644
index d1ba72d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.1/make_save_5_1.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-! USER STORY 5, TEST 1

-! Adds SAVE statement for variables sum1 and sum2 due to variables not 

-! having declaration statements while being initialized by a DATA statement

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE sum1, sum2

-  DATA sum1, sum2 /100, 200/

-  sum1 = sum1 + sum1

-  sum2 = sum2 + sum2

-  PRINT *, 'sum1=', sum1

-  PRINT *, 'sum2=', sum2

-END SUBROUTINE MySub

-!<<<<< 1,1, pass

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.2/make_save_5_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.2/make_save_5_2.f90
deleted file mode 100644
index 1647ec4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.2/make_save_5_2.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-! USER STORY 5, TEST 2

-! Adds variable sum2 to a previously existing SAVE statement due to variable not

-! having a declaration statement while being initialized by a DATA statement

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram !<<<<< 1,1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  DATA sum1, sum2 /100, 200/

-  SAVE sum1

-  sum1 = sum1 + sum1

-  sum2 = sum2 + sum2

-  PRINT *, 'sum1=', sum1

-  PRINT *, 'sum2=', sum2

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.2/make_save_5_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.2/make_save_5_2.f90.result
deleted file mode 100644
index 4a388e9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.2/make_save_5_2.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! USER STORY 5, TEST 2

-! Adds variable sum2 to a previously existing SAVE statement due to variable not

-! having a declaration statement while being initialized by a DATA statement

-

-! EXAMPLE FROM USER STORY

-

-PROGRAM MyProgram !<<<<< 1,1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  DATA sum1, sum2 /100, 200/

-  SAVE sum1, sum2

-  sum1 = sum1 + sum1

-  sum2 = sum2 + sum2

-  PRINT *, 'sum1=', sum1

-  PRINT *, 'sum2=', sum2

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.3/make_save_5_3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.3/make_save_5_3.f90
deleted file mode 100644
index 66faef7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.3/make_save_5_3.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! USER STORY 5, TEST 3

-! Adds SAVE statement for variable i due to variable not having declaration

-! statement while being initialized by a DATA statement (variable unused,

-! otherwise), but does not add SAVE statement for variable j due to variable

-! having neither a declaration statement nor a DATA statement for its

-! initialization

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  DATA i /0/

-  j = 0

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.3/make_save_5_3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.3/make_save_5_3.f90.result
deleted file mode 100644
index 4f53bc5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.3/make_save_5_3.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-! USER STORY 5, TEST 3

-! Adds SAVE statement for variable i due to variable not having declaration

-! statement while being initialized by a DATA statement (variable unused,

-! otherwise), but does not add SAVE statement for variable j due to variable

-! having neither a declaration statement nor a DATA statement for its

-! initialization

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE i

-  DATA i /0/

-  j = 0

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.4/make_save_5_4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.4/make_save_5_4.f90
deleted file mode 100644
index dd3df55..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.4/make_save_5_4.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-! USER STORY 5, TEST 4

-! Does not add variable i to existing SAVE statement due to variable names

-! being case-insensitive, meaning that variable i is already explicitly saved

-! due to the existing SAVE statement

-

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE I

-  DATA i /0/

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.4/make_save_5_4.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.4/make_save_5_4.f90.result
deleted file mode 100644
index dd3df55..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-5/test-5.4/make_save_5_4.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-! USER STORY 5, TEST 4

-! Does not add variable i to existing SAVE statement due to variable names

-! being case-insensitive, meaning that variable i is already explicitly saved

-! due to the existing SAVE statement

-

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE I

-  DATA i /0/

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.1/make_save_6_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.1/make_save_6_1.f90
deleted file mode 100644
index 611a7e4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.1/make_save_6_1.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-! USER STORY 6, TEST 1

-! Adds SAVE statement for variable call_counter due to variable being

-! initialized in its declaration statement while sharing the same declaration

-! statement with non-initialized variable other_var

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: call_counter = 0, other_var

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.1/make_save_6_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.1/make_save_6_1.f90.result
deleted file mode 100644
index afbee06..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.1/make_save_6_1.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-! USER STORY 6, TEST 1

-! Adds SAVE statement for variable call_counter due to variable being

-! initialized in its declaration statement while sharing the same declaration

-! statement with non-initialized variable other_var

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE call_counter

-  INTEGER :: call_counter = 0, other_var

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.2/make_save_6_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.2/make_save_6_2.f90
deleted file mode 100644
index 59d9dc1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.2/make_save_6_2.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! USER STORY 6, TEST 2

-! Adds variable call_counter to a previously existing SAVE statement due to

-! variable being initialized in its declaration statement while sharing the

-! same declaration statement with non-initialized variable other_var

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE third_var

-  INTEGER :: call_counter = 0, other_var

-  INTEGER :: third_var

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.2/make_save_6_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.2/make_save_6_2.f90.result
deleted file mode 100644
index a5bf146..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.2/make_save_6_2.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-! USER STORY 6, TEST 2

-! Adds variable call_counter to a previously existing SAVE statement due to

-! variable being initialized in its declaration statement while sharing the

-! same declaration statement with non-initialized variable other_var

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE third_var, call_counter

-  INTEGER :: call_counter = 0, other_var

-  INTEGER :: third_var

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.3/make_save_6_3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.3/make_save_6_3.f90
deleted file mode 100644
index 6cedc52..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.3/make_save_6_3.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-! USER STORY 6, TEST 3

-! Adds SAVE attribute to the declaration statement for variables

-! first_call_counter and second_call_counter since both variables are

-! implicitly saved by some means

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: first_call_counter = 0, second_call_counter

-  DATA second_call_counter /10/

-  first_call_counter = first_call_counter + 1

-  second_call_counter = second_call_counter + 1

-  PRINT *, 'called:', first_call_counter

-  PRINT *, 'called:', second_call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.3/make_save_6_3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.3/make_save_6_3.f90.result
deleted file mode 100644
index 23af7a0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.3/make_save_6_3.f90.result
+++ /dev/null
@@ -1,18 +0,0 @@
-! USER STORY 6, TEST 3

-! Adds SAVE attribute to the declaration statement for variables

-! first_call_counter and second_call_counter since both variables are

-! implicitly saved by some means

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: first_call_counter = 0, second_call_counter

-  DATA second_call_counter /10/

-  first_call_counter = first_call_counter + 1

-  second_call_counter = second_call_counter + 1

-  PRINT *, 'called:', first_call_counter

-  PRINT *, 'called:', second_call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.4/make_save_6_4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.4/make_save_6_4.f90
deleted file mode 100644
index 867ed30..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.4/make_save_6_4.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-! USER STORY 6, TEST 4

-! Adds SAVE statement for variables first_call_counter and second_call_counter

-! since both variables are implicitly saved by some means while sharing the

-! same declaration statement with a variable that is not implicitly saved

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: first_call_counter = 0, second_call_counter, other_var

-  DATA second_call_counter /10/

-  first_call_counter = first_call_counter + 1

-  second_call_counter = second_call_counter + 1

-  PRINT *, 'called:', first_call_counter

-  PRINT *, 'called:', second_call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.4/make_save_6_4.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.4/make_save_6_4.f90.result
deleted file mode 100644
index 938ead2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.4/make_save_6_4.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! USER STORY 6, TEST 4

-! Adds SAVE statement for variables first_call_counter and second_call_counter

-! since both variables are implicitly saved by some means while sharing the

-! same declaration statement with a variable that is not implicitly saved

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE first_call_counter, second_call_counter

-  INTEGER :: first_call_counter = 0, second_call_counter, other_var

-  DATA second_call_counter /10/

-  first_call_counter = first_call_counter + 1

-  second_call_counter = second_call_counter + 1

-  PRINT *, 'called:', first_call_counter

-  PRINT *, 'called:', second_call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.5/make_save_6_5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.5/make_save_6_5.f90
deleted file mode 100644
index 46de0b5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.5/make_save_6_5.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! USER STORY 6, TEST 5

-! Adds variable call_counter to SAVE statement for variable other_var due to

-! call_counter being initialized in its declaration statement while sharing the

-! same declaration statement with explicitly-saved variable other_var

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE other_var

-  INTEGER :: other_var, call_counter = 0

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.5/make_save_6_5.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.5/make_save_6_5.f90.result
deleted file mode 100644
index 034b488..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-6/test-6.5/make_save_6_5.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-! USER STORY 6, TEST 5

-! Adds variable call_counter to SAVE statement for variable other_var due to

-! call_counter being initialized in its declaration statement while sharing the

-! same declaration statement with explicitly-saved variable other_var

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE other_var, call_counter

-  INTEGER :: other_var, call_counter = 0

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.1/make_save_7_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.1/make_save_7_1.f90
deleted file mode 100644
index cd41aca..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.1/make_save_7_1.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-! USER STORY 7, TEST 1

-! Adds SAVE statement for variable call_counter due to variable being

-! initialized in its declaration statement without :: operator

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER call_counter = 0

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.1/make_save_7_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.1/make_save_7_1.f90.result
deleted file mode 100644
index a5b9891..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.1/make_save_7_1.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-! USER STORY 7, TEST 1

-! Adds SAVE statement for variable call_counter due to variable being

-! initialized in its declaration statement without :: operator

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: call_counter = 0

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.2/make_save_7_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.2/make_save_7_2.f90
deleted file mode 100644
index 2cf84a0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.2/make_save_7_2.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-! USER STORY 7, TEST 1

-! Adds SAVE statement for variable call_counter due to variable being

-! implicitly saved in a data block

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER call_counter

-  data call_counter /10/

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.2/make_save_7_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.2/make_save_7_2.f90.result
deleted file mode 100644
index 9a13578..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.2/make_save_7_2.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-! USER STORY 7, TEST 1

-! Adds SAVE statement for variable call_counter due to variable being

-! implicitly saved in a data block

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: call_counter

-  data call_counter /10/

-  call_counter = call_counter + 1

-  PRINT *, 'called:', call_counter

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.3/make_save_7_3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.3/make_save_7_3.f90
deleted file mode 100644
index f44c098..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.3/make_save_7_3.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-! USER STORY 7, TEST 1

-! Adds SAVE statement for variable call_counter and call_counter2  

-! due to variables being implicitly saved 

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER call_counter = 10, call_counter2 = 20

-  call_counter = call_counter + 1

-  call_counter2 = call_counter2 + 2

-  PRINT *, 'called:', call_counter, call_counter2

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.3/make_save_7_3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.3/make_save_7_3.f90.result
deleted file mode 100644
index 49c4900..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-7/test-7.3/make_save_7_3.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-! USER STORY 7, TEST 1

-! Adds SAVE statement for variable call_counter and call_counter2  

-! due to variables being implicitly saved 

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: call_counter = 10, call_counter2 = 20

-  call_counter = call_counter + 1

-  call_counter2 = call_counter2 + 2

-  PRINT *, 'called:', call_counter, call_counter2

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.1/make_save_8_1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.1/make_save_8_1.f90
deleted file mode 100644
index 65d4586..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.1/make_save_8_1.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-! USER STORY 8, TEST 1

-! Adds SAVE attribute to the initialized declaration statement for variable j

-! in subroutine MySub, but not to the initialized declaration statement for

-! variable i in program MyProgram

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  INTEGER :: i = 0

-  i = i + 1

-  PRINT *, 'called:', i

-  i = i + 1

-  PRINT *, 'called:', i

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: j = 10

-  j = j + 1

-  PRINT *, 'called:', j

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.1/make_save_8_1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.1/make_save_8_1.f90.result
deleted file mode 100644
index 9f9657c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.1/make_save_8_1.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-! USER STORY 8, TEST 1

-! Adds SAVE attribute to the initialized declaration statement for variable j

-! in subroutine MySub, but not to the initialized declaration statement for

-! variable i in program MyProgram

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  INTEGER :: i = 0

-  i = i + 1

-  PRINT *, 'called:', i

-  i = i + 1

-  PRINT *, 'called:', i

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: j = 10

-  j = j + 1

-  PRINT *, 'called:', j

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.2/make_save_8_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.2/make_save_8_2.f90
deleted file mode 100644
index 158f753..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.2/make_save_8_2.f90
+++ /dev/null
@@ -1,23 +0,0 @@
-! USER STORY 8, TEST 2

-! Adds SAVE attribute to the declaration statement for variable j initialized

-! through a DATA statement in subroutine MySub, but not to the declaration

-! statement for variable i also initialized through a DATA statement in program

-! MyProgram

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  INTEGER :: i

-  DATA i /0/

-  i = i + 1

-  PRINT *, 'called:', i

-  i = i + 1

-  PRINT *, 'called:', i

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER :: j

-  DATA j /0/

-  j = j + 1

-  PRINT *, 'called:', j

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.2/make_save_8_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.2/make_save_8_2.f90.result
deleted file mode 100644
index 4c77a4f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.2/make_save_8_2.f90.result
+++ /dev/null
@@ -1,23 +0,0 @@
-! USER STORY 8, TEST 2

-! Adds SAVE attribute to the declaration statement for variable j initialized

-! through a DATA statement in subroutine MySub, but not to the declaration

-! statement for variable i also initialized through a DATA statement in program

-! MyProgram

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  INTEGER :: i

-  DATA i /0/

-  i = i + 1

-  PRINT *, 'called:', i

-  i = i + 1

-  PRINT *, 'called:', i

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  INTEGER, SAVE :: j

-  DATA j /0/

-  j = j + 1

-  PRINT *, 'called:', j

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.3/make_save_8_3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.3/make_save_8_3.f90
deleted file mode 100644
index fe29b2a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.3/make_save_8_3.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! USER STORY 8, TEST 3

-! Adds SAVE statement for variables j due to variable not having declaration

-! statement while being initialized by a DATA statement in subroutine MySub,

-! but doesn't add it for variables i due to variable not having declaration

-! statement while being initialized by a DATA statement in program MyProgram

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  DATA i /0/

-  i = i + 1

-  PRINT *, 'called:', i

-  i = i + 1

-  PRINT *, 'called:', i

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  DATA j /0/

-  j = j + 1

-  PRINT *, 'called:', j

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.3/make_save_8_3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.3/make_save_8_3.f90.result
deleted file mode 100644
index eed7304..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/make-save-explicit/user-story-8/test-8.3/make_save_8_3.f90.result
+++ /dev/null
@@ -1,22 +0,0 @@
-! USER STORY 8, TEST 3

-! Adds SAVE statement for variables j due to variable not having declaration

-! statement while being initialized by a DATA statement in subroutine MySub,

-! but doesn't add it for variables i due to variable not having declaration

-! statement while being initialized by a DATA statement in program MyProgram

-

-PROGRAM MyProgram !<<<<< 1, 1, pass

-  DATA i /0/

-  i = i + 1

-  PRINT *, 'called:', i

-  i = i + 1

-  PRINT *, 'called:', i

-  CALL MySub

-  CALL MySub

-END PROGRAM MyProgram

-

-SUBROUTINE MySub

-  SAVE j

-  DATA j /0/

-  j = j + 1

-  PRINT *, 'called:', j

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/module.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/module.f90
deleted file mode 100644
index 2d8c83a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/module.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module module

-    implicit none

-    integer :: i

-contains

-    subroutine helper

-        print *, "You've been helped."

-    end subroutine helper

-end module module

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/test1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/test1.f90
deleted file mode 100644
index 9f7b5d3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/test1.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program test

-    use module, only: i, helper !<<<<< 2, 9, 2, 15, pass

-    implicit none

-    i = 5

-    call helper

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/test1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/test1.f90.result
deleted file mode 100644
index cf5c012..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test1/test1.f90.result
+++ /dev/null
@@ -1,6 +0,0 @@
-program test

-    use module

-    implicit none

-    i = 5

-    call helper

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test10/program1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test10/program1.f90
deleted file mode 100644
index 86459e1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test10/program1.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module m

-   integer :: used, unused

-end module

-

-program modules

-    use m !<<<<< 6, 9, 6, 10, pass

-    implicit none

-

-    used = 3

-end program modules

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test10/program1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test10/program1.f90.result
deleted file mode 100644
index 2273a4f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test10/program1.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-module m

-   integer :: used, unused

-end module

-

-program modules

-    use m, only: used

-    implicit none

-

-    used = 3

-end program modules

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/module.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/module.f90
deleted file mode 100644
index 2d8c83a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/module.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module module

-    implicit none

-    integer :: i

-contains

-    subroutine helper

-        print *, "You've been helped."

-    end subroutine helper

-end module module

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/test2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/test2.f90
deleted file mode 100644
index 94d103e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/test2.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program test2

-    use module, only: i, helper !<<<<< 2, 9, 2, 15, pass

-    implicit none

-    call helper

-end program test2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/test2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/test2.f90.result
deleted file mode 100644
index 1caf92c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test2/test2.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-program test2

-    use module, only: helper

-    implicit none

-    call helper

-end program test2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/module.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/module.f90
deleted file mode 100644
index 2d8c83a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/module.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module module

-    implicit none

-    integer :: i

-contains

-    subroutine helper

-        print *, "You've been helped."

-    end subroutine helper

-end module module

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/test3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/test3.f90
deleted file mode 100644
index 422fe3b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/test3.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program test3

-    use module, only: i, helper !<<<<< 2, 9, 2, 15, pass

-    implicit none

-end program test3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/test3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/test3.f90.result
deleted file mode 100644
index 297f3b4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test3/test3.f90.result
+++ /dev/null
@@ -1,3 +0,0 @@
-program test3

-    implicit none

-end program test3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test4/module.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test4/module.f90
deleted file mode 100644
index 2d8c83a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test4/module.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module module

-    implicit none

-    integer :: i

-contains

-    subroutine helper

-        print *, "You've been helped."

-    end subroutine helper

-end module module

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test4/test4_5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test4/test4_5.f90
deleted file mode 100644
index 2dc4ae4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test4/test4_5.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program test

-    use module, only: i, helper !<<<<< 2, 9, 2, 9, fail-initial

-    use emptyModule, only: help

-    implicit none

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test5/module.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test5/module.f90
deleted file mode 100644
index 2d8c83a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test5/module.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module module

-    implicit none

-    integer :: i

-contains

-    subroutine helper

-        print *, "You've been helped."

-    end subroutine helper

-end module module

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test5/test4_5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test5/test4_5.f90
deleted file mode 100644
index f8a6d44..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test5/test4_5.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program test

-    use module, only: i, helper

-    use emptyModule, only: help !<<<<< 3, 9, 3, 20, fail-initial

-    implicit none

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test6/module.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test6/module.f90
deleted file mode 100644
index 2d8c83a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test6/module.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module module

-    implicit none

-    integer :: i

-contains

-    subroutine helper

-        print *, "You've been helped."

-    end subroutine helper

-end module module

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test6/test6.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test6/test6.f90
deleted file mode 100644
index 6ae0b4d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test6/test6.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program test

-    use module, only: i, helper

-    use nonexistant, only: what !<<<<< 3, 9, 3, 20, fail-initial

-    implicit none

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test7/module.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test7/module.f90
deleted file mode 100644
index 2d8c83a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test7/module.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module module

-    implicit none

-    integer :: i

-contains

-    subroutine helper

-        print *, "You've been helped."

-    end subroutine helper

-end module module

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test7/test7.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test7/test7.f90
deleted file mode 100644
index 7eb0b6b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test7/test7.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program test

-    use module, only: i, helper

-    implicit none

-    integer :: q !<<<<< 4, 16, 4, 17, fail-initial

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test8/program3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test8/program3.f90
deleted file mode 100644
index a3e1779..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test8/program3.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module m

-   integer :: used, unused

-end module

-

-program modules

-    use m, only: whatever => used, unused !<<<<< 6, 9, 6, 10, pass

-    implicit none

-

-    whatever = 3

-end program modules

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test8/program3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test8/program3.f90.result
deleted file mode 100644
index 9e34ea8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test8/program3.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-module m

-   integer :: used, unused

-end module

-

-program modules

-    use m, only: whatever => used

-    implicit none

-

-    whatever = 3

-end program modules

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test9/program2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test9/program2.f90
deleted file mode 100644
index a836b58..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test9/program2.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module m

-   integer :: used, unused

-end module

-

-program modules

-    use m, only: used, unused !<<<<< 6, 9, 6, 10, pass

-    implicit none

-

-    used = 3

-end program modules

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test9/program2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test9/program2.f90.result
deleted file mode 100644
index 2273a4f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/min-only-list/test9/program2.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-module m

-   integer :: used, unused

-end module

-

-program modules

-    use m, only: used

-    implicit none

-

-    used = 3

-end program modules

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test1/test1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test1/test1.f90
deleted file mode 100644
index edac470..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test1/test1.f90
+++ /dev/null
@@ -1,94 +0,0 @@
-MODULE MySeparateFileMod

-

-END MODULE

-

-PROGRAM MyMain

-

-    USE MySeparateFileMod

-

-    COMMON /MyTestFun_common1/ aVar

-

-    REAL :: a_xxx1

-

-    REAL :: comVar

-

-    REAL :: aVar

-

-    COMMON /CB1/ comVar

-

-    print *, test

-

-    print *, internalModVar

-

-    comVar = 5.5

-

-    CONTAINS

-

-    REAL FUNCTION MyTestFun() !<<<<< 27, 10, pass

-

-        REAL :: com

-

-        COMMON /MyTestFun_common2/ com

-

-        REAL :: q = 3.3, w, e = 5.5

-

-        REAL, DIMENSION(5) :: r, t

-

-        REAL, SAVE :: u = 1.1

-

-        REAL, SAVE :: o

-

-        REAL, POINTER :: p

-

-        POINTER o

-

-        REAL :: b, c, d

-

-        REAL, POINTER :: a

-

-        POINTER c, d

-

-        SAVE a, r, p, b, c

-

-        DIMENSION b(10)

-

-        c = 1.2

-

-        MyTestFun = 3.3

-

-    END FUNCTION MyTestFun

-

-    REAL FUNCTION MyTestFun2(aVar)

-

-        REAL, DIMENSION (10:10) :: aVar

-

-        CHARACTER (LEN=30) :: char

-

-        REAL :: bVar(100:100)

-

-        DOUBLE PRECISION :: cVar(10)

-

-        REAL, PARAMETER :: b = 1.1

-

-        REAL c

-

-        POINTER c

-

-        SAVE

-

-        MyTestFun2 = 0.0

-

-    END FUNCTION MyTestFun2

-

-END PROGRAM MyMain

-

-SUBROUTINE MySub

-

-    REAL :: test

-    COMMON /CB1/ comVar

-

-    test = 1.1

-

-    comVar = comVar + comVar

-

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test1/test1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test1/test1.f90.result
deleted file mode 100644
index b42c1b0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test1/test1.f90.result
+++ /dev/null
@@ -1,114 +0,0 @@
-MODULE MySeparateFileMod

-

-END MODULE

-

-PROGRAM MyMain

-

-    USE MySeparateFileMod

-

-    REAL, POINTER :: a_xxx2

-

-    REAL, DIMENSION(10) :: b_xxx1

-

-    REAL, POINTER :: c_xxx1

-

-    REAL :: e_xxx1 = 5.5

-

-    REAL, POINTER :: o_xxx1

-

-    REAL, POINTER :: p_xxx1

-

-    REAL :: q_xxx1 = 3.3

-

-    REAL, DIMENSION(5) :: r_xxx1

-

-    REAL :: u_xxx1 = 1.1

-

-    COMMON /MyTestFun_common3/ a_xxx2,b_xxx1,c_xxx1,e_xxx1,o_xxx1,p_xxx1,q_xxx1,r_xxx1,u_xxx1

-

-    COMMON /MyTestFun_common1/ aVar

-

-    REAL :: a_xxx1

-

-    REAL :: comVar

-

-    REAL :: aVar

-

-    COMMON /CB1/ comVar

-

-    print *, test

-

-    print *, internalModVar

-

-    comVar = 5.5

-

-    CONTAINS

-

-    REAL FUNCTION MyTestFun() !<<<<< 27, 10, pass

-

-        COMMON /MyTestFun_common3/ a_xxx2,b_xxx1,c_xxx1,e_xxx1,o_xxx1,p_xxx1,q_xxx1,r_xxx1,u_xxx1

-

-        REAL :: com

-

-        COMMON /MyTestFun_common2/ com

-

-        REAL :: q_xxx1, w, e_xxx1

-

-        REAL, DIMENSION(5) :: r_xxx1, t

-

-        REAL :: u_xxx1

-

-        REAL :: o_xxx1

-

-        REAL, POINTER :: p_xxx1

-

-        POINTER o_xxx1

-

-        REAL :: b_xxx1, c_xxx1, d

-

-        REAL, POINTER :: a_xxx2

-

-        POINTER c_xxx1, d

-

-        DIMENSION b_xxx1(10)

-

-        c_xxx1 = 1.2

-

-        MyTestFun = 3.3

-

-    END FUNCTION MyTestFun

-

-    REAL FUNCTION MyTestFun2(aVar)

-

-        REAL, DIMENSION (10:10) :: aVar

-

-        CHARACTER (LEN=30) :: char

-

-        REAL :: bVar(100:100)

-

-        DOUBLE PRECISION :: cVar(10)

-

-        REAL, PARAMETER :: b = 1.1

-

-        REAL c

-

-        POINTER c

-

-        SAVE

-

-        MyTestFun2 = 0.0

-

-    END FUNCTION MyTestFun2

-

-END PROGRAM MyMain

-

-SUBROUTINE MySub

-

-    REAL :: test

-    COMMON /CB1/ comVar

-

-    test = 1.1

-

-    comVar = comVar + comVar

-

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test2/test2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test2/test2.f90
deleted file mode 100644
index 2a86463..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test2/test2.f90
+++ /dev/null
@@ -1,93 +0,0 @@
-MODULE MySeparateFileMod

-

-END MODULE

-

-PROGRAM MyMain

-

-    USE MySeparateFileMod

-

-    COMMON /MyTestFun_common1/ aVar

-

-    REAL :: a_xxx1

-

-    REAL :: comVar

-

-    REAL :: aVar

-

-    COMMON /CB1/ comVar

-

-    print *, test

-

-    print *, internalModVar

-

-    comVar = 5.5

-

-    CONTAINS

-

-    REAL FUNCTION MyTestFun()

-

-        REAL :: com

-

-        COMMON /MyTestFun_common2/ com

-

-        REAL :: q = 3.3, w, e = 5.5

-

-        REAL, DIMENSION(5) :: r, t

-

-        REAL, SAVE :: u = 1.1

-

-        REAL, SAVE :: o

-

-        REAL, POINTER :: p

-

-        POINTER o

-

-        REAL :: b, c, d

-

-        REAL, POINTER :: a

-

-        POINTER c, d

-

-        SAVE a, r, p, b, c

-

-        DIMENSION b(10)

-

-        c = 1.2

-

-        MyTestFun = 3.3

-

-    END FUNCTION MyTestFun

-

-    REAL FUNCTION MyTestFun2(aVar) !<<<<< 61, 10, pass

-

-        REAL, DIMENSION (10:10) :: aVar

-

-        CHARACTER (LEN=30) :: char

-

-        REAL :: bVar(100:100)

-

-        DOUBLE PRECISION :: cVar(10)

-

-        REAL, PARAMETER :: b = 1.1

-

-        REAL c

-

-        POINTER c

-

-        SAVE

-

-        MyTestFun2 = 0.0

-    END FUNCTION MyTestFun2

-

-END PROGRAM MyMain

-

-SUBROUTINE MySub

-

-    REAL :: test

-    COMMON /CB1/ comVar

-

-    test = 1.1

-

-    comVar = comVar + comVar

-

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test2/test2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test2/test2.f90.result
deleted file mode 100644
index 7b80ab9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/move-saved-to-common-block/test2/test2.f90.result
+++ /dev/null
@@ -1,103 +0,0 @@
-MODULE MySeparateFileMod

-

-END MODULE

-

-PROGRAM MyMain

-

-    USE MySeparateFileMod

-

-    REAL :: bvar_xxx1(100:100)

-

-    REAL, POINTER :: c_xxx1

-

-    CHARACTER (LEN=30) :: char_xxx1

-

-    DOUBLE PRECISION :: cvar_xxx1(10)

-

-    COMMON /MyTestFun2_common1/ bvar_xxx1,c_xxx1,char_xxx1,cvar_xxx1

-

-    COMMON /MyTestFun_common1/ aVar

-

-    REAL :: a_xxx1

-

-    REAL :: comVar

-

-    REAL :: aVar

-

-    COMMON /CB1/ comVar

-

-    print *, test

-

-    print *, internalModVar

-

-    comVar = 5.5

-

-    CONTAINS

-

-    REAL FUNCTION MyTestFun()

-

-        REAL :: com

-

-        COMMON /MyTestFun_common2/ com

-

-        REAL :: q = 3.3, w, e = 5.5

-

-        REAL, DIMENSION(5) :: r, t

-

-        REAL, SAVE :: u = 1.1

-

-        REAL, SAVE :: o

-

-        REAL, POINTER :: p

-

-        POINTER o

-

-        REAL :: b, c, d

-

-        REAL, POINTER :: a

-

-        POINTER c, d

-

-        SAVE a, r, p, b, c

-

-        DIMENSION b(10)

-

-        c = 1.2

-

-        MyTestFun = 3.3

-

-    END FUNCTION MyTestFun

-

-    REAL FUNCTION MyTestFun2(aVar) !<<<<< 61, 10, pass

-

-        COMMON /MyTestFun2_common1/ bvar_xxx1,c_xxx1,char_xxx1,cvar_xxx1

-

-        REAL, DIMENSION (10:10) :: aVar

-

-        CHARACTER (LEN=30) :: char_xxx1

-

-        REAL :: bvar_xxx1(100:100)

-

-        DOUBLE PRECISION :: cvar_xxx1(10)

-

-        REAL, PARAMETER :: b = 1.1

-

-        REAL c_xxx1

-

-        POINTER c_xxx1

-

-        MyTestFun2 = 0.0

-    END FUNCTION MyTestFun2

-

-END PROGRAM MyMain

-

-SUBROUTINE MySub

-

-    REAL :: test

-    COMMON /CB1/ comVar

-

-    test = 1.1

-

-    comVar = comVar + comVar

-

-END SUBROUTINE MySub

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-alternate-return/test-alternate-return.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-alternate-return/test-alternate-return.f90
deleted file mode 100644
index bd57f51..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-alternate-return/test-alternate-return.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program testaltreturn
-    call testsub(4,3,200,10,200,E=10,D=2)
-    
-200 print *, "hello, world!"
-
-end program
-
-subroutine testsub(A,B,*,C,*,D,E) !<<<<< 8,1,8,5,2,1,0,4,3,6,5,pass
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-alternate-return/test-alternate-return.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-alternate-return/test-alternate-return.f90.result
deleted file mode 100644
index 15f53cb..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-alternate-return/test-alternate-return.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-program testaltreturn
-    call testsub(200,3,4,200,10,E=10,D=2)
-    
-200 print *, "hello, world!"
-
-end program
-
-subroutine testsub(*,B,A,*,C,E,D) !<<<<< 8,1,8,5,2,1,0,4,3,6,5,pass
-
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-basic/test-basic.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-basic/test-basic.f90
deleted file mode 100644
index 10c87dd..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-basic/test-basic.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program basictest
-    call simple(4,3,2)
-    
-    call simple(4,Gamma=2,Beta=3)
-end program basictest
-
-subroutine simple(Alpha, Beta, Gamma) !<<<<< 7,1,7,5,2,1,0,pass
-    integer, intent(in) :: Alpha
-    integer, intent(out) :: Beta
-    integer, intent(inout) :: Gamma
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-basic/test-basic.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-basic/test-basic.f90.result
deleted file mode 100644
index 447bb2d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-basic/test-basic.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-program basictest
-    call simple(2,3,4)
-    
-    call simple(Gamma=2,Beta=3,Alpha=4)
-end program basictest
-
-subroutine simple( Gamma, Beta,Alpha) !<<<<< 7,1,7,5,2,1,0,pass
-    integer, intent(in) :: Alpha
-    integer, intent(out) :: Beta
-    integer, intent(inout) :: Gamma
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface/test-interface.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface/test-interface.f90
deleted file mode 100644
index 2ee2a7a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface/test-interface.f90
+++ /dev/null
@@ -1,33 +0,0 @@
-program testoptional
-    interface
-        subroutine testsub(A,B,*,*,C,D,E,F)
-            integer, optional :: C
-            integer, optional :: E
-        end subroutine
-    end interface
-
-    call testsub(1,2,200,200,3,4,5,6)
-
-    call testsub(1,2,200,200,F=3,D=4)
-
-200 print *, "hello, world!"
-end program testoptional
-
-subroutine testsub(A,B,*,*,C,D,E,F) !<<<<< 16,1,16,5,2,1,3,0,5,4,6,7,pass
-    integer, optional :: C
-    integer, optional :: E
-end subroutine
-
-subroutine testsub2
-    interface
-        subroutine testsub(A,B,*,*,C,D,E,F)
-            integer, optional :: C
-            integer, optional :: E
-        end subroutine
-    end interface
-
-    call testsub(1,2,300,300,D=20,E=30,F=2,C=5)
-
-300 print *, "world, hello!!"
-
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface/test-interface.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface/test-interface.f90.result
deleted file mode 100644
index 36bbf87..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface/test-interface.f90.result
+++ /dev/null
@@ -1,33 +0,0 @@
-program testoptional
-    interface
-        subroutine testsub(*,B,*,A,D,C,E,F)
-            integer, optional :: C
-            integer, optional :: E
-        end subroutine
-    end interface
-
-    call testsub(200,2,200,1,4,3,5,6)
-
-    call testsub(200,2,200,1,D=4,F=3)
-
-200 print *, "hello, world!"
-end program testoptional
-
-subroutine testsub(*,B,*,A,D,C,E,F) !<<<<< 16,1,16,5,2,1,3,0,5,4,6,7,pass
-    integer, optional :: C
-    integer, optional :: E
-end subroutine
-
-subroutine testsub2
-    interface
-        subroutine testsub(*,B,*,A,D,C,E,F)
-            integer, optional :: C
-            integer, optional :: E
-        end subroutine
-    end interface
-
-    call testsub(300,2,300,1,D=20,C=5,E=30,F=2)
-
-300 print *, "world, hello!!"
-
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface2/test-interface2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface2/test-interface2.f90
deleted file mode 100644
index fad6c69..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface2/test-interface2.f90
+++ /dev/null
@@ -1,37 +0,0 @@
-program testoptional
-    interface
-        subroutine testsub(A,B,*,*,C,D,E,F)
-            integer, optional :: C
-            integer, optional :: E
-        end subroutine
-    end interface
-
-    call testsub(1,2,200,200,3,4,5,6)
-
-    call testsub(1,2,200,200,F=3,D=4)
-
-200 print *, "hello, world!"
-end program testoptional
-
-subroutine testsub(A,B,*,*,C,D,E,F) !<<<<< 16,1,16,5,2,1,3,0,5,4,6,7,pass
-    integer, optional :: C
-    integer, optional :: E
-end subroutine
-
-subroutine testsub2
-    interface
-        subroutine testsub(A,B,*,*,C,D,E,F)
-            integer, optional :: C
-            integer, optional :: E
-        end subroutine
-
-        subroutine testsub(A)
-            integer :: A
-        end subroutine
-    end interface
-
-    call testsub(1,2,300,300,D=20,E=30,F=2,C=5)
-
-300 print *, "world, hello!!"
-
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface2/test-interface2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface2/test-interface2.f90.result
deleted file mode 100644
index 425a255..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-interface2/test-interface2.f90.result
+++ /dev/null
@@ -1,37 +0,0 @@
-program testoptional
-    interface
-        subroutine testsub(*,B,*,A,D,C,E,F)
-            integer, optional :: C
-            integer, optional :: E
-        end subroutine
-    end interface
-
-    call testsub(200,2,200,1,4,3,5,6)
-
-    call testsub(200,2,200,1,D=4,F=3)
-
-200 print *, "hello, world!"
-end program testoptional
-
-subroutine testsub(*,B,*,A,D,C,E,F) !<<<<< 16,1,16,5,2,1,3,0,5,4,6,7,pass
-    integer, optional :: C
-    integer, optional :: E
-end subroutine
-
-subroutine testsub2
-    interface
-        subroutine testsub(*,B,*,A,D,C,E,F)
-            integer, optional :: C
-            integer, optional :: E
-        end subroutine
-
-        subroutine testsub(A)
-            integer :: A
-        end subroutine
-    end interface
-
-    call testsub(300,2,300,1,D=20,C=5,E=30,F=2)
-
-300 print *, "world, hello!!"
-
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-internal-subroutine/test-internal-subroutine.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-internal-subroutine/test-internal-subroutine.f90
deleted file mode 100644
index bbc89e0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-internal-subroutine/test-internal-subroutine.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program testaltreturn
-    call testsub(4,3,200,10,200,E=10,D=2)
-    
-200 print *, "hello, world!"
-
-contains
-
-    subroutine testsub(A,B,*,C,*,D,E) !<<<<< 8,5,8,9,2,1,0,4,3,6,5,pass
-
-    end subroutine
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-internal-subroutine/test-internal-subroutine.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-internal-subroutine/test-internal-subroutine.f90.result
deleted file mode 100644
index a153c58..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-internal-subroutine/test-internal-subroutine.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-program testaltreturn
-    call testsub(200,3,4,200,10,E=10,D=2)
-    
-200 print *, "hello, world!"
-
-contains
-
-    subroutine testsub(*,B,A,*,C,E,D) !<<<<< 8,5,8,9,2,1,0,4,3,6,5,pass
-
-    end subroutine
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-no-arguments/test-no-arguments.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-no-arguments/test-no-arguments.f90
deleted file mode 100644
index 07ad314..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-no-arguments/test-no-arguments.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program testnoarg
-
-    call testsub
-    
-end program
-
-subroutine testsub !<<<<< 7,1,7,5,pass
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-optional-arguments/test-optional-arguments.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-optional-arguments/test-optional-arguments.f90
deleted file mode 100644
index 477a3d9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-optional-arguments/test-optional-arguments.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program testoptional
-    call testsub(1,2,200,200,3,4,5,6)
-    
-    call testsub(1,2,200,200,F=3,D=4)
-    
-    call testsub(1,2,200,200,E=5,F=3,D=4)
-
-200 print *, "hello, world!"
-end program testoptional
-
-subroutine testsub(A,B,*,*,C,D,E,F) !<<<<< 11,1,11,5,2,1,3,0,5,4,6,7,pass
-    integer, optional :: C
-    integer, optional :: E
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-optional-arguments/test-optional-arguments.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-optional-arguments/test-optional-arguments.f90.result
deleted file mode 100644
index 761e583..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/permute-subroutine-args/test-optional-arguments/test-optional-arguments.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-program testoptional
-    call testsub(200,2,200,1,4,3,5,6)
-    
-    call testsub(200,2,200,1,D=4,F=3)
-    
-    call testsub(200,2,200,1,D=4,E=5,F=3)
-
-200 print *, "hello, world!"
-end program testoptional
-
-subroutine testsub(*,B,*,A,D,C,E,F) !<<<<< 11,1,11,5,2,1,3,0,5,4,6,7,pass
-    integer, optional :: C
-    integer, optional :: E
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test1/test1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test1/test1.f90
deleted file mode 100644
index f8c7074..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test1/test1.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-program test1 !<<<<< 1,1,pass
-
-INTEGER :: chicken = 0
-INTEGER :: rice
-
-if (chicken) 10,20,30
-
-10 rice = 1
-	goto 40
-20 rice = 2
-	goto 40
-30 rice = &
-	& 3
-
-40 print *, rice
-
-end program test1
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test1/test1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test1/test1.f90.result
deleted file mode 100644
index 8d5a9b7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test1/test1.f90.result
+++ /dev/null
@@ -1,23 +0,0 @@
-program test1 !<<<<< 1,1,pass
-
-INTEGER :: chicken = 0
-INTEGER :: rice
-
-if(chicken< 0) then
-    goto 10
-else if(chicken == 0) then 
-    goto 20
-else 
-    goto 30
-end if
-
-10 rice = 1
-	goto 40
-20 rice = 2
-	goto 40
-30 rice = &
-	& 3
-
-40 print *, rice
-
-end program test1
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test2/test2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test2/test2.f90
deleted file mode 100644
index daa8f6d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test2/test2.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program test2 !<<<<< 1,1,pass
-
-integer :: test = -3
-
-if(test) 10,10,10
-
-if(test) 10,10,10
-
-if(test) 10,10,10
-
-10 print *, "Hi!"
-
-end program test2
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test2/test2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test2/test2.f90.result
deleted file mode 100644
index 7f26db2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test2/test2.f90.result
+++ /dev/null
@@ -1,31 +0,0 @@
-program test2 !<<<<< 1,1,pass
-
-integer :: test = -3
-
-if(test< 0) then
-    goto 10
-else if(test == 0) then 
-    goto 10
-else 
-    goto 10
-end if
-
-if(test< 0) then
-    goto 10
-else if(test == 0) then 
-    goto 10
-else 
-    goto 10
-end if
-
-if(test< 0) then
-    goto 10
-else if(test == 0) then 
-    goto 10
-else 
-    goto 10
-end if
-
-10 print *, "Hi!"
-
-end program test2
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test3/test3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test3/test3.f90
deleted file mode 100644
index e1a5548..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test3/test3.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-program test3 !<<<<< 1,1,pass
-
-INTEGER :: chicken = 0
-INTEGER :: rice
-
-! This is a comment before the refactored line
-if (chicken) 10,20,30 ! This is a comment on the refactored line
-! This is a comment after the refactored line
-
-10 rice = 1
-	goto 40
-20 rice = 2
-	goto 40
-30 rice = &
-	& 3
-
-40 print *, rice
-
-end program test3
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test3/test3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test3/test3.f90.result
deleted file mode 100644
index dfc1ac5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test3/test3.f90.result
+++ /dev/null
@@ -1,25 +0,0 @@
-program test3 !<<<<< 1,1,pass
-
-INTEGER :: chicken = 0
-INTEGER :: rice
-
-! This is a comment before the refactored line
-if(chicken< 0) then ! This is a comment on the refactored line
-    goto 10
-else if(chicken == 0) then 
-    goto 20
-else 
-    goto 30
-end if
-! This is a comment after the refactored line
-
-10 rice = 1
-	goto 40
-20 rice = 2
-	goto 40
-30 rice = &
-	& 3
-
-40 print *, rice
-
-end program test3
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test4/test4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test4/test4.f90
deleted file mode 100644
index b80d7d9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test4/test4.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-program test4 !<<<<< 1,1,pass
-
-INTEGER :: chicken = 0
-INTEGER :: rice
-
-do
-	! This is a comment before the refactored line
-	if (chicken) 10,20,30 ! This is a comment on the refactored line
-	! This is a comment after the refactored line
-end do
-
-10 rice = 1
-	goto 40
-20 rice = 2
-	goto 40
-30 rice = &
-	& 3
-
-40 print *, rice
-
-end program test4
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test4/test4.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test4/test4.f90.result
deleted file mode 100644
index dc13105..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test4/test4.f90.result
+++ /dev/null
@@ -1,27 +0,0 @@
-program test4 !<<<<< 1,1,pass
-
-INTEGER :: chicken = 0
-INTEGER :: rice
-
-do
-    ! This is a comment before the refactored line
-    if(chicken< 0) then ! This is a comment on the refactored line
-        goto 10
-    else if(chicken == 0) then 
-        goto 20
-    else 
-        goto 30
-    end if
-	! This is a comment after the refactored line
-end do
-
-10 rice = 1
-	goto 40
-20 rice = 2
-	goto 40
-30 rice = &
-	& 3
-
-40 print *, rice
-
-end program test4
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test5/bug335794.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test5/bug335794.f90
deleted file mode 100644
index 8277e40..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test5/bug335794.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-      if(ifcur-2)120,60,120 !<<<<< 1,1,pass
-   60 if(4*ip2-ip4)80,80,120
-   80 if(ifact(if+1)-2)120,100,120
-end
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test5/bug335794.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test5/bug335794.f90.result
deleted file mode 100644
index 08c83ce..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-arithmetic-if-stmt/test5/bug335794.f90.result
+++ /dev/null
@@ -1,22 +0,0 @@
-if(ifcur-2< 0) then !<<<<< 1,1,pass
-    goto 120
-else if(ifcur-2 == 0) then 
-    goto 60
-else 
-    goto 120
-end if
-60 if(4*ip2-ip4< 0) then
-    goto 80
-else if(4*ip2-ip4 == 0) then 
-    goto 80
-else 
-    goto 120
-end if
-80 if(ifact(if+1)-2< 0) then
-    goto 120
-else if(ifact(if+1)-2 == 0) then 
-    goto 100
-else 
-    goto 120
-end if
-end
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos-white-box/one_label_no_goto.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos-white-box/one_label_no_goto.f90
deleted file mode 100644
index dca753b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos-white-box/one_label_no_goto.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-! Test 1: 1 ASSIGN Label, No GOTO statement !<<<<< 1, 1, 5, 12, pass

-program one_label_no_goto

-    assign 100 to label

-100 stop

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos-white-box/one_label_no_goto.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos-white-box/one_label_no_goto.f90.result
deleted file mode 100644
index e29895a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos-white-box/one_label_no_goto.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-! Test 1: 1 ASSIGN Label, No GOTO statement !<<<<< 1, 1, 5, 12, pass

-program one_label_no_goto

-    label = 100

-100 stop

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test01/one_label_no_goto.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test01/one_label_no_goto.f90
deleted file mode 100644
index 1a0e1b9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test01/one_label_no_goto.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-! Test 1: 1 ASSIGN Label, No GOTO statement

-! This test passes and replaces the assign statement with an assignment

-program one_label_no_goto !<<<<< 1, 1, 6, 12, true, pass

-    assign 100 to label

-100 stop

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test01/one_label_no_goto.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test01/one_label_no_goto.f90.result
deleted file mode 100644
index 3dd0a99..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test01/one_label_no_goto.f90.result
+++ /dev/null
@@ -1,6 +0,0 @@
-! Test 1: 1 ASSIGN Label, No GOTO statement

-! This test passes and replaces the assign statement with an assignment

-program one_label_no_goto !<<<<< 1, 1, 6, 12, true, pass

-    label = 100

-100 stop

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test02/one_label_one_address.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test02/one_label_one_address.f90
deleted file mode 100644
index b998f13..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test02/one_label_one_address.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-!Test 2:  1 ASSIGN Label, 1 goto address 

-!Test passes and replaces the assigned goto statements with a select case

-program one_label_one_address !<<<<< 1, 1, 12, 12, true, pass

-

-    assign 100 to label

-    goto 1000

-100   stop

-

-! Here is the intended "subroutine"

-1000 print *, "hello"

-    goto label

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test02/one_label_one_address.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test02/one_label_one_address.f90.result
deleted file mode 100644
index 7e01383..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test02/one_label_one_address.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-!Test 2:  1 ASSIGN Label, 1 goto address 

-!Test passes and replaces the assigned goto statements with a select case

-program one_label_one_address !<<<<< 1, 1, 12, 12, true, pass

-

-    label = 100

-    goto 1000

-100   stop

-

-! Here is the intended "subroutine"

-1000 print *, "hello"

-     select case (label)

-     case (100); goto 100

-     case default; stop "Unknown label"

-     end select

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test03/one_label_three_addresses.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test03/one_label_three_addresses.f90
deleted file mode 100644
index 3000fdf..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test03/one_label_three_addresses.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-! Test 3:  1 ASSIGN Label, 3 goto address

-! Test passes and replaces the three assigns and gotos with a select case

-! (Modified test case from the user stories)

-program one_label_three_addresses !<<<<< 1, 1, 26, 12, true, pass

-

-     character*50 message

-

-     message = "setting initial label address"

-     assign 100 to label

-     goto 9000

-

-100  message = "changing label addr for the first time"

-     assign 200 to label

-     goto 9000

-

-200  message = "changing label address 2nd time."

-     assign 300 to label

-     goto 9000

-

-300  stop

-

-! This is the "subroutine"

-9000 print *, message

-     goto label

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test03/one_label_three_addresses.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test03/one_label_three_addresses.f90.result
deleted file mode 100644
index f65cbcf..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test03/one_label_three_addresses.f90.result
+++ /dev/null
@@ -1,31 +0,0 @@
-! Test 3:  1 ASSIGN Label, 3 goto address

-! Test passes and replaces the three assigns and gotos with a select case

-! (Modified test case from the user stories)

-program one_label_three_addresses !<<<<< 1, 1, 26, 12, true, pass

-

-     character*50 message

-

-     message = "setting initial label address"

-     label = 100

-     goto 9000

-

-100  message = "changing label addr for the first time"

-     label = 200

-     goto 9000

-

-200  message = "changing label address 2nd time."

-     label = 300

-     goto 9000

-

-300  stop

-

-! This is the "subroutine"

-9000 print *, message

-     select case (label)

-     case (100); goto 100

-     case (200); goto 200

-     case (300); goto 300

-     case default; stop "Unknown label"

-     end select

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test04/two_labels_no_goto.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test04/two_labels_no_goto.f90
deleted file mode 100644
index 5e44069..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test04/two_labels_no_goto.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-! Test 4: 2 ASSIGN Labels, No GOTO statement

-! Test passes and replaces two assign statements with assignments 

-program two_labels_no_goto !<<<<< 1, 1, 7, 12, true, pass

-    assign 100 to label1

-    assign 325 to label2

-100 continue

-325 stop

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test04/two_labels_no_goto.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test04/two_labels_no_goto.f90.result
deleted file mode 100644
index 65258e6..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test04/two_labels_no_goto.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-! Test 4: 2 ASSIGN Labels, No GOTO statement

-! Test passes and replaces two assign statements with assignments 

-program two_labels_no_goto !<<<<< 1, 1, 7, 12, true, pass

-    label1 = 100

-    label2 = 325

-100 continue

-325 stop

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test05/two_labels_one_address.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test05/two_labels_one_address.f90
deleted file mode 100644
index cb57746..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test05/two_labels_one_address.f90
+++ /dev/null
@@ -1,22 +0,0 @@
-! Test 5: 2 ASSIGN Labels, One GOTO address each

-! Test passes and replaces two assigned gotos and creates two select case statements

-program two_labels_one_address !<<<<< 1, 1, 22, 12, true, pass

-    real :: area

-    real :: radius

-

-    assign 100 to label1

-    goto 7000

-

-100 radius = 3.0

-    assign 325 to label2

-    goto 9000

-

-325 stop

-

-7000 print *, "hello"

-    goto label1

-

-9000 area = 3.1415 * r**2

-    goto label2

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test05/two_labels_one_address.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test05/two_labels_one_address.f90.result
deleted file mode 100644
index 589c62e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test05/two_labels_one_address.f90.result
+++ /dev/null
@@ -1,28 +0,0 @@
-! Test 5: 2 ASSIGN Labels, One GOTO address each

-! Test passes and replaces two assigned gotos and creates two select case statements

-program two_labels_one_address !<<<<< 1, 1, 22, 12, true, pass

-    real :: area

-    real :: radius

-

-    label1 = 100

-    goto 7000

-

-100 radius = 3.0

-    label2 = 325

-    goto 9000

-

-325 stop

-

-7000 print *, "hello"

-     select case (label1)

-     case (100); goto 100

-     case default; stop "Unknown label"

-     end select

-

-9000 area = 3.1415 * r**2

-     select case (label2)

-     case (325); goto 325

-     case default; stop "Unknown label"

-     end select

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test06/two_labels_three_addresses.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test06/two_labels_three_addresses.f90
deleted file mode 100644
index b709f89..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test06/two_labels_three_addresses.f90
+++ /dev/null
@@ -1,38 +0,0 @@
-! Test 6: 2 ASSIGN Labels, Three GOTO address each

-! Test passes and creates two select cases and replaces the assign statements

-program two_labels_one_address !<<<<< 1, 1, 38, 12, true, pass

-    real :: area

-    real :: radius

-

-    assign 20 to label1

-    goto 7000

-

-10  assign 30 to label1

-    goto 7000

-

-20  assign 10 to label1

-    goto 7000

-    stop

-

-

-30  radius = 3.0

-    assign 200 to label2

-    goto 9000

-

-200 radius = 4.0

-    assign 300 to label2

-    goto 9000

-

-300 radius = 5.0

-    assign 325 to label2

-    goto 9000

-

-325 stop

-

-7000 print *, "hello"

-    goto label1

-

-9000 area = 3.1415 * r**2

-    goto label2

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test06/two_labels_three_addresses.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test06/two_labels_three_addresses.f90.result
deleted file mode 100644
index f1a3072..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test06/two_labels_three_addresses.f90.result
+++ /dev/null
@@ -1,48 +0,0 @@
-! Test 6: 2 ASSIGN Labels, Three GOTO address each

-! Test passes and creates two select cases and replaces the assign statements

-program two_labels_one_address !<<<<< 1, 1, 38, 12, true, pass

-    real :: area

-    real :: radius

-

-    label1 = 20

-    goto 7000

-

-10  label1 = 30

-    goto 7000

-

-20  label1 = 10

-    goto 7000

-    stop

-

-

-30  radius = 3.0

-    label2 = 200

-    goto 9000

-

-200 radius = 4.0

-    label2 = 300

-    goto 9000

-

-300 radius = 5.0

-    label2 = 325

-    goto 9000

-

-325 stop

-

-7000 print *, "hello"

-     select case (label1)

-     case (10); goto 10

-     case (20); goto 20

-     case (30); goto 30

-     case default; stop "Unknown label"

-     end select

-

-9000 area = 3.1415 * r**2

-     select case (label2)

-     case (200); goto 200

-     case (300); goto 300

-     case (325); goto 325

-     case default; stop "Unknown label"

-     end select

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test07/one_label_reassign_address.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test07/one_label_reassign_address.f90
deleted file mode 100644
index e217c18..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test07/one_label_reassign_address.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-! Test 7: 1 ASSIGN Label, Change value on label 

-! Test passes and changes the assign statements to one variable to assignments

-program one_label_reassign_address !<<<<< 1, 1, 8, 12, true, pass

-    assign 100 to label1

-    assign 200 to label1

-200 continue

-100 stop

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test07/one_label_reassign_label.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test07/one_label_reassign_label.f90.result
deleted file mode 100644
index 7fee385..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test07/one_label_reassign_label.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-! Test 7: 1 ASSIGN Label, Change value on label 

-! Test passes and changes the assign statements to one variable to assignments

-program one_label_reassign_address !<<<<< 1, 1, 8, 12, true, pass

-    label1 = 100

-    label1 = 200

-200 continue

-100 stop

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test08/two_label_same_address.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test08/two_label_same_address.f90
deleted file mode 100644
index adea11e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test08/two_label_same_address.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-! Test 8:  2 ASSIGN Labels, goto same address

-! Test passes, creating two select case statements

-program two_labels_same_address !<<<<< 1, 1, 20, 12, true, pass

-

-    assign 100 to label1

-    goto 1000

-100   print *, "Return to here"

-    stop

-

-    assign 100 to label2

-    goto 2000

-

-! Here is the intended "subroutine"

-1000 print *, "This code will get executed"

-    goto label1

-

-2000 print *, "This will not get executed since we return back since the other case stops"

-    goto label2

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test08/two_labels_same_address.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test08/two_labels_same_address.f90.result
deleted file mode 100644
index 834c4ba..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test08/two_labels_same_address.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-! Test 8:  2 ASSIGN Labels, goto same address

-! Test passes, creating two select case statements

-program two_labels_same_address !<<<<< 1, 1, 20, 12, true, pass

-

-    label1 = 100

-    goto 1000

-100   print *, "Return to here"

-    stop

-

-    label2 = 100

-    goto 2000

-

-! Here is the intended "subroutine"

-1000 print *, "This code will get executed"

-    select case (label1)

-    case (100); goto 100

-    case default; stop "Unknown label"

-    end select

-

-2000 print *, "This will not get executed since we return back since the other case stops"

-    select case (label2)

-    case (100); goto 100

-    case default; stop "Unknown label"

-    end select

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test09/one_label_goto_two_different_addresses.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test09/one_label_goto_two_different_addresses.f90
deleted file mode 100644
index 4d29696..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test09/one_label_goto_two_different_addresses.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-! Test 9:  1 ASSIGN Label, goto 2 different addresses

-! Test passes with two select case statements for the single label

-program one_label_goto_two_different_addresses !<<<<< 1, 1, 17, 12, true, pass

-

-    assign 100 to label

-    goto 1000

-

-100 assign 200 to label

-    goto 2000

-

-200 stop

-

-1000 print *, "First goto reaches here"

-    goto label

-

-2000 print *, "Second goto reaches here"

-    goto label

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test09/one_label_goto_two_different_addresses.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test09/one_label_goto_two_different_addresses.f90.result
deleted file mode 100644
index 74b98ac..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test09/one_label_goto_two_different_addresses.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-! Test 9:  1 ASSIGN Label, goto 2 different addresses

-! Test passes with two select case statements for the single label

-program one_label_goto_two_different_addresses !<<<<< 1, 1, 17, 12, true, pass

-

-    label = 100

-    goto 1000

-

-100 label = 200

-    goto 2000

-

-200 stop

-

-1000 print *, "First goto reaches here"

-     select case (label)

-     case (100); goto 100

-     case (200); goto 200

-     case default; stop "Unknown label"

-     end select

-

-2000 print *, "Second goto reaches here"

-     select case (label)

-     case (100); goto 100

-     case (200); goto 200

-     case default; stop "Unknown label"

-     end select

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test10/comment_assign_and_goto.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test10/comment_assign_and_goto.f90
deleted file mode 100644
index b1f739f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test10/comment_assign_and_goto.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-! Test 10: Comment ASSIGN and GOTO statement

-! Test fails because the assign and goto statements are commented out

-program comment_assign_and_goto !<<<<< 1, 1, 11, 12, true, fail-initial

-

-    !assign 100 to label

-    !goto 1000

-100 stop

-

-1000 print *, "Should not get here"

-    goto 100

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test11/comment_assign_valid_goto.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test11/comment_assign_valid_goto.f90
deleted file mode 100644
index 6788778..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test11/comment_assign_valid_goto.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-! Test 11: Comment ASSIGN have a valid GOTO statement

-! Test fails because the assign statement is commented out

-program comment_assign_valid_goto !<<<<< 1, 1, 11, 12, true, fail-initial

-

-    !assign 100 to label

-    goto 1000

-100 stop

-

-1000 print *, "We will get here"

-    goto 100

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test12/valid_assign_comment_goto.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test12/valid_assign_comment_goto.f90
deleted file mode 100644
index c9a92b2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test12/valid_assign_comment_goto.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-! Test 12: Valid ASSIGN and comment GOTO statement

-! Test passes and only replaces the assign because the goto is commented out

-program valid_assign_comment_goto !<<<<< 1, 1, 11, 12, true, pass

-

-    assign 100 to label

-    !goto 1000

-100 stop

-

-1000 print *, "Should not get here"

-    goto 100

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test12/valid_assign_comment_goto.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test12/valid_assign_comment_goto.f90.result
deleted file mode 100644
index 3a6d945..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test12/valid_assign_comment_goto.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-! Test 12: Valid ASSIGN and comment GOTO statement

-! Test passes and only replaces the assign because the goto is commented out

-program valid_assign_comment_goto !<<<<< 1, 1, 11, 12, true, pass

-

-    label = 100

-    !goto 1000

-100 stop

-

-1000 print *, "Should not get here"

-    goto 100

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test13/split_assign_to_two_lines.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test13/split_assign_to_two_lines.f90
deleted file mode 100644
index 03bcdfd..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test13/split_assign_to_two_lines.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-! Test 13: Split assign statement with ampersand

-! Test passes by replacing the split-up assigned goto and creating a select case

-program split_assign_to_two_lines !<<<<< 1, 1, 13, 12, true, pass

-

-    assign 100 &

-    to &

-    label

-    goto 1000

-100 stop

-

-1000 print *, "Subroutine like stuff here"

-    goto label

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test13/split_assign_to_two_lines.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test13/split_assign_to_two_lines.f90.result
deleted file mode 100644
index 86846f0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test13/split_assign_to_two_lines.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-! Test 13: Split assign statement with ampersand

-! Test passes by replacing the split-up assigned goto and creating a select case

-program split_assign_to_two_lines !<<<<< 1, 1, 13, 12, true, pass

-

-    label = 100

-    goto 1000

-100 stop

-

-1000 print *, "Subroutine like stuff here"

-     select case (label)

-     case (100); goto 100

-     case default; stop "Unknown label"

-     end select

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test14/one_label_no_goto_no_address.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test14/one_label_no_goto_no_address.f90
deleted file mode 100644
index 5b69ff0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test14/one_label_no_goto_no_address.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-! Test 14: 1 ASSIGN Label, No GOTO statement, No address

-! Test fails because there is no statement 100

-program one_label_no_goto_no_address !<<<<< 1, 1, 5, 12, true, fail-initial

-    assign 100 to label

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test15/use_label_in_equivalence.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test15/use_label_in_equivalence.f90
deleted file mode 100644
index c171557..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test15/use_label_in_equivalence.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-! Test Case 15 Label Used in Equivalence

-! Test passes because equivalence is not an action statement

-program use_label_in_equivalence !<<<<< 1, 1, 12, 37, true, pass

-    implicit none

-    real :: flabel

-    integer :: label

-    equivalence (label, flabel)

-    assign 20 to label

-    goto label

-

-20  continue

-end program use_label_in_equivalence

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test15/use_label_in_equivalence.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test15/use_label_in_equivalence.f90.result
deleted file mode 100644
index 57592e2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test15/use_label_in_equivalence.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-! Test Case 15 Label Used in Equivalence

-! Test passes because equivalence is not an action statement

-program use_label_in_equivalence !<<<<< 1, 1, 12, 37, true, pass

-    implicit none

-    real :: flabel

-    integer :: label

-    equivalence (label, flabel)

-    label = 20

-    select case (label)

-    case (20); goto 20

-    case default; stop "Unknown label"

-    end select

-

-20  continue

-end program use_label_in_equivalence

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test16/use_label_in_subroutine.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test16/use_label_in_subroutine.f90
deleted file mode 100644
index 88a09ea..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test16/use_label_in_subroutine.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-! Test Case 16 Labels Used in a Subroutine

-! Test fails because a subroutine is an action statement

-program use_label_in_subroutine !<<<<< 1, 1, 15, 4, true, fail-final

-    implicit none

-    integer label

-    assign 20 to label

-    goto label

-20  call print_label(label)

-

-end program use_label_in_subroutine

-

-subroutine print_label( label1 )

-    integer :: label1

-    print *,label1

-end

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test17/use_label_in_write.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test17/use_label_in_write.f90
deleted file mode 100644
index f1a45f4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test17/use_label_in_write.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-! Test Case 17 Label Used in Write

-! Test fails because a write is an action statement

-program use_label_in_write !<<<<< 1, 1, 11, 31, true, fail-final

-    implicit none

-    integer label

-    assign 20 to label

-    goto label

-    write (6, label)

-20  format("6xTrying specify this line with label")

-

-end program use_label_in_write

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test18/use_label_in_assignment.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test18/use_label_in_assignment.f90
deleted file mode 100644
index 1de76b1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test18/use_label_in_assignment.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-! Test Case 18 Label Used in Assignment

-! Test fails because an assignment is an action statement

-program use_label_in_assignment !<<<<< 1, 1, 8, 36, true, fail-final

-    implicit none

-    integer label

-    assign 20 to label

-    goto label

-    label = 40

-20  continue

-end program use_label_in_assignment

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test19/use_label_in_declaration.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test19/use_label_in_declaration.f90
deleted file mode 100644
index 33487c5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test19/use_label_in_declaration.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-! Test Case 19 Label Used in Declaration

-! Test passes because a declaration is not an action statement

-program use_label_in_declaration !<<<<< 1, 1, 10, 37, true, pass

-    implicit none

-    integer label

-    assign 20 to label

-    goto label

-

-20  continue

-end program use_label_in_declaration

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test19/use_label_in_declaration.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test19/use_label_in_declaration.f90.result
deleted file mode 100644
index 0b31e19..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test19/use_label_in_declaration.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-! Test Case 19 Label Used in Declaration

-! Test passes because a declaration is not an action statement

-program use_label_in_declaration !<<<<< 1, 1, 10, 37, true, pass

-    implicit none

-    integer label

-    label = 20

-    select case (label)

-    case (20); goto 20

-    case default; stop "Unknown label"

-    end select

-

-20  continue

-end program use_label_in_declaration

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test20/use_label_in_common_block.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test20/use_label_in_common_block.f90
deleted file mode 100644
index 95a6dce..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test20/use_label_in_common_block.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-! Test Case 20 Label Used in Common Block

-! Test passes because a common block is not an action statement

-program use_label_in_common_block !<<<<< 1, 1, 11, 38, true, pass

-    implicit none

-    common /test/ label

-    integer label

-    assign 20 to label

-    goto label

-

-20  continue

-end program use_label_in_common_block

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test20/use_label_in_common_block.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test20/use_label_in_common_block.f90.result
deleted file mode 100644
index 81965ff..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test20/use_label_in_common_block.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-! Test Case 20 Label Used in Common Block

-! Test passes because a common block is not an action statement

-program use_label_in_common_block !<<<<< 1, 1, 11, 38, true, pass

-    implicit none

-    common /test/ label

-    integer label

-    label = 20

-    select case (label)

-    case (20); goto 20

-    case default; stop "Unknown label"

-    end select

-

-20  continue

-end program use_label_in_common_block

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test21/two_assign_same_label_withgotos.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test21/two_assign_same_label_withgotos.f90
deleted file mode 100644
index a2f356d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test21/two_assign_same_label_withgotos.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-! Test Case 21 Two of the Same Assign Statements

-! Test passes and creates one select case statement with one select case 

-program two_assign_same_label_withgotos !<<<<< 1, 1, 13, 12, true, pass

-

-    assign 100 to label

-    goto 1000

-    

-100 assign 100 to label

-    goto 1000

-

-1000 print *, "Infinite loop"

-    goto label

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test21/two_assign_same_label_withgotos.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test21/two_assign_same_label_withgotos.f90.result
deleted file mode 100644
index ce03930..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test21/two_assign_same_label_withgotos.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-! Test Case 21 Two of the Same Assign Statements

-! Test passes and creates one select case statement with one select case 

-program two_assign_same_label_withgotos !<<<<< 1, 1, 13, 12, true, pass

-

-    label = 100

-    goto 1000

-    

-100 label = 100

-    goto 1000

-

-1000 print *, "Infinite loop"

-     select case (label)

-     case (100); goto 100

-     case default; stop "Unknown label"

-     end select

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test22/one_label_one_address_no_default.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test22/one_label_one_address_no_default.f90
deleted file mode 100644
index 12ebd12..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test22/one_label_one_address_no_default.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-! Test Case 22 1 ASSIGN Label, 1 Goto Address No Default Case

-! Test passes but does not include a default case in the select case statement

-program one_label_one_address !<<<<< 1, 1, 12, 12, false, pass

-

-    assign 100 to label

-    goto 1000

-100   stop

-

-! Here is the intended "subroutine"

-1000 print *, "hello"

-    goto label

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test22/one_label_one_address_no_default.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test22/one_label_one_address_no_default.f90.result
deleted file mode 100644
index a36c88f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test22/one_label_one_address_no_default.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-! Test Case 22 1 ASSIGN Label, 1 Goto Address No Default Case

-! Test passes but does not include a default case in the select case statement

-program one_label_one_address !<<<<< 1, 1, 12, 12, false, pass

-

-    label = 100

-    goto 1000

-100   stop

-

-! Here is the intended "subroutine"

-1000 print *, "hello"

-     select case (label)

-     case (100); goto 100

-     end select

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test23/one_label_goto_two_different_addresses_no_default.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test23/one_label_goto_two_different_addresses_no_default.f90
deleted file mode 100644
index e6bf710..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test23/one_label_goto_two_different_addresses_no_default.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-! Test Case 23 1 ASSIGN Label, goto 2 different addresses, without the default case

-! Test passes but does not include the default case in the two select case statements

-program one_label_goto_two_different_addresses !<<<<< 1, 1, 20, 12, false, pass

-

-    assign 100 to label

-    goto 1000

-

-100 assign 200 to label

-    goto 2000

-

-200 stop

-

-1000 print *, "First goto reaches here"

-    goto label

-

-2000 print *, "Second goto reaches here"

-    goto label

-

-3000 print *, "Fall-through"

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test23/one_label_goto_two_different_addresses_no_default.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test23/one_label_goto_two_different_addresses_no_default.f90.result
deleted file mode 100644
index 7b34996..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test23/one_label_goto_two_different_addresses_no_default.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-! Test Case 23 1 ASSIGN Label, goto 2 different addresses, without the default case

-! Test passes but does not include the default case in the two select case statements

-program one_label_goto_two_different_addresses !<<<<< 1, 1, 20, 12, false, pass

-

-    label = 100

-    goto 1000

-

-100 label = 200

-    goto 2000

-

-200 stop

-

-1000 print *, "First goto reaches here"

-     select case (label)

-     case (100); goto 100

-     case (200); goto 200

-     end select

-

-2000 print *, "Second goto reaches here"

-     select case (label)

-     case (100); goto 100

-     case (200); goto 200

-     end select

-

-3000 print *, "Fall-through"

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test24/one_goto_with_statement_label.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test24/one_goto_with_statement_label.f90
deleted file mode 100644
index 5d686d0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test24/one_goto_with_statement_label.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! Test Case 24 with one of the assigned goto has a statement label.

-! Test passes to include the statement label at the start of the select case section.

-program one_goto_with_stmt_label !<<<<< 1, 1, 17, 31, true, pass

-implicit none

-integer labelinaction

-integer anotherlabel

-

-assign 20 to labelinaction

-goto labelinaction

-

-assign 30 to anotherlabel

-

-write (6, labelinaction)

-20  format("6xTrying specify this line with label")

-

-30  goto anotherlabel

-end program one_goto_with_stmt_label
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test24/one_goto_with_statement_label.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test24/one_goto_with_statement_label.f90.result
deleted file mode 100644
index 73c730f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-assign-gotos/test24/one_goto_with_statement_label.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-! Test Case 24 with one of the assigned goto has a statement label.

-! Test passes to include the statement label at the start of the select case section.

-program one_goto_with_stmt_label !<<<<< 1, 1, 17, 31, true, pass

-implicit none

-integer labelinaction

-integer anotherlabel

-

-assign 20 to labelinaction

-goto labelinaction

-

-anotherlabel = 30

-

-write (6, labelinaction)

-20  format("6xTrying specify this line with label")

-

-30  select case (anotherlabel)

-    case (30); goto 30

-    case default; stop "Unknown label"

-    end select

-end program one_goto_with_stmt_label

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_Inside_and_outside_if_block/branch_from_Inside_and_outside_if_block.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_Inside_and_outside_if_block/branch_from_Inside_and_outside_if_block.f90
deleted file mode 100644
index c0c6a6e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_Inside_and_outside_if_block/branch_from_Inside_and_outside_if_block.f90
+++ /dev/null
@@ -1,29 +0,0 @@
-! More complicated PROGRAM to check that outer GOTOs
-! are retargetted to existing CONTINUE statement
-! but END IF label is not removed since inner GOTO
-! targets it.
-
-PROGRAM branch_from_inside_and_outside_if_block
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 30
-       ELSE
-          sum = sum + sum
-          GOTO 50
-30     END IF
-40     CONTINUE
-10 END IF
-20 CONTINUE
-   PRINT *, 'sum:', sum
-   IF (sum.ge.100) THEN
-       PRINT *, 'sum:', sum
-    ELSE
-       sum = sum + sum
-       GOTO 50
-50 END IF	!<<<<< 27, 1, 27, 9, pass
-60 CONTINUE
-END PROGRAM branch_from_inside_and_outside_if_block
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_Inside_and_outside_if_block/branch_from_Inside_and_outside_if_block.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_Inside_and_outside_if_block/branch_from_Inside_and_outside_if_block.f90.result
deleted file mode 100644
index eef821e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_Inside_and_outside_if_block/branch_from_Inside_and_outside_if_block.f90.result
+++ /dev/null
@@ -1,29 +0,0 @@
-! More complicated PROGRAM to check that outer GOTOs
-! are retargetted to existing CONTINUE statement
-! but END IF label is not removed since inner GOTO
-! targets it.
-
-PROGRAM branch_from_inside_and_outside_if_block
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 30
-       ELSE
-          sum = sum + sum
-          GOTO 60
-30     END IF
-40     CONTINUE
-10 END IF
-20 CONTINUE
-   PRINT *, 'sum:', sum
-   IF (sum.ge.100) THEN
-       PRINT *, 'sum:', sum
-    ELSE
-       sum = sum + sum
-       GOTO 50
-50 END IF	!<<<<< 27, 1, 27, 9, pass
-60 CONTINUE
-END PROGRAM branch_from_inside_and_outside_if_block
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_inside_and_outside_if_block_no_do_loop/branch_from_inside_and_outside_if_block_no_do_loop.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_inside_and_outside_if_block_no_do_loop/branch_from_inside_and_outside_if_block_no_do_loop.f90
deleted file mode 100644
index 8ca5cb5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_inside_and_outside_if_block_no_do_loop/branch_from_inside_and_outside_if_block_no_do_loop.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-! More complicated PROGRAM to check that outer GOTOs
-! are retargetted a CONTINUE statement that is inserted
-! but END IF label is not removed since inner GOTO
-! targets it.
-
-PROGRAM branch_from_inside_and_outside_if_block_no_do_loop
-   INTEGER :: sum, i
-   sum = 0
-   IF (MOD(i,2).eq.0) THEN
-      sum = sum + i
-      IF (sum.ge.100) THEN
-         GOTO 30
-      ELSE
-         sum = sum + sum
-         GOTO 50
-30    END IF
-10 END IF
-
-   PRINT *, 'sum:', sum
-   IF (sum.ge.100) THEN
-       PRINT *, 'sum:', sum
-    ELSE
-       sum = sum + sum
-       GOTO 50
-50 END IF	!<<<<< 25, 1, 25, 9, pass
-END PROGRAM branch_from_inside_and_outside_if_block_no_do_loop
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_inside_and_outside_if_block_no_do_loop/branch_from_inside_and_outside_if_block_no_do_loop.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_inside_and_outside_if_block_no_do_loop/branch_from_inside_and_outside_if_block_no_do_loop.f90.result
deleted file mode 100644
index 5756e74..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_from_inside_and_outside_if_block_no_do_loop/branch_from_inside_and_outside_if_block_no_do_loop.f90.result
+++ /dev/null
@@ -1,27 +0,0 @@
-! More complicated PROGRAM to check that outer GOTOs
-! are retargetted a CONTINUE statement that is inserted
-! but END IF label is not removed since inner GOTO
-! targets it.
-
-PROGRAM branch_from_inside_and_outside_if_block_no_do_loop
-   INTEGER :: sum, i
-   sum = 0
-   IF (MOD(i,2).eq.0) THEN
-      sum = sum + i
-      IF (sum.ge.100) THEN
-         GOTO 30
-      ELSE
-         sum = sum + sum
-         GOTO 60
-30    END IF
-10 END IF
-
-   PRINT *, 'sum:', sum
-   IF (sum.ge.100) THEN
-       PRINT *, 'sum:', sum
-    ELSE
-       sum = sum + sum
-       GOTO 50
-50 END IF	!<<<<< 25, 1, 25, 9, pass
-60 CONTINUE
-END PROGRAM branch_from_inside_and_outside_if_block_no_do_loop
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_to_immediate_end_if_from_else/branch_to_immediate_end_if_from_else.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_to_immediate_end_if_from_else/branch_to_immediate_end_if_from_else.f90
deleted file mode 100644
index 19a63e0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_to_immediate_end_if_from_else/branch_to_immediate_end_if_from_else.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! END IF selected that only has its own GOTO targetting
-! it so no refactoring is performed by design and 
-! user it told so.
-
-PROGRAM branch_to_immediate_end_if_from_else
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 10
-       ELSE
-          sum = sum + sum
-          GOTO 30
-30     END IF	!<<<<< 16, 1, 16, 9, fail-initial
-40     CONTINUE
-10 END IF
-20 CONTINUE
-   PRINT *, 'sum:', sum
-END PROGRAM branch_to_immediate_end_if_from_else
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_to_immediate_end_if_from_else/branch_to_immediate_end_if_from_else.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_to_immediate_end_if_from_else/branch_to_immediate_end_if_from_else.f90.result
deleted file mode 100644
index 6f595b4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/branch_to_immediate_end_if_from_else/branch_to_immediate_end_if_from_else.f90.result
+++ /dev/null
@@ -1,22 +0,0 @@
-! More complicated PROGRAM to check that outer GOTOs
-! are retargeted a CONTINUE statement that is inserted
-! but END IF label is not removed since inner GOTO
-! targets it.
-
-PROGRAM branch_to_immediate_end_if_from_else
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 10
-       ELSE
-          sum = sum + sum
-          GOTO 30
-30     END IF	!<<<<< 16, 1, 16, 9, fail-initial
-40     CONTINUE
-10 END IF
-20 CONTINUE
-   PRINT *, 'sum:', sum
-END PROGRAM branch_to_immediate_end_if_from_else
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_If_block_branch_from_else/nested_If_block_branch_from_else.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_If_block_branch_from_else/nested_If_block_branch_from_else.f90
deleted file mode 100644
index ea4406a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_If_block_branch_from_else/nested_If_block_branch_from_else.f90
+++ /dev/null
@@ -1,22 +0,0 @@
-! With a DO statement enclosing nested IF blocks make sure
-! existing CONTINUE statement is targeted for outer GOTOs
-! and since no inner GOTO exists remove the label of 
-! selected END IF (check reindentation as well).
-
-PROGRAM nested_if_block_branch_from_else
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 30
-       ELSE
-          sum = sum + sum
-          GOTO 10
-30     END IF
-40     CONTINUE
-10 END IF                           !<<<<< 19, 1, 19, 9, fail-initial
-20 CONTINUE
-   PRINT *, 'sum:', sum
-END PROGRAM nested_if_block_branch_from_else
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_If_block_branch_from_else/nested_If_block_branch_from_else.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_If_block_branch_from_else/nested_If_block_branch_from_else.f90.result
deleted file mode 100644
index 8036a81..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_If_block_branch_from_else/nested_If_block_branch_from_else.f90.result
+++ /dev/null
@@ -1,22 +0,0 @@
-! With a DO statement enclosing nested IF blocks make sure
-! existing CONTINUE statement is targeted for outer GOTOs
-! and since no inner GOTO exists remove the label of 
-! selected END IF (check reindentation as well).
-
-PROGRAM nested_if_block_branch_from_else
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 30
-       ELSE
-          sum = sum + sum
-          GOTO 20
-30     END IF
-40     CONTINUE
-     END IF                           !<<<<< 19, 1, 19, 9, fail-initial
-20 CONTINUE
-   PRINT *, 'sum:', sum
-END PROGRAM nested_if_block_branch_from_else
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_basic/nested_if_block_basic.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_basic/nested_if_block_basic.f90
deleted file mode 100644
index 46cb4c5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_basic/nested_if_block_basic.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! Using a nested IF block check that GOTO of inner IF
-! block is still considered an outer GOTO statement 
-! so a CONTINUE statement is inserted and that GOTO
-! (and other outer GOTOs) target the new CONTINUE statement
-
-PROGRAM NestedIfBlockBasic
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     GOTO 20
-   END IF
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100
-     IF (i.lt.10) THEN
-       GOTO 20
-     END IF
-     i = i - 10
-20 END IF                       !<<<<< 19, 1, 19, 10, pass
-   PRINT *, i
-END PROGRAM NestedIfBlockBasic
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_basic/nested_if_block_basic.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_basic/nested_if_block_basic.f90.result
deleted file mode 100644
index 889755c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_basic/nested_if_block_basic.f90.result
+++ /dev/null
@@ -1,22 +0,0 @@
-! Using a nested IF block check that GOTO of inner IF
-! block is still considered an outer GOTO statement 
-! so a CONTINUE statement is inserted and that GOTO
-! (and other outer GOTOs) target the new CONTINUE statement
-
-PROGRAM NestedIfBlockBasic
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     GOTO 30
-   END IF
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100
-     IF (i.lt.10) THEN
-       GOTO 20
-     END IF
-     i = i - 10
-20 END IF                       !<<<<< 19, 1, 19, 10, pass
-30 CONTINUE
-   PRINT *, i
-END PROGRAM NestedIfBlockBasic
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_inner_end_if/nested_if_block_branch_to_immediate_inner_end_if.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_inner_end_if/nested_if_block_branch_to_immediate_inner_end_if.f90
deleted file mode 100644
index 0361b62..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_inner_end_if/nested_if_block_branch_to_immediate_inner_end_if.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! Only GOTO targets the selected END IF for refactoring
-! but since a refactoring would not make any changes
-! by design we fail and warn the user that no change
-! would occur.
-
-PROGRAM nested_if_block_branch_to_immediate_inner_end_if
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 30
-       ELSE
-          sum = sum + sum
-30     END IF		!<<<<< 16, 1, 16, 9, fail-initial
-40     CONTINUE
-10 END IF
-20 CONTINUE
-   PRINT *, 'sum:', sum
-END PROGRAM nested_if_block_branch_to_immediate_inner_end_if
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_inner_end_if/nested_if_block_branch_to_immediate_inner_end_if.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_inner_end_if/nested_if_block_branch_to_immediate_inner_end_if.f90.result
deleted file mode 100644
index 0361b62..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_inner_end_if/nested_if_block_branch_to_immediate_inner_end_if.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-! Only GOTO targets the selected END IF for refactoring
-! but since a refactoring would not make any changes
-! by design we fail and warn the user that no change
-! would occur.
-
-PROGRAM nested_if_block_branch_to_immediate_inner_end_if
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 30
-       ELSE
-          sum = sum + sum
-30     END IF		!<<<<< 16, 1, 16, 9, fail-initial
-40     CONTINUE
-10 END IF
-20 CONTINUE
-   PRINT *, 'sum:', sum
-END PROGRAM nested_if_block_branch_to_immediate_inner_end_if
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_outer_end_if/nested_if_block_branch_to_immediate_outer_end_if.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_outer_end_if/nested_if_block_branch_to_immediate_outer_end_if.f90
deleted file mode 100644
index d9aae02..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_outer_end_if/nested_if_block_branch_to_immediate_outer_end_if.f90
+++ /dev/null
@@ -1,22 +0,0 @@
-! Only GOTO targets the selected END IF for refactoring
-! but since a refactoring would not make any changes
-! by design we fail and warn the user that no change
-! would occur. (Other GOTOs target other labels.)
-
-PROGRAM nested_if_block_branch_to_immediate_inner_end_ifsubroutine
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 30
-       ELSE
-          sum = sum + sum
-30     END IF
-40     CONTINUE
-       GOTO 10
-10 END IF                           !<<<<< 19, 1, 19, 9, fail-initial
-20 CONTINUE
-   PRINT *, 'sum:', sum
-END PROGRAM nested_if_block_branch_to_immediate_inner_end_ifsubroutine
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_outer_end_if/nested_if_block_branch_to_immediate_outer_end_if.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_outer_end_if/nested_if_block_branch_to_immediate_outer_end_if.f90.result
deleted file mode 100644
index d9aae02..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/nested_if_block_branch_to_immediate_outer_end_if/nested_if_block_branch_to_immediate_outer_end_if.f90.result
+++ /dev/null
@@ -1,22 +0,0 @@
-! Only GOTO targets the selected END IF for refactoring
-! but since a refactoring would not make any changes
-! by design we fail and warn the user that no change
-! would occur. (Other GOTOs target other labels.)
-
-PROGRAM nested_if_block_branch_to_immediate_inner_end_ifsubroutine
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 30
-       ELSE
-          sum = sum + sum
-30     END IF
-40     CONTINUE
-       GOTO 10
-10 END IF                           !<<<<< 19, 1, 19, 9, fail-initial
-20 CONTINUE
-   PRINT *, 'sum:', sum
-END PROGRAM nested_if_block_branch_to_immediate_inner_end_ifsubroutine
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_end_if_label/test-branch_end_if_label.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_end_if_label/test-branch_end_if_label.f90
deleted file mode 100644
index ade1aa4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_end_if_label/test-branch_end_if_label.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! Outer GOTO targets selected END IF so insert
-! a CONTINUE statement and retarget its label.
-! Remove END IF label since no inner GOTO
-! statement exists
-
-PROGRAM test_branch_end_if_label
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     GOTO 20
-   END IF
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100
-20 END IF  !<<<<< 15, 4, 15, 9, pass
-   PRINT *, i
-END PROGRAM test_branch_end_if_label
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_end_if_label/test-branch_end_if_label.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_end_if_label/test-branch_end_if_label.f90.result
deleted file mode 100644
index 5a288f2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_end_if_label/test-branch_end_if_label.f90.result
+++ /dev/null
@@ -1,18 +0,0 @@
-! Outer GOTO targets selected END IF so insert
-! a CONTINUE statement and retarget its label.
-! Remove END IF label since no inner GOTO
-! statement exists
-
-PROGRAM test_branch_end_if_label
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     GOTO 20
-   END IF
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100
-   END IF  !<<<<< 15, 4, 15, 9, pass
-20 CONTINUE
-   PRINT *, i
-END PROGRAM test_branch_end_if_label
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if/test-branch_to_immediate_end_if.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if/test-branch_to_immediate_end_if.f90
deleted file mode 100644
index 6292ba9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if/test-branch_to_immediate_end_if.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! GOTO statement is inner GOTO for selected END IF
-! so no change is expected. By design we warn the
-! user that no change will be made.
-
-PROGRAM test_branch_to_immediate_end_if
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     GOTO 20
-20 END IF	!<<<<< 10, 1, 10, 9, fail-initial
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100  
-   END IF
-   PRINT *, i
-END PROGRAM test_branch_to_immediate_end_if
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if/test-branch_to_immediate_end_if.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if/test-branch_to_immediate_end_if.f90.result
deleted file mode 100644
index 6292ba9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if/test-branch_to_immediate_end_if.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-! GOTO statement is inner GOTO for selected END IF
-! so no change is expected. By design we warn the
-! user that no change will be made.
-
-PROGRAM test_branch_to_immediate_end_if
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     GOTO 20
-20 END IF	!<<<<< 10, 1, 10, 9, fail-initial
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100  
-   END IF
-   PRINT *, i
-END PROGRAM test_branch_to_immediate_end_if
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if_with_continue_after_end_if/test-branch_to_immediate_end_if_with_continue_after_end_if.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if_with_continue_after_end_if/test-branch_to_immediate_end_if_with_continue_after_end_if.f90
deleted file mode 100644
index d3e1cae..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if_with_continue_after_end_if/test-branch_to_immediate_end_if_with_continue_after_end_if.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! By design if no GOTOs target the END IF statement even
-! if a labels CONTINUE exists no refactoring should take
-! place and the user will be notified as such.
-
-PROGRAM branch_to_immediate_end_if_with_continue_after_end_if
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     GOTO 20
-20 END IF	!<<<<< 10, 1, 10, 9, fail-initial
-30 CONTINUE
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100  
-   END IF
-   PRINT *, i
-END PROGRAM branch_to_immediate_end_if_with_continue_after_end_if
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if_with_continue_after_end_if/test-branch_to_immediate_end_if_with_continue_after_end_if.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if_with_continue_after_end_if/test-branch_to_immediate_end_if_with_continue_after_end_if.f90.result
deleted file mode 100644
index d3e1cae..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-branch_to_immediate_end_if_with_continue_after_end_if/test-branch_to_immediate_end_if_with_continue_after_end_if.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-! By design if no GOTOs target the END IF statement even
-! if a labels CONTINUE exists no refactoring should take
-! place and the user will be notified as such.
-
-PROGRAM branch_to_immediate_end_if_with_continue_after_end_if
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     GOTO 20
-20 END IF	!<<<<< 10, 1, 10, 9, fail-initial
-30 CONTINUE
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100  
-   END IF
-   PRINT *, i
-END PROGRAM branch_to_immediate_end_if_with_continue_after_end_if
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-end_if_label_between_branch_to_end_if/test-end_if_label_between_branch_to_end_if.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-end_if_label_between_branch_to_end_if/test-end_if_label_between_branch_to_end_if.f90
deleted file mode 100644
index 2bcadaf..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-end_if_label_between_branch_to_end_if/test-end_if_label_between_branch_to_end_if.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! When two labeled END IF blocks the outer GOTO that 
-! targets the selected END IF block should be retargetted
-! to a new CONTINUE statement and the original END IF label
-! removed but other labeled END IF should remain.
-
-PROGRAM test_end_if_label_between_branch_to_end_if
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     GOTO 30
-20 END IF
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100  
-30 END IF	!<<<<< 15, 1, 15, 9, pass
-   PRINT *, i
-END PROGRAM test_end_if_label_between_branch_to_end_if
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-end_if_label_between_branch_to_end_if/test-end_if_label_between_branch_to_end_if.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-end_if_label_between_branch_to_end_if/test-end_if_label_between_branch_to_end_if.f90.result
deleted file mode 100644
index 938ab73..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-end_if_label_between_branch_to_end_if/test-end_if_label_between_branch_to_end_if.f90.result
+++ /dev/null
@@ -1,18 +0,0 @@
-! When two labeled END IF blocks the outer GOTO that 
-! targets the selected END IF block should be retargetted
-! to a new CONTINUE statement and the original END IF label
-! removed but other labeled END IF should remain.
-
-PROGRAM test_end_if_label_between_branch_to_end_if
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     GOTO 30
-20 END IF
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100  
-   END IF	!<<<<< 15, 1, 15, 9, pass
-30 CONTINUE
-   PRINT *, i
-END PROGRAM test_end_if_label_between_branch_to_end_if
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_continue_branch-1/test-endif_continue_branch-1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_continue_branch-1/test-endif_continue_branch-1.f90
deleted file mode 100644
index ca20c7c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_continue_branch-1/test-endif_continue_branch-1.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-! With more DO and IF structures the outer GOTO
-! statement should still be retargetted to the 
-! existing CONTINUE statement and then remove the 
-! label of the selected END IF statement.
-
-PROGRAM test_endif_continue_branch_1
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       GOTO 10
-     END IF
-     sum = sum + i
-     IF (sum.ge.100) THEN
-       sum = sum + sum
-       GOTO 30
-10   END IF                         !<<<<< 17, 1, 17, 12, pass
-20 CONTINUE
-30 PRINT *, 'sum:', sum
-END PROGRAM test_endif_continue_branch_1
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_continue_branch-1/test-endif_continue_branch-1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_continue_branch-1/test-endif_continue_branch-1.f90.result
deleted file mode 100644
index 2bcb963..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_continue_branch-1/test-endif_continue_branch-1.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-! With more DO and IF structures the outer GOTO
-! statement should still be retargetted to the 
-! existing CONTINUE statement and then remove the 
-! label of the selected END IF statement.
-
-PROGRAM test_endif_continue_branch_1
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       GOTO 20
-     END IF
-     sum = sum + i
-     IF (sum.ge.100) THEN
-       sum = sum + sum
-       GOTO 30
-     END IF                         !<<<<< 17, 1, 17, 12, pass
-20 CONTINUE
-30 PRINT *, 'sum:', sum
-END PROGRAM test_endif_continue_branch_1
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_duplicate_continue/test-endif_duplicate_continue.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_duplicate_continue/test-endif_duplicate_continue.f90
deleted file mode 100644
index 093747c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_duplicate_continue/test-endif_duplicate_continue.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-! With two CONTINUE statements (unique labels) the
-! outter GOTO statement should be refactored to target
-! the CONTINUE statement immediately following the
-! selected END IF statement.
-
-PROGRAM test_endif_duplicate_continue
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       GOTO 10
-     END IF
-     sum = sum + i
-     IF (sum.ge.100) THEN
-       sum = sum + sum
-10   END IF                         !<<<<< 16, 1, 16, 12, pass
-20 CONTINUE
-30 CONTINUE
-40 PRINT *, 'sum:', sum
-END PROGRAM test_endif_duplicate_continue
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_duplicate_continue/test-endif_duplicate_continue.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_duplicate_continue/test-endif_duplicate_continue.f90.result
deleted file mode 100644
index e359f98..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-endif_duplicate_continue/test-endif_duplicate_continue.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-! With two CONTINUE statements (unique labels) the
-! outter GOTO statement should be refactored to target
-! the CONTINUE statement immediately following the
-! selected END IF statement.
-
-PROGRAM test_endif_duplicate_continue
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       GOTO 20
-     END IF
-     sum = sum + i
-     IF (sum.ge.100) THEN
-       sum = sum + sum
-     END IF                         !<<<<< 16, 1, 16, 12, pass
-20 CONTINUE
-30 CONTINUE
-40 PRINT *, 'sum:', sum
-END PROGRAM test_endif_duplicate_continue
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-invalid_selection/test-invalid_selection.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-invalid_selection/test-invalid_selection.f90
deleted file mode 100644
index f866dfc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-invalid_selection/test-invalid_selection.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! Refactoring requires that a labeled END IF is selected.
-! This test checks when user selects something else
-! the refactoring should not proceed.
-
-PROGRAM test_invalid_selection
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     PRINT *, k
-20 END IF
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100  
-30 END IF
-   PRINT *, i               !<<<<< 15, 4, 15, 14, fail-initial
-END PROGRAM test_invalid_selection
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-invalid_selection/test-invalid_selection.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-invalid_selection/test-invalid_selection.f90.result
deleted file mode 100644
index f866dfc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-invalid_selection/test-invalid_selection.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-! Refactoring requires that a labeled END IF is selected.
-! This test checks when user selects something else
-! the refactoring should not proceed.
-
-PROGRAM test_invalid_selection
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     PRINT *, k
-20 END IF
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100  
-30 END IF
-   PRINT *, i               !<<<<< 15, 4, 15, 14, fail-initial
-END PROGRAM test_invalid_selection
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-nested_if_blocks/test-nested_if_blocks.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-nested_if_blocks/test-nested_if_blocks.f90
deleted file mode 100644
index 2cf04b9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-nested_if_blocks/test-nested_if_blocks.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! Even with more complicated nested IF and DO structure
-! since any GOTO inside any statements of the selected
-! END IF line are considered inner IFs then it should
-! be retargetted to the following CONTINIUE statement
-! and the original END IF label removed.
-
-PROGRAM test_nested_if_blocks
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 10
-       ELSE
-          sum = sum + sum
-       END IF
-10 END IF                           !<<<<< 18, 1, 18, 10, fail-initial
-20 CONTINUE
-   PRINT *, 'sum:', sum
-END PROGRAM test_nested_if_blocks
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-nested_if_blocks/test-nested_if_blocks.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-nested_if_blocks/test-nested_if_blocks.f90.result
deleted file mode 100644
index 2cf04b9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-nested_if_blocks/test-nested_if_blocks.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-! Even with more complicated nested IF and DO structure
-! since any GOTO inside any statements of the selected
-! END IF line are considered inner IFs then it should
-! be retargetted to the following CONTINIUE statement
-! and the original END IF label removed.
-
-PROGRAM test_nested_if_blocks
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       sum = sum + i
-       IF (sum.ge.100) THEN
-          GOTO 10
-       ELSE
-          sum = sum + sum
-       END IF
-10 END IF                           !<<<<< 18, 1, 18, 10, fail-initial
-20 CONTINUE
-   PRINT *, 'sum:', sum
-END PROGRAM test_nested_if_blocks
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-no_branch_to_end_if_label/test-no_branch_to_end_if_label.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-no_branch_to_end_if_label/test-no_branch_to_end_if_label.f90
deleted file mode 100644
index e2c8718..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-no_branch_to_end_if_label/test-no_branch_to_end_if_label.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! Test if no GOTOs exist in PROGRAM then no change
-! will occur from the refactoring so the user is 
-! warned and the refactoring halted.
-
-PROGRAM test_no_branch_to_end_if_label
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     PRINT *, k
-20 END IF
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100  
-30 END IF	!<<<<< 14, 1, 14, 9, fail-initial
-   PRINT *, i
-END PROGRAM test_no_branch_to_end_if_label
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-no_branch_to_end_if_label/test-no_branch_to_end_if_label.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-no_branch_to_end_if_label/test-no_branch_to_end_if_label.f90.result
deleted file mode 100644
index e2c8718..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-no_branch_to_end_if_label/test-no_branch_to_end_if_label.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-! Test if no GOTOs exist in PROGRAM then no change
-! will occur from the refactoring so the user is 
-! warned and the refactoring halted.
-
-PROGRAM test_no_branch_to_end_if_label
-   INTEGER :: k, i
-   READ(*,*) k
-   IF (k.lt.10) THEN
-     PRINT *, k
-20 END IF
-   i = k - 10
-   IF (i.gt.100)  THEN
-     i = i - 100  
-30 END IF	!<<<<< 14, 1, 14, 9, fail-initial
-   PRINT *, i
-END PROGRAM test_no_branch_to_end_if_label
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-numbered_statement_after_continue/test-numbered_statement_after_continue.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-numbered_statement_after_continue/test-numbered_statement_after_continue.f90
deleted file mode 100644
index aa2fcf9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-numbered_statement_after_continue/test-numbered_statement_after_continue.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-! GOTO statement is an outer IF block so existing CONTINIUE
-! statement is targetted and since no inner GOTOs remain
-! END if label is removed. (more complicated DO/IF structure
-! to make sure refactoring is unaffected by other program  
-! structures.)
-
-PROGRAM test_numbered_statement_after_continue
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       GOTO 10
-     END IF
-     sum = sum + i
-     IF (sum.ge.100) THEN
-       sum = sum + sum
-10   END IF                     !<<<<< 17, 1, 17, 12, pass
-20 CONTINUE
-30 PRINT *, 'sum:', sum
-END PROGRAM test_numbered_statement_after_continue
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-numbered_statement_after_continue/test-numbered_statement_after_continue.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-numbered_statement_after_continue/test-numbered_statement_after_continue.f90.result
deleted file mode 100644
index 7e8ccc5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-branch-to-end-if/test-numbered_statement_after_continue/test-numbered_statement_after_continue.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-! GOTO statement is an outer IF block so existing CONTINIUE
-! statement is targetted and since no inner GOTOs remain
-! END if label is removed. (more complicated DO/IF structure
-! to make sure refactoring is unaffected by other program  
-! structures.)
-
-PROGRAM test_numbered_statement_after_continue
-   INTEGER :: sum, i
-   sum = 0
-   DO 20, i = 1, 10
-     IF (MOD(i,2).eq.0) THEN
-       GOTO 20
-     END IF
-     sum = sum + i
-     IF (sum.ge.100) THEN
-       sum = sum + sum
-     END IF                     !<<<<< 17, 1, 17, 12, pass
-20 CONTINUE
-30 PRINT *, 'sum:', sum
-END PROGRAM test_numbered_statement_after_continue
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test1/test1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test1/test1.f90
deleted file mode 100644
index 9db6e1e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test1/test1.f90
+++ /dev/null
@@ -1,25 +0,0 @@
-program test1

-    implicit none

-

-    integer :: n

-

-    n = 1

-

-    goto (10, 20, 30, 40) n !<<<<< 8, 5, 8, 28, pass

-

-    print *, "It wasn't handled"

-    stop

-

-10  print *, "It was one"

-    stop

-

-20  print *, "It was two"

-    stop

-

-30  print *, "It was three"

-    stop

-

-40  print *, "It was four"

-    stop

-

-end program test1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test1/test1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test1/test1.f90.result
deleted file mode 100644
index d9e5060..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test1/test1.f90.result
+++ /dev/null
@@ -1,34 +0,0 @@
-program test1

-    implicit none

-

-    integer :: n

-

-    n = 1

-

-    select case (n)

-    case (1)

-        go to 10

-    case (2)

-        go to 20

-    case (3)

-        go to 30

-    case (4)

-        go to 40

-    end select

-

-    print *, "It wasn't handled"

-    stop

-

-10  print *, "It was one"

-    stop

-

-20  print *, "It was two"

-    stop

-

-30  print *, "It was three"

-    stop

-

-40  print *, "It was four"

-    stop

-

-end program test1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test2/test2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test2/test2.f90
deleted file mode 100644
index d730500..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test2/test2.f90
+++ /dev/null
@@ -1,22 +0,0 @@
-program test2

-    implicit none

-

-    integer :: n

-

-    n = 1

-

-    goto (10, 20, 30) n*2 !<<<<< 8, 5, 8, 30, pass

-

-    print *, "It wasn't handled"

-    stop

-

-10  print *, "It was one"

-    stop

-

-20  print *, "It was two"

-    stop

-

-30  print *, "It was three"

-    stop

-

-end program test2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test2/test2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test2/test2.f90.result
deleted file mode 100644
index aa8a632..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test2/test2.f90.result
+++ /dev/null
@@ -1,29 +0,0 @@
-program test2

-    implicit none

-

-    integer :: n

-

-    n = 1

-

-    select case (n*2)

-    case (1)

-        go to 10

-    case (2)

-        go to 20

-    case (3)

-        go to 30

-    end select

-

-    print *, "It wasn't handled"

-    stop

-

-10  print *, "It was one"

-    stop

-

-20  print *, "It was two"

-    stop

-

-30  print *, "It was three"

-    stop

-

-end program test2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test3/test3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test3/test3.f90
deleted file mode 100644
index 93960d6..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test3/test3.f90
+++ /dev/null
@@ -1,24 +0,0 @@
-program test3

-    implicit none

-

-    integer :: n

-

-    n = 1

-

-    ! this is a comment

-    goto (10, 20, 30) n*2 !<<<<< 9, 5, 9, 26, pass

-    ! another comment

-

-    print *, "It wasn't handled"

-    stop

-

-10  print *, "It was one"

-    stop

-

-20  print *, "It was two"

-    stop

-

-30  print *, "It was three"

-    stop

-

-end program test3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test3/test3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test3/test3.f90.result
deleted file mode 100644
index adc2402..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test3/test3.f90.result
+++ /dev/null
@@ -1,31 +0,0 @@
-program test3

-    implicit none

-

-    integer :: n

-

-    n = 1

-

-    ! this is a comment

-    select case (n*2)

-    case (1)

-        go to 10

-    case (2)

-        go to 20

-    case (3)

-        go to 30

-    end select

-    ! another comment

-

-    print *, "It wasn't handled"

-    stop

-

-10  print *, "It was one"

-    stop

-

-20  print *, "It was two"

-    stop

-

-30  print *, "It was three"

-    stop

-

-end program test3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test4/test4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test4/test4.f90
deleted file mode 100644
index ed2dbfc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test4/test4.f90
+++ /dev/null
@@ -1,24 +0,0 @@
-program test4

-    implicit none

-

-    integer :: n

-

-    n = 1

-

-    ! this is a comment

-    goto (10, 20, 30) n*2 !<<<<< 8, 5, 8, 24, fail-initial

-    ! another comment

-

-    print *, "It wasn't handled"

-    stop

-

-10  print *, "It was one"

-    stop

-

-20  print *, "It was two"

-    stop

-

-30  print *, "It was three"

-    stop

-

-end program test4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test5/test5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test5/test5.f90
deleted file mode 100644
index a4f2855..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test5/test5.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-program test5

-    implicit none

-

-    integer :: n

-

-    n = 1

-

-    ! this is a comment

-    goto (123) n*2 !<<<<< 9, 5, 9, 19, pass

-    ! another comment

-

-    print *, "It wasn't handled"

-    stop

-

-123 print *, "It was one"

-    stop

-

-end program test5

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test5/test5.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test5/test5.f90.result
deleted file mode 100644
index a0ea2f8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-computed-goto/test5/test5.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-program test5

-    implicit none

-

-    integer :: n

-

-    n = 1

-

-    ! this is a comment

-    select case (n*2)

-    case (1)

-        go to 123

-    end select

-    ! another comment

-

-    print *, "It wasn't handled"

-    stop

-

-123 print *, "It was one"

-    stop

-

-end program test5

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_as_only_stmt/pause_as_only_stmt.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_as_only_stmt/pause_as_only_stmt.f90
deleted file mode 100644
index 8b3ed8b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_as_only_stmt/pause_as_only_stmt.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-! Checks for basic replacement of a PAUSE statement
-! with PRINT and READ.
-
-PROGRAM pause_as_only_stmt
-   PAUSE 'mid job'	!<<<<< 5, 5, 5, 7, pass
-END PROGRAM pause_as_only_stmt
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_as_only_stmt/pause_as_only_stmt.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_as_only_stmt/pause_as_only_stmt.f90.result
deleted file mode 100644
index 45a0e53..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_as_only_stmt/pause_as_only_stmt.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-! Checks for basic replacement of a PAUSE statement
-! with PRINT and READ.
-
-PROGRAM pause_as_only_stmt
-   PRINT *, 'mid job'	!<<<<< 5, 5, 5, 7, pass
-   READ (*, *)
-END PROGRAM pause_as_only_stmt
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_in_subroutine/pause_in_subroutine.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_in_subroutine/pause_in_subroutine.f90
deleted file mode 100644
index 67972ee..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_in_subroutine/pause_in_subroutine.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-! Checks for basic replacement of a PAUSE statement
-! with PRINT and READ while PAUSE statement is in
-! unit other than PROGRAM, e.g. SUBROUTINE.
-
-PROGRAM PauseInSubroutine
-  INTEGER :: i
-  DO i = 1, 100
-    IF (i == 50) THEN
-      CALL CALLPRINT
-    END IF
-  END DO
-  PRINT *, 'i=', i
-END PROGRAM PauseInSubroutine
-
-
-SUBROUTINE CALLPRINT
-   PAUSE 'mid job'              !<<<<< 17, 4, 17, 19, pass
-END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_in_subroutine/pause_in_subroutine.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_in_subroutine/pause_in_subroutine.f90.result
deleted file mode 100644
index 5f81221..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_in_subroutine/pause_in_subroutine.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! Checks for basic replacement of a PAUSE statement
-! with PRINT and READ while PAUSE statement is in
-! unit other than PROGRAM, e.g. SUBROUTINE.
-
-PROGRAM PauseInSubroutine
-  INTEGER :: i
-  DO i = 1, 100
-    IF (i == 50) THEN
-      CALL CALLPRINT
-    END IF
-  END DO
-  PRINT *, 'i=', i
-END PROGRAM PauseInSubroutine
-
-
-SUBROUTINE CALLPRINT
-   PRINT *, 'mid job'              !<<<<< 17, 4, 17, 19, pass
-   READ (*, *)
-END
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_nested_in_if_and_do_loop/pause_nested_in_if_and_do_loop.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_nested_in_if_and_do_loop/pause_nested_in_if_and_do_loop.f90
deleted file mode 100644
index 0856300..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_nested_in_if_and_do_loop/pause_nested_in_if_and_do_loop.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-! Checks for replacement of a PAUSE statement
-! with PRINT and READ while PAUSE statement is in
-! a nested DO/IF block to make sure there are no
-! dependencies on surrounding code.
-
-PROGRAM pause_nested_in_if_and_do_loop
-  INTEGER :: i
-  DO i = 1, 100
-    IF (i == 50) THEN
-      PAUSE 'mid job'	!<<<<< 10, 7, 10, 21, pass
-    END IF
-  END DO
-  PRINT *, 'i=', i
-END PROGRAM pause_nested_in_if_and_do_loop
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_nested_in_if_and_do_loop/pause_nested_in_if_and_do_loop.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_nested_in_if_and_do_loop/pause_nested_in_if_and_do_loop.f90.result
deleted file mode 100644
index 38ba20a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_nested_in_if_and_do_loop/pause_nested_in_if_and_do_loop.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-! Checks for replacement of a PAUSE statement
-! with PRINT and READ while PAUSE statement is in
-! a nested DO/IF block to make sure there are no
-! dependencies on surrounding code.
-
-PROGRAM pause_nested_in_if_and_do_loop
-  INTEGER :: i
-  DO i = 1, 100
-    IF (i == 50) THEN
-      PRINT *, 'mid job'	!<<<<< 10, 7, 10, 21, pass
-      READ (*, *)
-    END IF
-  END DO
-  PRINT *, 'i=', i
-END PROGRAM pause_nested_in_if_and_do_loop
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_no_message/pause_no_message.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_no_message/pause_no_message.f90
deleted file mode 100644
index 81ca444..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_no_message/pause_no_message.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-! Check when no PAUSE message provided that
-! an empty string is inserted in the 
-! final refactoring.
-
-PROGRAM pause_no_message
-  INTEGER :: i
-  DO i = 1, 100
-    IF (i == 50) THEN
-      PAUSE	!<<<<< 9, 7, 9, 11, pass
-    END IF
-  END DO
-  PRINT *, 'i=', i
-END PROGRAM pause_no_message
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_no_message/pause_no_message.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_no_message/pause_no_message.f90.result
deleted file mode 100644
index 54a3589..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_no_message/pause_no_message.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-! Check when no PAUSE message provided that
-! an empty string is inserted in the 
-! final refactoring.
-
-PROGRAM pause_no_message
-  INTEGER :: i
-  DO i = 1, 100
-    IF (i == 50) THEN
-      PRINT *, ''	!<<<<< 9, 7, 9, 11, pass
-      READ (*, *)
-    END IF
-  END DO
-  PRINT *, 'i=', i
-END PROGRAM pause_no_message
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_not_selected/pause_not_selected.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_not_selected/pause_not_selected.f90
deleted file mode 100644
index 5eb5727..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_not_selected/pause_not_selected.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-! Refactoring requires that PAUSE statement be
-! selected. Check that no refactoring occurs
-! when PAUSE is not selected.
-
-PROGRAM pause_not_selected
-  INTEGER :: i
-  DO i = 1, 100
-    IF (i == 50) THEN
-      PAUSE 'mid job'
-    END IF
-  END DO
-  PRINT *, 'i=', i	!<<<<< 12, 3, 12, 5, fail-initial
-END PROGRAM pause_not_selected
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_not_selected/pause_not_selected.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_not_selected/pause_not_selected.f90.result
deleted file mode 100644
index 5eb5727..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-pause-stmt/pause_not_selected/pause_not_selected.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-! Refactoring requires that PAUSE statement be
-! selected. Check that no refactoring occurs
-! when PAUSE is not selected.
-
-PROGRAM pause_not_selected
-  INTEGER :: i
-  DO i = 1, 100
-    IF (i == 50) THEN
-      PAUSE 'mid job'
-    END IF
-  END DO
-  PRINT *, 'i=', i	!<<<<< 12, 3, 12, 5, fail-initial
-END PROGRAM pause_not_selected
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/equal-lb-ub/equal-lb-ub.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/equal-lb-ub/equal-lb-ub.f90
deleted file mode 100644
index b836844..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/equal-lb-ub/equal-lb-ub.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-! When upper and lower bounds are the same value
-! refactoring should proceed with same value used.
-
-PROGRAM EqualLbUb
-  REAL :: counter, sum
-  sum = 0.0
-  DO counter = 1.2, 1.2, 0.1        !<<<<< 7, 3, 7, 29, 0, pass
-    sum = sum + counter
-  END DO
-  PRINT *, sum
-END PROGRAM EqualLbUb
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/equal-lb-ub/equal-lb-ub.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/equal-lb-ub/equal-lb-ub.f90.result
deleted file mode 100644
index 4e1be67..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/equal-lb-ub/equal-lb-ub.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-! When upper and lower bounds are the same value
-! refactoring should proceed with same value used.
-
-PROGRAM EqualLbUb
-  REAL :: counter, sum
-  sum = 0.0
-  counter = 1.2
-  DO                                !<<<<< 7, 3, 7, 29, 0, pass
-    sum = sum + counter
-    counter = counter - 0.1
-    IF(counter < 1.2) THEN
-      EXIT
-    END IF
-  END DO
-  PRINT *, sum
-END PROGRAM EqualLbUb
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/integer-control-variable/integer-control-variable.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/integer-control-variable/integer-control-variable.f90
deleted file mode 100644
index e10f7b2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/integer-control-variable/integer-control-variable.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-! Loop control variable declared as an INTEGER.
-! Refactoring explicitly requires a REAL or DOUBLE
-! type to proceed.
-
-PROGRAM IntegerControlVariable
-  INTEGER :: counter, sum
-  sum = 0
-  DO counter = 1, 10, 1        !<<<<< 8, 3, 8, 24, 0, fail-initial
-    sum = sum + counter
-  END DO
-  PRINT *, sum
-END PROGRAM IntegerControlVariable
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/integer-control-variable/integer-control-variable.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/integer-control-variable/integer-control-variable.f90.result
deleted file mode 100644
index e4d3d42..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/integer-control-variable/integer-control-variable.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-! Loop control variable declared as an INTEGER.
-! Refactoring explicitly requires a REAL or DOUBLE
-! type to proceed.
-
-PROGRAM IntegerControlVariable
-  INTEGER :: counter, sum
-  sum = 0
-  DO counter = 1, 10, 1        !<<<<< 8, 3, 8, 24, 0, fail-final
-    sum = sum + counter
-  END DO
-  PRINT *, sum
-END PROGRAM IntegerControlVariable
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-do-while/nested-do-double-inner-decrement-do-while.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-do-while/nested-do-double-inner-decrement-do-while.f90
deleted file mode 100644
index e7cfe0b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-do-while/nested-do-double-inner-decrement-do-while.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - DOUBLE data type
-! and decrement behavior - explicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoDoubleInnerDecrementDoWhile
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    DO counterin = 1.8, 1.2, 0.1                    !<<<<< 12, 5, 12, 33, 1, pass
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleInnerDecrementDoWhile
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-do-while/nested-do-double-inner-decrement-do-while.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-do-while/nested-do-double-inner-decrement-do-while.f90.result
deleted file mode 100644
index a9af20c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-do-while/nested-do-double-inner-decrement-do-while.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - DOUBLE data type
-! and decrement behavior - explicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoDoubleInnerDecrementDoWhile
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    counterin = 1.8
-    DO WHILE (counterin >= 1.2)                    !<<<<< 12, 5, 12, 33, 1, pass
-      sumin = sumin + counterin
-      counterin = counterin - 0.1
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleInnerDecrementDoWhile
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit-do-while/nested-do-double-inner-decrement-implicit-do-while.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit-do-while/nested-do-double-inner-decrement-implicit-do-while.f90
deleted file mode 100644
index e67e8f7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit-do-while/nested-do-double-inner-decrement-implicit-do-while.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - DOUBLE data type
-! and decrement behavior - implicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoDoubleInnerDecrementImplicit
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    DO counterin = 1.8, 1.2                         !<<<<< 12, 5, 12, 33, 1, pass
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleInnerDecrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit-do-while/nested-do-double-inner-decrement-implicit-do-while.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit-do-while/nested-do-double-inner-decrement-implicit-do-while.f90.result
deleted file mode 100644
index 8be8c54..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit-do-while/nested-do-double-inner-decrement-implicit-do-while.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - DOUBLE data type
-! and decrement behavior - implicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoDoubleInnerDecrementImplicit
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    counterin = 1.8
-    DO WHILE (counterin >= 1.2)                         !<<<<< 12, 5, 12, 33, 1, pass
-      sumin = sumin + counterin
-      counterin = counterin - 1
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleInnerDecrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit/nested-do-double-inner-decrement-implicit.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit/nested-do-double-inner-decrement-implicit.f90
deleted file mode 100644
index 314c257..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit/nested-do-double-inner-decrement-implicit.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - DOUBLE data type
-! and decrement behavior - implicit step count.
-
-PROGRAM NestedDoDoubleInnerDecrementImplicit
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    DO counterin = 1.8, 1.2                         !<<<<< 11, 5, 11, 33, 0, pass
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleInnerDecrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit/nested-do-double-inner-decrement-implicit.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit/nested-do-double-inner-decrement-implicit.f90.result
deleted file mode 100644
index 8165968..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement-implicit/nested-do-double-inner-decrement-implicit.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - DOUBLE data type
-! and decrement behavior - implicit step count.
-
-PROGRAM NestedDoDoubleInnerDecrementImplicit
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    counterin = 1.8
-    DO                                              !<<<<< 11, 5, 11, 33, 0, pass
-      sumin = sumin + counterin
-      counterin = counterin - 1
-      IF(counterin < 1.2) THEN
-        EXIT
-      END IF
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleInnerDecrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement/nested-do-double-inner-decrement.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement/nested-do-double-inner-decrement.f90
deleted file mode 100644
index e7a2e43..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement/nested-do-double-inner-decrement.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - DOUBLE data type
-! and decrement behavior - explicit step count.
-
-PROGRAM NestedDoDoubleInnerDecrement
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    DO counterin = 1.8, 1.2, 0.1                    !<<<<< 11, 5, 11, 33, 0, pass
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleInnerDecrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement/nested-do-double-inner-decrement.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement/nested-do-double-inner-decrement.f90.result
deleted file mode 100644
index 51cea8c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-inner-decrement/nested-do-double-inner-decrement.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - DOUBLE data type
-! and decrement behavior - explicit step count.
-
-PROGRAM NestedDoDoubleInnerDecrement
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    counterin = 1.8
-    DO                                              !<<<<< 11, 5, 11, 33, 0, pass
-      sumin = sumin + counterin
-      counterin = counterin - 0.1
-      IF(counterin < 1.2) THEN
-        EXIT
-      END IF
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleInnerDecrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-do-while/nested-do-double-outer-increment-do-while.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-do-while/nested-do-double-outer-increment-do-while.f90
deleted file mode 100644
index e8cc643..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-do-while/nested-do-double-outer-increment-do-while.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - DOUBLE data type
-! and increment behavior - explicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoDoubleOuterIncrement
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1                    !<<<<< 10, 3, 10, 29, 1, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleOuterIncrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-do-while/nested-do-double-outer-increment-do-while.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-do-while/nested-do-double-outer-increment-do-while.f90.result
deleted file mode 100644
index 11c6942..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-do-while/nested-do-double-outer-increment-do-while.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - DOUBLE data type
-! and increment behavior - explicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoDoubleOuterIncrement
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  counter = 1.2
-  DO WHILE (counter <= 1.8)                    !<<<<< 10, 3, 10, 29, 1, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-    counter = counter + 0.1
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleOuterIncrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit-do-while/nested-do-double-outer-increment-implicit-do-while.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit-do-while/nested-do-double-outer-increment-implicit-do-while.f90
deleted file mode 100644
index cd768b3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit-do-while/nested-do-double-outer-increment-implicit-do-while.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - DOUBLE data type
-! and increment behavior - implicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoDoubleOuterIncrementImplicit
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8                         !<<<<< 10, 3, 10, 29, 1, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleOuterIncrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit-do-while/nested-do-double-outer-increment-implicit-do-while.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit-do-while/nested-do-double-outer-increment-implicit-do-while.f90.result
deleted file mode 100644
index 959469d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit-do-while/nested-do-double-outer-increment-implicit-do-while.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - DOUBLE data type
-! and increment behavior - implicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoDoubleOuterIncrementImplicit
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  counter = 1.2
-  DO WHILE (counter <= 1.8)                         !<<<<< 10, 3, 10, 29, 1, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-    counter = counter + 1
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleOuterIncrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit/nested-do-double-outer-increment-implicit.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit/nested-do-double-outer-increment-implicit.f90
deleted file mode 100644
index b71d90a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit/nested-do-double-outer-increment-implicit.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - DOUBLE data type
-! and increment behavior - implicit step count.
-
-PROGRAM NestedDoDoubleOuterIncrementImplicit
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8                         !<<<<< 9, 3, 9, 29, 0, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleOuterIncrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit/nested-do-double-outer-increment-implicit.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit/nested-do-double-outer-increment-implicit.f90.result
deleted file mode 100644
index 7c26a88..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment-implicit/nested-do-double-outer-increment-implicit.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - DOUBLE data type
-! and increment behavior - implicit step count.
-
-PROGRAM NestedDoDoubleOuterIncrementImplicit
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  counter = 1.2
-  DO                                            !<<<<< 9, 3, 9, 29, 0, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-    counter = counter + 1
-    IF(counter > 1.8) THEN
-      EXIT
-    END IF
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleOuterIncrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment/nested-do-double-outer-increment.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment/nested-do-double-outer-increment.f90
deleted file mode 100644
index 9b7b8e9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment/nested-do-double-outer-increment.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - DOUBLE data type
-! and increment behavior - explicit step count.
-
-PROGRAM NestedDoDoubleOuterIncrement
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1                    !<<<<< 9, 3, 9, 29, 0, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleOuterIncrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment/nested-do-double-outer-increment.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment/nested-do-double-outer-increment.f90.result
deleted file mode 100644
index 9637318..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-double-outer-increment/nested-do-double-outer-increment.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - DOUBLE data type
-! and increment behavior - explicit step count.
-
-PROGRAM NestedDoDoubleOuterIncrement
-  DOUBLE PRECISION :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  counter = 1.2
-  DO                                            !<<<<< 9, 3, 9, 29, 0, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-    counter = counter + 0.1
-    IF(counter > 1.8) THEN
-      EXIT
-    END IF
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoDoubleOuterIncrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-do-while/nested-do-real-inner-decrement-do-while.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-do-while/nested-do-real-inner-decrement-do-while.f90
deleted file mode 100644
index 8aab597..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-do-while/nested-do-real-inner-decrement-do-while.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - REAL data type
-! and decrement behavior - explicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoRealInnerDecrement
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    DO counterin = 1.8, 1.2, 0.1                !<<<<< 12, 5, 12, 33, 1, pass
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealInnerDecrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-do-while/nested-do-real-inner-decrement-do-while.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-do-while/nested-do-real-inner-decrement-do-while.f90.result
deleted file mode 100644
index 9d6fabc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-do-while/nested-do-real-inner-decrement-do-while.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - REAL data type
-! and decrement behavior - explicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoRealInnerDecrement
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    counterin = 1.8
-    DO WHILE (counterin >= 1.2)                !<<<<< 12, 5, 12, 33, 1, pass
-      sumin = sumin + counterin
-      counterin = counterin - 0.1
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealInnerDecrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit-do-while/nested-do-real-inner-decrement-implicit-do-while.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit-do-while/nested-do-real-inner-decrement-implicit-do-while.f90
deleted file mode 100644
index 23f4b3d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit-do-while/nested-do-real-inner-decrement-implicit-do-while.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - REAL data type
-! and decrement behavior - implicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoRealInnerDecrementImplicit
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    DO counterin = 1.8, 1.2                     !<<<<< 12, 5, 12, 33, 1, pass
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealInnerDecrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit-do-while/nested-do-real-inner-decrement-implicit-do-while.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit-do-while/nested-do-real-inner-decrement-implicit-do-while.f90.result
deleted file mode 100644
index 81d3479..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit-do-while/nested-do-real-inner-decrement-implicit-do-while.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - REAL data type
-! and decrement behavior - implicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoRealInnerDecrementImplicit
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    counterin = 1.8
-    DO WHILE (counterin >= 1.2)                     !<<<<< 12, 5, 12, 33, 1, pass
-      sumin = sumin + counterin
-      counterin = counterin - 1
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealInnerDecrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit/nested-do-real-inner-decrement-implicit.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit/nested-do-real-inner-decrement-implicit.f90
deleted file mode 100644
index edf48f3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit/nested-do-real-inner-decrement-implicit.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - REAL data type
-! and decrement behavior - implicit step count.
-
-PROGRAM NestedDoRealInnerDecrementImplicit
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    DO counterin = 1.8, 1.2                     !<<<<< 11, 5, 11, 33, 0, pass
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealInnerDecrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit/nested-do-real-inner-decrement-implicit.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit/nested-do-real-inner-decrement-implicit.f90.result
deleted file mode 100644
index 98bc141..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement-implicit/nested-do-real-inner-decrement-implicit.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - REAL data type
-! and decrement behavior - implicit step count.
-
-PROGRAM NestedDoRealInnerDecrementImplicit
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    counterin = 1.8
-    DO                                          !<<<<< 11, 5, 11, 33, 0, pass
-      sumin = sumin + counterin
-      counterin = counterin - 1
-      IF(counterin < 1.2) THEN
-        EXIT
-      END IF
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealInnerDecrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement/nested-do-real-inner-decrement.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement/nested-do-real-inner-decrement.f90
deleted file mode 100644
index f660d8c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement/nested-do-real-inner-decrement.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - REAL data type
-! and decrement behavior - explicit step count.
-
-PROGRAM NestedDoRealInnerDecrement
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    DO counterin = 1.8, 1.2, 0.1                !<<<<< 11, 5, 11, 33, 0, pass
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealInnerDecrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement/nested-do-real-inner-decrement.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement/nested-do-real-inner-decrement.f90.result
deleted file mode 100644
index 477da4e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-inner-decrement/nested-do-real-inner-decrement.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select inner DO loop - REAL data type
-! and decrement behavior - explicit step count.
-
-PROGRAM NestedDoRealInnerDecrement
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-    counterin = 1.8
-    DO                                          !<<<<< 11, 5, 11, 33, 0, pass
-      sumin = sumin + counterin
-      counterin = counterin - 0.1
-      IF(counterin < 1.2) THEN
-        EXIT
-      END IF
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealInnerDecrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-do-while/nested-do-real-outer-increment-do-while.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-do-while/nested-do-real-outer-increment-do-while.f90
deleted file mode 100644
index 816fe2a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-do-while/nested-do-real-outer-increment-do-while.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - REAL data type
-! and decrement behavior - explicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoRealOuterIncrement
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1                    !<<<<< 10, 3, 10, 29, 1, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealOuterIncrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-do-while/nested-do-real-outer-increment-do-while.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-do-while/nested-do-real-outer-increment-do-while.f90.result
deleted file mode 100644
index 8edb5e0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-do-while/nested-do-real-outer-increment-do-while.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - REAL data type
-! and decrement behavior - explicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoRealOuterIncrement
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  counter = 1.2
-  DO WHILE (counter <= 1.8)                    !<<<<< 10, 3, 10, 29, 1, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-    counter = counter + 0.1
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealOuterIncrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit-do-while/nested-do-real-outer-increment-implicit-do-while.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit-do-while/nested-do-real-outer-increment-implicit-do-while.f90
deleted file mode 100644
index 81e7d7b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit-do-while/nested-do-real-outer-increment-implicit-do-while.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - REAL data type
-! and decrement behavior - implicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoRealOuterIncrementImplicitDoWhile
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8                         !<<<<< 10, 3, 10, 29, 1, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealOuterIncrementImplicitDoWhile
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit-do-while/nested-do-real-outer-increment-implicit-do-while.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit-do-while/nested-do-real-outer-increment-implicit-do-while.f90.result
deleted file mode 100644
index 3b446e4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit-do-while/nested-do-real-outer-increment-implicit-do-while.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - REAL data type
-! and decrement behavior - implicit step count.
-! (This test selecting to replace with DO WHILE loop.)
-
-PROGRAM NestedDoRealOuterIncrementImplicitDoWhile
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  counter = 1.2
-  DO WHILE (counter <= 1.8)                         !<<<<< 10, 3, 10, 29, 1, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-    counter = counter + 1
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealOuterIncrementImplicitDoWhile
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit/nested-do-real-outer-increment-implicit.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit/nested-do-real-outer-increment-implicit.f90
deleted file mode 100644
index 48f5079..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit/nested-do-real-outer-increment-implicit.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - REAL data type
-! and decrement behavior - implicit step count.
-
-PROGRAM NestedDoRealOuterIncrementImplicit
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8                         !<<<<< 9, 3, 9, 29, 0, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealOuterIncrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit/nested-do-real-outer-increment-implicit.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit/nested-do-real-outer-increment-implicit.f90.result
deleted file mode 100644
index 9504db3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment-implicit/nested-do-real-outer-increment-implicit.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - REAL data type
-! and decrement behavior - implicit step count.
-
-PROGRAM NestedDoRealOuterIncrementImplicit
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  counter = 1.2
-  DO                                            !<<<<< 9, 3, 9, 29, 0, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-    counter = counter + 1
-    IF(counter > 1.8) THEN
-      EXIT
-    END IF
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealOuterIncrementImplicit
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment/nested-do-real-outer-increment.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment/nested-do-real-outer-increment.f90
deleted file mode 100644
index 708207b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment/nested-do-real-outer-increment.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - REAL data type
-! and decrement behavior - explicit step count.
-
-PROGRAM NestedDoRealOuterIncrement
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  DO counter = 1.2, 1.8, 0.1                    !<<<<< 9, 3, 9, 29, 0, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealOuterIncrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment/nested-do-real-outer-increment.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment/nested-do-real-outer-increment.f90.result
deleted file mode 100644
index a2b3e0f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/nested-do-real-outer-increment/nested-do-real-outer-increment.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-! Check that nested DO loop doesn't affect refactoring
-! behavior. Select outer DO loop - REAL data type
-! and decrement behavior - explicit step count.
-
-PROGRAM NestedDoRealOuterIncrement
-  REAL :: counter, sum, counterin, sumin
-  sum = 0.0
-  sumin = 0.0
-  counter = 1.2
-  DO                                            !<<<<< 9, 3, 9, 29, 0, pass
-    sum = sum + counter
-    DO counterin = 1.2, 1.8, 0.1
-      sumin = sumin + counterin
-    END DO
-    counter = counter + 0.1
-    IF(counter > 1.8) THEN
-      EXIT
-    END IF
-  END DO
-  PRINT *, sum
-END PROGRAM NestedDoRealOuterIncrement
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/test-invalid-selection/test-invalid-selection.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/test-invalid-selection/test-invalid-selection.f90
deleted file mode 100644
index 5c3ecce..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/test-invalid-selection/test-invalid-selection.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-! Controlled DO loop must be selected for refactoring.
-! Test invalid selection that refactoring will no proceed.
-
-PROGRAM TestInvalidSelection
-  REAL :: counter, sum
-  sum = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-  END DO
-  PRINT *, sum                  !<<<<< 10,3,10,15, 0, fail-initial
-END PROGRAM TestInvalidSelection
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/test-invalid-selection/test-invalid-selection.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/test-invalid-selection/test-invalid-selection.result
deleted file mode 100644
index a02e2c9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/test-invalid-selection/test-invalid-selection.result
+++ /dev/null
@@ -1,11 +0,0 @@
-! Controlled DO loop must be selected for refactoring.
-! Test invalid selection that refactoring will no proceed.
-
-PROGRAM TestInvalidSelection
-  REAL :: counter, sum
-  sum = 0.0
-  DO counter = 1.2, 1.8, 0.1
-    sum = sum + counter
-  END DO
-  PRINT *, sum                  !<<<<< 10,3,10,15, 0, fail-final
-END PROGRAM TestInvalidSelection
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/uncontrolled-do-loop/uncontrolled-do-loop.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/uncontrolled-do-loop/uncontrolled-do-loop.f90
deleted file mode 100644
index 5e8f89d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/uncontrolled-do-loop/uncontrolled-do-loop.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-! DO loop selected for refactoring must be a controlled
-! DO loop otherwise refactoring will not proceed.
-
-PROGRAM UncontrolledDoLoop
-  REAL :: counter, sum
-  sum = 0.0
-  counter = 1.2
-  DO                                !<<<<< 8,3,8,5, 0, fail-initial
-    sum = sum + counter
-    counter = counter + 0.1
-    IF (counter > 1.8) THEN
-      EXIT
-    END IF
-  END DO
-  PRINT *, sum
-END PROGRAM UncontrolledDoLoop
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/uncontrolled-do-loop/uncontrolled-do-loop.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/uncontrolled-do-loop/uncontrolled-do-loop.result
deleted file mode 100644
index ff5e241..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-real-and-double-precision-loop-counters/uncontrolled-do-loop/uncontrolled-do-loop.result
+++ /dev/null
@@ -1,16 +0,0 @@
-! DO loop selected for refactoring must be a controlled
-! DO loop otherwise refactoring will not proceed.
-
-PROGRAM UncontrolledDoLoop
-  REAL :: counter, sum
-  sum = 0.0
-  counter = 1.2
-  DO                                !<<<<< 8,3,8,5, 0, fail-final
-    sum = sum + counter
-    counter = counter + 0.1
-    IF (counter > 1.8) THEN
-      EXIT
-    END IF
-  END DO
-  PRINT *, sum
-END PROGRAM UncontrolledDoLoop
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test1/remove-unreferenced-labels-test1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test1/remove-unreferenced-labels-test1.f90
deleted file mode 100644
index 49e3e47..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test1/remove-unreferenced-labels-test1.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-program main

-  integer ::i

-      i=1

- 100  if (i.lt.10) then !<<<<< 1, 1, 19, 10, pass

-         i=1

- 101     continue

- 110  else

-      end if

-

-end program

-

-900   subroutine OneSubroutine

-          return

-      end subroutine

-

-      integer function OneFunc()

-      994 OneFunc=1

-      996 return

-      end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test1/remove-unreferenced-labels-test1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test1/remove-unreferenced-labels-test1.f90.result
deleted file mode 100644
index e99ae47..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test1/remove-unreferenced-labels-test1.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-program main

-  integer ::i

-      i=1

-      if (i.lt.10) then !<<<<< 1, 1, 19, 10, pass

-         i=1

-     else

-      end if

-

-end program

-subroutine OneSubroutine

-          return

-      end subroutine

-

-      integer function OneFunc()

-          OneFunc=1

-          return

-      end

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test2/remove-unreferenced-labels-test2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test2/remove-unreferenced-labels-test2.f90
deleted file mode 100644
index 0449b1f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test2/remove-unreferenced-labels-test2.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program main

-    implicit none

-

-    integer :: i,j

-

-

-    do i = 1,10

-        do j=1,10

-            print *,i+j

-        100 continue !<<<<< 1, 1, 14, 17, pass

-        end do

-    end do

-

-end program main

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test2/remove-unreferenced-labels-test2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test2/remove-unreferenced-labels-test2.f90.result
deleted file mode 100644
index 7ea4106..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test2/remove-unreferenced-labels-test2.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-program main

-    implicit none

-

-    integer :: i,j

-

-

-    do i = 1,10

-        do j=1,10

-            print *,i+j

-        end do

-    end do

-

-end program main

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test3/remove-unreferenced-labels-test3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test3/remove-unreferenced-labels-test3.f90
deleted file mode 100644
index 47bbace..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test3/remove-unreferenced-labels-test3.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program main

-    implicit none

-

-

-100 goto 200 !<<<<< 1, 1, 8, 17, pass

-200 print *,'200'

-

-end program main
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test3/remove-unreferenced-labels-test3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test3/remove-unreferenced-labels-test3.f90.result
deleted file mode 100644
index 1063377..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unreferenced-labels/test3/remove-unreferenced-labels-test3.f90.result
+++ /dev/null
@@ -1,6 +0,0 @@
-program main

-    implicit none

-    goto 200 !<<<<< 1, 1, 8, 17, pass

-200 print *,'200'

-

-end program main

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test1/unused_variables.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test1/unused_variables.f90
deleted file mode 100644
index 8044426..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test1/unused_variables.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program unused_variables !<<<<<1,1,pass

-    implicit none

-    integer x,y,z !Integers are declared

-    real :: a,b,c !Reals are declared

-    y = 6 !Only y is used so far

-    z = y + 9 !Now z is used as well

-    a = 7.0 !Value is assigned to variable a

-end program unused_variables

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test1/unused_variables.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test1/unused_variables.f90.result
deleted file mode 100644
index 669484a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test1/unused_variables.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-program unused_variables !<<<<<1,1,pass

-    implicit none

-    integer y,z !Integers are declared

-    real :: a !Reals are declared

-    y = 6 !Only y is used so far

-    z = y + 9 !Now z is used as well

-    a = 7.0 !Value is assigned to variable a

-end program unused_variables

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test2/unused_variables_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test2/unused_variables_2.f90
deleted file mode 100644
index 2e43102..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test2/unused_variables_2.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program standardize_statements !<<<<<1,1,pass

-    implicit none

-    real, dimension(1:10) :: vector, vector2

-    integer a(4), b(20), c(6), d

-    dimension :: d(10)

-

-    a = (/1,2,3,4/)

-    vector(1:10) = 4.0

-

-end program standardize_statements

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test2/unused_variables_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test2/unused_variables_2.f90.result
deleted file mode 100644
index f3eab90..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/remove-unused-local-vars/test2/unused_variables_2.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-program standardize_statements !<<<<<1,1,pass

-    implicit none

-    real, dimension(1:10) :: vector

-    integer a(4), d

-    dimension :: d(10)

-

-    a = (/1,2,3,4/)

-    vector(1:10) = 4.0

-

-end program standardize_statements

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/.cvsignore b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/.cvsignore
deleted file mode 100644
index d8200e1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-rename?
-*.mod
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/Makefile b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/Makefile
deleted file mode 100644
index bace899..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-FORTRAN=ifort
-FLAGS=-g -I.
-
-all:
-	$(FORTRAN) $(FLAGS) -o rename1 rename1.f90
-	$(FORTRAN) $(FLAGS) -o rename2 rename2.f90
-	
-	$(FORTRAN) $(FLAGS) -S rename3c.f90
-	$(FORTRAN) $(FLAGS) -S rename3a.f90 rename3b.f90
-	$(FORTRAN) $(FLAGS) -o rename3 rename3*.f90
-	rm -f *.mod *.s
-	
-	$(FORTRAN) $(FLAGS) -o rename4 rename4.f90
-	$(FORTRAN) $(FLAGS) -o rename5 rename5.f90
-	$(FORTRAN) $(FLAGS) -o rename6 rename6.f90
-	$(FORTRAN) $(FLAGS) -o rename7 rename7.f90
-	$(FORTRAN) $(FLAGS) -o rename8 rename8.f90
-	$(FORTRAN) $(FLAGS) -o rename9 rename9.f90 rename9a.f90
-
-clean:
-	rm -f rename? *.mod *.s
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-mod.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-mod.f90
deleted file mode 100644
index c5e94d7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-mod.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-MODULE Mod1
-
-    INTEGER, PARAMETER :: DIM = 5 ! 3,27
-
-    CONTAINS
-
-        SUBROUTINE PrintDim
-
-            print *,'DIM IS:'
-
-            print *, DIM ! 11,22
-
-        END SUBROUTINE PrintDim
-
-END MODULE Mod1
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-prog.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-prog.f90
deleted file mode 100644
index ee1110a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-prog.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-PROGRAM MyProgram
-
-    CALL MySub
-
-    CALL MySub2
-
-END PROGRAM MyProgram
-
-
-subroutine MySub
-
-    USE Mod1
-
-    INTEGER, DIMENSION(DIM) :: MyArray = (/1, 10, 100, 1000, 10000/) ! 14,24
-
-    print *, MyArray(DIM - 2) ! 16,22
-
-end subroutine MySub
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-subs.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-subs.f90
deleted file mode 100644
index b106a7c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278103-subs.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-subroutine MySub2
-
-    USE Mod1
-
-    REAL :: MyArray2(DIM) ! 5,22
-
-    SAVE MyArray2
-
-    MyArray2(DIM - 3) = 0.1 ! 9,14
-
-    print *, MyArray2(DIM - 3) ! 11,23
-
-    CALL PrintDim
-
-end subroutine MySub2
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278106-visibility.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278106-visibility.f90
deleted file mode 100644
index 9b279a8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278106-visibility.f90
+++ /dev/null
@@ -1,40 +0,0 @@
-module m1
-  integer :: m1a, m1b ! 2,14 !2,19
-end module m1
-
-module m2
-  use m1
-  private :: m1b ! 7,14
-end module m2
-
-subroutine s1
-  use m2
-  !integer :: m1a !! ILLEGAL
-  integer :: m1b ! 13,14
-  print *, m1a, m1b ! 14,12 14,17
-end subroutine s1
-
-module m3
-  use m1
-  private
-end module m3
-
-subroutine s2
-  use m3
-  integer :: m1a ! 24,14
-  integer :: m1b ! 25,14
-  print *, m1a, m1b ! 26,12 26,17
-end subroutine s2
-
-module m4
-  use m1
-  private
-  public :: m1a ! 32,13
-end module m4
-
-subroutine s3
-  use m4
-  !integer :: m1a !! ILLEGAL
-  integer :: m1b ! 38,14
-  print *, m1a, m1b ! 39,12 39,17
-end subroutine s3
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278320-mod.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278320-mod.f90
deleted file mode 100644
index 53d807f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278320-mod.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-MODULE Mod1
-  IMPLICIT NONE
-  INTEGER, DIMENSION(3) :: module_array  ! 3,28
-END MODULE Mod1
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278320-prog.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278320-prog.f90
deleted file mode 100644
index ef0f5c7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278320-prog.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-PROGRAM MyProgram
-    USE Mod1
-    IMPLICIT NONE
-    INTEGER :: local_array(3)
-    module_array(1) = 1  ! 5,5
-    local_array(module_array(2)) = 1   ! 6,17
-END PROGRAM MyProgram
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278324.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278324.f90
deleted file mode 100644
index b136aa7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/bug278324.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-PROGRAM MyProgram
-    IMPLICIT NONE
-    CHARACTER(len=5) :: parmValFormat   ! 3,25
-999 FORMAT('(A',I2,',')
-    WRITE(parmValFormat,999)  ! 5,11
-    WRITE(25, parmValFormat // "' = ', I10, ' [CHANGED]')")  ! 6,15
-END PROGRAM MyProgram
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-extsub1-a.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-extsub1-a.f90
deleted file mode 100644
index 3425639..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-extsub1-a.f90
+++ /dev/null
@@ -1,25 +0,0 @@
-subroutine ext1 !1,12
-end subroutine ext1 !2,16
-
-program test
-  interface
-    subroutine ext1 !6,16
-    end subroutine ext1 !7,20
-
-    character(len=3) function ext2(i) !9,31
-      real, intent(in) :: i
-    end function ext2 !11,18
-
-    integer function ext3() !13,22
-    end function ext3 !14,18
-  end interface
-
-  call ext1 !17,8
-  print *, ext2(1.1) !18,12
-  print *, ext3() !19,12
-
-end program
-
-function ext3() result(j) !23,10
-  j = 3
-end function ext3 !25,14
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-extsub1-b.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-extsub1-b.f90
deleted file mode 100644
index 4a7eb67..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-extsub1-b.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-character(len=3) function ext2(i) !1,27
-  real, intent(in) :: i
-  external ext3 !3,12
-
-  j = ext3() !5,7
-  ext2 = 'Bye' !6,3
-end function ext2 !7,14
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-fn-result.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-fn-result.f90
deleted file mode 100644
index dacc742..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-fn-result.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-  print *, f()   ! 1,12
-contains
-  function f()   ! 3,12
-    integer :: f ! 4,16
-    f = 3        ! 5,5
-  end function f ! 6,16
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-overloads.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-overloads.f90
deleted file mode 100644
index 28f4f4c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename-overloads.f90
+++ /dev/null
@@ -1,49 +0,0 @@
-module module
-  interface module_overload !2,13
-    subroutine overload_int(value) !3,16
-      integer, intent(in) :: value
-    end subroutine overload_int !5,20
-    module procedure overload_char !6,22
-  end interface module_overload !7,17
-contains
-  subroutine overload_char(value) !9,14
-    character, intent(in) :: value
-    print *, "(Module) Character", value
-  end subroutine overload_char !12,18
-end module module
-
-subroutine overload_int(value) !15,12
-  integer, intent(in) :: value
-  print *, "Integer", value
-end subroutine overload_int !18,16
-
-program test
-  interface overload
-    subroutine overload_int(value) !22,16
-      integer, intent(in) :: value
-    end subroutine overload_int !24,20
-
-    subroutine overload_char(value) !26,16
-      character, intent(in) :: value
-    end subroutine overload_char !28,20
-  end interface overload !29,17
-
-  call overload(1)        !31,8
-  call overload('c')      !32,8
-  call overload_int(1)    !33,8
-  call overload_char('c') !34,8
-  call call_module
-contains
-  subroutine call_module
-    use module
-    call module_overload(2)   !39,10
-    call module_overload('d') !40,10
-    call overload_int(2)      !41,10
-    call overload_char('d')   !42,10
-  end subroutine call_module
-end program
-
-subroutine overload_char(value) !46,12
-  character, intent(in) :: value
-  print *, "Character", value
-end subroutine overload_char !49,16
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename1.f90
deleted file mode 100644
index 711180a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename1.f90
+++ /dev/null
@@ -1,33 +0,0 @@
-program Main
-    integer, parameter :: two = 2
-    integer, parameter :: three = selected_real_kind(3)
-    integer :: a, b = three
-    integer(three) :: not_shadowed = 98765
-    real(kind=three) :: c
-    complex :: shadow_this_1 = (three, two), shadow_this_2 = (2, three)
-    implicit = 13579
-    print *, a, b, c, two, three, not_shadowed, shadow_this_1, shadow_this_2, implicit
-    
-    call int
-    call ext
-    stop
-    
-contains
-
-    subroutine int
-      complex :: shadow_this_1
-      integer :: shadow_this_2
-      
-      print *, not_shadowed, shadow_this_1, shadow_this_2, implicit
-      call ext
-    end subroutine int
-    subroutine sub
-    end subroutine sub
-end program Main
-subroutine ext
-    print *, two
-contains
-    subroutine int
-        print *, two
-    end subroutine int
-end subroutine ext
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename2.f90
deleted file mode 100644
index 7fb2509..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename2.f90
+++ /dev/null
@@ -1,29 +0,0 @@
-! Header comment
-program Main ! After program name
-    implicit none
-    integer :: one ! After declaration
-    integer, parameter :: two = 2 ! After declaration assignment
-    integer :: three
-    
-    ! Between specifications
-    
-    integer(two) :: four
-
-    print *, one !
-    print *, two, &
-        three
-    print *, four &
-        , one
-    print *, two, & !
-        three !
-    print *, four & !
-        , one !
-
-    print *, "This is a really&
-            & long string"
-
-    stop
-! end
-end program Main !End
-! end of file
-! end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3.f90
deleted file mode 100644
index ec7214d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-program MyProgram ! 1,9
-  use module_a, a_renamed3 => a_sub3of3 ! 2,7 2,17 2,31
-  use module_b, only: b_sub2of3, b_renamed3 => b_sub3of3 ! 3,7 3,23 3,34 3,48
-
-  implicit none
-
-  call a_sub1of3  !  7,8
-  call a_sub2of3  !  8,8
-  call a_renamed3 !  9,8
-  call b_sub2of3  ! 10,8
-  call b_renamed3 ! 11,8
-  call contained  ! 12,8
-  call external   ! 13,8
-contains
-  subroutine contained; end subroutine ! 15,14
-end
-
-subroutine external; end subroutine ! 18,12
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3a.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3a.f90
deleted file mode 100644
index fe48524..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3a.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-module module_a ! 1,8
-contains
-    subroutine a_sub1of3; end subroutine ! 3,16
-    subroutine a_sub2of3; end subroutine ! 4,16
-    subroutine a_sub3of3; end subroutine ! 5,16
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3b.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3b.f90
deleted file mode 100644
index eac8923..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3b.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-module module_b ! 1,8
-    use module_c ! 2,9
-contains
-    subroutine b_sub1of3; end subroutine ! 4,16
-    subroutine b_sub2of3; end subroutine ! 5,16
-    subroutine b_sub3of3; ! 6,16
-      call c_sub ! 7,12
-    end subroutine
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3c.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3c.f90
deleted file mode 100644
index 7c06b6d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename3c.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-module module_c ! 1,8
-contains
-    subroutine c_sub; end subroutine ! 3,16
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4.f90
deleted file mode 100644
index b678a6e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program MyProgram ! 1,9
-  include "rename4a.fh" ! Some include
-  print *, hello ! 3,12
-  include "rename4b.fh"
-end
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4a.fh b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4a.fh
deleted file mode 100644
index 9900890..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4a.fh
+++ /dev/null
@@ -1,2 +0,0 @@
-integer :: hello   ! 1,12
-integer :: goodbye ! 2, 12
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4b.fh b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4b.fh
deleted file mode 100644
index f32f18b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename4b.fh
+++ /dev/null
@@ -1 +0,0 @@
-print *, hello ! 1,10
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename5.f90
deleted file mode 100644
index ce018ef..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename5.f90
+++ /dev/null
@@ -1,47 +0,0 @@
-!            14                             45     52
-pure integer(selected_int_kind(3)) function thrice(n)
-  intent(in) :: n ! 17    n should be implicitly declared, NOT resolve to the outer n
-  thrice=-999 ! 3
-end function thrice ! 14
-
-  type type ! 8
-    integer :: a ! 16
-  end type type ! 12
-
-! 3      10     17  
-! thrice(n) = 3*n ! Statement function, shadows outer function
-! 3
-  n = 1 ! Different n than statement function parameter
-
-  !        12         23     30  34  38    44
-  print *, thrice(6), thrice(n), n,  f(1), f(3)
-  ! Expect 18.0       3.0        1.0 1.0   3.0
-  stop
-
-contains
-                           ! 30 33
-  recursive integer function f (a)
-    !          16
-    integer :: a ! Different a than derived type component
-    !    10       19
-    type(type) :: x
-    !    10                28   33
-    type(type), pointer :: p => null()
-    
-    target :: x ! 15
-    intent(in) :: a ! 19
-
-!   5 7   11
-    x%a = a ! Assign local a to component
-!   5   9    14
-    x = type(a) ! Structure ctor assigning local a to component a
-!   5    10
-    p => x
-    !p => null() does not parse
-
-!   5
-    f = 1
-!       9      16  20     2729
-    if (a > 1) f = thrice(f(f-1))
-  end function f ! 16
-end
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename6.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename6.f90
deleted file mode 100644
index 5784c10..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename6.f90
+++ /dev/null
@@ -1,29 +0,0 @@
-implicit none; type outer ! outer 21
-  integer :: i
-  type(outer), pointer :: inner ! outer 8
-end type
-integer :: j ! j 12
-integer, parameter :: i = 2   ! i 23
-character(len=i), save :: hi = 'hi', bye = 'bye' ! i 15 hi 27 bye 38
-!type(outer) :: type
-type(outer) :: ty ! outer 6 ty 16
-integer :: array(5) ! array 12
-
-!type%i = type%inner%i - i ! i 25
-
-!2      9            22
- ty%i = ty%inner%i - i
-
-!         11   16  20   25   30   35   40
-namelist /nl1/ hi, bye /nl2/ hi, /nl3/ bye
-read (5, nml=nl1) ! nl1 14
-
-!    6  9   13               30
-data hi,bye,ty%i /'Hi','Bye',i/
-!    6       14
-data array/5*i/
-!    6     12
-data array(i) /3/
-!     7     13  17    23    29
-data (array(j), j=1,5,i) /3*i/
-end
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename7.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename7.f90
deleted file mode 100644
index e8e0b9d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename7.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-!          12
-block data bdn
-
-implicit none
-!          12  16  20  24  28
-integer :: v1, v2, v3, v4, v5
-!       9        18  22    28  32       41  45
-common /common1/ v1, v2/zz/v3,          v4, v5 ! Replacing /zz/ with // causes parse error    Adding /common1/ at 31 causes semantic error
-!     7
-save /common1/
-!    6   10
-data v1, v2 /3, 4/
-!              16
-end block data bdn
-end
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename8.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename8.f90
deleted file mode 100644
index c07b925..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename8.f90
+++ /dev/null
@@ -1,30 +0,0 @@
-end
-! f : (((double -> char(3)), double) -> char(3)) -> char(*)
-!        1012        22
-function f(g) result(q)
-  implicit none
-  !                   23
-  character(len=*) :: q
-  interface
-    ! g : ((double -> char(3)), double) -> char(3)
-    !                         3133 36
-    character(len=3) function g(h, x)
-      interface
-        ! h : double -> char(3)
-        !                         3537
-        character(len=3) function h(x)
-          !                               43
-          double precision, intent(in) :: x
-        end function h !<<< 22
-      end interface
-      !                               39
-      double precision, intent(in) :: x
-    !            18
-    end function g
-  end interface
-! 3
-  q = 'This is terrible'
-!            14
-end function f
-!                18   23                  43
-integer function g(); g = 3; end function g
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename9.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename9.f90
deleted file mode 100644
index 9b5a100..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename9.f90
+++ /dev/null
@@ -1,40 +0,0 @@
-module M1
-  implicit none
-  integer :: i1 !3,14
-  integer, private :: j1 !4,23
-  private :: k1 !5,14
-  interface
-    character(len=3) function k1(z) !7,31
-      real, intent(in) :: z
-    end function
-  end interface
-contains
-  integer function f1(); f1 = 1; end function !12,20 12,26
-end module M1
-
-module M2
-  implicit none
-  integer :: i2 !17,14
-  integer, public :: j2
-  private
-  public :: k2 !20,13
-  interface
-    character(len=3) function k2(i2) !22,31
-      doubleprecision, intent(in) :: i2
-    end function
-  end interface
-contains
-  integer function f2(); f2 = 1; end function !27,20 27,26
-end module M2
-
-program p
-  use M1
-  use M2
-!implicit none ! Uncomment to see compile errors (to determine which are implicits)
-  ! j1 k1 z implicit
-  !        12  16  20  24    30
-  print *, i1, j1, k1, f1(), z
-  ! i2 f2 implicit
-  !        12  16  20       29
-  print *, i2, j2, k2(3d0), f2
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename9a.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename9a.f90
deleted file mode 100644
index a09dbc9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/rename/rename9a.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-character(len=3) function k2(i)
-  real, intent(in) :: i
-  k2 = 'Bye'
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-character-star/test1/Test1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-character-star/test1/Test1.f90
deleted file mode 100644
index b32705d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-character-star/test1/Test1.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-program main !<<<<< 1, 1, 21, 17, pass

-

-    implicit none

-

-	character*12 cint(12,12)

-	character*1 cnmlp(lon,lat,2),rainp(lon,lat,2)

-

-    character*10  UnOld,lolo*5 ='helios'!This  is a comment

-	CHARACTER*3 CONST,GREEK

-	CHARACTER   CATLOG*10,NAME*20

-	character *10 uno,dos

-    character hname*20

-	Character str*10

-	character hname*20, name*50, lname*50, expdesc*50, hist*65

-!	no change

-	character (len=10)s , str2*36

-	character (len=10)s1 , str1='lola'

-	character(len=10) :: UnNewString10

-	integer i

-

-end program main
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-character-star/test1/Test1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-character-star/test1/Test1.f90.result
deleted file mode 100644
index ea9962f..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-character-star/test1/Test1.f90.result
+++ /dev/null
@@ -1,30 +0,0 @@
-program main !<<<<< 1, 1, 21, 17, pass

-

-    implicit none

-

-	character(len=12)::cint(12,12)

-	character(len=1)::cnmlp(lon,lat,2)

-	character(len=1)::rainp(lon,lat,2)

-

-    character(len=10)::UnOld!This  is a comment

-    character(len=5)::lolo='helios'!This  is a comment

-	character(len=3)::CONST

-	character(len=3)::GREEK

-	character(len=10)::CATLOG

-	character(len=20)::NAME

-	character(len=10)::uno

-	character(len=10)::dos

-    character(len=20)::hname

-	character(len=10)::str

-	character(len=20)::hname

-	character(len=50)::name

-	character(len=50)::lname

-	character(len=50)::expdesc

-	character(len=65)::hist

-!	no change

-	character (len=10)s , str2*36

-	character (len=10)s1 , str1='lola'

-	character(len=10) :: UnNewString10

-	integer i

-

-end program main

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test1/test1.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test1/test1.f90
deleted file mode 100644
index b1a2e66..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test1/test1.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program Test1 !<<<<< 1, 1, 4, 18, pass

-	do 100 i = 1,10

-	100 j=i

-end program Test1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test1/test1.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test1/test1.f90.result
deleted file mode 100644
index e2098fc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test1/test1.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-program Test1 !<<<<< 1, 1, 4, 18, pass

-    do i = 1,10

-100     j=i

-    END DO

-end program Test1

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test2/test2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test2/test2.f90
deleted file mode 100644
index 75a65c2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test2/test2.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program Test2 !<<<<< 1, 1, 4, 18, pass

-    do 100 i = 1,10

-	100 continue

-end program Test2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test2/test2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test2/test2.f90.result
deleted file mode 100644
index 366715a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test2/test2.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-program Test2 !<<<<< 1, 1, 4, 18, pass

-    do i = 1,10

-100 continue

-    END DO

-end program Test2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test3/test3.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test3/test3.f90
deleted file mode 100644
index fb7fd34..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test3/test3.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program Test3 !<<<<< 1, 1, 14, 18, pass

-    do 100 i = 1,10

-    do 110 j = 1,10

-    do 120 k = 1,10

-    do 130 l = 1,10

-    do 140 m = 1,10

-    do 150 n = 1,10

-    150 x=i+j+k+l+m+n

-    140 y=j+k+l+m+n

-    130 z=k+l+m+n

-    120 w=l+m+n

-    110 t=m+n

-    100 v=n

-end program Test3
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test3/test3.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test3/test3.f90.result
deleted file mode 100644
index f4ccbe0..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test3/test3.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-program Test3 !<<<<< 1, 1, 14, 18, pass

-    do i = 1,10

-        do j = 1,10

-            do k = 1,10

-                do l = 1,10

-                    do m = 1,10

-                        do n = 1,10

-150                         x=i+j+k+l+m+n

-                        END DO

-140                     y=j+k+l+m+n

-                    END DO

-130                 z=k+l+m+n

-                END DO

-120             w=l+m+n

-            END DO

-110         t=m+n

-        END DO

-100     v=n

-    END DO

-end program Test3

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test4/test4.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test4/test4.f90
deleted file mode 100644
index 8a85c20..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test4/test4.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program Test4 !<<<<< 1, 1, 14, 18, pass

-	do 100 i = 1,10

-    do 110 j = 1,10

-    do 120 k = 1,10

-    do 130 l = 1,10

-    do 140 m = 1,10

-    do 150 n = 1,10

-    150 continue

-    140 continue

-    130 continue

-    120 continue

-    110 continue

-    100 continue

-end program Test4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test4/test4.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test4/test4.f90.result
deleted file mode 100644
index 35dbf41..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test4/test4.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-program Test4 !<<<<< 1, 1, 14, 18, pass

-    do i = 1,10

-        do j = 1,10

-            do k = 1,10

-                do l = 1,10

-                    do m = 1,10

-                        do n = 1,10

-150                     continue

-                        END DO

-140                 continue

-                    END DO

-130             continue

-                END DO

-120         continue

-            END DO

-110     continue

-        END DO

-100 continue

-    END DO

-end program Test4

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test5/test5.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test5/test5.f90
deleted file mode 100644
index f59d2da..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test5/test5.f90
+++ /dev/null
@@ -1,46 +0,0 @@
-program Test5 !<<<<< 1, 1, 46, 18, pass

-! Shared Do Loop Termination

-    do 100 j=1,10

-    do 100 w=1,10

-       100 i=j+1

-! simple Do Loop

-    do 110 i = 1,10

-    110 j=i

-! simple Do Loop with Continue

-    do 120 i = 1,10

-    120 continue

-! simple f90 Do Loop

-    do i =1,100

-        w=i

-    end do

-! More Complex Do Loop

-  DO 140 K=1,KM

-      DO 140 I=1,IMT

-        USAV(I,K)=UCLIN(I,K)

-        VSAV(I,K)=VCLIN(I,K)

-        UCLIN(I,K)=UP(I,K)

-        VCLIN(I,K)=VP(I,K)

- 140  CONTINUE

-! More Complex Do Loop

-     DO 170 K=1,KM

-     DO 170 I=1,IMU

-     IF(KMUP(I).GE.KAR(K)) THEN

-     UBP(I,K)=UBP(I,K)+SFUB(I)

-     VBP(I,K)=VBP(I,K)+SFVB(I)

-     UP (I,K)=UP (I,K)+SFU (I)

-     VP (I,K)=VP (I,K)+SFV (I)

-     ENDIF

- 170 CONTINUE

-! More complex Shared Do Loop Termination

-      DO 270 K=2,KM

-      DO 270 I=1,IMT

-      DPDX(I,K)=RHON(I,K-1)+RHON(I,K)

-      DPDY(I,K)=RHOS(I,K-1)+RHOS(I,K)

- 270  CONTINUE

-! Complex Shared Do Loop Termination

-  DO 150 K=1,KM

-  DO 150 I=1,IMT

-  DO 150 J=1,IMT

-  DO 150 W=1,IMT

-  150 DPDX(I,K)=RHON(I,K-1)+RHON(I,K)

-end program Test5

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test5/test5.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test5/test5.f90.result
deleted file mode 100644
index 088dfde..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/replace-old-style-do-loop/test5/test5.f90.result
+++ /dev/null
@@ -1,60 +0,0 @@
-program Test5 !<<<<< 1, 1, 46, 18, pass

-    ! Shared Do Loop Termination

-    do j=1,10

-        do w=1,10

-100         i=j+1

-        END DO

-    END DO

-       ! simple Do Loop

-       do i = 1,10

-110        j=i

-       END DO

-    ! simple Do Loop with Continue

-    do i = 1,10

-120 continue

-    END DO

-! simple f90 Do Loop

-    do i =1,100

-        w=i

-    end do

-    ! More Complex Do Loop

-    DO K=1,KM

-        DO I=1,IMT

-            USAV(I,K)=UCLIN(I,K)

-            VSAV(I,K)=VCLIN(I,K)

-            UCLIN(I,K)=UP(I,K)

-            VCLIN(I,K)=VP(I,K)

-140     CONTINUE

-        END DO

-    END DO

- ! More Complex Do Loop

- DO K=1,KM

-     DO I=1,IMU

-         IF(KMUP(I).GE.KAR(K)) THEN

-             UBP(I,K)=UBP(I,K)+SFUB(I)

-             VBP(I,K)=VBP(I,K)+SFVB(I)

-             UP (I,K)=UP (I,K)+SFU (I)

-             VP (I,K)=VP (I,K)+SFV (I)

-         ENDIF

-170  CONTINUE

-     END DO

- END DO

- ! More complex Shared Do Loop Termination

- DO K=2,KM

-     DO I=1,IMT

-         DPDX(I,K)=RHON(I,K-1)+RHON(I,K)

-         DPDY(I,K)=RHOS(I,K-1)+RHOS(I,K)

-270  CONTINUE

-     END DO

- END DO

- ! Complex Shared Do Loop Termination

- DO K=1,KM

-     DO I=1,IMT

-         DO J=1,IMT

-             DO W=1,IMT

-150              DPDX(I,K)=RHON(I,K-1)+RHON(I,K)

-             END DO

-         END DO

-     END DO

- END DO

-end program Test5

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-decrement-loop/reverseDecrementedLoop.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-decrement-loop/reverseDecrementedLoop.f90
deleted file mode 100644
index 07670cc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-decrement-loop/reverseDecrementedLoop.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program reverseDecremented

-

-    integer i

-

-    !<<<<<5,1,7,1,pass

-    do i=10,1,-1

-

-        print *, i

-    end do

-

-end program reverseDecremented

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-decrement-loop/reverseDecrementedLoop.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-decrement-loop/reverseDecrementedLoop.f90.result
deleted file mode 100644
index ae14adc..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-decrement-loop/reverseDecrementedLoop.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-program reverseDecremented

-

-    integer i

-

-    !<<<<<5,1,7,1,pass

-    do i=1,10,-(-1)

-

-        print *, i

-    end do

-

-end program reverseDecremented

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-loop-with-comment/reverseLoopWithComment.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-loop-with-comment/reverseLoopWithComment.f90
deleted file mode 100644
index 2d3c16b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-loop-with-comment/reverseLoopWithComment.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program reverseLoopWithComment

-

-    integer i

-

-    !<<<<<5,1,7,1,pass

-    do i=1,10 !This is a comment

-

-        print *, i

-    end do

-

-end program reverseLoopWithComment

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-loop-with-comment/reverseLoopWithComment.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-loop-with-comment/reverseLoopWithComment.f90.result
deleted file mode 100644
index eb10033..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-loop-with-comment/reverseLoopWithComment.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-program reverseLoopWithComment

-

-    integer i

-

-    !<<<<<5,1,7,1,pass

-    do i=10,1,-1 !This is a comment

-

-        print *, i

-    end do

-

-end program reverseLoopWithComment

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops/reverseNested.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops/reverseNested.f90
deleted file mode 100644
index 1c57ded..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops/reverseNested.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program reverseNested

-

-    integer i, j

-

-    !<<<<<5,1,7,1,pass

-    do i=1,10

-

-        do j=2,8,2

-

-            print *, i

-        end do

-    end do

-

-end program reverseNested

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops/reverseNested.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops/reverseNested.f90.result
deleted file mode 100644
index 58e50c9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops/reverseNested.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-program reverseNested

-

-    integer i, j

-

-    !<<<<<5,1,7,1,pass

-    do i=10,1,-1

-

-        do j=2,8,2

-

-            print *, i

-        end do

-    end do

-

-end program reverseNested

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops2/reverseNested2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops2/reverseNested2.f90
deleted file mode 100644
index 0f7128e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops2/reverseNested2.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program reverseNested2

-

-    integer i, j

-

-    do i=1,10

-

-        !<<<<<8,1,10,1,pass

-        do j=2,8,2

-

-            print *, i

-        end do

-    end do

-

-end program reverseNested2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops2/reverseNested2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops2/reverseNested2.f90.result
deleted file mode 100644
index 10572a3..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-nested-loops2/reverseNested2.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-program reverseNested2

-

-    integer i, j

-

-    do i=1,10

-

-        !<<<<<8,1,10,1,pass

-        do j=8,2,-(2)

-

-            print *, i

-        end do

-    end do

-

-end program reverseNested2

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-reverse-with-expression/reverseLoopWithExpression.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-reverse-with-expression/reverseLoopWithExpression.f90
deleted file mode 100644
index dd53b23..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-reverse-with-expression/reverseLoopWithExpression.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program reverseLoopWithExpr

-

-    integer i, j

-    j = 4

-

-    !<<<<<6,1,8,1,pass

-    do i=3,j*j,j

-

-        print *, i

-    end do

-

-end program reverseLoopWithExpr

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-reverse-with-expression/reverseLoopWithExpression.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-reverse-with-expression/reverseLoopWithExpression.f90.result
deleted file mode 100644
index 5720e45..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-reverse-with-expression/reverseLoopWithExpression.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-program reverseLoopWithExpr

-

-    integer i, j

-    j = 4

-

-    !<<<<<6,1,8,1,pass

-    do i=j*j,3,-(j)

-

-        print *, i

-    end do

-

-end program reverseLoopWithExpr

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-simple-loop/reverseLoopRefactoring.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-simple-loop/reverseLoopRefactoring.f90
deleted file mode 100644
index 4bba93d..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-simple-loop/reverseLoopRefactoring.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program reverseLoops

-

-    integer i

-    !<<<<<4,1,6,1,pass

-    do i=1,10

-

-        print *, i

-    end do

-

-end program reverseLoops

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-simple-loop/reverseLoopRefactoring.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-simple-loop/reverseLoopRefactoring.f90.result
deleted file mode 100644
index 03814d7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/reverse-loop/test-simple-loop/reverseLoopRefactoring.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-program reverseLoops

-

-    integer i

-    !<<<<<4,1,6,1,pass

-    do i=10,1,-1

-

-        print *, i

-    end do

-

-end program reverseLoops

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test1/standardize_statements.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test1/standardize_statements.f90
deleted file mode 100644
index b3f3e57..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test1/standardize_statements.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program standardize_statements !<<<<<1,1,pass

-    implicit none

-    real x,y,z !first declare some reals

-    integer t,q,p,r !then add integer declaration

-    real a,b,c !and declare some more reals

-    !done

-

-end program standardize_statements

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test1/standardize_statements.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test1/standardize_statements.f90.result
deleted file mode 100644
index bcc708e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test1/standardize_statements.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-program standardize_statements !<<<<<1,1,pass

-    implicit none

-    real :: x !first declare some reals

-    real :: y !first declare some reals

-    real :: z !first declare some reals

-    integer :: t !then add integer declaration

-    integer :: q !then add integer declaration

-    integer :: p !then add integer declaration

-    integer :: r !then add integer declaration

-    real :: a !and declare some more reals

-    real :: b !and declare some more reals

-    real :: c !and declare some more reals

-    !done

-

-end program standardize_statements

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test2/standardize_statements_2.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test2/standardize_statements_2.f90
deleted file mode 100644
index 2e43102..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test2/standardize_statements_2.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program standardize_statements !<<<<<1,1,pass

-    implicit none

-    real, dimension(1:10) :: vector, vector2

-    integer a(4), b(20), c(6), d

-    dimension :: d(10)

-

-    a = (/1,2,3,4/)

-    vector(1:10) = 4.0

-

-end program standardize_statements

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test2/standardize_statements_2.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test2/standardize_statements_2.f90.result
deleted file mode 100644
index e762b04..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/standardize-stmts/test2/standardize_statements_2.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-program standardize_statements !<<<<<1,1,pass

-    implicit none

-    real, dimension(1:10) :: vector

-    real, dimension(1:10) :: vector2

-    integer :: a(4)

-    integer :: b(20)

-    integer :: c(6)

-    integer :: d

-    dimension :: d(10)

-

-    a = (/1,2,3,4/)

-    vector(1:10) = 4.0

-

-end program standardize_statements

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/all-identifiers/testAllIdentifiers.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/all-identifiers/testAllIdentifiers.f90
deleted file mode 100644
index 9e116c8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/all-identifiers/testAllIdentifiers.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i

-    integer :: j

-    integer :: n=1, m=20, p=10

-

-    !<<<<<9,1,15,1,20,3,pass

-    do i=n,10

-        do j=n,m

-            print *, i

-        end do

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/all-identifiers/testAllIdentifiers.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/all-identifiers/testAllIdentifiers.f90.result
deleted file mode 100644
index b5506b1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/all-identifiers/testAllIdentifiers.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-program test

-

-    implicit none

-    integer :: i1, j1

-

-    integer :: i

-    integer :: j

-    integer :: n=1, m=20, p=10

-    do i1=floor(real(n-20)/3)*3+20,8,3

-        do j1=floor(real(n-20)/3)*3+20,floor(real(m-20)/3)*3+20,3

-            do i=max(n,i1),min(10,i1+2)

-                do j=max(n,j1),min(m,j1+2)

-                    print *, i

-                end do

-            end do

-        end do

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-lowerBound-dependency/lowerBoundDependency.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-lowerBound-dependency/lowerBoundDependency.f90
deleted file mode 100644
index f5d6d97..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-lowerBound-dependency/lowerBoundDependency.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j

-

-    !<<<<<7,1,13,1,2,10,pass

-    do i=1,40

-        do j=i,50

-            print *, i

-        end do

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-lowerBound-dependency/lowerBoundDependency.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-lowerBound-dependency/lowerBoundDependency.f90.result
deleted file mode 100644
index 281e687..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-lowerBound-dependency/lowerBoundDependency.f90.result
+++ /dev/null
@@ -1,18 +0,0 @@
-program test

-

-    implicit none

-    integer :: i1, j1

-

-    integer :: i, j

-    do i1=-8,32,10

-        do j1=max(floor(real(1-2)/10)*10+2,floor(real(i1-2)/10)*10+2),42,10

-            do i=max(1,i1),min(40,i1+9)

-                do j=max(i,j1),min(50,j1+9)

-                    print *, i

-                end do

-            end do

-        end do

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-upperBound-dependency/loopUpperBoundDependency.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-upperBound-dependency/loopUpperBoundDependency.f90
deleted file mode 100644
index 66ccb9c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-upperBound-dependency/loopUpperBoundDependency.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j

-

-    !<<<<<7,1,13,1,5,20,pass

-    do i=1,50

-        do j=1,i

-            print *, i

-        end do

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-upperBound-dependency/loopUpperBoundDependency.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-upperBound-dependency/loopUpperBoundDependency.f90.result
deleted file mode 100644
index 3bd6ca4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/sLoop-upperBound-dependency/loopUpperBoundDependency.f90.result
+++ /dev/null
@@ -1,18 +0,0 @@
-program test

-

-    implicit none

-    integer :: i1, j1

-

-    integer :: i, j

-    do i1=-15,45,20

-        do j1=-15,min(floor(real(50-5)/20)*20+5,floor(real(i1-5)/20)*20+5),20

-            do i=max(1,i1),min(50,i1+19)

-                do j=max(1,j1),min(i,j1+19)

-                    print *, i

-                end do

-            end do

-        end do

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/simple-tiling-test/simpleTilingTest.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/simple-tiling-test/simpleTilingTest.f90
deleted file mode 100644
index 8fb0c7c..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/simple-tiling-test/simpleTilingTest.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j

-    integer, dimension(50,60) :: A

-

-    !<<<<<8,1,14,1,5,20,pass

-    do i=1,50

-        do j=1,60

-            A(i,j) = i+j

-        end do

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/simple-tiling-test/simpleTilingTest.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/simple-tiling-test/simpleTilingTest.f90.result
deleted file mode 100644
index 4b269c4..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/tile-loop/simple-tiling-test/simpleTilingTest.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-program test

-

-    implicit none

-    integer :: i1, j1

-

-    integer :: i, j

-    integer, dimension(50,60) :: A

-    do i1=-15,45,20

-        do j1=-15,45,20

-            do i=max(1,i1),min(50,i1+19)

-                do j=max(1,j1),min(60,j1+19)

-                    A(i,j) = i+j

-                end do

-            end do

-        end do

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/before-and-after/beforeAndAfter.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/before-and-after/beforeAndAfter.f90
deleted file mode 100644
index 55df1a2..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/before-and-after/beforeAndAfter.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j

-

-    j=1

-    !<<<<<8,1,13,1,1,true,pass

-    do i=1,5

-        print *, i

-        j = i

-    end do

-    j = 1

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/before-and-after/beforeAndAfter.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/before-and-after/beforeAndAfter.f90.result
deleted file mode 100644
index ba5999e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/before-and-after/beforeAndAfter.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j

-

-    j=1

-    print *, 1

-    j = 1

-    print *, 2

-    j = 2

-    print *, 3

-    j = 3

-    print *, 4

-    j = 4

-    print *, 5

-    j = 5

-    j = 1

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complete-unroll-with-step/completeUnrollWithStep.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complete-unroll-with-step/completeUnrollWithStep.f90
deleted file mode 100644
index 62ee0e5..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complete-unroll-with-step/completeUnrollWithStep.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i

-    !<<<<<6,1,10,1,1,true,pass

-    do i=1,9,2

-        print *, i

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complete-unroll-with-step/completeUnrollWithStep.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complete-unroll-with-step/completeUnrollWithStep.f90.result
deleted file mode 100644
index db37fd7..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complete-unroll-with-step/completeUnrollWithStep.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i

-    print *, 1

-    print *, 3

-    print *, 5

-    print *, 7

-    print *, 9

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complex-body-unroll2/ComplexBodyCompleteUnroll.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complex-body-unroll2/ComplexBodyCompleteUnroll.f90
deleted file mode 100644
index 6d01b83..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complex-body-unroll2/ComplexBodyCompleteUnroll.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j=-1

-    !<<<<<6,1,13,1,1,true,pass

-    do i=1,5,2

-        j = j**i

-        j = j+j

-        print *, i

-        print *, j

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complex-body-unroll2/ComplexBodyCompleteUnroll.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complex-body-unroll2/ComplexBodyCompleteUnroll.f90.result
deleted file mode 100644
index a04d951..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complex-body-unroll2/ComplexBodyCompleteUnroll.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j=-1

-    j = j**1

-    j = j+j

-    print *, 1

-    print *, j

-    j = j**3

-    j = j+j

-    print *, 3

-    print *, j

-    j = j**5

-    j = j+j

-    print *, 5

-    print *, j

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complexLoopBodyUnroll/complexLoopBodyUnroll.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complexLoopBodyUnroll/complexLoopBodyUnroll.f90
deleted file mode 100644
index a44bab8..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complexLoopBodyUnroll/complexLoopBodyUnroll.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-!Fix this text case after reindenter update

-program test

-

-    implicit none

-

-    integer :: i, j=-1

-    !<<<<<7,1,14,1,4,false,pass

-    do i=1,5

-        j = j**i

-        j = j+j

-        print *, i

-        print *, j

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complexLoopBodyUnroll/complexLoopBodyUnroll.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complexLoopBodyUnroll/complexLoopBodyUnroll.f90.result
deleted file mode 100644
index 1382cc6..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/complexLoopBodyUnroll/complexLoopBodyUnroll.f90.result
+++ /dev/null
@@ -1,28 +0,0 @@
-!Fix this text case after reindenter update

-program test

-

-    implicit none

-

-    integer :: i, j=-1

-    !<<<<<7,1,14,1,4,false,pass

-    do i=1,5,4

-        j = j**i

-        j = j+j

-        print *, i

-        print *, j

-        if(i+1>5) exit

-        j = j**(i+1)

-        j = j+j

-        print *, (i+1)

-        print *, j

-        j = j**(i+2)

-        j = j+j

-        print *, (i+2)

-        print *, j

-        j = j**(i+3)

-        j = j+j

-        print *, (i+3)

-        print *, j

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop-partial/decrementLoopPartial.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop-partial/decrementLoopPartial.f90
deleted file mode 100644
index 007e91b..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop-partial/decrementLoopPartial.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: k

-    !<<<<<6,1,9,1,2,false,pass

-    do k=9,1,-2

-        print *, k

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop-partial/decrementLoopPartial.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop-partial/decrementLoopPartial.f90.result
deleted file mode 100644
index 1a2d429..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop-partial/decrementLoopPartial.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: k

-    !<<<<<6,1,9,1,2,false,pass

-    do k=9,1,-4

-        print *, k

-        print *, (k+-2)

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop/decrementLoopComplete.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop/decrementLoopComplete.f90
deleted file mode 100644
index da9c3a9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop/decrementLoopComplete.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: k

-    !<<<<<6,1,9,1,1,true,pass

-    do k=5,1,-1

-        print *, k

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop/decrementLoopComplete.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop/decrementLoopComplete.f90.result
deleted file mode 100644
index 5d60747..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/decrement-loop/decrementLoopComplete.f90.result
+++ /dev/null
@@ -1,13 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: k

-    print *, 5

-    print *, 4

-    print *, 3

-    print *, 2

-    print *, 1

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/nested-loop-unroll/nestedLoopUnroll.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/nested-loop-unroll/nestedLoopUnroll.f90
deleted file mode 100644
index 3de1d55..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/nested-loop-unroll/nestedLoopUnroll.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j

-    !<<<<<6,1,8,1,2,false,pass

-    do i=1,5

-

-        do j=1,5

-            print *, i+j

-        end do

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/nested-loop-unroll/nestedLoopUnroll.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/nested-loop-unroll/nestedLoopUnroll.f90.result
deleted file mode 100644
index 625d332..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/nested-loop-unroll/nestedLoopUnroll.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, j

-    !<<<<<6,1,8,1,2,false,pass

-    do i=1,5,2

-

-        do j=1,5

-            print *, i+j

-        end do

-        if(i+1>5) exit

-

-        do j=1,5

-            print *, (i+1)+j

-        end do

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/simple-complete-unroll/simpleCompleteUnroll.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/simple-complete-unroll/simpleCompleteUnroll.f90
deleted file mode 100644
index d3c8429..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/simple-complete-unroll/simpleCompleteUnroll.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program test

-

-    integer :: i

-

-    !<<<<<6,1,10,1,1,true,pass

-

-    do i=1,9

-        print *, i

-    end do

-

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/simple-complete-unroll/simpleCompleteUnroll.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/simple-complete-unroll/simpleCompleteUnroll.f90.result
deleted file mode 100644
index c2adcc9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/simple-complete-unroll/simpleCompleteUnroll.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-program test

-

-    integer :: i

-    print *, 1

-    print *, 2

-    print *, 3

-    print *, 4

-    print *, 5

-    print *, 6

-    print *, 7

-    print *, 8

-    print *, 9

-

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/test-simple-loop/testSimpleLoop.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/test-simple-loop/testSimpleLoop.f90
deleted file mode 100644
index 1173ec1..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/test-simple-loop/testSimpleLoop.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program test

-

-    implicit none

-    !<<<<<4,1,8,1,2,false,pass

-    DO i=1,9

-        print *, i

-    END DO

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/test-simple-loop/testSimpleLoop.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/test-simple-loop/testSimpleLoop.f90.result
deleted file mode 100644
index 723509e..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/test-simple-loop/testSimpleLoop.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-program test

-

-    implicit none

-    !<<<<<4,1,8,1,2,false,pass

-    DO i=1,9,2

-        print *, i

-        if(i+1>9) exit

-        print *, (i+1)

-    END DO

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/testUnrollWithStep/unrollWithStep.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/testUnrollWithStep/unrollWithStep.f90
deleted file mode 100644
index 4f5d98a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/testUnrollWithStep/unrollWithStep.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i

-

-    !<<<<<7,1,11,1,2,false,pass

-    do i=1,9,2

-        print *, i

-    end do

-

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/testUnrollWithStep/unrollWithStep.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/testUnrollWithStep/unrollWithStep.f90.result
deleted file mode 100644
index 2979242..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/testUnrollWithStep/unrollWithStep.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i

-

-    !<<<<<7,1,11,1,2,false,pass

-    do i=1,9,4

-        print *, i

-        if(i+2>9) exit

-        print *, (i+2)

-    end do

-

-

-end program

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/unroll-with-expr-arg/unrollWithExpr.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/unroll-with-expr-arg/unrollWithExpr.f90
deleted file mode 100644
index a60f842..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/unroll-with-expr-arg/unrollWithExpr.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i, n=4

-    !<<<<<6,1,8,1,2,false,pass

-    do i=1,n*n

-        print *, i

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/unroll-with-expr-arg/unrollWithExpr.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/unroll-with-expr-arg/unrollWithExpr.f90.result
deleted file mode 100644
index 16854f9..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/unroll-with-expr-arg/unrollWithExpr.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-program test

-

-    implicit none

-    integer :: loopUpperBound

-

-    integer :: i, n=4

-    loopUpperBound = n*n

-    !<<<<<6,1,8,1,2,false,pass

-    do i=1, loopUpperBound,2

-        print *, i

-        if(i+1>loopUpperBound) exit

-        print *, (i+1)

-    end do

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/upper-bound-int-expr/unrollWithUpperIntExpr.f90 b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/upper-bound-int-expr/unrollWithUpperIntExpr.f90
deleted file mode 100644
index c24313a..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/upper-bound-int-expr/unrollWithUpperIntExpr.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program test

-

-    implicit none

-

-    integer :: i

-    !<<<<<6,1,10,1,4,false,pass

-    do i=1,3+5,1

-        print *, i

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/upper-bound-int-expr/unrollWithUpperIntExpr.f90.result b/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/upper-bound-int-expr/unrollWithUpperIntExpr.f90.result
deleted file mode 100644
index 841ce68..0000000
--- a/org.eclipse.photran.core.vpg.tests/refactoring-test-code/unroll-loop/upper-bound-int-expr/unrollWithUpperIntExpr.f90.result
+++ /dev/null
@@ -1,20 +0,0 @@
-program test

-

-    implicit none

-    integer :: loopUpperBound

-

-    integer :: i

-    loopUpperBound = 3+5

-    !<<<<<6,1,10,1,4,false,pass

-    do i=1, loopUpperBound,4

-        print *, i

-        if(i+1>loopUpperBound) exit

-        print *, (i+1)

-        if(i+2>loopUpperBound) exit

-        print *, (i+2)

-        if(i+3>loopUpperBound) exit

-        print *, (i+3)

-    end do

-

-

-end program test

diff --git a/org.eclipse.photran.core.vpg.tests/search-test-code/foo.f90 b/org.eclipse.photran.core.vpg.tests/search-test-code/foo.f90
deleted file mode 100644
index 40cb623..0000000
--- a/org.eclipse.photran.core.vpg.tests/search-test-code/foo.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program main
-  integer a, b
-  a = 5
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/search-test-code/implicitTest.f90 b/org.eclipse.photran.core.vpg.tests/search-test-code/implicitTest.f90
deleted file mode 100644
index 9b24b0c..0000000
--- a/org.eclipse.photran.core.vpg.tests/search-test-code/implicitTest.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program ImplicitTest
-	a = 1
-	call s
-	stop
-contains
-	subroutine s
-		b = 3
-		return
-	end subroutine
-end program ImplicitTest
diff --git a/org.eclipse.photran.core.vpg.tests/search-test-code/moduleInclusion.F90 b/org.eclipse.photran.core.vpg.tests/search-test-code/moduleInclusion.F90
deleted file mode 100644
index 55c451c..0000000
--- a/org.eclipse.photran.core.vpg.tests/search-test-code/moduleInclusion.F90
+++ /dev/null
@@ -1,17 +0,0 @@
-PROGRAM hi
-!this should work
-
-
-  USE moduleZiggurat
-  IMPLICIT NONE
-
-  REAL ::  x
-  INTEGER :: i
-
-  DO  i = 1, 10000
-     x = uni( )
-  END DO
-  WRITE(*,*) x
-
-END PROGRAM hi
-
diff --git a/org.eclipse.photran.core.vpg.tests/search-test-code/nameScoping.F90 b/org.eclipse.photran.core.vpg.tests/search-test-code/nameScoping.F90
deleted file mode 100644
index 66fd2c3..0000000
--- a/org.eclipse.photran.core.vpg.tests/search-test-code/nameScoping.F90
+++ /dev/null
@@ -1,25 +0,0 @@
-
-SUBROUTINE pgmName
-	PRINT *,'Hello'
-END SUBROUTINE pgmName
-
-
-
-PROGRAM pgmName
-!this should work
-
-
-  USE pgmName
-  IMPLICIT NONE
-
-  REAL ::  x
-  INTEGER :: i
-
-  DO  i = 1, 10000
-     x = hi( )
-  END DO
-  WRITE(*,*) x
-  
-  CALL pgmName
-
-END PROGRAM pgmName
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/Activator.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/Activator.java
deleted file mode 100644
index a076771..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/Activator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle.
- * 
- * @author (generated)
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.photran.core.vpg.tests";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	@Override public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	@Override public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranASTTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranASTTestCase.java
deleted file mode 100644
index 1b26ee2..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranASTTestCase.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests;
-
-import java.io.File;
-import java.io.IOException;
-
-import junit.framework.ComparisonFailure;
-
-import org.eclipse.photran.internal.core.lexer.sourceform.UnpreprocessedFixedSourceForm;
-import org.eclipse.photran.internal.core.lexer.sourceform.UnpreprocessedFreeSourceForm;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.sourceform.ISourceForm;
-import org.eclipse.photran.internal.core.sourceform.SourceForm;
-import org.eclipse.photran.internal.core.util.SemanticError;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * Base class for a test case that takes an AST as input.
- * <p>
- * Test cases based on this will usually be created by a {@link PhotranTestSuiteFromFiles}.
- * 
- * @author Jeff Overbey
- */
-public abstract class PhotranASTTestCase extends PhotranTestCase
-{
-    protected File file = null;
-    protected boolean isFixedForm = false;
-    protected String fileDescription = null;
-
-    /**
-     * Constructor
-     * 
-     * @param filename the file to parse
-     * @param isFixedForm true iff the file is in fixed format
-     */
-    public PhotranASTTestCase(File file, boolean isFixedForm, String testCaseDescription)
-    {
-        super("test"); // name of method to run
-        this.file = file;
-        this.isFixedForm = isFixedForm;
-        this.fileDescription = testCaseDescription;
-    }
-    
-    /**
-     * Method called by JUnit: Parses the given file.
-     * 
-     * @throws Exception
-     */
-    public final void test() throws Exception
-    {
-        if (file == null) return; // for when JUnit invokes the no-arguments constructor and reflectively invokes this method
-        
-        try
-        {
-            ASTExecutableProgramNode ast = parse(file, createSourceForm());
-            assertTrue(ast != null);
-            assertNull(PhotranVPG.findFirstErrorIn(ast));
-            handleAST(ast);
-        }
-        catch (ComparisonFailure f)
-        {
-            throw f;
-        }
-        catch (Throwable t)
-        {
-            System.err.println(file.getName());
-            throw new Exception(fileDescription, t);
-        }
-    }
-
-    protected ISourceForm createSourceForm()
-    {
-        if (isFixedForm)
-            return new UnpreprocessedFixedSourceForm();
-        else if (file.getName().endsWith(".F90"))
-            return SourceForm.of(null, file.getPath()); // delegate to create CPP source form
-        else
-            return new UnpreprocessedFreeSourceForm();
-    }
-
-    /**
-     * Subclasses can override this method to do something interesting with the AST
-     * 
-     * @param ast The abstract syntax tree for the Fortran file that was parsed
-     * @throws IOException 
-     */
-    protected abstract void handleAST(ASTExecutableProgramNode ast) throws IOException, SemanticError;
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranRefactoringTestSuiteFromMarkers.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranRefactoringTestSuiteFromMarkers.java
deleted file mode 100644
index 20e9d89..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranRefactoringTestSuiteFromMarkers.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009-2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.TreeMap;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.vpg.refactoring.VPGResourceRefactoring;
-import org.eclipse.rephraserengine.testing.junit3.GeneralTestSuiteFromMarkers;
-
-/**
- * A test suite constructed by importing files from a directory in the source tree, searching its
- * files for <i>markers</i> (comma-separated lines starting with <tt>!&lt;&lt;&lt;&lt;&lt;</tt>),
- * and adding one test case to the suite for each marker.
- * <p>
- * Markers are expected to have one of the following forms:
- * <ol>
- * <li> <tt>!&lt;&lt;&lt;&lt;&lt; line, col, ...</tt>
- * <li> <tt>!&lt;&lt;&lt;&lt;&lt; fromLine, fromCol, toLine, toCol, ...</tt>
- * </ol>
- * That is, the first two fields in each marker are expected to be a line and column number; the
- * text selection passed to the refactoring will be the offset of that line and column.  The third
- * fourth fields may also be a line and column number; then, the selection passed to the refactoring
- * will extend from the first line/column to the second line/column.
- * <p>
- * The line and column numbers may be followed by an arbitrary number of fields that contain data
- * specific to the refactoring being invoked.  Many refactorings don't require any additional data;
- * the Extract Local Variable test suite uses one field for the new variable declaration; the Add
- * ONLY to USE Statement test suite uses these fields to list the module entities to add; etc.
- * <p>
- * The final field must be either &quot;pass&quot;, &quot;fail-initial&quot;,
- * or &quot;fail-final&quot;, indicating whether the refactoring should succeed,
- * fail its initial precondition check, or fail its final precondition check.
- * <p>
- * If the refactoring is expected to succeed, the Fortran program will be compiled and run before
- * and after the refactoring in order to ensure that the refactoring actually preserved behavior.
- *
- * @author Jeff Overbey
- */
-public abstract class PhotranRefactoringTestSuiteFromMarkers<R extends VPGResourceRefactoring<IFortranAST, Token, PhotranVPG>>
-              extends GeneralTestSuiteFromMarkers
-{
-    /** Text of the last marker field when a refactoring is pass all precondition checks */
-    private static final String PASS = "pass";
-    /** Text of the last marker field when a refactoring is expected to fail initial precondition check */
-    private static final String FAIL_INITIAL = "fail-initial";
-    /** Text of the last marker field when a refactoring is expected to fail final precondition check */
-    private static final String FAIL_FINAL = "fail-final";
-
-    /** The activator class that will be used to load test files from the source tree */
-    protected Plugin activator;
-    
-    /** The refactoring under test */
-    protected Class<R> refactoringClass;
-
-    protected PhotranRefactoringTestSuiteFromMarkers(Plugin activator, String descriptionPrefix, String directory, Class<R> clazz) throws Exception
-    {
-        super(descriptionPrefix, PhotranWorkspaceTestCase.MARKER, new File(directory), PhotranWorkspaceTestCase.FORTRAN_FILE_FILTER,
-              activator, // initializationData[0]
-              clazz);    // initializationData[1]
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override protected void initialize(Object... initializationData)
-    {
-        this.activator = (Plugin)initializationData[0];
-        this.refactoringClass = (Class<R>)initializationData[1];
-    }
-
-    
-    @Override protected Test createTestFor(File fileContainingMarker, int markerOffset, String markerText) throws Exception
-    {
-        return new IndividualRefactoringTestCase(activator, description, fileContainingMarker, markerText);
-    }
-
-    /**
-     * This method is invoked to instantiate the refactoring class.  Override if necessary.
-     */
-    protected R createRefactoring() throws InstantiationException, IllegalAccessException
-    {
-        return refactoringClass.newInstance();
-    }
-
-    /**
-     * This method is invoked after the refactoring is created ({@link #createRefactoring()}) but
-     * before {@link Refactoring#checkInitialConditions(org.eclipse.core.runtime.IProgressMonitor)}
-     * is invoked.  Override if necessary.
-     *
-     * @return true iff the refactoring is expected to pass initial precondition checking
-     */
-    protected boolean initializeRefactoring(R refactoring, IFile file, TextSelection selection, String[] markerText)
-    {
-        if (refactoring instanceof FortranEditorRefactoring)
-            ((FortranEditorRefactoring)refactoring).initialize(file, selection);
-        else if (refactoring instanceof FortranResourceRefactoring)
-            ((FortranResourceRefactoring)refactoring).initialize(Collections.singletonList(file));
-        else
-            throw new IllegalStateException();
-        
-        if (lastMarkerField(markerText).equals(PASS) || lastMarkerField(markerText).equals(FAIL_FINAL))
-            return true;
-        else if (lastMarkerField(markerText).equals(FAIL_INITIAL))
-            return false;
-        else
-            throw new IllegalStateException();
-    }
-
-    /**
-     * This method is invoked after initial preconditions have been checked
-     * ({@link Refactoring#checkInitialConditions(org.eclipse.core.runtime.IProgressMonitor)})
-     * but before final preconditions are checked
-     * ({@link Refactoring#checkFinalConditions(org.eclipse.core.runtime.IProgressMonitor)}).
-     * Override if necessary to supply user input.
-     *
-     * @return true iff the refactoring is expected to pass final precondition checking
-     */
-    protected boolean configureRefactoring(R refactoring, IFile file, TextSelection selection, String[] markerText)
-    {
-        if (lastMarkerField(markerText).equals(PASS))
-            return true;
-        else if (lastMarkerField(markerText).equals(FAIL_FINAL))
-            return false;
-        else
-            throw new IllegalStateException();
-    }
-
-    private String lastMarkerField(String[] markerText)
-    {
-        return markerText[markerText.length-1];
-    }
-
-    public class IndividualRefactoringTestCase extends PhotranWorkspaceTestCase
-    {
-        private Plugin activator;
-        private String description;
-        private File fileContainingMarker;
-        private String markerText;
-
-        private TreeMap<String, IFile> files = new TreeMap<String, IFile>();
-
-        public IndividualRefactoringTestCase(Plugin activator, String description, File fileContainingMarker, String markerText) throws Exception
-        {
-            this.activator = activator;
-            this.description = description;
-            this.fileContainingMarker = fileContainingMarker;
-            this.markerText = markerText;
-            this.setName("test");
-        }
-
-        public void test() throws Exception
-        {
-            IFile fileContainingMarker = importFiles();
-            R refactoring = createRefactoring();
-
-            String[] markerFields = parseMarker(markerText);
-            TextSelection selection = determineSelection(markerFields, fileContainingMarker);
-
-            appendFilenameToDescription(markerFields);
-
-            RefactoringStatus status =
-                checkInitialConditions(refactoring,
-                    initializeRefactoring(refactoring, fileContainingMarker, selection, markerFields));
-
-            if (!status.hasFatalError())
-            {
-                String before = shouldCompile(fileContainingMarker) ? compileAndRunFortranProgram() : "";
-                
-                status = checkFinalConditions(refactoring,
-                    configureRefactoring(refactoring, fileContainingMarker, selection, markerFields));
-    
-                if (!status.hasFatalError())
-                {
-                    performChange(refactoring);
-                    
-                    if (!status.hasError() && shouldCompile(fileContainingMarker))
-                        assertEquals(before, compileAndRunFortranProgram());
-                    compareAgainstResultFile();
-                }
-            }
-        }
-
-        private IFile importFiles() throws Exception
-        {
-            importFiles(fileContainingMarker.getParent());
-            return files.get(fileContainingMarker.getName());
-        }
-
-        private String compileAndRunFortranProgram() throws Exception
-        {
-            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-
-            System.out.println("Compiling and running Fortran program");
-            return compileAndRunFortranProgram(files.keySet().toArray(new String[files.size()]));
-        }
-
-
-        private void appendFilenameToDescription(String[] markerStrings)
-        {
-            description += " (" + fileContainingMarker.getName() + " " + Arrays.toString(markerStrings) + ")";
-        }
-
-        private RefactoringStatus checkInitialConditions(R refactoring, boolean shouldSucceed)
-        {
-            RefactoringStatus status = refactoring.checkInitialConditions(new NullProgressMonitor());
-            if (shouldSucceed)
-                assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError());
-            else
-                assertTrue(description + " should have failed initial precondition check but did not: " + status.toString(), status.hasError());
-            return status;
-        }
-
-        private RefactoringStatus checkFinalConditions(R refactoring, boolean shouldSucceed)
-        {
-            RefactoringStatus status;
-            status = refactoring.checkFinalConditions(new NullProgressMonitor());
-            if (shouldSucceed)
-                assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-            else
-                assertTrue(description + " should have failed final precondition check but did not: " + status.toString(), status.hasError());
-            return status;
-        }
-
-        private void performChange(R refactoring) throws CoreException
-        {
-            IProgressMonitor pm = new NullProgressMonitor();
-            Change change = refactoring.createChange(pm);
-            assertNotNull(description + " returned null Change object", change);
-            assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
-            change.perform(pm);
-        }
-
-        private void compareAgainstResultFile() throws IOException, URISyntaxException, CoreException
-        {
-            for (String filename : files.keySet())
-            {
-                if (resultFileFor(filename).exists())
-                {
-                    String expected = readTestFile(activator, fileContainingMarker.getParent(), filename + ".result").replaceAll("\\r", "");
-                    String actual = readWorkspaceFile(filename).replaceAll("\\r", "");
-                    assertEquals(expected, actual);               // actual refactored file
-                }
-            }
-        }
-
-        private File resultFileFor(String filename)
-        {
-            return new File(fileContainingMarker.getParent()
-                + File.separator
-                + filename
-                +  ".result");
-        }
-
-        private void importFiles(String subdir) throws Exception
-        {
-            PhotranVPG.getInstance().clearDatabase();
-
-            files = new TreeMap<String, IFile>();
-
-            for (File file : new File(subdir).listFiles())
-            {
-                String filename = file.getName();
-                if (!filename.endsWith(".result")
-                    && !filename.equalsIgnoreCase("CVS")
-                    && !filename.equalsIgnoreCase(".svn"))
-                {
-                    IFile thisFile = importFile(activator, subdir, filename);
-                    files.put(filename, thisFile);
-                }
-            }
-
-            IProgressMonitor pm = new NullProgressMonitor();
-            project.refreshLocal(IResource.DEPTH_INFINITE, pm);
-            PhotranVPG.getInstance().ensureVPGIsUpToDate(pm);
-        }
-    }
-
-    /**
-     * @return true iff the Fortran program should be compiled and run
-     */
-    protected boolean shouldCompile(IFile fileContainingMarker)
-    {
-        return true;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranTestCase.java
deleted file mode 100644
index 44a0eef..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranTestCase.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.SyntaxException;
-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;
-import org.eclipse.photran.internal.core.lexer.ASTLexerFactory;
-import org.eclipse.photran.internal.core.lexer.LexerException;
-import org.eclipse.photran.internal.core.lexer.sourceform.UnpreprocessedFreeSourceForm;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.IBodyConstruct;
-import org.eclipse.photran.internal.core.parser.IExpr;
-import org.eclipse.photran.internal.core.parser.Parser;
-import org.eclipse.photran.internal.core.sourceform.ISourceForm;
-
-/**
- * Base class for all Photran test cases.
- * <p>
- * This class provides methods to parse Fortran code, as well as some general utility methods.
- *
- * @author Jeff Overbey
- */
-public abstract class PhotranTestCase extends TestCase
-{
-    public PhotranTestCase()
-    {
-        this(null);
-    }
-
-    public PhotranTestCase(String name)
-    {
-        super(name);
-        if (!FortranCorePlugin.inTestingMode())
-            fail("PHOTRAN'S UNIT TESTS MUST BE RUN AS A JUNIT PLUG-IN TEST");
-    }
-
-    protected ASTExecutableProgramNode parse(String string) throws IOException, LexerException, SyntaxException
-    {
-        return parse(string, new UnpreprocessedFreeSourceForm());
-    }
-
-    protected ASTExecutableProgramNode parse(String string, ISourceForm sourceForm) throws IOException, LexerException, SyntaxException
-    {
-        ASTExecutableProgramNode ast = new Parser().parse(new ASTLexerFactory().createLexer(new StringReader(string), null, "<stdin>", sourceForm));
-        assertTrue(ast != null);
-        return ast;
-    }
-
-    protected ASTExecutableProgramNode parse(File file) throws IOException, LexerException, SyntaxException, CoreException
-    {
-        return parse(file, new UnpreprocessedFreeSourceForm());
-    }
-
-    protected ASTExecutableProgramNode parse(File file, ISourceForm sourceForm) throws IOException, LexerException, SyntaxException, CoreException
-    {
-        ASTExecutableProgramNode ast = new Parser().parse(new ASTLexerFactory().createLexer(file, sourceForm));
-        assertTrue(ast != null);
-        return ast;
-    }
-
-    @SuppressWarnings("unchecked")
-    protected <T extends IBodyConstruct> T parseStmt(String stmt) throws IOException, LexerException, SyntaxException
-    {
-        String program = stmt + "\nend program\n";
-        ASTExecutableProgramNode ast = new Parser().parse(new ASTLexerFactory().createLexer(new StringReader(program), null, null));
-        assertTrue(ast != null);
-        LoopReplacer.replaceAllLoopsIn(ast);
-        return (T)((ASTMainProgramNode)ast.getProgramUnitList().get(0)).getBody().get(0);
-    }
-
-    protected IExpr parseExpression(String expression) throws IOException, LexerException,
-        SyntaxException
-    {
-        String program = "a = " + expression + "\nend";
-        ASTExecutableProgramNode ast = parse(program);
-        assertNotNull(ast);
-        ASTMainProgramNode mainProg = (ASTMainProgramNode)ast.getProgramUnitList().get(0);
-        ASTAssignmentStmtNode assignmentStmt = (ASTAssignmentStmtNode)mainProg.getBody().get(0);
-        IExpr exprNode = assignmentStmt.getRhs();
-        return exprNode;
-    }
-
-    protected <T> void assertCollectionsEqual(T[] expectedArray, Iterable<T> actualIterable)
-    {
-        assertCollectionsEqual(Arrays.asList(expectedArray), actualIterable);
-    }
-
-    protected <T> void assertCollectionsEqual(List<T> expected, Iterable<T> actualIterable)
-    {
-        List<T> actual = new ArrayList<T>();
-        for (T entry : actualIterable)
-            actual.add(entry);
-
-        assertEquals(expected, actual);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranTestSuiteFromFiles.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranTestSuiteFromFiles.java
deleted file mode 100644
index 1a9d8ac..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranTestSuiteFromFiles.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.rephraserengine.testing.junit3.GeneralTestSuiteFromFiles;
-
-/**
- * Base class for a test suite that contains one test for each file in a directory.
- * <p>
- * This class takes a given directory (usually in the org.eclipse.photran.core.vpg.tests
- * source tree), finds all of the Fortran source files in that directory or a subdirectory,
- * and then creates a test case for each file.
- * <p>
- * The creation of the test case is delegated to {@link #createTestFor(File, boolean, String)},
- * which subclasses must override.
- * 
- * @author Jeff Overbey
- * 
- * @see PhotranASTTestCase
- */
-public abstract class PhotranTestSuiteFromFiles extends GeneralTestSuiteFromFiles
-{
-    public static final String TEST_ROOT = "../org.eclipse.photran.core.vpg.tests/parser-test-code/";
-    
-    protected String directory;
-    protected boolean isFixedForm;
-    
-    public PhotranTestSuiteFromFiles(String description, String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
-    {
-        super(description + (isFixedForm ? " fixed form" : " free form"),
-              directorySuffix,
-              isFixedForm ? FIXED_FORM_FILENAME_FILTER : FREE_FORM_FILENAME_FILTER,
-              mustExist,
-              isFixedForm);
-    }
-    
-    @Override protected void initialize(Object... initializationData)
-    {
-        this.isFixedForm = (Boolean)initializationData[0];
-    }
-
-    @Override protected String getRootDirectory()
-    {
-        return TEST_ROOT;
-    }
-
-    @Override protected String nameOfTextFileContainingFilesToSkip()
-    {
-        return "PHOTRAN-PARSER-ERRORS.txt";
-    }
-
-    private static FilenameFilter FREE_FORM_FILENAME_FILTER = new FilenameFilter()
-    {
-        public boolean accept(File dir, String name)
-        {
-            return (name.endsWith(".f90")
-                || name.endsWith(".f03")
-                || name.endsWith(".f08")
-                || name.endsWith(".F90")
-                || name.endsWith(".F03")
-                || name.endsWith(".F08")
-                || name.endsWith(".FRE")) && !name.startsWith("XXX");
-        }
-    };
-
-    private static FilenameFilter FIXED_FORM_FILENAME_FILTER = new FilenameFilter()
-    {
-        public boolean accept(File dir, String name)
-        {
-            return (name.endsWith(".f")
-                || name.endsWith(".FIX")) && !name.startsWith("XXX");
-        }
-    };
-    
-    @Override protected final Test createTestFor(File file)
-    {
-        return createTestFor(file, isFixedForm, describe(file));
-    }
-    
-    protected abstract PhotranASTTestCase createTestFor(File file, boolean isFixedForm, String fileDescription);
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranWorkspaceTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranWorkspaceTestCase.java
deleted file mode 100644
index 9bc0c12..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranWorkspaceTestCase.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-/*
- * Created on Oct 4, 2004
- */
-package org.eclipse.photran.internal.tests;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.cdt.core.dom.IPDOMManager;
-import org.eclipse.cdt.core.model.ICProject;
-import org.eclipse.cdt.core.testplugin.CProjectHelper;
-import org.eclipse.cdt.core.testplugin.FileManager;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.photran.internal.core.FProjectNature;
-import org.eclipse.photran.internal.core.util.LineCol;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.util.Spawner;
-
-/**
- * Base class for a test case that imports files into the runtime workspace and then operates on the
- * runtime workspace.
- * <p>
- * Most refactorings are tested in this way. However, refactoring tests should generally be created
- * by subclassing {@link PhotranRefactoringTestSuiteFromMarkers}, not by subclassing this class
- * directly.
- * <p>
- * This class is based on org.eclipse.cdt.core.tests.BaseTestFramework.
- * 
- * @author aniefer
- * @author Jeff Overbey - Modified so that every test case creates a new project - Added line/column
- *         computation when importing files - Added {@link #compileAndRunFortranProgram(String...)}
- *         Also added marker infrastructure.
- */
-public abstract class PhotranWorkspaceTestCase extends PhotranTestCase {
-
-    /** The marker to search for */
-    public static final String MARKER = "!<<<<<";
-
-    /** Filter that determines which files will be imported into the runtime workspace */
-    public static final FilenameFilter FORTRAN_FILE_FILTER = new FilenameFilter()
-    {
-        public boolean accept(File dir, String filename)
-        {
-            return !filename.endsWith(".result")
-                && !filename.equalsIgnoreCase("CVS")
-                && !filename.equalsIgnoreCase(".svn");
-        }
-    };
-
-    static protected NullProgressMonitor	monitor;
-    static protected IWorkspace 			workspace;
-    static protected IProject 				project;
-    static protected ICProject				cproject;
-    static protected FileManager 			fileManager;
-	static protected boolean				indexDisabled=false;
-	
-	private static int n = 0;
-	
-    private HashMap<String, ArrayList<Integer>> lineMaps = new HashMap<String, ArrayList<Integer>>();
-
-    static void initProject() {
-		if (project != null) {
-			return;
-		}
-        if( CCorePlugin.getDefault() != null && CCorePlugin.getDefault().getCoreModel() != null){
-			//(CCorePlugin.getDefault().getCoreModel().getIndexManager()).reset();
-			monitor = new NullProgressMonitor();
-			
-			workspace = ResourcesPlugin.getWorkspace();
-			
-	        try {
-	            PhotranVPG.getInstance().releaseAllASTs();
-	            PhotranVPG.getInstance().clearDatabase();
-	            
-	            cproject = CProjectHelper.createCCProject("PhotranTestProject" + (++n), "bin", IPDOMManager.ID_NO_INDEXER); //$NON-NLS-1$ //$NON-NLS-2$
-	            CProjectHelper.addNatureToProject(cproject.getProject(), FProjectNature.F_NATURE_ID, null);
-	        
-	            project = cproject.getProject();
-	            
-	            /*project.setSessionProperty(SourceIndexer.activationKey, Boolean.FALSE );
-	        	//Set the id of the source indexer extension point as a session property to allow
-	    		//index manager to instantiate it
-	    		project.setSessionProperty(IndexManager.indexerIDKey, sourceIndexerID);*/
-	    		
-	 
-	    		
-	        } catch ( CoreException e ) {
-	            /*boo*/
-	        }
-			if (project == null)
-				fail("Unable to create project"); //$NON-NLS-1$
-	
-			//Create file manager
-			fileManager = new FileManager();
-        }
-	}
-            
-    public PhotranWorkspaceTestCase()
-    {
-        super();
-    }
-
-    public PhotranWorkspaceTestCase(String name)
-    {
-        super(name);
-    }
-    
-	@Override
-	protected void setUp() throws Exception {
-		super.setUp();
-		initProject();
-	}
-
-	@Override
-	protected void tearDown() throws Exception {
-        if( project == null || !project.exists() )
-            return;
-        
-//        IResource [] members = project.members();
-//        for( int i = 0; i < members.length; i++ ){
-//            if( members[i].getName().equals( ".project" ) || members[i].getName().equals( ".cproject" ) ) //$NON-NLS-1$ //$NON-NLS-2$
-//                continue;
-//            if (members[i].getName().equals(".settings"))
-//            	continue;
-//            try{
-//                members[i].delete( false, monitor );
-//            } catch( Throwable e ){
-//                /*boo*/
-//            }
-//        }
-        
-        try {
-            project.delete(true, true, new NullProgressMonitor());
-        } catch( Throwable e ){
-            /* boo */
-            project.close(new NullProgressMonitor());
-            // To speed things up a bit and conserve memory...
-            PhotranVPG.getInstance().releaseAllASTs();
-            PhotranVPG.getInstance().clearDatabase();
-        }
-        project = null;
-	}
-
-    protected IFile importFile(String fileName, String contents) throws Exception
-    {
-		//Obtain file handle
-		IFile file = project.getProject().getFile(fileName);
-		
-		InputStream stream = new ByteArrayInputStream( contents.getBytes() );
-		//Create file input stream
-		if( file.exists() )
-		    file.setContents( stream, false, false, monitor );
-		else
-			file.create( stream, false, monitor );
-		
-		fileManager.addFile(file);
-		
-		return file;
-	}
-
-    /**
-     * If the environment variables COMPILER and EXECUTABLE are set during the JUnit run,
-     * compiles and runs the Fortran program being refactored and returns the output of
-     * the compilation and execution.  Otherwise, returns the empty string.
-     * <p>
-     * (This is intended to allow developers creating refactorings to test their refactorings
-     * by actually compiling the code, while not forcing other developers to do so, since
-     * it can be time-consuming.  Tests should NOT assume that a compiler is available.)
-     * <p>
-     * This will compile the file(s) that are currently being refactored (i.e., the files
-     * imported into the test project using {@link #importFile(Plugin, String, String)}) into a
-     * single executable, and then run that executable.  This can be invoked before and
-     * after a refactoring is performed to make sure runtime behavior is actually preserved
-     * for the test program.  If a specific ordering of the filenames is desired, it
-     * must be passed as an argument to this method; otherwise, all *.f* resources in the
-     * test project will be passed to the compiler in no specific order.
-     * <p>
-     * COMPILER must be set to the path of your Fortran compiler, e.g.,
-     * /usr/local/gfortran/bin/gfortran
-     * <p>
-     * EXECUTABLE gives a path for the generated executable, e.g.,
-     * /Users/joverbey/fortran-test-program.exe
-     * <p>
-     * The actual command line that is invoked is printed to standard output.
-     * <p>
-     * NOTE: Occasionally, the last part of the output from the Fortran program may seem to
-     * be missing.  (This may be a gfortran-specific problem.)  You should include a
-     * statement to manually flush the output to ensure that your test cases always pass.
-     * In gfortran, you can "CALL FLUSH" to invoke the (proprietary) flush intrinsic; or
-     * there is also a FLUSH statement in Fortran 2003.
-     *
-     * @return the output from the compiler and executable
-     * @throws Exception
-     */
-    protected String compileAndRunFortranProgram(String... filenamesOpt) throws Exception
-    {
-        String compiler = System.getenv("COMPILER");
-        if (compiler == null) return "";
-
-        String exe = System.getenv("EXECUTABLE");
-        if (exe == null) return "";
-
-        ArrayList<String> args = new ArrayList<String>(8);
-        args.add(compiler);
-
-        args.add("-falign-functions");
-        args.add("-w"); // Suppress all warnings (notably, use of assigned gotos)
-        
-        args.add("-o");
-        args.add(exe);
-        if (filenamesOpt == null || filenamesOpt.length == 0)
-        {
-            for (IResource res : project.members())
-                if (res instanceof IFile && res.getFileExtension().startsWith("f"))
-                    args.add(res.getName());
-        }
-        else
-        {
-            for (String filename : filenamesOpt)
-                args.add(filename);
-        }
-
-        System.out.println(toString(args));
-        String output = Spawner.run(project.getLocation().toFile(), args);
-        //System.out.println(output);
-
-        System.out.println(exe);
-        String output2 = Spawner.run(project.getLocation().toFile(), exe);
-        //System.out.println(output2);
-        
-        // Wait a few milliseconds for the file lock on a.exe to be released
-        // Otherwise Windows 7 + Cygwin may give a "Device or resource busy"
-        // error when we compile to a.exe in the next test case
-        Thread.sleep(250); // 1/4 of a second seems to be sufficient
-
-        return output + "\n" + output2;
-    }
-
-    private String toString(ArrayList<String> args)
-    {
-        StringBuilder sb = new StringBuilder();
-        for (int i = 0; i < args.size(); i++)
-            sb.append((i == 0 ? "" : " ") + args.get(i));
-        return sb.toString();
-    }
-
-    protected IFile importFile(Plugin activator, String srcDir, String filename) throws Exception
-    {
-        //project.getProject().getFile(filename).delete(true, new NullProgressMonitor());
-        IFile result = importFile(filename, readTestFile(activator, srcDir, filename));
-        //project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-        return result;
-    }
-
-    protected String readTestFile(Plugin activator, String srcDir, String filename) throws IOException, URISyntaxException
-    {
-        ArrayList<Integer> lineMap = new ArrayList<Integer>(50);
-        lineMaps.put(filename, lineMap);
-        lineMap.add(0); // Offset of line 1
-        URL resource = activator.getBundle().getResource(srcDir + "/" + filename);
-        assertNotNull(resource);
-        return readStream(lineMap, resource.openStream());
-    }
-
-    protected String readStream(InputStream inputStream) throws IOException
-    {
-        return readStream(null, inputStream);
-    }
-
-    private String readStream(ArrayList<Integer> lineMap, InputStream inputStream) throws IOException
-    {
-        StringBuffer sb = new StringBuffer(4096);
-        BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
-        for (int offset = 0, ch = in.read(); ch >= 0; ch = in.read())
-        {
-            sb.append((char)ch);
-            offset++;
-
-            if (ch == '\n' && lineMap != null)
-            {
-                //System.out.println("Line " + (lineMap.size()+1) + " starts at offset " + offset);
-                lineMap.add(offset);
-            }
-        }
-        in.close();
-        return sb.toString();
-    }
-
-    protected String readWorkspaceFile(String filename) throws IOException, CoreException
-    {
-        return readStream(project.getFile(filename).getContents(true));
-    }
-
-    /**
-     * @param filename
-     * @param line line number, starting at 1
-     * @param col column number, starting at 1
-     */
-    protected int getLineColOffset(String filename, LineCol lineCol)
-    {
-        return lineMaps.get(filename).get(lineCol.getLine()-1) + (lineCol.getCol()-1);
-    }
-
-    protected String[] parseMarker(String markerText)
-    {
-        String[] markerStrings = markerText.split(",");
-        for (int i = 0; i < markerStrings.length; i++)
-            markerStrings[i] = markerStrings[i].trim();
-        return markerStrings;
-    }
-
-    protected TextSelection determineSelection(String[] markerStrings, IFile fileContainingMarker) throws IOException, CoreException
-    {
-        assertTrue(markerStrings.length >= 2);
-        int fromLine = Integer.parseInt(markerStrings[0]);
-        int fromCol = Integer.parseInt(markerStrings[1]);
-        int fromOffset = getLineColOffset(fileContainingMarker.getName(), new LineCol(fromLine, fromCol));
-        int length = 0;
-        if (markerStrings.length >= 4 && isInteger(markerStrings[2]) && isInteger(markerStrings[3]))
-        {
-            int toLine = Integer.parseInt(markerStrings[2]);
-            int toCol = Integer.parseInt(markerStrings[3]);
-            int toOffset = getLineColOffset(fileContainingMarker.getName(), new LineCol(toLine, toCol));
-            length = toOffset - fromOffset;
-        }
-        TextSelection selection = new TextSelection(createDocument(fileContainingMarker),  fromOffset, length);
-        return selection;
-    }
-
-    /**
-     * @return true iff {@link Integer#parseInt(String)} can successfully parse the given
-     *         string can be parsed as an integer
-     */
-    protected boolean isInteger(String string)
-    {
-        try
-        {
-            Integer.parseInt(string);
-            return true;
-        }
-        catch (NumberFormatException e)
-        {
-            return false;
-        }
-    }
-
-    private IDocument createDocument(IFile fileContainingMarker) throws IOException, CoreException
-    {
-        return new Document(readWorkspaceFile(fileContainingMarker.getName()));
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/AbstractDependencesTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/AbstractDependencesTestCase.java
deleted file mode 100644
index 8dd3098..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/AbstractDependencesTestCase.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.analysis.dependence;
-
-import java.io.IOException;
-
-import org.eclipse.photran.internal.core.SyntaxException;
-import org.eclipse.photran.internal.core.analysis.dependence.LoopDependences;
-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;
-import org.eclipse.photran.internal.core.lexer.LexerException;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.tests.PhotranTestCase;
-import org.eclipse.rephraserengine.core.analysis.dependence.GCDTest;
-import org.eclipse.rephraserengine.core.analysis.dependence.GeneralizedGCDTest;
-
-/**
- * Base class for unit tests for dependence testing classes.
- *
- * @author Jeff Overbey
- */
-public abstract class AbstractDependencesTestCase extends PhotranTestCase
-{
-    protected LoopDependences dependences(String loop) throws IOException, LexerException, SyntaxException
-    {
-        return LoopDependences.computeFor(loop(loop),
-            new GCDTest(),
-            new GeneralizedGCDTest());
-    }
-
-    protected ASTProperLoopConstructNode loop(String stmt) throws IOException, LexerException, SyntaxException
-    {
-        ASTProperLoopConstructNode result = parseStmt(stmt);
-        assertNotNull(result);
-        return result;
-    }
-
-    protected ASTAssignmentStmtNode assignment(String stmt) throws IOException, LexerException, SyntaxException
-    {
-        ASTAssignmentStmtNode result = parseStmt(stmt);
-        assertNotNull(result);
-        return result;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/ArrayReferenceTest.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/ArrayReferenceTest.java
deleted file mode 100644
index 2501574..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/ArrayReferenceTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.analysis.dependence;
-
-import org.eclipse.photran.internal.core.analysis.dependence.VariableReference;
-
-/**
- * 
- * @author Jeff Overbey
- */
-public class ArrayReferenceTest extends AbstractDependencesTestCase
-{
-    public void test1DLHS() throws Exception
-    {
-        assertEquals("a(2*i+3)", VariableReference.fromLHS(assignment("a(2* i  +3) = 0")).toString());
-        assertEquals("a(2*i+3)", VariableReference.fromLHS(assignment("A(2* i  +3) = 0")).toString());
-        assertEquals("a(1*i+2)", VariableReference.fromLHS(assignment("a(i + 2) = 0")).toString());
-        assertEquals("a(3)",     VariableReference.fromLHS(assignment("a(3) = 0")).toString());
-        assertEquals("a(1*i+0)", VariableReference.fromLHS(assignment("a(i) = 0")).toString());
-        assertEquals("a(2*i+0)", VariableReference.fromLHS(assignment("a(2* i) = 0")).toString());
-        assertEquals("a",        VariableReference.fromLHS(assignment("a(s(n/3)) = 0")).toString());
-        assertEquals("a(2*i+5)", VariableReference.fromLHS(assignment("a(5+2*i) = 0")).toString());
-        assertEquals("a(1*i+5)", VariableReference.fromLHS(assignment("a(5+i) = 0")).toString());
-        assertEquals("a(-1*i+5)", VariableReference.fromLHS(assignment("a(-i+5) = 0")).toString());
-        assertEquals("a(-1*i+0)", VariableReference.fromLHS(assignment("a(-i) = 0")).toString());
-        //assertEquals("a(-1*i+5)", VariableReference.fromLHS(assignment("a(5+-i) = 0")).toString());
-    }
-
-    public void test3DLHS() throws Exception
-    {
-        assertEquals("a(2*i+0, 6, 1*j+10)", VariableReference.fromLHS(assignment("a ( 2*i, 6 , j + 10 ) = 0")).toString());
-    }
-
-    public void testRHS() throws Exception
-    {
-        assertEquals("[b(3), c(6*i+0), i, d, a]",
-            VariableReference.fromRHS(assignment("a ( 2*i, 6 , j + 10 ) = b(3) + c(6*i) + 3 * d * a")).toString());
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/DependencesTest.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/DependencesTest.java
deleted file mode 100644
index 23f1426..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/dependence/DependencesTest.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.analysis.dependence;
-
-import org.eclipse.photran.internal.core.analysis.dependence.LoopDependences;
-
-/**
- * Unit tests for the Dependences class, which collects array dependences in a perfect loop nest.
- *
- * @author Jeff Overbey
- */
-public class DependencesTest extends AbstractDependencesTestCase
-{
-    public void testPage38() throws Exception
-    {
-        LoopDependences deps = dependences(
-            "DO I = 1, N\n" +
-            "    A(I + 1) = A(I) + B(I)     ! S1\n" +
-            "ENDDO\n");
-
-        assertEquals("[a(1*i+1)]", deps.getWrites().toString());
-        assertEquals("[a(1*i+0), i, b(1*i+0), i]", deps.getReads().toString());
-
-        assertEquals("[Anti-dependence from a(1*i+0) to a(1*i+1), Flow dependence from a(1*i+1) to a(1*i+0)]",
-            deps.getDependences().toString());
-    }
-
-    public void testPage39() throws Exception
-    {
-        LoopDependences deps = dependences(
-            "DO I = 1, N\n" +
-            "    A(I + 2) = A(I) + B(I)     ! S1\n" +
-            "ENDDO\n");
-
-        assertEquals("[a(1*i+2)]", deps.getWrites().toString());
-        assertEquals("[a(1*i+0), i, b(1*i+0), i]", deps.getReads().toString());
-
-        assertEquals("[Anti-dependence from a(1*i+0) to a(1*i+2), Flow dependence from a(1*i+2) to a(1*i+0)]",
-            deps.getDependences().toString());
-    }
-
-    public void testFalse1() throws Exception
-    {
-        System.out.println("START");
-        LoopDependences deps = dependences(
-            "DO I = 1, N\n" +
-            "    A(2*I) = A(2*I + 1)\n" +
-            "ENDDO\n");
-
-        assertEquals("[a(2*i+0)]", deps.getWrites().toString());
-        assertEquals("[a(2*i+1), i]", deps.getReads().toString());
-
-        assertTrue(deps.getDependences().isEmpty());
-        System.out.println("DONE");
-    }
-
-    public void testPage49() throws Exception
-    {
-        LoopDependences deps = dependences(
-            "DO I = 1, N\n" +
-            "    A(I + 1) = F(I)     ! S1\n" +
-            "    F(I + 1) = A(I)     ! S2\n" +
-            "ENDDO\n");
-
-        assertEquals("[a(1*i+1), f(1*i+1)]", deps.getWrites().toString());
-        assertEquals("[f(1*i+0), i, a(1*i+0), i]", deps.getReads().toString());
-
-        assertEquals("[Anti-dependence from f(1*i+0) to f(1*i+1), " +
-                      "Flow dependence from a(1*i+1) to a(1*i+0), " +
-                      "Anti-dependence from a(1*i+0) to a(1*i+1), " +
-                      "Flow dependence from f(1*i+1) to f(1*i+0)]",
-            deps.getDependences().toString());
-    }
-
-    public void testFalse2() throws Exception
-    {
-        LoopDependences deps = dependences(
-            "DO I = 1, N\n" +
-            "    A(-1*I) = A(I)\n" +
-            "ENDDO\n");
-
-        assertEquals("[a(-1*i+0)]", deps.getWrites().toString());
-        assertEquals("[a(1*i+0), i]", deps.getReads().toString());
-
-        assertTrue(deps.getDependences().isEmpty());
-    }
-
-    public void testSubtract1() throws Exception
-    {
-        LoopDependences deps = dependences(
-            "DO I = 1+3, N\n" +
-            "    A(I-3) = A(I)\n" +
-            "ENDDO\n");
-
-        assertEquals("[a(1*i-3)]", deps.getWrites().toString());
-        assertEquals("[a(1*i+0), i]", deps.getReads().toString());
-
-        System.out.println(deps.getDependences());
-        assertFalse(deps.getDependences().isEmpty());
-        assertEquals("[Anti-dependence from a(1*i+0) to a(1*i-3), Flow dependence from a(1*i-3) to a(1*i+0)]", deps.getDependences().toString());
-    }
-
-    public void testSubtract2() throws Exception
-    {
-        LoopDependences deps = dependences(
-            "DO I = 1+3, N\n" +
-            "    A(I) = A(I-3)\n" +
-            "ENDDO\n");
-
-        assertEquals("[a(1*i+0)]", deps.getWrites().toString());
-        assertEquals("[a(1*i-3), i]", deps.getReads().toString());
-
-        //System.out.println(deps.getDependences());
-        assertFalse(deps.getDependences().isEmpty());
-        assertEquals("[Anti-dependence from a(1*i-3) to a(1*i+0), Flow dependence from a(1*i+0) to a(1*i-3)]", deps.getDependences().toString());
-    }
-
-    public void testEvenOdd1() throws Exception
-    {
-        LoopDependences deps = dependences(
-            "DO I = 1, N\n" +
-            "    A(2*I) = A(2*I+3)\n" +
-            "ENDDO\n");
-
-        assertEquals("[a(2*i+0)]", deps.getWrites().toString());
-        assertEquals("[a(2*i+3), i]", deps.getReads().toString());
-
-        assertTrue(deps.getDependences().isEmpty());
-    }
-
-    public void testEvenOdd2() throws Exception
-    {
-        LoopDependences deps = dependences(
-            "DO I = 1+3, N\n" +
-            "    A(2*I) = A(2*I-3)\n" +
-            "ENDDO\n");
-
-        assertEquals("[a(2*i+0)]", deps.getWrites().toString());
-        assertEquals("[a(2*i-3), i]", deps.getReads().toString());
-
-        assertTrue(deps.getDependences().isEmpty());
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/flow/ControlFlowTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/flow/ControlFlowTestSuite.java
deleted file mode 100644
index 329a85d..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/flow/ControlFlowTestSuite.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Matthew Fotzler, UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.analysis.flow;
-
-import java.io.File;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.IActionStmt;
-import org.eclipse.photran.internal.core.parser.IExecutableConstruct;
-import org.eclipse.photran.internal.core.vpg.EdgeType;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
-import org.eclipse.rephraserengine.core.analysis.flow.FlowGraphNode;
-import org.eclipse.rephraserengine.core.analysis.flow.VPGFlowGraph;
-import org.eclipse.rephraserengine.testing.junit3.GeneralTestSuiteFromMarkers;
-
-/**
- * Unit tests for the control flow graph constructor.
- * 
- * @author Matthew Fotzler
- */
-public class ControlFlowTestSuite extends GeneralTestSuiteFromMarkers
-{
-    private static final String DIR = "control-flow-test-code";
- 
-    public static Test suite() throws Exception
-    {
-        return new ControlFlowTestSuite();
-    }
-    
-    public ControlFlowTestSuite() throws Exception
-    {
-        super("Constructing control flow graph for",
-            PhotranWorkspaceTestCase.MARKER,
-            new File(DIR),
-            PhotranWorkspaceTestCase.FORTRAN_FILE_FILTER);
-    }
-
-    @Override
-    protected Test createTestFor(File fileContainingMarker, int markerOffset, String markerText)
-        throws Exception
-    {
-        return new ControlFlowTestCase(fileContainingMarker, markerText) {};
-    }
-    
-    public static abstract class ControlFlowTestCase extends PhotranWorkspaceTestCase
-    {
-        private File javaFile;
-        private IFile file;
-        private String markerText;
-
-        public ControlFlowTestCase(File file, String markerText) throws Exception
-        {
-            super("test");
-            this.javaFile = file;
-            this.markerText = markerText;
-        }
-        
-        @Override public void setUp() throws Exception
-        {
-            super.setUp();
-
-            this.file = importFile(Activator.getDefault(), javaFileDirectory(), javaFile.getName());
-            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-        }
-
-        protected String javaFileDirectory()
-        {
-            return DIR+File.separator+javaFile.getParentFile().getName();
-        }
-
-        public void test() throws Exception
-        {
-            PhotranVPG vpg = PhotranVPG.getInstance();
-            vpg.ensureVPGIsUpToDate(new NullProgressMonitor());
-            
-            IFortranAST ast = vpg.acquireTransientAST(file);
-            assertNotNull(ast);
-            
-            Token programToken = ast.findFirstTokenOnLine(1);
-            Token endToken = ast.findFirstTokenOnLine(Integer.parseInt(markerText));
-            assertNotNull(programToken);
-            assertNotNull(endToken);
-            
-            PhotranTokenRef ctlFlowEntryNode = programToken.getTokenRef();
-            PhotranTokenRef ctlFlowExitNode = endToken.getTokenRef();
-            PhotranVPGFlowGraph flowGraph = new PhotranVPGFlowGraph(ctlFlowEntryNode, ctlFlowExitNode);
-
-            String actual = flowGraph.toString();
-            String expected = this.readTestFile(Activator.getDefault(), javaFileDirectory(), file.getName() + ".result").replace("\r", "");
-            assertEquals(expected.replace("\r", ""), actual.replace("\r", ""));
-        }
-        
-        private static final class PhotranVPGFlowGraph extends VPGFlowGraph<PhotranTokenRef, Token, IExecutableConstruct>
-        {
-            private PhotranVPGFlowGraph(PhotranTokenRef entryNodeRef, PhotranTokenRef exitNodeRef)
-            {
-                super(PhotranVPG.getInstance(), entryNodeRef, exitNodeRef, EdgeType.CONTROL_FLOW_EDGE_TYPE);
-            }
-
-            @Override protected IExecutableConstruct map(PhotranTokenRef tokenRef)
-            {
-                Token token = tokenRef.findToken();
-                IActionStmt actionStmt = token.findNearestAncestor(IActionStmt.class);
-                if (actionStmt != null)
-                    return actionStmt;
-                else
-                    return token.findNearestAncestor(IExecutableConstruct.class);
-            }
-
-            @Override protected String nodeDataAsString(FlowGraphNode<IExecutableConstruct> node)
-            {
-                return String.valueOf(node.getData()).trim();
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/types/TypeCheckerTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/types/TypeCheckerTestSuite.java
deleted file mode 100644
index a2f6ff3..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/types/TypeCheckerTestSuite.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Matthew Fotzler, UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.analysis.types;
-
-import java.io.File;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.analysis.types.TypeChecker;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.IExpr;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
-import org.eclipse.rephraserengine.testing.junit3.GeneralTestSuiteFromMarkers;
-
-/**
- * Unit tests for the type checker.
- * 
- * @author Abhishek Sharma - Fortran code
- * @author Jeff Overbey - this class
- */
-public class TypeCheckerTestSuite extends GeneralTestSuiteFromMarkers
-{
-    private static final String DIR = "type-checker-test-code";
- 
-    public static Test suite() throws Exception
-    {
-        return new TypeCheckerTestSuite();
-    }
-    
-    public TypeCheckerTestSuite() throws Exception
-    {
-        super("Type checking",
-            PhotranWorkspaceTestCase.MARKER,
-            new File(DIR),
-            PhotranWorkspaceTestCase.FORTRAN_FILE_FILTER);
-    }
-
-    @Override
-    protected Test createTestFor(File fileContainingMarker, int markerOffset, String markerText)
-        throws Exception
-    {
-        return new TypeCheckerTestCase(fileContainingMarker, markerText) {};
-    }
-    
-    public static abstract class TypeCheckerTestCase extends PhotranWorkspaceTestCase
-    {
-        private File javaFile;
-        private IFile file;
-        private String markerText;
-
-        public TypeCheckerTestCase(File file, String markerText) throws Exception
-        {
-            super("test");
-            this.javaFile = file;
-            this.markerText = markerText;
-        }
-        
-        @Override public void setUp() throws Exception
-        {
-            super.setUp();
-
-            this.file = importFile(Activator.getDefault(), javaFileDirectory(), javaFile.getName());
-            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-        }
-
-        protected String javaFileDirectory()
-        {
-            return DIR+File.separator+javaFile.getParentFile().getName();
-        }
-
-        public void test() throws Exception
-        {
-            PhotranVPG vpg = PhotranVPG.getInstance();
-            vpg.ensureVPGIsUpToDate(new NullProgressMonitor());
-            
-            IFortranAST ast = vpg.acquireTransientAST(file);
-            assertNotNull(ast);
-            
-            String[] markerFields = parseMarker(markerText);
-            TextSelection selection = determineSelection(markerFields, file);
-            
-            IExpr expression = findExpression(ast, selection.getOffset(), selection.getLength());
-            assertNotNull(expression); // If this fails, a marker's line/column information does not correspond to an expression
-            
-            String expectedType = markerFields[4];
-            String actualType = TypeChecker.getTypeOf(expression).toString();
-            assertEquals(expectedType, actualType);
-        }
-
-        private IExpr findExpression(IFortranAST ast, final int offset, final int length)
-        {
-            class V extends ASTVisitorWithLoops
-            {
-                private IExpr result = null;
-                
-                @Override public void visitIExpr(IExpr expr)
-                {
-                    Token firstToken = expr.findFirstToken();
-                    Token lastToken = expr.findLastToken();
-                    
-                    int exprOffset = firstToken.getFileOffset();
-                    int exprLength = lastToken.getFileOffset() + lastToken.getLength() - offset;
-                    
-                    if (exprOffset == offset && exprLength == length)
-                        result = expr;
-                }
-            };
-            
-            V v = new V();
-            ast.getRoot().accept(v);
-            return v.result;
-        }
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/types/TypeCheckerTests.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/types/TypeCheckerTests.java
deleted file mode 100644
index fa48165..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/analysis/types/TypeCheckerTests.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.analysis.types;
-
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.analysis.types.TypeChecker;
-import org.eclipse.photran.internal.core.parser.IExpr;
-import org.eclipse.photran.internal.tests.PhotranTestCase;
-
-/**
- * Unit tests for the Fortran type checker.
- *
- * @author Stoyan Gaydarov
- */
-public class TypeCheckerTests extends PhotranTestCase
-{
-
-    /** Parses a Fortran expression.  Does not bind identifiers, etc. */
-    private Type getType(String expression) throws Exception
-    {
-        // We can only parse entire programs, so we embed the expression in
-        // a parseable program, then extract the expression from the program's AST
-
-        IExpr exprNode = parseExpression(expression);
-        return TypeChecker.getTypeOf(exprNode);
-    }
-
-    private String character = "\"Stoyan\""; // used for character type
-
-    public void testConstantExpressionTypes() throws Exception
-    {
-        assertEquals(Type.INTEGER, getType("3"));
-        assertEquals(Type.REAL, getType("3.0"));
-        assertEquals(Type.CHARACTER, getType(character));
-        assertEquals(Type.DOUBLEPRECISION, getType("3.0D+00"));
-        assertEquals(Type.COMPLEX, getType("(3,3)"));
-        assertEquals(Type.LOGICAL, getType(".true."));
-    }
-
-    public void testUnaryExpressionTypes() throws Exception
-    {
-        assertEquals(Type.INTEGER, getType("-3"));
-        assertEquals(Type.INTEGER, getType("+3"));
-        assertEquals(Type.TYPE_ERROR, getType(".NOT. 3"));
-
-        assertEquals(Type.REAL, getType("-3.0"));
-        assertEquals(Type.REAL, getType("+3.0"));
-        assertEquals(Type.TYPE_ERROR, getType(".NOT. 3.0"));
-
-        assertEquals(Type.DOUBLEPRECISION, getType("-3.0D+00"));
-        assertEquals(Type.DOUBLEPRECISION, getType("+3.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType(".NOT. 3.0D+00"));
-
-        assertEquals(Type.COMPLEX, getType("-(3,3)"));
-        assertEquals(Type.COMPLEX, getType("+(3,3)"));
-        assertEquals(Type.TYPE_ERROR, getType(".NOT. (3,3)"));
-
-        assertEquals(Type.TYPE_ERROR, getType("-" + character)); //??
-        assertEquals(Type.TYPE_ERROR, getType("+" + character)); //??
-        assertEquals(Type.TYPE_ERROR, getType(".NOT. " + character));
-
-        assertEquals(Type.TYPE_ERROR, getType("-.true."));
-        assertEquals(Type.TYPE_ERROR, getType("+.true."));
-        assertEquals(Type.LOGICAL, getType(".NOT. .true."));
-    }
-
-    public void testConcatOperations() throws Exception
-    {
-        assertEquals(Type.UNKNOWN, getType(character + " // " + "1"));
-        assertEquals(Type.UNKNOWN, getType(character + " // " + "3.2"));
-        assertEquals(Type.UNKNOWN, getType(character + " // " + "43.3D+00"));
-        assertEquals(Type.UNKNOWN, getType(character + " // " + "(6,7)"));
-        assertEquals(Type.UNKNOWN, getType(character + " // " + ".true."));
-        assertEquals(Type.CHARACTER, getType(character + " // " + character));
-    }
-
-    public void testGEOperator() throws Exception
-    {
-        testComparasonOperations(" .GE. ");
-    }
-
-    public void testGTOperator() throws Exception
-    {
-        testComparasonOperations(" .GT. ");
-    }
-
-    public void testLEOperator() throws Exception
-    {
-        testComparasonOperations(" .LE. ");
-    }
-
-    public void testLTOperator() throws Exception
-    {
-        testComparasonOperations(" .LT. ");
-    }
-
-    public void testNEOperator() throws Exception
-    {
-        testComparasonOperations(" .NE. ");
-    }
-
-    public void testEQOperator() throws Exception
-    {
-        testComparasonOperations(" .EQ. ");
-    }
-
-    private void testComparasonOperations(String op) throws Exception
-    {
-        if(op.equals(" .EQ. ") || op.equals(" .NE. "))
-        {
-            assertEquals(Type.LOGICAL, getType("8" + op + "(4,5)"));
-            assertEquals(Type.LOGICAL, getType("3.6" + op + "(3,8)"));
-            assertEquals(Type.LOGICAL, getType("3.2D+00" + op + "(4,9)"));
-            assertEquals(Type.LOGICAL, getType("(4,8)" + op + "7"));
-            assertEquals(Type.LOGICAL, getType("(4,3)" + op + "5.4"));
-            assertEquals(Type.LOGICAL, getType("(4,6)" + op + "(4,9)"));
-            assertEquals(Type.LOGICAL, getType("(3,0)" + op + "3.0D+00"));
-        }
-        else
-        {
-            assertEquals(Type.TYPE_ERROR, getType("8" + op + "(4,5)"));
-            assertEquals(Type.TYPE_ERROR, getType("3.6" + op + "(3,8)"));
-            assertEquals(Type.TYPE_ERROR, getType("3.2D+00" + op + "(4,9)"));
-            assertEquals(Type.TYPE_ERROR, getType("(4,8)" + op + "7"));
-            assertEquals(Type.TYPE_ERROR, getType("(4,3)" + op + "5.4"));
-            assertEquals(Type.TYPE_ERROR, getType("(4,6)" + op + "(4,9)"));
-            assertEquals(Type.TYPE_ERROR, getType("(3,0)" + op + "3.0D+00"));
-        }
-
-        assertEquals(Type.LOGICAL, getType("9" + op + "3"));
-        assertEquals(Type.LOGICAL, getType("5" + op + "3.0"));
-        assertEquals(Type.LOGICAL, getType("4" + op + "2.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType("3" + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType("1" + op + character));
-
-        assertEquals(Type.LOGICAL, getType("3.0" + op + "7"));
-        assertEquals(Type.LOGICAL, getType("3.3" + op + "3.5"));
-        assertEquals(Type.LOGICAL, getType("4.0" + op + "3.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType("3.2" + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType("4.1" + op + character));
-
-        assertEquals(Type.LOGICAL, getType("3.1D+00" + op + "7"));
-        assertEquals(Type.LOGICAL, getType("4.0D+00" + op + "5.4"));
-        assertEquals(Type.LOGICAL, getType("5.0D+00" + op + "3.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType("3.8D+00" + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType("2.1D+00" + op + character));
-
-        assertEquals(Type.TYPE_ERROR, getType("(3,3)" + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType("(2,1)" + op + character));
-
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + "7"));
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + "5.4"));
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + "(4,9)"));
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + "3.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + character));
-
-        assertEquals(Type.TYPE_ERROR, getType(character + op + "7"));
-        assertEquals(Type.TYPE_ERROR, getType(character + op + "5.4"));
-        assertEquals(Type.TYPE_ERROR, getType(character + op + "(4,9)"));
-        assertEquals(Type.TYPE_ERROR, getType(character + op + "3.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType(character + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType(character + op + "c"));
-
-    }
-
-    public void testLogicalOperations() throws Exception
-    {
-
-        assertEquals(Type.LOGICAL, getType(".true. .AND. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("1 .AND. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("4.3 .AND. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("4.2D+00 .AND. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("(3,4) .AND. .true."));
-        assertEquals(Type.TYPE_ERROR, getType(character + " .AND. .true."));
-
-        assertEquals(Type.LOGICAL, getType(".true. .OR. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("1 .OR. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("4.3 .OR. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("4.2D+00 .OR. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("(3,4) .OR. .true."));
-        assertEquals(Type.TYPE_ERROR, getType(character + " .OR. .true."));
-
-        assertEquals(Type.LOGICAL, getType(".true. .EQV. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("1 .EQV. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("4.3 .EQV. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("4.2D+00 .EQV. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("(3,4) .EQV. .true."));
-        assertEquals(Type.TYPE_ERROR, getType(character + " .EQV. .true."));
-
-        assertEquals(Type.LOGICAL, getType(".true. .NEQV. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("1 .NEQV. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("4.3 .NEQV. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("4.2D+00 .NEQV. .true."));
-        assertEquals(Type.TYPE_ERROR, getType("(3,4) .NEQV. .true."));
-        assertEquals(Type.TYPE_ERROR, getType(character + " .NEQV. .true."));
-
-    }
-
-    public void testAddExpressionTypes() throws Exception
-    {
-        testOpExpressionTypes("+");
-    }
-
-    public void testSubtractExpressionTypes() throws Exception
-    {
-        testOpExpressionTypes("-");
-    }
-
-    public void testMultiplyExpressionTypes() throws Exception
-    {
-        testOpExpressionTypes("*");
-    }
-
-    public void testDivisionExpressionTypes() throws Exception
-    {
-        testOpExpressionTypes("/");
-    }
-
-    public void testPowerExpressionTypes() throws Exception
-    {
-        testOpExpressionTypes("**");
-    }
-
-    private void testOpExpressionTypes(String op) throws Exception
-    {
-
-        assertEquals(Type.INTEGER, getType("9" + op + "3"));
-        assertEquals(Type.REAL, getType("5" + op + "3.0"));
-        assertEquals(Type.COMPLEX, getType("8" + op + "(4,5)"));
-        assertEquals(Type.DOUBLEPRECISION, getType("4" + op + "2.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType("3" + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType("1" + op + character));
-
-        assertEquals(Type.REAL, getType("3.0" + op + "7"));
-        assertEquals(Type.REAL, getType("3.3" + op + "3.5"));
-        assertEquals(Type.COMPLEX, getType("3.6" + op + "(3,8)"));
-        assertEquals(Type.DOUBLEPRECISION, getType("4.0" + op + "3.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType("3.2" + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType("4.1" + op + character));
-
-        assertEquals(Type.COMPLEX, getType("(4,8)" + op + "7"));
-        assertEquals(Type.COMPLEX, getType("(4,3)" + op + "5.4"));
-        assertEquals(Type.COMPLEX, getType("(4,6)" + op + "(4,9)"));
-        assertEquals(Type.COMPLEX, getType("(3,0)" + op + "3.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType("(3,3)" + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType("(2,1)" + op + character));
-
-        assertEquals(Type.DOUBLEPRECISION, getType("3.1D+00" + op + "7"));
-        assertEquals(Type.DOUBLEPRECISION, getType("4.0D+00" + op + "5.4"));
-        assertEquals(Type.COMPLEX, getType("3.2D+00" + op + "(4,9)"));
-        assertEquals(Type.DOUBLEPRECISION, getType("5.0D+00" + op + "3.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType("3.8D+00" + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType("2.1D+00" + op + character));
-
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + "7"));
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + "5.4"));
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + "(4,9)"));
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + "3.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType(".true." + op + character));
-
-        assertEquals(Type.TYPE_ERROR, getType(character + op + "7"));
-        assertEquals(Type.TYPE_ERROR, getType(character + op + "5.4"));
-        assertEquals(Type.TYPE_ERROR, getType(character + op + "(4,9)"));
-        assertEquals(Type.TYPE_ERROR, getType(character + op + "3.0D+00"));
-        assertEquals(Type.TYPE_ERROR, getType(character + op + ".true."));
-        assertEquals(Type.TYPE_ERROR, getType(character + op + "c"));
-
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/MultiTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/MultiTestSuite.java
deleted file mode 100644
index 38596ed..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/MultiTestSuite.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.parser;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.Set;
-
-import junit.framework.Assert;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;
-import org.eclipse.photran.internal.tests.PhotranASTTestCase;
-import org.eclipse.photran.internal.tests.PhotranTestSuiteFromFiles;
-
-/**
- * An aggregate test suite that tests the parser, source reproduction, and loop replacement.
- * 
- * @author Jeff Overbey
- */
-public abstract class MultiTestSuite extends TestSuite
-{
-    public MultiTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
-    {
-        setName("Running multiple tests on " + directorySuffix);
-        
-        if (isFixedForm)
-            addTest(new ParserTestSuite(directorySuffix, isFixedForm, mustExist) {});
-        else
-            //addTest(new SourceReproductionTestSuite(directorySuffix, isFixedForm, mustExist) {});
-            addTest(new LoopReplacerSRTestSuite(directorySuffix, isFixedForm, mustExist) {});
-    }
-    
-    public MultiTestSuite() {;} // to keep JUnit quiet
-    public void test() {} // to keep JUnit quiet
-
-    private static void checkCorrectParenting(final ASTExecutableProgramNode ast)
-    {
-        ast.accept(new GenericASTVisitor()
-        {
-            private IASTNode expectedParent = null;
-            
-            @Override public void visitASTNode(IASTNode node)
-            {
-                if (node != ast && node.getParent() == null)
-                    System.err.println("!"); // Set breakpoint here
-                
-                if (node == ast)
-                    Assert.assertNull(node.getParent());
-                else
-                    Assert.assertNotNull(node.getParent());
-                
-                Assert.assertEquals(expectedParent, node.getParent());
-                IASTNode myParent = expectedParent;
-                
-                expectedParent = node;
-                traverseChildren(node);
-                expectedParent = myParent;
-            }
-            
-            @Override public void visitToken(Token token)
-            {
-                if (token.getParent() == null)
-                    System.err.println("!"); // Set breakpoint here
-                
-                Assert.assertEquals(expectedParent, token.getParent());
-            }
-        });
-    }
-
-    public static abstract class ParserTestSuite extends PhotranTestSuiteFromFiles
-    {
-        public ParserTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
-        {
-            super("Parse", directorySuffix, isFixedForm, mustExist);
-        }
-
-        @Override
-        protected PhotranASTTestCase createTestFor(File file, boolean isFixedForm, String fileDescription)
-        {
-            return new ParserTestCase(file, isFixedForm, fileDescription);
-        }
-    }
-    
-    /**
-     * This is a special instance of {@link ParserTestSuite} which attempts to parse only files listed
-     * in a PHOTRAN-PARSER-ERRORS.txt file in the project's directory.
-     * 
-     * @author joverbey
-     */
-    public static abstract class FailingParserTestSuite extends ParserTestSuite
-    {
-        public FailingParserTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
-        {
-            super(directorySuffix, isFixedForm, mustExist);
-        }
-
-        @Override protected boolean shouldSkip(File file, Set<String> filenamesToSkip)
-        {
-            return !super.shouldSkip(file, filenamesToSkip);
-        }
-
-    }
-
-    /**
-     * A test case which runs the parser over a file, expecting a successful parse.
-     * Created by {@link ParserTestSuite}.
-     * 
-     * @author joverbey
-     */
-    public static final class ParserTestCase extends PhotranASTTestCase
-    {
-        public ParserTestCase(File file, boolean isFixedForm, String testCaseDescription)
-        {
-            super(file, isFixedForm, testCaseDescription);
-        }
-
-        @Override
-        protected void handleAST(ASTExecutableProgramNode ast)
-        {
-            checkCorrectParenting(ast);
-        }
-        
-        public ParserTestCase() { super(null, false, ""); } // to keep JUnit quiet
-    }
-
-    public static abstract class SourceReproductionTestSuite extends PhotranTestSuiteFromFiles
-    {
-        public SourceReproductionTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
-        {
-            super("Reproduce source code for", directorySuffix, isFixedForm, mustExist);
-        }
-
-        @Override
-        protected PhotranASTTestCase createTestFor(File file, boolean isFixedForm, String fileDescription)
-        {
-            return new SourceReproductionTestCase(file, isFixedForm, fileDescription);
-        }
-    }
-    
-    public static class SourceReproductionTestCase extends PhotranASTTestCase
-    {
-        public SourceReproductionTestCase(File file, boolean isFixedForm, String testCaseDescription)
-        {
-            super(file, isFixedForm, testCaseDescription);
-        }
-
-        @Override
-        protected void handleAST(ASTExecutableProgramNode ast) throws IOException
-        {
-            checkCorrectParenting(ast);
-            
-            String originalSourceCode = getSourceCodeFromFile(file).replaceAll("\r", "");
-            transform(ast);
-            String reproducedSourceCode = getSourceCodeFromAST(ast).replaceAll("\r", "");
-            assertEquals(originalSourceCode, reproducedSourceCode);
-        }
-
-        protected void transform(ASTExecutableProgramNode ast)
-        {
-            // Subclass and override to transform AST first
-        }
-
-        private String getSourceCodeFromFile(File file) throws IOException
-        {
-            StringBuffer sb = new StringBuffer(4096);
-            BufferedReader in = new BufferedReader(new FileReader(file));
-            for (int ch = in.read(); ch >= 0; ch = in.read())
-                sb.append((char)ch);
-            in.close();
-            return sb.toString();
-        }
-        
-        private String getSourceCodeFromAST(ASTExecutableProgramNode ast)
-        {
-            return SourcePrinter.getSourceCodeFromAST(ast);
-        }
-
-        public SourceReproductionTestCase() { super(null, false, ""); } // to keep JUnit quiet
-    }
-    
-    public static abstract class LoopReplacerSRTestSuite extends PhotranTestSuiteFromFiles
-    {
-        public LoopReplacerSRTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
-        {
-            super("Replace loops and reproduce source for", directorySuffix, isFixedForm, mustExist);
-        }
-
-        @Override
-        protected PhotranASTTestCase createTestFor(File file, boolean isFixedForm, String fileDescription)
-        {
-            return new LoopReplacerSRTestCase(file, isFixedForm, fileDescription);
-        }
-    }
-    
-    public static class LoopReplacerSRTestCase extends SourceReproductionTestCase
-    {
-        private long elapsedTime = 0L;
-        
-        public LoopReplacerSRTestCase(File file, boolean isFixedForm, String testCaseDescription)
-        {
-            super(file, isFixedForm, testCaseDescription);
-        }
-
-        @Override protected void transform(ASTExecutableProgramNode ast)
-        {
-            long start = System.currentTimeMillis();
-            
-            LoopReplacer.replaceAllLoopsIn(ast);
-            
-            elapsedTime = System.currentTimeMillis() - start;
-        }
-        
-        public void testPerformance()
-        {
-            assertTrue("Loop replacer must complete in less than 5 seconds ("
-                + (this.file == null ? "???" : this.file.getName())
-                + " took "
-                + ((elapsedTime/1000) + (elapsedTime%1000 > 500 ? 1 : 0))
-                + " seconds)",
-                elapsedTime < 5000);
-        }
-
-        public LoopReplacerSRTestCase() { super(null, false, ""); } // to keep JUnit quiet
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseArjanVanDijkAtmos.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseArjanVanDijkAtmos.java
deleted file mode 100644
index 703056a..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseArjanVanDijkAtmos.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseArjanVanDijkAtmos

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.arjan-van-dijk-atmos", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseAsteroids.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseAsteroids.java
deleted file mode 100644
index 5dfb615..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseAsteroids.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseAsteroids

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.asteroids", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdFortran2003.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdFortran2003.java
deleted file mode 100644
index ad09b06..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdFortran2003.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseBrainerdFortran2003

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.walt-brainerd-fortran2003", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdTestSuiteFixed.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdTestSuiteFixed.java
deleted file mode 100644
index 079061a..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdTestSuiteFixed.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseBrainerdTestSuiteFixed

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.walt-brainerd-test-suite",

-            true, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdTestSuiteFree.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdTestSuiteFree.java
deleted file mode 100644
index 8652a57..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseBrainerdTestSuiteFree.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseBrainerdTestSuiteFree

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.walt-brainerd-test-suite",

-            false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseCoarraySamples.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseCoarraySamples.java
deleted file mode 100644
index ed1f869..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseCoarraySamples.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseCoarraySamples

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.coarray-samples", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseCollections.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseCollections.java
deleted file mode 100644
index f824153..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseCollections.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseCollections

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.collections", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFMLIB.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFMLIB.java
deleted file mode 100644
index 3d25517..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFMLIB.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseFMLIB

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.fmlib", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFilesFromTheWWW.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFilesFromTheWWW.java
deleted file mode 100644
index 988b559..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFilesFromTheWWW.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseFilesFromTheWWW

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.from-the-www", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFortran2003TestFiles.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFortran2003TestFiles.java
deleted file mode 100644
index 51213ce..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseFortran2003TestFiles.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseFortran2003TestFiles

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("fortran2003_tests", false, true) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseHugeFile.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseHugeFile.java
deleted file mode 100644
index ce6516e..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseHugeFile.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.parser;
-
-import junit.framework.TestCase;
-
-/**
- * These are meant to be used as performance tests.  When this one of the test methods in this class is run standalone with
- * JVM arguments such as
- * <pre>-Xmx512M -Xrunhprof:cpu=samples,depth=5,file=/Users/joverbey/Desktop/java.hprof.txt</pre>,
- * the profile can be used to find bottlenecks in the lexer or parser code.
- * 
- * @author Jeff Overbey
- */
-public class ParseHugeFile extends TestCase
-{
-//    private String hugeFile = null;
-    
-    public void test() { /* Uncomment below */ }
-    
-//    public void setUp()
-//    {
-//        long start = System.currentTimeMillis();
-//        StringBuilder sb = new StringBuilder();
-//        sb.append("program p\n");
-//        for (int i = 0; i < 30000; i++)
-//            sb.append("    print *, 3+4*5\n");
-//            //sb.append("    print *, \"----+----|----+----|----+----|----+----|----+----|----+----|----+----|----+----|\"\n");
-//        sb.append("end");
-//        hugeFile = sb.toString();
-//        System.out.println("String building: " + (System.currentTimeMillis() - start));
-//    }
-//
-//    public void testLexHugeFile() throws Exception
-//    {
-//        ByteArrayInputStream in = new ByteArrayInputStream(hugeFile.getBytes());
-//
-//        long start = System.currentTimeMillis();
-//        IAccumulatingLexer lexer = LexerFactory.createLexer(in, "<stdin>", SourceForm.preprocessedFreeForm(new IncludeLoaderCallback(null)), true);
-//        while (lexer.yylex().getTerminal() != Terminal.END_OF_INPUT)
-//            ;
-//        System.out.println("Lexing: " + (System.currentTimeMillis() - start));
-//    }
-//
-//    public void testParseHugeFile() throws Exception
-//    {
-//        ByteArrayInputStream in = new ByteArrayInputStream(hugeFile.getBytes());
-//
-//        long start = System.currentTimeMillis();
-//        IAccumulatingLexer lexer = LexerFactory.createLexer(in, "<stdin>", SourceForm.preprocessedFreeForm(new IncludeLoaderCallback(null)), true);
-//        new Parser().parse(lexer);
-//        System.out.println("Parsing: " + (System.currentTimeMillis() - start));
-//    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseIBEAMCppMod.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseIBEAMCppMod.java
deleted file mode 100644
index 358224a..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseIBEAMCppMod.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseIBEAMCppMod

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.ibeam-cpp-mod", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseLAPACK.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseLAPACK.java
deleted file mode 100644
index 008abdf..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseLAPACK.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseLAPACK

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.lapack", true, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseNagleFortran2003.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseNagleFortran2003.java
deleted file mode 100644
index 3b7d199..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseNagleFortran2003.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseNagleFortran2003

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.nagle-fortran2003", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParsePOP.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParsePOP.java
deleted file mode 100644
index 7fd2592..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParsePOP.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParsePOP

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.pop", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParsePhotranSamples.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParsePhotranSamples.java
deleted file mode 100644
index a6b21ab..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParsePhotranSamples.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParsePhotranSamples

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-samples", false, true) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectCInterop.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectCInterop.java
deleted file mode 100644
index faa5554..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectCInterop.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseProjectCInterop

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.c-interop-demo", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectGTKHello.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectGTKHello.java
deleted file mode 100644
index a9cd17c..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectGTKHello.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseProjectGTKHello

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.gtk-hello-world", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectString.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectString.java
deleted file mode 100644
index 3f0babd..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseProjectString.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-public class ParseProjectString

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.string", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseRefactoringTestFiles.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseRefactoringTestFiles.java
deleted file mode 100644
index 362dd36..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseRefactoringTestFiles.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseRefactoringTestFiles

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("refactoring_test_files", false, true) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseRegressionTestFiles.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseRegressionTestFiles.java
deleted file mode 100644
index 5ceb8ee..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseRegressionTestFiles.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseRegressionTestFiles

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("reg_tests", false, true) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseWRF.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseWRF.java
deleted file mode 100644
index 419db45..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/ParseWRF.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.parser;

-

-import java.io.FileNotFoundException;

-import java.io.IOException;

-

-import junit.framework.Test;

-

-

-public class ParseWRF

-{

-    public static Test suite() throws FileNotFoundException, IOException

-    {

-        return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.wrf", false, false) {};

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/TestOpenMPComments.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/TestOpenMPComments.java
deleted file mode 100644
index a816d38..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/parser/TestOpenMPComments.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.parser;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.sourceform.UnpreprocessedFixedSourceForm;
-import org.eclipse.photran.internal.core.lexer.sourceform.UnpreprocessedFreeSourceForm;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.tests.PhotranTestCase;
-
-/**
- * Unit tests for {@link Token#getOpenMPComments()}.
- * 
- * @author Jeff Overbey
- */
-public class TestOpenMPComments extends PhotranTestCase
-{
-    public void testFreeFormOpenMPComments() throws Exception
-    {
-        ASTExecutableProgramNode ast = parse(//         1    1    2    2    3    3
-        //----5----0----5----0----5----0----5
-        "! This is a sample OpenMP program\n" + // Starts at offset 0
-        "program OpenMP\n" +                                    // 34
-        "    integer :: num_threads, id\n" +                    // 49
-        "    !$omp parallel private(num_threads, id) \n" +      // 80
-        "    id = omp_get_thread_num()\n" +
-        "    print *, 'This is thread ', id\n" +
-        "    if (id == 0) then\n" +
-        "      num_threads = omp_get_num_threads()\n" +
-        "      print *, 'Total threads: ', num_threads\n" +
-        "    end if\n" +
-        "    !$omp end parallel\n" +
-        "end program\n",
-            new UnpreprocessedFreeSourceForm());
-        //System.out.println(ast);
-        
-        List<Token> comments = OpenMPCommentVisitor.getOpenMPCommentsIn(ast);
-        
-        assertEquals(2, comments.size());
-        
-        Token directive = comments.get(0);
-        assertEquals(4, directive.getLine());
-        assertEquals(84, directive.getFileOffset());
-        assertEquals(84, directive.getStreamOffset());
-        assertEquals("!$omp parallel private(num_threads, id)".length(), directive.getLength());
-        assertEquals("!$omp ", directive.getWhiteBefore());
-        assertEquals("parallel private(num_threads, id)", directive.getText());
-        assertEquals(" \n", directive.getWhiteAfter());
-        
-        directive = comments.get(1);
-        assertEquals(11, directive.getLine());
-        assertEquals(315, directive.getFileOffset());
-        assertEquals("end parallel", directive.getText());
-    }
-    
-    public void testFixedFormOpenMPComments() throws Exception
-    {
-        ASTExecutableProgramNode ast = parse(//         1    1    2    2    3    3
-        //----5----0----5----0----5----0----5
-        "! This is a sample OpenMP program\n" + // Starts at offset 0
-        "       program OpenMP\n" +                             // 34
-        "       integer :: num_threads, id\n" +                 // 56
-        "c$omp  parallel private(num_threads, id)\n" +          // 90
-        "       id = omp_get_thread_num()\n" +
-        "       print *, 'This is thread ', id\n" +
-        "       if (id .eq. 0) then\n" +
-        "           num_threads = omp_get_num_threads()\n" +
-        "           print *, 'Total threads: ', num_threads\n" +
-        "       end if\n" +
-        "c$omp  end parallel\n" +
-        "       end program\n",
-            new UnpreprocessedFixedSourceForm());
-        //System.out.println(ast);
-        
-        List<Token> comments = OpenMPCommentVisitor.getOpenMPCommentsIn(ast);
-        
-        assertEquals(2, comments.size());
-        
-        Token directive = comments.get(0);
-        assertEquals(4, directive.getLine());
-        assertEquals(90, directive.getFileOffset());
-        assertEquals(90, directive.getStreamOffset());
-        assertEquals("c$omp  parallel private(num_threads, id)".length(), directive.getLength());
-        assertEquals("c$omp  ", directive.getWhiteBefore());
-        assertEquals("parallel private(num_threads, id)", directive.getText());
-        assertEquals("\n", directive.getWhiteAfter());
-        
-        directive = comments.get(1);
-        assertEquals(11, directive.getLine());
-        assertEquals(341, directive.getFileOffset());
-        assertEquals("end parallel", directive.getText());
-    }
-    
-    public static final class OpenMPCommentVisitor extends GenericASTVisitor
-    {
-        public static List<Token> getOpenMPCommentsIn(ASTExecutableProgramNode ast)
-        {
-            OpenMPCommentVisitor visitor = new OpenMPCommentVisitor();
-            ast.accept(visitor);
-            return visitor.ompComments;
-        }
-        
-        private List<Token> ompComments = new ArrayList<Token>();
-        
-        @Override
-        public void visitToken(Token token)
-        {
-            ompComments.addAll(token.getOpenMPComments());
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/patternmatching/TestIdentMatch.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/patternmatching/TestIdentMatch.java
deleted file mode 100644
index 7f3d952..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/patternmatching/TestIdentMatch.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.patternmatching;
-
-import junit.framework.TestCase;
-
-/**
- * 
- * @author joverbey
- */
-public class TestIdentMatch extends TestCase
-{
-    public void test() {}
-//    public void setUp()
-//    {
-//        ASTMatcher.patternVariableSuffix = "";
-//        ASTMatcher.doNotMatchTokenText = new HashSet<Terminal>();
-//        ASTMatcher.matchTokenTextCaseInsensitive = new HashSet<Terminal>();
-//        
-//        for (Field f : Terminal.class.getFields())
-//        {
-//            try
-//            {
-//                Terminal t = (Terminal)f.get(null);
-//                if (t == Terminal.T_EOS)
-//                    ASTMatcher.doNotMatchTokenText.add(t);
-//                else
-//                    ASTMatcher.matchTokenTextCaseInsensitive.add(t);
-//            }
-//            catch (IllegalArgumentException e) {}
-//            catch (IllegalAccessException e) {}
-//        }
-//    }
-//
-//    public void testUnification1() throws Exception
-//    {
-//        String pattern = "prOGram @a:T_IDENT\nend program @a:T_IDENT";
-//        String prog1 = "program  jeff  \n    ! Do stuff\n  end progRam jEFf\n";
-//        String prog2 = "program  jeff  \n    ! Do stuff\n  end program\n";
-//        ASTExecutableProgramNode patternAST = parse(pattern);
-//        //System.out.println(match(patternAST, parse(prog1)));
-//        //Match<ASTExecutableProgramNode> result = parse(prog1).match(patternAST);
-//        //System.err.println(result.errorMessage);
-//        assertEquals("  jeff", parse(prog1).match(patternAST).variables.get("@a:T_IDENT").toString());
-//        assertFalse(parse(prog2).match(patternAST).succeeded());
-//    }
-//
-//    public void testUnification2() throws Exception
-//    {
-//        String pattern = "@a:T_IDENT = 3\nend program";
-//        String prog1 = "program jeff\n  ! Do stuff\n  three = 3; eerht = 3\nend program\n";
-//        
-//        ASTAssignmentStmtNode patternAST = parse(pattern).findFirst(ASTAssignmentStmtNode.class);
-//        List<Match<ASTAssignmentStmtNode>> matches = new ASTMatcher(SearchStrategy.BOTTOM_UP).matchAll(patternAST, parse(prog1));
-//        //System.out.println(matches);
-//        assertEquals(2, matches.size());
-//    }
-//
-//    public void testUnification3() throws Exception
-//    {
-//        String pattern = "three = xxxx\nend program";
-//        String prog1 = "program jeff\n  ! Do stuff\n  three = 3; eerht = 3\nthree = three * three + three\nend program\n";
-//        
-//        Token patternAST = parse(pattern).findFirst(ASTAssignmentStmtNode.class).getLhsVariable().getName();
-//
-//        List<Match<Token>> matches = new ASTMatcher(SearchStrategy.TOP_DOWN_NO_NESTED_MATCHES).matchAll(patternAST, parse(prog1));
-//        assertEquals(5, matches.size());
-//
-//        matches = new ASTMatcher(SearchStrategy.BOTTOM_UP).matchAll(patternAST, parse(prog1));
-//        //assertEquals(7, matches.size());
-//
-//        matches = new ASTMatcher(SearchStrategy.TOP_DOWN).matchAll(patternAST, parse(prog1));
-//        //assertEquals(7, matches.size());
-//    }
-//
-//    public void testUnification4() throws Exception
-//    {
-//        String pattern = "xxxx = @var:T_IDENT + 0\nend program";
-//        String prog1 = "n = ((n * (2 + 0)) + 0) + 0; end program\n";
-//        
-//        ASTBinaryExprNode patternAST = (ASTBinaryExprNode)parse(pattern).findFirst(ASTAssignmentStmtNode.class).getRhs();
-//        ASTExecutableProgramNode progAST = parse(prog1);
-//        
-////        List<Match<IExpr>> iexprMatches = new ASTMatcher(SearchStrategy.BOTTOM_UP).matchAll(IExpr.class, patternAST, progAST);
-////        //System.out.println(iexprMatches);
-////        assertEquals(3, iexprMatches.size());
-//        
-//        List<Match<ASTBinaryExprNode>> matches = new ASTMatcher(SearchStrategy.BOTTOM_UP).matchAll(patternAST, progAST);
-//        //System.out.println(matches);
-//        assertEquals(3, matches.size());
-//        
-//        for (Match<ASTBinaryExprNode> match : matches)
-//            match.matchedNode.replaceWith(match.variables.get("@var:T_IDENT"));
-//        //System.out.println(progAST);
-//        assertEquals("n = ((n * (2))); end program", progAST.toString().trim());
-//
-//        progAST = parse(prog1);
-//        pattern = "xxxx = @var:T_IDENT\nend program";
-//        IExpr replacementAST = parse(pattern).findFirst(ASTAssignmentStmtNode.class).getRhs();
-//        new ASTMatcher(SearchStrategy.BOTTOM_UP).replaceAll(patternAST, replacementAST, progAST);
-//        //System.out.println(progAST);
-//        assertEquals("n =  ( (n * ( 2))); end program", progAST.toString().trim());
-//
-//        // FIXME: This causes an error because discardedSymbols don't have parents set
-//        //progAST = parse("a = a + a + (2 * b + b) + (b + b * c) + (d + d) - ((2*q+6) + (2*q+6); end");
-//        progAST = parse("a = a + a + (2 * b + b) + (b + b * c) + (d + d) - ((2*q+6) + (2*q+6)); end");
-//        pattern = "xxxx=@var:T_IDENT + @var:T_IDENT\nend program";
-//        IExpr patternnAST = parse(pattern).findFirst(ASTAssignmentStmtNode.class).getRhs();
-//        String replacement = "xxxx=(2*@var:T_IDENT)\nend program";
-//        replacementAST = parse(replacement).findFirst(ASTAssignmentStmtNode.class).getRhs();
-//        new ASTMatcher(SearchStrategy.BOTTOM_UP).replaceAll(patternnAST, replacementAST, progAST);
-//        //System.out.println(progAST);
-//        assertEquals("a =(2* a) + (2 * b + b) + (b + b * c) + ((2*d)) - ((2*(2*q+6))); end", progAST.toString().trim());
-//
-//        /*
-//        @SuppressWarnings("rawtypes")
-//        class ASTPatternListNode2<T> implements IASTListNode<T>
-//        {
-//            // IASTNode
-//            public void accept(IASTVisitor visitor) { throw new UnsupportedOperationException(); }
-//            public Object clone() { throw new UnsupportedOperationException(); }
-//            public Token findFirstToken() { throw new UnsupportedOperationException(); }
-//            public Token findLastToken() { throw new UnsupportedOperationException(); }
-//            public <T extends IASTNode> T findNearestAncestor(Class<T> targetClass) { throw new UnsupportedOperationException(); }
-//            public IASTNode getParent() { throw new UnsupportedOperationException(); }
-//            public boolean isFirstChildInList() { throw new UnsupportedOperationException(); }
-//            public Iterable<? extends IASTNode> getChildren() { throw new UnsupportedOperationException(); }
-//            //public void printOn(PrintStream out) { throw new UnsupportedOperationException(); }
-//            public IPreprocessorReplacement printOn(PrintStream out, IPreprocessorReplacement lastPreprocessorDirective) { throw new UnsupportedOperationException(); }
-//            public void replaceChild(IASTNode node, IASTNode withNode) { throw new UnsupportedOperationException(); }
-//            public void removeFromTree() { throw new UnsupportedOperationException(); }
-//            public void replaceWith(IASTNode newNode) { throw new UnsupportedOperationException(); }
-//            public void replaceWith(String literalString) { throw new UnsupportedOperationException(); }
-//            public void setParent(IASTNode parent) { throw new UnsupportedOperationException(); }
-//            // IASTListNode
-//            public void insertBefore(Object insertBefore, Object newElement) { throw new UnsupportedOperationException(); }
-//            public void insertAfter(Object insertAfter, Object newElement) { throw new UnsupportedOperationException(); }
-//            // List
-//            public void add(int index, Object element) { throw new UnsupportedOperationException(); }
-//            public boolean addAll(int index, java.util.Collection c) { throw new UnsupportedOperationException(); }
-//            public void clear() { throw new UnsupportedOperationException(); }
-//            public Object get(int index) { throw new UnsupportedOperationException(); }
-//            public int indexOf(Object o) { throw new UnsupportedOperationException(); }
-//            public boolean isEmpty() { throw new UnsupportedOperationException(); }
-//            public Iterator iterator() { throw new UnsupportedOperationException(); }
-//            public int lastIndexOf(Object o) { throw new UnsupportedOperationException(); }
-//            public ListIterator<Object> listIterator() { throw new UnsupportedOperationException(); }
-//            public ListIterator<Object> listIterator(int index) { throw new UnsupportedOperationException(); }
-//            public Object remove(int index) { throw new UnsupportedOperationException(); }
-//            public Object set(int index, Object element) { throw new UnsupportedOperationException(); }
-//            public int size() { throw new UnsupportedOperationException(); }
-//            public List<Object> subList(int fromIndex, int toIndex) { throw new UnsupportedOperationException(); }
-//            // Collection
-//            public boolean add(Object o) { throw new UnsupportedOperationException(); }
-//            public boolean addAll(java.util.Collection c) { throw new UnsupportedOperationException(); }
-//            public boolean contains(Object o) { throw new UnsupportedOperationException(); }
-//            public boolean containsAll(java.util.Collection c) { throw new UnsupportedOperationException(); }
-//            public boolean equals(Object o) { throw new UnsupportedOperationException(); }
-//            public boolean remove(Object o) { throw new UnsupportedOperationException(); }
-//            public boolean removeAll(java.util.Collection c) { throw new UnsupportedOperationException(); }
-//            public boolean retainAll(java.util.Collection c) { throw new UnsupportedOperationException(); }
-//            public Object[] toArray() { throw new UnsupportedOperationException(); }
-//            public Object[] toArray(Object[] a) { throw new UnsupportedOperationException(); }
-//        };
-//    */
-//    }
-//
-//    protected ASTExecutableProgramNode parse(String contents) throws IOException, LexerException, SyntaxException
-//    {
-//        return new Parser().parse(LexerFactory.createLexer(new ByteArrayInputStream(contents.getBytes()), null, "<stdin>", SourceForm.UNPREPROCESSED_FREE_FORM, true));
-//    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddIdentifierToEndTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddIdentifierToEndTestSuite.java
deleted file mode 100644
index d2d7205..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddIdentifierToEndTestSuite.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.refactoring.AddIdentifierToEndRefactoring;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;
-
-/**
- * Unit tests for the Add Identifier to END refactoring.
- *
- * @author Matthew Fotzler
- */
-public class AddIdentifierToEndTestSuite
-     extends PhotranRefactoringTestSuiteFromMarkers<AddIdentifierToEndRefactoring>
-{
-    private static final String DIR = "refactoring-test-code/add-identifier-to-end";
-
-    public static Test suite() throws Exception
-    {
-        return new AddIdentifierToEndTestSuite();
-    }
-
-    public AddIdentifierToEndTestSuite() throws Exception
-    {
-        super(Activator.getDefault(),
-              "Running Add identifier to END refactoring in",
-              DIR,
-              AddIdentifierToEndRefactoring.class);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddOnlyToUseTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddOnlyToUseTestSuite.java
deleted file mode 100644
index 24b9be3..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddOnlyToUseTestSuite.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.jface.text.TextSelection;

-import org.eclipse.photran.internal.core.refactoring.AddOnlyToUseStmtRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Add Only to Use refactoring.

- *

- * @author Jeff Overbey

- * @author Esfar Huq

- * @author Rui Wang - Modified to add support for marker based testing, documentation

- */

-

-public class AddOnlyToUseTestSuite

-     extends PhotranRefactoringTestSuiteFromMarkers<AddOnlyToUseStmtRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/add-only-to-use-stmt";

-

-    public static Test suite() throws Exception

-    {

-        return new AddOnlyToUseTestSuite();

-    }

-

-    public AddOnlyToUseTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Add only to use refactoring in",

-              DIR,

-              AddOnlyToUseStmtRefactoring.class);

-    }

-

-    /**

-     * Overridden method to allow marker to hold multiple file names

-     * 

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol,

-     *                       filename1, filname2, ..., result

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    

-    @Override

-    protected boolean initializeRefactoring(AddOnlyToUseStmtRefactoring refactoring,

-                                            IFile file,

-                                            TextSelection selection,

-                                            String[] markerText)

-    {

-        boolean result = super.initializeRefactoring(refactoring, file, selection, markerText);

-        

-        //loop to collect multiple files

-        for (int i = 4; i < markerText.length-1; i++)

-        {

-            String fileToAdd = markerText[i]; //file field(s) are just before result

-            if (!fileToAdd.equals(""))

-                refactoring.addToOnlyList(fileToAdd);

-        }

-        

-        return result;

-    }

-    

-    /**

-     * Method that prevents compilation of test files we know aren't supposed to compile

-     */

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-        return !fileContainingMarker.getName().equalsIgnoreCase("test6.f90");

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddSubroutineParameterTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddSubroutineParameterTestSuite.java
deleted file mode 100644
index 2fabcf9..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/AddSubroutineParameterTestSuite.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Joe Handzik, Joe Gonzales, Marc Celani, and Jason Patel.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    Joe Handzik, Joe Gonzales, Marc Celani, and Jason Patel - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.jface.text.TextSelection;

-import org.eclipse.photran.internal.core.refactoring.AddSubroutineParameterRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Tests for the Add Subroutine Parameter refactoring.

- * 

- * @author Marc Celani, Joe Handzik, Joe Gonzalez, Jason Patel

- * @author Jeff Overbey - added {@link #shouldCompile(IFile)}

- */

-public class AddSubroutineParameterTestSuite extends

-    PhotranRefactoringTestSuiteFromMarkers<AddSubroutineParameterRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/add-subroutine-parameter";

-

-    public static Test suite() throws Exception

-    {

-        return new AddSubroutineParameterTestSuite();

-    }

-

-    public AddSubroutineParameterTestSuite() throws Exception

-    {

-        super(Activator.getDefault(), "Running Add Subroutine Parameter refactoring in", DIR,

-            AddSubroutineParameterRefactoring.class);

-    }

-

-    @Override

-    protected boolean configureRefactoring(AddSubroutineParameterRefactoring refactoring,

-        IFile file, TextSelection selection, String[] markerText)

-    {

-        boolean shouldSucceed = super

-            .configureRefactoring(refactoring, file, selection, markerText);

-        refactoring.setDeclaration(markerText[4].replaceAll(";", ","));

-        refactoring.setPosition(Integer.parseInt(markerText[5]));

-        if (!markerText[6].equals("_dont_call")) refactoring.setDefaultValue(markerText[6]);

-

-        return shouldSucceed;

-    }

-

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-        return !fileContainingMarker.getName().equalsIgnoreCase("add_subroutine_parameter_11.f90");

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/DataToParameterTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/DataToParameterTestSuite.java
deleted file mode 100644
index 76ee689..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/DataToParameterTestSuite.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.refactoring.DataToParameterRefactoring;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;
-
-/**
- * Unit tests for the Data to Parameter refactoring.
- *
- * @author Tim Yuvashev
- * @author Jeff Overbey
- */
-public class DataToParameterTestSuite extends PhotranRefactoringTestSuiteFromMarkers<DataToParameterRefactoring>
-{
-    private static final String DIR = "refactoring-test-code/data-to-parameter";
-
-    public static Test suite() throws Exception
-    {
-        return new DataToParameterTestSuite();
-    }
-
-    public DataToParameterTestSuite() throws Exception
-    {
-        super(Activator.getDefault(),
-              "Running Data to Parameter refactoring in",
-              DIR,
-              DataToParameterRefactoring.class);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/EncapsulateVariableTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/EncapsulateVariableTestSuite.java
deleted file mode 100644
index e652ad3..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/EncapsulateVariableTestSuite.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.core.refactoring.EncapsulateVariableRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the New Encapsulate Variable refactoring.

- *

- * @author Rui Wang

- * @author Esfar Huq - Modified to support marker based testing, documentation

- */

-public class EncapsulateVariableTestSuite extends PhotranRefactoringTestSuiteFromMarkers<EncapsulateVariableRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/encapsulate-variable";

-

-    public static Test suite() throws Exception

-    {

-        return new EncapsulateVariableTestSuite();

-    }

-

-    /**

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol, result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    public EncapsulateVariableTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Encapsulate variable refactoring in",

-              DIR,

-              EncapsulateVariableRefactoring.class);

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ExtractLocalVariableTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ExtractLocalVariableTestSuite.java
deleted file mode 100644
index cf5de93..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ExtractLocalVariableTestSuite.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.photran.internal.core.refactoring.ExtractLocalVariableRefactoring;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;
-
-/**
- * Unit tests for the Extract Local Variable refactoring.
- *
- * @author Jeff Overbey
- */
-public class ExtractLocalVariableTestSuite
-     extends PhotranRefactoringTestSuiteFromMarkers<ExtractLocalVariableRefactoring>
-{
-    private static final String DIR = "refactoring-test-code/extract-local-variable";
-
-    public static Test suite() throws Exception
-    {
-        return new ExtractLocalVariableTestSuite();
-    }
-
-    public ExtractLocalVariableTestSuite() throws Exception
-    {
-        super(Activator.getDefault(),
-              "Running Extract Local Variable refactoring in",
-              DIR,
-              ExtractLocalVariableRefactoring.class);
-    }
-
-    @Override
-    protected boolean configureRefactoring(ExtractLocalVariableRefactoring refactoring,
-                                           IFile file,
-                                           TextSelection selection,
-                                           String[] markerText)
-    {
-        boolean shouldSucceed = super.configureRefactoring(refactoring, file, selection, markerText);
-
-        String newName = markerText[4];
-        refactoring.setDecl(newName);
-
-        return shouldSucceed;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/FuseLoopsRefactoringTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/FuseLoopsRefactoringTestSuite.java
deleted file mode 100644
index a96621f..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/FuseLoopsRefactoringTestSuite.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.photran.internal.core.refactoring.FuseLoopsRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Fuse Loops refactoring.

- * 

- * @author Ashley Kasza

- */

-public class FuseLoopsRefactoringTestSuite extends PhotranRefactoringTestSuiteFromMarkers<FuseLoopsRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/fuse-loops";

-    

-    public static Test suite() throws Exception

-    {

-        return new FuseLoopsRefactoringTestSuite();

-    }

-    

-    public FuseLoopsRefactoringTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-            "Running Loop Fusion refactoring in",

-            DIR,

-            FuseLoopsRefactoring.class);

-    }

-

-    /** Prevents the compilation and running of tests we know don't preserve behavior */

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-       return false;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/IfConstructStatementConversionRefactoringTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/IfConstructStatementConversionRefactoringTestSuite.java
deleted file mode 100644
index 6389807..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/IfConstructStatementConversionRefactoringTestSuite.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Zeeshan Ansari, Mark Chen, Burim Isai, Waseem Sheikh, Mumtaz Vauhkonen.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     Zeeshan Ansari

- *     Mark Chen

- *     Burim Isai

- *     Waseem Sheihk

- *     Mumtaz Vauhkonen

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.jface.text.TextSelection;

-import org.eclipse.photran.internal.core.refactoring.IfConstructStatementConversionRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the IF Statement/Construct refactoring.

- * 

- * @author Zeeshan Ansari

- * @author Mark Chen

- * @author Mumtaz Vauhkonrn

- * @author Burim Isai

- * @author Waseem Sheikh

- * @author Jeff Overbey - added {@link #shouldCompile(IFile)}

- */

-public class IfConstructStatementConversionRefactoringTestSuite extends

-    PhotranRefactoringTestSuiteFromMarkers<IfConstructStatementConversionRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/if-construct-statement-conversion";

-

-    public static Test suite() throws Exception

-    {

-        return new IfConstructStatementConversionRefactoringTestSuite();

-    }

-

-    public IfConstructStatementConversionRefactoringTestSuite() throws Exception

-    {

-        super(Activator.getDefault(), "Running If Construct Statement Conversion refactoring in",

-            DIR, IfConstructStatementConversionRefactoring.class);

-    }

-

-    @Override

-    protected boolean configureRefactoring(IfConstructStatementConversionRefactoring refactoring,

-        IFile file, TextSelection selection, String[] markerText)

-    {

-        boolean shouldSucceed = super

-            .configureRefactoring(refactoring, file, selection, markerText);

-        String includeOptionalElse;

-        String testType;

-        testType = markerText[4];

-

-        if (testType.equals("IfStmtToIfConstruct"))

-        {

-            includeOptionalElse = markerText[5];

-            if (includeOptionalElse.equals("TRUE")) refactoring.setAddEmptyElseBlock();

-        }

-        

-        return shouldSucceed;

-    }

-

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-        String name = fileContainingMarker.getName();

-        return

-            !name.equalsIgnoreCase("convert_ifConstruct.f90") &&

-            !name.equalsIgnoreCase("ifStmtComplexBoolean_2.f90");

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/InterchangeLoopsTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/InterchangeLoopsTestSuite.java
deleted file mode 100644
index 07ebe1f..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/InterchangeLoopsTestSuite.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.photran.internal.core.refactoring.InterchangeLoopsRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Interchange Loops refactoring.

- *

- * @author Jeff Overbey

- * @author Esfar Huq

- * @author Rui Wang - Modified to allow for marker based testing, documentation

- * 

- * NOTE: Refactoring of loops is incorrect at the moment**

- */

-public class InterchangeLoopsTestSuite

-     extends PhotranRefactoringTestSuiteFromMarkers<InterchangeLoopsRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/interchange-loops";

-

-    public static Test suite() throws Exception

-    {

-        return new InterchangeLoopsTestSuite();

-    }

-

-    /**

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol, result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    public InterchangeLoopsTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Interchange loop refactoring in",

-              DIR,

-              InterchangeLoopsRefactoring.class);

-    }

-

-    /**

-     * Method that prevents the compilation of any test we know don't compile

-     */

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-       return false;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/IntroImplicitTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/IntroImplicitTestSuite.java
deleted file mode 100644
index a65a11b..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/IntroImplicitTestSuite.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.jface.text.TextSelection;

-import org.eclipse.photran.internal.core.refactoring.IntroImplicitNoneRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Introduce Implicit None refactoring.

- *

- * @author Jeff Overbey

- * @author Esfar Huq 

- * @author Rui Wang - Modified to allow for marker based testing, documentation

- */

-

-public class IntroImplicitTestSuite

-     extends PhotranRefactoringTestSuiteFromMarkers<IntroImplicitNoneRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/intro-implicit-none";

-

-    public static Test suite() throws Exception

-    {

-        return new IntroImplicitTestSuite();

-    }

-

-    public IntroImplicitTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Intro implicit refactoring in",

-              DIR,

-              IntroImplicitNoneRefactoring.class);

-    }

-

-    /**

-     * Overridden method to simplify functionality

-     * 

-     * MARKER FORMAT: !<<<<< startLine, startCol, result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    

-    @Override

-    protected boolean configureRefactoring(IntroImplicitNoneRefactoring refactoring,

-                                           IFile file,

-                                           TextSelection selection,

-                                           String[] markerText)

-    {

-        return super.configureRefactoring(refactoring, file, selection, markerText);

-    }

-    

-    /**

-     * Method that prevents the compilation of any test we know don't compile

-     */

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-       return !fileContainingMarker.getName().equalsIgnoreCase("implicit-subprog.f90");

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/KeywordCaseTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/KeywordCaseTestSuite.java
deleted file mode 100644
index 81f7dab..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/KeywordCaseTestSuite.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.jface.text.TextSelection;

-import org.eclipse.photran.internal.core.refactoring.KeywordCaseRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Keyword Case refactoring.

- *

- * @author Jeff Overbey

- * @author Esfar Huq

- * @author Rui Wang - Modified to allow for marker based testing, documentation

- */

-

-public class KeywordCaseTestSuite

-     extends PhotranRefactoringTestSuiteFromMarkers<KeywordCaseRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/keyword-case";

-

-    public static Test suite() throws Exception

-    {

-        return new KeywordCaseTestSuite();

-    }

-

-    public KeywordCaseTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Keyword case refactoring in",

-              DIR,

-              KeywordCaseRefactoring.class);

-    }

-

-    /**

-     * Overridden method to allow refactoring to process the 'isLowerCase' field of the marker

-     * 

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol, isLower, result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    @Override

-    protected boolean configureRefactoring(KeywordCaseRefactoring refactoring,

-                                           IFile file,

-                                           TextSelection selection,

-                                           String[] markerText)

-    {

-        boolean shouldSucceed = super.configureRefactoring(refactoring, file, selection, markerText);

-        

-        //the fifth field of the marker (index 4) should hold current lowercase status

-        if(markerText[4].equals("false"))

-            refactoring.setLowerCase(false);

-        else

-            refactoring.setLowerCase(true);

-        

-        return shouldSucceed;

-    }

-    

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakeCommonConsistentTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakeCommonConsistentTestSuite.java
deleted file mode 100644
index 7df3c8c..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakeCommonConsistentTestSuite.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.jface.text.TextSelection;

-import org.eclipse.photran.internal.core.refactoring.CommonVarNamesRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Common Variable Name refactoring.

- *

- * @author Jeff Overbey

- * @author Esfar Huq

- * @author Rui Wang - Modified to add support for marker based testing, documentation

- */

-

-public class MakeCommonConsistentTestSuite

-     extends PhotranRefactoringTestSuiteFromMarkers<CommonVarNamesRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/make-common-var-names-consistent";

-

-    public static Test suite() throws Exception

-    {

-        return new MakeCommonConsistentTestSuite();

-    }

-

-    public MakeCommonConsistentTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Common var names refactoring in",

-              DIR,

-              CommonVarNamesRefactoring.class);

-    }

-

-    /**

-     * Overridden method to allow marker to hold entity names

-     * 

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol, entityName1,

-     *                entityName2, ..., result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    @Override

-    protected boolean initializeRefactoring(CommonVarNamesRefactoring refactoring,

-                                            IFile file,

-                                            TextSelection selection,

-                                            String[] markerText)

-    {   

-        boolean result = super.initializeRefactoring(refactoring, file, selection, markerText);

-        

-        //loop to collect any entity fields from the marker text

-        for (int i = 4; i < markerText.length-1; i++)

-        {

-            String entityToAdd = markerText[i]; //entity field(s) are just before result

-            

-            if (!entityToAdd.equals(""))

-                refactoring.modifyNewName(i - 4, markerText[i]);

-        }

-        

-        return result;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakePrivateEntityPublicTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakePrivateEntityPublicTestCase.java
deleted file mode 100644
index bbf1367..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakePrivateEntityPublicTestCase.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.core.refactoring.MakePrivateEntityPublicRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Private to Public refactoring.

- *

- * @author Jeff Overbey

- * @author Esfar Huq

- * @author Rui Wang - Modified to allow for marker based testing, documentation

- */

-

-public class MakePrivateEntityPublicTestCase

-     extends PhotranRefactoringTestSuiteFromMarkers<MakePrivateEntityPublicRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/make-private-entity-public";

-

-    public static Test suite() throws Exception

-    {

-        return new MakePrivateEntityPublicTestCase();

-    }

-

-    /**

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol, result

-     * 

-     * Note: result is of the form pass, fail-initial, or fail-final

-     */

-    public MakePrivateEntityPublicTestCase() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Make private entity public refactoring in",

-              DIR,

-              MakePrivateEntityPublicRefactoring.class);

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakeSaveExplicitTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakeSaveExplicitTestSuite.java
deleted file mode 100644
index 9f09c37..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MakeSaveExplicitTestSuite.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Stephen Downs, Robert Samblanet, Kevin Schilling, Jon 

- * Woolwine, and Chad Zamzow

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *      Stephen Downs, Robert Samblanet, Kevin Schilling, 

- *      Jon Woolwine, and Chad Zamzow

- *******************************************************************************/

-

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.photran.internal.core.refactoring.MakeSaveExplicitRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Make Save Explicit refactoring.

- *

- * @author Stephen Downs

- * @author Robert Samblanet

- * @author Kevin Schilling

- * @author Jon Woolwine

- * @author Chad Zamzow

- * @author Jeff Overbey - added {@link #shouldCompile(IFile)}

- */

-public class MakeSaveExplicitTestSuite

-     extends PhotranRefactoringTestSuiteFromMarkers<MakeSaveExplicitRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/make-save-explicit";

-

-    public static Test suite() throws Exception

-    {

-        return new MakeSaveExplicitTestSuite();

-    }

-

-    public MakeSaveExplicitTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Make Save Attribute Explicit refactoring in",

-              DIR,

-              MakeSaveExplicitRefactoring.class);

-    }

-

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-        String name = fileContainingMarker.getName();

-        return

-            !name.equalsIgnoreCase("make_save_7_1.f90") &&

-            !name.equalsIgnoreCase("make_save_7_3.f90");

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MinOnlyListTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MinOnlyListTestSuite.java
deleted file mode 100644
index a939360..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MinOnlyListTestSuite.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.core.refactoring.MinOnlyListRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Min Only List refactoring.

- *

- * @author Jeff Overbey

- * @author Esfar Huq

- * @author Rui Wang - Modified to allow for marker based filtering, documentation

- */

-public class MinOnlyListTestSuite

-     extends PhotranRefactoringTestSuiteFromMarkers<MinOnlyListRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/min-only-list";

-

-    public static Test suite() throws Exception

-    {

-        return new MinOnlyListTestSuite();

-    }

-

-    /**

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol, result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    public MinOnlyListTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Min only list refactoring in",

-              DIR,

-              MinOnlyListRefactoring.class);

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MoveSavedToCommonBlockTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MoveSavedToCommonBlockTestSuite.java
deleted file mode 100644
index 1241a04..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/MoveSavedToCommonBlockTestSuite.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.photran.internal.core.refactoring.MoveSavedToCommonBlockRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Moved Saved to Common Block refactoring.

- *

- * @author Jeff Overbey

- * @author Esfar Huq

- * @author Rui Wang - Modified to add support for marker based testing, documentation

- */

-public class MoveSavedToCommonBlockTestSuite

-     extends PhotranRefactoringTestSuiteFromMarkers<MoveSavedToCommonBlockRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/move-saved-to-common-block";

-

-    public static Test suite() throws Exception

-    {

-        return new MoveSavedToCommonBlockTestSuite();

-    }

-

-    /**

-     * Overridden method

-     * 

-     * MARKER FORMAT: !<<<<< startLine, startCol, result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    public MoveSavedToCommonBlockTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Move saved to common block refactoring in",

-              DIR,

-              MoveSavedToCommonBlockRefactoring.class);

-    }

-    

-    /**

-     * Method that prevents the compilation of tests that we know don't compile

-     */

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-        //don't compile the second test case

-        return !fileContainingMarker.getName().equalsIgnoreCase("test2.f90");

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/PermuteSubroutineArgsTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/PermuteSubroutineArgsTestSuite.java
deleted file mode 100644
index 0584e11..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/PermuteSubroutineArgsTestSuite.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Matthew Fotzler, UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.photran.internal.core.refactoring.PermuteSubroutineArgsRefactoring;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;
-
-/**
- * Test suite for the change subroutine signature refactoring.
- * 
- * @author Matthew Fotzler
- */
-public class PermuteSubroutineArgsTestSuite extends PhotranRefactoringTestSuiteFromMarkers<PermuteSubroutineArgsRefactoring>
-{
-    private static final String DIR = "refactoring-test-code/permute-subroutine-args";
-
-    public PermuteSubroutineArgsTestSuite() throws Exception
-    {
-        super(Activator.getDefault(),
-              "Running Permute Subroutine Arguments refactoring in",
-              DIR,
-              PermuteSubroutineArgsRefactoring.class);
-    }
-
-    public static Test suite() throws Exception
-    {
-        return new PermuteSubroutineArgsTestSuite();
-    }
-    
-    // Marker format is !<<<<< startRow,startCol,endRow,endCol,[sigma],pass/fail-initial/fail-final
-    // where sigma is the desired permutation of the subroutine arguments given by the selection
-    @Override
-    protected boolean initializeRefactoring(PermuteSubroutineArgsRefactoring refactoring,
-                                            IFile file,
-                                            TextSelection selection,
-                                            String[] markerText)
-    {
-        boolean result = super.initializeRefactoring(refactoring, file, selection, markerText);
-        List<Integer> sigma = new ArrayList<Integer>();
-
-        for (int i = 4; i < markerText.length-1; i++)
-        {
-            String nextElement = markerText[i];
-            
-            sigma.add(Integer.parseInt(nextElement));
-        }
-        
-        refactoring.setSigma(sigma);
-        
-        return result;
-    }
-
-    /** Prevents the compilation of tests we know don't compile */
-    @Override protected boolean shouldCompile(IFile fileContainingMarker)
-    {
-       return false;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveArithmeticIfTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveArithmeticIfTestSuite.java
deleted file mode 100644
index cfe1ee4..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveArithmeticIfTestSuite.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.internal.core.refactoring.RemoveArithmeticIfRefactoring;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;
-
-/**
- * Unit tests for the Remove Arithmetic If Statement refactoring.
- *
- * @author Matthew Fotzler
- * @author Jeff Overbey - added {@link #shouldCompile(IFile)}
- */
-public class RemoveArithmeticIfTestSuite
-     extends PhotranRefactoringTestSuiteFromMarkers<RemoveArithmeticIfRefactoring>
-{
-    private static final String DIR = "refactoring-test-code/remove-arithmetic-if-stmt";
-
-    public static Test suite() throws Exception
-    {
-        return new RemoveArithmeticIfTestSuite();
-    }
-
-    public RemoveArithmeticIfTestSuite() throws Exception
-    {
-        super(Activator.getDefault(),
-              "Running Remove Arithmetic If Statements Refactoring in",
-              DIR,
-              RemoveArithmeticIfRefactoring.class);
-    }
-
-    @Override protected boolean shouldCompile(IFile fileContainingMarker)
-    {
-        return !fileContainingMarker.getName().equalsIgnoreCase("bug335794.f90");
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveAssignedGotoTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveAssignedGotoTestSuite.java
deleted file mode 100644
index f63a7c9..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveAssignedGotoTestSuite.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Andrea Dranberg, John Hammonds, Rajashekhar Arasanal, 

- * Balaji Ambresh Rajkumar and Paramvir Singh.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- * Andrea Dranberg, John Hammonds, Rajashekhar Arasanal, Balaji Ambresh Rajkumar

- * and Paramvir Singh - Initial API and implementation

- * 

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.jface.text.TextSelection;

-import org.eclipse.photran.internal.core.refactoring.RemoveAssignedGotoRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Remove Assigned Goto refactoring.

- *

- * @author Andrea Dranberg

- * @author John Hammonds

- * @author Rajashekhar Arasanal

- * @author Balaji Ambresh Rajkumar

- * @author Paramvir Singh

- * @author Jeff Overbey - updated {@link #shouldCompile(IFile)}

- */

-public class RemoveAssignedGotoTestSuite

-     extends PhotranRefactoringTestSuiteFromMarkers<RemoveAssignedGotoRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/remove-assign-gotos";

-

-    public static Test suite() throws Exception

-    {

-        return new RemoveAssignedGotoTestSuite();

-    }

-

-    public RemoveAssignedGotoTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Remove Assigned Goto refactoring in",

-              DIR,

-              RemoveAssignedGotoRefactoring.class);

-    }

-

-    /**

-     * Overridden method to allow refactoring to process the 'isDefaultCaseRequired' 

-     * field of the marker.

-     * 

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol, isDefaultCaseRequired, result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    @Override

-    protected boolean configureRefactoring(RemoveAssignedGotoRefactoring refactoring,

-                                           IFile file,

-                                           TextSelection selection,

-                                           String[] markerText)

-    {

-        boolean shouldSucceed = super.configureRefactoring(refactoring, file, selection, markerText);

-        refactoring.setDefaultSelected(Boolean.parseBoolean(markerText[4]));

-        

-        return shouldSucceed;

-    }

-    

-    /**

-     * Method that prevents compilation of test files we know aren't supposed to compile or run

-     */

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-        String name = fileContainingMarker.getName();

-        return

-            !name.equalsIgnoreCase("one_label_no_goto_no_address.f90") &&

-            !name.equalsIgnoreCase("integer_label_assign_and_assignment.f90") &&

-            !name.equalsIgnoreCase("use_label_in_write.f90") &&

-            !name.equalsIgnoreCase("two_assign_same_label_withgotos.f90") &&

-            !name.equalsIgnoreCase("one_goto_with_statement_label.f90");

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveAssignedGotoWhiteBoxTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveAssignedGotoWhiteBoxTestCase.java
deleted file mode 100644
index 49117d8..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveAssignedGotoWhiteBoxTestCase.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Andrea Dranberg, John Hammonds, Rajashekhar Arasanal, 

- * Balaji Ambresh Rajkumar and Paramvir Singh.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- * Andrea Dranberg, John Hammonds, Rajashekhar Arasanal, Balaji Ambresh Rajkumar

- * and Paramvir Singh - Initial API and implementation

- * 

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import java.util.Collections;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.NullProgressMonitor;

-import org.eclipse.jface.text.ITextSelection;

-import org.eclipse.photran.internal.core.refactoring.RemoveAssignedGotoRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;

-

-/** 

- * White-box test cases for the remove assigned goto refactoring.

- * @author Andrea Dranberg

- * @author John Hammonds

- * @author Rajashekhar Arasanal

- * @author Balaji Ambresh Rajkumar

- * @author Paramvir Singh

- */

-public class RemoveAssignedGotoWhiteBoxTestCase extends PhotranWorkspaceTestCase

-{

-    private static final String DIR = "refactoring-test-code/remove-assign-gotos-white-box";

-

-    private static NullProgressMonitor pm = new NullProgressMonitor();

-

-    protected ITextSelection selectionToExtract = null;

-

-    public RemoveAssignedGotoWhiteBoxTestCase()

-    {

-        this.setName("test");

-    }

-

-    /**

-     * Test case to check if the tool collects correct number of ASSIGN

-     * and assigned GOTOs from the input file one_label_no_goto.f90.

-     */

-    public void test() throws Exception

-    {

-        IFile thisFile = importFile(Activator.getDefault(), DIR, "one_label_no_goto.f90");

-        RemoveAssignedGotoRefactoring tool = new RemoveAssignedGotoRefactoring();

-        tool.initialize(Collections.singletonList(thisFile));

-        tool.checkInitialConditions(pm);

-        RemoveAssignedGotoRefactoring.FileInfo data =

-            RemoveAssignedGotoRefactoring.FileInfoFactory.getInstance(thisFile, tool.getVpg());

-        assertTrue(data.getAssignedGotoStmtList().size() == 0);

-        assertTrue(data.getAssignedStmtList().size() == 1);

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveBranchToEndIfTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveBranchToEndIfTestSuite.java
deleted file mode 100644
index 5915b28..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveBranchToEndIfTestSuite.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Rita Chow, Nicola Hall, Jerry Hsiao, Mark Mozolewski, Chamil Wijenayaka
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rita Chow - Initial Implementation
- *    Nicola Hall - Initial Implementation
- *    Jerry Hsiao - Initial Implementation
- *    Mark Mozolewski - Initial Implementation
- *    Chamil Wijenayaka - Initial Implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.internal.core.refactoring.RemoveBranchToEndIfRefactoring;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;
-
-/**
- * Unit tests for the Remove Branch To End If Refactoring.
- * 
- * @author Rita Chow (chow15), Jerry Hsiao (jhsiao2), Mark Mozolewski (mozolews), Chamil Wijenayaka
- *         (wijenay2), Nicola Hall (nfhall2)
- * @author Jeff Overbey - added {@link #shouldCompile(IFile)}
- */
-public class RemoveBranchToEndIfTestSuite extends
-    PhotranRefactoringTestSuiteFromMarkers<RemoveBranchToEndIfRefactoring>
-{
-    private static final String DIR = "refactoring-test-code/remove-branch-to-end-if";
-
-    public static Test suite() throws Exception
-    {
-        return new RemoveBranchToEndIfTestSuite();
-    }
-
-    public RemoveBranchToEndIfTestSuite() throws Exception
-    {
-        super(Activator.getDefault(), "Running Remove Branch To End If Refactoring in", DIR,
-            RemoveBranchToEndIfRefactoring.class);
-    }
-
-    @Override protected boolean shouldCompile(IFile fileContainingMarker)
-    {
-        String name = fileContainingMarker.getName();
-        return
-            !name.equalsIgnoreCase("branch_from_inside_and_outside_if_block_no_do_loop.f90") &&
-            !name.equalsIgnoreCase("nested_if_block_basic.f90") &&
-            !name.equalsIgnoreCase("test-branch_end_if_label.f90") &&
-            !name.equalsIgnoreCase("test-end_if_label_between_branch_to_end_if.f90");
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveComputedGoToTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveComputedGoToTestSuite.java
deleted file mode 100644
index ea96ab7..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveComputedGoToTestSuite.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.core.refactoring.RemoveComputedGoToRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Remove computedGoto refactoring.

- *

- * @author Rui Wang

- */

-public class RemoveComputedGoToTestSuite extends PhotranRefactoringTestSuiteFromMarkers<RemoveComputedGoToRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/remove-computed-goto";

-

-    public static Test suite() throws Exception

-    {

-        return new RemoveComputedGoToTestSuite();

-    }

-

-    /**

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol, result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    public RemoveComputedGoToTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Remove computed goto refactoring in",

-              DIR,

-              RemoveComputedGoToRefactoring.class);

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemovePauseStmtTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemovePauseStmtTestSuite.java
deleted file mode 100644
index 00f11d1..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemovePauseStmtTestSuite.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Rita Chow, Nicola Hall, Jerry Hsiao, Mark Mozolewski, Chamil Wijenayaka
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rita Chow - Initial Implementation
- *    Nicola Hall - Initial Implementation
- *    Jerry Hsiao - Initial Implementation
- *    Mark Mozolewski - Initial Implementation
- *    Chamil Wijenayaka - Initial Implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.internal.core.refactoring.RemovePauseStmtRefactoring;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;
-
-/**
- * Unit tests for the Remove Pause Statement Refactoring.
- * 
- * @author Rita Chow (chow15), Jerry Hsiao (jhsiao2), Mark Mozolewski (mozolews), Chamil Wijenayaka
- *         (wijenay2), Nicola Hall (nfhall2)
- * @author Jeff Overbey - added {@link #shouldCompile(IFile)}
- */
-public class RemovePauseStmtTestSuite extends
-    PhotranRefactoringTestSuiteFromMarkers<RemovePauseStmtRefactoring>
-{
-    private static final String DIR = "refactoring-test-code/remove-pause-stmt";
-
-    public static Test suite() throws Exception
-    {
-        return new RemovePauseStmtTestSuite();
-    }
-
-    public RemovePauseStmtTestSuite() throws Exception
-    {
-        super(Activator.getDefault(), "Running Remove Pause Stmt Refactoring in", DIR,
-            RemovePauseStmtRefactoring.class);
-    }
-
-    @Override protected boolean shouldCompile(IFile fileContainingMarker)
-    {
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveRealAndDoublePrecisionLoopCountersTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveRealAndDoublePrecisionLoopCountersTestSuite.java
deleted file mode 100644
index 42654f3..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveRealAndDoublePrecisionLoopCountersTestSuite.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Rita Chow, Nicola Hall, Jerry Hsiao, Mark Mozolewski, Chamil Wijenayaka
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rita Chow - Initial Implementation
- *    Nicola Hall - Initial Implementation
- *    Jerry Hsiao - Initial Implementation
- *    Mark Mozolewski - Initial Implementation
- *    Chamil Wijenayaka - Initial Implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.photran.internal.core.refactoring.RemoveRealAndDoublePrecisionLoopCountersRefactoring;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;
-
-/**
- * Unit tests for the Remove Branch To End If Refactoring.
- * 
- * @author Rita Chow (chow15), Jerry Hsiao (jhsiao2), Mark Mozolewski (mozolews), Chamil Wijenayaka
- *         (wijenay2), Nicola Hall (nfhall2)
- */
-public class RemoveRealAndDoublePrecisionLoopCountersTestSuite extends
-    PhotranRefactoringTestSuiteFromMarkers<RemoveRealAndDoublePrecisionLoopCountersRefactoring>
-{
-    private static final String DIR = "refactoring-test-code/remove-real-and-double-precision-loop-counters";
-
-    public static Test suite() throws Exception
-    {
-        return new RemoveRealAndDoublePrecisionLoopCountersTestSuite();
-    }
-
-    public RemoveRealAndDoublePrecisionLoopCountersTestSuite() throws Exception
-    {
-        super(Activator.getDefault(),
-            "Running Remove Real and Double Precision Loop Counters Refactoring in", DIR,
-            RemoveRealAndDoublePrecisionLoopCountersRefactoring.class);
-    }
-
-    @Override
-    protected boolean configureRefactoring(
-        RemoveRealAndDoublePrecisionLoopCountersRefactoring refactoring, IFile file,
-        TextSelection selection, String[] markerText)
-    {
-        boolean shouldSucceed = super
-            .configureRefactoring(refactoring, file, selection, markerText);
-
-        boolean shouldReplaceWithDoWhileLoop;
-        if (markerText[4].equals("1"))
-            shouldReplaceWithDoWhileLoop = true;
-        else
-            shouldReplaceWithDoWhileLoop = false;
-        refactoring.setShouldReplaceWithDoWhileLoop(shouldReplaceWithDoWhileLoop);
-
-        return shouldSucceed;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveUnreferencedLabelsTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveUnreferencedLabelsTestSuite.java
deleted file mode 100644
index f81ba8f..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveUnreferencedLabelsTestSuite.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     Esfar Huq, UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-import org.eclipse.photran.internal.core.refactoring.RemoveUnreferencedLabelsRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Remove Unreferenced Label refactoring.

- *

- * @author Mariano Mendez (Fortran)

- * @author Esfar Huq (Java)

- */

-public class RemoveUnreferencedLabelsTestSuite extends PhotranRefactoringTestSuiteFromMarkers<RemoveUnreferencedLabelsRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/remove-unreferenced-labels";

-

-    public static Test suite() throws Exception

-    {

-        return new RemoveUnreferencedLabelsTestSuite();

-    }

-

-    /**

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol, result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    public RemoveUnreferencedLabelsTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Remove unreferenced label refactoring in",

-              DIR,

-              RemoveUnreferencedLabelsRefactoring.class);

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveUnusedTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveUnusedTestSuite.java
deleted file mode 100644
index 96cbcf0..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/RemoveUnusedTestSuite.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.refactoring.RemoveUnusedVariablesRefactoring;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;
-
-/**
- * Unit tests for the Remove Unused Local Variables refactoring.
- *
- * @author Tim Yuvashev
- * @author Jeff Overbey
- */
-public class RemoveUnusedTestSuite extends PhotranRefactoringTestSuiteFromMarkers<RemoveUnusedVariablesRefactoring>
-{
-    private static final String DIR = "refactoring-test-code/remove-unused-local-vars";
-
-    public static Test suite() throws Exception
-    {
-        return new RemoveUnusedTestSuite();
-    }
-
-    public RemoveUnusedTestSuite() throws Exception
-    {
-        super(Activator.getDefault(),
-              "Running Remove Unused Variables refactoring in",
-              DIR,
-              RemoveUnusedVariablesRefactoring.class);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReplaceCharacterStarTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReplaceCharacterStarTestSuite.java
deleted file mode 100644
index 0472429..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReplaceCharacterStarTestSuite.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     Esfar Huq, UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.photran.internal.core.refactoring.ReplaceCharacterStarRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Replace Character* with Character(len=) refactoring.

- *

- * @author Mariano Mendez (Fortran)

- * @author Esfar Huq (Java)

- */

-public class ReplaceCharacterStarTestSuite extends PhotranRefactoringTestSuiteFromMarkers<ReplaceCharacterStarRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/replace-character-star";

-

-    public static Test suite() throws Exception

-    {

-        return new ReplaceCharacterStarTestSuite();

-    }

-

-    /**

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol, result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    public ReplaceCharacterStarTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Replace CHARACTER* refactoring in",

-              DIR,

-              ReplaceCharacterStarRefactoring.class);

-    }

-

-    /**

-     * Prevents compilation of any tests we know don't compile

-     */

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-       return false;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReplaceOldStyleDoLoopTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReplaceOldStyleDoLoopTestSuite.java
deleted file mode 100644
index cc929c0..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReplaceOldStyleDoLoopTestSuite.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     Esfar Huq, UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.photran.internal.core.refactoring.ReplaceOldStyleDoLoopRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Replace Old Style Do Loop refactoring.

- *

- * @author Esfar Huq

- */

-public class ReplaceOldStyleDoLoopTestSuite

-     extends PhotranRefactoringTestSuiteFromMarkers<ReplaceOldStyleDoLoopRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/replace-old-style-do-loop";

-

-    public static Test suite() throws Exception

-    {

-        return new ReplaceOldStyleDoLoopTestSuite();

-    }

-

-    /**

-     * Overridden method

-     * 

-     * MARKER FORMAT: !<<<<< startLine, startCol, endLine, endCol, result

-     * 

-     * Note: result is either pass, fail-initial, or fail-final

-     */

-    public ReplaceOldStyleDoLoopTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Replace old style do loop refactoring in",

-              DIR,

-              ReplaceOldStyleDoLoopRefactoring.class);

-    }

-

-    /**

-     * Prevents compilation of any tests we know don't compile

-     */

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-       if (fileContainingMarker.getName().contains("test5"))

-           return false; // Test 5 does not compile, so don't try

-       else

-           return true; // All others do

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReverseLoopRefactoringTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReverseLoopRefactoringTestSuite.java
deleted file mode 100644
index 5fd779b..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/ReverseLoopRefactoringTestSuite.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************

-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.photran.internal.core.refactoring.ReverseLoopRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Reverse Loop refactoring.

- *

- * @author Ashley Kasza

- */

-public class ReverseLoopRefactoringTestSuite extends PhotranRefactoringTestSuiteFromMarkers<ReverseLoopRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/reverse-loop";

-

-    public static Test suite() throws Exception

-    {

-        return new ReverseLoopRefactoringTestSuite();

-    }

-

-    public ReverseLoopRefactoringTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Reverse Loop refactoring in",

-              DIR,

-              ReverseLoopRefactoring.class);

-    }

-

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-       return false;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/SafeDeleteInternalSubprogramRefactoringTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/SafeDeleteInternalSubprogramRefactoringTestSuite.java
deleted file mode 100644
index b179ae9..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/SafeDeleteInternalSubprogramRefactoringTestSuite.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.photran.internal.core.refactoring.SafeDeleteInternalSubprogramRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Unit tests for the Safe Delete Internal Subprogram refactoring.

- * 

- * @author Abhishek Sharma

- */

-public class SafeDeleteInternalSubprogramRefactoringTestSuite

-    extends PhotranRefactoringTestSuiteFromMarkers<SafeDeleteInternalSubprogramRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/Safe-Delete-Internal-Subprogram" ;

-

-    public static Test suite()throws Exception

-    {

-        return new SafeDeleteInternalSubprogramRefactoringTestSuite() ;

-    }

-

-    protected SafeDeleteInternalSubprogramRefactoringTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-              "Running Safe-Delete Internal Subprogram test in",

-              DIR,

-              SafeDeleteInternalSubprogramRefactoring.class);

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/StandardizeStmtsTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/StandardizeStmtsTestSuite.java
deleted file mode 100644
index f230531..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/StandardizeStmtsTestSuite.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.refactoring.StandardizeStatementsRefactoring;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;
-
-/**
- * Unit tests for the Standardize Statements refactoring.
- *
- * @author Tim Yuvashev
- * @author Jeff Overbey
- */
-public class StandardizeStmtsTestSuite
-     extends PhotranRefactoringTestSuiteFromMarkers<StandardizeStatementsRefactoring>
-{
-    private static final String DIR = "refactoring-test-code/standardize-stmts";
-
-    public static Test suite() throws Exception
-    {
-        return new StandardizeStmtsTestSuite();
-    }
-
-    public StandardizeStmtsTestSuite() throws Exception
-    {
-        super(Activator.getDefault(),
-              "Running Standardize Statements refactoring in",
-              DIR,
-              StandardizeStatementsRefactoring.class);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/TileLoopRefactoringTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/TileLoopRefactoringTestSuite.java
deleted file mode 100644
index c1a6f75..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/TileLoopRefactoringTestSuite.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.jface.text.TextSelection;

-import org.eclipse.photran.internal.core.refactoring.TileLoopRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- *  Test suite for loop tiling refactoring

- * @author Ashley Kasza

- */

-public class TileLoopRefactoringTestSuite extends PhotranRefactoringTestSuiteFromMarkers<TileLoopRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/tile-loop";

-    

-    public static Test suite() throws Exception

-    {

-        return new TileLoopRefactoringTestSuite();

-    }

-    

-    public TileLoopRefactoringTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-            "Running Loop Tiling refactoring in",

-            DIR,

-            TileLoopRefactoring.class);

-    }

-    

-    @Override

-    protected boolean initializeRefactoring(TileLoopRefactoring refactoring,

-                                            IFile file,

-                                            TextSelection selection,

-                                            String[] markerText)

-    {

-        boolean result = super.initializeRefactoring(refactoring, file, selection, markerText);

-

-            String s = markerText[4]; //file field(s) are just before result

-            String s2 = markerText[5];

-            refactoring.setLoopTilingOffsetNumber(s);

-            refactoring.setLoopTilingStepNumber(s2);

-            //}

-        

-        return result;

-    }

-

-    /** Prevents the compilation and running of tests we know don't preserve behavior */

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-       return false;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/UnrollLoopRefactoringTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/UnrollLoopRefactoringTestSuite.java
deleted file mode 100644
index be244af..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/UnrollLoopRefactoringTestSuite.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.tests.refactoring;

-

-import junit.framework.Test;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.jface.text.TextSelection;

-import org.eclipse.photran.internal.core.refactoring.UnrollLoopRefactoring;

-import org.eclipse.photran.internal.tests.Activator;

-import org.eclipse.photran.internal.tests.PhotranRefactoringTestSuiteFromMarkers;

-

-/**

- * Test suite for loop unrolling refactoring

- * 

- * @author Ashley Kasza

- */

-public class UnrollLoopRefactoringTestSuite extends PhotranRefactoringTestSuiteFromMarkers<UnrollLoopRefactoring>

-{

-    private static final String DIR = "refactoring-test-code/unroll-loop";

-

-    public static Test suite() throws Exception

-    {

-        return new UnrollLoopRefactoringTestSuite();

-    }

-

-    public UnrollLoopRefactoringTestSuite() throws Exception

-    {

-        super(Activator.getDefault(),

-            "Running Loop Unrolling refactoring in",

-            DIR,

-            UnrollLoopRefactoring.class);

-    }

-

-    @Override

-    protected boolean initializeRefactoring(UnrollLoopRefactoring refactoring, IFile file,

-        TextSelection selection, String[] markerText)

-    {

-        boolean result = super.initializeRefactoring(refactoring, file, selection, markerText);

-

-        String s = markerText[4]; // file field(s) are just before result

-        String s2 = markerText[5];

-        refactoring.setLoopUnrollNumber(s);

-        refactoring.setComplete(s2.equals("true"));

-        // }

-

-        return result;

-    }

-

-    /** Prevents the compilation and running of tests we know don't compile or run */

-    @Override protected boolean shouldCompile(IFile fileContainingMarker)

-    {

-        String filename = fileContainingMarker.getName();

-        return !filename.equalsIgnoreCase("decrementLoopPartial.f90")

-            && !filename.equalsIgnoreCase("testSimpleLoop.f90");

-    }

-}

diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/extractprocedure/ExtractProcTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/extractprocedure/ExtractProcTestCase.java
deleted file mode 100644
index 40c9f91..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/extractprocedure/ExtractProcTestCase.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.extractprocedure;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.ExtractProcedureRefactoring;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
-
-public class ExtractProcTestCase extends PhotranWorkspaceTestCase
-{
-    private static final String DIR = "refactoring-test-code/extract-procedure";
-
-    private static NullProgressMonitor pm = new NullProgressMonitor();
-
-    protected String filename = null;
-    protected ITextSelection selectionToExtract = null;
-
-    public ExtractProcTestCase() {;}  // when JUnit invokes a subclass outside a test suite
-
-    public ExtractProcTestCase(String filename, Object ignored) // avoid JUnit constructor
-    {
-        this.filename = filename;
-        this.setName("test");
-    }
-
-    protected void doRefactoring() throws Exception
-    {
-        String description = "Attempt to extract procedure from " + filename;
-
-        ExtractProcedureRefactoring refactoring = createRefactoring(filename);
-
-        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-        String before = compileAndRunFortranProgram();
-
-        RefactoringStatus status = refactoring.checkInitialConditions(pm);
-        assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError());
-
-        refactoring.setName("new_procedure");
-
-        status = refactoring.checkFinalConditions(pm);
-        assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-
-        Change change = refactoring.createChange(pm);
-        assertNotNull(description + " returned null Change object", change);
-        assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
-        change.perform(pm);
-
-        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-
-        String after = compileAndRunFortranProgram();
-        System.out.println(after);
-        assertEquals(before, after);
-    }
-
-    private ExtractProcedureRefactoring createRefactoring(final String filename) throws Exception
-    {
-        final IFile thisFile = importFile(Activator.getDefault(), DIR, filename);
-        ExtractProcedureRefactoring r = new ExtractProcedureRefactoring();
-        r.initialize(thisFile, selectionToExtract);
-        return r;
-    }
-
-    @Override protected String readTestFile(Plugin activator, String srcDir, String filename) throws IOException, URISyntaxException
-    {
-        String result = super.readTestFile(activator, srcDir, filename);
-
-        int startOffset = result.lastIndexOf('\n', result.indexOf("!<<<<<START")) + 1;
-        int endOffset = result.indexOf("!<<<<<END");
-        if (startOffset <= 0 || endOffset < 0 || endOffset <= startOffset)
-            throw new Error("Malformed test case");
-
-        selectionToExtract = new TextSelection(startOffset, endOffset-startOffset);
-
-        return result;
-    }
-
-    protected String readTestFile(String filename) throws IOException, URISyntaxException
-    {
-        return super.readTestFile(Activator.getDefault(), DIR, filename);
-    }
-
-    /**
-     * Given an array with all of the positions of identifiers that should be renamed together, try applying the Rename refactoring to
-     * each, and make sure all the others change with it.
-     */
-    public void test() throws Exception
-    {
-        if (filename == null) return; // when JUnit invokes this outside a test suite
-
-        doRefactoring();
-        assertEquals(
-            readTestFile(filename + ".result").replaceAll("\\r", ""), // expected result
-            readWorkspaceFile(filename).replaceAll("\\r", ""));       // actual refactored file
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/extractprocedure/ExtractProcTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/extractprocedure/ExtractProcTestSuite.java
deleted file mode 100644
index 6c611ae..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/extractprocedure/ExtractProcTestSuite.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.extractprocedure;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class ExtractProcTestSuite extends TestSuite
-{
-    public static Test suite() throws Exception
-    {
-        TestSuite suite = new TestSuite();
-        suite.addTest(getSuiteFor("test01-simple.f90"));
-        suite.addTest(getSuiteFor("test02-locals.f90"));
-        suite.addTest(getSuiteFor("test03-locals2.f90"));
-        suite.addTest(getSuiteFor("test04-in-loop.f90"));
-        suite.addTest(getSuiteFor("test05-parameter.f90"));
-        suite.addTest(getSuiteFor("test06-parameter.f90"));
-        suite.addTest(getSuiteFor("test07-attribs.f90"));
-        return suite;
-    }
-    
-    private static TestSuite getSuiteFor(String baseFilename)
-    {
-        TestSuite subSuite = new TestSuite("Extracting Procedures from " + baseFilename);
-        subSuite.addTest(new ExtractProcTestCase(baseFilename, null));
-        return subSuite;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/AbstractSourceEditorTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/AbstractSourceEditorTestCase.java
deleted file mode 100644
index 5470fee..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/AbstractSourceEditorTestCase.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.infrastructure;
-
-import java.io.File;
-
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;
-import org.eclipse.photran.internal.tests.PhotranTestCase;
-
-public abstract class AbstractSourceEditorTestCase extends PhotranTestCase
-{
-    /**
-     * Parses the given file as free form Fortran source code
-     */
-    public ASTExecutableProgramNode load(String filename) throws Exception
-    {
-        return parse(new File("../org.eclipse.photran.core.vpg.tests/refactoring-test-code/infrastructure/source-editor/" + filename));
-    }
-
-    /**
-     * Checks whether two ASTs produce identical source code
-     */
-    protected void assertEquals(ASTExecutableProgramNode expected, ASTExecutableProgramNode actual)
-    {
-        assertEquals(SourcePrinter.getSourceCodeFromAST(expected),
-                     SourcePrinter.getSourceCodeFromAST(actual));
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/CheckCanAddDeclTests.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/CheckCanAddDeclTests.java
deleted file mode 100644
index af80b4e..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/CheckCanAddDeclTests.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.infrastructure;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
-
-/**
- * Unit tests for {@link PhotranVPG#listAllModules()}
- *
- * @author Jeff Overbey
- */
-public class CheckCanAddDeclTests extends PhotranWorkspaceTestCase
-{
-    private static final String DIR = "refactoring-test-code/infrastructure/check-can-add-decl";
-
-    private ASTMainProgramNode mainProgram;
-    private ASTSubroutineSubprogramNode internalSubroutine;
-    private ASTModuleNode module;
-
-    @Override public void setUp() throws Exception
-    {
-        super.setUp();
-
-        IFile main_f90 = importFile(Activator.getDefault(), DIR, "main.f90");
-        IFile module_f90 = importFile(Activator.getDefault(), DIR, "module.f90");
-        importFile(Activator.getDefault(), DIR, "external.f90");
-        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
-
-        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-        compileAndRunFortranProgram("module.f90", "main.f90", "external.f90");
-
-        PhotranVPG vpg = PhotranVPG.getInstance();
-        IFortranAST mainFileAST = vpg.acquireTransientAST(main_f90);
-        IFortranAST moduleFileAST = vpg.acquireTransientAST(module_f90);
-        assertNotNull(mainFileAST);
-        assertNotNull(moduleFileAST);
-
-        mainProgram = mainFileAST.findFirstTokenOnLine(1).findNearestAncestor(ASTMainProgramNode.class);
-        internalSubroutine = mainFileAST.findFirstTokenOnLine(23).findNearestAncestor(ASTSubroutineSubprogramNode.class);
-        module = moduleFileAST.findFirstTokenOnLine(1).findNearestAncestor(ASTModuleNode.class);
-        assertNotNull(mainProgram);
-        assertNotNull(internalSubroutine);
-        assertNotNull(module);
-    }
-
-    public void testAddDeclsToMainProgram() throws Exception
-    {
-        new FauxFortranRefactoring()
-        {
-            protected void runTest()
-            {
-                assertTrue(canAdd("something_new"));
-                assertFalse(canAdd("assigned_local_variable"));
-                assertFalse(canAdd("AsSiGnEd_LoCaL_vArIaBlE"));
-                assertFalse(canAdd("unused_local_variable"));
-                assertFalse(canAdd("local_variable_accessed_from_internal_subroutine"));
-                assertFalse(canAdd("defined_external_subroutine"));
-                assertFalse(canAdd("declared_external_subroutine"));
-                assertFalse(canAdd("undeclared_external_subroutine"));
-                assertFalse(canAdd("internal_subroutine"));
-                assertFalse(canAdd("used_module_subroutine"));
-                assertFalse(canAdd("unused_module_subroutine"));
-                assertTrue(canAdd("private_module_subroutine"));
-            }
-
-            private boolean canAdd(String name)
-            {
-                return checkIfDeclarationCanBeAddedToScope(name, mainProgram, new NullProgressMonitor());
-            }
-        }.runTest();
-    }
-
-    public void testAddDeclsToModule() throws Exception
-    {
-        new FauxFortranRefactoring()
-        {
-            protected void runTest()
-            {
-                assertFalse(canAdd("private_module_subroutine"));
-
-                // These are the same as above, since declaring these in the module
-                // will cause them to be imported into the main program, preventing
-                // the main program from redeclaring them
-
-                assertTrue(canAdd("something_new"));
-                assertFalse(canAdd("assigned_local_variable"));
-                assertFalse(canAdd("AsSiGnEd_LoCaL_vArIaBlE"));
-                assertFalse(canAdd("unused_local_variable"));
-                assertFalse(canAdd("local_variable_accessed_from_internal_subroutine"));
-                // FIXME assertFalse(canAdd("defined_external_subroutine"));
-                assertFalse(canAdd("declared_external_subroutine"));
-                assertFalse(canAdd("undeclared_external_subroutine"));
-                assertFalse(canAdd("internal_subroutine"));
-                assertFalse(canAdd("used_module_subroutine"));
-                assertFalse(canAdd("unused_module_subroutine"));
-            }
-
-            private boolean canAdd(String name)
-            {
-                return checkIfDeclarationCanBeAddedToScope(name, module, new NullProgressMonitor());
-            }
-        }.runTest();
-    }
-
-    public void testAddDeclsToInternalSubprogram() throws Exception
-    {
-        new FauxFortranRefactoring()
-        {
-            protected void runTest()
-            {
-                assertTrue(canAdd("something_new"));
-                assertFalse(canAdd("internal_subroutine"));
-                assertFalse(canAdd("local_variable_accessed_from_internal_subroutine"));
-                assertTrue(canAdd("private_module_subroutine"));
-
-                // These will shadow declarations in an outer scope, but since they're not
-                // referenced, that is OK
-                assertTrue(canAdd("assigned_local_variable"));
-                assertTrue(canAdd("AsSiGnEd_LoCaL_vArIaBlE"));
-                assertTrue(canAdd("unused_local_variable"));
-                assertTrue(canAdd("defined_external_subroutine"));
-                assertTrue(canAdd("declared_external_subroutine"));
-                assertTrue(canAdd("undeclared_external_subroutine"));
-                assertTrue(canAdd("used_module_subroutine"));
-                assertTrue(canAdd("unused_module_subroutine"));
-            }
-
-            private boolean canAdd(String name)
-            {
-                return checkIfDeclarationCanBeAddedToScope(name, internalSubroutine, new NullProgressMonitor());
-            }
-        }.runTest();
-    }
-
-    /**
-     * This is intended to be subclassed in order to gain access to the protected methods of
-     * {@link FortranEditorRefactoring} to test those methods.
-     *
-     * @author Jeff Overbey
-     */
-    private class FauxFortranRefactoring extends FortranEditorRefactoring
-    {
-        public FauxFortranRefactoring()
-        {
-            this.vpg = PhotranVPG.getInstance();
-        }
-
-        @Override
-        protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-            throws PreconditionFailure
-        {
-        }
-
-        @Override
-        protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-            throws PreconditionFailure
-        {
-        }
-
-        @Override
-        protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-        {
-        }
-
-        @Override
-        public String getName()
-        {
-            return null;
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/ReindenterTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/ReindenterTestCase.java
deleted file mode 100644
index d104a82..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/ReindenterTestCase.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.infrastructure;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.net.URISyntaxException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
-
-public class ReindenterTestCase extends PhotranWorkspaceTestCase
-{
-    private static final String DIR = "refactoring-test-code/infrastructure/reindenter";
-
-    protected String filename = null;
-    protected Strategy strategy;
-    private int fromLine;
-    private int thruLine;
-
-    public ReindenterTestCase() {;}  // when JUnit invokes a subclass outside a test suite
-
-    public ReindenterTestCase(String filename, Strategy strategy)
-    {
-        this.filename = filename;
-        this.strategy = strategy;
-        this.setName("test");
-    }
-
-    public void test() throws Exception
-    {
-        if (filename == null) return; // when JUnit invokes this outside a test suite
-
-        final IFile thisFile = importFile(Activator.getDefault(), DIR, filename);
-
-        IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(thisFile);
-        assertNotNull(ast);
-
-        Reindenter.reindent(fromLine, thruLine, ast, strategy);
-
-        thisFile.setContents(
-            new ByteArrayInputStream(SourcePrinter.getSourceCodeFromAST(ast).getBytes()),
-            true,
-            false,
-            new NullProgressMonitor());
-
-        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-
-        assertEquals(
-            readTestFile(filename + ".result"), // expected result
-            readWorkspaceFile(filename));       // actual refactored file
-    }
-
-    @Override protected String readTestFile(Plugin activator, String srcDir, String filename) throws IOException, URISyntaxException
-    {
-        String result = super.readTestFile(activator, srcDir, filename);
-
-        int startOffset = result.lastIndexOf('\n', result.indexOf("!<<<<<START")) + 1;
-        int endOffset = result.indexOf("!<<<<<END");
-        if (startOffset < 0 || endOffset < 0 || endOffset <= startOffset)
-            throw new Error("Malformed test case");
-
-        determineLinesFromOffsets(result, startOffset, endOffset);
-
-        return result;
-    }
-
-    private void determineLinesFromOffsets(String result, int startOffset, int endOffset)
-    {
-        int line = 1;
-
-        for (int i = 0; i < result.length(); i++)
-        {
-            if (i == startOffset)
-                this.fromLine = line;
-
-            if (i == endOffset)
-                this.thruLine = line;
-
-            if (result.charAt(i) == '\n')
-                line++;
-        }
-    }
-
-    protected String readTestFile(String filename) throws IOException, URISyntaxException
-    {
-        return super.readTestFile(Activator.getDefault(), DIR, filename);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/ReindenterTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/ReindenterTestSuite.java
deleted file mode 100644
index a3d23d5..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/ReindenterTestSuite.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-
-/**
- * @author Esfar Huq
- * @author Rui Wang - Added additional test cases for reindent by line
- */
-package org.eclipse.photran.internal.tests.refactoring.infrastructure;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;
-
-public class ReindenterTestSuite extends TestSuite
-{
-    public static Test suite() throws Exception
-    {
-        TestSuite suite = new TestSuite();
-        suite.addTest(getSuiteFor("01-simple.f90", Strategy.REINDENT_EACH_LINE));
-        suite.addTest(getSuiteFor("02-end-after.f90", Strategy.SHIFT_ENTIRE_BLOCK));
-        suite.addTest(getSuiteFor("03-blank-after.f90", Strategy.SHIFT_ENTIRE_BLOCK));
-        suite.addTest(getSuiteFor("04-guess-indent.f90", Strategy.SHIFT_ENTIRE_BLOCK));
-        suite.addTest(getSuiteFor("05-eachline-test.f90", Strategy.REINDENT_EACH_LINE));
-        suite.addTest(getSuiteFor("06-continuation-test.f90",Strategy.REINDENT_EACH_LINE));
-        suite.addTest(getSuiteFor("07-singleLineIf-test.f90",Strategy.REINDENT_EACH_LINE));
-        suite.addTest(getSuiteFor("08-labelAndComments-test.f90",Strategy.REINDENT_EACH_LINE));
-        suite.addTest(getSuiteFor("09-bug331904.f90",Strategy.REINDENT_EACH_LINE));
-        suite.addTest(getSuiteFor("10-continue.f90",Strategy.REINDENT_EACH_LINE));
-        suite.addTest(getSuiteFor("11-select-case.f90",Strategy.REINDENT_EACH_LINE));
-        suite.addTest(getSuiteFor("12-line-continuations.f90",Strategy.REINDENT_EACH_LINE));
-
-        return suite;
-    }
-    
-    private static TestSuite getSuiteFor(String baseFilename, Strategy strategy)
-    {
-        TestSuite subSuite = new TestSuite("Reindenting " + baseFilename);
-        subSuite.addTest(new ReindenterTestCase(baseFilename, strategy));
-        return subSuite;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestChangeText.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestChangeText.java
deleted file mode 100644
index a7d4a7d..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestChangeText.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.infrastructure;
-
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTProgramNameNode;
-import org.eclipse.photran.internal.core.parser.ASTProgramStmtNode;
-import org.eclipse.photran.internal.core.parser.IProgramUnit;
-
-public class TestChangeText extends AbstractSourceEditorTestCase
-{
-    public void testChangeProggie() throws Exception
-    {
-        ASTExecutableProgramNode ast = load("hello-1-initial.f90");
-        IProgramUnit programUnit1 = ast.getProgramUnitList().get(0);
-        ASTMainProgramNode mainProgram = (ASTMainProgramNode)programUnit1;
-        ASTProgramStmtNode programStmt = mainProgram.getProgramStmt();
-        ASTProgramNameNode programName = programStmt.getProgramName();
-        Token proggie = programName.getProgramName();
-        
-        proggie.setText("p");
-        assertEquals(load("hello-2-proggie-shorter.f90"), ast);
-        
-        proggie.setText("proggiedoggie");
-        assertEquals(load("hello-3-proggie-longer.f90"), ast);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestRemove.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestRemove.java
deleted file mode 100644
index 5823707..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestRemove.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.infrastructure;
-
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IInternalSubprogram;
-
-public class TestRemove extends AbstractSourceEditorTestCase
-{
-    public void testRemoveQ() throws Exception
-    {
-        ASTExecutableProgramNode ast = load("hello-1-initial.f90");
-        IASTListNode<IInternalSubprogram> subprograms = ((ASTMainProgramNode)ast.getProgramUnitList().get(0)).getInternalSubprograms();
-        subprograms.remove(0);
-        assertEquals(load("hello-4-q-cut.f90"), ast);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestSeparatedListRemoval.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestSeparatedListRemoval.java
deleted file mode 100644
index fd08b70..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/infrastructure/TestSeparatedListRemoval.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.infrastructure;
-
-import java.io.IOException;
-
-import org.eclipse.photran.internal.core.SyntaxException;
-import org.eclipse.photran.internal.core.lexer.LexerException;
-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.tests.PhotranTestCase;
-
-/**
- * Test to verify that ASTSeparatedListNode#remove correctly removes commas
- * 
- * @author Jeff Overbey
- */
-public class TestSeparatedListRemoval extends PhotranTestCase
-{
-    public void testSeparatedListRemoval() throws IOException, LexerException, SyntaxException
-    {
-        ASTTypeDeclarationStmtNode stmt = parseStmt("integer a, b, c, d, e");
-        IASTListNode<ASTEntityDeclNode> decls = stmt.getEntityDeclList();
-        decls.remove(0);
-        assertEquals("integer b, c, d, e", stmt.toString().trim());
-        ASTEntityDeclNode b = decls.get(0);
-        decls.remove(b);
-        assertEquals("integer c, d, e", stmt.toString().trim());
-        decls.remove(1);
-        assertEquals("integer c, e", stmt.toString().trim());
-        decls.remove(1);
-        assertEquals("integer c", stmt.toString().trim());
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename1.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename1.java
deleted file mode 100644
index 6f3f7c5..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename1.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename1 extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME1.F90, AND
-    // GROUP THEM ACCORDING TO WHICH ONES SHOULD BE RENAMED TOGETHER
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String filename = "rename1.f90";
-    
-    private Ident intInMain = var(filename, "int", new LineCol[] { lc(11,10), lc(17,16), lc(23,20) });
-    private Ident subInMain = var(filename, "sub", new LineCol[] { lc(24,16), lc(25,20) });
-    
-    private Ident[] mainVars = new Ident[] {
-        var(filename, "two", new LineCol[] { lc(2,27), lc(7,40), lc(9,23) }),
-        var(filename, "three", new LineCol[] { lc(3,27), lc(4,23), lc(5,13), lc(6,15), lc(7,33), lc(7,66), lc(9,28) }),
-        var(filename, "a", new LineCol[] { lc(4,16), lc(9,14) }),
-        var(filename, "b", new LineCol[] { lc(4,19), lc(9,17) }),
-        var(filename, "not_shadowed", new LineCol[] { lc(5,23), lc(9,35), lc(21,16) }),
-        var(filename, "c", new LineCol[] { lc(6,25), lc(9,20) }),
-        var(filename, "shadow_this_1", new LineCol[] { lc(7,16), lc(9,49) }),
-        var(filename, "shadow_this_2", new LineCol[] { lc(7,46), lc(9,64) }),
-        var(filename, "implicit", new LineCol[] { lc(8,5), lc(9,79), lc(21,64) }),
-        intInMain
-    };
-    
-    private Ident shadowThis1IntShadow = var(filename, "shadow_this_1", new LineCol[] { lc(18,18), lc(21,30) });
-    private Ident shadowThis2IntShadow = var(filename, "shadow_this_2", new LineCol[] { lc(19,18), lc(21,45) });
-    
-    private Ident main = var(filename, "Main", new LineCol[] { lc(1,9), lc(26,13) });
-    private Ident ext = var(filename, "ext", new LineCol[] { lc(12,10), lc(22,12), lc(27,12), lc(33,16) });
-    
-    private Ident twoInExt = var(filename, "two", new LineCol[] { lc(28,14), lc(31,18) });
-    
-    private Ident intContained = var(filename, "int", new LineCol[] { lc(30,16), lc(32,20) });
-    
-    private Ident[] otherVars = new Ident[] { shadowThis1IntShadow, shadowThis2IntShadow, main, ext, twoInExt, intContained };
-    
-    private Ident intrinsic = var(filename, "selected_real_kind", new LineCol[] { lc(3,35) });
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new Rename1();
-    }
-    
-    public Rename1() throws Exception
-    {
-        addSuccessTests();
-        addFailNotAnIdentifier();
-        addFailIntrinsicProcedure();
-        addFailConflictInSameScope();
-        addFailConflictInReference();
-    }
-    
-    public void addSuccessTests()
-    {
-        startTests("Renaming local variables in main program");
-        for (Ident v : mainVars)
-        {
-            addSuccessTests(v, v.getName() + v.getName());
-            addSuccessTests(v, "z");
-            addSuccessTests(v, "if");
-        }
-        endTests();
-        
-        startTests("Renaming variables outside main program");
-        for (Ident v : otherVars)
-        {
-            addSuccessTests(v, v.getName() + v.getName());
-            addSuccessTests(v, "z");
-            addSuccessTests(v, "if");
-        }
-        endTests();
-    }
-
-    public void addFailNotAnIdentifier() throws Exception
-    {
-        startTests("Check: Not an identifier");
-        for (Ident v : mainVars)
-        {
-            addPreconditionTests(v, "");
-            addPreconditionTests(v, "\u0080"); // Euro symbol
-            addPreconditionTests(v, "3");
-            addPreconditionTests(v, "hello world");
-            addPreconditionTests(v, "\"hello world\"");
-        }
-        endTests();
-    }
-    
-    public void addFailIntrinsicProcedure() throws Exception
-    {
-        startTests("Check: Cannot rename intrinsic procedures");
-        addPreconditionTests(intrinsic, "new_name");
-        endTests();
-    }
-    
-    public void addFailConflictInSameScope() throws Exception
-    {
-        startTests("Check: Local variable name conflicts in local scope (main program)");
-        for (int i = 0; i < mainVars.length; i++)
-            addPreconditionTests(mainVars[i], mainVars[Math.max(i-1, 0)].getName());
-        endTests();
-
-        startTests("Check: Local variable name conflicts with capitalization changed");
-        for (int i = 0; i < mainVars.length; i++)
-            if (!mainVars[i].getName().equalsIgnoreCase(mainVars[Math.max(i-1, 0)].getName())) // FIXME AltRename differs
-                addPreconditionTests(mainVars[i], mainVars[Math.max(i-1, 0)].getName().toUpperCase());
-        endTests();
-    }
-    
-    public void addFailConflictInReference() throws Exception
-    {
-        startTests("Check: Conflicts outside local scope");
-        addPreconditionTests(main, "int"); // FIXME: Bug -- should be addPreconditionTests
-        addPreconditionTests(main, "ext");
-        addPreconditionTests(intInMain, "Main");
-        addPreconditionTests(intInMain, "ext");
-        addPreconditionTests(subInMain, "int");
-        addPreconditionTests(subInMain, "ext");
-        addPreconditionTests(ext, "int"); // conflict due to reference in Main
-        addPreconditionTests(ext, "sub"); // will change interpretation of ext call in Main
-        addPreconditionTests(ext, "Main");
-        addSuccessTests(intContained, "sub");
-        addSuccessTests(intContained, "Main");
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename2.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename2.java
deleted file mode 100644
index 9159e4a..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename2.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename2 extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME2.F90, AND
-    // GROUP THEM ACCORDING TO WHICH ONES SHOULD BE RENAMED TOGETHER
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String filename = "rename2.f90";
-    
-    private Ident[] vars = new Ident[]
-    {
-        var(filename, "Main", new LineCol[] { lc(2,9), lc(27,13) }),
-        var(filename, "one", new LineCol[] { lc(4,16), lc(12,14), lc(16,11), lc(20,11) }),
-        var(filename, "two", new LineCol[] { lc(5,27), lc(10,13), lc(13,14), lc(17,14) }),
-        var(filename, "three", new LineCol[] { lc(6,16), lc(14,9), lc(18,9) }),
-        var(filename, "four", new LineCol[] { lc(10,21), lc(15,14), lc(19,14) })
-    };
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new Rename2();
-    }
-    
-    public Rename2() throws Exception
-    {
-        startTests("Renaming program with comments and line continuations");
-        for (String name : new String[] { "z", "a_really_really_long_name" })
-            for (Ident var : vars)
-                addSuccessTests(var, name);
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename3.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename3.java
deleted file mode 100644
index 3bdbed6..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename3.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename3 extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME3*.F90
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String file = "rename3.f90";
-    private String filea = "rename3a.f90";
-    private String fileb = "rename3b.f90";
-    private String filec = "rename3c.f90";
-
-    private Ident myProgram = var("MyProgram");
-    private Ident aRenamed3 = var("a_renamed3");
-    private Ident bRenamed3 = var("b_renamed3");
-    private Ident contained = var("contained");
-    private Ident external = var("external");
-    
-    private Ident moduleA = var("module_a");
-    private Ident aSub1of3 = var("a_sub1of3");
-    private Ident aSub2of3 = var("a_sub2of3");
-    private Ident aSub3of3 = var("a_sub3of3");
-    
-    private Ident moduleB = var("module_b");
-    private Ident bSub1of3 = var("b_sub1of3");
-    private Ident bSub2of3 = var("b_sub2of3");
-    private Ident bSub3of3 = var("b_sub3of3");
-    
-    private Ident moduleC = var("module_c");
-    private Ident cSub = var("c_sub");
-    
-    // Note that the order here determines the order in the expectSuccess matrix below
-    private Ident[] allVars = new Ident[]
-    {
-        myProgram, aRenamed3, bRenamed3, contained, external,
-        moduleA, aSub1of3, aSub2of3, aSub3of3,
-        moduleB, bSub1of3, bSub2of3, bSub3of3,
-        moduleC, cSub
-    };
-    
-    private boolean[][] expectSuccess = new boolean[][]
-    {
-        // IMPORTANT:
-        // * Modules can't be renamed, hence the rows of "false" for moduleA, moduleB, and moduleC
-        // * The rename refactoring requires that the new name not be identical to the old name, hence "false" along the diagonal
-        
-        /* vvv can be renamed to >>>    myProgram, aRenamed3, bRenamed3, contained, external, moduleA, aSub1of3, aSub2of3, aSub3of3, moduleB, bSub1of3, bSub2of3, bSub3of3, moduleC, cSub
-        /* myProgram */ new boolean[] { false,     false,     false,     false,     false,    true,    false,    false,    true,     true,    true,     false,    true,     true,    true  },
-        /* aRenamed3 */ new boolean[] { false,     false,     false,     false,     false,    true,    false,    false,    true,     true,    true,     false,    true,     true,    true  },
-        /* bRenamed3 */ new boolean[] { false,     false,     false,     false,     false,    true,    false,    false,    true,     true,    true,     false,    true,     true,    true  },
-        /* contained */ new boolean[] { false,     false,     false,     false,     false,    true,    false,    false,    true,     true,    true,     false,    true,     true,    true  },
-        /* external  */ new boolean[] { false,     false,     false,     false,     false,    true,    false,    false,    true,     true,    true,     false,    true,     true,    true  },
-        /* moduleA   */ new boolean[] { false,     false,     false,     false,     false,    false,   false,    false,    false,    false,   false,    false,    false,    false,   false },
-        /* aSub1of3  */ new boolean[] { false,     false,     false,     false,     false,    false,   false,    false,    false,    true,    true,     false,    true,     true,    true  },
-        /* aSub2of3  */ new boolean[] { false,     false,     false,     false,     false,    false,   false,    false,    false,    true,    true,     false,    true,     true,    true  },
-        /* aSub3of3  */ new boolean[] { true,      true,      true,      true,      true,     false,   false,    false,    false,    true,    true,     true,     true,     true,    true  },
-        /* moduleB   */ new boolean[] { false,     false,     false,     false,     false,    false,   false,    false,    false,    false,   false,    false,    false,    false,   false },
-        /* bSub1of3  */ new boolean[] { true,      true,      true,      true,      true,     true,    true,     true,     true,     false,   false,    false,    false,    true,    false },
-        /* bSub2of3  */ new boolean[] { false,     false,     false,     false,     false,    true,    false,    false,    true,     false,   false,    false,    false,    true,    false,},
-        /* bSub3of3  */ new boolean[] { true,      true,      true,      true,      true,     true,    true,     true,     true,     false,   false,    false,    false,    true,    false },
-        /* moduleC   */ new boolean[] { false,     false,     false,     false,     false,    false,   false,    false,    false,    false,   false,    false,    false,    false,   false },
-        /* cSub      */ new boolean[] { true,      true,      true,      true,      true,     true,    true,     true,     true,     false,   false,    false,    false,    false,   false },
-    };
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new Rename3();
-    }
-    
-    public Rename3() throws Exception
-    {
-        myProgram.addReferences(file, new LineCol[] { lc(1,9) });
-        aRenamed3.addReferences(file, new LineCol[] { lc(2,17), lc(9,8) });
-        bRenamed3.addReferences(file, new LineCol[] { lc(3,34), lc(11,8) });
-        contained.addReferences(file, new LineCol[] { lc(15,14), lc(12,8) });
-        external.addReferences(file, new LineCol[] { lc(18,12), lc(13,8) });
-        moduleA.addReferences(file, new LineCol[] { lc(2,7) });
-        aSub1of3.addReferences(file, new LineCol[] { lc(7,8) });
-        aSub2of3.addReferences(file, new LineCol[] { lc(8,8) });
-        aSub3of3.addReferences(file, new LineCol[] { lc(2,31) });
-        moduleB.addReferences(file, new LineCol[] { lc(3,7) });
-        bSub1of3.addReferences(file, new LineCol[] {});
-        bSub2of3.addReferences(file, new LineCol[] { lc(3, 23), lc(10,8) });
-        bSub3of3.addReferences(file, new LineCol[] { lc(3,48) });
-        moduleC.addReferences(file, new LineCol[] {});
-        cSub.addReferences(file, new LineCol[] {});
-        
-        myProgram.addReferences(filea, new LineCol[] {});
-        aRenamed3.addReferences(filea, new LineCol[] {});
-        bRenamed3.addReferences(filea, new LineCol[] {});
-        contained.addReferences(filea, new LineCol[] {});
-        external.addReferences(filea, new LineCol[] {});
-        moduleA.addReferences(filea, new LineCol[] { lc(1,8) });
-        aSub1of3.addReferences(filea, new LineCol[] { lc(3,16) });
-        aSub2of3.addReferences(filea, new LineCol[] { lc(4,16) });
-        aSub3of3.addReferences(filea, new LineCol[] { lc(5,16) });
-        moduleB.addReferences(filea, new LineCol[] {});
-        bSub1of3.addReferences(filea, new LineCol[] {});
-        bSub2of3.addReferences(filea, new LineCol[] {});
-        bSub3of3.addReferences(filea, new LineCol[] {});
-        moduleC.addReferences(filea, new LineCol[] {});
-        cSub.addReferences(filea, new LineCol[] {});
-        
-        myProgram.addReferences(fileb, new LineCol[] {});
-        aRenamed3.addReferences(fileb, new LineCol[] {});
-        bRenamed3.addReferences(fileb, new LineCol[] {});
-        contained.addReferences(fileb, new LineCol[] {});
-        external.addReferences(fileb, new LineCol[] {});
-        moduleA.addReferences(fileb, new LineCol[] {});
-        aSub1of3.addReferences(fileb, new LineCol[] {});
-        aSub2of3.addReferences(fileb, new LineCol[] {});
-        aSub3of3.addReferences(fileb, new LineCol[] {});
-        moduleB.addReferences(fileb, new LineCol[] { lc(1,8) });
-        bSub1of3.addReferences(fileb, new LineCol[] { lc(4,16) });
-        bSub2of3.addReferences(fileb, new LineCol[] { lc(5,16) });
-        bSub3of3.addReferences(fileb, new LineCol[] { lc(6,16) });
-        moduleC.addReferences(fileb, new LineCol[] { lc(2,9) });
-        cSub.addReferences(fileb, new LineCol[] { lc(7,12) });
-        
-        myProgram.addReferences(filec, new LineCol[] {});
-        aRenamed3.addReferences(filec, new LineCol[] {});
-        bRenamed3.addReferences(filec, new LineCol[] {});
-        contained.addReferences(filec, new LineCol[] {});
-        external.addReferences(filec, new LineCol[] {});
-        moduleA.addReferences(filec, new LineCol[] {});
-        aSub1of3.addReferences(filec, new LineCol[] {});
-        aSub2of3.addReferences(filec, new LineCol[] {});
-        aSub3of3.addReferences(filec, new LineCol[] {});
-        moduleB.addReferences(filec, new LineCol[] {});
-        bSub1of3.addReferences(filec, new LineCol[] {});
-        bSub2of3.addReferences(filec, new LineCol[] {});
-        bSub3of3.addReferences(filec, new LineCol[] {});
-        moduleC.addReferences(filec, new LineCol[] { lc(1,8) });
-        cSub.addReferences(filec, new LineCol[] { lc(3,16) });
-
-        startTests("Renaming subroutines imported from modules");
-        for (int i = 0; i < allVars.length; i++)
-        {
-            for (int j = 0; j < allVars.length; j++)
-            {
-//        for (int i = 6; i == 6; i++)
-//        {
-//            for (int j = 1; j == 1; j++)
-//            {
-                if (expectSuccess[i][j])
-                    addSuccessTests(allVars[i], allVars[j].getName());
-                else
-                    addPreconditionTests(allVars[i], allVars[j].getName());
-            }
-        }
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename4.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename4.java
deleted file mode 100644
index b8a5b71..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename4.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename4 extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME4*.F90
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String file = "rename4.f90";
-    private String filea = "rename4a.fh";
-    private String fileb = "rename4b.fh";
-
-    private Ident myProgram = var("MyProgram");
-    private Ident hello = var("hello");
-    private Ident goodbye = var("goodbye");
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new Rename4();
-    }
-    
-    public Rename4() throws Exception
-    {
-        myProgram.addReferences(file, new LineCol[] { lc(1,9) });
-        hello.addReferences(file, new LineCol[] { lc(3,12) });
-        goodbye.addReferences(file, new LineCol[] {});
-        
-        myProgram.addReferences(filea, new LineCol[] {});
-        hello.addReferences(filea, new LineCol[] { lc(1,12) });
-        goodbye.addReferences(filea, new LineCol[] { lc(2,12) });
-        
-        myProgram.addReferences(fileb, new LineCol[] {});
-        hello.addReferences(fileb, new LineCol[] { lc(1,10) });
-        goodbye.addReferences(fileb, new LineCol[] {});
-
-        startTests("Renaming file with Fortran INCLUDE lines");
-        addSuccessTests(myProgram, "ziggySockyZiggySockyHoyHoyHoy");
-        addPreconditionTests(myProgram, "hello");
-        addPreconditionTests(hello, "Goodbye");
-        addPreconditionTests(hello, "MyProgram");
-        addPreconditionTests(hello, "ziggySockyZiggySockyHoyHoyHoy");
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename5.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename5.java
deleted file mode 100644
index d0646d3..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename5.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename5 extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME3.F90, AND
-    // GROUP THEM ACCORDING TO WHICH ONES SHOULD BE RENAMED TOGETHER
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String filename = "rename5.f90";
-    
-    private Ident intrinsic1 = var(filename, "selected_int_kind", new LineCol[] { lc(2,14) });
-    private Ident intrinsic2 = var(filename, "null", new LineCol[] { lc(29,33) });
-    
-    //private Ident outerThrice = var(filename, "thrice", new LineCol[] { lc(2,45) });
-    //private Ident outerThriceImpliedResult = var(filename, "thrice", new LineCol[] { lc(4,3) });
-    private Ident outerThriceFunctionAndResult = var(filename, "thrice", new LineCol[] { lc(2,45), lc(4,3), lc(5,14),
-        lc(17,12), lc(17,23), lc(45,20)}); // If statement function removed
-    private Ident outerThriceParam = var(filename, "n", new LineCol[] { lc(2,52), lc(3,17) });
-    
-    private Ident typeType = var(filename, "type", new LineCol[] { lc(7,8), lc(9,12), lc(27,10), lc(29,10), lc(37,9) });
-    private Ident typeComponent = var(filename, "a", new LineCol[] { lc(8,16), lc(35,7), lc(45,9) });
-    
-    //private Ident innerThrice = var(filename, "thrice", new LineCol[] { lc(12,3), lc(17,12), lc(17,23), lc(45,20) });
-    //private Ident innerThriceParam = var(filename, "n", new LineCol[] { lc(12,10), lc(12,17) });
-    
-    private Ident localN = var(filename, "n", new LineCol[] { lc(14,3), lc(17,30), lc(17,34) });
-    
-    //private Ident fFunction = var(filename, "f", new LineCol[] { lc(17,38), lc(17,44), lc(23,30), lc(45,27), lc(46,16) });
-    //private Ident fResult = var(filename, "f", new LineCol[] { lc(47,5), lc(45,16), lc(45,29) });
-    private Ident fFunctionAndResult = var(filename, "f", new LineCol[] { lc(17,38), lc(17,44), lc(23,30), lc(45,27), lc(46,16), lc(43,5), lc(45,16), lc(45,29) });
-    private Ident fParam = var(filename, "a", new LineCol[] { lc(23,33), lc(25,16), lc(32,19), lc(35,11), lc(37,14) });
-    private Ident fx = var(filename, "x", new LineCol[] { lc(27,19), lc(31,15), lc(35,5), lc(37,5), lc(39,10) });
-    private Ident fp = var(filename, "p", new LineCol[] { lc(29,28), lc(39,5) });
-    
-    private Ident[] notRenameable = new Ident[]
-    {
-        intrinsic1, intrinsic2,
-        outerThriceParam, /*innerThriceParam,*/ fParam,
-        typeComponent,
-    };
-    
-    private Ident[] renameable = new Ident[]
-    {
-        outerThriceFunctionAndResult,
-        typeType,
-        /*innerThrice,*/
-        localN,
-        fFunctionAndResult,
-        fx,
-        fp,
-    };
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new Rename5();
-    }
-    
-    public Rename5() throws Exception
-    {
-        //startTests("Renaming program with a shadowing statement function, implied results, and pointers");
-        startTests("Renaming program with implied results and pointers");
-        for (Ident var : notRenameable)
-            addPreconditionTests(var, "z");
-        for (Ident var : renameable)
-            addSuccessTests(var, "z");
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename6.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename6.java
deleted file mode 100644
index aa903d9..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename6.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename6 extends RenameTestSuite
-{
-    private String filename = "rename6.f90";
-    
-    private Ident[] vars = new Ident[] {
-        var(filename, "outer", new LineCol[] { lc(1,21), lc(3,8), lc(9,6) }),
-        var(filename, "i", new LineCol[] { lc(6,23), lc(7,15), lc(15,22), lc(22,30), lc(24,14), lc(26,12), lc(28,23), lc(28,29) }),
-        var(filename, "hi", new LineCol[] { lc(7,27), lc(18,16), lc(18,30), lc(22,6) }),
-        var(filename, "bye", new LineCol[] { lc(7,38), lc(18,20), lc(18,40), lc(22,9) }),
-        var(filename, "ty", new LineCol[] { lc(15,2), lc(15,2), lc(15,9), lc(22,13) }),
-        var(filename, "array", new LineCol[] { lc(10,12), lc(24,6), lc(26,6), lc(28,7) }),
-        var(filename, "nl1", new LineCol[] { lc(18,11), lc(19,14) }),
-        var(filename, "nl2", new LineCol[] { lc(18,25) }),
-        var(filename, "nl3", new LineCol[] { lc(18,35) }),
-        var(filename, "j", new LineCol[] { lc(5,12), lc(28,13), lc(28,17) }),
-    };
-    
-    public static Test suite() throws Exception
-    {
-        return new Rename6();
-    }
-    
-    public Rename6() throws Exception
-    {
-        startTests("Renaming local variables: nested derived type and namelists");
-        for (Ident v : vars)
-            addSuccessTests(v, "zzzzz");
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename7.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename7.java
deleted file mode 100644
index 20f5bb1..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename7.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename7 extends RenameTestSuite
-{
-    private String filename = "rename7.f90";
-    
-    private Ident[] vars = new Ident[] {
-        var(filename, "v1", new LineCol[] { lc(6,12), lc(8,18), lc(12,6) }),
-        var(filename, "v2", new LineCol[] { lc(6,16), lc(8,22), lc(12,10) }),
-        var(filename, "v3", new LineCol[] { lc(6,20), lc(8,28) }),
-        var(filename, "v4", new LineCol[] { lc(6,24), lc(8,41) }),
-        var(filename, "v5", new LineCol[] { lc(6,28), lc(8,45) }),
-        var(filename, "common1", new LineCol[] { lc(8,9), /*lc(8,32),*/ lc(10,7) }),
-    };
-    
-    private Ident bdn = var(filename, "bdn", new LineCol[] { lc(2,12), lc(14,16) });
-    
-    public static Test suite() throws Exception
-    {
-        return new Rename7();
-    }
-    
-    public Rename7() throws Exception
-    {
-        startTests("Renaming local variables: common blocks and block data");
-        
-        addSuccessTests(bdn, "zzzzz");
-        for (Ident v : vars)
-        	addSuccessTests(bdn, v.getName());
-
-        for (Ident v1 : vars)
-        {
-            addSuccessTests(v1, "zzzzz");
-            
-            for (Ident v2 : vars)
-            	addPreconditionTests(v1, v2.getName());
-        }
-
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename8.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename8.java
deleted file mode 100644
index 154c53f..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename8.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename8 extends RenameTestSuite
-{
-    private String filename = "rename8.f90";
-    
-    private Ident f = var(filename, "f", new LineCol[] { lc(4,10), lc(28,14) });
-    private Ident g_paramOfF = var(filename, "g", new LineCol[] { lc(4,12), lc(11,31), lc(23,18) });
-    private Ident q = var(filename, "q", new LineCol[] { lc(4,22), lc(7,23), lc(26,3) });
-    private Ident h = var(filename, "h", new LineCol[] { lc(11,33), lc(15,35), lc(18,22) });
-    private Ident x_paramOfG = var(filename, "x", new LineCol[] { lc(11,36), lc(21,39) });
-    private Ident x_paramOfH = var(filename, "x", new LineCol[] { lc(15,37), lc(17,43) });
-    private Ident g_function = var(filename, "g", new LineCol[] { lc(30,18), lc(30,23), lc(30,43) });
-    
-    // Note that the order here determines the order in the expectSuccess matrix below
-    private Ident[] allVars = new Ident[]
-    {
-        f, g_paramOfF, q, h, x_paramOfG, x_paramOfH, g_function
-    };
-
-    private boolean[][] expectSuccess = new boolean[][]
-      {
-          // IMPORTANT:
-          // * Subprogram arguments cannot be renamed
-          // * x cannot be renamed to x
-          
-          /* vvv can be renamed to >>>     f      g_paramOfF q      h      x_paramOfG x_paramOfH g_function   
-          /* f          */ new boolean[] { false, false,     false, true,  true,      true,      false },
-          /* g_paramOfF */ new boolean[] { false, false,     false, false, false,     false,     false },
-          /* q          */ new boolean[] { false, false,     false, true,  true,      true,      false },
-          /* h          */ new boolean[] { false, false,     false, false, false,     false,     false },
-          /* x_paramOfG */ new boolean[] { false, false,     false, false, false,     false,     false },
-          /* x_paramOfH */ new boolean[] { false, false,     false, false, false,     false,     false },
-          /* g_function */ new boolean[] { false, false,     true,  true,  true,      true,      false },
-      };
-
-    public static Test suite() throws Exception
-    {
-        return new Rename8();
-    }
-    
-    public Rename8() throws Exception
-    {
-        startTests("Renaming subroutine arguments");
-        for (int i = 0; i < allVars.length; i++)
-        {
-            for (int j = 0; j < allVars.length; j++)
-            {
-                if (expectSuccess[i][j])
-                    addSuccessTests(allVars[i], allVars[j].getName());
-                else
-                    addPreconditionTests(allVars[i], allVars[j].getName());
-            }
-        }
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename9.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename9.java
deleted file mode 100644
index 5506717..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/Rename9.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename9 extends RenameTestSuite
-{
-    private String filename = "rename9.f90";
-    
-    private Ident i1 = var(filename, "i1", new LineCol[] { lc(3,14), lc(36,12) });
-    private Ident j1 = var(filename, "j1", new LineCol[] { lc(4,23) });
-    private Ident k1 = var(filename, "k1", new LineCol[] { lc(5,14), lc(7,31) });
-    private Ident f1 = var(filename, "f1", new LineCol[] { lc(12,20), lc(12,26), lc(36,24) });
-    private Ident i2 = var(filename, "i2", new LineCol[] { lc(17,14) });
-    private Ident j2 = var(filename, "j2", new LineCol[] { lc(18,22), lc(39,16) });
-    private Ident k2 = var(filename, "k2", new LineCol[] { lc(20,13), lc(22,31), lc(39,20) });
-    private Ident f2 = var(filename, "f2", new LineCol[] { lc(27,20), lc(27,26) });
-    private Ident j1implicit = var(filename, "j1", new LineCol[] { lc(36,16) });
-    private Ident k1implicit = var(filename, "k1", new LineCol[] { lc(36,20) });
-    private Ident zimplicit = var(filename, "z", new LineCol[] { lc(36,30) });
-    private Ident i2implicit = var(filename, "i2", new LineCol[] { lc(39,12) });
-    private Ident f2implicit = var(filename, "f2", new LineCol[] { lc(39,29) });
-    
-    // Note that the order here determines the order in the expectSuccess matrix below
-    private Ident[] allVars = new Ident[]
-    {
-        i1, j1, k1, f1, i2, j2, k2, f2, j1implicit, k1implicit, zimplicit, i2implicit, f2implicit
-    };
-
-    private boolean[][] expectSuccess = new boolean[][]
-      {
-          // IMPORTANT:
-          // * Subprogram arguments cannot be renamed
-          // * x cannot be renamed to x
-          // * j1 and j1implicit have the SAME NAME, so their columns should be identical (same for k1, etc.)
-          
-          /* vvv can be renamed to >>>     i1     j1     k1     f1     i2     j2     k2     f2     j1implicit k1implicit zimplicit i2implicit f2implicit   
-          /* i1         */ new boolean[] { false, false, false, false, false, false, false, false, false,     false,     false,    false,     false },
-          /* j1         */ new boolean[] { false, false, false, false, true,  true,  true,  true,  false,     false,     true,     true,      true  },
-          /* k1         */ new boolean[] { false, false, false, false, true,  true,  true,  true,  false,     false,     false,    true,      true  },
-          /* f1         */ new boolean[] { false, false, false, false, false, false, false, false, false,     false,     false,    false,     false },
-          /* i2         */ new boolean[] { true,  true,  true,  true,  false, false, false, false, true,      true,      true,     false,     false },
-          /* j2         */ new boolean[] { false, false, false, false, false, false, false, false, false,     false,     false,    false,     false },
-          /* k2         */ new boolean[] { false, false, false, false, false, false, false, false, false,     false,     false,    false,     false },
-          /* f2         */ new boolean[] { true,  true,  true,  true,  false, false, false, false, true,      true,      true,     false,     false },
-          /* j1implicit */ new boolean[] { false, false, false, false, false, false, false, false, false,     false,     false,    false,     false },
-          /* k1implicit */ new boolean[] { false, false, false, false, false, false, false, false, false,     false,     false,    false,     false },
-          /* zimplicit  */ new boolean[] { false, false, false, false, false, false, false, false, false,     false,     false,    false,     false },
-          /* i2implicit */ new boolean[] { false, false, false, false, false, false, false, false, false,     false,     false,    false,     false },
-          /* f2implicit */ new boolean[] { false, false, false, false, false, false, false, false, false,     false,     false,    false,     false },
-      };
-
-    public static Test suite() throws Exception
-    {
-        return new Rename9();
-    }
-    
-    public Rename9() throws Exception
-    {
-        startTests("Renaming in module with interfaces and visibilities");
-        for (int i = 0; i < allVars.length; i++)
-        {
-            addSuccessTests(allVars[i], "something_different");
-            for (int j = 0; j < allVars.length; j++)
-            {
-                if (expectSuccess[i][j])
-                    addSuccessTests(allVars[i], allVars[j].getName());
-                else
-                    addPreconditionTests(allVars[i], allVars[j].getName());
-            }
-        }
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278103.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278103.java
deleted file mode 100644
index 925a098..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278103.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class RenameBug278103 extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF ALL IDENTIFIERS IN BUG278103-*.F90
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String filem = "bug278103-mod.f90";
-    private String filep = "bug278103-prog.f90";
-    private String files = "bug278103-subs.f90";
-
-    private Ident dim = var("DIM");
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new RenameBug278103();
-    }
-    
-    public RenameBug278103() throws Exception
-    {
-        dim.addReferences(filem, new LineCol[] { lc(3,27), lc(11,22) });
-        dim.addReferences(filep, new LineCol[] { lc(14,24), lc(16,22) });
-        dim.addReferences(files, new LineCol[] { lc(5,22), lc(9,14), lc(11,23) });
-
-        startTests("Renaming file exercising Bug 278103");
-        addSuccessTests(dim, "something_else");
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278106_Visibility.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278106_Visibility.java
deleted file mode 100644
index 34383cc..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278106_Visibility.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class RenameBug278106_Visibility extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF ALL IDENTIFIERS IN BUG278106.F90
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String file = "bug278106-visibility.f90";
-
-    private Ident m1_m1a = var("m1a");
-    private Ident m1_m1b = var("m1b");
-    
-    private Ident s1_m1b = var("m1b");
-
-    private Ident s2_m1a = var("m1a");
-    private Ident s2_m1b = var("m1b");
-    
-    private Ident s3_m1b = var("m1b");
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new RenameBug278106_Visibility();
-    }
-    
-    public RenameBug278106_Visibility() throws Exception
-    {
-        m1_m1a.addReferences(file, new LineCol[] { lc(2,14), lc(14,12), lc(32,13), lc(39,12) });
-        m1_m1b.addReferences(file, new LineCol[] { lc(2,19), lc(7,14) });
-        
-        s1_m1b.addReferences(file, new LineCol[] { lc(13,14), lc(14,17) });
-
-        s2_m1a.addReferences(file, new LineCol[] { lc(24,14), lc(26,12) });
-        s2_m1b.addReferences(file, new LineCol[] { lc(25,14), lc(26,17) });
-        
-        s3_m1b.addReferences(file, new LineCol[] { lc(38,14), lc(39,17) });
-
-        startTests("Renaming file exercising Bug 278324");
-        addSuccessTests(m1_m1a, "something_else");
-        addSuccessTests(m1_m1b, "something_else");
-        addSuccessTests(s1_m1b, "something_else");
-        addSuccessTests(s2_m1a, "something_else");
-        addSuccessTests(s2_m1b, "something_else");
-        addSuccessTests(s3_m1b, "something_else");
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278320.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278320.java
deleted file mode 100644
index ef631ac..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278320.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class RenameBug278320 extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITION OF MODULE_ARRAY IN BUG278320-*.F90
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String prog_file = "bug278320-prog.f90";
-    private String mod_file = "bug278320-mod.f90";
-
-    private Ident module_array = var("module_array");
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new RenameBug278320();
-    }
-    
-    public RenameBug278320() throws Exception
-    {
-        module_array.addReferences(prog_file, new LineCol[] { lc(5,5), lc(6,17) });
-        module_array.addReferences(mod_file, new LineCol[] { lc(3,28) });
-
-        startTests("Renaming file exercising Bug 278320");
-        addSuccessTests(module_array, "something_else");
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278324.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278324.java
deleted file mode 100644
index d887730..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameBug278324.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class RenameBug278324 extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF ALL IDENTIFIERS IN BUG278324.F90
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String file = "bug278324.f90";
-
-    private Ident parmValFormat = var("parmValFormat");
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new RenameBug278324();
-    }
-    
-    public RenameBug278324() throws Exception
-    {
-        parmValFormat.addReferences(file, new LineCol[] { lc(3,25), lc(5,11), lc(6,15) });
-
-        startTests("Renaming file exercising Bug 278324");
-        addSuccessTests(parmValFormat, "something_else");
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameExtSub1.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameExtSub1.java
deleted file mode 100644
index 8cf3723..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameExtSub1.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-/**
- * Rename refactoring tests ensuring that renaming external subprograms also
- * updates references in other files and in INTERFACE blocks
- * 
- * @author Jeff Overbey
- */
-public class RenameExtSub1 extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF SUBPROGRAM IDENTIFIERS IN RENAME-EXTSUB1-*.F90
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String file1 = "rename-extsub1-a.f90";
-    private String file2 = "rename-extsub1-b.f90";
-
-    private Ident ext1 = var("ext1");
-    private Ident ext2 = var("ext2");
-    private Ident ext3 = var("ext3");
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new RenameExtSub1();
-    }
-    
-    public RenameExtSub1() throws Exception
-    {
-        ext1.addReferences(file1, new LineCol[] { lc(1,12), lc(2,16), lc(6,16), lc(7,20), lc(17,8) });
-        
-        ext2.addReferences(file1, new LineCol[] { lc(9,31), lc(11,18), lc(18,12) });
-        ext2.addReferences(file2, new LineCol[] { lc(1,27), lc(6,3), lc(7,14) });
-        
-        ext3.addReferences(file1, new LineCol[] { lc(13,22), lc(14,18), lc(19,12), lc(23,10), lc(25,14) });
-        ext3.addReferences(file2, new LineCol[] { lc(3,12), lc(5,7) });
-
-        startTests("Renaming file testing aggressive external subprogram binding resolution");
-        addSuccessTests(ext1, "something_else");
-        addSuccessTests(ext2, "something_else");
-        addSuccessTests(ext3, "something_else");
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameFnResult.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameFnResult.java
deleted file mode 100644
index 15eb17a..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameFnResult.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class RenameFnResult extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME-FN-RESULT.F90
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String file = "rename-fn-result.f90";
-
-    private Ident f = var("f");
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new RenameFnResult();
-    }
-    
-    public RenameFnResult() throws Exception
-    {
-        f.addReferences(file, new LineCol[] { lc(1,12), lc(3,12), lc(4,16), lc(5,5), lc(6,16) });
-
-        startTests("Renaming function and implied result variable simultaneously");
-        addSuccessTests(f, "something_else");
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameOverloads.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameOverloads.java
deleted file mode 100644
index 7abb61b..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameOverloads.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-/**
- * Rename refactoring tests ensuring that renaming external subprograms also
- * updates references in other files and in INTERFACE blocks
- * 
- * @author Jeff Overbey
- */
-public class RenameOverloads extends RenameTestSuite
-{
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF SUBPROGRAM IDENTIFIERS IN RENAME-EXTSUB1-*.F90
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private String file = "rename-overloads.f90";
-
-    private Ident module_overload = var("module_overload");
-    private Ident overload_int = var("overload_int");
-    private Ident mp_overload_char = var("overload_char");
-    private Ident ext_overload_char = var("overload_char");
-
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // TEST CASES
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static Test suite() throws Exception
-    {
-        return new RenameOverloads();
-    }
-    
-    public RenameOverloads() throws Exception
-    {
-        module_overload.addReferences(file, new LineCol[] { lc(2,13), lc(7,17), lc(39,10), lc(40,10) });
-        overload_int.addReferences(file, new LineCol[] { lc(3,16), lc(5,20), lc(15,12), lc(18,16), lc(22,16), lc(24,20), lc(33,8), lc(41,10) });
-        mp_overload_char.addReferences(file, new LineCol[] { lc(6,22), lc(9,14), lc(12,18), lc(42,10) });
-        ext_overload_char.addReferences(file, new LineCol[] { lc(26,16), lc(28,20), lc(34,8), lc(46,12), lc(49,16) });
-
-        startTests("Renaming file testing bindings in overload declarations");
-        addSuccessTests(module_overload, "something_else");
-        addSuccessTests(overload_int, "something_else");
-        addSuccessTests(mp_overload_char, "something_else");
-        addSuccessTests(ext_overload_char, "something_else");
-        endTests();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameTestCase.java
deleted file mode 100644
index cd530cb..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameTestCase.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.RenameRefactoring;
-import org.eclipse.photran.internal.core.refactoring.interfaces.IRenameRefactoring;
-import org.eclipse.photran.internal.core.util.LineCol;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
-import org.eclipse.photran.internal.tests.refactoring.rename.RenameTestSuite.Ident;
-
-public abstract class RenameTestCase extends PhotranWorkspaceTestCase
-{
-    private static final String DIR = "refactoring-test-code/rename";
-
-    private static NullProgressMonitor pm = new NullProgressMonitor();
-
-    protected String filename;
-    protected Ident variable;
-    protected LineCol position;
-    protected String newName;
-
-    public RenameTestCase() {;}  // when JUnit invokes a subclass outside a test suite
-
-    public RenameTestCase(String filename, Ident variable, LineCol position, String newName)
-    {
-        this.filename = filename;
-        this.variable = variable;
-        this.newName = newName;
-        this.position = position;
-        this.setName("test");
-    }
-    
-//    public void testLevenshtein()
-//    {
-//        assertEquals(0, levenshteinDistance("", ""));
-//        assertEquals(0, levenshteinDistance("kitten", "kitten"));
-//        assertEquals(6, levenshteinDistance("", "kitten"));
-//        assertEquals(6, levenshteinDistance("kitten", ""));
-//        assertEquals(3, levenshteinDistance("kitten", "sitting"));
-//        assertEquals(3, levenshteinDistance("kitten", "kit"));
-//        assertEquals(1, levenshteinDistance("kitten", "kittten"));
-//        assertEquals(2, levenshteinDistance("kitten", "kien"));
-//    }
-
-    /**
-     * Computes the Levenshtein distance between two strings.
-     *
-     * @return the Levenshtein distance between <code>s</code> and <code>t</code>
-     */
-    /*
-     * This is a well-known algorithm; see, for example,
-     * http://en.wikipedia.org/wiki/Levenshtein_distance
-     */
-    protected int levenshteinDistance(String s, String t)
-    {
-        int m = s.length(), n = t.length();
-
-        int[][] d = new int[m+1][n+1];
-
-        for (int i = 1; i <= m; i++)
-            d[i][0] = i;
-        for (int j = 1; j <= n; j++)
-            d[0][j] = j;
-
-        for (int i = 1; i <= m; i++)
-        {
-            for (int j = 1; j <= n; j++)
-            {
-                int cost = s.charAt(i-1) == t.charAt(j-1) ? 0 : 1;
-                d[i][j] = min(d[i-1][j] + 1,       // deletion
-                              d[i][j-1] + 1,       // insertion
-                              d[i-1][j-1] + cost); // substitution
-            }
-        }
-
-        return d[m][n];
-    }
-
-    private int min(int a, int b, int c)
-    {
-        return Math.min(Math.min(a, b), c);
-    }
-
-    protected void assertLevDist(String errorMessage, int expected, String s, String t)
-    {
-        int actual = levenshteinDistance(s, t);
-
-        if (actual != expected)
-        {
-            // Use assertEquals so that JUnit will pop up a comparison viewer
-            assertEquals("Unexpected Levenshtein distance " + actual + " (expected " + expected + ") " + errorMessage,
-                         s,
-                         t);
-        }
-    }
-
-    /**
-     * Renames the identifier at the given position in the given workspace file to the given new name.  Files in the workspace
-     * are updated accordingly.
-     */
-    protected void doRename(String filename, LineCol lineCol, String newName, Set<String> allFiles) throws Exception
-    {
-        String description = "Attempt to rename identifier at " + lineCol;
-
-        IRenameRefactoring refactoring = createRefactoring(filename, lineCol, allFiles);
-
-        RefactoringStatus status = refactoring.checkInitialConditions(pm);
-        assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError());
-
-        refactoring.setNewNameForIdentifier(newName);
-
-        status = refactoring.checkFinalConditions(pm);
-        assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-
-        Change change = refactoring.createChange(pm);
-        assertNotNull(description + " returned null Change object", change);
-        assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
-        change.perform(pm);
-
-        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-    }
-
-    /**
-     * Attempts to renames the identifier at the given position in the given workspace file to the given new name, with
-     * the expectation that at least one precondition will fail.  Returns the first failing status.  Does not actually
-     * perform the refactoring.
-     */
-    protected RefactoringStatus attemptRename(String filename, LineCol lineCol, String newName, Set<String> allFiles) throws Exception
-    {
-        IRenameRefactoring refactoring = createRefactoring(filename, lineCol, allFiles);
-
-        RefactoringStatus status = refactoring.checkInitialConditions(pm);
-        if (status.hasError()) return status;
-
-        refactoring.setNewNameForIdentifier(newName);
-
-        status = refactoring.checkFinalConditions(pm);
-        return status;
-    }
-
-    private IRenameRefactoring createRefactoring(final String filename, final LineCol lineCol, final Set<String> allFiles) throws Exception
-    {
-    	PhotranVPG.getInstance().clearDatabase();
-
-        final IFile thisFile = importFile(Activator.getDefault(), DIR, filename);
-        for (String f : allFiles)
-            importFile(Activator.getDefault(), DIR, f);
-
-        // Originally, we called acquireTransientAST on each IFile
-        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
-        //project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); // Runs in separate thread... grrr...
-
-//        System.out.println(filename);
-//        for (String f : allFiles)
-//            System.out.println(f);
-//        PhotranVPG.getInstance().db.printOn(System.out);
-
-        IRenameRefactoring r = createRefactoring();
-        r.initialize(thisFile, new TextSelection(getLineColOffset(filename, lineCol), 0));
-        return r;
-    }
-
-    protected abstract IRenameRefactoring createRefactoring();
-
-    protected String readTestFile(String filename) throws IOException, URISyntaxException
-    {
-        return super.readTestFile(Activator.getDefault(), DIR, filename);
-    }
-
-    public static class ExpectSuccess extends RenameTestCase
-    {
-        public ExpectSuccess() {;}  // when JUnit invokes this outside a test suite
-
-        public ExpectSuccess(String filename, Ident variable, LineCol position, String newName)
-        {
-            super(filename, variable, position, newName);
-        }
-
-        /**
-         * Given an array with all of the positions of identifiers that should be renamed together, try applying the Rename refactoring to
-         * each, and make sure all the others change with it.
-         */
-        public void test() throws Exception
-        {
-            if (filename == null || variable == null || newName == null) return; // when JUnit invokes this outside a test suite
-            //System.out.println("***** " + variable.getName() + " ==> " + newName + " *****");
-
-            doRename(filename, position, newName, variable.getFiles());
-            for (String filename : variable.getFiles())
-            {
-                int totalLevDist = variable.getReferences(filename).length * levenshteinDistance(variable.getName(), newName);
-                assertLevDist("renaming " + variable.getName() + " to " + newName + " (" + position + " - " + variable.getReferences(filename).length + " occurrences)",
-                              totalLevDist,
-                              readTestFile(filename), // original file
-                              readWorkspaceFile(filename)); // refactored file
-            }
-        }
-
-        @Override protected IRenameRefactoring createRefactoring()
-        {
-            return new RenameRefactoring();
-        }
-    }
-
-    public static class ExpectFailure extends RenameTestCase
-    {
-        public ExpectFailure() {;}  // when JUnit invokes this outside a test suite
-
-        public ExpectFailure(String filename, Ident variable, LineCol position, String newName)
-        {
-            super(filename, variable, position, newName);
-        }
-
-        /**
-         * Given an array with all of the positions of identifiers that should be renamed together, try applying the Rename refactoring to
-         * each, and make sure a precondition failure is raised.
-         * @throws Exception
-         */
-        public void test() throws Exception
-        {
-            if (filename == null || variable == null || newName == null) return; // when JUnit invokes this outside a test suite
-            //System.out.println("***** " + variable.getName() + " ==> " + newName + " *****");
-
-            RefactoringStatus status = attemptRename(filename, position, newName, variable.getFiles());
-            assertTrue("Attempting to rename " + variable.getName() + " to " + newName + " in " + filename
-                           + " (" + position + " - " + variable.getReferences(filename).length + " occurrences) "
-                           + "should have failed precondition checking.",
-                       status.hasError());
-        }
-
-        @Override protected IRenameRefactoring createRefactoring()
-        {
-            return new RenameRefactoring();
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameTestSuite.java
deleted file mode 100644
index b165687..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/refactoring/rename/RenameTestSuite.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.refactoring.rename;
-
-import java.util.HashMap;
-import java.util.Set;
-
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public abstract class RenameTestSuite extends TestSuite
-{
-    /**
-     * If this is set to <code>true</code>, a test case will be added where the refactoring is
-     * initiated from every occurrence of the variable name.  If it is <code>false</code>, the
-     * refactoring will only be initiated once for each identifier, and the selection will be
-     * the first occurrence of that identifier in the file.
-     */
-    private static boolean TEST_ALL_REFERENCES = false;
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME1.F90, AND
-    // GROUP THEM ACCORDING TO WHICH ONES SHOULD BE RENAMED TOGETHER
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    
-    public static class Ident
-    {
-        private String name;
-        private HashMap<String, LineCol[]> references;
-        
-        public Ident(String name)
-        {
-            this.name = name;
-            this.references = new HashMap<String, LineCol[]>();
-        }
-        
-        public Ident(String filename, String name, LineCol[] referencesInFile)
-        {
-            this(name);
-            addReferences(filename, referencesInFile);
-        }
-        
-        public void addReferences(String filename, LineCol[] referencesInFile)
-        {
-            this.references.put(filename, referencesInFile);
-        }
-
-        public String getName()
-        {
-            return this.name;
-        }
-
-        public Set<String> getFiles()
-        {
-            return this.references.keySet();
-        }
-        
-        public LineCol[] getReferences(String filename)
-        {
-            return this.references.get(filename);
-        }
-    }
-
-    protected Ident var(String name) { return new Ident(name); }
-    protected Ident var(String filename, String name, LineCol[] refs) { return new Ident(filename, name, refs); }
-    protected LineCol lc(int line, int col) { return new LineCol(line, col); }
-    
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // SUITE BUILDING
-    //
-    ///////////////////////////////////////////////////////////////////////////
-
-    private TestSuite currentSubSuite = null;
-    
-    protected void startTests(String description)
-    {
-        currentSubSuite = new TestSuite();
-        currentSubSuite.setName(description);
-    }
-    
-    protected void addSuccessTests(Ident ident, String newName)
-    {
-        TestSuite subSubSuite = new TestSuite();
-        subSubSuite.setName("Renaming " + describe(ident, newName));
-        
-        for (String filename : ident.getFiles())
-            for (LineCol position : referencesTo(ident, filename))
-                subSubSuite.addTest(createSuccessTestCase(ident, newName, filename, position));
-        
-        currentSubSuite.addTest(subSubSuite);
-    }
-
-
-    protected void addPreconditionTests(Ident ident, String newName)
-    {
-        TestSuite subSubSuite = new TestSuite();
-        subSubSuite.setName("Attempting to rename " + describe(ident, newName));
-        
-        for (String filename : ident.getFiles())
-            for (LineCol position : referencesTo(ident, filename))
-                subSubSuite.addTest(createFailureTestCase(ident, newName, filename, position));
-        
-        currentSubSuite.addTest(subSubSuite);
-    }
-
-    private LineCol[] referencesTo(Ident ident, String filename)
-    {
-        LineCol[] allReferences = ident.getReferences(filename);
-        
-        if (TEST_ALL_REFERENCES)
-            return allReferences;
-        else if (allReferences.length == 0)
-            return new LineCol[] { };
-        else
-            return new LineCol[] { allReferences[0] };
-    }
-
-    protected TestCase createSuccessTestCase(Ident ident, String newName, String filename, LineCol position)
-    {
-        return new RenameTestCase.ExpectSuccess(filename, ident, position, newName);
-    }
-    
-    protected TestCase createFailureTestCase(Ident ident, String newName, String filename, LineCol position)
-    {
-        return new RenameTestCase.ExpectFailure(filename, ident, position, newName);
-    }
-    
-    private String describe(Ident ident, String newName)
-    {
-        return ident.name + " to " + newName;
-    }
-    
-    protected void endTests()
-    {
-        addTest(currentSubSuite);
-        currentSubSuite = null;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/ManualSearchPageTests.txt b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/ManualSearchPageTests.txt
deleted file mode 100644
index 81cf5a8..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/ManualSearchPageTests.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-Fortran Search is displayed in the Fortran perspective:
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective 
-   (Window->Open Perspective-> Other-> Fortran)
-3: Select Search from the menu bar
-4: "Fortran Search" should be in the dropdown menu.
-
-
-Fortran Search is among the choices in the Search Page
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective 
-   (Window->Open Perspective-> Other-> Fortran)
-3: Select Search from the menu bar
-4: Select Search from the dropdown menu
-5: "Fortran Search" should be one of the tabs listed in the Search dialog
-
-
-Search Button is disallowed for empty strings
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective 
-   (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Delete any text in the "Search pattern" text box
-5: The search button should be disabled
-
-
-Search Button is disallowed if no types are specified
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective 
-   (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Enter any characters into the "Search Pattern" text box
-5: Uncheck all check boxes in the "Search for" area 
-   (Common block, Function, Subroutine, Module, Variable, Program)
-6: The "Search" button should be disabled
-
-
-Checked Regular Expression checkbox hides glob string instructions
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective 
-   (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Check the Regular Expression checkbox
-5: The "glob string instructions" (* = any string, ? = any character) should be hidden
-
-
-Unchecked Regular Expression checkbox shows glob string instructions
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective 
-   (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Uncheck the Regular Expression checkbox
-5: The "glob string instructions" (* = any string, ? = any character) 
-   should be visible under the search box
-
-
-Search box saves last search settings
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective 
-   (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Select any desired search criteria which will allow for a search
-5: Perform the search (it does not matter if the search fails)
-6: Select Search-> Fortran Search
-7: The settings from the previous search should be enabled, and the string used in 
-   the last search should be in the drop-down menu for the text box
-   
-
-Search button activates a search
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective 
-   (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Select any desired search criteria which will allow for a search
-5: Click the Search button
-6: Ensure that the Search tab becomes active, indicating that the search command 
-   was executed
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/VPGSearchTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/VPGSearchTestCase.java
deleted file mode 100644
index 8df56bf..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/VPGSearchTestCase.java
+++ /dev/null
@@ -1,145 +0,0 @@
-package org.eclipse.photran.internal.tests.search;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Scanner;
-
-import org.eclipse.cdt.core.tests.BaseTestFramework;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.ui.search.FortranSearchQuery;
-import org.eclipse.rephraserengine.ui.search.SearchMatch;
-import org.eclipse.rephraserengine.ui.search.SearchPage;
-import org.eclipse.rephraserengine.ui.search.SearchResult;
-import org.eclipse.search.ui.IQueryListener;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.ISearchResult;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.search.ui.text.Match;
-
-/**
- * A single test case for the Prototype Fortran Search
- * Parameters include filenames, scope, and the string to search for
- *
- * @author Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- */
-public class VPGSearchTestCase extends BaseTestFramework
-{
-    private static final String DIR = "search-test-code";
-
-    private static NullProgressMonitor pm = new NullProgressMonitor();
-
-    protected String searchString;
-    protected int searchFlags;
-    protected ArrayList<SearchMatch> matches;
-    protected ArrayList<Match> initMatches;
-    protected boolean isRegex;
-    protected ArrayList<IResource> scope;
-
-    public VPGSearchTestCase() {;}  // when JUnit invokes a subclass outside a test suite
-
-    public VPGSearchTestCase(String searchString, int searchFlags,
-        ArrayList<Match> matches, boolean isRegex)
-    {
-        this.setName("test");
-        this.searchString = searchString;
-        this.searchFlags = searchFlags;
-        this.isRegex = isRegex;
-        this.matches = new ArrayList<SearchMatch>(matches.size());
-        scope = new ArrayList<IResource>();
-        initMatches = matches;
-    }
-
-
-    private IFile getFile(String filename) throws Exception
-    {
-        Scanner sc = new Scanner(Activator.getDefault().getBundle().getResource(DIR + "/" + filename).openStream());
-        sc.useDelimiter("\\A");
-        String contents = sc.next();
-        sc.close();
-        return super.importFile(filename, contents);
-    }
-
-    @Override
-    protected void setUp() throws Exception
-    {
-        if (searchString == null) return; // when JUnit invokes this outside a test suite
-        super.setUp();
-
-        convertMatches();
-        createProject();
-    }
-
-    private void convertMatches() throws Exception
-    {
-        for (Match m : initMatches)
-        {
-            IFile file = getFile((String)(m.getElement()));
-            matches.add(new SearchMatch(file, m.getOffset(), m.getLength()));
-        }
-    }
-
-    private void createProject()
-    {
-        try
-        {
-            scope.add(getFile("foo.f90"));
-            scope.add(getFile("implicitTest.f90"));
-        } catch (Exception e){
-            System.out.println("Error in createProject(): "+e);
-        }
-    }
-
-    private SearchResult runQuery(FortranSearchQuery job)
-    {
-        final ISearchResult result[]= new ISearchResult[1];
-
-        IQueryListener listener= new IQueryListener()
-        {
-            public void queryAdded(ISearchQuery query) {}
-            public void queryFinished(ISearchQuery query) { result[0]= query.getSearchResult(); }
-            public void queryRemoved(ISearchQuery query) {}
-            public void queryStarting(ISearchQuery query) {}
-        };
-
-        NewSearchUI.addQueryListener(listener);
-        NewSearchUI.runQueryInForeground(new IRunnableContext()
-        {
-            public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable)
-                throws InvocationTargetException, InterruptedException
-            {
-                runnable.run(pm);
-            }
-        }, job);
-
-        assertTrue(result[0] instanceof SearchResult);
-        return (SearchResult)result[0];
-    }
-
-    public void test() throws Exception
-    {
-        if (searchString == null) return; // when JUnit invokes this outside a test suite
-
-        String patternDesc = searchString.trim();
-        String patternRegex = isRegex ? patternDesc : SearchPage.convertGlobToRegex(patternDesc);
-        FortranSearchQuery job = new FortranSearchQuery(scope, "Scope description", patternDesc, patternRegex, searchFlags);
-
-        SearchResult res = runQuery(job);
-        int count = 0;
-        for (Object obj : res.getElements())
-        {
-            for (Match m : res.getMatches(obj))
-            {
-                if (matches.contains((SearchMatch)m))
-                {
-                    count++;
-                }
-            }
-        }
-        assertEquals(matches.size(),count);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/VPGSearchTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/VPGSearchTestSuite.java
deleted file mode 100644
index a5f3542..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/search/VPGSearchTestSuite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.photran.internal.tests.search;
-
-import java.util.ArrayList;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.ui.search.FortranSearchQuery;
-import org.eclipse.search.ui.text.Match;
-
-/**
- * The suite of tests for testing search functionality
- * 
- * @author Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- */
-public class VPGSearchTestSuite extends TestSuite
-{   
-    /**
-     * Adds all the tests to the suite for searching tests
-     */
-    public static Test suite() throws Exception
-    {
-        TestSuite suite = new TestSuite();
-        ArrayList<Match> matches = new ArrayList<Match>();
-        
-        
-        //test 1
-        //Does a basic test across two different files
-        matches.add(new Match("foo.f90",23,1));
-        matches.add(new Match("foo.f90",30,1));
-        matches.add(new Match("implicitTest.f90",22,1));
-        suite.addTest(getSuiteFor("testOne", new VPGSearchTestCase("a",
-            FortranSearchQuery.FIND_ALL_OCCURANCES | FortranSearchQuery.FIND_ALL_TYPES, matches, false)));
-        
-        //test 2
-        //Same as 2 except different search string
-        matches = new ArrayList<Match>();
-        matches.add(new Match("foo.f90",26,1));
-        matches.add(new Match("implicitTest.f90",67,1));
-        suite.addTest(getSuiteFor("testTwo", new VPGSearchTestCase("b",
-            FortranSearchQuery.FIND_ALL_OCCURANCES | FortranSearchQuery.FIND_ALL_TYPES, matches, false)));
-
-        //test 3
-        //Tests FIND_DECLARATIONS to make sure it is different from FIND_ALL_OCCURANCES
-        matches = new ArrayList<Match>();
-        matches.add(new Match("foo.f90",23,1));
-        suite.addTest(getSuiteFor("testThree", new VPGSearchTestCase("a",
-            FortranSearchQuery.FIND_DECLARATIONS | FortranSearchQuery.FIND_ALL_TYPES, matches, false)));
-        
-//        //test 4
-//        //Tests FIND_REFERENCES
-//        matches = new ArrayList<Match>();
-//        matches.add(new Match("foo.f90",30,1));
-//        matches.add(new Match("implicitTest.f90",22,1));
-//        suite.addTest(getSuiteFor("testFour", new VPGSearchTestCase("a",
-//            VPGSearchQuery.FIND_REFERENCES | VPGSearchQuery.FIND_ALL_TYPES, matches, false)));
-        
-        //test 5
-        //Tests FIND_FUNCTION to make sure it is different from test 6
-        matches = new ArrayList<Match>();
-        suite.addTest(getSuiteFor("testFive", new VPGSearchTestCase("main",
-            FortranSearchQuery.FIND_ALL_OCCURANCES | FortranSearchQuery.FIND_FUNCTION, matches, false)));
-        
-        
-        //test 6
-        //Tests FIND_PROGRAM so it's not the same as FIND_FUNCTION
-        matches = new ArrayList<Match>();
-        matches.add(new Match("foo.f90",8,4));
-        suite.addTest(getSuiteFor("testSix", new VPGSearchTestCase("main",
-            FortranSearchQuery.FIND_ALL_OCCURANCES | FortranSearchQuery.FIND_PROGRAM, matches, false)));
-        
-        //test 7
-        //Tests the glob '?'
-        suite.addTest(getSuiteFor("testSeven", new VPGSearchTestCase("ma?n",
-            FortranSearchQuery.FIND_ALL_OCCURANCES | FortranSearchQuery.FIND_PROGRAM, matches, false)));
-        
-        //test 8
-        //Tests the glob '*'
-        suite.addTest(getSuiteFor("testEight", new VPGSearchTestCase("m*n",
-            FortranSearchQuery.FIND_ALL_OCCURANCES | FortranSearchQuery.FIND_PROGRAM, matches, false)));
-
-        //test 9
-        //Tests regex
-        suite.addTest(getSuiteFor("testNine", new VPGSearchTestCase("m.*",
-            FortranSearchQuery.FIND_ALL_OCCURANCES | FortranSearchQuery.FIND_PROGRAM, matches, true)));
-        
-               
-        return suite;
-    }
-    
-    
-    private static TestSuite getSuiteFor(String baseFilename, VPGSearchTestCase testCase)
-    {
-        TestSuite subSuite = new TestSuite(baseFilename);
-        subSuite.addTest(testCase);
-        return subSuite;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/InterfaceLinkTests.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/InterfaceLinkTests.java
deleted file mode 100644
index 45e5852..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/InterfaceLinkTests.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.vpg;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
-
-/**
- * Unit tests for {@link Definition#resolveInterfaceBinding()}
- * and {@link Definition#findMatchingDeclarationsInInterfaces()}
- *
- * @author Jeff Overbey
- */
-public class InterfaceLinkTests extends PhotranWorkspaceTestCase
-{
-    private static final String DIR = "vpg-test-code/interface-links";
-
-    private IFile interface1;
-    private IFile definition1;
-    private IFile definition2;
-    private IFile interface2;
-
-    private Definition if1;
-    private Definition if2;
-    private Definition if3;
-    private Definition if4;
-    private Definition def1;
-    private Definition def2;
-    private Definition def3;
-
-    @Override public void setUp() throws Exception
-    {
-        super.setUp();
-
-        /* The four files are imported in this order so that
-         * the INTERFACE block in the first file is seen /before/
-         * all of the corresponding subprogram declarations,
-         * while the INTERFACE block in the last file is seen
-         * /after/ all of the corresponding subprograms.
-         */
-
-        interface1 = importFile(Activator.getDefault(), DIR, "interface1.f90");
-        definition1 = importFile(Activator.getDefault(), DIR, "definition1.f90");
-        definition2 = importFile(Activator.getDefault(), DIR, "definition2.f90");
-        interface2 = importFile(Activator.getDefault(), DIR, "interface2.f90");
-        //                    File      Line  Column
-        if1  = findDefinition(interface1,  2, 20); // Ordinary INTERFACE block
-        if2  = findDefinition(interface1, 10, 24); // INTERFACE block for a subprogram parameter
-        if3  = findDefinition(interface1, 17, 24); // Ordinary INTERFACE block
-        if4  = findDefinition(interface2,  2, 20); // Ordinary INTERFACE block
-        def1 = findDefinition(interface1, 24, 18);
-        def2 = findDefinition(definition1, 1, 18);
-        def3 = findDefinition(definition2, 1, 18);
-    }
-
-    public void testResolveInterfaceBinding() throws Exception
-    {
-        checkContainsAllDefinitions(if1.resolveInterfaceBinding());
-        assertTrue(if2.resolveInterfaceBinding().isEmpty()); // Interface for subprogram parameter
-        checkContainsAllDefinitions(if3.resolveInterfaceBinding());
-        checkContainsAllDefinitions(if4.resolveInterfaceBinding());
-    }
-
-    public void testFindMatchingDeclarationsInInterfaces() throws Exception
-    {
-        checkContainsAllInterfaces(def1.findMatchingDeclarationsInInterfaces());
-        checkContainsAllInterfaces(def2.findMatchingDeclarationsInInterfaces());
-        checkContainsAllInterfaces(def3.findMatchingDeclarationsInInterfaces());
-    }
-
-    private void checkContainsAllDefinitions(Collection<Definition> defs)
-    {
-        assertEquals(3, defs.size());
-        assertTrue(defs.contains(def1));
-        assertTrue(defs.contains(def2));
-        assertTrue(defs.contains(def3));
-    }
-
-    private void checkContainsAllInterfaces(Collection<Definition> defs)
-    {
-        assertEquals(3, defs.size());
-        assertTrue(defs.contains(if1));
-        assertFalse(defs.contains(if2)); // Interface for subprogram parameter
-        assertTrue(defs.contains(if3));
-        assertTrue(defs.contains(if4));
-    }
-
-    private Definition findDefinition(IFile file, int line, int col)
-    {
-        IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(file); assertNotNull(ast);
-        Token token = findTokenByLineCol(ast, line, col); assertNotNull(token);
-        List<Definition> defs = token.resolveBinding(); assertEquals(1, defs.size());
-        Definition def = defs.get(0);
-        assertEquals(file, def.getTokenRef().getFile());
-        assertEquals(token.getFileOffset(), def.getTokenRef().getOffset());
-        return def;
-    }
-
-    private Token findTokenByLineCol(IFortranAST ast, int line, int col)
-    {
-        for (Token token : ast)
-            if (token.getLine() == line && token.getCol() == col)
-                return token;
-
-        return null;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/ListAllModulesTests.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/ListAllModulesTests.java
deleted file mode 100644
index c6fb180..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/ListAllModulesTests.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.vpg;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
-
-/**
- * Unit tests for {@link PhotranVPG#listAllModules()}
- *
- * @author Jeff Overbey
- */
-public class ListAllModulesTests extends PhotranWorkspaceTestCase
-{
-    private static final String DIR = "vpg-test-code/list-modules";
-
-    @Override public void setUp() throws Exception
-    {
-        super.setUp();
-
-        /* The files are imported in this order so that the USE
-         * statement in use-module1.f90 is seen /before/
-         * the module declaration, while the USE statement for
-         * module 4 is seen after it.  Module2 and module3
-         * are not used.
-         */
-
-        importFile(Activator.getDefault(), DIR, "use-module1.f90");
-        importFile(Activator.getDefault(), DIR, "module1.f90");
-        importFile(Activator.getDefault(), DIR, "module2-module3.f90");
-        importFile(Activator.getDefault(), DIR, "module4.f90");
-        importFile(Activator.getDefault(), DIR, "use-module4.f90");
-        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
-        //PhotranVPG.getDatabase().printOn(System.out);
-    }
-
-    public void testListAllModules() throws Exception
-    {
-        assertCollectionsEqual(
-            new String[] { "module1", "module2", "module3", "module4" },
-            PhotranVPG.getInstance().listAllModules());
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/TokenOffsetTests.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/TokenOffsetTests.java
deleted file mode 100644
index f296e29..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/TokenOffsetTests.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.vpg;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
-
-/**
- * Unit tests for checking token offsets
- *
- * @author Jeff Overbey
- */
-public class TokenOffsetTests extends PhotranWorkspaceTestCase
-{
-    private static final String DIR = "refactoring-test-code/encapsulate-variable/test-basic-integer";
-    private static final String FILE = "test-encap-01a-basic-integer.f90";
-    
-    private IFile file;
-
-    @Override public void setUp() throws Exception
-    {
-        super.setUp();
-
-        file = importFile(Activator.getDefault(), DIR, FILE);
-        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
-        //PhotranVPG.getDatabase().printOn(System.out);
-    }
-
-    public void testListAllModules() throws Exception
-    {
-        PhotranVPG vpg = PhotranVPG.getInstance();
-        IFortranAST ast = vpg.acquirePermanentAST(file);
-        
-        // No preprocessing in this file
-        for (Token t : ast)
-        {
-            assertEquals(t.getLogicalFile(), t.getPhysicalFile().getIFile());
-            assertEquals(t.getFileOffset(), t.getStreamOffset());
-        }
-        
-        vpg.releaseAST(file);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/VPGSerializerTests.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/VPGSerializerTests.java
deleted file mode 100644
index 7c645c6..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/VPGSerializerTests.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.vpg;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.Serializable;
-
-import junit.framework.TestCase;
-
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.Definition.Classification;
-import org.eclipse.photran.internal.core.analysis.types.DerivedType;
-import org.eclipse.photran.internal.core.analysis.types.FunctionType;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGSerializer;
-
-/**
- * Tests serialization and deserialization using the {@link PhotranVPGSerializer}
- * 
- * @author Jeff Overbey
- */
-public class VPGSerializerTests extends TestCase
-{
-    public void test() throws IOException
-    {
-        check(null);
-
-        check("Hello");
-        check("");
-        
-        check(3);
-        check(100);
-        check(-999);
-        check(Integer.MAX_VALUE);
-        check(Integer.MIN_VALUE);
-        
-        check(Type.INTEGER);
-        check(Type.REAL);
-        check(Type.DOUBLEPRECISION);
-        check(Type.COMPLEX);
-        check(Type.LOGICAL);
-        check(Type.CHARACTER);
-        check(Type.UNKNOWN);
-        check(Type.VOID);
-        check(Type.TYPE_ERROR);
-        check(new PhotranTokenRef("/your/place/a.f90", -1, 0));
-        check(new PhotranTokenRef("Test", 3, 5));
-        check(new Definition("declaredName", new PhotranTokenRef("", -1, 0), Classification.ENUMERATOR, Type.INTEGER));
-        check(new DerivedType("my_type"));
-        check(new DerivedType("AnotherType"));
-        check(new FunctionType("a_function"));
-        check(new FunctionType("f"));
-    }
-    
-    private void check(Serializable object) throws IOException
-    {
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
-
-        PhotranVPGSerializer.serialize(object, out);
-        
-        ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
-        Serializable deserializedObject = PhotranVPGSerializer.deserialize(in);
-        
-        assertEquals(object, deserializedObject);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/VariableAccessTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/VariableAccessTestSuite.java
deleted file mode 100644
index 1bb229a..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/vpg/VariableAccessTestSuite.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.tests.vpg;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.tests.Activator;
-import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
-import org.eclipse.rephraserengine.testing.junit3.GeneralTestSuiteFromMarkers;
-
-/**
- * Test Suite for variable access marking (performed by the <code>ReferenceCollector</code>).
- * 
- * @author Matthew Fotzler
- */
-public class VariableAccessTestSuite extends GeneralTestSuiteFromMarkers
-{
-    private static final String DIR = "var-access-test-code";
-    
-    public static Test suite() throws Exception
-    {
-        return new VariableAccessTestSuite();
-    }
-    
-    public VariableAccessTestSuite() throws Exception
-    {
-        super("Constructing variable access marking for",
-            PhotranWorkspaceTestCase.MARKER,
-            new File(DIR),
-            PhotranWorkspaceTestCase.FORTRAN_FILE_FILTER);
-    }
-    
-    @Override
-    protected Test createTestFor(File fileContainingMarker, int markerOffset, String markerText)
-        throws Exception
-    {
-        return new ReferenceCollectorTestCase(fileContainingMarker, markerText) {};
-    }
-    
-    public static abstract class ReferenceCollectorTestCase extends PhotranWorkspaceTestCase
-    {
-        private File javaFile;
-        private IFile file;
-        private String[] markerText;
-        
-        public ReferenceCollectorTestCase(File file, String markerText) throws Exception
-        {
-            super("test");
-            this.javaFile = file;
-            this.markerText = parseMarker(markerText);
-        }
-        
-        @Override public void setUp() throws Exception
-        {
-            super.setUp();
-            
-            this.file = importFile(Activator.getDefault(), javaFileDirectory(), javaFile.getName());
-            project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-        }
-        
-        protected String javaFileDirectory()
-        {
-            return DIR+File.separator+javaFile.getParentFile().getName();
-        }
-        
-        public void test() throws Exception
-        {
-            PhotranVPG vpg = PhotranVPG.getInstance();
-            vpg.ensureVPGIsUpToDate(new NullProgressMonitor());
-            
-            IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(file);
-            assertNotNull(ast);
-            
-            String lineNumber = markerText[0];
-            String column = markerText[1];
-            Token token = findTokenByLineCol(ast, Integer.parseInt(lineNumber), Integer.parseInt(column));
-            assertNotNull(token);
-
-            String line = getLine(ast, Integer.parseInt(lineNumber));
-            String actual = line + token.getText() + " - " + token.getVariableAccessType().toString();
-            String expected = line + token.getText() + " - " + markerText[2];
-            if (!expected.equals(actual))
-                System.err.println(file.getFullPath());
-            assertEquals(expected, actual);
-        }
-
-        private String getLine(IFortranAST ast, int lineNumber)
-        {
-            final ArrayList<Token> lineTokens = new ArrayList<Token>();
-            final int lineNum = lineNumber;
-            String line = "";
-            
-            ast.accept(new ASTVisitorWithLoops(){
-                @Override public void visitToken(Token token)
-                {
-                    if(token.getLine() == lineNum)
-                        lineTokens.add(token);
-                }
-            });
-            
-            for(Token token : lineTokens)
-            {
-                line += token.getWhiteBefore() + token.getText() + token.getWhiteAfter();
-            }
-            
-            line += "\n";
-            
-            return line;
-        }
-        
-        private Token findTokenByLineCol(IFortranAST ast, int line, int col)
-        {
-            for (Token token : ast)
-                if (token.getLine() == line && token.getCol() == col)
-                    return token;
-
-            return null;
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/type-checker-test-code/test-constants/test.f90 b/org.eclipse.photran.core.vpg.tests/type-checker-test-code/test-constants/test.f90
deleted file mode 100644
index 3376f60..0000000
--- a/org.eclipse.photran.core.vpg.tests/type-checker-test-code/test-constants/test.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-type point
-  integer x, y
-end type
-
-type(point) :: pt
-
-
-
-
-print *, 3   !<<<<< 10, 10, 10, 11, integer
-print *, 3.4 !<<<<< 11, 10, 11, 13, real
-!print *, point(3, 4)  ! 12, 10, 12, 21, type(point)
-end
diff --git a/org.eclipse.photran.core.vpg.tests/var-access-test-code/array-test/array-test.f90 b/org.eclipse.photran.core.vpg.tests/var-access-test-code/array-test/array-test.f90
deleted file mode 100644
index 3653eb4..0000000
--- a/org.eclipse.photran.core.vpg.tests/var-access-test-code/array-test/array-test.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program arraytest
-    character(len=5), dimension(10) :: array
-    integer :: i
-    
-    do i=1,5
-        array(i)(3:4) = "OK";
-        !<<<<< 6,9,WRITE
-        !<<<<< 6,15,READ
-    end do
-end program
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/var-access-test-code/assignment-test/assignment-test.f90 b/org.eclipse.photran.core.vpg.tests/var-access-test-code/assignment-test/assignment-test.f90
deleted file mode 100644
index f7c0d49..0000000
--- a/org.eclipse.photran.core.vpg.tests/var-access-test-code/assignment-test/assignment-test.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program test1
-    integer :: x = 3
-
-    x = 2 !<<<<< 4,5,WRITE
-
-    print *, x !<<<<< 6,14,READ
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/var-access-test-code/call-test/call-test.f90 b/org.eclipse.photran.core.vpg.tests/var-access-test-code/call-test/call-test.f90
deleted file mode 100644
index 86978d5..0000000
--- a/org.eclipse.photran.core.vpg.tests/var-access-test-code/call-test/call-test.f90
+++ /dev/null
@@ -1,77 +0,0 @@
-program call
-    implicit none
-    integer :: i
-    integer, dimension(5) :: array
-
-!    interface
-!        integer function external_fn(n)
-!          integer, intent(in) :: n
-!        end function
-!        subroutine external_sub(n)
-!          integer, intent(out) :: n
-!        end subroutine
-!    end interface
-
-    call s(i, i, i) 
-    !<<<<< 15,12,READ
-    !<<<<< 15,15,WRITE
-    !<<<<< 15,18,RW
-    i = f(i, i, i)
-    !<<<<< 19,5,WRITE
-    !<<<<< 19,11,READ
-    !<<<<< 19,14,WRITE
-    !<<<<< 19,17,RW
-    i = g(i)
-    !<<<<< 24,5,WRITE
-    !<<<<< 24,11,WRITE
-    array(i) = array(i) * f(i, i, i)
-    !<<<<< 27,5,WRITE
-    !<<<<< 27,11,READ
-    !<<<<< 27,16,READ
-    !<<<<< 27,22,READ
-    !<<<<< 27,29,READ
-    !<<<<< 27,32,WRITE
-    !<<<<< 27,35,RW
-
-    call s(q=i, p=i, r=i)
-    !<<<<< 36,14,WRITE
-    !<<<<< 36,19,READ
-    !<<<<< 36,24,RW
-    i = f(q=i, p=i, r=i)
-    !<<<<< 40,5,WRITE
-    !<<<<< 40,13,WRITE
-    !<<<<< 40,18,READ
-    !<<<<< 40,23,RW
-
-!    call external_sub(i)
-!    i = external_fn(i)
-
-    call unknown_subroutine(i, (i), i+i)
-    !<<<<< 49,29,RW
-    !<<<<< 49,33,READ
-    !<<<<< 49,37,READ
-    !<<<<< 49,39,READ
-    i = unknown_function(i, (i), i+i)
-    !<<<<< 54,5,WRITE
-    !<<<<< 54,26,RW
-    !<<<<< 54,30,READ
-    !<<<<< 54,34,READ
-    !<<<<< 54,36,READ
-contains
-    subroutine s(p, q, r)
-      integer, intent(in) :: p
-      integer, intent(out) :: q
-      integer, intent(inout) :: r
-    end subroutine s
-    integer function f(p, q, r)
-      integer, intent(in) :: p
-      integer, intent(out) :: q
-      integer, intent(inout) :: r
-      f = p
-      !<<<<< 70,7,WRITE
-      !<<<<< 70,11,READ
-    end function
-    integer function g(i)
-      integer, intent(out) :: i
-    end function
-end program call
diff --git a/org.eclipse.photran.core.vpg.tests/var-access-test-code/forall-test/forall-test.f90 b/org.eclipse.photran.core.vpg.tests/var-access-test-code/forall-test/forall-test.f90
deleted file mode 100644
index 397f24b..0000000
--- a/org.eclipse.photran.core.vpg.tests/var-access-test-code/forall-test/forall-test.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program forall
-    implicit none
-    integer :: i, arr(100)
-    forall (i = 1:10)
-    !<<<<< 4,13,FORALL
-        arr(i) = i
-        !<<<<< 6,9,WRITE
-        !<<<<< 6,13,READ
-        !<<<<< 6,18,READ
-    end forall
-    print *, arr
-    !<<<<< 11,14,READ
-end program forall
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-assigned-goto/test-assigned-goto.f90 b/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-assigned-goto/test-assigned-goto.f90
deleted file mode 100644
index 1ee544c..0000000
--- a/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-assigned-goto/test-assigned-goto.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program testassignedgoto
-    integer :: return_label
-
-    assign 200 to return_label
-    !<<<<< 4,19,WRITE
-
-    goto return_label
-    !<<<<< 7,10,READ
-
-    print *, "I will never be printed..."
-
-200 print *, "but I will!"
-
-end program testassignedgoto
diff --git a/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-data-reference/test-data-reference.f90 b/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-data-reference/test-data-reference.f90
deleted file mode 100644
index a9163e5..0000000
--- a/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-data-reference/test-data-reference.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program testdataref
-    type myType
-        integer :: var1
-    end type
-    
-    type(myType) :: instance
-    
-    integer :: array(5)
-
-    array(instance%var1) = 5
-    !<<<<< 10,5,WRITE
-    !<<<<< 10,11,READ
-
-end program testdataref
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-implied-do/test-implied-do.f90 b/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-implied-do/test-implied-do.f90
deleted file mode 100644
index 4746906..0000000
--- a/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-implied-do/test-implied-do.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-program testimplieddo
-    integer :: i,j
-    integer, parameter :: sizeY = 10
-    integer, dimension(10) :: y
-    integer, dimension(12) :: x = (/ ((i,i=1,4),j=1,3) /)
-    !<<<<< 5,40,READ
-    !<<<<< 5,42,IMPLIED_DO
-    !<<<<< 5,49,IMPLIED_DO
-    
-    print *, (i,i=1,10)
-    !<<<<< 10,15,READ
-    !<<<<< 10,17,IMPLIED_DO
-
-    data (y(i),i=1,10)/sizeY * 7/
-    !<<<<< 14,11,READ
-    !<<<<< 14,13,READ
-    !<<<<< 14,16,IMPLIED_DO
-    !<<<<< 14,24,READ
-end program testimplieddo
diff --git a/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-where-construct/test-where-construct.f90 b/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-where-construct/test-where-construct.f90
deleted file mode 100644
index 2b07fb9..0000000
--- a/org.eclipse.photran.core.vpg.tests/var-access-test-code/test-where-construct/test-where-construct.f90
+++ /dev/null
@@ -1,29 +0,0 @@
-program testwhereconstruct
-    integer, dimension(10) :: array
-
-    do i=1,10
-    !<<<<< 4,8,WRITE
-        array(i) = i
-        !<<<<< 6,9,WRITE
-        !<<<<< 6,15,READ
-        !<<<<< 6,20,READ
-    end do
-
-    where (array > 5)
-    !<<<<< 12,12,READ
-        array = 2
-        !<<<<< 14,9,WRITE
-        array = 3
-    elsewhere (array < 2)
-    !<<<<< 17,16,READ
-        array = 10
-        !<<<<< 19,9,WRITE
-    elsewhere (array < 5)
-    !<<<<< 21,16,READ
-        array = 400
-    elsewhere
-        array = 1
-        !<<<<< 25,9,WRITE
-    end where
-
-end program testwhereconstruct
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/definition1.f90 b/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/definition1.f90
deleted file mode 100644
index 26fbfbf..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/definition1.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-integer function f() ! 1,18
-  f = 1
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/definition2.f90 b/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/definition2.f90
deleted file mode 100644
index 4fd6bcd..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/definition2.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-integer function f() ! 1,18
-  f = 2
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/interface1.f90 b/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/interface1.f90
deleted file mode 100644
index 4eb5aeb..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/interface1.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-interface
-  integer function f() ! 2,20
-  end function
-end interface
-
-contains
-
-  subroutine s1(f)
-    interface
-      integer function f() ! 10,14 Subroutine parameter -- should not bind
-      end function
-    end interface
-  end subroutine
-
-  subroutine s2
-    interface
-      integer function f() ! 17,24
-      end function
-    end interface
-  end subroutine
-
-end program
-
-integer function f() ! 24,18
-  f = 0
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/interface2.f90 b/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/interface2.f90
deleted file mode 100644
index 039ce2e..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-test-code/interface-links/interface2.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-interface
-  integer function f() ! 2,20
-  end function
-end interface
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module1.f90 b/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module1.f90
deleted file mode 100644
index 596ca54..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module1.f90
+++ /dev/null
@@ -1,2 +0,0 @@
-module module1
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module2-module3.f90 b/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module2-module3.f90
deleted file mode 100644
index 72fc5c3..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module2-module3.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-module module2
-end module
-
-module module3
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module4.f90 b/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module4.f90
deleted file mode 100644
index 63ee352..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/module4.f90
+++ /dev/null
@@ -1,2 +0,0 @@
-module module4
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/use-module1.f90 b/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/use-module1.f90
deleted file mode 100644
index dd423e9..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/use-module1.f90
+++ /dev/null
@@ -1,2 +0,0 @@
-use module1
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/use-module4.f90 b/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/use-module4.f90
deleted file mode 100644
index 993d263..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-test-code/list-modules/use-module4.f90
+++ /dev/null
@@ -1,2 +0,0 @@
-use module4
-end program
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallConstructNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallConstructNode.java
deleted file mode 100644
index c48e40f..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallConstructNode.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTForallConstructNode extends ASTNode implements IBodyConstruct, ICaseBodyConstruct, IExecutableConstruct, IExecutionPartConstruct, IForallBodyConstruct
-{
-    ASTForallConstructStmtNode forallConstructStmt; // in ASTForallConstructNode
-    IASTListNode<IForallBodyConstruct> forallBody; // in ASTForallConstructNode
-    ASTEndForallStmtNode endForallStmt; // in ASTForallConstructNode
-
-    public ASTForallConstructStmtNode getForallConstructStmt()
-    {
-        return this.forallConstructStmt;
-    }
-
-    public void setForallConstructStmt(ASTForallConstructStmtNode newValue)
-    {
-        this.forallConstructStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IForallBodyConstruct> getForallBody()
-    {
-        return this.forallBody;
-    }
-
-    public void setForallBody(IASTListNode<IForallBodyConstruct> newValue)
-    {
-        this.forallBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndForallStmtNode getEndForallStmt()
-    {
-        return this.endForallStmt;
-    }
-
-    public void setEndForallStmt(ASTEndForallStmtNode newValue)
-    {
-        this.endForallStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTForallConstructNode(this);
-        visitor.visitIBodyConstruct(this);
-        visitor.visitICaseBodyConstruct(this);
-        visitor.visitIExecutableConstruct(this);
-        visitor.visitIExecutionPartConstruct(this);
-        visitor.visitIForallBodyConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.forallConstructStmt;
-        case 1:  return this.forallBody;
-        case 2:  return this.endForallStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.forallConstructStmt = (ASTForallConstructStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.forallBody = (IASTListNode<IForallBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.endForallStmt = (ASTEndForallStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallConstructStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallConstructStmtNode.java
deleted file mode 100644
index 2c84794..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallConstructStmtNode.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTForallConstructStmtNode extends ASTNodeWithErrorRecoverySymbols implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTForallConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTForallConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTForallConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTForall; // in ASTForallConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTForallConstructStmtNode
-    IASTListNode<ASTForallTripletSpecListNode> forallTripletSpecList; // in ASTForallConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTForallConstructStmtNode
-    ASTScalarMaskExprNode scalarMaskExpr; // in ASTForallConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTForallConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTForallConstructStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTForallTripletSpecListNode> getForallTripletSpecList()
-    {
-        return this.forallTripletSpecList;
-    }
-
-    public void setForallTripletSpecList(IASTListNode<ASTForallTripletSpecListNode> newValue)
-    {
-        this.forallTripletSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarMaskExprNode getScalarMaskExpr()
-    {
-        return this.scalarMaskExpr;
-    }
-
-    public void setScalarMaskExpr(ASTScalarMaskExprNode newValue)
-    {
-        this.scalarMaskExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTForallConstructStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 10;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.name;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTForall;
-        case 4:  return this.hiddenTLparen;
-        case 5:  return this.forallTripletSpecList;
-        case 6:  return this.hiddenTComma;
-        case 7:  return this.scalarMaskExpr;
-        case 8:  return this.hiddenTRparen;
-        case 9:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTForall = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.forallTripletSpecList = (IASTListNode<ASTForallTripletSpecListNode>)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.scalarMaskExpr = (ASTScalarMaskExprNode)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallHeaderNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallHeaderNode.java
deleted file mode 100644
index 9646248..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallHeaderNode.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTForallHeaderNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTForallHeaderNode
-    IASTListNode<ASTForallTripletSpecListNode> forallTripletSpecList; // in ASTForallHeaderNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTForallHeaderNode
-    ASTScalarMaskExprNode scalarMaskExpr; // in ASTForallHeaderNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTForallHeaderNode
-
-    public IASTListNode<ASTForallTripletSpecListNode> getForallTripletSpecList()
-    {
-        return this.forallTripletSpecList;
-    }
-
-    public void setForallTripletSpecList(IASTListNode<ASTForallTripletSpecListNode> newValue)
-    {
-        this.forallTripletSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarMaskExprNode getScalarMaskExpr()
-    {
-        return this.scalarMaskExpr;
-    }
-
-    public void setScalarMaskExpr(ASTScalarMaskExprNode newValue)
-    {
-        this.scalarMaskExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTForallHeaderNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLparen;
-        case 1:  return this.forallTripletSpecList;
-        case 2:  return this.hiddenTComma;
-        case 3:  return this.scalarMaskExpr;
-        case 4:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.forallTripletSpecList = (IASTListNode<ASTForallTripletSpecListNode>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.scalarMaskExpr = (ASTScalarMaskExprNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallStmtNode.java
deleted file mode 100644
index 48f46d4..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallStmtNode.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTForallStmtNode extends ASTNode implements IActionStmt, IBodyConstruct, ICaseBodyConstruct, IExecutableConstruct, IExecutionPartConstruct, IForallBodyConstruct
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTForallStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTForall; // in ASTForallStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTForallStmtNode
-    IASTListNode<ASTForallTripletSpecListNode> forallTripletSpecList; // in ASTForallStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTForallStmtNode
-    ASTScalarMaskExprNode scalarMaskExpr; // in ASTForallStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTForallStmtNode
-    ASTAssignmentStmtNode assignment; // in ASTForallStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTForallTripletSpecListNode> getForallTripletSpecList()
-    {
-        return this.forallTripletSpecList;
-    }
-
-    public void setForallTripletSpecList(IASTListNode<ASTForallTripletSpecListNode> newValue)
-    {
-        this.forallTripletSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarMaskExprNode getScalarMaskExpr()
-    {
-        return this.scalarMaskExpr;
-    }
-
-    public void setScalarMaskExpr(ASTScalarMaskExprNode newValue)
-    {
-        this.scalarMaskExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTAssignmentStmtNode getAssignment()
-    {
-        return this.assignment;
-    }
-
-    public void setAssignment(ASTAssignmentStmtNode newValue)
-    {
-        this.assignment = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTForallStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitIBodyConstruct(this);
-        visitor.visitICaseBodyConstruct(this);
-        visitor.visitIExecutableConstruct(this);
-        visitor.visitIExecutionPartConstruct(this);
-        visitor.visitIForallBodyConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTForall;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.forallTripletSpecList;
-        case 4:  return this.hiddenTComma;
-        case 5:  return this.scalarMaskExpr;
-        case 6:  return this.hiddenTRparen;
-        case 7:  return this.assignment;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTForall = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.forallTripletSpecList = (IASTListNode<ASTForallTripletSpecListNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.scalarMaskExpr = (ASTScalarMaskExprNode)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.assignment = (ASTAssignmentStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallTripletSpecListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallTripletSpecListNode.java
deleted file mode 100644
index 2d19626..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTForallTripletSpecListNode.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTForallTripletSpecListNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTForallTripletSpecListNode
-    ASTNameNode name; // in ASTForallTripletSpecListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTForallTripletSpecListNode
-    ASTSubscriptNode lb; // in ASTForallTripletSpecListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTForallTripletSpecListNode
-    ASTSubscriptNode ub; // in ASTForallTripletSpecListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTForallTripletSpecListNode
-    IExpr stepExpr; // in ASTForallTripletSpecListNode
-
-    public ASTNameNode getName()
-    {
-        return this.name;
-    }
-
-    public void setName(ASTNameNode newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSubscriptNode getLb()
-    {
-        return this.lb;
-    }
-
-    public void setLb(ASTSubscriptNode newValue)
-    {
-        this.lb = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSubscriptNode getUb()
-    {
-        return this.ub;
-    }
-
-    public void setUb(ASTSubscriptNode newValue)
-    {
-        this.ub = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getStepExpr()
-    {
-        return this.stepExpr;
-    }
-
-    public void setStepExpr(IExpr newValue)
-    {
-        this.stepExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTForallTripletSpecListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTComma;
-        case 1:  return this.name;
-        case 2:  return this.hiddenTEquals;
-        case 3:  return this.lb;
-        case 4:  return this.hiddenTColon;
-        case 5:  return this.ub;
-        case 6:  return this.hiddenTColon2;
-        case 7:  return this.stepExpr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.name = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.lb = (ASTSubscriptNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.ub = (ASTSubscriptNode)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.stepExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatEditNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatEditNode.java
deleted file mode 100644
index 4721533..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatEditNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFormatEditNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hexConst; // in ASTFormatEditNode
-    org.eclipse.photran.internal.core.lexer.Token pConst; // in ASTFormatEditNode
-    org.eclipse.photran.internal.core.lexer.Token intConst; // in ASTFormatEditNode
-    ASTEditElementNode editElement; // in ASTFormatEditNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getHexConst()
-    {
-        return this.hexConst;
-    }
-
-    public void setHexConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hexConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getPConst()
-    {
-        return this.pConst;
-    }
-
-    public void setPConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.pConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntConst()
-    {
-        return this.intConst;
-    }
-
-    public void setIntConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEditElementNode getEditElement()
-    {
-        return this.editElement;
-    }
-
-    public void setEditElement(ASTEditElementNode newValue)
-    {
-        this.editElement = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFormatEditNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hexConst;
-        case 1:  return this.pConst;
-        case 2:  return this.intConst;
-        case 3:  return this.editElement;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hexConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.pConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.intConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.editElement = (ASTEditElementNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatIdentifierNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatIdentifierNode.java
deleted file mode 100644
index 91167d1..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatIdentifierNode.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFormatIdentifierNode extends ASTNode
-{
-    ASTCExprNode formatExpr; // in ASTFormatIdentifierNode
-    ASTLblRefNode formatLbl; // in ASTFormatIdentifierNode
-    org.eclipse.photran.internal.core.lexer.Token formatIsAsterisk; // in ASTFormatIdentifierNode
-
-    public ASTCExprNode getFormatExpr()
-    {
-        return this.formatExpr;
-    }
-
-    public void setFormatExpr(ASTCExprNode newValue)
-    {
-        this.formatExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTLblRefNode getFormatLbl()
-    {
-        return this.formatLbl;
-    }
-
-    public void setFormatLbl(ASTLblRefNode newValue)
-    {
-        this.formatLbl = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean formatIsAsterisk()
-    {
-        return this.formatIsAsterisk != null;
-    }
-
-    public void setFormatIsAsterisk(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.formatIsAsterisk = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFormatIdentifierNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.formatExpr;
-        case 1:  return this.formatLbl;
-        case 2:  return this.formatIsAsterisk;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.formatExpr = (ASTCExprNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.formatLbl = (ASTLblRefNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.formatIsAsterisk = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatStmtNode.java
deleted file mode 100644
index 453f231..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatStmtNode.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFormatStmtNode extends ASTNodeWithErrorRecoverySymbols implements IActionStmt, IBlockDataBodyConstruct, IBodyConstruct, ICaseBodyConstruct, IExecutionPartConstruct, IModuleBodyConstruct, ISpecificationPartConstruct
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTFormatStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTFormat; // in ASTFormatStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTFormatStmtNode
-    IASTListNode<ASTFmtSpecNode> fmtSpec; // in ASTFormatStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTFormatStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTFormatStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTFmtSpecNode> getFmtSpec()
-    {
-        return this.fmtSpec;
-    }
-
-    public void setFmtSpec(IASTListNode<ASTFmtSpecNode> newValue)
-    {
-        this.fmtSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFormatStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitIBlockDataBodyConstruct(this);
-        visitor.visitIBodyConstruct(this);
-        visitor.visitICaseBodyConstruct(this);
-        visitor.visitIExecutionPartConstruct(this);
-        visitor.visitIModuleBodyConstruct(this);
-        visitor.visitISpecificationPartConstruct(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTFormat;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.fmtSpec;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTFormat = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.fmtSpec = (IASTListNode<ASTFmtSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatsepNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatsepNode.java
deleted file mode 100644
index 098e6eb..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFormatsepNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFormatsepNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token colonFormatSep; // in ASTFormatsepNode
-    org.eclipse.photran.internal.core.lexer.Token slashFormatSep; // in ASTFormatsepNode
-
-    public boolean colonFormatSep()
-    {
-        return this.colonFormatSep != null;
-    }
-
-    public void setColonFormatSep(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.colonFormatSep = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean slashFormatSep()
-    {
-        return this.slashFormatSep != null;
-    }
-
-    public void setSlashFormatSep(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.slashFormatSep = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFormatsepNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.colonFormatSep;
-        case 1:  return this.slashFormatSep;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.colonFormatSep = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.slashFormatSep = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionArgListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionArgListNode.java
deleted file mode 100644
index 0738fe6..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionArgListNode.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFunctionArgListNode extends ASTNode
-{
-    IASTListNode<ASTSectionSubscriptNode> sectionSubscriptList; // in ASTFunctionArgListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTFunctionArgListNode
-    ASTFunctionArgNode functionArg; // in ASTFunctionArgListNode
-
-    public IASTListNode<ASTSectionSubscriptNode> getSectionSubscriptList()
-    {
-        return this.sectionSubscriptList;
-    }
-
-    public void setSectionSubscriptList(IASTListNode<ASTSectionSubscriptNode> newValue)
-    {
-        this.sectionSubscriptList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTFunctionArgNode getFunctionArg()
-    {
-        return this.functionArg;
-    }
-
-    public void setFunctionArg(ASTFunctionArgNode newValue)
-    {
-        this.functionArg = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFunctionArgListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.sectionSubscriptList;
-        case 1:  return this.hiddenTComma;
-        case 2:  return this.functionArg;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.functionArg = (ASTFunctionArgNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionArgNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionArgNode.java
deleted file mode 100644
index 802721e..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionArgNode.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFunctionArgNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTFunctionArgNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTFunctionArgNode
-    IExpr expr; // in ASTFunctionArgNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFunctionArgNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        case 1:  return this.hiddenTEquals;
-        case 2:  return this.expr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionInterfaceRangeNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionInterfaceRangeNode.java
deleted file mode 100644
index 6bc3e99..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionInterfaceRangeNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFunctionInterfaceRangeNode extends ASTNode
-{
-    IASTListNode<ISpecificationPartConstruct> subprogramInterfaceBody; // in ASTFunctionInterfaceRangeNode
-    ASTEndFunctionStmtNode endFunctionStmt; // in ASTFunctionInterfaceRangeNode
-
-    public IASTListNode<ISpecificationPartConstruct> getSubprogramInterfaceBody()
-    {
-        return this.subprogramInterfaceBody;
-    }
-
-    public void setSubprogramInterfaceBody(IASTListNode<ISpecificationPartConstruct> newValue)
-    {
-        this.subprogramInterfaceBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndFunctionStmtNode getEndFunctionStmt()
-    {
-        return this.endFunctionStmt;
-    }
-
-    public void setEndFunctionStmt(ASTEndFunctionStmtNode newValue)
-    {
-        this.endFunctionStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFunctionInterfaceRangeNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.subprogramInterfaceBody;
-        case 1:  return this.endFunctionStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.subprogramInterfaceBody = (IASTListNode<ISpecificationPartConstruct>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.endFunctionStmt = (ASTEndFunctionStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionNameNode.java
deleted file mode 100644
index 0ab6314..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFunctionNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token functionName; // in ASTFunctionNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getFunctionName()
-    {
-        return this.functionName;
-    }
-
-    public void setFunctionName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.functionName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFunctionNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.functionName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.functionName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionParNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionParNode.java
deleted file mode 100644
index e2d4814..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionParNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFunctionParNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTFunctionParNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFunctionParNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.variableName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionPrefixNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionPrefixNode.java
deleted file mode 100644
index 0ce2590..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionPrefixNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFunctionPrefixNode extends ASTNode
-{
-    IASTListNode<ASTPrefixSpecNode> prefixSpecList; // in ASTFunctionPrefixNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTFunction; // in ASTFunctionPrefixNode
-
-    public IASTListNode<ASTPrefixSpecNode> getPrefixSpecList()
-    {
-        return this.prefixSpecList;
-    }
-
-    public void setPrefixSpecList(IASTListNode<ASTPrefixSpecNode> newValue)
-    {
-        this.prefixSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFunctionPrefixNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.prefixSpecList;
-        case 1:  return this.hiddenTFunction;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionRangeNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionRangeNode.java
deleted file mode 100644
index 2bc1dcf..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionRangeNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFunctionRangeNode extends ASTNode
-{
-    IASTListNode<IBodyConstruct> body; // in ASTFunctionRangeNode
-    ASTContainsStmtNode containsStmt; // in ASTFunctionRangeNode
-    IASTListNode<IInternalSubprogram> internalSubprograms; // in ASTFunctionRangeNode
-    ASTEndFunctionStmtNode endFunctionStmt; // in ASTFunctionRangeNode
-
-    public IASTListNode<IBodyConstruct> getBody()
-    {
-        return this.body;
-    }
-
-    public void setBody(IASTListNode<IBodyConstruct> newValue)
-    {
-        this.body = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTContainsStmtNode getContainsStmt()
-    {
-        return this.containsStmt;
-    }
-
-    public void setContainsStmt(ASTContainsStmtNode newValue)
-    {
-        this.containsStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IInternalSubprogram> getInternalSubprograms()
-    {
-        return this.internalSubprograms;
-    }
-
-    public void setInternalSubprograms(IASTListNode<IInternalSubprogram> newValue)
-    {
-        this.internalSubprograms = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndFunctionStmtNode getEndFunctionStmt()
-    {
-        return this.endFunctionStmt;
-    }
-
-    public void setEndFunctionStmt(ASTEndFunctionStmtNode newValue)
-    {
-        this.endFunctionStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFunctionRangeNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.body;
-        case 1:  return this.containsStmt;
-        case 2:  return this.internalSubprograms;
-        case 3:  return this.endFunctionStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.body = (IASTListNode<IBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.containsStmt = (ASTContainsStmtNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.internalSubprograms = (IASTListNode<IInternalSubprogram>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.endFunctionStmt = (ASTEndFunctionStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionReferenceNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionReferenceNode.java
deleted file mode 100644
index b3803c5..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionReferenceNode.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFunctionReferenceNode extends ASTNode
-{
-    ASTNameNode name; // in ASTFunctionReferenceNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTFunctionReferenceNode
-    IASTListNode<ASTFunctionArgListNode> functionArgList; // in ASTFunctionReferenceNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTFunctionReferenceNode
-
-    public ASTNameNode getName()
-    {
-        return this.name;
-    }
-
-    public void setName(ASTNameNode newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTFunctionArgListNode> getFunctionArgList()
-    {
-        return this.functionArgList;
-    }
-
-    public void setFunctionArgList(IASTListNode<ASTFunctionArgListNode> newValue)
-    {
-        this.functionArgList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFunctionReferenceNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        case 1:  return this.hiddenTLparen;
-        case 2:  return this.functionArgList;
-        case 3:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.functionArgList = (IASTListNode<ASTFunctionArgListNode>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionStmtNode.java
deleted file mode 100644
index e9f49eb..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionStmtNode.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFunctionStmtNode extends ASTNodeWithErrorRecoverySymbols implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTFunctionStmtNode
-    IASTListNode<ASTPrefixSpecNode> prefixSpecList; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTFunction; // in ASTFunctionStmtNode
-    ASTFunctionNameNode functionName; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTFunctionStmtNode
-    IASTListNode<ASTFunctionParNode> functionPars; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenTBind8; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenLParen8; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenTIdent8; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenRParen8; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hasResultClause; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen2; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen2; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenTBind9; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenLParen9; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenTIdent9; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenRParen9; // in ASTFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTFunctionStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTPrefixSpecNode> getPrefixSpecList()
-    {
-        return this.prefixSpecList;
-    }
-
-    public void setPrefixSpecList(IASTListNode<ASTPrefixSpecNode> newValue)
-    {
-        this.prefixSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTFunctionNameNode getFunctionName()
-    {
-        return this.functionName;
-    }
-
-    public void setFunctionName(ASTFunctionNameNode newValue)
-    {
-        this.functionName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTFunctionParNode> getFunctionPars()
-    {
-        return this.functionPars;
-    }
-
-    public void setFunctionPars(IASTListNode<ASTFunctionParNode> newValue)
-    {
-        this.functionPars = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasResultClause()
-    {
-        return this.hasResultClause != null;
-    }
-
-    public void setHasResultClause(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasResultClause = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFunctionStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 20;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.prefixSpecList;
-        case 2:  return this.hiddenTFunction;
-        case 3:  return this.functionName;
-        case 4:  return this.hiddenTLparen;
-        case 5:  return this.functionPars;
-        case 6:  return this.hiddenTRparen;
-        case 7:  return this.hiddenHiddenTBind8;
-        case 8:  return this.hiddenHiddenLParen8;
-        case 9:  return this.hiddenHiddenTIdent8;
-        case 10: return this.hiddenHiddenRParen8;
-        case 11: return this.hasResultClause;
-        case 12: return this.hiddenTLparen2;
-        case 13: return this.name;
-        case 14: return this.hiddenTRparen2;
-        case 15: return this.hiddenHiddenTBind9;
-        case 16: return this.hiddenHiddenLParen9;
-        case 17: return this.hiddenHiddenTIdent9;
-        case 18: return this.hiddenHiddenRParen9;
-        case 19: return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.functionName = (ASTFunctionNameNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.functionPars = (IASTListNode<ASTFunctionParNode>)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenHiddenTBind8 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenHiddenLParen8 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenHiddenTIdent8 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenHiddenRParen8 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 11: this.hasResultClause = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 12: this.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 13: this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 14: this.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 15: this.hiddenHiddenTBind9 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 16: this.hiddenHiddenLParen9 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 17: this.hiddenHiddenTIdent9 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 18: this.hiddenHiddenRParen9 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 19: this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionSubprogramNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionSubprogramNode.java
deleted file mode 100644
index edd95c0..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTFunctionSubprogramNode.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTFunctionSubprogramNode extends ScopingNode implements IInternalSubprogram, IModuleBodyConstruct, IModuleSubprogram, IModuleSubprogramPartConstruct, IProgramUnit
-{
-    ASTFunctionStmtNode functionStmt; // in ASTFunctionSubprogramNode
-    IASTListNode<IBodyConstruct> body; // in ASTFunctionSubprogramNode
-    ASTContainsStmtNode containsStmt; // in ASTFunctionSubprogramNode
-    IASTListNode<IInternalSubprogram> internalSubprograms; // in ASTFunctionSubprogramNode
-    ASTEndFunctionStmtNode endFunctionStmt; // in ASTFunctionSubprogramNode
-
-    public ASTFunctionStmtNode getFunctionStmt()
-    {
-        return this.functionStmt;
-    }
-
-    public void setFunctionStmt(ASTFunctionStmtNode newValue)
-    {
-        this.functionStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IBodyConstruct> getBody()
-    {
-        return this.body;
-    }
-
-    public void setBody(IASTListNode<IBodyConstruct> newValue)
-    {
-        this.body = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTContainsStmtNode getContainsStmt()
-    {
-        return this.containsStmt;
-    }
-
-    public void setContainsStmt(ASTContainsStmtNode newValue)
-    {
-        this.containsStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IInternalSubprogram> getInternalSubprograms()
-    {
-        return this.internalSubprograms;
-    }
-
-    public void setInternalSubprograms(IASTListNode<IInternalSubprogram> newValue)
-    {
-        this.internalSubprograms = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndFunctionStmtNode getEndFunctionStmt()
-    {
-        return this.endFunctionStmt;
-    }
-
-    public void setEndFunctionStmt(ASTEndFunctionStmtNode newValue)
-    {
-        this.endFunctionStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTFunctionSubprogramNode(this);
-        visitor.visitIInternalSubprogram(this);
-        visitor.visitIModuleBodyConstruct(this);
-        visitor.visitIModuleSubprogram(this);
-        visitor.visitIModuleSubprogramPartConstruct(this);
-        visitor.visitIProgramUnit(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.functionStmt;
-        case 1:  return this.body;
-        case 2:  return this.containsStmt;
-        case 3:  return this.internalSubprograms;
-        case 4:  return this.endFunctionStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.functionStmt = (ASTFunctionStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.body = (IASTListNode<IBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.containsStmt = (ASTContainsStmtNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.internalSubprograms = (IASTListNode<IInternalSubprogram>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.endFunctionStmt = (ASTEndFunctionStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericBindingNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericBindingNode.java
deleted file mode 100644
index 310662c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericBindingNode.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTGenericBindingNode extends ASTNode implements IProcBindingStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTGenericBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTGeneric; // in ASTGenericBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTGenericBindingNode
-    ASTAccessSpecNode accessSpec; // in ASTGenericBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTGenericBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTGenericBindingNode
-    ASTGenericNameNode genericName; // in ASTGenericBindingNode
-    ASTGenericSpecNode genericSpec; // in ASTGenericBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEqgreaterthan; // in ASTGenericBindingNode
-    IASTListNode<org.eclipse.photran.internal.core.lexer.Token> bindingNameList; // in ASTGenericBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTGenericBindingNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTAccessSpecNode getAccessSpec()
-    {
-        return this.accessSpec;
-    }
-
-    public void setAccessSpec(ASTAccessSpecNode newValue)
-    {
-        this.accessSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTGenericNameNode getGenericName()
-    {
-        return this.genericName;
-    }
-
-    public void setGenericName(ASTGenericNameNode newValue)
-    {
-        this.genericName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTGenericSpecNode getGenericSpec()
-    {
-        return this.genericSpec;
-    }
-
-    public void setGenericSpec(ASTGenericSpecNode newValue)
-    {
-        this.genericSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<org.eclipse.photran.internal.core.lexer.Token> getBindingNameList()
-    {
-        return this.bindingNameList;
-    }
-
-    public void setBindingNameList(IASTListNode<org.eclipse.photran.internal.core.lexer.Token> newValue)
-    {
-        this.bindingNameList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTGenericBindingNode(this);
-        visitor.visitIProcBindingStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 11;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTGeneric;
-        case 2:  return this.hiddenTComma;
-        case 3:  return this.accessSpec;
-        case 4:  return this.hiddenTColon;
-        case 5:  return this.hiddenTColon2;
-        case 6:  return this.genericName;
-        case 7:  return this.genericSpec;
-        case 8:  return this.hiddenTEqgreaterthan;
-        case 9:  return this.bindingNameList;
-        case 10: return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTGeneric = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.accessSpec = (ASTAccessSpecNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.genericName = (ASTGenericNameNode)value; if (value != null) value.setParent(this); return;
-        case 7:  this.genericSpec = (ASTGenericSpecNode)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.bindingNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericNameNode.java
deleted file mode 100644
index d5f304c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericNameNode.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTGenericNameNode extends ASTNode implements IAccessId
-{
-    org.eclipse.photran.internal.core.lexer.Token genericName; // in ASTGenericNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getGenericName()
-    {
-        return this.genericName;
-    }
-
-    public void setGenericName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.genericName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTGenericNameNode(this);
-        visitor.visitIAccessId(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.genericName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.genericName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericSpecNode.java
deleted file mode 100644
index 7bf2164..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGenericSpecNode.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTGenericSpecNode extends ASTNode implements IAccessId
-{
-    org.eclipse.photran.internal.core.lexer.Token isDerivedTypeIO; // in ASTGenericSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isDefinedOperator; // in ASTGenericSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isAssignmentOperator; // in ASTGenericSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTGenericSpecNode
-    IDefinedOperator definedOperator; // in ASTGenericSpecNode
-    org.eclipse.photran.internal.core.lexer.Token formattingSpec; // in ASTGenericSpecNode
-    org.eclipse.photran.internal.core.lexer.Token equalsToken; // in ASTGenericSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTGenericSpecNode
-
-    public boolean isDerivedTypeIO()
-    {
-        return this.isDerivedTypeIO != null;
-    }
-
-    public void setIsDerivedTypeIO(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isDerivedTypeIO = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isDefinedOperator()
-    {
-        return this.isDefinedOperator != null;
-    }
-
-    public void setIsDefinedOperator(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isDefinedOperator = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isAssignmentOperator()
-    {
-        return this.isAssignmentOperator != null;
-    }
-
-    public void setIsAssignmentOperator(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isAssignmentOperator = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IDefinedOperator getDefinedOperator()
-    {
-        return this.definedOperator;
-    }
-
-    public void setDefinedOperator(IDefinedOperator newValue)
-    {
-        this.definedOperator = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getFormattingSpec()
-    {
-        return this.formattingSpec;
-    }
-
-    public void setFormattingSpec(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.formattingSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getEqualsToken()
-    {
-        return this.equalsToken;
-    }
-
-    public void setEqualsToken(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.equalsToken = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTGenericSpecNode(this);
-        visitor.visitIAccessId(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isDerivedTypeIO;
-        case 1:  return this.isDefinedOperator;
-        case 2:  return this.isAssignmentOperator;
-        case 3:  return this.hiddenTLparen;
-        case 4:  return this.definedOperator;
-        case 5:  return this.formattingSpec;
-        case 6:  return this.equalsToken;
-        case 7:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isDerivedTypeIO = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isDefinedOperator = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.isAssignmentOperator = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.definedOperator = (IDefinedOperator)value; if (value != null) value.setParent(this); return;
-        case 5:  this.formattingSpec = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.equalsToken = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGoToKwNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGoToKwNode.java
deleted file mode 100644
index 8cde964..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGoToKwNode.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTGoToKwNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTGoto; // in ASTGoToKwNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTGo; // in ASTGoToKwNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTTo; // in ASTGoToKwNode
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTGoToKwNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTGoto;
-        case 1:  return this.hiddenTGo;
-        case 2:  return this.hiddenTTo;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTGoto = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTGo = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTTo = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGotoStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGotoStmtNode.java
deleted file mode 100644
index e94f22a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTGotoStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTGotoStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTGotoStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTGoto; // in ASTGotoStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTGo; // in ASTGotoStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTTo; // in ASTGotoStmtNode
-    ASTLblRefNode gotoLblRef; // in ASTGotoStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTGotoStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTLblRefNode getGotoLblRef()
-    {
-        return this.gotoLblRef;
-    }
-
-    public void setGotoLblRef(ASTLblRefNode newValue)
-    {
-        this.gotoLblRef = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTGotoStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTGoto;
-        case 2:  return this.hiddenTGo;
-        case 3:  return this.hiddenTTo;
-        case 4:  return this.gotoLblRef;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTGoto = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTGo = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTTo = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.gotoLblRef = (ASTLblRefNode)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfConstructNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfConstructNode.java
deleted file mode 100644
index c5b58ec..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfConstructNode.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIfConstructNode extends ASTNode implements IExecutableConstruct
-{
-    ASTIfThenStmtNode ifThenStmt; // in ASTIfConstructNode
-    IASTListNode<IExecutionPartConstruct> conditionalBody; // in ASTIfConstructNode
-    ASTElseConstructNode elseConstruct; // in ASTIfConstructNode
-    ASTEndIfStmtNode endIfStmt; // in ASTIfConstructNode
-    ASTElseIfConstructNode elseIfConstruct; // in ASTIfConstructNode
-
-    public ASTIfThenStmtNode getIfThenStmt()
-    {
-        return this.ifThenStmt;
-    }
-
-    public void setIfThenStmt(ASTIfThenStmtNode newValue)
-    {
-        this.ifThenStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IExecutionPartConstruct> getConditionalBody()
-    {
-        return this.conditionalBody;
-    }
-
-    public void setConditionalBody(IASTListNode<IExecutionPartConstruct> newValue)
-    {
-        this.conditionalBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTElseConstructNode getElseConstruct()
-    {
-        return this.elseConstruct;
-    }
-
-    public void setElseConstruct(ASTElseConstructNode newValue)
-    {
-        this.elseConstruct = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndIfStmtNode getEndIfStmt()
-    {
-        return this.endIfStmt;
-    }
-
-    public void setEndIfStmt(ASTEndIfStmtNode newValue)
-    {
-        this.endIfStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTElseIfConstructNode getElseIfConstruct()
-    {
-        return this.elseIfConstruct;
-    }
-
-    public void setElseIfConstruct(ASTElseIfConstructNode newValue)
-    {
-        this.elseIfConstruct = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIfConstructNode(this);
-        visitor.visitIExecutableConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.ifThenStmt;
-        case 1:  return this.conditionalBody;
-        case 2:  return this.elseConstruct;
-        case 3:  return this.endIfStmt;
-        case 4:  return this.elseIfConstruct;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.ifThenStmt = (ASTIfThenStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.conditionalBody = (IASTListNode<IExecutionPartConstruct>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.elseConstruct = (ASTElseConstructNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.endIfStmt = (ASTEndIfStmtNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.elseIfConstruct = (ASTElseIfConstructNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfStmtNode.java
deleted file mode 100644
index 6fba4fd..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfStmtNode.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIfStmtNode extends ASTNodeWithErrorRecoverySymbols implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTIfStmtNode
-    org.eclipse.photran.internal.core.lexer.Token tIf; // in ASTIfStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTIfStmtNode
-    IExpr guardingExpression; // in ASTIfStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTIfStmtNode
-    IActionStmt actionStmt; // in ASTIfStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getTIf()
-    {
-        return this.tIf;
-    }
-
-    public void setTIf(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.tIf = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getGuardingExpression()
-    {
-        return this.guardingExpression;
-    }
-
-    public void setGuardingExpression(IExpr newValue)
-    {
-        this.guardingExpression = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IActionStmt getActionStmt()
-    {
-        return this.actionStmt;
-    }
-
-    public void setActionStmt(IActionStmt newValue)
-    {
-        this.actionStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIfStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.tIf;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.guardingExpression;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.actionStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.tIf = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.guardingExpression = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.actionStmt = (IActionStmt)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfThenErrorNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfThenErrorNode.java
deleted file mode 100644
index 1a6e8a9..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfThenErrorNode.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIfThenErrorNode extends ASTNodeWithErrorRecoverySymbols
-{
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIfThenErrorNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 0;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfThenStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfThenStmtNode.java
deleted file mode 100644
index e3d2d16..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIfThenStmtNode.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIfThenStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTIfThenStmtNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTIfThenStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTIfThenStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIf; // in ASTIfThenStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTIfThenStmtNode
-    IExpr guardingExpression; // in ASTIfThenStmtNode
-    ASTIfThenErrorNode ifThenError; // in ASTIfThenStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTIfThenStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTThen; // in ASTIfThenStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTIfThenStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getGuardingExpression()
-    {
-        return this.guardingExpression;
-    }
-
-    public void setGuardingExpression(IExpr newValue)
-    {
-        this.guardingExpression = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTIfThenErrorNode getIfThenError()
-    {
-        return this.ifThenError;
-    }
-
-    public void setIfThenError(ASTIfThenErrorNode newValue)
-    {
-        this.ifThenError = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIfThenStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 10;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.name;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTIf;
-        case 4:  return this.hiddenTLparen;
-        case 5:  return this.guardingExpression;
-        case 6:  return this.ifThenError;
-        case 7:  return this.hiddenTRparen;
-        case 8:  return this.hiddenTThen;
-        case 9:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTIf = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.guardingExpression = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 6:  this.ifThenError = (ASTIfThenErrorNode)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTThen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImageSelectorNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImageSelectorNode.java
deleted file mode 100644
index dc1f889..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImageSelectorNode.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTImageSelectorNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLbracket; // in ASTImageSelectorNode
-    IASTListNode<ASTSectionSubscriptNode> sectionSubscriptList; // in ASTImageSelectorNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRbracket; // in ASTImageSelectorNode
-
-    public IASTListNode<ASTSectionSubscriptNode> getSectionSubscriptList()
-    {
-        return this.sectionSubscriptList;
-    }
-
-    public void setSectionSubscriptList(IASTListNode<ASTSectionSubscriptNode> newValue)
-    {
-        this.sectionSubscriptList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTImageSelectorNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLbracket;
-        case 1:  return this.sectionSubscriptList;
-        case 2:  return this.hiddenTRbracket;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImageSetNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImageSetNode.java
deleted file mode 100644
index 6876784..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImageSetNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTImageSetNode extends ASTNode
-{
-    IExpr isExpr; // in ASTImageSetNode
-    org.eclipse.photran.internal.core.lexer.Token isStar; // in ASTImageSetNode
-
-    public IExpr getIsExpr()
-    {
-        return this.isExpr;
-    }
-
-    public void setIsExpr(IExpr newValue)
-    {
-        this.isExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getIsStar()
-    {
-        return this.isStar;
-    }
-
-    public void setIsStar(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isStar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTImageSetNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isExpr;
-        case 1:  return this.isStar;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isStar = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImplicitSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImplicitSpecNode.java
deleted file mode 100644
index bf69701..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImplicitSpecNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTImplicitSpecNode extends ASTNode
-{
-    ASTTypeSpecNode typeSpec; // in ASTImplicitSpecNode
-    org.eclipse.photran.internal.core.lexer.Token charRanges; // in ASTImplicitSpecNode
-
-    public ASTTypeSpecNode getTypeSpec()
-    {
-        return this.typeSpec;
-    }
-
-    public void setTypeSpec(ASTTypeSpecNode newValue)
-    {
-        this.typeSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getCharRanges()
-    {
-        return this.charRanges;
-    }
-
-    public void setCharRanges(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.charRanges = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTImplicitSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.typeSpec;
-        case 1:  return this.charRanges;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.typeSpec = (ASTTypeSpecNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.charRanges = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImplicitStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImplicitStmtNode.java
deleted file mode 100644
index 4cbe919..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImplicitStmtNode.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTImplicitStmtNode extends ASTNode implements ISpecificationPartConstruct
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTImplicitStmtNode
-    org.eclipse.photran.internal.core.lexer.Token implicitToken; // in ASTImplicitStmtNode
-    IASTListNode<ASTImplicitSpecNode> implicitSpecList; // in ASTImplicitStmtNode
-    org.eclipse.photran.internal.core.lexer.Token isImplicitNone; // in ASTImplicitStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTImplicitStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getImplicitToken()
-    {
-        return this.implicitToken;
-    }
-
-    public void setImplicitToken(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.implicitToken = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTImplicitSpecNode> getImplicitSpecList()
-    {
-        return this.implicitSpecList;
-    }
-
-    public void setImplicitSpecList(IASTListNode<ASTImplicitSpecNode> newValue)
-    {
-        this.implicitSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isImplicitNone()
-    {
-        return this.isImplicitNone != null;
-    }
-
-    public void setIsImplicitNone(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isImplicitNone = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTImplicitStmtNode(this);
-        visitor.visitISpecificationPartConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.implicitToken;
-        case 2:  return this.implicitSpecList;
-        case 3:  return this.isImplicitNone;
-        case 4:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.implicitToken = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.implicitSpecList = (IASTListNode<ASTImplicitSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.isImplicitNone = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImpliedDoVariableNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImpliedDoVariableNode.java
deleted file mode 100644
index daf2edd..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImpliedDoVariableNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTImpliedDoVariableNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token impliedDoVariable; // in ASTImpliedDoVariableNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getImpliedDoVariable()
-    {
-        return this.impliedDoVariable;
-    }
-
-    public void setImpliedDoVariable(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.impliedDoVariable = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTImpliedDoVariableNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.impliedDoVariable;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImportStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImportStmtNode.java
deleted file mode 100644
index 9a21d4d..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTImportStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTImportStmtNode extends ASTNode implements ISpecificationPartConstruct
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTImportStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTImport; // in ASTImportStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTImportStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTImportStmtNode
-    IASTListNode<org.eclipse.photran.internal.core.lexer.Token> importList; // in ASTImportStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTImportStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<org.eclipse.photran.internal.core.lexer.Token> getImportList()
-    {
-        return this.importList;
-    }
-
-    public void setImportList(IASTListNode<org.eclipse.photran.internal.core.lexer.Token> newValue)
-    {
-        this.importList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTImportStmtNode(this);
-        visitor.visitISpecificationPartConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTImport;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTColon2;
-        case 4:  return this.importList;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTImport = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.importList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInitializationNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInitializationNode.java
deleted file mode 100644
index 8b61bb4..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInitializationNode.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTInitializationNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token assignsNull; // in ASTInitializationNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTNull; // in ASTInitializationNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTInitializationNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTInitializationNode
-    org.eclipse.photran.internal.core.lexer.Token assignsExpr; // in ASTInitializationNode
-    IExpr assignedExpr; // in ASTInitializationNode
-
-    public boolean assignsNull()
-    {
-        return this.assignsNull != null;
-    }
-
-    public void setAssignsNull(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.assignsNull = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean assignsExpr()
-    {
-        return this.assignsExpr != null;
-    }
-
-    public void setAssignsExpr(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.assignsExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getAssignedExpr()
-    {
-        return this.assignedExpr;
-    }
-
-    public void setAssignedExpr(IExpr newValue)
-    {
-        this.assignedExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTInitializationNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.assignsNull;
-        case 1:  return this.hiddenTNull;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.hiddenTRparen;
-        case 4:  return this.assignsExpr;
-        case 5:  return this.assignedExpr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.assignsNull = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTNull = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.assignsExpr = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.assignedExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInputImpliedDoNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInputImpliedDoNode.java
deleted file mode 100644
index b4252cb..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInputImpliedDoNode.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTInputImpliedDoNode extends ASTNode implements IInputItem
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTInputImpliedDoNode
-    IASTListNode<IInputItem> inputItemList; // in ASTInputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTInputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token impliedDoVariable; // in ASTInputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTInputImpliedDoNode
-    IExpr lb; // in ASTInputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma2; // in ASTInputImpliedDoNode
-    IExpr ub; // in ASTInputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma3; // in ASTInputImpliedDoNode
-    IExpr step; // in ASTInputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTInputImpliedDoNode
-
-    public IASTListNode<IInputItem> getInputItemList()
-    {
-        return this.inputItemList;
-    }
-
-    public void setInputItemList(IASTListNode<IInputItem> newValue)
-    {
-        this.inputItemList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getImpliedDoVariable()
-    {
-        return this.impliedDoVariable;
-    }
-
-    public void setImpliedDoVariable(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.impliedDoVariable = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getLb()
-    {
-        return this.lb;
-    }
-
-    public void setLb(IExpr newValue)
-    {
-        this.lb = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getUb()
-    {
-        return this.ub;
-    }
-
-    public void setUb(IExpr newValue)
-    {
-        this.ub = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getStep()
-    {
-        return this.step;
-    }
-
-    public void setStep(IExpr newValue)
-    {
-        this.step = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTInputImpliedDoNode(this);
-        visitor.visitIInputItem(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 11;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLparen;
-        case 1:  return this.inputItemList;
-        case 2:  return this.hiddenTComma;
-        case 3:  return this.impliedDoVariable;
-        case 4:  return this.hiddenTEquals;
-        case 5:  return this.lb;
-        case 6:  return this.hiddenTComma2;
-        case 7:  return this.ub;
-        case 8:  return this.hiddenTComma3;
-        case 9:  return this.step;
-        case 10: return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.inputItemList = (IASTListNode<IInputItem>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.lb = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.ub = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTComma3 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.step = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireSpecListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireSpecListNode.java
deleted file mode 100644
index 515a62d..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireSpecListNode.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTInquireSpecListNode extends ASTNode
-{
-    ASTUnitIdentifierNode unitIdentifier; // in ASTInquireSpecListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTInquireSpecListNode
-    ASTInquireSpecNode inquireSpec; // in ASTInquireSpecListNode
-
-    public ASTUnitIdentifierNode getUnitIdentifier()
-    {
-        return this.unitIdentifier;
-    }
-
-    public void setUnitIdentifier(ASTUnitIdentifierNode newValue)
-    {
-        this.unitIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTInquireSpecNode getInquireSpec()
-    {
-        return this.inquireSpec;
-    }
-
-    public void setInquireSpec(ASTInquireSpecNode newValue)
-    {
-        this.inquireSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTInquireSpecListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.unitIdentifier;
-        case 1:  return this.hiddenTComma;
-        case 2:  return this.inquireSpec;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.unitIdentifier = (ASTUnitIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.inquireSpec = (ASTInquireSpecNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireSpecNode.java
deleted file mode 100644
index 8d9fc6a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireSpecNode.java
+++ /dev/null
@@ -1,708 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTInquireSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTAsynchronouseq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRoundeq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTWriteeq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTAccesseq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTDelimeq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTDecimaleq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRecleq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTPositioneq; // in ASTInquireSpecNode
-    IExpr reclExpr; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTNameeq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTStreameq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTExisteq; // in ASTInquireSpecNode
-    ASTScalarVariableNode existVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTFormattedeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode formattedVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIostateq; // in ASTInquireSpecNode
-    ASTScalarVariableNode ioStatVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTPoseq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTFormeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode streamVar; // in ASTInquireSpecNode
-    ASTScalarVariableNode roundExpr; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTNumbereq; // in ASTInquireSpecNode
-    ASTScalarVariableNode asyncExpr; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTDirecteq; // in ASTInquireSpecNode
-    ASTScalarVariableNode decimalExpr; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIomsgeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode iomsgExpr; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEncodingeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode encodingExpr; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSequentialeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode sequentialVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTPendingeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode positionVar; // in ASTInquireSpecNode
-    ASTScalarVariableNode directVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSizeeq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTFileeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode numberVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTUnformattedeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode sizeVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTNextreceq; // in ASTInquireSpecNode
-    ASTScalarVariableNode nextRecVar; // in ASTInquireSpecNode
-    ASTCExprNode fileExpr; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTOpenedeq; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTErreq; // in ASTInquireSpecNode
-    ASTLblRefNode errVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSigneq; // in ASTInquireSpecNode
-    ASTScalarVariableNode signExpr; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTBlankeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode blankVar; // in ASTInquireSpecNode
-    ASTScalarVariableNode posVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIdeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode idVar; // in ASTInquireSpecNode
-    ASTScalarVariableNode unformattedVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTActioneq; // in ASTInquireSpecNode
-    ASTScalarVariableNode actionVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTUniteq; // in ASTInquireSpecNode
-    ASTUnitIdentifierNode unitIdentifier; // in ASTInquireSpecNode
-    ASTScalarVariableNode formVar; // in ASTInquireSpecNode
-    ASTScalarVariableNode nameVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTReadeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode readVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTNamedeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode namedVar; // in ASTInquireSpecNode
-    ASTScalarVariableNode pendingVar; // in ASTInquireSpecNode
-    ASTScalarVariableNode delimVar; // in ASTInquireSpecNode
-    ASTScalarVariableNode accessVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTPadeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode padVar; // in ASTInquireSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTReadwriteeq; // in ASTInquireSpecNode
-    ASTScalarVariableNode readWriteVar; // in ASTInquireSpecNode
-    ASTScalarVariableNode openedVar; // in ASTInquireSpecNode
-    ASTScalarVariableNode writeVar; // in ASTInquireSpecNode
-
-    public IExpr getReclExpr()
-    {
-        return this.reclExpr;
-    }
-
-    public void setReclExpr(IExpr newValue)
-    {
-        this.reclExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getExistVar()
-    {
-        return this.existVar;
-    }
-
-    public void setExistVar(ASTScalarVariableNode newValue)
-    {
-        this.existVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getFormattedVar()
-    {
-        return this.formattedVar;
-    }
-
-    public void setFormattedVar(ASTScalarVariableNode newValue)
-    {
-        this.formattedVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getIoStatVar()
-    {
-        return this.ioStatVar;
-    }
-
-    public void setIoStatVar(ASTScalarVariableNode newValue)
-    {
-        this.ioStatVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getStreamVar()
-    {
-        return this.streamVar;
-    }
-
-    public void setStreamVar(ASTScalarVariableNode newValue)
-    {
-        this.streamVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getRoundExpr()
-    {
-        return this.roundExpr;
-    }
-
-    public void setRoundExpr(ASTScalarVariableNode newValue)
-    {
-        this.roundExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getAsyncExpr()
-    {
-        return this.asyncExpr;
-    }
-
-    public void setAsyncExpr(ASTScalarVariableNode newValue)
-    {
-        this.asyncExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getDecimalExpr()
-    {
-        return this.decimalExpr;
-    }
-
-    public void setDecimalExpr(ASTScalarVariableNode newValue)
-    {
-        this.decimalExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getIomsgExpr()
-    {
-        return this.iomsgExpr;
-    }
-
-    public void setIomsgExpr(ASTScalarVariableNode newValue)
-    {
-        this.iomsgExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getEncodingExpr()
-    {
-        return this.encodingExpr;
-    }
-
-    public void setEncodingExpr(ASTScalarVariableNode newValue)
-    {
-        this.encodingExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getSequentialVar()
-    {
-        return this.sequentialVar;
-    }
-
-    public void setSequentialVar(ASTScalarVariableNode newValue)
-    {
-        this.sequentialVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getPositionVar()
-    {
-        return this.positionVar;
-    }
-
-    public void setPositionVar(ASTScalarVariableNode newValue)
-    {
-        this.positionVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getDirectVar()
-    {
-        return this.directVar;
-    }
-
-    public void setDirectVar(ASTScalarVariableNode newValue)
-    {
-        this.directVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getNumberVar()
-    {
-        return this.numberVar;
-    }
-
-    public void setNumberVar(ASTScalarVariableNode newValue)
-    {
-        this.numberVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getSizeVar()
-    {
-        return this.sizeVar;
-    }
-
-    public void setSizeVar(ASTScalarVariableNode newValue)
-    {
-        this.sizeVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getNextRecVar()
-    {
-        return this.nextRecVar;
-    }
-
-    public void setNextRecVar(ASTScalarVariableNode newValue)
-    {
-        this.nextRecVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTCExprNode getFileExpr()
-    {
-        return this.fileExpr;
-    }
-
-    public void setFileExpr(ASTCExprNode newValue)
-    {
-        this.fileExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTLblRefNode getErrVar()
-    {
-        return this.errVar;
-    }
-
-    public void setErrVar(ASTLblRefNode newValue)
-    {
-        this.errVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getSignExpr()
-    {
-        return this.signExpr;
-    }
-
-    public void setSignExpr(ASTScalarVariableNode newValue)
-    {
-        this.signExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getBlankVar()
-    {
-        return this.blankVar;
-    }
-
-    public void setBlankVar(ASTScalarVariableNode newValue)
-    {
-        this.blankVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getPosVar()
-    {
-        return this.posVar;
-    }
-
-    public void setPosVar(ASTScalarVariableNode newValue)
-    {
-        this.posVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getIdVar()
-    {
-        return this.idVar;
-    }
-
-    public void setIdVar(ASTScalarVariableNode newValue)
-    {
-        this.idVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getUnformattedVar()
-    {
-        return this.unformattedVar;
-    }
-
-    public void setUnformattedVar(ASTScalarVariableNode newValue)
-    {
-        this.unformattedVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getActionVar()
-    {
-        return this.actionVar;
-    }
-
-    public void setActionVar(ASTScalarVariableNode newValue)
-    {
-        this.actionVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUnitIdentifierNode getUnitIdentifier()
-    {
-        return this.unitIdentifier;
-    }
-
-    public void setUnitIdentifier(ASTUnitIdentifierNode newValue)
-    {
-        this.unitIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getFormVar()
-    {
-        return this.formVar;
-    }
-
-    public void setFormVar(ASTScalarVariableNode newValue)
-    {
-        this.formVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getNameVar()
-    {
-        return this.nameVar;
-    }
-
-    public void setNameVar(ASTScalarVariableNode newValue)
-    {
-        this.nameVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getReadVar()
-    {
-        return this.readVar;
-    }
-
-    public void setReadVar(ASTScalarVariableNode newValue)
-    {
-        this.readVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getNamedVar()
-    {
-        return this.namedVar;
-    }
-
-    public void setNamedVar(ASTScalarVariableNode newValue)
-    {
-        this.namedVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getPendingVar()
-    {
-        return this.pendingVar;
-    }
-
-    public void setPendingVar(ASTScalarVariableNode newValue)
-    {
-        this.pendingVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getDelimVar()
-    {
-        return this.delimVar;
-    }
-
-    public void setDelimVar(ASTScalarVariableNode newValue)
-    {
-        this.delimVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getAccessVar()
-    {
-        return this.accessVar;
-    }
-
-    public void setAccessVar(ASTScalarVariableNode newValue)
-    {
-        this.accessVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getPadVar()
-    {
-        return this.padVar;
-    }
-
-    public void setPadVar(ASTScalarVariableNode newValue)
-    {
-        this.padVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getReadWriteVar()
-    {
-        return this.readWriteVar;
-    }
-
-    public void setReadWriteVar(ASTScalarVariableNode newValue)
-    {
-        this.readWriteVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getOpenedVar()
-    {
-        return this.openedVar;
-    }
-
-    public void setOpenedVar(ASTScalarVariableNode newValue)
-    {
-        this.openedVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getWriteVar()
-    {
-        return this.writeVar;
-    }
-
-    public void setWriteVar(ASTScalarVariableNode newValue)
-    {
-        this.writeVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTInquireSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 72;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTAsynchronouseq;
-        case 1:  return this.hiddenTRoundeq;
-        case 2:  return this.hiddenTWriteeq;
-        case 3:  return this.hiddenTAccesseq;
-        case 4:  return this.hiddenTDelimeq;
-        case 5:  return this.hiddenTDecimaleq;
-        case 6:  return this.hiddenTRecleq;
-        case 7:  return this.hiddenTPositioneq;
-        case 8:  return this.reclExpr;
-        case 9:  return this.hiddenTNameeq;
-        case 10: return this.hiddenTStreameq;
-        case 11: return this.hiddenTExisteq;
-        case 12: return this.existVar;
-        case 13: return this.hiddenTFormattedeq;
-        case 14: return this.formattedVar;
-        case 15: return this.hiddenTIostateq;
-        case 16: return this.ioStatVar;
-        case 17: return this.hiddenTPoseq;
-        case 18: return this.hiddenTFormeq;
-        case 19: return this.streamVar;
-        case 20: return this.roundExpr;
-        case 21: return this.hiddenTNumbereq;
-        case 22: return this.asyncExpr;
-        case 23: return this.hiddenTDirecteq;
-        case 24: return this.decimalExpr;
-        case 25: return this.hiddenTIomsgeq;
-        case 26: return this.iomsgExpr;
-        case 27: return this.hiddenTEncodingeq;
-        case 28: return this.encodingExpr;
-        case 29: return this.hiddenTSequentialeq;
-        case 30: return this.sequentialVar;
-        case 31: return this.hiddenTPendingeq;
-        case 32: return this.positionVar;
-        case 33: return this.directVar;
-        case 34: return this.hiddenTSizeeq;
-        case 35: return this.hiddenTFileeq;
-        case 36: return this.numberVar;
-        case 37: return this.hiddenTUnformattedeq;
-        case 38: return this.sizeVar;
-        case 39: return this.hiddenTNextreceq;
-        case 40: return this.nextRecVar;
-        case 41: return this.fileExpr;
-        case 42: return this.hiddenTOpenedeq;
-        case 43: return this.hiddenTErreq;
-        case 44: return this.errVar;
-        case 45: return this.hiddenTSigneq;
-        case 46: return this.signExpr;
-        case 47: return this.hiddenTBlankeq;
-        case 48: return this.blankVar;
-        case 49: return this.posVar;
-        case 50: return this.hiddenTIdeq;
-        case 51: return this.idVar;
-        case 52: return this.unformattedVar;
-        case 53: return this.hiddenTActioneq;
-        case 54: return this.actionVar;
-        case 55: return this.hiddenTUniteq;
-        case 56: return this.unitIdentifier;
-        case 57: return this.formVar;
-        case 58: return this.nameVar;
-        case 59: return this.hiddenTReadeq;
-        case 60: return this.readVar;
-        case 61: return this.hiddenTNamedeq;
-        case 62: return this.namedVar;
-        case 63: return this.pendingVar;
-        case 64: return this.delimVar;
-        case 65: return this.accessVar;
-        case 66: return this.hiddenTPadeq;
-        case 67: return this.padVar;
-        case 68: return this.hiddenTReadwriteeq;
-        case 69: return this.readWriteVar;
-        case 70: return this.openedVar;
-        case 71: return this.writeVar;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTAsynchronouseq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTRoundeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTWriteeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTAccesseq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTDelimeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTDecimaleq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRecleq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTPositioneq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.reclExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTNameeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenTStreameq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 11: this.hiddenTExisteq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 12: this.existVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 13: this.hiddenTFormattedeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 14: this.formattedVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 15: this.hiddenTIostateq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 16: this.ioStatVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 17: this.hiddenTPoseq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 18: this.hiddenTFormeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 19: this.streamVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 20: this.roundExpr = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 21: this.hiddenTNumbereq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 22: this.asyncExpr = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 23: this.hiddenTDirecteq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 24: this.decimalExpr = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 25: this.hiddenTIomsgeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 26: this.iomsgExpr = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 27: this.hiddenTEncodingeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 28: this.encodingExpr = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 29: this.hiddenTSequentialeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 30: this.sequentialVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 31: this.hiddenTPendingeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 32: this.positionVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 33: this.directVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 34: this.hiddenTSizeeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 35: this.hiddenTFileeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 36: this.numberVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 37: this.hiddenTUnformattedeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 38: this.sizeVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 39: this.hiddenTNextreceq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 40: this.nextRecVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 41: this.fileExpr = (ASTCExprNode)value; if (value != null) value.setParent(this); return;
-        case 42: this.hiddenTOpenedeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 43: this.hiddenTErreq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 44: this.errVar = (ASTLblRefNode)value; if (value != null) value.setParent(this); return;
-        case 45: this.hiddenTSigneq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 46: this.signExpr = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 47: this.hiddenTBlankeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 48: this.blankVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 49: this.posVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 50: this.hiddenTIdeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 51: this.idVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 52: this.unformattedVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 53: this.hiddenTActioneq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 54: this.actionVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 55: this.hiddenTUniteq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 56: this.unitIdentifier = (ASTUnitIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 57: this.formVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 58: this.nameVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 59: this.hiddenTReadeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 60: this.readVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 61: this.hiddenTNamedeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 62: this.namedVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 63: this.pendingVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 64: this.delimVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 65: this.accessVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 66: this.hiddenTPadeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 67: this.padVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 68: this.hiddenTReadwriteeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 69: this.readWriteVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 70: this.openedVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 71: this.writeVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireStmtNode.java
deleted file mode 100644
index 876330a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInquireStmtNode.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTInquireStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTInquireStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTInquire; // in ASTInquireStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTInquireStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIolengtheq; // in ASTInquireStmtNode
-    ASTScalarVariableNode ioLengthVar; // in ASTInquireStmtNode
-    IASTListNode<ASTInquireSpecListNode> inquireSpecList; // in ASTInquireStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTInquireStmtNode
-    ASTOutputItemListNode outputItemList; // in ASTInquireStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTInquireStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getIoLengthVar()
-    {
-        return this.ioLengthVar;
-    }
-
-    public void setIoLengthVar(ASTScalarVariableNode newValue)
-    {
-        this.ioLengthVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTInquireSpecListNode> getInquireSpecList()
-    {
-        return this.inquireSpecList;
-    }
-
-    public void setInquireSpecList(IASTListNode<ASTInquireSpecListNode> newValue)
-    {
-        this.inquireSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOutputItemListNode getOutputItemList()
-    {
-        return this.outputItemList;
-    }
-
-    public void setOutputItemList(ASTOutputItemListNode newValue)
-    {
-        this.outputItemList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTInquireStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 9;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTInquire;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.hiddenTIolengtheq;
-        case 4:  return this.ioLengthVar;
-        case 5:  return this.inquireSpecList;
-        case 6:  return this.hiddenTRparen;
-        case 7:  return this.outputItemList;
-        case 8:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTInquire = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTIolengtheq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.ioLengthVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 5:  this.inquireSpecList = (IASTListNode<ASTInquireSpecListNode>)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.outputItemList = (ASTOutputItemListNode)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntConstNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntConstNode.java
deleted file mode 100644
index 379d2c2..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntConstNode.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIntConstNode extends ASTNode implements IExpr, ISelector, IUnsignedArithmeticConst
-{
-    org.eclipse.photran.internal.core.lexer.Token intConst; // in ASTIntConstNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTUnderscore; // in ASTIntConstNode
-    ASTNamedConstantUseNode namedConstKind; // in ASTIntConstNode
-    org.eclipse.photran.internal.core.lexer.Token intKind; // in ASTIntConstNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntConst()
-    {
-        return this.intConst;
-    }
-
-    public void setIntConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTNamedConstantUseNode getNamedConstKind()
-    {
-        return this.namedConstKind;
-    }
-
-    public void setNamedConstKind(ASTNamedConstantUseNode newValue)
-    {
-        this.namedConstKind = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntKind()
-    {
-        return this.intKind;
-    }
-
-    public void setIntKind(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intKind = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIntConstNode(this);
-        visitor.visitIExpr(this);
-        visitor.visitISelector(this);
-        visitor.visitIUnsignedArithmeticConst(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.intConst;
-        case 1:  return this.hiddenTUnderscore;
-        case 2:  return this.namedConstKind;
-        case 3:  return this.intKind;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.intConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTUnderscore = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.namedConstKind = (ASTNamedConstantUseNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.intKind = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentParListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentParListNode.java
deleted file mode 100644
index 79fe192..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentParListNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIntentParListNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTIntentParListNode
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTIntentParListNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIntentParListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTComma;
-        case 1:  return this.variableName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentParNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentParNode.java
deleted file mode 100644
index d33b34b..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentParNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIntentParNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTIntentParNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIntentParNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.variableName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentSpecNode.java
deleted file mode 100644
index 3f66e40..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentSpecNode.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIntentSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token isIntentOut; // in ASTIntentSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isIntentInOut; // in ASTIntentSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTOut; // in ASTIntentSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isIntentIn; // in ASTIntentSpecNode
-
-    public boolean isIntentOut()
-    {
-        return this.isIntentOut != null;
-    }
-
-    public void setIsIntentOut(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isIntentOut = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isIntentInOut()
-    {
-        return this.isIntentInOut != null;
-    }
-
-    public void setIsIntentInOut(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isIntentInOut = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isIntentIn()
-    {
-        return this.isIntentIn != null;
-    }
-
-    public void setIsIntentIn(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isIntentIn = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIntentSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isIntentOut;
-        case 1:  return this.isIntentInOut;
-        case 2:  return this.hiddenTOut;
-        case 3:  return this.isIntentIn;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isIntentOut = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isIntentInOut = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTOut = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.isIntentIn = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentStmtNode.java
deleted file mode 100644
index 413babc..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntentStmtNode.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIntentStmtNode extends ASTNode implements ISpecificationStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTIntentStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIntent; // in ASTIntentStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTIntentStmtNode
-    ASTIntentSpecNode intentSpec; // in ASTIntentStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTIntentStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTIntentStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTIntentStmtNode
-    IASTListNode<ASTIntentParListNode> variableList; // in ASTIntentStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTIntentStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTIntentSpecNode getIntentSpec()
-    {
-        return this.intentSpec;
-    }
-
-    public void setIntentSpec(ASTIntentSpecNode newValue)
-    {
-        this.intentSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTIntentParListNode> getVariableList()
-    {
-        return this.variableList;
-    }
-
-    public void setVariableList(IASTListNode<ASTIntentParListNode> newValue)
-    {
-        this.variableList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIntentStmtNode(this);
-        visitor.visitISpecificationStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 9;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTIntent;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.intentSpec;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTColon;
-        case 6:  return this.hiddenTColon2;
-        case 7:  return this.variableList;
-        case 8:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTIntent = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.intentSpec = (ASTIntentSpecNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.variableList = (IASTListNode<ASTIntentParListNode>)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceBlockNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceBlockNode.java
deleted file mode 100644
index 20cdba2..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceBlockNode.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTInterfaceBlockNode extends ScopingNode implements IDeclarationConstruct
-{
-    ASTInterfaceStmtNode interfaceStmt; // in ASTInterfaceBlockNode
-    IASTListNode<IInterfaceSpecification> interfaceBlockBody; // in ASTInterfaceBlockNode
-    ASTEndInterfaceStmtNode endInterfaceStmt; // in ASTInterfaceBlockNode
-
-    public ASTInterfaceStmtNode getInterfaceStmt()
-    {
-        return this.interfaceStmt;
-    }
-
-    public void setInterfaceStmt(ASTInterfaceStmtNode newValue)
-    {
-        this.interfaceStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IInterfaceSpecification> getInterfaceBlockBody()
-    {
-        return this.interfaceBlockBody;
-    }
-
-    public void setInterfaceBlockBody(IASTListNode<IInterfaceSpecification> newValue)
-    {
-        this.interfaceBlockBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndInterfaceStmtNode getEndInterfaceStmt()
-    {
-        return this.endInterfaceStmt;
-    }
-
-    public void setEndInterfaceStmt(ASTEndInterfaceStmtNode newValue)
-    {
-        this.endInterfaceStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTInterfaceBlockNode(this);
-        visitor.visitIDeclarationConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.interfaceStmt;
-        case 1:  return this.interfaceBlockBody;
-        case 2:  return this.endInterfaceStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.interfaceStmt = (ASTInterfaceStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.interfaceBlockBody = (IASTListNode<IInterfaceSpecification>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.endInterfaceStmt = (ASTEndInterfaceStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceBodyNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceBodyNode.java
deleted file mode 100644
index d8fa787..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceBodyNode.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTInterfaceBodyNode extends ASTNode implements IInterfaceSpecification
-{
-    ASTFunctionStmtNode functionStmt; // in ASTInterfaceBodyNode
-    ASTSubroutineStmtNode subroutineStmt; // in ASTInterfaceBodyNode
-    IASTListNode<ISpecificationPartConstruct> subprogramInterfaceBody; // in ASTInterfaceBodyNode
-    ASTEndFunctionStmtNode endFunctionStmt; // in ASTInterfaceBodyNode
-    ASTEndSubroutineStmtNode endSubroutineStmt; // in ASTInterfaceBodyNode
-
-    public ASTFunctionStmtNode getFunctionStmt()
-    {
-        return this.functionStmt;
-    }
-
-    public void setFunctionStmt(ASTFunctionStmtNode newValue)
-    {
-        this.functionStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSubroutineStmtNode getSubroutineStmt()
-    {
-        return this.subroutineStmt;
-    }
-
-    public void setSubroutineStmt(ASTSubroutineStmtNode newValue)
-    {
-        this.subroutineStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ISpecificationPartConstruct> getSubprogramInterfaceBody()
-    {
-        return this.subprogramInterfaceBody;
-    }
-
-    public void setSubprogramInterfaceBody(IASTListNode<ISpecificationPartConstruct> newValue)
-    {
-        this.subprogramInterfaceBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndFunctionStmtNode getEndFunctionStmt()
-    {
-        return this.endFunctionStmt;
-    }
-
-    public void setEndFunctionStmt(ASTEndFunctionStmtNode newValue)
-    {
-        this.endFunctionStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndSubroutineStmtNode getEndSubroutineStmt()
-    {
-        return this.endSubroutineStmt;
-    }
-
-    public void setEndSubroutineStmt(ASTEndSubroutineStmtNode newValue)
-    {
-        this.endSubroutineStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTInterfaceBodyNode(this);
-        visitor.visitIInterfaceSpecification(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.functionStmt;
-        case 1:  return this.subroutineStmt;
-        case 2:  return this.subprogramInterfaceBody;
-        case 3:  return this.endFunctionStmt;
-        case 4:  return this.endSubroutineStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.functionStmt = (ASTFunctionStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.subroutineStmt = (ASTSubroutineStmtNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.subprogramInterfaceBody = (IASTListNode<ISpecificationPartConstruct>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.endFunctionStmt = (ASTEndFunctionStmtNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.endSubroutineStmt = (ASTEndSubroutineStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceRangeNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceRangeNode.java
deleted file mode 100644
index 765ef74..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceRangeNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTInterfaceRangeNode extends ASTNode
-{
-    IASTListNode<IInterfaceSpecification> interfaceBlockBody; // in ASTInterfaceRangeNode
-    ASTEndInterfaceStmtNode endInterfaceStmt; // in ASTInterfaceRangeNode
-
-    public IASTListNode<IInterfaceSpecification> getInterfaceBlockBody()
-    {
-        return this.interfaceBlockBody;
-    }
-
-    public void setInterfaceBlockBody(IASTListNode<IInterfaceSpecification> newValue)
-    {
-        this.interfaceBlockBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndInterfaceStmtNode getEndInterfaceStmt()
-    {
-        return this.endInterfaceStmt;
-    }
-
-    public void setEndInterfaceStmt(ASTEndInterfaceStmtNode newValue)
-    {
-        this.endInterfaceStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTInterfaceRangeNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.interfaceBlockBody;
-        case 1:  return this.endInterfaceStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.interfaceBlockBody = (IASTListNode<IInterfaceSpecification>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.endInterfaceStmt = (ASTEndInterfaceStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceStmtNode.java
deleted file mode 100644
index 561581c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInterfaceStmtNode.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTInterfaceStmtNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTInterfaceStmtNode
-    org.eclipse.photran.internal.core.lexer.Token isAbstract; // in ASTInterfaceStmtNode
-    org.eclipse.photran.internal.core.lexer.Token interfaceToken; // in ASTInterfaceStmtNode
-    ASTGenericNameNode genericName; // in ASTInterfaceStmtNode
-    ASTGenericSpecNode genericSpec; // in ASTInterfaceStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTInterfaceStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isAbstract()
-    {
-        return this.isAbstract != null;
-    }
-
-    public void setIsAbstract(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isAbstract = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getInterfaceToken()
-    {
-        return this.interfaceToken;
-    }
-
-    public void setInterfaceToken(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.interfaceToken = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTGenericNameNode getGenericName()
-    {
-        return this.genericName;
-    }
-
-    public void setGenericName(ASTGenericNameNode newValue)
-    {
-        this.genericName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTGenericSpecNode getGenericSpec()
-    {
-        return this.genericSpec;
-    }
-
-    public void setGenericSpec(ASTGenericSpecNode newValue)
-    {
-        this.genericSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTInterfaceStmtNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.isAbstract;
-        case 2:  return this.interfaceToken;
-        case 3:  return this.genericName;
-        case 4:  return this.genericSpec;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isAbstract = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.interfaceToken = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.genericName = (ASTGenericNameNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.genericSpec = (ASTGenericSpecNode)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicListNode.java
deleted file mode 100644
index 7e608e0..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicListNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIntrinsicListNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTIntrinsicListNode
-    org.eclipse.photran.internal.core.lexer.Token intrinsicProcedureName; // in ASTIntrinsicListNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntrinsicProcedureName()
-    {
-        return this.intrinsicProcedureName;
-    }
-
-    public void setIntrinsicProcedureName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intrinsicProcedureName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIntrinsicListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTComma;
-        case 1:  return this.intrinsicProcedureName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.intrinsicProcedureName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicProcedureNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicProcedureNameNode.java
deleted file mode 100644
index bf075ab..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicProcedureNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIntrinsicProcedureNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token intrinsicProcedureName; // in ASTIntrinsicProcedureNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntrinsicProcedureName()
-    {
-        return this.intrinsicProcedureName;
-    }
-
-    public void setIntrinsicProcedureName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intrinsicProcedureName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIntrinsicProcedureNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.intrinsicProcedureName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.intrinsicProcedureName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicStmtNode.java
deleted file mode 100644
index 96d45e9..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIntrinsicStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIntrinsicStmtNode extends ASTNode implements ISpecificationStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTIntrinsicStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIntrinsic; // in ASTIntrinsicStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTIntrinsicStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTIntrinsicStmtNode
-    IASTListNode<ASTIntrinsicListNode> intrinsicList; // in ASTIntrinsicStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTIntrinsicStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTIntrinsicListNode> getIntrinsicList()
-    {
-        return this.intrinsicList;
-    }
-
-    public void setIntrinsicList(IASTListNode<ASTIntrinsicListNode> newValue)
-    {
-        this.intrinsicList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIntrinsicStmtNode(this);
-        visitor.visitISpecificationStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTIntrinsic;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTColon2;
-        case 4:  return this.intrinsicList;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTIntrinsic = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.intrinsicList = (IASTListNode<ASTIntrinsicListNode>)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInvalidEntityDeclNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInvalidEntityDeclNode.java
deleted file mode 100644
index efe36a0..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTInvalidEntityDeclNode.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTInvalidEntityDeclNode extends ASTNode
-{
-    ASTObjectNameNode objectName; // in ASTInvalidEntityDeclNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenAsterisk2; // in ASTInvalidEntityDeclNode
-    ASTCharLengthNode initialCharLength; // in ASTInvalidEntityDeclNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenLparen2; // in ASTInvalidEntityDeclNode
-    ASTArraySpecNode arraySpec; // in ASTInvalidEntityDeclNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenRparen2; // in ASTInvalidEntityDeclNode
-    ASTInitializationNode initialization; // in ASTInvalidEntityDeclNode
-
-    public ASTObjectNameNode getObjectName()
-    {
-        return this.objectName;
-    }
-
-    public void setObjectName(ASTObjectNameNode newValue)
-    {
-        this.objectName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTCharLengthNode getInitialCharLength()
-    {
-        return this.initialCharLength;
-    }
-
-    public void setInitialCharLength(ASTCharLengthNode newValue)
-    {
-        this.initialCharLength = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTArraySpecNode getArraySpec()
-    {
-        return this.arraySpec;
-    }
-
-    public void setArraySpec(ASTArraySpecNode newValue)
-    {
-        this.arraySpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTInitializationNode getInitialization()
-    {
-        return this.initialization;
-    }
-
-    public void setInitialization(ASTInitializationNode newValue)
-    {
-        this.initialization = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTInvalidEntityDeclNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 7;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.objectName;
-        case 1:  return this.hiddenAsterisk2;
-        case 2:  return this.initialCharLength;
-        case 3:  return this.hiddenLparen2;
-        case 4:  return this.arraySpec;
-        case 5:  return this.hiddenRparen2;
-        case 6:  return this.initialization;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.objectName = (ASTObjectNameNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenAsterisk2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.initialCharLength = (ASTCharLengthNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.arraySpec = (ASTArraySpecNode)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.initialization = (ASTInitializationNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIoControlSpecListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIoControlSpecListNode.java
deleted file mode 100644
index 1ce0b30..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIoControlSpecListNode.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIoControlSpecListNode extends ASTNode
-{
-    ASTUnitIdentifierNode unitIdentifier; // in ASTIoControlSpecListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTIoControlSpecListNode
-    ASTIoControlSpecNode ioControlSpec; // in ASTIoControlSpecListNode
-    ASTFormatIdentifierNode formatIdentifier; // in ASTIoControlSpecListNode
-
-    public ASTUnitIdentifierNode getUnitIdentifier()
-    {
-        return this.unitIdentifier;
-    }
-
-    public void setUnitIdentifier(ASTUnitIdentifierNode newValue)
-    {
-        this.unitIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTIoControlSpecNode getIoControlSpec()
-    {
-        return this.ioControlSpec;
-    }
-
-    public void setIoControlSpec(ASTIoControlSpecNode newValue)
-    {
-        this.ioControlSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTFormatIdentifierNode getFormatIdentifier()
-    {
-        return this.formatIdentifier;
-    }
-
-    public void setFormatIdentifier(ASTFormatIdentifierNode newValue)
-    {
-        this.formatIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIoControlSpecListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.unitIdentifier;
-        case 1:  return this.hiddenTComma;
-        case 2:  return this.ioControlSpec;
-        case 3:  return this.formatIdentifier;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.unitIdentifier = (ASTUnitIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.ioControlSpec = (ASTIoControlSpecNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.formatIdentifier = (ASTFormatIdentifierNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIoControlSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIoControlSpecNode.java
deleted file mode 100644
index 65cf9c5..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTIoControlSpecNode.java
+++ /dev/null
@@ -1,366 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTIoControlSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEoreq; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTPoseq; // in ASTIoControlSpecNode
-    ASTCExprNode posExpr; // in ASTIoControlSpecNode
-    ASTLblRefNode eorLbl; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTErreq; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIostateq; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTAdvanceeq; // in ASTIoControlSpecNode
-    ASTCExprNode advanceExpr; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTAsynchronouseq; // in ASTIoControlSpecNode
-    ASTCExprNode asyncExpr; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSigneq; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEndeq; // in ASTIoControlSpecNode
-    ASTLblRefNode endExpr; // in ASTIoControlSpecNode
-    ASTLblRefNode errLbl; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIomsgeq; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTUniteq; // in ASTIoControlSpecNode
-    ASTUnitIdentifierNode unitIdentifier; // in ASTIoControlSpecNode
-    ASTScalarVariableNode ioStatVar; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTNmleq; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRoundeq; // in ASTIoControlSpecNode
-    ASTCExprNode roundExpr; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTDecimaleq; // in ASTIoControlSpecNode
-    ASTCExprNode decimalExpr; // in ASTIoControlSpecNode
-    ASTScalarVariableNode iomsgExpr; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTFmteq; // in ASTIoControlSpecNode
-    ASTFormatIdentifierNode formatIdentifier; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTReceq; // in ASTIoControlSpecNode
-    IExpr recExpr; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSizeeq; // in ASTIoControlSpecNode
-    ASTVariableNode sizeVar; // in ASTIoControlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIdeq; // in ASTIoControlSpecNode
-    ASTScalarVariableNode idVar; // in ASTIoControlSpecNode
-    ASTCExprNode signExpr; // in ASTIoControlSpecNode
-    ASTNamelistGroupNameNode namelistGroupName; // in ASTIoControlSpecNode
-
-    public ASTCExprNode getPosExpr()
-    {
-        return this.posExpr;
-    }
-
-    public void setPosExpr(ASTCExprNode newValue)
-    {
-        this.posExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTLblRefNode getEorLbl()
-    {
-        return this.eorLbl;
-    }
-
-    public void setEorLbl(ASTLblRefNode newValue)
-    {
-        this.eorLbl = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTCExprNode getAdvanceExpr()
-    {
-        return this.advanceExpr;
-    }
-
-    public void setAdvanceExpr(ASTCExprNode newValue)
-    {
-        this.advanceExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTCExprNode getAsyncExpr()
-    {
-        return this.asyncExpr;
-    }
-
-    public void setAsyncExpr(ASTCExprNode newValue)
-    {
-        this.asyncExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTLblRefNode getEndExpr()
-    {
-        return this.endExpr;
-    }
-
-    public void setEndExpr(ASTLblRefNode newValue)
-    {
-        this.endExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTLblRefNode getErrLbl()
-    {
-        return this.errLbl;
-    }
-
-    public void setErrLbl(ASTLblRefNode newValue)
-    {
-        this.errLbl = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUnitIdentifierNode getUnitIdentifier()
-    {
-        return this.unitIdentifier;
-    }
-
-    public void setUnitIdentifier(ASTUnitIdentifierNode newValue)
-    {
-        this.unitIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getIoStatVar()
-    {
-        return this.ioStatVar;
-    }
-
-    public void setIoStatVar(ASTScalarVariableNode newValue)
-    {
-        this.ioStatVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTCExprNode getRoundExpr()
-    {
-        return this.roundExpr;
-    }
-
-    public void setRoundExpr(ASTCExprNode newValue)
-    {
-        this.roundExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTCExprNode getDecimalExpr()
-    {
-        return this.decimalExpr;
-    }
-
-    public void setDecimalExpr(ASTCExprNode newValue)
-    {
-        this.decimalExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getIomsgExpr()
-    {
-        return this.iomsgExpr;
-    }
-
-    public void setIomsgExpr(ASTScalarVariableNode newValue)
-    {
-        this.iomsgExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTFormatIdentifierNode getFormatIdentifier()
-    {
-        return this.formatIdentifier;
-    }
-
-    public void setFormatIdentifier(ASTFormatIdentifierNode newValue)
-    {
-        this.formatIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getRecExpr()
-    {
-        return this.recExpr;
-    }
-
-    public void setRecExpr(IExpr newValue)
-    {
-        this.recExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTVariableNode getSizeVar()
-    {
-        return this.sizeVar;
-    }
-
-    public void setSizeVar(ASTVariableNode newValue)
-    {
-        this.sizeVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getIdVar()
-    {
-        return this.idVar;
-    }
-
-    public void setIdVar(ASTScalarVariableNode newValue)
-    {
-        this.idVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTCExprNode getSignExpr()
-    {
-        return this.signExpr;
-    }
-
-    public void setSignExpr(ASTCExprNode newValue)
-    {
-        this.signExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTNamelistGroupNameNode getNamelistGroupName()
-    {
-        return this.namelistGroupName;
-    }
-
-    public void setNamelistGroupName(ASTNamelistGroupNameNode newValue)
-    {
-        this.namelistGroupName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTIoControlSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 34;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTEoreq;
-        case 1:  return this.hiddenTPoseq;
-        case 2:  return this.posExpr;
-        case 3:  return this.eorLbl;
-        case 4:  return this.hiddenTErreq;
-        case 5:  return this.hiddenTIostateq;
-        case 6:  return this.hiddenTAdvanceeq;
-        case 7:  return this.advanceExpr;
-        case 8:  return this.hiddenTAsynchronouseq;
-        case 9:  return this.asyncExpr;
-        case 10: return this.hiddenTSigneq;
-        case 11: return this.hiddenTEndeq;
-        case 12: return this.endExpr;
-        case 13: return this.errLbl;
-        case 14: return this.hiddenTIomsgeq;
-        case 15: return this.hiddenTUniteq;
-        case 16: return this.unitIdentifier;
-        case 17: return this.ioStatVar;
-        case 18: return this.hiddenTNmleq;
-        case 19: return this.hiddenTRoundeq;
-        case 20: return this.roundExpr;
-        case 21: return this.hiddenTDecimaleq;
-        case 22: return this.decimalExpr;
-        case 23: return this.iomsgExpr;
-        case 24: return this.hiddenTFmteq;
-        case 25: return this.formatIdentifier;
-        case 26: return this.hiddenTReceq;
-        case 27: return this.recExpr;
-        case 28: return this.hiddenTSizeeq;
-        case 29: return this.sizeVar;
-        case 30: return this.hiddenTIdeq;
-        case 31: return this.idVar;
-        case 32: return this.signExpr;
-        case 33: return this.namelistGroupName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTEoreq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTPoseq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.posExpr = (ASTCExprNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.eorLbl = (ASTLblRefNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTErreq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTIostateq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTAdvanceeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.advanceExpr = (ASTCExprNode)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTAsynchronouseq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.asyncExpr = (ASTCExprNode)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenTSigneq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 11: this.hiddenTEndeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 12: this.endExpr = (ASTLblRefNode)value; if (value != null) value.setParent(this); return;
-        case 13: this.errLbl = (ASTLblRefNode)value; if (value != null) value.setParent(this); return;
-        case 14: this.hiddenTIomsgeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 15: this.hiddenTUniteq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 16: this.unitIdentifier = (ASTUnitIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 17: this.ioStatVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 18: this.hiddenTNmleq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 19: this.hiddenTRoundeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 20: this.roundExpr = (ASTCExprNode)value; if (value != null) value.setParent(this); return;
-        case 21: this.hiddenTDecimaleq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 22: this.decimalExpr = (ASTCExprNode)value; if (value != null) value.setParent(this); return;
-        case 23: this.iomsgExpr = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 24: this.hiddenTFmteq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 25: this.formatIdentifier = (ASTFormatIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 26: this.hiddenTReceq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 27: this.recExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 28: this.hiddenTSizeeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 29: this.sizeVar = (ASTVariableNode)value; if (value != null) value.setParent(this); return;
-        case 30: this.hiddenTIdeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 31: this.idVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        case 32: this.signExpr = (ASTCExprNode)value; if (value != null) value.setParent(this); return;
-        case 33: this.namelistGroupName = (ASTNamelistGroupNameNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTKindParamNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTKindParamNode.java
deleted file mode 100644
index 22765b7..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTKindParamNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTKindParamNode extends ASTNode
-{
-    ASTNamedConstantUseNode namedConstKind; // in ASTKindParamNode
-    org.eclipse.photran.internal.core.lexer.Token intKind; // in ASTKindParamNode
-
-    public ASTNamedConstantUseNode getNamedConstKind()
-    {
-        return this.namedConstKind;
-    }
-
-    public void setNamedConstKind(ASTNamedConstantUseNode newValue)
-    {
-        this.namedConstKind = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntKind()
-    {
-        return this.intKind;
-    }
-
-    public void setIntKind(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intKind = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTKindParamNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.namedConstKind;
-        case 1:  return this.intKind;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.namedConstKind = (ASTNamedConstantUseNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.intKind = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTKindSelectorNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTKindSelectorNode.java
deleted file mode 100644
index f3de8d3..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTKindSelectorNode.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTKindSelectorNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTKindSelectorNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTAsterisk; // in ASTKindSelectorNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTKindeq; // in ASTKindSelectorNode
-    IExpr kindExpr; // in ASTKindSelectorNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTKindSelectorNode
-
-    public IExpr getKindExpr()
-    {
-        return this.kindExpr;
-    }
-
-    public void setKindExpr(IExpr newValue)
-    {
-        this.kindExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTKindSelectorNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLparen;
-        case 1:  return this.hiddenTAsterisk;
-        case 2:  return this.hiddenTKindeq;
-        case 3:  return this.kindExpr;
-        case 4:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTKindeq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.kindExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLabelDoStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLabelDoStmtNode.java
deleted file mode 100644
index 53a3319..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLabelDoStmtNode.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTLabelDoStmtNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTLabelDoStmtNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTLabelDoStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTLabelDoStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTDo; // in ASTLabelDoStmtNode
-    ASTLblRefNode lblRef; // in ASTLabelDoStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTLabelDoStmtNode
-    ASTLoopControlNode loopControl; // in ASTLabelDoStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTLabelDoStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTLblRefNode getLblRef()
-    {
-        return this.lblRef;
-    }
-
-    public void setLblRef(ASTLblRefNode newValue)
-    {
-        this.lblRef = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTLoopControlNode getLoopControl()
-    {
-        return this.loopControl;
-    }
-
-    public void setLoopControl(ASTLoopControlNode newValue)
-    {
-        this.loopControl = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTLabelDoStmtNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.name;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTDo;
-        case 4:  return this.lblRef;
-        case 5:  return this.hiddenTComma;
-        case 6:  return this.loopControl;
-        case 7:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTDo = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.lblRef = (ASTLblRefNode)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.loopControl = (ASTLoopControlNode)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLabelNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLabelNode.java
deleted file mode 100644
index f553f2d..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLabelNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTLabelNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTLabelNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTLabelNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLanguageBindingSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLanguageBindingSpecNode.java
deleted file mode 100644
index 3111c93..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLanguageBindingSpecNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTLanguageBindingSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token isBind; // in ASTLanguageBindingSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTLanguageBindingSpecNode
-    org.eclipse.photran.internal.core.lexer.Token language; // in ASTLanguageBindingSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTLanguageBindingSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIdent; // in ASTLanguageBindingSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTLanguageBindingSpecNode
-    IExpr expr; // in ASTLanguageBindingSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTLanguageBindingSpecNode
-
-    public boolean isBind()
-    {
-        return this.isBind != null;
-    }
-
-    public void setIsBind(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isBind = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getLanguage()
-    {
-        return this.language;
-    }
-
-    public void setLanguage(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.language = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTLanguageBindingSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isBind;
-        case 1:  return this.hiddenTLparen;
-        case 2:  return this.language;
-        case 3:  return this.hiddenTComma;
-        case 4:  return this.hiddenTIdent;
-        case 5:  return this.hiddenTEquals;
-        case 6:  return this.expr;
-        case 7:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isBind = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.language = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTIdent = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblDefNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblDefNode.java
deleted file mode 100644
index 6b1ca1a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblDefNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTLblDefNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTLblDefNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTLblDefNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblRefListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblRefListNode.java
deleted file mode 100644
index 8412f07..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblRefListNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTLblRefListNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTLblRefListNode
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTLblRefListNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTLblRefListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTComma;
-        case 1:  return this.label;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblRefNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblRefNode.java
deleted file mode 100644
index 27af719..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLblRefNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTLblRefNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTLblRefNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTLblRefNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTListNode.java
deleted file mode 100644
index fe0d2bb..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTListNode.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.photran.internal.core.parser.ASTNodeUtil.NonNullIterator;
-
-@SuppressWarnings("all")
-public class ASTListNode<T extends IASTNode> extends ArrayList<T> implements IASTListNode<T>
-{
-    private IASTNode parent = null;
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Constructors
-    ///////////////////////////////////////////////////////////////////////////
-
-    public ASTListNode()
-    {
-        super();
-    }
-
-    public ASTListNode(int initialCapacity)
-    {
-        super(initialCapacity);
-    }
-
-    public ASTListNode(T singletonElement)
-    {
-        super(1);
-        add(singletonElement);
-    }
-
-    public ASTListNode(T... elements)
-    {
-        super(elements.length);
-        for (T e : elements)
-            add(e);
-    }
-
-    public ASTListNode(Collection<? extends T> copyFrom)
-    {
-        super(copyFrom);
-    }
-
-    public ASTListNode(T first, Collection<? extends T> rest)
-    {
-        super(rest.size()+1);
-        add(first);
-        addAll(rest);
-    }
-
-    public ASTListNode(Collection<? extends T> firsts, T last)
-    {
-        super(firsts.size()+1);
-        addAll(firsts);
-        add(last);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // IASTListNode Insertion Methods
-    ///////////////////////////////////////////////////////////////////////////
-
-    public void insertBefore(T insertBefore, T newElement)
-    {
-        int index = indexOf(insertBefore);
-        if (index < 0)
-            throw new IllegalArgumentException("Element to insert before not in list");
-        add(index, newElement);
-    }
-
-    public void insertAfter(T insertAfter, T newElement)
-    {
-        int index = indexOf(insertAfter);
-        if (index < 0)
-            throw new IllegalArgumentException("Element to insert after not in list");
-        add(index+1, newElement);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Traversal and Visitor Support
-    ///////////////////////////////////////////////////////////////////////////
-
-    public IASTNode getParent()
-    {
-        return this.parent;
-    }
-
-    public void setParent(IASTNode parent)
-    {
-        this.parent = parent;
-    }
-
-    public Iterable<? extends IASTNode> getChildren()
-    {
-        return this;
-    }
-
-    @Override public Iterator<T> iterator()
-    {
-        // This is a custom iterator that, unlike the usual ArrayList iterator,
-        // (1) never returns null and
-        // (2) allows the tree to be modified during traversal.
-        return new NonNullIterator<T>(new Iterator<T>()
-        {
-            private int index = 0;
-
-            public boolean hasNext() { return index < size(); }
-            public T next() { return index >= size() ? null : get(index++); }
-            public void remove() { throw new UnsupportedOperationException(); }
-        });
-    }
-
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNode(this);
-        visitor.visitASTListNode(this);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Searching
-    ///////////////////////////////////////////////////////////////////////////
-
-    public <T extends IASTNode> Set<T> findAll(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findAll(this, targetClass);
-    }
-
-    @SuppressWarnings("hiding")
-    public <T extends IASTNode> T findNearestAncestor(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findNearestAncestor(this, targetClass);
-    }
-
-    public <T extends IASTNode> T findFirst(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findFirst(this, targetClass);
-    }
-
-    public <T extends IASTNode> T findLast(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findLast(this, targetClass);
-    }
-
-    public Token findFirstToken()
-    {
-        return ASTNodeUtil.findFirstToken(this);
-    }
-
-    public Token findLastToken()
-    {
-        return ASTNodeUtil.findLastToken(this);
-    }
-
-    public boolean isFirstChildInList()
-    {
-        return ASTNodeUtil.isFirstChildInList(this);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Source Manipulation
-    ///////////////////////////////////////////////////////////////////////////
-
-    // These methods are all inherited from ArrayList but are overridden to call #setParent
-    @Override public T set(int index, T element) { if (element != null) element.setParent(this); return super.set(index, element); }
-    @Override public boolean add(T element) { if (element != null) element.setParent(this); return super.add(element); }
-    @Override public void add(int index, T element) { if (element != null) element.setParent(this); super.add(index, element); }
-    @Override public boolean addAll(Collection<? extends T> c) { for (T element : c) if (element != null) element.setParent(this); return super.addAll(c); }
-    @Override public boolean addAll(int index, Collection<? extends T> c) { for (T element : c) if (element != null) element.setParent(this); return super.addAll(index, c); }
-
-    @SuppressWarnings("unchecked")
-    public void replaceChild(IASTNode node, IASTNode withNode)
-    {
-        int i = this.indexOf(node);
-        if (i < 0)
-            throw new IllegalStateException("Child node not found");
-        this.set(i, (T)withNode);
-        if (withNode != null) withNode.setParent(this);
-        // if (node != null) node.setParent(null);
-    }
-
-    public void removeFromTree()
-    {
-        ASTNodeUtil.removeFromTree(this);
-    }
-
-    public void replaceWith(IASTNode newNode)
-    {
-        ASTNodeUtil.replaceWith(this, newNode);
-    }
-
-    public void replaceWith(String literalString)
-    {
-        ASTNodeUtil.replaceWith(this, literalString);
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override public Object clone()
-    {
-            ASTListNode<T> copy = new ASTListNode<T>();
-            for (IASTNode n : this)
-            {
-                if (n == null)
-                    copy.add(null);
-                else
-                {
-                    T newChild = (T)n.clone();
-                    newChild.setParent(copy);
-                    copy.add(newChild);
-                }
-            }
-            return copy;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Source Reproduction
-    ///////////////////////////////////////////////////////////////////////////
-
-    public IPreprocessorReplacement printOn(PrintStream out, IPreprocessorReplacement currentPreprocessorDirective)
-    {
-        return ASTNodeUtil.print(this, currentPreprocessorDirective, out);
-    }
-
-    @Override public String toString()
-    {
-        return ASTNodeUtil.toString(this);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLockStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLockStmtNode.java
deleted file mode 100644
index cd73de9..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLockStmtNode.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTLockStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTLockStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLock; // in ASTLockStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTLockStmtNode
-    ASTNameNode lockVariable; // in ASTLockStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTLockStmtNode
-    IASTListNode<ASTSyncStatNode> syncStatList; // in ASTLockStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTLockStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTLockStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTNameNode getLockVariable()
-    {
-        return this.lockVariable;
-    }
-
-    public void setLockVariable(ASTNameNode newValue)
-    {
-        this.lockVariable = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSyncStatNode> getSyncStatList()
-    {
-        return this.syncStatList;
-    }
-
-    public void setSyncStatList(IASTListNode<ASTSyncStatNode> newValue)
-    {
-        this.syncStatList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTLockStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTLock;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.lockVariable;
-        case 4:  return this.hiddenTComma;
-        case 5:  return this.syncStatList;
-        case 6:  return this.hiddenTRparen;
-        case 7:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTLock = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.lockVariable = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.syncStatList = (IASTListNode<ASTSyncStatNode>)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLogicalConstNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLogicalConstNode.java
deleted file mode 100644
index 61cde8c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLogicalConstNode.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTLogicalConstNode extends ASTNode implements IExpr
-{
-    org.eclipse.photran.internal.core.lexer.Token isFalse; // in ASTLogicalConstNode
-    org.eclipse.photran.internal.core.lexer.Token isTrue; // in ASTLogicalConstNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTUnderscore; // in ASTLogicalConstNode
-    ASTNamedConstantUseNode namedConstKind; // in ASTLogicalConstNode
-    org.eclipse.photran.internal.core.lexer.Token intKind; // in ASTLogicalConstNode
-
-    public boolean isFalse()
-    {
-        return this.isFalse != null;
-    }
-
-    public void setIsFalse(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isFalse = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isTrue()
-    {
-        return this.isTrue != null;
-    }
-
-    public void setIsTrue(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isTrue = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTNamedConstantUseNode getNamedConstKind()
-    {
-        return this.namedConstKind;
-    }
-
-    public void setNamedConstKind(ASTNamedConstantUseNode newValue)
-    {
-        this.namedConstKind = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntKind()
-    {
-        return this.intKind;
-    }
-
-    public void setIntKind(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intKind = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTLogicalConstNode(this);
-        visitor.visitIExpr(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isFalse;
-        case 1:  return this.isTrue;
-        case 2:  return this.hiddenTUnderscore;
-        case 3:  return this.namedConstKind;
-        case 4:  return this.intKind;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isFalse = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isTrue = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTUnderscore = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.namedConstKind = (ASTNamedConstantUseNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.intKind = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLoopControlNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLoopControlNode.java
deleted file mode 100644
index e4e6b96..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLoopControlNode.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTLoopControlNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTWhile; // in ASTLoopControlNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTLoopControlNode
-    IExpr whileExpr; // in ASTLoopControlNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTLoopControlNode
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTLoopControlNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTLoopControlNode
-    IExpr lb; // in ASTLoopControlNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTLoopControlNode
-    IExpr ub; // in ASTLoopControlNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma2; // in ASTLoopControlNode
-    IExpr step; // in ASTLoopControlNode
-
-    public IExpr getWhileExpr()
-    {
-        return this.whileExpr;
-    }
-
-    public void setWhileExpr(IExpr newValue)
-    {
-        this.whileExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getLb()
-    {
-        return this.lb;
-    }
-
-    public void setLb(IExpr newValue)
-    {
-        this.lb = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getUb()
-    {
-        return this.ub;
-    }
-
-    public void setUb(IExpr newValue)
-    {
-        this.ub = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getStep()
-    {
-        return this.step;
-    }
-
-    public void setStep(IExpr newValue)
-    {
-        this.step = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTLoopControlNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 11;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTWhile;
-        case 1:  return this.hiddenTLparen;
-        case 2:  return this.whileExpr;
-        case 3:  return this.hiddenTRparen;
-        case 4:  return this.variableName;
-        case 5:  return this.hiddenTEquals;
-        case 6:  return this.lb;
-        case 7:  return this.hiddenTComma;
-        case 8:  return this.ub;
-        case 9:  return this.hiddenTComma2;
-        case 10: return this.step;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTWhile = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.whileExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.lb = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.ub = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.step = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLowerBoundNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLowerBoundNode.java
deleted file mode 100644
index 8281a01..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTLowerBoundNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTLowerBoundNode extends ASTNode
-{
-    IExpr lb; // in ASTLowerBoundNode
-
-    public IExpr getLb()
-    {
-        return this.lb;
-    }
-
-    public void setLb(IExpr newValue)
-    {
-        this.lb = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTLowerBoundNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.lb;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.lb = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMainProgramNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMainProgramNode.java
deleted file mode 100644
index f77aca1..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMainProgramNode.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTMainProgramNode extends ScopingNode implements IProgramUnit
-{
-    ASTProgramStmtNode programStmt; // in ASTMainProgramNode
-    IASTListNode<IBodyConstruct> body; // in ASTMainProgramNode
-    ASTContainsStmtNode containsStmt; // in ASTMainProgramNode
-    IASTListNode<IInternalSubprogram> internalSubprograms; // in ASTMainProgramNode
-    ASTEndProgramStmtNode endProgramStmt; // in ASTMainProgramNode
-
-    public ASTProgramStmtNode getProgramStmt()
-    {
-        return this.programStmt;
-    }
-
-    public void setProgramStmt(ASTProgramStmtNode newValue)
-    {
-        this.programStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IBodyConstruct> getBody()
-    {
-        return this.body;
-    }
-
-    public void setBody(IASTListNode<IBodyConstruct> newValue)
-    {
-        this.body = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTContainsStmtNode getContainsStmt()
-    {
-        return this.containsStmt;
-    }
-
-    public void setContainsStmt(ASTContainsStmtNode newValue)
-    {
-        this.containsStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IInternalSubprogram> getInternalSubprograms()
-    {
-        return this.internalSubprograms;
-    }
-
-    public void setInternalSubprograms(IASTListNode<IInternalSubprogram> newValue)
-    {
-        this.internalSubprograms = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndProgramStmtNode getEndProgramStmt()
-    {
-        return this.endProgramStmt;
-    }
-
-    public void setEndProgramStmt(ASTEndProgramStmtNode newValue)
-    {
-        this.endProgramStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTMainProgramNode(this);
-        visitor.visitIProgramUnit(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.programStmt;
-        case 1:  return this.body;
-        case 2:  return this.containsStmt;
-        case 3:  return this.internalSubprograms;
-        case 4:  return this.endProgramStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.programStmt = (ASTProgramStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.body = (IASTListNode<IBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.containsStmt = (ASTContainsStmtNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.internalSubprograms = (IASTListNode<IInternalSubprogram>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.endProgramStmt = (ASTEndProgramStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMainRangeNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMainRangeNode.java
deleted file mode 100644
index 5ed64d2..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMainRangeNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTMainRangeNode extends ASTNode
-{
-    IASTListNode<IBodyConstruct> body; // in ASTMainRangeNode
-    ASTContainsStmtNode containsStmt; // in ASTMainRangeNode
-    IASTListNode<IInternalSubprogram> internalSubprograms; // in ASTMainRangeNode
-    ASTEndProgramStmtNode endProgramStmt; // in ASTMainRangeNode
-
-    public IASTListNode<IBodyConstruct> getBody()
-    {
-        return this.body;
-    }
-
-    public void setBody(IASTListNode<IBodyConstruct> newValue)
-    {
-        this.body = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTContainsStmtNode getContainsStmt()
-    {
-        return this.containsStmt;
-    }
-
-    public void setContainsStmt(ASTContainsStmtNode newValue)
-    {
-        this.containsStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IInternalSubprogram> getInternalSubprograms()
-    {
-        return this.internalSubprograms;
-    }
-
-    public void setInternalSubprograms(IASTListNode<IInternalSubprogram> newValue)
-    {
-        this.internalSubprograms = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndProgramStmtNode getEndProgramStmt()
-    {
-        return this.endProgramStmt;
-    }
-
-    public void setEndProgramStmt(ASTEndProgramStmtNode newValue)
-    {
-        this.endProgramStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTMainRangeNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.body;
-        case 1:  return this.containsStmt;
-        case 2:  return this.internalSubprograms;
-        case 3:  return this.endProgramStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.body = (IASTListNode<IBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.containsStmt = (ASTContainsStmtNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.internalSubprograms = (IASTListNode<IInternalSubprogram>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.endProgramStmt = (ASTEndProgramStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskExprNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskExprNode.java
deleted file mode 100644
index 5854d7b..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskExprNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTMaskExprNode extends ASTNode
-{
-    IExpr maskExpr; // in ASTMaskExprNode
-
-    public IExpr getMaskExpr()
-    {
-        return this.maskExpr;
-    }
-
-    public void setMaskExpr(IExpr newValue)
-    {
-        this.maskExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTMaskExprNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.maskExpr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.maskExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskedElseWhereConstructNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskedElseWhereConstructNode.java
deleted file mode 100644
index 4b7e1e4..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskedElseWhereConstructNode.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTMaskedElseWhereConstructNode extends ASTNode
-{
-    ASTMaskedElseWhereStmtNode maskedElseWhereStmt; // in ASTMaskedElseWhereConstructNode
-    IASTListNode<IWhereBodyConstruct> whereBodyConstructBlock; // in ASTMaskedElseWhereConstructNode
-    ASTElseWhereConstructNode elseWhereConstruct; // in ASTMaskedElseWhereConstructNode
-    ASTEndWhereStmtNode endWhereStmt; // in ASTMaskedElseWhereConstructNode
-    ASTMaskedElseWhereConstructNode maskedElseWhereConstruct; // in ASTMaskedElseWhereConstructNode
-
-    public ASTMaskedElseWhereStmtNode getMaskedElseWhereStmt()
-    {
-        return this.maskedElseWhereStmt;
-    }
-
-    public void setMaskedElseWhereStmt(ASTMaskedElseWhereStmtNode newValue)
-    {
-        this.maskedElseWhereStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IWhereBodyConstruct> getWhereBodyConstructBlock()
-    {
-        return this.whereBodyConstructBlock;
-    }
-
-    public void setWhereBodyConstructBlock(IASTListNode<IWhereBodyConstruct> newValue)
-    {
-        this.whereBodyConstructBlock = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTElseWhereConstructNode getElseWhereConstruct()
-    {
-        return this.elseWhereConstruct;
-    }
-
-    public void setElseWhereConstruct(ASTElseWhereConstructNode newValue)
-    {
-        this.elseWhereConstruct = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndWhereStmtNode getEndWhereStmt()
-    {
-        return this.endWhereStmt;
-    }
-
-    public void setEndWhereStmt(ASTEndWhereStmtNode newValue)
-    {
-        this.endWhereStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTMaskedElseWhereConstructNode getMaskedElseWhereConstruct()
-    {
-        return this.maskedElseWhereConstruct;
-    }
-
-    public void setMaskedElseWhereConstruct(ASTMaskedElseWhereConstructNode newValue)
-    {
-        this.maskedElseWhereConstruct = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTMaskedElseWhereConstructNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.maskedElseWhereStmt;
-        case 1:  return this.whereBodyConstructBlock;
-        case 2:  return this.elseWhereConstruct;
-        case 3:  return this.endWhereStmt;
-        case 4:  return this.maskedElseWhereConstruct;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.maskedElseWhereStmt = (ASTMaskedElseWhereStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.whereBodyConstructBlock = (IASTListNode<IWhereBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.elseWhereConstruct = (ASTElseWhereConstructNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.endWhereStmt = (ASTEndWhereStmtNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.maskedElseWhereConstruct = (ASTMaskedElseWhereConstructNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskedElseWhereStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskedElseWhereStmtNode.java
deleted file mode 100644
index 463ace8..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMaskedElseWhereStmtNode.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTMaskedElseWhereStmtNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTMaskedElseWhereStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTElse; // in ASTMaskedElseWhereStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTElsewhere; // in ASTMaskedElseWhereStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTWhere; // in ASTMaskedElseWhereStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTMaskedElseWhereStmtNode
-    IExpr maskExpr; // in ASTMaskedElseWhereStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTMaskedElseWhereStmtNode
-    org.eclipse.photran.internal.core.lexer.Token endName; // in ASTMaskedElseWhereStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTMaskedElseWhereStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getMaskExpr()
-    {
-        return this.maskExpr;
-    }
-
-    public void setMaskExpr(IExpr newValue)
-    {
-        this.maskExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getEndName()
-    {
-        return this.endName;
-    }
-
-    public void setEndName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.endName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTMaskedElseWhereStmtNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 9;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTElse;
-        case 2:  return this.hiddenTElsewhere;
-        case 3:  return this.hiddenTWhere;
-        case 4:  return this.hiddenTLparen;
-        case 5:  return this.maskExpr;
-        case 6:  return this.hiddenTRparen;
-        case 7:  return this.endName;
-        case 8:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTElse = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTElsewhere = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.maskExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.endName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleBlockNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleBlockNode.java
deleted file mode 100644
index 2a073dd..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleBlockNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTModuleBlockNode extends ASTNode
-{
-    IASTListNode<IModuleBodyConstruct> moduleBody; // in ASTModuleBlockNode
-    ASTEndModuleStmtNode endModuleStmt; // in ASTModuleBlockNode
-
-    public IASTListNode<IModuleBodyConstruct> getModuleBody()
-    {
-        return this.moduleBody;
-    }
-
-    public void setModuleBody(IASTListNode<IModuleBodyConstruct> newValue)
-    {
-        this.moduleBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndModuleStmtNode getEndModuleStmt()
-    {
-        return this.endModuleStmt;
-    }
-
-    public void setEndModuleStmt(ASTEndModuleStmtNode newValue)
-    {
-        this.endModuleStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTModuleBlockNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.moduleBody;
-        case 1:  return this.endModuleStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.moduleBody = (IASTListNode<IModuleBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.endModuleStmt = (ASTEndModuleStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNameNode.java
deleted file mode 100644
index fe1cc4f..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTModuleNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token moduleName; // in ASTModuleNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getModuleName()
-    {
-        return this.moduleName;
-    }
-
-    public void setModuleName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.moduleName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTModuleNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.moduleName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.moduleName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNatureNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNatureNode.java
deleted file mode 100644
index b5305ef..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNatureNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTModuleNatureNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token isIntrinsic; // in ASTModuleNatureNode
-    org.eclipse.photran.internal.core.lexer.Token isNonIntrinsic; // in ASTModuleNatureNode
-
-    public boolean isIntrinsic()
-    {
-        return this.isIntrinsic != null;
-    }
-
-    public void setIsIntrinsic(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isIntrinsic = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isNonIntrinsic()
-    {
-        return this.isNonIntrinsic != null;
-    }
-
-    public void setIsNonIntrinsic(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isNonIntrinsic = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTModuleNatureNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isIntrinsic;
-        case 1:  return this.isNonIntrinsic;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isIntrinsic = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isNonIntrinsic = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNode.java
deleted file mode 100644
index 4c8b398..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleNode.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTModuleNode extends ScopingNode implements IProgramUnit
-{
-    ASTModuleStmtNode moduleStmt; // in ASTModuleNode
-    IASTListNode<IModuleBodyConstruct> moduleBody; // in ASTModuleNode
-    ASTEndModuleStmtNode endModuleStmt; // in ASTModuleNode
-
-    public ASTModuleStmtNode getModuleStmt()
-    {
-        return this.moduleStmt;
-    }
-
-    public void setModuleStmt(ASTModuleStmtNode newValue)
-    {
-        this.moduleStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IModuleBodyConstruct> getModuleBody()
-    {
-        return this.moduleBody;
-    }
-
-    public void setModuleBody(IASTListNode<IModuleBodyConstruct> newValue)
-    {
-        this.moduleBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndModuleStmtNode getEndModuleStmt()
-    {
-        return this.endModuleStmt;
-    }
-
-    public void setEndModuleStmt(ASTEndModuleStmtNode newValue)
-    {
-        this.endModuleStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTModuleNode(this);
-        visitor.visitIProgramUnit(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.moduleStmt;
-        case 1:  return this.moduleBody;
-        case 2:  return this.endModuleStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.moduleStmt = (ASTModuleStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.moduleBody = (IASTListNode<IModuleBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.endModuleStmt = (ASTEndModuleStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleProcedureStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleProcedureStmtNode.java
deleted file mode 100644
index b7ba6a8..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleProcedureStmtNode.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTModuleProcedureStmtNode extends ASTNode implements IInterfaceSpecification
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTModuleProcedureStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTModule; // in ASTModuleProcedureStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTProcedure; // in ASTModuleProcedureStmtNode
-    IASTListNode<ASTProcedureNameListNode> procedureNameList; // in ASTModuleProcedureStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTModuleProcedureStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTProcedureNameListNode> getProcedureNameList()
-    {
-        return this.procedureNameList;
-    }
-
-    public void setProcedureNameList(IASTListNode<ASTProcedureNameListNode> newValue)
-    {
-        this.procedureNameList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTModuleProcedureStmtNode(this);
-        visitor.visitIInterfaceSpecification(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTModule;
-        case 2:  return this.hiddenTProcedure;
-        case 3:  return this.procedureNameList;
-        case 4:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTModule = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.procedureNameList = (IASTListNode<ASTProcedureNameListNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleStmtNode.java
deleted file mode 100644
index b2a391c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTModuleStmtNode.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTModuleStmtNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTModuleStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTModule; // in ASTModuleStmtNode
-    ASTModuleNameNode moduleName; // in ASTModuleStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTModuleStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTModuleNameNode getModuleName()
-    {
-        return this.moduleName;
-    }
-
-    public void setModuleName(ASTModuleNameNode newValue)
-    {
-        this.moduleName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTModuleStmtNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTModule;
-        case 2:  return this.moduleName;
-        case 3:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTModule = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.moduleName = (ASTModuleNameNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMpSubprogramRangeNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMpSubprogramRangeNode.java
deleted file mode 100644
index 16088b2..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMpSubprogramRangeNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTMpSubprogramRangeNode extends ASTNode
-{
-    IASTListNode<IBodyConstruct> body; // in ASTMpSubprogramRangeNode
-    ASTContainsStmtNode containsStmt; // in ASTMpSubprogramRangeNode
-    IASTListNode<IInternalSubprogram> internalSubprograms; // in ASTMpSubprogramRangeNode
-    ASTEndMpSubprogramStmtNode endMpSubprogramStmt; // in ASTMpSubprogramRangeNode
-
-    public IASTListNode<IBodyConstruct> getBody()
-    {
-        return this.body;
-    }
-
-    public void setBody(IASTListNode<IBodyConstruct> newValue)
-    {
-        this.body = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTContainsStmtNode getContainsStmt()
-    {
-        return this.containsStmt;
-    }
-
-    public void setContainsStmt(ASTContainsStmtNode newValue)
-    {
-        this.containsStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IInternalSubprogram> getInternalSubprograms()
-    {
-        return this.internalSubprograms;
-    }
-
-    public void setInternalSubprograms(IASTListNode<IInternalSubprogram> newValue)
-    {
-        this.internalSubprograms = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndMpSubprogramStmtNode getEndMpSubprogramStmt()
-    {
-        return this.endMpSubprogramStmt;
-    }
-
-    public void setEndMpSubprogramStmt(ASTEndMpSubprogramStmtNode newValue)
-    {
-        this.endMpSubprogramStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTMpSubprogramRangeNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.body;
-        case 1:  return this.containsStmt;
-        case 2:  return this.internalSubprograms;
-        case 3:  return this.endMpSubprogramStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.body = (IASTListNode<IBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.containsStmt = (ASTContainsStmtNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.internalSubprograms = (IASTListNode<IInternalSubprogram>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.endMpSubprogramStmt = (ASTEndMpSubprogramStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMpSubprogramStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMpSubprogramStmtNode.java
deleted file mode 100644
index 21a1f6e..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTMpSubprogramStmtNode.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTMpSubprogramStmtNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTMpSubprogramStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTModule; // in ASTMpSubprogramStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTProcedure; // in ASTMpSubprogramStmtNode
-    org.eclipse.photran.internal.core.lexer.Token procedureName; // in ASTMpSubprogramStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTMpSubprogramStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getProcedureName()
-    {
-        return this.procedureName;
-    }
-
-    public void setProcedureName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.procedureName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTMpSubprogramStmtNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTModule;
-        case 2:  return this.hiddenTProcedure;
-        case 3:  return this.procedureName;
-        case 4:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTModule = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.procedureName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNameNode.java
deleted file mode 100644
index 084dfd4..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantDefNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantDefNode.java
deleted file mode 100644
index 1db24b9..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantDefNode.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTNamedConstantDefNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token namedConstant; // in ASTNamedConstantDefNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTNamedConstantDefNode
-    IExpr initializationExpr; // in ASTNamedConstantDefNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getNamedConstant()
-    {
-        return this.namedConstant;
-    }
-
-    public void setNamedConstant(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.namedConstant = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getInitializationExpr()
-    {
-        return this.initializationExpr;
-    }
-
-    public void setInitializationExpr(IExpr newValue)
-    {
-        this.initializationExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNamedConstantDefNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.namedConstant;
-        case 1:  return this.hiddenTEquals;
-        case 2:  return this.initializationExpr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.namedConstant = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.initializationExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantNode.java
deleted file mode 100644
index 827ac9a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTNamedConstantNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token namedConstant; // in ASTNamedConstantNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getNamedConstant()
-    {
-        return this.namedConstant;
-    }
-
-    public void setNamedConstant(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.namedConstant = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNamedConstantNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.namedConstant;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.namedConstant = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantUseNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantUseNode.java
deleted file mode 100644
index c135615..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamedConstantUseNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTNamedConstantUseNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTNamedConstantUseNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNamedConstantUseNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupNameNode.java
deleted file mode 100644
index 6bc5053..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTNamelistGroupNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token namelistGroupName; // in ASTNamelistGroupNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getNamelistGroupName()
-    {
-        return this.namelistGroupName;
-    }
-
-    public void setNamelistGroupName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.namelistGroupName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNamelistGroupNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.namelistGroupName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.namelistGroupName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupObjectNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupObjectNode.java
deleted file mode 100644
index 8b849f7..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupObjectNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTNamelistGroupObjectNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTNamelistGroupObjectNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNamelistGroupObjectNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.variableName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupsNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupsNode.java
deleted file mode 100644
index 95e090e..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistGroupsNode.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTNamelistGroupsNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTNamelistGroupsNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSlash; // in ASTNamelistGroupsNode
-    org.eclipse.photran.internal.core.lexer.Token namelistGroupName; // in ASTNamelistGroupsNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSlash2; // in ASTNamelistGroupsNode
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTNamelistGroupsNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getNamelistGroupName()
-    {
-        return this.namelistGroupName;
-    }
-
-    public void setNamelistGroupName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.namelistGroupName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNamelistGroupsNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTComma;
-        case 1:  return this.hiddenTSlash;
-        case 2:  return this.namelistGroupName;
-        case 3:  return this.hiddenTSlash2;
-        case 4:  return this.variableName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.namelistGroupName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistStmtNode.java
deleted file mode 100644
index d09cda5..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNamelistStmtNode.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTNamelistStmtNode extends ASTNode implements ISpecificationStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTNamelistStmtNode
-    org.eclipse.photran.internal.core.lexer.Token tNamelist; // in ASTNamelistStmtNode
-    IASTListNode<ASTNamelistGroupsNode> namelistGroups; // in ASTNamelistStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTNamelistStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getTNamelist()
-    {
-        return this.tNamelist;
-    }
-
-    public void setTNamelist(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.tNamelist = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTNamelistGroupsNode> getNamelistGroups()
-    {
-        return this.namelistGroups;
-    }
-
-    public void setNamelistGroups(IASTListNode<ASTNamelistGroupsNode> newValue)
-    {
-        this.namelistGroups = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNamelistStmtNode(this);
-        visitor.visitISpecificationStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.tNamelist;
-        case 2:  return this.namelistGroups;
-        case 3:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.tNamelist = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.namelistGroups = (IASTListNode<ASTNamelistGroupsNode>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNestedExprNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNestedExprNode.java
deleted file mode 100644
index 06bf0a8..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNestedExprNode.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTNestedExprNode extends ASTNode implements IExpr
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTNestedExprNode
-    IExpr expr; // in ASTNestedExprNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTNestedExprNode
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNestedExprNode(this);
-        visitor.visitIExpr(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLparen;
-        case 1:  return this.expr;
-        case 2:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNode.java
deleted file mode 100644
index ec1acb6..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNode.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-import java.io.PrintStream;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.photran.internal.core.parser.ASTNodeUtil.NonNullIterator;
-
-@SuppressWarnings("all")
-public abstract class ASTNode implements IASTNode
-{
-    private IASTNode parent = null;
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Traversal and Visitor Support
-    ///////////////////////////////////////////////////////////////////////////
-
-    public IASTNode getParent()
-    {
-        return this.parent;
-    }
-
-    public void setParent(IASTNode parent)
-    {
-        this.parent = parent;
-    }
-
-    public Iterable<? extends IASTNode> getChildren()
-    {
-        return new Iterable<IASTNode>()
-        {
-            public Iterator<IASTNode> iterator()
-            {
-                return new NonNullIterator<IASTNode>(new Iterator<IASTNode>()
-                {
-                    private int index = 0, numChildren = getNumASTFields();
-
-                    public boolean hasNext()
-                    {
-                        return index < numChildren;
-                    }
-
-                    public IASTNode next()
-                    {
-                        return getASTField(index++);
-                    }
-
-                    public void remove()
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-                });
-            }
-        };
-    }
-
-    protected abstract int getNumASTFields();
-
-    protected abstract IASTNode getASTField(int index);
-
-    protected abstract void setASTField(int index, IASTNode value);
-
-    public abstract void accept(IASTVisitor visitor);
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Source Manipulation
-    ///////////////////////////////////////////////////////////////////////////
-
-    public void replaceChild(IASTNode node, IASTNode withNode)
-    {
-        for (int i = 0; i < getNumASTFields(); i++)
-        {
-            if (getASTField(i) == node)
-            {
-                setASTField(i, withNode);
-                if (withNode != null) withNode.setParent(this);
-                // if (node != null) node.setParent(null);
-                return;
-            }
-        }
-
-        throw new IllegalStateException("Child node not found");
-    }
-
-    public void removeFromTree()
-    {
-        ASTNodeUtil.removeFromTree(this);
-    }
-
-    public void replaceWith(IASTNode newNode)
-    {
-        ASTNodeUtil.replaceWith(this, newNode);
-    }
-
-    public void replaceWith(String literalString)
-    {
-        ASTNodeUtil.replaceWith(this, literalString);
-    }
-
-    @Override public Object clone()
-    {
-        try
-        {
-            ASTNode copy = (ASTNode)super.clone();
-            for (int i = 0; i < getNumASTFields(); i++)
-            {
-                if (getASTField(i) != null)
-                {
-                    IASTNode newChild = (IASTNode)getASTField(i).clone();
-                    newChild.setParent(copy);
-                    copy.setASTField(i, newChild);
-                }
-            }
-            return copy;
-        }
-        catch (CloneNotSupportedException e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Searching
-    ///////////////////////////////////////////////////////////////////////////
-
-    public <T extends IASTNode> Set<T> findAll(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findAll(this, targetClass);
-    }
-
-    public <T extends IASTNode> T findNearestAncestor(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findNearestAncestor(this, targetClass);
-    }
-
-    public <T extends IASTNode> T findFirst(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findFirst(this, targetClass);
-    }
-
-    public <T extends IASTNode> T findLast(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findLast(this, targetClass);
-    }
-
-    public Token findFirstToken()
-    {
-        return ASTNodeUtil.findFirstToken(this);
-    }
-
-    public Token findLastToken()
-    {
-        return ASTNodeUtil.findLastToken(this);
-    }
-
-    public boolean isFirstChildInList()
-    {
-        return ASTNodeUtil.isFirstChildInList(this);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Source Reproduction
-    ///////////////////////////////////////////////////////////////////////////
-
-    public IPreprocessorReplacement printOn(PrintStream out, IPreprocessorReplacement currentPreprocessorDirective)
-    {
-        return ASTNodeUtil.print(this, currentPreprocessorDirective, out);
-    }
-
-    @Override public String toString()
-    {
-        return ASTNodeUtil.toString(this);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodePair.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodePair.java
deleted file mode 100644
index cc85857..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodePair.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTNodePair<T extends IASTNode, U extends IASTNode> extends ASTNode
-{
-    public final T first;
-    public final U second;
-
-    public ASTNodePair(T first, U second)
-    {
-        assert second != null;
-
-        this.first = first;
-        this.second = second;
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return first == null ? 1 : 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        if (index == 0)
-        {
-            return first != null ? first : second;
-        }
-        else if (index == 1 && first != null)
-        {
-            return second;
-        }
-        else throw new IllegalArgumentException();
-    }
-
-    @Override protected void setASTField(int index, IASTNode newNode)
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override public void accept(IASTVisitor visitor)
-    {
-        if (first != null) first.accept(visitor);
-        second.accept(visitor);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Source Manipulation
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override public void replaceChild(IASTNode node, IASTNode withNode)
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override public void removeFromTree()
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override public void replaceWith(IASTNode newNode)
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override public void replaceWith(String literalString)
-    {
-        throw new UnsupportedOperationException();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodeUtil.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodeUtil.java
deleted file mode 100644
index e224eac..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodeUtil.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-@SuppressWarnings("all")
-public final class ASTNodeUtil
-{
-    private ASTNodeUtil() {}
-
-    public static void removeFromTree(IASTNode node)
-    {
-        IASTNode parent = node.getParent();
-        if (parent == null) throw new IllegalArgumentException("Cannot remove root node");
-        parent.replaceChild(node, null);
-    }
-
-    public static void replaceWith(IASTNode node, IASTNode newNode)
-    {
-        IASTNode parent = node.getParent();
-        if (parent == null) throw new IllegalArgumentException("Cannot remove root node");
-        parent.replaceChild(node, newNode);
-    }
-
-    @SuppressWarnings("unchecked")
-    public static <T extends IASTNode> Set<T> findAll(IASTNode node, final Class<T> clazz)
-    {
-        class V extends GenericASTVisitor
-        {
-            Set<T> result = new HashSet<T>();
-
-            @Override public void visitASTNode(IASTNode node)
-            {
-                if (clazz.isAssignableFrom(node.getClass()))
-                    result.add((T)node);
-                traverseChildren(node);
-            }
-
-            @Override public void visitToken(Token node)
-            {
-                if (clazz.isAssignableFrom(node.getClass()))
-                    result.add((T)node);
-            }
-        };
-
-        V v = new V();
-        node.accept(v);
-        return v.result;
-    }
-
-    @SuppressWarnings("unchecked")
-    public static <T extends IASTNode> T findNearestAncestor(IASTNode node, Class<T> targetClass)
-    {
-        for (IASTNode parent = node.getParent(); parent != null; parent = parent.getParent())
-            if (targetClass.isAssignableFrom(parent.getClass()))
-                return (T)parent;
-        return null;
-    }
-
-    protected static final class Notification extends Error
-    {
-        private Object result;
-
-        public Notification(Object result) { this.result = result; }
-
-        public Object getResult() { return result; }
-    }
-
-    @SuppressWarnings("unchecked")
-    public static <T extends IASTNode> T findFirst(IASTNode node, final Class<T> clazz)
-    {
-        try
-        {
-            node.accept(new GenericASTVisitor()
-            {
-                @Override
-                public void visitASTNode(IASTNode node)
-                {
-                    if (clazz.isAssignableFrom(node.getClass()))
-                        throw new Notification(node);
-                    traverseChildren(node);
-                }
-
-                @Override public void visitToken(Token node)
-                {
-                    if (clazz.isAssignableFrom(node.getClass()))
-                        throw new Notification(node);
-                }
-            });
-            return null;
-        }
-        catch (Notification n)
-        {
-            return (T)n.getResult();
-        }
-    }
-
-    @SuppressWarnings("unchecked")
-    public static <T extends IASTNode> T findLast(IASTNode node, final Class<T> clazz)
-    {
-        class V extends GenericASTVisitor
-        {
-            T result = null;
-
-            @Override public void visitASTNode(IASTNode node)
-            {
-                if (clazz.isAssignableFrom(node.getClass()))
-                    result = (T)node;
-                traverseChildren(node);
-            }
-
-            @Override public void visitToken(Token node)
-            {
-                if (clazz.isAssignableFrom(node.getClass()))
-                    result = (T)node;
-            }
-        };
-
-        V v = new V();
-        node.accept(v);
-        return v.result;
-    }
-
-    public static Token findFirstToken(IASTNode node)
-    {
-        return findFirst(node, Token.class);
-    }
-
-    public static Token findLastToken(IASTNode node)
-    {
-        return findLast(node, Token.class);
-    }
-
-    public static boolean isFirstChildInList(IASTNode node)
-    {
-        return node.getParent() != null
-            && node.getParent() instanceof IASTListNode
-            && ((IASTListNode<?>)node.getParent()).size() > 0
-            && ((IASTListNode<?>)node.getParent()).get(0) == node;
-    }
-
-    public static String toString(IASTNode node)
-    {
-        ByteArrayOutputStream bs = new ByteArrayOutputStream();
-        node.printOn(new PrintStream(bs), null);
-        return bs.toString();
-    }
-
-    public static void replaceWith(IASTNode node, final String literalString)
-    {
-        IASTNode copy = (IASTNode)node.clone();
-        final Token firstToken = copy.findFirstToken();
-        final Token lastToken = copy.findLastToken();
-        if (firstToken == null)
-            throw new IllegalArgumentException("A node can only be replaced "
-                + "with a string if it contains at least one token");
-        copy.accept(new GenericASTVisitor()
-        {
-            @Override public void visitToken(Token token)
-            {
-                if (token != firstToken) token.setWhiteBefore("");
-                token.setText(token == firstToken ? literalString : "");
-                if (token != lastToken) token.setWhiteAfter("");
-            }
-        });
-        node.replaceWith(copy);
-    }
-
-    public static IPreprocessorReplacement print(IASTNode node, IPreprocessorReplacement currentPreprocessorDirective, PrintStream out)
-    {
-        for (IASTNode child : node.getChildren())
-            currentPreprocessorDirective = child.printOn(out, currentPreprocessorDirective);
-        return currentPreprocessorDirective;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Utility Classes
-    ///////////////////////////////////////////////////////////////////////////
-
-    public static final class NonNullIterator<T> implements Iterator<T>
-    {
-        private Iterator<T> wrappedIterator;
-        private T next;
-
-        public NonNullIterator(Iterator<T> wrappedIterator)
-        {
-            this.wrappedIterator = wrappedIterator;
-            findNext();
-        }
-
-        private void findNext()
-        {
-            do
-            {
-                if (!this.wrappedIterator.hasNext())
-                {
-                    this.next = null;
-                    return;
-                }
-
-                this.next = this.wrappedIterator.next();
-            }
-            while (this.next == null);
-        }
-
-        public boolean hasNext()
-        {
-            return this.next != null;
-        }
-
-        public T next()
-        {
-            T result = this.next;
-            findNext();
-            return result;
-        }
-
-        public void remove()
-        {
-            throw new UnsupportedOperationException();
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodeWithErrorRecoverySymbols.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodeWithErrorRecoverySymbols.java
deleted file mode 100644
index 1a28273..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNodeWithErrorRecoverySymbols.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTNodeUtil.NonNullIterator;
-import org.eclipse.photran.internal.core.parser.Parser.ErrorRecoveryInfo;
-
-@SuppressWarnings("all")
-public abstract class ASTNodeWithErrorRecoverySymbols extends ASTNode
-{
-    ErrorRecoveryInfo errorInfo = null;
-
-    @Override public Iterable<? extends IASTNode> getChildren()
-    {
-        return new Iterable<IASTNode>()
-        {
-            public Iterator<IASTNode> iterator()
-            {
-                return new NonNullIterator<IASTNode>(new Iterator<IASTNode>()
-                {
-                    private int index = 0;
-                    private int numChildren = getNumASTFields();
-                    private int numErrorChildren = errorInfo == null ? 0 : errorInfo.getDiscardedSymbols().size();
-
-                    public boolean hasNext()
-                    {
-                        return index < numChildren + numErrorChildren;
-                    }
-
-                    public IASTNode next()
-                    {
-                        if (index < numChildren)
-                            return getASTField(index++);
-                        else
-                            return errorInfo.<IASTNode>getDiscardedSymbols().get(index++ - numChildren);
-                    }
-
-                    public void remove()
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-                });
-            }
-        };
-    }
-
-    public Token getErrorToken()
-    {
-        return errorInfo == null ? null : errorInfo.errorLookahead;
-    }
-
-    public String describeTerminalsExpectedAtErrorPoint()
-    {
-        return errorInfo == null ? "(none)" : errorInfo.describeExpectedSymbols();
-    }
-
-    public List<IASTNode> getSymbolsDiscardedDuringErrorRecovery()
-    {
-        return errorInfo == null ? null : errorInfo.<IASTNode>getDiscardedSymbols();
-    }
-
-    @Override public Object clone()
-    {
-            ASTNodeWithErrorRecoverySymbols copy = (ASTNodeWithErrorRecoverySymbols)super.clone();
-            if (errorInfo != null)
-            {
-                copy.errorInfo = new ErrorRecoveryInfo(errorInfo.errorState,
-                                                       errorInfo.errorLookahead,
-                                                       errorInfo.expectedLookaheadSymbols);
-                for (IASTNode n : this.getSymbolsDiscardedDuringErrorRecovery())
-                {
-                    if (n == null)
-                        copy.errorInfo.<IASTNode>getDiscardedSymbols().add(null);
-                    else
-                    {
-                        IASTNode newChild = (IASTNode)n.clone();
-                        newChild.setParent(copy);
-                        copy.errorInfo.<IASTNode>getDiscardedSymbols().add(newChild);
-                    }
-                }
-            }
-            return copy;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNullifyStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNullifyStmtNode.java
deleted file mode 100644
index 973658c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTNullifyStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTNullifyStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTNullifyStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTNullify; // in ASTNullifyStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTNullifyStmtNode
-    IASTListNode<ASTPointerObjectNode> pointerObjectList; // in ASTNullifyStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTNullifyStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTNullifyStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTPointerObjectNode> getPointerObjectList()
-    {
-        return this.pointerObjectList;
-    }
-
-    public void setPointerObjectList(IASTListNode<ASTPointerObjectNode> newValue)
-    {
-        this.pointerObjectList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNullifyStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTNullify;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.pointerObjectList;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTNullify = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.pointerObjectList = (IASTListNode<ASTPointerObjectNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTObjectNameListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTObjectNameListNode.java
deleted file mode 100644
index a7a2c02..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTObjectNameListNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTObjectNameListNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTObjectNameListNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTObjectNameListNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTObjectNameListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTComma;
-        case 1:  return this.name;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTObjectNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTObjectNameNode.java
deleted file mode 100644
index c7e90c5..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTObjectNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTObjectNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token objectName; // in ASTObjectNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getObjectName()
-    {
-        return this.objectName;
-    }
-
-    public void setObjectName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.objectName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTObjectNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.objectName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.objectName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOnlyNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOnlyNode.java
deleted file mode 100644
index 9bf3cf2..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOnlyNode.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTOnlyNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token newName; // in ASTOnlyNode
-    org.eclipse.photran.internal.core.lexer.Token isOperator; // in ASTOnlyNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTOnlyNode
-    ASTGenericSpecNode genericSpec; // in ASTOnlyNode
-    IDefinedOperator newOp; // in ASTOnlyNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTOnlyNode
-    org.eclipse.photran.internal.core.lexer.Token isRenamed; // in ASTOnlyNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTOperator; // in ASTOnlyNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen2; // in ASTOnlyNode
-    IDefinedOperator oldOp; // in ASTOnlyNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTOnlyNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen2; // in ASTOnlyNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getNewName()
-    {
-        return this.newName;
-    }
-
-    public void setNewName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.newName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isOperator()
-    {
-        return this.isOperator != null;
-    }
-
-    public void setIsOperator(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isOperator = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTGenericSpecNode getGenericSpec()
-    {
-        return this.genericSpec;
-    }
-
-    public void setGenericSpec(ASTGenericSpecNode newValue)
-    {
-        this.genericSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IDefinedOperator getNewOp()
-    {
-        return this.newOp;
-    }
-
-    public void setNewOp(IDefinedOperator newValue)
-    {
-        this.newOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isRenamed()
-    {
-        return this.isRenamed != null;
-    }
-
-    public void setIsRenamed(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isRenamed = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IDefinedOperator getOldOp()
-    {
-        return this.oldOp;
-    }
-
-    public void setOldOp(IDefinedOperator newValue)
-    {
-        this.oldOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTOnlyNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 12;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.newName;
-        case 1:  return this.isOperator;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.genericSpec;
-        case 4:  return this.newOp;
-        case 5:  return this.hiddenTRparen;
-        case 6:  return this.isRenamed;
-        case 7:  return this.hiddenTOperator;
-        case 8:  return this.hiddenTLparen2;
-        case 9:  return this.oldOp;
-        case 10: return this.name;
-        case 11: return this.hiddenTRparen2;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.newName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isOperator = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.genericSpec = (ASTGenericSpecNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.newOp = (IDefinedOperator)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.isRenamed = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTOperator = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.oldOp = (IDefinedOperator)value; if (value != null) value.setParent(this); return;
-        case 10: this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 11: this.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOpenStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOpenStmtNode.java
deleted file mode 100644
index 476c474..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOpenStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTOpenStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTOpenStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTOpen; // in ASTOpenStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTOpenStmtNode
-    IASTListNode<ASTConnectSpecNode> connectSpecList; // in ASTOpenStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTOpenStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTOpenStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTConnectSpecNode> getConnectSpecList()
-    {
-        return this.connectSpecList;
-    }
-
-    public void setConnectSpecList(IASTListNode<ASTConnectSpecNode> newValue)
-    {
-        this.connectSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTOpenStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTOpen;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.connectSpecList;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTOpen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.connectSpecList = (IASTListNode<ASTConnectSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOperatorNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOperatorNode.java
deleted file mode 100644
index f9690df..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOperatorNode.java
+++ /dev/null
@@ -1,391 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTOperatorNode extends ASTNode implements IDefinedOperator
-{
-    org.eclipse.photran.internal.core.lexer.Token hasMinusOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasSlashEqOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasAndOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token definedUnaryOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasEqOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasPlusOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasDivideOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasNeqvOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasEqEqOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasGeOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasNotOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasEqvOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasConcatOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasPowerOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasGtOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasLtOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasNeOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasOrOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token customDefinedOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasTimesOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token definedBinaryOp; // in ASTOperatorNode
-    org.eclipse.photran.internal.core.lexer.Token hasLeOp; // in ASTOperatorNode
-
-    public boolean hasMinusOp()
-    {
-        return this.hasMinusOp != null;
-    }
-
-    public void setHasMinusOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasMinusOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasSlashEqOp()
-    {
-        return this.hasSlashEqOp != null;
-    }
-
-    public void setHasSlashEqOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasSlashEqOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasAndOp()
-    {
-        return this.hasAndOp != null;
-    }
-
-    public void setHasAndOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasAndOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getDefinedUnaryOp()
-    {
-        return this.definedUnaryOp;
-    }
-
-    public void setDefinedUnaryOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.definedUnaryOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasEqOp()
-    {
-        return this.hasEqOp != null;
-    }
-
-    public void setHasEqOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasEqOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasPlusOp()
-    {
-        return this.hasPlusOp != null;
-    }
-
-    public void setHasPlusOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasPlusOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasDivideOp()
-    {
-        return this.hasDivideOp != null;
-    }
-
-    public void setHasDivideOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasDivideOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasNeqvOp()
-    {
-        return this.hasNeqvOp != null;
-    }
-
-    public void setHasNeqvOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasNeqvOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasEqEqOp()
-    {
-        return this.hasEqEqOp != null;
-    }
-
-    public void setHasEqEqOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasEqEqOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasGeOp()
-    {
-        return this.hasGeOp != null;
-    }
-
-    public void setHasGeOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasGeOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasNotOp()
-    {
-        return this.hasNotOp != null;
-    }
-
-    public void setHasNotOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasNotOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasEqvOp()
-    {
-        return this.hasEqvOp != null;
-    }
-
-    public void setHasEqvOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasEqvOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasConcatOp()
-    {
-        return this.hasConcatOp != null;
-    }
-
-    public void setHasConcatOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasConcatOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasPowerOp()
-    {
-        return this.hasPowerOp != null;
-    }
-
-    public void setHasPowerOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasPowerOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasGtOp()
-    {
-        return this.hasGtOp != null;
-    }
-
-    public void setHasGtOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasGtOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasLtOp()
-    {
-        return this.hasLtOp != null;
-    }
-
-    public void setHasLtOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasLtOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasNeOp()
-    {
-        return this.hasNeOp != null;
-    }
-
-    public void setHasNeOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasNeOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasOrOp()
-    {
-        return this.hasOrOp != null;
-    }
-
-    public void setHasOrOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasOrOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getCustomDefinedOp()
-    {
-        return this.customDefinedOp;
-    }
-
-    public void setCustomDefinedOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.customDefinedOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasTimesOp()
-    {
-        return this.hasTimesOp != null;
-    }
-
-    public void setHasTimesOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasTimesOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getDefinedBinaryOp()
-    {
-        return this.definedBinaryOp;
-    }
-
-    public void setDefinedBinaryOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.definedBinaryOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasLeOp()
-    {
-        return this.hasLeOp != null;
-    }
-
-    public void setHasLeOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasLeOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTOperatorNode(this);
-        visitor.visitIDefinedOperator(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 22;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hasMinusOp;
-        case 1:  return this.hasSlashEqOp;
-        case 2:  return this.hasAndOp;
-        case 3:  return this.definedUnaryOp;
-        case 4:  return this.hasEqOp;
-        case 5:  return this.hasPlusOp;
-        case 6:  return this.hasDivideOp;
-        case 7:  return this.hasNeqvOp;
-        case 8:  return this.hasEqEqOp;
-        case 9:  return this.hasGeOp;
-        case 10: return this.hasNotOp;
-        case 11: return this.hasEqvOp;
-        case 12: return this.hasConcatOp;
-        case 13: return this.hasPowerOp;
-        case 14: return this.hasGtOp;
-        case 15: return this.hasLtOp;
-        case 16: return this.hasNeOp;
-        case 17: return this.hasOrOp;
-        case 18: return this.customDefinedOp;
-        case 19: return this.hasTimesOp;
-        case 20: return this.definedBinaryOp;
-        case 21: return this.hasLeOp;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hasMinusOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hasSlashEqOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hasAndOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.definedUnaryOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hasEqOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hasPlusOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hasDivideOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hasNeqvOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hasEqEqOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hasGeOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.hasNotOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 11: this.hasEqvOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 12: this.hasConcatOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 13: this.hasPowerOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 14: this.hasGtOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 15: this.hasLtOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 16: this.hasNeOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 17: this.hasOrOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 18: this.customDefinedOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 19: this.hasTimesOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 20: this.definedBinaryOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 21: this.hasLeOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalParListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalParListNode.java
deleted file mode 100644
index 72af211..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalParListNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTOptionalParListNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTOptionalParListNode
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTOptionalParListNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTOptionalParListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTComma;
-        case 1:  return this.variableName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalParNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalParNode.java
deleted file mode 100644
index 8132596..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalParNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTOptionalParNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTOptionalParNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTOptionalParNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.variableName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalStmtNode.java
deleted file mode 100644
index 54d9940..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOptionalStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTOptionalStmtNode extends ASTNode implements ISpecificationStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTOptionalStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTOptional; // in ASTOptionalStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTOptionalStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTOptionalStmtNode
-    IASTListNode<ASTOptionalParListNode> variableList; // in ASTOptionalStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTOptionalStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTOptionalParListNode> getVariableList()
-    {
-        return this.variableList;
-    }
-
-    public void setVariableList(IASTListNode<ASTOptionalParListNode> newValue)
-    {
-        this.variableList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTOptionalStmtNode(this);
-        visitor.visitISpecificationStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTOptional;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTColon2;
-        case 4:  return this.variableList;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTOptional = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.variableList = (IASTListNode<ASTOptionalParListNode>)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputImpliedDoNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputImpliedDoNode.java
deleted file mode 100644
index d88e9de..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputImpliedDoNode.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTOutputImpliedDoNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTOutputImpliedDoNode
-    IExpr expr; // in ASTOutputImpliedDoNode
-    ASTOutputItemList1Node outputItemList1; // in ASTOutputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTOutputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token impliedDoVariable; // in ASTOutputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTOutputImpliedDoNode
-    IExpr lb; // in ASTOutputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma2; // in ASTOutputImpliedDoNode
-    IExpr ub; // in ASTOutputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma3; // in ASTOutputImpliedDoNode
-    IExpr step; // in ASTOutputImpliedDoNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTOutputImpliedDoNode
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOutputItemList1Node getOutputItemList1()
-    {
-        return this.outputItemList1;
-    }
-
-    public void setOutputItemList1(ASTOutputItemList1Node newValue)
-    {
-        this.outputItemList1 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getImpliedDoVariable()
-    {
-        return this.impliedDoVariable;
-    }
-
-    public void setImpliedDoVariable(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.impliedDoVariable = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getLb()
-    {
-        return this.lb;
-    }
-
-    public void setLb(IExpr newValue)
-    {
-        this.lb = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getUb()
-    {
-        return this.ub;
-    }
-
-    public void setUb(IExpr newValue)
-    {
-        this.ub = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getStep()
-    {
-        return this.step;
-    }
-
-    public void setStep(IExpr newValue)
-    {
-        this.step = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTOutputImpliedDoNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 12;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLparen;
-        case 1:  return this.expr;
-        case 2:  return this.outputItemList1;
-        case 3:  return this.hiddenTComma;
-        case 4:  return this.impliedDoVariable;
-        case 5:  return this.hiddenTEquals;
-        case 6:  return this.lb;
-        case 7:  return this.hiddenTComma2;
-        case 8:  return this.ub;
-        case 9:  return this.hiddenTComma3;
-        case 10: return this.step;
-        case 11: return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 2:  this.outputItemList1 = (ASTOutputItemList1Node)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.lb = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.ub = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTComma3 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.step = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 11: this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputItemList1Node.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputItemList1Node.java
deleted file mode 100644
index 139f897..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputItemList1Node.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTOutputItemList1Node extends ASTNode
-{
-    ASTOutputItemList1Node outputItemList1; // in ASTOutputItemList1Node
-    IExpr expr1; // in ASTOutputItemList1Node
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTOutputItemList1Node
-    IExpr expr2; // in ASTOutputItemList1Node
-    ASTOutputImpliedDoNode outputImpliedDo; // in ASTOutputItemList1Node
-
-    public ASTOutputItemList1Node getOutputItemList1()
-    {
-        return this.outputItemList1;
-    }
-
-    public void setOutputItemList1(ASTOutputItemList1Node newValue)
-    {
-        this.outputItemList1 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr1()
-    {
-        return this.expr1;
-    }
-
-    public void setExpr1(IExpr newValue)
-    {
-        this.expr1 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr2()
-    {
-        return this.expr2;
-    }
-
-    public void setExpr2(IExpr newValue)
-    {
-        this.expr2 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOutputImpliedDoNode getOutputImpliedDo()
-    {
-        return this.outputImpliedDo;
-    }
-
-    public void setOutputImpliedDo(ASTOutputImpliedDoNode newValue)
-    {
-        this.outputImpliedDo = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTOutputItemList1Node(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.outputItemList1;
-        case 1:  return this.expr1;
-        case 2:  return this.hiddenTComma;
-        case 3:  return this.expr2;
-        case 4:  return this.outputImpliedDo;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.outputItemList1 = (ASTOutputItemList1Node)value; if (value != null) value.setParent(this); return;
-        case 1:  this.expr1 = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.expr2 = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 4:  this.outputImpliedDo = (ASTOutputImpliedDoNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputItemListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputItemListNode.java
deleted file mode 100644
index 7473d21..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTOutputItemListNode.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTOutputItemListNode extends ASTNode
-{
-    IExpr singleExpr; // in ASTOutputItemListNode
-    IExpr expr1; // in ASTOutputItemListNode
-    ASTOutputItemList1Node outputItemList1; // in ASTOutputItemListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTOutputItemListNode
-    ASTOutputImpliedDoNode outputImpliedDo; // in ASTOutputItemListNode
-    IExpr expr2; // in ASTOutputItemListNode
-
-    public IExpr getSingleExpr()
-    {
-        return this.singleExpr;
-    }
-
-    public void setSingleExpr(IExpr newValue)
-    {
-        this.singleExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr1()
-    {
-        return this.expr1;
-    }
-
-    public void setExpr1(IExpr newValue)
-    {
-        this.expr1 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOutputItemList1Node getOutputItemList1()
-    {
-        return this.outputItemList1;
-    }
-
-    public void setOutputItemList1(ASTOutputItemList1Node newValue)
-    {
-        this.outputItemList1 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOutputImpliedDoNode getOutputImpliedDo()
-    {
-        return this.outputImpliedDo;
-    }
-
-    public void setOutputImpliedDo(ASTOutputImpliedDoNode newValue)
-    {
-        this.outputImpliedDo = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr2()
-    {
-        return this.expr2;
-    }
-
-    public void setExpr2(IExpr newValue)
-    {
-        this.expr2 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTOutputItemListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.singleExpr;
-        case 1:  return this.expr1;
-        case 2:  return this.outputItemList1;
-        case 3:  return this.hiddenTComma;
-        case 4:  return this.outputImpliedDo;
-        case 5:  return this.expr2;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.singleExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 1:  this.expr1 = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 2:  this.outputItemList1 = (ASTOutputItemList1Node)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.outputImpliedDo = (ASTOutputImpliedDoNode)value; if (value != null) value.setParent(this); return;
-        case 5:  this.expr2 = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParameterStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParameterStmtNode.java
deleted file mode 100644
index 894bcb6..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParameterStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTParameterStmtNode extends ASTNode implements ISpecificationPartConstruct
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTParameterStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTParameter; // in ASTParameterStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTParameterStmtNode
-    IASTListNode<ASTNamedConstantDefNode> namedConstantDefList; // in ASTParameterStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTParameterStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTParameterStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTNamedConstantDefNode> getNamedConstantDefList()
-    {
-        return this.namedConstantDefList;
-    }
-
-    public void setNamedConstantDefList(IASTListNode<ASTNamedConstantDefNode> newValue)
-    {
-        this.namedConstantDefList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTParameterStmtNode(this);
-        visitor.visitISpecificationPartConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTParameter;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.namedConstantDefList;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTParameter = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.namedConstantDefList = (IASTListNode<ASTNamedConstantDefNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParentIdentifierNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParentIdentifierNode.java
deleted file mode 100644
index cbaab9d..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParentIdentifierNode.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTParentIdentifierNode extends ASTNode
-{
-    ASTModuleNameNode ancestorModuleName; // in ASTParentIdentifierNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTParentIdentifierNode
-    ASTModuleNameNode parentSubmoduleName; // in ASTParentIdentifierNode
-
-    public ASTModuleNameNode getAncestorModuleName()
-    {
-        return this.ancestorModuleName;
-    }
-
-    public void setAncestorModuleName(ASTModuleNameNode newValue)
-    {
-        this.ancestorModuleName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTModuleNameNode getParentSubmoduleName()
-    {
-        return this.parentSubmoduleName;
-    }
-
-    public void setParentSubmoduleName(ASTModuleNameNode newValue)
-    {
-        this.parentSubmoduleName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTParentIdentifierNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.ancestorModuleName;
-        case 1:  return this.hiddenTColon;
-        case 2:  return this.parentSubmoduleName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.ancestorModuleName = (ASTModuleNameNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.parentSubmoduleName = (ASTModuleNameNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParenthesizedSubroutineArgListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParenthesizedSubroutineArgListNode.java
deleted file mode 100644
index 301e9dc..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTParenthesizedSubroutineArgListNode.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTParenthesizedSubroutineArgListNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTParenthesizedSubroutineArgListNode
-    IASTListNode<ASTSubroutineArgNode> argList; // in ASTParenthesizedSubroutineArgListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTParenthesizedSubroutineArgListNode
-
-    public IASTListNode<ASTSubroutineArgNode> getArgList()
-    {
-        return this.argList;
-    }
-
-    public void setArgList(IASTListNode<ASTSubroutineArgNode> newValue)
-    {
-        this.argList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTParenthesizedSubroutineArgListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLparen;
-        case 1:  return this.argList;
-        case 2:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.argList = (IASTListNode<ASTSubroutineArgNode>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPauseStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPauseStmtNode.java
deleted file mode 100644
index 1035d0a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPauseStmtNode.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTPauseStmtNode extends ASTNode implements IActionStmt, IObsoleteActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTPauseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTPause; // in ASTPauseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token intConst; // in ASTPauseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token stringConst; // in ASTPauseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTPauseStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntConst()
-    {
-        return this.intConst;
-    }
-
-    public void setIntConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getStringConst()
-    {
-        return this.stringConst;
-    }
-
-    public void setStringConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.stringConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTPauseStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitIObsoleteActionStmt(this);
-        visitor.visitIObsoleteActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTPause;
-        case 2:  return this.intConst;
-        case 3:  return this.stringConst;
-        case 4:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTPause = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.intConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.stringConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerFieldNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerFieldNode.java
deleted file mode 100644
index a2326ab..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerFieldNode.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTPointerFieldNode extends ASTNode
-{
-    ASTFieldSelectorNode fieldSelector; // in ASTPointerFieldNode
-    ASTNameNode name; // in ASTPointerFieldNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTPointerFieldNode
-    IASTListNode<ASTSFExprListNode> SFExprList; // in ASTPointerFieldNode
-    IASTListNode<ASTSFDummyArgNameListNode> SFDummyArgNameList; // in ASTPointerFieldNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTPointerFieldNode
-    ASTImageSelectorNode imageSelector; // in ASTPointerFieldNode
-    org.eclipse.photran.internal.core.lexer.Token hasDerivedTypeComponentRef; // in ASTPointerFieldNode
-    ASTNameNode componentName; // in ASTPointerFieldNode
-
-    public ASTFieldSelectorNode getFieldSelector()
-    {
-        return this.fieldSelector;
-    }
-
-    public void setFieldSelector(ASTFieldSelectorNode newValue)
-    {
-        this.fieldSelector = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTNameNode getName()
-    {
-        return this.name;
-    }
-
-    public void setName(ASTNameNode newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSFExprListNode> getSFExprList()
-    {
-        return this.SFExprList;
-    }
-
-    public void setSFExprList(IASTListNode<ASTSFExprListNode> newValue)
-    {
-        this.SFExprList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSFDummyArgNameListNode> getSFDummyArgNameList()
-    {
-        return this.SFDummyArgNameList;
-    }
-
-    public void setSFDummyArgNameList(IASTListNode<ASTSFDummyArgNameListNode> newValue)
-    {
-        this.SFDummyArgNameList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTImageSelectorNode getImageSelector()
-    {
-        return this.imageSelector;
-    }
-
-    public void setImageSelector(ASTImageSelectorNode newValue)
-    {
-        this.imageSelector = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasDerivedTypeComponentRef()
-    {
-        return this.hasDerivedTypeComponentRef != null;
-    }
-
-    public void setHasDerivedTypeComponentRef(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasDerivedTypeComponentRef = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTNameNode getComponentName()
-    {
-        return this.componentName;
-    }
-
-    public void setComponentName(ASTNameNode newValue)
-    {
-        this.componentName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTPointerFieldNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 9;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.fieldSelector;
-        case 1:  return this.name;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.SFExprList;
-        case 4:  return this.SFDummyArgNameList;
-        case 5:  return this.hiddenTRparen;
-        case 6:  return this.imageSelector;
-        case 7:  return this.hasDerivedTypeComponentRef;
-        case 8:  return this.componentName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.fieldSelector = (ASTFieldSelectorNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.name = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.SFExprList = (IASTListNode<ASTSFExprListNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.imageSelector = (ASTImageSelectorNode)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hasDerivedTypeComponentRef = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.componentName = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerNameNode.java
deleted file mode 100644
index bf8e2d5..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTPointerNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token pointerName; // in ASTPointerNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getPointerName()
-    {
-        return this.pointerName;
-    }
-
-    public void setPointerName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.pointerName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTPointerNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.pointerName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.pointerName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerObjectNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerObjectNode.java
deleted file mode 100644
index 62ac7f0..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerObjectNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTPointerObjectNode extends ASTNode
-{
-    ASTNameNode name; // in ASTPointerObjectNode
-    IASTListNode<ASTPointerFieldNode> pointerField; // in ASTPointerObjectNode
-
-    public ASTNameNode getName()
-    {
-        return this.name;
-    }
-
-    public void setName(ASTNameNode newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTPointerFieldNode> getPointerField()
-    {
-        return this.pointerField;
-    }
-
-    public void setPointerField(IASTListNode<ASTPointerFieldNode> newValue)
-    {
-        this.pointerField = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTPointerObjectNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        case 1:  return this.pointerField;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.pointerField = (IASTListNode<ASTPointerFieldNode>)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerStmtNode.java
deleted file mode 100644
index eb605e7..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTPointerStmtNode extends ASTNode implements ISpecificationStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTPointerStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTPointer; // in ASTPointerStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTPointerStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTPointerStmtNode
-    IASTListNode<ASTPointerStmtObjectNode> pointerStmtObjectList; // in ASTPointerStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTPointerStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTPointerStmtObjectNode> getPointerStmtObjectList()
-    {
-        return this.pointerStmtObjectList;
-    }
-
-    public void setPointerStmtObjectList(IASTListNode<ASTPointerStmtObjectNode> newValue)
-    {
-        this.pointerStmtObjectList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTPointerStmtNode(this);
-        visitor.visitISpecificationStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTPointer;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTColon2;
-        case 4:  return this.pointerStmtObjectList;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTPointer = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.pointerStmtObjectList = (IASTListNode<ASTPointerStmtObjectNode>)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerStmtObjectNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerStmtObjectNode.java
deleted file mode 100644
index bad3ebf..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPointerStmtObjectNode.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTPointerStmtObjectNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token pointerName; // in ASTPointerStmtObjectNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTPointerStmtObjectNode
-    IASTListNode<ASTDeferredShapeSpecListNode> deferredShapeSpecList; // in ASTPointerStmtObjectNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTPointerStmtObjectNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getPointerName()
-    {
-        return this.pointerName;
-    }
-
-    public void setPointerName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.pointerName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTDeferredShapeSpecListNode> getDeferredShapeSpecList()
-    {
-        return this.deferredShapeSpecList;
-    }
-
-    public void setDeferredShapeSpecList(IASTListNode<ASTDeferredShapeSpecListNode> newValue)
-    {
-        this.deferredShapeSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTPointerStmtObjectNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.pointerName;
-        case 1:  return this.hiddenTLparen;
-        case 2:  return this.deferredShapeSpecList;
-        case 3:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.pointerName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.deferredShapeSpecList = (IASTListNode<ASTDeferredShapeSpecListNode>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPositionSpecListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPositionSpecListNode.java
deleted file mode 100644
index d072803..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPositionSpecListNode.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTPositionSpecListNode extends ASTNode
-{
-    ASTUnitIdentifierNode unitIdentifier; // in ASTPositionSpecListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTPositionSpecListNode
-    ASTPositionSpecNode positionSpec; // in ASTPositionSpecListNode
-
-    public ASTUnitIdentifierNode getUnitIdentifier()
-    {
-        return this.unitIdentifier;
-    }
-
-    public void setUnitIdentifier(ASTUnitIdentifierNode newValue)
-    {
-        this.unitIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTPositionSpecNode getPositionSpec()
-    {
-        return this.positionSpec;
-    }
-
-    public void setPositionSpec(ASTPositionSpecNode newValue)
-    {
-        this.positionSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTPositionSpecListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.unitIdentifier;
-        case 1:  return this.hiddenTComma;
-        case 2:  return this.positionSpec;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.unitIdentifier = (ASTUnitIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.positionSpec = (ASTPositionSpecNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPositionSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPositionSpecNode.java
deleted file mode 100644
index 05b176f..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPositionSpecNode.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTPositionSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTErreq; // in ASTPositionSpecNode
-    ASTLblRefNode errLbl; // in ASTPositionSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTUniteq; // in ASTPositionSpecNode
-    ASTUnitIdentifierNode unitIdentifier; // in ASTPositionSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIostateq; // in ASTPositionSpecNode
-    ASTScalarVariableNode ioStatVar; // in ASTPositionSpecNode
-
-    public ASTLblRefNode getErrLbl()
-    {
-        return this.errLbl;
-    }
-
-    public void setErrLbl(ASTLblRefNode newValue)
-    {
-        this.errLbl = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUnitIdentifierNode getUnitIdentifier()
-    {
-        return this.unitIdentifier;
-    }
-
-    public void setUnitIdentifier(ASTUnitIdentifierNode newValue)
-    {
-        this.unitIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTScalarVariableNode getIoStatVar()
-    {
-        return this.ioStatVar;
-    }
-
-    public void setIoStatVar(ASTScalarVariableNode newValue)
-    {
-        this.ioStatVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTPositionSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTErreq;
-        case 1:  return this.errLbl;
-        case 2:  return this.hiddenTUniteq;
-        case 3:  return this.unitIdentifier;
-        case 4:  return this.hiddenTIostateq;
-        case 5:  return this.ioStatVar;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTErreq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.errLbl = (ASTLblRefNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTUniteq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.unitIdentifier = (ASTUnitIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTIostateq = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.ioStatVar = (ASTScalarVariableNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrefixSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrefixSpecNode.java
deleted file mode 100644
index 23b87e7..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrefixSpecNode.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTPrefixSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token isModule; // in ASTPrefixSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isElemental; // in ASTPrefixSpecNode
-    ASTTypeSpecNode typeSpec; // in ASTPrefixSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isImpure; // in ASTPrefixSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isRecursive; // in ASTPrefixSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isPure; // in ASTPrefixSpecNode
-
-    public boolean isModule()
-    {
-        return this.isModule != null;
-    }
-
-    public void setIsModule(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isModule = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isElemental()
-    {
-        return this.isElemental != null;
-    }
-
-    public void setIsElemental(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isElemental = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTTypeSpecNode getTypeSpec()
-    {
-        return this.typeSpec;
-    }
-
-    public void setTypeSpec(ASTTypeSpecNode newValue)
-    {
-        this.typeSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isImpure()
-    {
-        return this.isImpure != null;
-    }
-
-    public void setIsImpure(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isImpure = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isRecursive()
-    {
-        return this.isRecursive != null;
-    }
-
-    public void setIsRecursive(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isRecursive = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isPure()
-    {
-        return this.isPure != null;
-    }
-
-    public void setIsPure(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isPure = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTPrefixSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isModule;
-        case 1:  return this.isElemental;
-        case 2:  return this.typeSpec;
-        case 3:  return this.isImpure;
-        case 4:  return this.isRecursive;
-        case 5:  return this.isPure;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isModule = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isElemental = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.typeSpec = (ASTTypeSpecNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.isImpure = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.isRecursive = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.isPure = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrintStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrintStmtNode.java
deleted file mode 100644
index a2f1cee..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrintStmtNode.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTPrintStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTPrintStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTPrint; // in ASTPrintStmtNode
-    ASTFormatIdentifierNode formatIdentifier; // in ASTPrintStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTPrintStmtNode
-    ASTOutputItemListNode outputItemList; // in ASTPrintStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTPrintStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTFormatIdentifierNode getFormatIdentifier()
-    {
-        return this.formatIdentifier;
-    }
-
-    public void setFormatIdentifier(ASTFormatIdentifierNode newValue)
-    {
-        this.formatIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOutputItemListNode getOutputItemList()
-    {
-        return this.outputItemList;
-    }
-
-    public void setOutputItemList(ASTOutputItemListNode newValue)
-    {
-        this.outputItemList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTPrintStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTPrint;
-        case 2:  return this.formatIdentifier;
-        case 3:  return this.hiddenTComma;
-        case 4:  return this.outputItemList;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTPrint = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.formatIdentifier = (ASTFormatIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.outputItemList = (ASTOutputItemListNode)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrivateSequenceStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrivateSequenceStmtNode.java
deleted file mode 100644
index 6256836..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTPrivateSequenceStmtNode.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTPrivateSequenceStmtNode extends ASTNode implements IDerivedTypeBodyConstruct
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTPrivateSequenceStmtNode
-    org.eclipse.photran.internal.core.lexer.Token sequenceToken; // in ASTPrivateSequenceStmtNode
-    org.eclipse.photran.internal.core.lexer.Token isSequence; // in ASTPrivateSequenceStmtNode
-    org.eclipse.photran.internal.core.lexer.Token privateToken; // in ASTPrivateSequenceStmtNode
-    org.eclipse.photran.internal.core.lexer.Token isPrivate; // in ASTPrivateSequenceStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getSequenceToken()
-    {
-        return this.sequenceToken;
-    }
-
-    public void setSequenceToken(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.sequenceToken = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isSequence()
-    {
-        return this.isSequence != null;
-    }
-
-    public void setIsSequence(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isSequence = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getPrivateToken()
-    {
-        return this.privateToken;
-    }
-
-    public void setPrivateToken(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.privateToken = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isPrivate()
-    {
-        return this.isPrivate != null;
-    }
-
-    public void setIsPrivate(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isPrivate = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTPrivateSequenceStmtNode(this);
-        visitor.visitIDerivedTypeBodyConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.sequenceToken;
-        case 2:  return this.isSequence;
-        case 3:  return this.privateToken;
-        case 4:  return this.isPrivate;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.sequenceToken = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.isSequence = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.privateToken = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.isPrivate = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcComponentAttrSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcComponentAttrSpecNode.java
deleted file mode 100644
index beb4f2c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcComponentAttrSpecNode.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTProcComponentAttrSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token isNoPass; // in ASTProcComponentAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isPass; // in ASTProcComponentAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTProcComponentAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token argName; // in ASTProcComponentAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTProcComponentAttrSpecNode
-    ASTAccessSpecNode accessSpec; // in ASTProcComponentAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isPointer; // in ASTProcComponentAttrSpecNode
-
-    public boolean isNoPass()
-    {
-        return this.isNoPass != null;
-    }
-
-    public void setIsNoPass(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isNoPass = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isPass()
-    {
-        return this.isPass != null;
-    }
-
-    public void setIsPass(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isPass = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getArgName()
-    {
-        return this.argName;
-    }
-
-    public void setArgName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.argName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTAccessSpecNode getAccessSpec()
-    {
-        return this.accessSpec;
-    }
-
-    public void setAccessSpec(ASTAccessSpecNode newValue)
-    {
-        this.accessSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isPointer()
-    {
-        return this.isPointer != null;
-    }
-
-    public void setIsPointer(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isPointer = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTProcComponentAttrSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 7;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isNoPass;
-        case 1:  return this.isPass;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.argName;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.accessSpec;
-        case 6:  return this.isPointer;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isNoPass = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isPass = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.argName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.accessSpec = (ASTAccessSpecNode)value; if (value != null) value.setParent(this); return;
-        case 6:  this.isPointer = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcComponentDefStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcComponentDefStmtNode.java
deleted file mode 100644
index 925c7d0..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcComponentDefStmtNode.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTProcComponentDefStmtNode extends ASTNode implements IComponentDefStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTProcComponentDefStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTProcedure; // in ASTProcComponentDefStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTProcComponentDefStmtNode
-    ASTProcInterfaceNode procInterface; // in ASTProcComponentDefStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTProcComponentDefStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTProcComponentDefStmtNode
-    IASTListNode<ASTProcComponentAttrSpecNode> procComponentAttrSpecList; // in ASTProcComponentDefStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTProcComponentDefStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTProcComponentDefStmtNode
-    IASTListNode<ASTProcDeclNode> procDeclList; // in ASTProcComponentDefStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTProcComponentDefStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTProcInterfaceNode getProcInterface()
-    {
-        return this.procInterface;
-    }
-
-    public void setProcInterface(ASTProcInterfaceNode newValue)
-    {
-        this.procInterface = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTProcComponentAttrSpecNode> getProcComponentAttrSpecList()
-    {
-        return this.procComponentAttrSpecList;
-    }
-
-    public void setProcComponentAttrSpecList(IASTListNode<ASTProcComponentAttrSpecNode> newValue)
-    {
-        this.procComponentAttrSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTProcDeclNode> getProcDeclList()
-    {
-        return this.procDeclList;
-    }
-
-    public void setProcDeclList(IASTListNode<ASTProcDeclNode> newValue)
-    {
-        this.procDeclList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTProcComponentDefStmtNode(this);
-        visitor.visitIComponentDefStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 11;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTProcedure;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.procInterface;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTComma;
-        case 6:  return this.procComponentAttrSpecList;
-        case 7:  return this.hiddenTColon;
-        case 8:  return this.hiddenTColon2;
-        case 9:  return this.procDeclList;
-        case 10: return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.procInterface = (ASTProcInterfaceNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.procComponentAttrSpecList = (IASTListNode<ASTProcComponentAttrSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.procDeclList = (IASTListNode<ASTProcDeclNode>)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcDeclNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcDeclNode.java
deleted file mode 100644
index 86ae2b1..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcDeclNode.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTProcDeclNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token procedureEntityName; // in ASTProcDeclNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEqgreaterthan; // in ASTProcDeclNode
-    org.eclipse.photran.internal.core.lexer.Token assignsNull; // in ASTProcDeclNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTProcDeclNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTProcDeclNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getProcedureEntityName()
-    {
-        return this.procedureEntityName;
-    }
-
-    public void setProcedureEntityName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.procedureEntityName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean assignsNull()
-    {
-        return this.assignsNull != null;
-    }
-
-    public void setAssignsNull(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.assignsNull = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTProcDeclNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.procedureEntityName;
-        case 1:  return this.hiddenTEqgreaterthan;
-        case 2:  return this.assignsNull;
-        case 3:  return this.hiddenTLparen;
-        case 4:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.procedureEntityName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.assignsNull = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcInterfaceNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcInterfaceNode.java
deleted file mode 100644
index f41ed5a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcInterfaceNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTProcInterfaceNode extends ASTNode
-{
-    ASTTypeSpecNode typeSpec; // in ASTProcInterfaceNode
-    org.eclipse.photran.internal.core.lexer.Token interfaceName; // in ASTProcInterfaceNode
-
-    public ASTTypeSpecNode getTypeSpec()
-    {
-        return this.typeSpec;
-    }
-
-    public void setTypeSpec(ASTTypeSpecNode newValue)
-    {
-        this.typeSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getInterfaceName()
-    {
-        return this.interfaceName;
-    }
-
-    public void setInterfaceName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.interfaceName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTProcInterfaceNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.typeSpec;
-        case 1:  return this.interfaceName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.typeSpec = (ASTTypeSpecNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.interfaceName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureDeclarationStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureDeclarationStmtNode.java
deleted file mode 100644
index c78bd38..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureDeclarationStmtNode.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTProcedureDeclarationStmtNode extends ASTNode implements IDeclarationConstruct
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTProcedureDeclarationStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTProcedure; // in ASTProcedureDeclarationStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTProcedureDeclarationStmtNode
-    ASTProcInterfaceNode procInterface; // in ASTProcedureDeclarationStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTProcedureDeclarationStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTProcedureDeclarationStmtNode
-    IASTListNode<ASTAttrSpecNode> procAttrSpecList; // in ASTProcedureDeclarationStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTProcedureDeclarationStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTProcedureDeclarationStmtNode
-    IASTListNode<ASTProcDeclNode> procDeclList; // in ASTProcedureDeclarationStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTProcedureDeclarationStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTProcInterfaceNode getProcInterface()
-    {
-        return this.procInterface;
-    }
-
-    public void setProcInterface(ASTProcInterfaceNode newValue)
-    {
-        this.procInterface = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTAttrSpecNode> getProcAttrSpecList()
-    {
-        return this.procAttrSpecList;
-    }
-
-    public void setProcAttrSpecList(IASTListNode<ASTAttrSpecNode> newValue)
-    {
-        this.procAttrSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTProcDeclNode> getProcDeclList()
-    {
-        return this.procDeclList;
-    }
-
-    public void setProcDeclList(IASTListNode<ASTProcDeclNode> newValue)
-    {
-        this.procDeclList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTProcedureDeclarationStmtNode(this);
-        visitor.visitIDeclarationConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 11;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTProcedure;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.procInterface;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTComma;
-        case 6:  return this.procAttrSpecList;
-        case 7:  return this.hiddenTColon;
-        case 8:  return this.hiddenTColon2;
-        case 9:  return this.procDeclList;
-        case 10: return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.procInterface = (ASTProcInterfaceNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.procAttrSpecList = (IASTListNode<ASTAttrSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.procDeclList = (IASTListNode<ASTProcDeclNode>)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureNameListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureNameListNode.java
deleted file mode 100644
index b8c3e84..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureNameListNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTProcedureNameListNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTProcedureNameListNode
-    org.eclipse.photran.internal.core.lexer.Token procedureName; // in ASTProcedureNameListNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getProcedureName()
-    {
-        return this.procedureName;
-    }
-
-    public void setProcedureName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.procedureName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTProcedureNameListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTComma;
-        case 1:  return this.procedureName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.procedureName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureNameNode.java
deleted file mode 100644
index 0781b3c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProcedureNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTProcedureNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token procedureName; // in ASTProcedureNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getProcedureName()
-    {
-        return this.procedureName;
-    }
-
-    public void setProcedureName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.procedureName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTProcedureNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.procedureName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.procedureName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProgramNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProgramNameNode.java
deleted file mode 100644
index 017e807..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProgramNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTProgramNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token programName; // in ASTProgramNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getProgramName()
-    {
-        return this.programName;
-    }
-
-    public void setProgramName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.programName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTProgramNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.programName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.programName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProgramStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProgramStmtNode.java
deleted file mode 100644
index 5d2f012..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProgramStmtNode.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTProgramStmtNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTProgramStmtNode
-    org.eclipse.photran.internal.core.lexer.Token programToken; // in ASTProgramStmtNode
-    ASTProgramNameNode programName; // in ASTProgramStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTProgramStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getProgramToken()
-    {
-        return this.programToken;
-    }
-
-    public void setProgramToken(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.programToken = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTProgramNameNode getProgramName()
-    {
-        return this.programName;
-    }
-
-    public void setProgramName(ASTProgramNameNode newValue)
-    {
-        this.programName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTProgramStmtNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.programToken;
-        case 2:  return this.programName;
-        case 3:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.programToken = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.programName = (ASTProgramNameNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProtectedStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProtectedStmtNode.java
deleted file mode 100644
index 9d91cf9..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTProtectedStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTProtectedStmtNode extends ASTNode implements ISpecificationStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTProtectedStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTProtected; // in ASTProtectedStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTProtectedStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTProtectedStmtNode
-    IASTListNode<org.eclipse.photran.internal.core.lexer.Token> entityNameList; // in ASTProtectedStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTProtectedStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<org.eclipse.photran.internal.core.lexer.Token> getEntityNameList()
-    {
-        return this.entityNameList;
-    }
-
-    public void setEntityNameList(IASTListNode<org.eclipse.photran.internal.core.lexer.Token> newValue)
-    {
-        this.entityNameList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTProtectedStmtNode(this);
-        visitor.visitISpecificationStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTProtected;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTColon2;
-        case 4:  return this.entityNameList;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTProtected = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.entityNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdCtlSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdCtlSpecNode.java
deleted file mode 100644
index db28620..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdCtlSpecNode.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTRdCtlSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTRdCtlSpecNode
-    IASTListNode<ASTRdIoCtlSpecListNode> rdIoCtlSpecList; // in ASTRdCtlSpecNode
-    ASTUFExprNode readUnitExpr; // in ASTRdCtlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token readUnitIsAsterisk; // in ASTRdCtlSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTRdCtlSpecNode
-
-    public IASTListNode<ASTRdIoCtlSpecListNode> getRdIoCtlSpecList()
-    {
-        return this.rdIoCtlSpecList;
-    }
-
-    public void setRdIoCtlSpecList(IASTListNode<ASTRdIoCtlSpecListNode> newValue)
-    {
-        this.rdIoCtlSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUFExprNode getReadUnitExpr()
-    {
-        return this.readUnitExpr;
-    }
-
-    public void setReadUnitExpr(ASTUFExprNode newValue)
-    {
-        this.readUnitExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean readUnitIsAsterisk()
-    {
-        return this.readUnitIsAsterisk != null;
-    }
-
-    public void setReadUnitIsAsterisk(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.readUnitIsAsterisk = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTRdCtlSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLparen;
-        case 1:  return this.rdIoCtlSpecList;
-        case 2:  return this.readUnitExpr;
-        case 3:  return this.readUnitIsAsterisk;
-        case 4:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.rdIoCtlSpecList = (IASTListNode<ASTRdIoCtlSpecListNode>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.readUnitExpr = (ASTUFExprNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.readUnitIsAsterisk = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdFmtIdExprNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdFmtIdExprNode.java
deleted file mode 100644
index 042cabd..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdFmtIdExprNode.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTRdFmtIdExprNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTRdFmtIdExprNode
-    ASTUFExprNode formatIdExpr; // in ASTRdFmtIdExprNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTRdFmtIdExprNode
-
-    public ASTUFExprNode getFormatIdExpr()
-    {
-        return this.formatIdExpr;
-    }
-
-    public void setFormatIdExpr(ASTUFExprNode newValue)
-    {
-        this.formatIdExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTRdFmtIdExprNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLparen;
-        case 1:  return this.formatIdExpr;
-        case 2:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.formatIdExpr = (ASTUFExprNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdFmtIdNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdFmtIdNode.java
deleted file mode 100644
index bee51f1..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdFmtIdNode.java
+++ /dev/null
@@ -1,471 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTRdFmtIdNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hasNotOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasPowerOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasPlusOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token definedBinaryOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasAndOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasNeqvOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token formatIsAsterisk; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasEqvOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasOrOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasNeOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasSlashEqOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token customDefinedOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasEqOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasGeOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasDivideOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasLeOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasLtOp; // in ASTRdFmtIdNode
-    ASTCOperandNode primary1; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasGtOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasEqEqOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasMinusOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token definedUnaryOp; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasTimesOp; // in ASTRdFmtIdNode
-    ASTUFExprNode formatIdExpr; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTRdFmtIdNode
-    org.eclipse.photran.internal.core.lexer.Token hasConcatOp; // in ASTRdFmtIdNode
-    ASTCPrimaryNode primary2; // in ASTRdFmtIdNode
-
-    public boolean hasNotOp()
-    {
-        return this.hasNotOp != null;
-    }
-
-    public void setHasNotOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasNotOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasPowerOp()
-    {
-        return this.hasPowerOp != null;
-    }
-
-    public void setHasPowerOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasPowerOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasPlusOp()
-    {
-        return this.hasPlusOp != null;
-    }
-
-    public void setHasPlusOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasPlusOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getDefinedBinaryOp()
-    {
-        return this.definedBinaryOp;
-    }
-
-    public void setDefinedBinaryOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.definedBinaryOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasAndOp()
-    {
-        return this.hasAndOp != null;
-    }
-
-    public void setHasAndOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasAndOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasNeqvOp()
-    {
-        return this.hasNeqvOp != null;
-    }
-
-    public void setHasNeqvOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasNeqvOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean formatIsAsterisk()
-    {
-        return this.formatIsAsterisk != null;
-    }
-
-    public void setFormatIsAsterisk(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.formatIsAsterisk = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasEqvOp()
-    {
-        return this.hasEqvOp != null;
-    }
-
-    public void setHasEqvOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasEqvOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasOrOp()
-    {
-        return this.hasOrOp != null;
-    }
-
-    public void setHasOrOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasOrOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasNeOp()
-    {
-        return this.hasNeOp != null;
-    }
-
-    public void setHasNeOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasNeOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasSlashEqOp()
-    {
-        return this.hasSlashEqOp != null;
-    }
-
-    public void setHasSlashEqOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasSlashEqOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getCustomDefinedOp()
-    {
-        return this.customDefinedOp;
-    }
-
-    public void setCustomDefinedOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.customDefinedOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasEqOp()
-    {
-        return this.hasEqOp != null;
-    }
-
-    public void setHasEqOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasEqOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasGeOp()
-    {
-        return this.hasGeOp != null;
-    }
-
-    public void setHasGeOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasGeOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasDivideOp()
-    {
-        return this.hasDivideOp != null;
-    }
-
-    public void setHasDivideOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasDivideOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasLeOp()
-    {
-        return this.hasLeOp != null;
-    }
-
-    public void setHasLeOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasLeOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasLtOp()
-    {
-        return this.hasLtOp != null;
-    }
-
-    public void setHasLtOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasLtOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTCOperandNode getPrimary1()
-    {
-        return this.primary1;
-    }
-
-    public void setPrimary1(ASTCOperandNode newValue)
-    {
-        this.primary1 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasGtOp()
-    {
-        return this.hasGtOp != null;
-    }
-
-    public void setHasGtOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasGtOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasEqEqOp()
-    {
-        return this.hasEqEqOp != null;
-    }
-
-    public void setHasEqEqOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasEqEqOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasMinusOp()
-    {
-        return this.hasMinusOp != null;
-    }
-
-    public void setHasMinusOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasMinusOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getDefinedUnaryOp()
-    {
-        return this.definedUnaryOp;
-    }
-
-    public void setDefinedUnaryOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.definedUnaryOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasTimesOp()
-    {
-        return this.hasTimesOp != null;
-    }
-
-    public void setHasTimesOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasTimesOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUFExprNode getFormatIdExpr()
-    {
-        return this.formatIdExpr;
-    }
-
-    public void setFormatIdExpr(ASTUFExprNode newValue)
-    {
-        this.formatIdExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasConcatOp()
-    {
-        return this.hasConcatOp != null;
-    }
-
-    public void setHasConcatOp(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasConcatOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTCPrimaryNode getPrimary2()
-    {
-        return this.primary2;
-    }
-
-    public void setPrimary2(ASTCPrimaryNode newValue)
-    {
-        this.primary2 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTRdFmtIdNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 29;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hasNotOp;
-        case 1:  return this.hasPowerOp;
-        case 2:  return this.hasPlusOp;
-        case 3:  return this.definedBinaryOp;
-        case 4:  return this.hasAndOp;
-        case 5:  return this.hasNeqvOp;
-        case 6:  return this.formatIsAsterisk;
-        case 7:  return this.hasEqvOp;
-        case 8:  return this.hasOrOp;
-        case 9:  return this.hasNeOp;
-        case 10: return this.hasSlashEqOp;
-        case 11: return this.customDefinedOp;
-        case 12: return this.hasEqOp;
-        case 13: return this.hiddenTLparen;
-        case 14: return this.hasGeOp;
-        case 15: return this.hasDivideOp;
-        case 16: return this.hasLeOp;
-        case 17: return this.hasLtOp;
-        case 18: return this.primary1;
-        case 19: return this.hasGtOp;
-        case 20: return this.hasEqEqOp;
-        case 21: return this.hasMinusOp;
-        case 22: return this.definedUnaryOp;
-        case 23: return this.label;
-        case 24: return this.hasTimesOp;
-        case 25: return this.formatIdExpr;
-        case 26: return this.hiddenTRparen;
-        case 27: return this.hasConcatOp;
-        case 28: return this.primary2;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hasNotOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hasPowerOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hasPlusOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.definedBinaryOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hasAndOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hasNeqvOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.formatIsAsterisk = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hasEqvOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hasOrOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hasNeOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.hasSlashEqOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 11: this.customDefinedOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 12: this.hasEqOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 13: this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 14: this.hasGeOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 15: this.hasDivideOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 16: this.hasLeOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 17: this.hasLtOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 18: this.primary1 = (ASTCOperandNode)value; if (value != null) value.setParent(this); return;
-        case 19: this.hasGtOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 20: this.hasEqEqOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 21: this.hasMinusOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 22: this.definedUnaryOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 23: this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 24: this.hasTimesOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 25: this.formatIdExpr = (ASTUFExprNode)value; if (value != null) value.setParent(this); return;
-        case 26: this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 27: this.hasConcatOp = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 28: this.primary2 = (ASTCPrimaryNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdIoCtlSpecListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdIoCtlSpecListNode.java
deleted file mode 100644
index c3f370f..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdIoCtlSpecListNode.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTRdIoCtlSpecListNode extends ASTNode
-{
-    ASTUnitIdentifierNode unitIdentifier; // in ASTRdIoCtlSpecListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTRdIoCtlSpecListNode
-    ASTFormatIdentifierNode formatIdentifier; // in ASTRdIoCtlSpecListNode
-    ASTIoControlSpecNode ioControlSpec; // in ASTRdIoCtlSpecListNode
-
-    public ASTUnitIdentifierNode getUnitIdentifier()
-    {
-        return this.unitIdentifier;
-    }
-
-    public void setUnitIdentifier(ASTUnitIdentifierNode newValue)
-    {
-        this.unitIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTFormatIdentifierNode getFormatIdentifier()
-    {
-        return this.formatIdentifier;
-    }
-
-    public void setFormatIdentifier(ASTFormatIdentifierNode newValue)
-    {
-        this.formatIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTIoControlSpecNode getIoControlSpec()
-    {
-        return this.ioControlSpec;
-    }
-
-    public void setIoControlSpec(ASTIoControlSpecNode newValue)
-    {
-        this.ioControlSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTRdIoCtlSpecListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.unitIdentifier;
-        case 1:  return this.hiddenTComma;
-        case 2:  return this.formatIdentifier;
-        case 3:  return this.ioControlSpec;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.unitIdentifier = (ASTUnitIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.formatIdentifier = (ASTFormatIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.ioControlSpec = (ASTIoControlSpecNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdUnitIdNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdUnitIdNode.java
deleted file mode 100644
index 30cead0..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRdUnitIdNode.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTRdUnitIdNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTRdUnitIdNode
-    ASTUFExprNode readUnitExpr; // in ASTRdUnitIdNode
-    org.eclipse.photran.internal.core.lexer.Token readUnitIsAsterisk; // in ASTRdUnitIdNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTRdUnitIdNode
-
-    public ASTUFExprNode getReadUnitExpr()
-    {
-        return this.readUnitExpr;
-    }
-
-    public void setReadUnitExpr(ASTUFExprNode newValue)
-    {
-        this.readUnitExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean readUnitIsAsterisk()
-    {
-        return this.readUnitIsAsterisk != null;
-    }
-
-    public void setReadUnitIsAsterisk(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.readUnitIsAsterisk = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTRdUnitIdNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLparen;
-        case 1:  return this.readUnitExpr;
-        case 2:  return this.readUnitIsAsterisk;
-        case 3:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.readUnitExpr = (ASTUFExprNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.readUnitIsAsterisk = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTReadStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTReadStmtNode.java
deleted file mode 100644
index b204c9c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTReadStmtNode.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTReadStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTReadStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRead; // in ASTReadStmtNode
-    ASTRdFmtIdNode rdFmtId; // in ASTReadStmtNode
-    ASTRdCtlSpecNode rdCtlSpec; // in ASTReadStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTReadStmtNode
-    IASTListNode<IInputItem> inputItemList; // in ASTReadStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTReadStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTRdFmtIdNode getRdFmtId()
-    {
-        return this.rdFmtId;
-    }
-
-    public void setRdFmtId(ASTRdFmtIdNode newValue)
-    {
-        this.rdFmtId = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTRdCtlSpecNode getRdCtlSpec()
-    {
-        return this.rdCtlSpec;
-    }
-
-    public void setRdCtlSpec(ASTRdCtlSpecNode newValue)
-    {
-        this.rdCtlSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IInputItem> getInputItemList()
-    {
-        return this.inputItemList;
-    }
-
-    public void setInputItemList(IASTListNode<IInputItem> newValue)
-    {
-        this.inputItemList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTReadStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 7;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTRead;
-        case 2:  return this.rdFmtId;
-        case 3:  return this.rdCtlSpec;
-        case 4:  return this.hiddenTComma;
-        case 5:  return this.inputItemList;
-        case 6:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTRead = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.rdFmtId = (ASTRdFmtIdNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.rdCtlSpec = (ASTRdCtlSpecNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.inputItemList = (IASTListNode<IInputItem>)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRealConstNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRealConstNode.java
deleted file mode 100644
index 73978e4..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRealConstNode.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTRealConstNode extends ASTNode implements IExpr, ISelector, IUnsignedArithmeticConst
-{
-    org.eclipse.photran.internal.core.lexer.Token realConst; // in ASTRealConstNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTUnderscore; // in ASTRealConstNode
-    org.eclipse.photran.internal.core.lexer.Token intKind; // in ASTRealConstNode
-    ASTNamedConstantUseNode namedConstKind; // in ASTRealConstNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getRealConst()
-    {
-        return this.realConst;
-    }
-
-    public void setRealConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.realConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntKind()
-    {
-        return this.intKind;
-    }
-
-    public void setIntKind(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intKind = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTNamedConstantUseNode getNamedConstKind()
-    {
-        return this.namedConstKind;
-    }
-
-    public void setNamedConstKind(ASTNamedConstantUseNode newValue)
-    {
-        this.namedConstKind = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTRealConstNode(this);
-        visitor.visitIExpr(this);
-        visitor.visitISelector(this);
-        visitor.visitIUnsignedArithmeticConst(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.realConst;
-        case 1:  return this.hiddenTUnderscore;
-        case 2:  return this.intKind;
-        case 3:  return this.namedConstKind;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.realConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTUnderscore = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.intKind = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.namedConstKind = (ASTNamedConstantUseNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRenameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRenameNode.java
deleted file mode 100644
index b9565a7..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRenameNode.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTRenameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token isOperator; // in ASTRenameNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTRenameNode
-    org.eclipse.photran.internal.core.lexer.Token newName; // in ASTRenameNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTRenameNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEqgreaterthan; // in ASTRenameNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTOperator; // in ASTRenameNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen2; // in ASTRenameNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTRenameNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen2; // in ASTRenameNode
-
-    public boolean isOperator()
-    {
-        return this.isOperator != null;
-    }
-
-    public void setIsOperator(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isOperator = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getNewName()
-    {
-        return this.newName;
-    }
-
-    public void setNewName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.newName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTRenameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 9;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isOperator;
-        case 1:  return this.hiddenTLparen;
-        case 2:  return this.newName;
-        case 3:  return this.hiddenTRparen;
-        case 4:  return this.hiddenTEqgreaterthan;
-        case 5:  return this.hiddenTOperator;
-        case 6:  return this.hiddenTLparen2;
-        case 7:  return this.name;
-        case 8:  return this.hiddenTRparen2;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isOperator = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.newName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTOperator = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTReturnStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTReturnStmtNode.java
deleted file mode 100644
index 73c7835..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTReturnStmtNode.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTReturnStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTReturnStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTReturn; // in ASTReturnStmtNode
-    IExpr expr; // in ASTReturnStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTReturnStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTReturnStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTReturn;
-        case 2:  return this.expr;
-        case 3:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTReturn = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRewindStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRewindStmtNode.java
deleted file mode 100644
index 8ec8ebb..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTRewindStmtNode.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTRewindStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTRewindStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRewind; // in ASTRewindStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTRewindStmtNode
-    IASTListNode<ASTPositionSpecListNode> positionSpecList; // in ASTRewindStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTRewindStmtNode
-    ASTUnitIdentifierNode unitIdentifier; // in ASTRewindStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTRewindStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTPositionSpecListNode> getPositionSpecList()
-    {
-        return this.positionSpecList;
-    }
-
-    public void setPositionSpecList(IASTListNode<ASTPositionSpecListNode> newValue)
-    {
-        this.positionSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUnitIdentifierNode getUnitIdentifier()
-    {
-        return this.unitIdentifier;
-    }
-
-    public void setUnitIdentifier(ASTUnitIdentifierNode newValue)
-    {
-        this.unitIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTRewindStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 7;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTRewind;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.positionSpecList;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.unitIdentifier;
-        case 6:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTRewind = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.positionSpecList = (IASTListNode<ASTPositionSpecListNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.unitIdentifier = (ASTUnitIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDataRefNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDataRefNode.java
deleted file mode 100644
index 6d1193e..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDataRefNode.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSFDataRefNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTSFDataRefNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTSFDataRefNode
-    IASTListNode<ASTSectionSubscriptNode> primarySectionSubscriptList; // in ASTSFDataRefNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTSFDataRefNode
-    ASTImageSelectorNode imageSelector; // in ASTSFDataRefNode
-    org.eclipse.photran.internal.core.lexer.Token hasDerivedTypeComponentName; // in ASTSFDataRefNode
-    ASTNameNode componentName; // in ASTSFDataRefNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSectionSubscriptNode> getPrimarySectionSubscriptList()
-    {
-        return this.primarySectionSubscriptList;
-    }
-
-    public void setPrimarySectionSubscriptList(IASTListNode<ASTSectionSubscriptNode> newValue)
-    {
-        this.primarySectionSubscriptList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTImageSelectorNode getImageSelector()
-    {
-        return this.imageSelector;
-    }
-
-    public void setImageSelector(ASTImageSelectorNode newValue)
-    {
-        this.imageSelector = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasDerivedTypeComponentName()
-    {
-        return this.hasDerivedTypeComponentName != null;
-    }
-
-    public void setHasDerivedTypeComponentName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasDerivedTypeComponentName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTNameNode getComponentName()
-    {
-        return this.componentName;
-    }
-
-    public void setComponentName(ASTNameNode newValue)
-    {
-        this.componentName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSFDataRefNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 7;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        case 1:  return this.hiddenTLparen;
-        case 2:  return this.primarySectionSubscriptList;
-        case 3:  return this.hiddenTRparen;
-        case 4:  return this.imageSelector;
-        case 5:  return this.hasDerivedTypeComponentName;
-        case 6:  return this.componentName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.imageSelector = (ASTImageSelectorNode)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hasDerivedTypeComponentName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.componentName = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDummyArgNameListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDummyArgNameListNode.java
deleted file mode 100644
index 075f99d..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDummyArgNameListNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSFDummyArgNameListNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTSFDummyArgNameListNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTSFDummyArgNameListNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSFDummyArgNameListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTComma;
-        case 1:  return this.name;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDummyArgNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDummyArgNameNode.java
deleted file mode 100644
index 15ae305..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFDummyArgNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSFDummyArgNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTSFDummyArgNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSFDummyArgNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFExprListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFExprListNode.java
deleted file mode 100644
index de7360c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFExprListNode.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSFExprListNode extends ASTNode
-{
-    IASTListNode<ASTSFDummyArgNameListNode> SFDummyArgNameList; // in ASTSFExprListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTSFExprListNode
-    ASTSectionSubscriptNode sectionSubscript; // in ASTSFExprListNode
-    ASTSFExprNode lb; // in ASTSFExprListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTSFExprListNode
-    IExpr ub; // in ASTSFExprListNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTSFExprListNode
-    IExpr step; // in ASTSFExprListNode
-
-    public IASTListNode<ASTSFDummyArgNameListNode> getSFDummyArgNameList()
-    {
-        return this.SFDummyArgNameList;
-    }
-
-    public void setSFDummyArgNameList(IASTListNode<ASTSFDummyArgNameListNode> newValue)
-    {
-        this.SFDummyArgNameList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSectionSubscriptNode getSectionSubscript()
-    {
-        return this.sectionSubscript;
-    }
-
-    public void setSectionSubscript(ASTSectionSubscriptNode newValue)
-    {
-        this.sectionSubscript = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSFExprNode getLb()
-    {
-        return this.lb;
-    }
-
-    public void setLb(ASTSFExprNode newValue)
-    {
-        this.lb = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getUb()
-    {
-        return this.ub;
-    }
-
-    public void setUb(IExpr newValue)
-    {
-        this.ub = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getStep()
-    {
-        return this.step;
-    }
-
-    public void setStep(IExpr newValue)
-    {
-        this.step = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSFExprListNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.SFDummyArgNameList;
-        case 1:  return this.hiddenTComma;
-        case 2:  return this.sectionSubscript;
-        case 3:  return this.lb;
-        case 4:  return this.hiddenTColon;
-        case 5:  return this.ub;
-        case 6:  return this.hiddenTColon2;
-        case 7:  return this.step;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.sectionSubscript = (ASTSectionSubscriptNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.lb = (ASTSFExprNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.ub = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.step = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFExprNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFExprNode.java
deleted file mode 100644
index 831b7fe..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFExprNode.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSFExprNode extends ASTNode
-{
-    ASTSFTermNode SFTerm; // in ASTSFExprNode
-    ASTSignNode rhs; // in ASTSFExprNode
-    ASTSFExprNode lhsExpr; // in ASTSFExprNode
-    ASTOperatorNode addOp; // in ASTSFExprNode
-    IExpr rhsExpr; // in ASTSFExprNode
-
-    public ASTSFTermNode getSFTerm()
-    {
-        return this.SFTerm;
-    }
-
-    public void setSFTerm(ASTSFTermNode newValue)
-    {
-        this.SFTerm = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSignNode getRhs()
-    {
-        return this.rhs;
-    }
-
-    public void setRhs(ASTSignNode newValue)
-    {
-        this.rhs = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSFExprNode getLhsExpr()
-    {
-        return this.lhsExpr;
-    }
-
-    public void setLhsExpr(ASTSFExprNode newValue)
-    {
-        this.lhsExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOperatorNode getAddOp()
-    {
-        return this.addOp;
-    }
-
-    public void setAddOp(ASTOperatorNode newValue)
-    {
-        this.addOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getRhsExpr()
-    {
-        return this.rhsExpr;
-    }
-
-    public void setRhsExpr(IExpr newValue)
-    {
-        this.rhsExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSFExprNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.SFTerm;
-        case 1:  return this.rhs;
-        case 2:  return this.lhsExpr;
-        case 3:  return this.addOp;
-        case 4:  return this.rhsExpr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.SFTerm = (ASTSFTermNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.rhs = (ASTSignNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.lhsExpr = (ASTSFExprNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.addOp = (ASTOperatorNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.rhsExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFFactorNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFFactorNode.java
deleted file mode 100644
index 984a711..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFFactorNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSFFactorNode extends ASTNode
-{
-    ASTSFPrimaryNode rhsPrimary; // in ASTSFFactorNode
-    ASTSFPrimaryNode lhsPrimary; // in ASTSFFactorNode
-    ASTOperatorNode powerOp; // in ASTSFFactorNode
-    IExpr rhsExpr; // in ASTSFFactorNode
-
-    public ASTSFPrimaryNode getRhsPrimary()
-    {
-        return this.rhsPrimary;
-    }
-
-    public void setRhsPrimary(ASTSFPrimaryNode newValue)
-    {
-        this.rhsPrimary = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSFPrimaryNode getLhsPrimary()
-    {
-        return this.lhsPrimary;
-    }
-
-    public void setLhsPrimary(ASTSFPrimaryNode newValue)
-    {
-        this.lhsPrimary = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOperatorNode getPowerOp()
-    {
-        return this.powerOp;
-    }
-
-    public void setPowerOp(ASTOperatorNode newValue)
-    {
-        this.powerOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getRhsExpr()
-    {
-        return this.rhsExpr;
-    }
-
-    public void setRhsExpr(IExpr newValue)
-    {
-        this.rhsExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSFFactorNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.rhsPrimary;
-        case 1:  return this.lhsPrimary;
-        case 2:  return this.powerOp;
-        case 3:  return this.rhsExpr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.rhsPrimary = (ASTSFPrimaryNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.lhsPrimary = (ASTSFPrimaryNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.powerOp = (ASTOperatorNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.rhsExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFPrimaryNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFPrimaryNode.java
deleted file mode 100644
index 11464ee..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFPrimaryNode.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSFPrimaryNode extends ASTNode
-{
-    IASTListNode<ASTSFDataRefNode> SFDataRef; // in ASTSFPrimaryNode
-    ASTFunctionReferenceNode functionReference; // in ASTSFPrimaryNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTSFPrimaryNode
-    IExpr expr; // in ASTSFPrimaryNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTSFPrimaryNode
-    org.eclipse.photran.internal.core.lexer.Token intConst; // in ASTSFPrimaryNode
-    ASTSFVarNameNode SFVarName; // in ASTSFPrimaryNode
-    ASTArrayConstructorNode arrayConstructor; // in ASTSFPrimaryNode
-
-    public IASTListNode<ASTSFDataRefNode> getSFDataRef()
-    {
-        return this.SFDataRef;
-    }
-
-    public void setSFDataRef(IASTListNode<ASTSFDataRefNode> newValue)
-    {
-        this.SFDataRef = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTFunctionReferenceNode getFunctionReference()
-    {
-        return this.functionReference;
-    }
-
-    public void setFunctionReference(ASTFunctionReferenceNode newValue)
-    {
-        this.functionReference = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntConst()
-    {
-        return this.intConst;
-    }
-
-    public void setIntConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSFVarNameNode getSFVarName()
-    {
-        return this.SFVarName;
-    }
-
-    public void setSFVarName(ASTSFVarNameNode newValue)
-    {
-        this.SFVarName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTArrayConstructorNode getArrayConstructor()
-    {
-        return this.arrayConstructor;
-    }
-
-    public void setArrayConstructor(ASTArrayConstructorNode newValue)
-    {
-        this.arrayConstructor = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSFPrimaryNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.SFDataRef;
-        case 1:  return this.functionReference;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.expr;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.intConst;
-        case 6:  return this.SFVarName;
-        case 7:  return this.arrayConstructor;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.SFDataRef = (IASTListNode<ASTSFDataRefNode>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.functionReference = (ASTFunctionReferenceNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.intConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.SFVarName = (ASTSFVarNameNode)value; if (value != null) value.setParent(this); return;
-        case 7:  this.arrayConstructor = (ASTArrayConstructorNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFTermNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFTermNode.java
deleted file mode 100644
index b8988ce..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFTermNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSFTermNode extends ASTNode
-{
-    ASTSFTermNode lhsExpr; // in ASTSFTermNode
-    ASTSFFactorNode SFFactor; // in ASTSFTermNode
-    ASTOperatorNode multOp; // in ASTSFTermNode
-    IExpr rhsExpr; // in ASTSFTermNode
-
-    public ASTSFTermNode getLhsExpr()
-    {
-        return this.lhsExpr;
-    }
-
-    public void setLhsExpr(ASTSFTermNode newValue)
-    {
-        this.lhsExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSFFactorNode getSFFactor()
-    {
-        return this.SFFactor;
-    }
-
-    public void setSFFactor(ASTSFFactorNode newValue)
-    {
-        this.SFFactor = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOperatorNode getMultOp()
-    {
-        return this.multOp;
-    }
-
-    public void setMultOp(ASTOperatorNode newValue)
-    {
-        this.multOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getRhsExpr()
-    {
-        return this.rhsExpr;
-    }
-
-    public void setRhsExpr(IExpr newValue)
-    {
-        this.rhsExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSFTermNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.lhsExpr;
-        case 1:  return this.SFFactor;
-        case 2:  return this.multOp;
-        case 3:  return this.rhsExpr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.lhsExpr = (ASTSFTermNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.SFFactor = (ASTSFFactorNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.multOp = (ASTOperatorNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.rhsExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFVarNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFVarNameNode.java
deleted file mode 100644
index f954069..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSFVarNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSFVarNameNode extends ASTNode
-{
-    ASTNameNode name; // in ASTSFVarNameNode
-
-    public ASTNameNode getName()
-    {
-        return this.name;
-    }
-
-    public void setName(ASTNameNode newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSFVarNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSaveStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSaveStmtNode.java
deleted file mode 100644
index 8af6e32..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSaveStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSaveStmtNode extends ASTNode implements ISpecificationStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTSaveStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSave; // in ASTSaveStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTSaveStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTSaveStmtNode
-    IASTListNode<ASTSavedEntityNode> variableList; // in ASTSaveStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTSaveStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSavedEntityNode> getVariableList()
-    {
-        return this.variableList;
-    }
-
-    public void setVariableList(IASTListNode<ASTSavedEntityNode> newValue)
-    {
-        this.variableList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSaveStmtNode(this);
-        visitor.visitISpecificationStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTSave;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTColon2;
-        case 4:  return this.variableList;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTSave = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.variableList = (IASTListNode<ASTSavedEntityNode>)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSavedCommonBlockNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSavedCommonBlockNode.java
deleted file mode 100644
index ae0da28..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSavedCommonBlockNode.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSavedCommonBlockNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSlash; // in ASTSavedCommonBlockNode
-    org.eclipse.photran.internal.core.lexer.Token commonBlockName; // in ASTSavedCommonBlockNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSlash2; // in ASTSavedCommonBlockNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getCommonBlockName()
-    {
-        return this.commonBlockName;
-    }
-
-    public void setCommonBlockName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.commonBlockName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSavedCommonBlockNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTSlash;
-        case 1:  return this.commonBlockName;
-        case 2:  return this.hiddenTSlash2;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.commonBlockName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSavedEntityNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSavedEntityNode.java
deleted file mode 100644
index 1b2990d..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSavedEntityNode.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSavedEntityNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTSavedEntityNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSlash; // in ASTSavedEntityNode
-    org.eclipse.photran.internal.core.lexer.Token commonBlockName; // in ASTSavedEntityNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSlash2; // in ASTSavedEntityNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getCommonBlockName()
-    {
-        return this.commonBlockName;
-    }
-
-    public void setCommonBlockName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.commonBlockName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSavedEntityNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.variableName;
-        case 1:  return this.hiddenTSlash;
-        case 2:  return this.commonBlockName;
-        case 3:  return this.hiddenTSlash2;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.commonBlockName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTScalarMaskExprNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTScalarMaskExprNode.java
deleted file mode 100644
index be0e96f..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTScalarMaskExprNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTScalarMaskExprNode extends ASTNode
-{
-    IExpr maskExpr; // in ASTScalarMaskExprNode
-
-    public IExpr getMaskExpr()
-    {
-        return this.maskExpr;
-    }
-
-    public void setMaskExpr(IExpr newValue)
-    {
-        this.maskExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTScalarMaskExprNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.maskExpr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.maskExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTScalarVariableNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTScalarVariableNode.java
deleted file mode 100644
index 3887494..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTScalarVariableNode.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTScalarVariableNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTScalarVariableNode
-    IASTListNode<ASTStructureComponentNode> structureComponent; // in ASTScalarVariableNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTScalarVariableNode
-    IASTListNode<ASTSectionSubscriptNode> sectionSubscriptList; // in ASTScalarVariableNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTScalarVariableNode
-    ASTImageSelectorNode imageSelector; // in ASTScalarVariableNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTStructureComponentNode> getStructureComponent()
-    {
-        return this.structureComponent;
-    }
-
-    public void setStructureComponent(IASTListNode<ASTStructureComponentNode> newValue)
-    {
-        this.structureComponent = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSectionSubscriptNode> getSectionSubscriptList()
-    {
-        return this.sectionSubscriptList;
-    }
-
-    public void setSectionSubscriptList(IASTListNode<ASTSectionSubscriptNode> newValue)
-    {
-        this.sectionSubscriptList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTImageSelectorNode getImageSelector()
-    {
-        return this.imageSelector;
-    }
-
-    public void setImageSelector(ASTImageSelectorNode newValue)
-    {
-        this.imageSelector = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTScalarVariableNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.variableName;
-        case 1:  return this.structureComponent;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.sectionSubscriptList;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.imageSelector;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.structureComponent = (IASTListNode<ASTStructureComponentNode>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.imageSelector = (ASTImageSelectorNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSectionSubscriptNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSectionSubscriptNode.java
deleted file mode 100644
index 87aaca7..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSectionSubscriptNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSectionSubscriptNode extends ASTNode
-{
-    ASTSubscriptTripletNode subscriptTriplet; // in ASTSectionSubscriptNode
-    IExpr expr; // in ASTSectionSubscriptNode
-
-    public ASTSubscriptTripletNode getSubscriptTriplet()
-    {
-        return this.subscriptTriplet;
-    }
-
-    public void setSubscriptTriplet(ASTSubscriptTripletNode newValue)
-    {
-        this.subscriptTriplet = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSectionSubscriptNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.subscriptTriplet;
-        case 1:  return this.expr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.subscriptTriplet = (ASTSubscriptTripletNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectCaseRangeNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectCaseRangeNode.java
deleted file mode 100644
index 00d24e9..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectCaseRangeNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSelectCaseRangeNode extends ASTNode
-{
-    IASTListNode<ICaseBodyConstruct> selectCaseBody; // in ASTSelectCaseRangeNode
-    ASTEndSelectStmtNode endSelectStmt; // in ASTSelectCaseRangeNode
-
-    public IASTListNode<ICaseBodyConstruct> getSelectCaseBody()
-    {
-        return this.selectCaseBody;
-    }
-
-    public void setSelectCaseBody(IASTListNode<ICaseBodyConstruct> newValue)
-    {
-        this.selectCaseBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndSelectStmtNode getEndSelectStmt()
-    {
-        return this.endSelectStmt;
-    }
-
-    public void setEndSelectStmt(ASTEndSelectStmtNode newValue)
-    {
-        this.endSelectStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSelectCaseRangeNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.selectCaseBody;
-        case 1:  return this.endSelectStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.selectCaseBody = (IASTListNode<ICaseBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.endSelectStmt = (ASTEndSelectStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectCaseStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectCaseStmtNode.java
deleted file mode 100644
index 0dd8c65..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectCaseStmtNode.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSelectCaseStmtNode extends ASTNodeWithErrorRecoverySymbols implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTSelectCaseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTSelectCaseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTSelectCaseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSelect; // in ASTSelectCaseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTCase; // in ASTSelectCaseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSelectcase; // in ASTSelectCaseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTSelectCaseStmtNode
-    IExpr selectionExpression; // in ASTSelectCaseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTSelectCaseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTSelectCaseStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getSelectionExpression()
-    {
-        return this.selectionExpression;
-    }
-
-    public void setSelectionExpression(IExpr newValue)
-    {
-        this.selectionExpression = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSelectCaseStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 10;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.name;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTSelect;
-        case 4:  return this.hiddenTCase;
-        case 5:  return this.hiddenTSelectcase;
-        case 6:  return this.hiddenTLparen;
-        case 7:  return this.selectionExpression;
-        case 8:  return this.hiddenTRparen;
-        case 9:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTCase = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTSelectcase = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.selectionExpression = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeBodyNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeBodyNode.java
deleted file mode 100644
index acf17d2..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeBodyNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSelectTypeBodyNode extends ASTNode
-{
-    ASTTypeGuardStmtNode typeGuardStmt; // in ASTSelectTypeBodyNode
-    IASTListNode<IExecutionPartConstruct> typeGuardBlock; // in ASTSelectTypeBodyNode
-
-    public ASTTypeGuardStmtNode getTypeGuardStmt()
-    {
-        return this.typeGuardStmt;
-    }
-
-    public void setTypeGuardStmt(ASTTypeGuardStmtNode newValue)
-    {
-        this.typeGuardStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IExecutionPartConstruct> getTypeGuardBlock()
-    {
-        return this.typeGuardBlock;
-    }
-
-    public void setTypeGuardBlock(IASTListNode<IExecutionPartConstruct> newValue)
-    {
-        this.typeGuardBlock = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSelectTypeBodyNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.typeGuardStmt;
-        case 1:  return this.typeGuardBlock;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.typeGuardStmt = (ASTTypeGuardStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.typeGuardBlock = (IASTListNode<IExecutionPartConstruct>)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeConstructNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeConstructNode.java
deleted file mode 100644
index 1e46e72..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeConstructNode.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSelectTypeConstructNode extends ASTNode implements IExecutableConstruct
-{
-    ASTSelectTypeStmtNode selectTypeStmt; // in ASTSelectTypeConstructNode
-    IASTListNode<ASTSelectTypeBodyNode> selectTypeBody; // in ASTSelectTypeConstructNode
-    ASTEndSelectTypeStmtNode endSelectTypeStmt; // in ASTSelectTypeConstructNode
-
-    public ASTSelectTypeStmtNode getSelectTypeStmt()
-    {
-        return this.selectTypeStmt;
-    }
-
-    public void setSelectTypeStmt(ASTSelectTypeStmtNode newValue)
-    {
-        this.selectTypeStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSelectTypeBodyNode> getSelectTypeBody()
-    {
-        return this.selectTypeBody;
-    }
-
-    public void setSelectTypeBody(IASTListNode<ASTSelectTypeBodyNode> newValue)
-    {
-        this.selectTypeBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndSelectTypeStmtNode getEndSelectTypeStmt()
-    {
-        return this.endSelectTypeStmt;
-    }
-
-    public void setEndSelectTypeStmt(ASTEndSelectTypeStmtNode newValue)
-    {
-        this.endSelectTypeStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSelectTypeConstructNode(this);
-        visitor.visitIExecutableConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.selectTypeStmt;
-        case 1:  return this.selectTypeBody;
-        case 2:  return this.endSelectTypeStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.selectTypeStmt = (ASTSelectTypeStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.selectTypeBody = (IASTListNode<ASTSelectTypeBodyNode>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.endSelectTypeStmt = (ASTEndSelectTypeStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeStmtNode.java
deleted file mode 100644
index db1c334..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSelectTypeStmtNode.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSelectTypeStmtNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTSelectTypeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTSelectTypeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTSelectTypeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSelect; // in ASTSelectTypeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTType; // in ASTSelectTypeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTSelectTypeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token associateName; // in ASTSelectTypeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEqgreaterthan; // in ASTSelectTypeStmtNode
-    ISelector selector; // in ASTSelectTypeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTSelectTypeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTSelectTypeStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getAssociateName()
-    {
-        return this.associateName;
-    }
-
-    public void setAssociateName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.associateName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ISelector getSelector()
-    {
-        return this.selector;
-    }
-
-    public void setSelector(ISelector newValue)
-    {
-        this.selector = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSelectTypeStmtNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 11;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.name;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTSelect;
-        case 4:  return this.hiddenTType;
-        case 5:  return this.hiddenTLparen;
-        case 6:  return this.associateName;
-        case 7:  return this.hiddenTEqgreaterthan;
-        case 8:  return this.selector;
-        case 9:  return this.hiddenTRparen;
-        case 10: return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.associateName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.selector = (ISelector)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSeparateModuleSubprogramNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSeparateModuleSubprogramNode.java
deleted file mode 100644
index 8000aa6..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSeparateModuleSubprogramNode.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSeparateModuleSubprogramNode extends ScopingNode implements IModuleSubprogramPartConstruct
-{
-    ASTMpSubprogramStmtNode mpSubprogramStmt; // in ASTSeparateModuleSubprogramNode
-    IASTListNode<IBodyConstruct> body; // in ASTSeparateModuleSubprogramNode
-    ASTContainsStmtNode containsStmt; // in ASTSeparateModuleSubprogramNode
-    IASTListNode<IInternalSubprogram> internalSubprograms; // in ASTSeparateModuleSubprogramNode
-    ASTEndMpSubprogramStmtNode endMpSubprogramStmt; // in ASTSeparateModuleSubprogramNode
-
-    public ASTMpSubprogramStmtNode getMpSubprogramStmt()
-    {
-        return this.mpSubprogramStmt;
-    }
-
-    public void setMpSubprogramStmt(ASTMpSubprogramStmtNode newValue)
-    {
-        this.mpSubprogramStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IBodyConstruct> getBody()
-    {
-        return this.body;
-    }
-
-    public void setBody(IASTListNode<IBodyConstruct> newValue)
-    {
-        this.body = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTContainsStmtNode getContainsStmt()
-    {
-        return this.containsStmt;
-    }
-
-    public void setContainsStmt(ASTContainsStmtNode newValue)
-    {
-        this.containsStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IInternalSubprogram> getInternalSubprograms()
-    {
-        return this.internalSubprograms;
-    }
-
-    public void setInternalSubprograms(IASTListNode<IInternalSubprogram> newValue)
-    {
-        this.internalSubprograms = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndMpSubprogramStmtNode getEndMpSubprogramStmt()
-    {
-        return this.endMpSubprogramStmt;
-    }
-
-    public void setEndMpSubprogramStmt(ASTEndMpSubprogramStmtNode newValue)
-    {
-        this.endMpSubprogramStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSeparateModuleSubprogramNode(this);
-        visitor.visitIModuleSubprogramPartConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.mpSubprogramStmt;
-        case 1:  return this.body;
-        case 2:  return this.containsStmt;
-        case 3:  return this.internalSubprograms;
-        case 4:  return this.endMpSubprogramStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.mpSubprogramStmt = (ASTMpSubprogramStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.body = (IASTListNode<IBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.containsStmt = (ASTContainsStmtNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.internalSubprograms = (IASTListNode<IInternalSubprogram>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.endMpSubprogramStmt = (ASTEndMpSubprogramStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSeparatedListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSeparatedListNode.java
deleted file mode 100644
index b786c6d..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSeparatedListNode.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.AbstractList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.photran.internal.core.parser.ASTNodeUtil.NonNullIterator;
-
-@SuppressWarnings("all")
-public class ASTSeparatedListNode<T extends IASTNode> extends AbstractList<T> implements IASTListNode<T>
-{
-    private IASTNode parent = null;
-
-    private ArrayList<Token> separators = new ArrayList<Token>();
-    private ArrayList<T> entries = new ArrayList<T>();
-
-    public ASTSeparatedListNode() {}
-
-    public ASTSeparatedListNode(Token separator, List<T> entries)
-    {
-        this(separator, entries, false);
-    }
-
-    @SuppressWarnings("unchecked")
-    public ASTSeparatedListNode(Token separator, List<T> entries, boolean trimWhiteText)
-    {
-        boolean first = true;
-        Iterator<T> it = entries.iterator();
-        while (it.hasNext())
-        {
-            T entry = it.next();
-            if (trimWhiteText && entry != null && entry instanceof Token)
-            {
-                Token tok = (Token)((Token)entry).clone();
-                tok.setWhiteBefore("");
-                tok.setWhiteAfter("");
-                entry = (T)tok;
-            }
-
-            if (first)
-            {
-                add(null, entry);
-                first = false;
-            }
-            else
-            {
-                add(separator, entry);
-            }
-        }
-    }
-
-    public void add(Token separator, T entry)
-    {
-        this.separators.add(separator);
-        this.entries.add(entry);
-        if (separator != null) separator.setParent(this);
-        if (entry != null) entry.setParent(this);
-    }
-
-    @Override public T remove(int index)
-    {
-        Token separator = this.separators.remove(index);
-        T result = this.entries.remove(index);
-        if (index == 0 && separator == null && !this.separators.isEmpty())
-            this.separators.set(0, null);
-        // if (separator != null) separator.setParent(null);
-        // if (result != null) result.setParent(null);
-        return result;
-    }
-
-    public ASTNodePair<Token, T> getPair(int index)
-    {
-        return new ASTNodePair<Token, T>(this.separators.get(index), this.entries.get(index));
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // IASTListNode Insertion Methods
-    ///////////////////////////////////////////////////////////////////////////
-
-    public void insertBefore(T insertBefore, T newElement)
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    public void insertAfter(T insertAfter, T newElement)
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // AbstractList Implementation
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    public T get(int index)
-    {
-        return entries.get(index);
-    }
-
-    @Override
-    public int size()
-    {
-        return entries.size();
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Traversal and Visitor Support
-    ///////////////////////////////////////////////////////////////////////////
-
-    public IASTNode getParent()
-    {
-        return this.parent;
-    }
-
-    public void setParent(IASTNode parent)
-    {
-        this.parent = parent;
-    }
-
-    public Iterable<? extends IASTNode> getChildren()
-    {
-        return new Iterable<IASTNode>()
-        {
-            public Iterator<IASTNode> iterator()
-            {
-                return new NonNullIterator(new Iterator<IASTNode>()
-                {
-                    private int index = !separators.isEmpty() && separators.get(0) == null ? 1 : 0;
-                    private int count = entries.size() * 2;
-
-                    public boolean hasNext()
-                    {
-                        return index < count;
-                    }
-
-                    public IASTNode next()
-                    {
-                        if (index % 2 == 0)
-                            return separators.get(index++ / 2);
-                        else
-                            return entries.get(index++ / 2);
-                    }
-
-                    public void remove()
-                    {
-                        throw new UnsupportedOperationException();
-                    }
-                });
-            }
-        };
-    }
-
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTNode(this);
-        visitor.visitASTListNode(this);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Searching
-    ///////////////////////////////////////////////////////////////////////////
-
-    public <T extends IASTNode> Set<T> findAll(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findAll(this, targetClass);
-    }
-
-    @SuppressWarnings("hiding")
-    public <T extends IASTNode> T findNearestAncestor(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findNearestAncestor(this, targetClass);
-    }
-
-    public <T extends IASTNode> T findFirst(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findFirst(this, targetClass);
-    }
-
-    public <T extends IASTNode> T findLast(Class<T> targetClass)
-    {
-        return ASTNodeUtil.findLast(this, targetClass);
-    }
-
-    public Token findFirstToken()
-    {
-        return ASTNodeUtil.findFirstToken(this);
-    }
-
-    public Token findLastToken()
-    {
-        return ASTNodeUtil.findLastToken(this);
-    }
-
-    public boolean isFirstChildInList()
-    {
-        return ASTNodeUtil.isFirstChildInList(this);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Source Reproduction
-    ///////////////////////////////////////////////////////////////////////////
-
-    public IPreprocessorReplacement printOn(PrintStream out, IPreprocessorReplacement currentPreprocessorDirective)
-    {
-        return ASTNodeUtil.print(this, currentPreprocessorDirective, out);
-    }
-
-    @Override public String toString()
-    {
-        return ASTNodeUtil.toString(this);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Source Manipulation
-    ///////////////////////////////////////////////////////////////////////////
-
-    public void replaceChild(IASTNode node, IASTNode withNode)
-    {
-        int i = entries.indexOf(node);
-        if (i >= 0)
-        {
-            entries.set(i, (T)withNode);
-            if (withNode != null) withNode.setParent(this);
-            return;
-        }
-
-        i = separators.indexOf(node);
-        if (i >= 0)
-        {
-            separators.set(i, (Token)withNode);
-            if (withNode != null) withNode.setParent(this);
-            return;
-        }
-
-        throw new IllegalStateException("Child node not found");
-    }
-
-    public void removeFromTree()
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    public void replaceWith(IASTNode newNode)
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    public void replaceWith(String literalString)
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override public Object clone()
-    {
-            ASTSeparatedListNode<T> copy = new ASTSeparatedListNode<T>();
-
-            for (Token t : this.separators)
-            {
-                if (t == null)
-                    copy.separators.add(null);
-                else
-                {
-                    Token newChild = (Token)t.clone();
-                    newChild.setParent(copy);
-                    copy.separators.add(newChild);
-                }
-            }
-
-            for (T t : this.entries)
-            {
-                if (t == null)
-                    copy.entries.add(null);
-                else
-                {
-                    T newChild = (T)t.clone();
-                    newChild.setParent(copy);
-                    copy.entries.add(newChild);
-                }
-            }
-
-            return copy;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSignNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSignNode.java
deleted file mode 100644
index 8d4a03a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSignNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSignNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hasPlusSign; // in ASTSignNode
-    org.eclipse.photran.internal.core.lexer.Token hasMinusSign; // in ASTSignNode
-
-    public boolean hasPlusSign()
-    {
-        return this.hasPlusSign != null;
-    }
-
-    public void setHasPlusSign(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasPlusSign = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasMinusSign()
-    {
-        return this.hasMinusSign != null;
-    }
-
-    public void setHasMinusSign(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasMinusSign = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSignNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hasPlusSign;
-        case 1:  return this.hasMinusSign;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hasPlusSign = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hasMinusSign = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSpecificBindingNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSpecificBindingNode.java
deleted file mode 100644
index 491b6d0..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSpecificBindingNode.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSpecificBindingNode extends ASTNode implements IProcBindingStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTSpecificBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTProcedure; // in ASTSpecificBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTSpecificBindingNode
-    org.eclipse.photran.internal.core.lexer.Token interfaceName; // in ASTSpecificBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTSpecificBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTSpecificBindingNode
-    IASTListNode<ASTBindingAttrNode> bindingAttrList; // in ASTSpecificBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTSpecificBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTSpecificBindingNode
-    org.eclipse.photran.internal.core.lexer.Token bindingName; // in ASTSpecificBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEqgreaterthan; // in ASTSpecificBindingNode
-    org.eclipse.photran.internal.core.lexer.Token procedureName; // in ASTSpecificBindingNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTSpecificBindingNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getInterfaceName()
-    {
-        return this.interfaceName;
-    }
-
-    public void setInterfaceName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.interfaceName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTBindingAttrNode> getBindingAttrList()
-    {
-        return this.bindingAttrList;
-    }
-
-    public void setBindingAttrList(IASTListNode<ASTBindingAttrNode> newValue)
-    {
-        this.bindingAttrList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getBindingName()
-    {
-        return this.bindingName;
-    }
-
-    public void setBindingName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.bindingName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getProcedureName()
-    {
-        return this.procedureName;
-    }
-
-    public void setProcedureName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.procedureName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSpecificBindingNode(this);
-        visitor.visitIProcBindingStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 13;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTProcedure;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.interfaceName;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTComma;
-        case 6:  return this.bindingAttrList;
-        case 7:  return this.hiddenTColon;
-        case 8:  return this.hiddenTColon2;
-        case 9:  return this.bindingName;
-        case 10: return this.hiddenTEqgreaterthan;
-        case 11: return this.procedureName;
-        case 12: return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.interfaceName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.bindingAttrList = (IASTListNode<ASTBindingAttrNode>)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.bindingName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 11: this.procedureName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 12: this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStmtFunctionRangeNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStmtFunctionRangeNode.java
deleted file mode 100644
index 18d0422..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStmtFunctionRangeNode.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTStmtFunctionRangeNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTStmtFunctionRangeNode
-    IASTListNode<ASTSFDummyArgNameListNode> SFDummyArgNameList; // in ASTStmtFunctionRangeNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTStmtFunctionRangeNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTStmtFunctionRangeNode
-    IExpr expr; // in ASTStmtFunctionRangeNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTStmtFunctionRangeNode
-
-    public IASTListNode<ASTSFDummyArgNameListNode> getSFDummyArgNameList()
-    {
-        return this.SFDummyArgNameList;
-    }
-
-    public void setSFDummyArgNameList(IASTListNode<ASTSFDummyArgNameListNode> newValue)
-    {
-        this.SFDummyArgNameList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTStmtFunctionRangeNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLparen;
-        case 1:  return this.SFDummyArgNameList;
-        case 2:  return this.hiddenTRparen;
-        case 3:  return this.hiddenTEquals;
-        case 4:  return this.expr;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStmtFunctionStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStmtFunctionStmtNode.java
deleted file mode 100644
index d586d47..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStmtFunctionStmtNode.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTStmtFunctionStmtNode extends ASTNode implements IObsoleteActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTStmtFunctionStmtNode
-    ASTNameNode name; // in ASTStmtFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTStmtFunctionStmtNode
-    IASTListNode<ASTSFDummyArgNameListNode> SFDummyArgNameList; // in ASTStmtFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTStmtFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTStmtFunctionStmtNode
-    IExpr expr; // in ASTStmtFunctionStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTStmtFunctionStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTNameNode getName()
-    {
-        return this.name;
-    }
-
-    public void setName(ASTNameNode newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSFDummyArgNameListNode> getSFDummyArgNameList()
-    {
-        return this.SFDummyArgNameList;
-    }
-
-    public void setSFDummyArgNameList(IASTListNode<ASTSFDummyArgNameListNode> newValue)
-    {
-        this.SFDummyArgNameList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTStmtFunctionStmtNode(this);
-        visitor.visitIObsoleteActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.name;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.SFDummyArgNameList;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTEquals;
-        case 6:  return this.expr;
-        case 7:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.name = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStopStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStopStmtNode.java
deleted file mode 100644
index f0778b0..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStopStmtNode.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTStopStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTStopStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTStop; // in ASTStopStmtNode
-    org.eclipse.photran.internal.core.lexer.Token stringConst; // in ASTStopStmtNode
-    org.eclipse.photran.internal.core.lexer.Token intConst; // in ASTStopStmtNode
-    org.eclipse.photran.internal.core.lexer.Token paramVar; // in ASTStopStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTStopStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getStringConst()
-    {
-        return this.stringConst;
-    }
-
-    public void setStringConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.stringConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntConst()
-    {
-        return this.intConst;
-    }
-
-    public void setIntConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getParamVar()
-    {
-        return this.paramVar;
-    }
-
-    public void setParamVar(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.paramVar = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTStopStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTStop;
-        case 2:  return this.stringConst;
-        case 3:  return this.intConst;
-        case 4:  return this.paramVar;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTStop = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.stringConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.intConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.paramVar = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStringConstNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStringConstNode.java
deleted file mode 100644
index 69e92b4..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStringConstNode.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTStringConstNode extends ASTNode implements IExpr, ISelector
-{
-    org.eclipse.photran.internal.core.lexer.Token stringConst; // in ASTStringConstNode
-    ASTSubstringRangeNode substringRange; // in ASTStringConstNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getStringConst()
-    {
-        return this.stringConst;
-    }
-
-    public void setStringConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.stringConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSubstringRangeNode getSubstringRange()
-    {
-        return this.substringRange;
-    }
-
-    public void setSubstringRange(ASTSubstringRangeNode newValue)
-    {
-        this.substringRange = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTStringConstNode(this);
-        visitor.visitIExpr(this);
-        visitor.visitISelector(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.stringConst;
-        case 1:  return this.substringRange;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.stringConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.substringRange = (ASTSubstringRangeNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStructureComponentNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStructureComponentNode.java
deleted file mode 100644
index ee0e704..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStructureComponentNode.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTStructureComponentNode extends ASTNode implements IDataIDoObject
-{
-    ASTVariableNameNode variableName; // in ASTStructureComponentNode
-    ASTFieldSelectorNode fieldSelector; // in ASTStructureComponentNode
-
-    public ASTVariableNameNode getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(ASTVariableNameNode newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTFieldSelectorNode getFieldSelector()
-    {
-        return this.fieldSelector;
-    }
-
-    public void setFieldSelector(ASTFieldSelectorNode newValue)
-    {
-        this.fieldSelector = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTStructureComponentNode(this);
-        visitor.visitIDataIDoObject(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.variableName;
-        case 1:  return this.fieldSelector;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.variableName = (ASTVariableNameNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.fieldSelector = (ASTFieldSelectorNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStructureConstructorNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStructureConstructorNode.java
deleted file mode 100644
index 710a241..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTStructureConstructorNode.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTStructureConstructorNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token typeName; // in ASTStructureConstructorNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTStructureConstructorNode
-    IASTListNode<ASTTypeParamSpecNode> typeParamSpecList; // in ASTStructureConstructorNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTStructureConstructorNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen2; // in ASTStructureConstructorNode
-    IASTListNode<ASTTypeParamSpecNode> typeParamSpecList2; // in ASTStructureConstructorNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen2; // in ASTStructureConstructorNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getTypeName()
-    {
-        return this.typeName;
-    }
-
-    public void setTypeName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.typeName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTTypeParamSpecNode> getTypeParamSpecList()
-    {
-        return this.typeParamSpecList;
-    }
-
-    public void setTypeParamSpecList(IASTListNode<ASTTypeParamSpecNode> newValue)
-    {
-        this.typeParamSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTTypeParamSpecNode> getTypeParamSpecList2()
-    {
-        return this.typeParamSpecList2;
-    }
-
-    public void setTypeParamSpecList2(IASTListNode<ASTTypeParamSpecNode> newValue)
-    {
-        this.typeParamSpecList2 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTStructureConstructorNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 7;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.typeName;
-        case 1:  return this.hiddenTLparen;
-        case 2:  return this.typeParamSpecList;
-        case 3:  return this.hiddenTRparen;
-        case 4:  return this.hiddenTLparen2;
-        case 5:  return this.typeParamSpecList2;
-        case 6:  return this.hiddenTRparen2;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.typeName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.typeParamSpecList = (IASTListNode<ASTTypeParamSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.typeParamSpecList2 = (IASTListNode<ASTTypeParamSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleBlockNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleBlockNode.java
deleted file mode 100644
index 1eabeb3..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleBlockNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubmoduleBlockNode extends ASTNode
-{
-    IASTListNode<IModuleBodyConstruct> moduleBody; // in ASTSubmoduleBlockNode
-    ASTEndSubmoduleStmtNode endSubmoduleStmt; // in ASTSubmoduleBlockNode
-
-    public IASTListNode<IModuleBodyConstruct> getModuleBody()
-    {
-        return this.moduleBody;
-    }
-
-    public void setModuleBody(IASTListNode<IModuleBodyConstruct> newValue)
-    {
-        this.moduleBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndSubmoduleStmtNode getEndSubmoduleStmt()
-    {
-        return this.endSubmoduleStmt;
-    }
-
-    public void setEndSubmoduleStmt(ASTEndSubmoduleStmtNode newValue)
-    {
-        this.endSubmoduleStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubmoduleBlockNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.moduleBody;
-        case 1:  return this.endSubmoduleStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.moduleBody = (IASTListNode<IModuleBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.endSubmoduleStmt = (ASTEndSubmoduleStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleNode.java
deleted file mode 100644
index 8c0d1c1..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleNode.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubmoduleNode extends ScopingNode implements IProgramUnit
-{
-    ASTSubmoduleStmtNode submoduleStmt; // in ASTSubmoduleNode
-    IASTListNode<IModuleBodyConstruct> moduleBody; // in ASTSubmoduleNode
-    ASTEndSubmoduleStmtNode endSubmoduleStmt; // in ASTSubmoduleNode
-
-    public ASTSubmoduleStmtNode getSubmoduleStmt()
-    {
-        return this.submoduleStmt;
-    }
-
-    public void setSubmoduleStmt(ASTSubmoduleStmtNode newValue)
-    {
-        this.submoduleStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IModuleBodyConstruct> getModuleBody()
-    {
-        return this.moduleBody;
-    }
-
-    public void setModuleBody(IASTListNode<IModuleBodyConstruct> newValue)
-    {
-        this.moduleBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndSubmoduleStmtNode getEndSubmoduleStmt()
-    {
-        return this.endSubmoduleStmt;
-    }
-
-    public void setEndSubmoduleStmt(ASTEndSubmoduleStmtNode newValue)
-    {
-        this.endSubmoduleStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubmoduleNode(this);
-        visitor.visitIProgramUnit(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.submoduleStmt;
-        case 1:  return this.moduleBody;
-        case 2:  return this.endSubmoduleStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.submoduleStmt = (ASTSubmoduleStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.moduleBody = (IASTListNode<IModuleBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.endSubmoduleStmt = (ASTEndSubmoduleStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleStmtNode.java
deleted file mode 100644
index c15e683..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubmoduleStmtNode.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubmoduleStmtNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTSubmoduleStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSubmodule; // in ASTSubmoduleStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTSubmoduleStmtNode
-    ASTParentIdentifierNode parentIdentifier; // in ASTSubmoduleStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTSubmoduleStmtNode
-    ASTModuleNameNode submoduleName; // in ASTSubmoduleStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTSubmoduleStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTParentIdentifierNode getParentIdentifier()
-    {
-        return this.parentIdentifier;
-    }
-
-    public void setParentIdentifier(ASTParentIdentifierNode newValue)
-    {
-        this.parentIdentifier = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTModuleNameNode getSubmoduleName()
-    {
-        return this.submoduleName;
-    }
-
-    public void setSubmoduleName(ASTModuleNameNode newValue)
-    {
-        this.submoduleName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubmoduleStmtNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 7;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTSubmodule;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.parentIdentifier;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.submoduleName;
-        case 6:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTSubmodule = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.parentIdentifier = (ASTParentIdentifierNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.submoduleName = (ASTModuleNameNode)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineArgNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineArgNode.java
deleted file mode 100644
index c277b83..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineArgNode.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubroutineArgNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTSubroutineArgNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTSubroutineArgNode
-    org.eclipse.photran.internal.core.lexer.Token hollerith; // in ASTSubroutineArgNode
-    IExpr expr; // in ASTSubroutineArgNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTAsterisk; // in ASTSubroutineArgNode
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTSubroutineArgNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) 
-        {
-            newValue.setParent(this);
-            hiddenTEquals = new Token(Terminal.T_EQUALS, "=");
-            hiddenTEquals.setParent(this);
-        }
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getHollerith()
-    {
-        return this.hollerith;
-    }
-
-    public void setHollerith(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hollerith = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubroutineArgNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        case 1:  return this.hiddenTEquals;
-        case 2:  return this.hollerith;
-        case 3:  return this.expr;
-        case 4:  return this.hiddenTAsterisk;
-        case 5:  return this.label;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hollerith = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineInterfaceRangeNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineInterfaceRangeNode.java
deleted file mode 100644
index 241fe54..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineInterfaceRangeNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubroutineInterfaceRangeNode extends ASTNode
-{
-    IASTListNode<ISpecificationPartConstruct> subprogramInterfaceBody; // in ASTSubroutineInterfaceRangeNode
-    ASTEndSubroutineStmtNode endSubroutineStmt; // in ASTSubroutineInterfaceRangeNode
-
-    public IASTListNode<ISpecificationPartConstruct> getSubprogramInterfaceBody()
-    {
-        return this.subprogramInterfaceBody;
-    }
-
-    public void setSubprogramInterfaceBody(IASTListNode<ISpecificationPartConstruct> newValue)
-    {
-        this.subprogramInterfaceBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndSubroutineStmtNode getEndSubroutineStmt()
-    {
-        return this.endSubroutineStmt;
-    }
-
-    public void setEndSubroutineStmt(ASTEndSubroutineStmtNode newValue)
-    {
-        this.endSubroutineStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubroutineInterfaceRangeNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.subprogramInterfaceBody;
-        case 1:  return this.endSubroutineStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.subprogramInterfaceBody = (IASTListNode<ISpecificationPartConstruct>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.endSubroutineStmt = (ASTEndSubroutineStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineNameNode.java
deleted file mode 100644
index c3fb965..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubroutineNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token subroutineName; // in ASTSubroutineNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getSubroutineName()
-    {
-        return this.subroutineName;
-    }
-
-    public void setSubroutineName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.subroutineName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubroutineNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.subroutineName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.subroutineName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineNameUseNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineNameUseNode.java
deleted file mode 100644
index 12dd6f4..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineNameUseNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubroutineNameUseNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token subroutineName; // in ASTSubroutineNameUseNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getSubroutineName()
-    {
-        return this.subroutineName;
-    }
-
-    public void setSubroutineName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.subroutineName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubroutineNameUseNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.subroutineName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.subroutineName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineParNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineParNode.java
deleted file mode 100644
index c7a8851..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineParNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubroutineParNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTSubroutineParNode
-    org.eclipse.photran.internal.core.lexer.Token isAsterisk; // in ASTSubroutineParNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isAsterisk()
-    {
-        return this.isAsterisk != null;
-    }
-
-    public void setIsAsterisk(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isAsterisk = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubroutineParNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.variableName;
-        case 1:  return this.isAsterisk;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isAsterisk = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutinePrefixNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutinePrefixNode.java
deleted file mode 100644
index 4e46977..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutinePrefixNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubroutinePrefixNode extends ASTNode
-{
-    IASTListNode<ASTPrefixSpecNode> prefixSpecList; // in ASTSubroutinePrefixNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSubroutine; // in ASTSubroutinePrefixNode
-
-    public IASTListNode<ASTPrefixSpecNode> getPrefixSpecList()
-    {
-        return this.prefixSpecList;
-    }
-
-    public void setPrefixSpecList(IASTListNode<ASTPrefixSpecNode> newValue)
-    {
-        this.prefixSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubroutinePrefixNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.prefixSpecList;
-        case 1:  return this.hiddenTSubroutine;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTSubroutine = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineRangeNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineRangeNode.java
deleted file mode 100644
index 13bb807..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineRangeNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubroutineRangeNode extends ASTNode
-{
-    IASTListNode<IBodyConstruct> body; // in ASTSubroutineRangeNode
-    ASTContainsStmtNode containsStmt; // in ASTSubroutineRangeNode
-    IASTListNode<IInternalSubprogram> internalSubprograms; // in ASTSubroutineRangeNode
-    ASTEndSubroutineStmtNode endSubroutineStmt; // in ASTSubroutineRangeNode
-
-    public IASTListNode<IBodyConstruct> getBody()
-    {
-        return this.body;
-    }
-
-    public void setBody(IASTListNode<IBodyConstruct> newValue)
-    {
-        this.body = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTContainsStmtNode getContainsStmt()
-    {
-        return this.containsStmt;
-    }
-
-    public void setContainsStmt(ASTContainsStmtNode newValue)
-    {
-        this.containsStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IInternalSubprogram> getInternalSubprograms()
-    {
-        return this.internalSubprograms;
-    }
-
-    public void setInternalSubprograms(IASTListNode<IInternalSubprogram> newValue)
-    {
-        this.internalSubprograms = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndSubroutineStmtNode getEndSubroutineStmt()
-    {
-        return this.endSubroutineStmt;
-    }
-
-    public void setEndSubroutineStmt(ASTEndSubroutineStmtNode newValue)
-    {
-        this.endSubroutineStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubroutineRangeNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.body;
-        case 1:  return this.containsStmt;
-        case 2:  return this.internalSubprograms;
-        case 3:  return this.endSubroutineStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.body = (IASTListNode<IBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.containsStmt = (ASTContainsStmtNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.internalSubprograms = (IASTListNode<IInternalSubprogram>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.endSubroutineStmt = (ASTEndSubroutineStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineStmtNode.java
deleted file mode 100644
index 1caf135..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineStmtNode.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubroutineStmtNode extends ASTNodeWithErrorRecoverySymbols implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTSubroutineStmtNode
-    IASTListNode<ASTPrefixSpecNode> prefixSpecList; // in ASTSubroutineStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSubroutine; // in ASTSubroutineStmtNode
-    ASTSubroutineNameNode subroutineName; // in ASTSubroutineStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTSubroutineStmtNode
-    IASTListNode<ASTSubroutineParNode> subroutinePars; // in ASTSubroutineStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTSubroutineStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTBind; // in ASTSubroutineStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen2; // in ASTSubroutineStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIdent; // in ASTSubroutineStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen2; // in ASTSubroutineStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTSubroutineStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTPrefixSpecNode> getPrefixSpecList()
-    {
-        return this.prefixSpecList;
-    }
-
-    public void setPrefixSpecList(IASTListNode<ASTPrefixSpecNode> newValue)
-    {
-        this.prefixSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSubroutineNameNode getSubroutineName()
-    {
-        return this.subroutineName;
-    }
-
-    public void setSubroutineName(ASTSubroutineNameNode newValue)
-    {
-        this.subroutineName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSubroutineParNode> getSubroutinePars()
-    {
-        return this.subroutinePars;
-    }
-
-    public void setSubroutinePars(IASTListNode<ASTSubroutineParNode> newValue)
-    {
-        this.subroutinePars = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubroutineStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 12;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.prefixSpecList;
-        case 2:  return this.hiddenTSubroutine;
-        case 3:  return this.subroutineName;
-        case 4:  return this.hiddenTLparen;
-        case 5:  return this.subroutinePars;
-        case 6:  return this.hiddenTRparen;
-        case 7:  return this.hiddenTBind;
-        case 8:  return this.hiddenTLparen2;
-        case 9:  return this.hiddenTIdent;
-        case 10: return this.hiddenTRparen2;
-        case 11: return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTSubroutine = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.subroutineName = (ASTSubroutineNameNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.subroutinePars = (IASTListNode<ASTSubroutineParNode>)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTBind = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTIdent = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 11: this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineSubprogramNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineSubprogramNode.java
deleted file mode 100644
index 67cb253..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubroutineSubprogramNode.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubroutineSubprogramNode extends ScopingNode implements IInternalSubprogram, IModuleBodyConstruct, IModuleSubprogram, IModuleSubprogramPartConstruct, IProgramUnit
-{
-    ASTSubroutineStmtNode subroutineStmt; // in ASTSubroutineSubprogramNode
-    IASTListNode<IBodyConstruct> body; // in ASTSubroutineSubprogramNode
-    ASTContainsStmtNode containsStmt; // in ASTSubroutineSubprogramNode
-    IASTListNode<IInternalSubprogram> internalSubprograms; // in ASTSubroutineSubprogramNode
-    ASTEndSubroutineStmtNode endSubroutineStmt; // in ASTSubroutineSubprogramNode
-
-    public ASTSubroutineStmtNode getSubroutineStmt()
-    {
-        return this.subroutineStmt;
-    }
-
-    public void setSubroutineStmt(ASTSubroutineStmtNode newValue)
-    {
-        this.subroutineStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IBodyConstruct> getBody()
-    {
-        return this.body;
-    }
-
-    public void setBody(IASTListNode<IBodyConstruct> newValue)
-    {
-        this.body = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTContainsStmtNode getContainsStmt()
-    {
-        return this.containsStmt;
-    }
-
-    public void setContainsStmt(ASTContainsStmtNode newValue)
-    {
-        this.containsStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IInternalSubprogram> getInternalSubprograms()
-    {
-        return this.internalSubprograms;
-    }
-
-    public void setInternalSubprograms(IASTListNode<IInternalSubprogram> newValue)
-    {
-        this.internalSubprograms = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndSubroutineStmtNode getEndSubroutineStmt()
-    {
-        return this.endSubroutineStmt;
-    }
-
-    public void setEndSubroutineStmt(ASTEndSubroutineStmtNode newValue)
-    {
-        this.endSubroutineStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubroutineSubprogramNode(this);
-        visitor.visitIInternalSubprogram(this);
-        visitor.visitIModuleBodyConstruct(this);
-        visitor.visitIModuleSubprogram(this);
-        visitor.visitIModuleSubprogramPartConstruct(this);
-        visitor.visitIProgramUnit(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.subroutineStmt;
-        case 1:  return this.body;
-        case 2:  return this.containsStmt;
-        case 3:  return this.internalSubprograms;
-        case 4:  return this.endSubroutineStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.subroutineStmt = (ASTSubroutineStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.body = (IASTListNode<IBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.containsStmt = (ASTContainsStmtNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.internalSubprograms = (IASTListNode<IInternalSubprogram>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.endSubroutineStmt = (ASTEndSubroutineStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubscriptNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubscriptNode.java
deleted file mode 100644
index a81ad53..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubscriptNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubscriptNode extends ASTNode
-{
-    IExpr subscriptExpr; // in ASTSubscriptNode
-
-    public IExpr getSubscriptExpr()
-    {
-        return this.subscriptExpr;
-    }
-
-    public void setSubscriptExpr(IExpr newValue)
-    {
-        this.subscriptExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubscriptNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.subscriptExpr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.subscriptExpr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubscriptTripletNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubscriptTripletNode.java
deleted file mode 100644
index c350d80..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubscriptTripletNode.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubscriptTripletNode extends ASTNode
-{
-    IExpr lb; // in ASTSubscriptTripletNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTSubscriptTripletNode
-    IExpr ub; // in ASTSubscriptTripletNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTSubscriptTripletNode
-    IExpr step; // in ASTSubscriptTripletNode
-
-    public IExpr getLb()
-    {
-        return this.lb;
-    }
-
-    public void setLb(IExpr newValue)
-    {
-        this.lb = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getUb()
-    {
-        return this.ub;
-    }
-
-    public void setUb(IExpr newValue)
-    {
-        this.ub = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getStep()
-    {
-        return this.step;
-    }
-
-    public void setStep(IExpr newValue)
-    {
-        this.step = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubscriptTripletNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.lb;
-        case 1:  return this.hiddenTColon;
-        case 2:  return this.ub;
-        case 3:  return this.hiddenTColon2;
-        case 4:  return this.step;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.lb = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.ub = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.step = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubstrConstNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubstrConstNode.java
deleted file mode 100644
index 8aa8187..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubstrConstNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubstrConstNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token stringConst; // in ASTSubstrConstNode
-    ASTSubstringRangeNode substringRange; // in ASTSubstrConstNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getStringConst()
-    {
-        return this.stringConst;
-    }
-
-    public void setStringConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.stringConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSubstringRangeNode getSubstringRange()
-    {
-        return this.substringRange;
-    }
-
-    public void setSubstringRange(ASTSubstringRangeNode newValue)
-    {
-        this.substringRange = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubstrConstNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.stringConst;
-        case 1:  return this.substringRange;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.stringConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.substringRange = (ASTSubstringRangeNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubstringRangeNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubstringRangeNode.java
deleted file mode 100644
index fe30aa2..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSubstringRangeNode.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSubstringRangeNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTSubstringRangeNode
-    ASTSubscriptTripletNode subscriptTriplet; // in ASTSubstringRangeNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTSubstringRangeNode
-
-    public ASTSubscriptTripletNode getSubscriptTriplet()
-    {
-        return this.subscriptTriplet;
-    }
-
-    public void setSubscriptTriplet(ASTSubscriptTripletNode newValue)
-    {
-        this.subscriptTriplet = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSubstringRangeNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.hiddenTLparen;
-        case 1:  return this.subscriptTriplet;
-        case 2:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.subscriptTriplet = (ASTSubscriptTripletNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncAllStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncAllStmtNode.java
deleted file mode 100644
index e33fca9..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncAllStmtNode.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSyncAllStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTSyncAllStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSync; // in ASTSyncAllStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTAll; // in ASTSyncAllStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSyncall; // in ASTSyncAllStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTSyncAllStmtNode
-    IASTListNode<ASTSyncStatNode> syncStatList; // in ASTSyncAllStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTSyncAllStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTSyncAllStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSyncStatNode> getSyncStatList()
-    {
-        return this.syncStatList;
-    }
-
-    public void setSyncStatList(IASTListNode<ASTSyncStatNode> newValue)
-    {
-        this.syncStatList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSyncAllStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTSync;
-        case 2:  return this.hiddenTAll;
-        case 3:  return this.hiddenTSyncall;
-        case 4:  return this.hiddenTLparen;
-        case 5:  return this.syncStatList;
-        case 6:  return this.hiddenTRparen;
-        case 7:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTSync = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTAll = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTSyncall = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.syncStatList = (IASTListNode<ASTSyncStatNode>)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncImagesStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncImagesStmtNode.java
deleted file mode 100644
index e5e7ec1..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncImagesStmtNode.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSyncImagesStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTSyncImagesStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSyncimages; // in ASTSyncImagesStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSync; // in ASTSyncImagesStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTImages; // in ASTSyncImagesStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTSyncImagesStmtNode
-    ASTImageSetNode imageSet; // in ASTSyncImagesStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTSyncImagesStmtNode
-    IASTListNode<ASTSyncStatNode> syncStatList; // in ASTSyncImagesStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTSyncImagesStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTSyncImagesStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTImageSetNode getImageSet()
-    {
-        return this.imageSet;
-    }
-
-    public void setImageSet(ASTImageSetNode newValue)
-    {
-        this.imageSet = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSyncStatNode> getSyncStatList()
-    {
-        return this.syncStatList;
-    }
-
-    public void setSyncStatList(IASTListNode<ASTSyncStatNode> newValue)
-    {
-        this.syncStatList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSyncImagesStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 10;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTSyncimages;
-        case 2:  return this.hiddenTSync;
-        case 3:  return this.hiddenTImages;
-        case 4:  return this.hiddenTLparen;
-        case 5:  return this.imageSet;
-        case 6:  return this.hiddenTComma;
-        case 7:  return this.syncStatList;
-        case 8:  return this.hiddenTRparen;
-        case 9:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTSyncimages = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTSync = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTImages = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.imageSet = (ASTImageSetNode)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.syncStatList = (IASTListNode<ASTSyncStatNode>)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncMemoryStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncMemoryStmtNode.java
deleted file mode 100644
index d00954e..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncMemoryStmtNode.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSyncMemoryStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTSyncMemoryStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSync; // in ASTSyncMemoryStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTMemory; // in ASTSyncMemoryStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTSyncmemory; // in ASTSyncMemoryStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTSyncMemoryStmtNode
-    IASTListNode<ASTSyncStatNode> syncStatList; // in ASTSyncMemoryStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTSyncMemoryStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTSyncMemoryStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSyncStatNode> getSyncStatList()
-    {
-        return this.syncStatList;
-    }
-
-    public void setSyncStatList(IASTListNode<ASTSyncStatNode> newValue)
-    {
-        this.syncStatList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSyncMemoryStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTSync;
-        case 2:  return this.hiddenTMemory;
-        case 3:  return this.hiddenTSyncmemory;
-        case 4:  return this.hiddenTLparen;
-        case 5:  return this.syncStatList;
-        case 6:  return this.hiddenTRparen;
-        case 7:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTSync = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTMemory = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTSyncmemory = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.syncStatList = (IASTListNode<ASTSyncStatNode>)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncStatNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncStatNode.java
deleted file mode 100644
index d8eac6c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTSyncStatNode.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTSyncStatNode extends ASTNode
-{
-    ASTNameNode name; // in ASTSyncStatNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTSyncStatNode
-    IExpr expr; // in ASTSyncStatNode
-
-    public ASTNameNode getName()
-    {
-        return this.name;
-    }
-
-    public void setName(ASTNameNode newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTSyncStatNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        case 1:  return this.hiddenTEquals;
-        case 2:  return this.expr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetNameNode.java
deleted file mode 100644
index 9c52d63..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTargetNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token targetName; // in ASTTargetNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getTargetName()
-    {
-        return this.targetName;
-    }
-
-    public void setTargetName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.targetName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTargetNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.targetName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.targetName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetNode.java
deleted file mode 100644
index 3f84298..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetNode.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTargetNode extends ASTNode
-{
-    IExpr expr; // in ASTTargetNode
-    org.eclipse.photran.internal.core.lexer.Token isNull; // in ASTTargetNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTTargetNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTTargetNode
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isNull()
-    {
-        return this.isNull != null;
-    }
-
-    public void setIsNull(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isNull = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTargetNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.expr;
-        case 1:  return this.isNull;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isNull = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetObjectNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetObjectNode.java
deleted file mode 100644
index 4ce949a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetObjectNode.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTargetObjectNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token targetName; // in ASTTargetObjectNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTTargetObjectNode
-    ASTArraySpecNode arraySpec; // in ASTTargetObjectNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTTargetObjectNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLbracket; // in ASTTargetObjectNode
-    ASTCoarraySpecNode coarraySpec; // in ASTTargetObjectNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRbracket; // in ASTTargetObjectNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getTargetName()
-    {
-        return this.targetName;
-    }
-
-    public void setTargetName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.targetName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTArraySpecNode getArraySpec()
-    {
-        return this.arraySpec;
-    }
-
-    public void setArraySpec(ASTArraySpecNode newValue)
-    {
-        this.arraySpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTCoarraySpecNode getCoarraySpec()
-    {
-        return this.coarraySpec;
-    }
-
-    public void setCoarraySpec(ASTCoarraySpecNode newValue)
-    {
-        this.coarraySpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTargetObjectNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 7;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.targetName;
-        case 1:  return this.hiddenTLparen;
-        case 2:  return this.arraySpec;
-        case 3:  return this.hiddenTRparen;
-        case 4:  return this.hiddenTLbracket;
-        case 5:  return this.coarraySpec;
-        case 6:  return this.hiddenTRbracket;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.targetName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.arraySpec = (ASTArraySpecNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.coarraySpec = (ASTCoarraySpecNode)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetStmtNode.java
deleted file mode 100644
index 85cbbe2..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTargetStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTargetStmtNode extends ASTNode implements ISpecificationStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTTargetStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTTarget; // in ASTTargetStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTTargetStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTTargetStmtNode
-    IASTListNode<ASTTargetObjectNode> targetObjectList; // in ASTTargetStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTTargetStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTTargetObjectNode> getTargetObjectList()
-    {
-        return this.targetObjectList;
-    }
-
-    public void setTargetObjectList(IASTListNode<ASTTargetObjectNode> newValue)
-    {
-        this.targetObjectList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTargetStmtNode(this);
-        visitor.visitISpecificationStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTTarget;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTColon2;
-        case 4:  return this.targetObjectList;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTTarget = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.targetObjectList = (IASTListNode<ASTTargetObjectNode>)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTThenPartNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTThenPartNode.java
deleted file mode 100644
index e588e36..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTThenPartNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTThenPartNode extends ASTNode
-{
-    IASTListNode<IExecutionPartConstruct> conditionalBody; // in ASTThenPartNode
-    ASTElseConstructNode elseConstruct; // in ASTThenPartNode
-    ASTElseIfConstructNode elseIfConstruct; // in ASTThenPartNode
-    ASTEndIfStmtNode endIfStmt; // in ASTThenPartNode
-
-    public IASTListNode<IExecutionPartConstruct> getConditionalBody()
-    {
-        return this.conditionalBody;
-    }
-
-    public void setConditionalBody(IASTListNode<IExecutionPartConstruct> newValue)
-    {
-        this.conditionalBody = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTElseConstructNode getElseConstruct()
-    {
-        return this.elseConstruct;
-    }
-
-    public void setElseConstruct(ASTElseConstructNode newValue)
-    {
-        this.elseConstruct = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTElseIfConstructNode getElseIfConstruct()
-    {
-        return this.elseIfConstruct;
-    }
-
-    public void setElseIfConstruct(ASTElseIfConstructNode newValue)
-    {
-        this.elseIfConstruct = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndIfStmtNode getEndIfStmt()
-    {
-        return this.endIfStmt;
-    }
-
-    public void setEndIfStmt(ASTEndIfStmtNode newValue)
-    {
-        this.endIfStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTThenPartNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.conditionalBody;
-        case 1:  return this.elseConstruct;
-        case 2:  return this.elseIfConstruct;
-        case 3:  return this.endIfStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.conditionalBody = (IASTListNode<IExecutionPartConstruct>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.elseConstruct = (ASTElseConstructNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.elseIfConstruct = (ASTElseIfConstructNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.endIfStmt = (ASTEndIfStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeAttrSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeAttrSpecNode.java
deleted file mode 100644
index 95d6896..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeAttrSpecNode.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeAttrSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token isExtends; // in ASTTypeAttrSpecNode
-    ASTAccessSpecNode accessSpec; // in ASTTypeAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isBind; // in ASTTypeAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTTypeAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token parentTypeName; // in ASTTypeAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isAbstract; // in ASTTypeAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token language; // in ASTTypeAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTTypeAttrSpecNode
-
-    public boolean isExtends()
-    {
-        return this.isExtends != null;
-    }
-
-    public void setIsExtends(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isExtends = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTAccessSpecNode getAccessSpec()
-    {
-        return this.accessSpec;
-    }
-
-    public void setAccessSpec(ASTAccessSpecNode newValue)
-    {
-        this.accessSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isBind()
-    {
-        return this.isBind != null;
-    }
-
-    public void setIsBind(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isBind = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getParentTypeName()
-    {
-        return this.parentTypeName;
-    }
-
-    public void setParentTypeName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.parentTypeName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isAbstract()
-    {
-        return this.isAbstract != null;
-    }
-
-    public void setIsAbstract(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isAbstract = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getLanguage()
-    {
-        return this.language;
-    }
-
-    public void setLanguage(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.language = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeAttrSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isExtends;
-        case 1:  return this.accessSpec;
-        case 2:  return this.isBind;
-        case 3:  return this.hiddenTLparen;
-        case 4:  return this.parentTypeName;
-        case 5:  return this.isAbstract;
-        case 6:  return this.language;
-        case 7:  return this.hiddenTRparen;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isExtends = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.accessSpec = (ASTAccessSpecNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.isBind = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.parentTypeName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.isAbstract = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.language = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeBoundProcedurePartNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeBoundProcedurePartNode.java
deleted file mode 100644
index 4f2a381..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeBoundProcedurePartNode.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeBoundProcedurePartNode extends ASTNode
-{
-    ASTContainsStmtNode containsStmt; // in ASTTypeBoundProcedurePartNode
-    ASTBindingPrivateStmtNode bindingPrivateStmt; // in ASTTypeBoundProcedurePartNode
-    IASTListNode<IProcBindingStmt> procBindingStmts; // in ASTTypeBoundProcedurePartNode
-
-    public ASTContainsStmtNode getContainsStmt()
-    {
-        return this.containsStmt;
-    }
-
-    public void setContainsStmt(ASTContainsStmtNode newValue)
-    {
-        this.containsStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTBindingPrivateStmtNode getBindingPrivateStmt()
-    {
-        return this.bindingPrivateStmt;
-    }
-
-    public void setBindingPrivateStmt(ASTBindingPrivateStmtNode newValue)
-    {
-        this.bindingPrivateStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IProcBindingStmt> getProcBindingStmts()
-    {
-        return this.procBindingStmts;
-    }
-
-    public void setProcBindingStmts(IASTListNode<IProcBindingStmt> newValue)
-    {
-        this.procBindingStmts = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeBoundProcedurePartNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.containsStmt;
-        case 1:  return this.bindingPrivateStmt;
-        case 2:  return this.procBindingStmts;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.containsStmt = (ASTContainsStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.bindingPrivateStmt = (ASTBindingPrivateStmtNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.procBindingStmts = (IASTListNode<IProcBindingStmt>)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeDeclarationStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeDeclarationStmtNode.java
deleted file mode 100644
index 7802a02..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeDeclarationStmtNode.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeDeclarationStmtNode extends ASTNodeWithErrorRecoverySymbols implements IDeclarationConstruct
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTTypeDeclarationStmtNode
-    ASTTypeSpecNode typeSpec; // in ASTTypeDeclarationStmtNode
-    IASTListNode<ASTAttrSpecSeqNode> attrSpecSeq; // in ASTTypeDeclarationStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTTypeDeclarationStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTTypeDeclarationStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTTypeDeclarationStmtNode
-    IASTListNode<ASTEntityDeclNode> entityDeclList; // in ASTTypeDeclarationStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTTypeDeclarationStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTTypeSpecNode getTypeSpec()
-    {
-        return this.typeSpec;
-    }
-
-    public void setTypeSpec(ASTTypeSpecNode newValue)
-    {
-        this.typeSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTAttrSpecSeqNode> getAttrSpecSeq()
-    {
-        return this.attrSpecSeq;
-    }
-
-    public void setAttrSpecSeq(IASTListNode<ASTAttrSpecSeqNode> newValue)
-    {
-        this.attrSpecSeq = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTEntityDeclNode> getEntityDeclList()
-    {
-        return this.entityDeclList;
-    }
-
-    public void setEntityDeclList(IASTListNode<ASTEntityDeclNode> newValue)
-    {
-        this.entityDeclList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeDeclarationStmtNode(this);
-        visitor.visitIDeclarationConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.typeSpec;
-        case 2:  return this.attrSpecSeq;
-        case 3:  return this.hiddenTColon;
-        case 4:  return this.hiddenTColon2;
-        case 5:  return this.hiddenTComma;
-        case 6:  return this.entityDeclList;
-        case 7:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.typeSpec = (ASTTypeSpecNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.attrSpecSeq = (IASTListNode<ASTAttrSpecSeqNode>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.entityDeclList = (IASTListNode<ASTEntityDeclNode>)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeGuardStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeGuardStmtNode.java
deleted file mode 100644
index 8a94834..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeGuardStmtNode.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeGuardStmtNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token isType; // in ASTTypeGuardStmtNode
-    org.eclipse.photran.internal.core.lexer.Token isClass; // in ASTTypeGuardStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTIs; // in ASTTypeGuardStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTTypeGuardStmtNode
-    org.eclipse.photran.internal.core.lexer.Token isDefault; // in ASTTypeGuardStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTDefault; // in ASTTypeGuardStmtNode
-    ASTTypeSpecNode typeSpecNoPrefix; // in ASTTypeGuardStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTTypeGuardStmtNode
-    org.eclipse.photran.internal.core.lexer.Token selectConstructName; // in ASTTypeGuardStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTTypeGuardStmtNode
-
-    public boolean isType()
-    {
-        return this.isType != null;
-    }
-
-    public void setIsType(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isType = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isClass()
-    {
-        return this.isClass != null;
-    }
-
-    public void setIsClass(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isClass = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isDefault()
-    {
-        return this.isDefault != null;
-    }
-
-    public void setIsDefault(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isDefault = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTTypeSpecNode getTypeSpecNoPrefix()
-    {
-        return this.typeSpecNoPrefix;
-    }
-
-    public void setTypeSpecNoPrefix(ASTTypeSpecNode newValue)
-    {
-        this.typeSpecNoPrefix = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getSelectConstructName()
-    {
-        return this.selectConstructName;
-    }
-
-    public void setSelectConstructName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.selectConstructName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeGuardStmtNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 10;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isType;
-        case 1:  return this.isClass;
-        case 2:  return this.hiddenTIs;
-        case 3:  return this.hiddenTLparen;
-        case 4:  return this.isDefault;
-        case 5:  return this.hiddenTDefault;
-        case 6:  return this.typeSpecNoPrefix;
-        case 7:  return this.hiddenTRparen;
-        case 8:  return this.selectConstructName;
-        case 9:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isType = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isClass = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTIs = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.isDefault = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTDefault = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.typeSpecNoPrefix = (ASTTypeSpecNode)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.selectConstructName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeNameNode.java
deleted file mode 100644
index cbf7e79..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token typeName; // in ASTTypeNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getTypeName()
-    {
-        return this.typeName;
-    }
-
-    public void setTypeName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.typeName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.typeName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.typeName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamAttrSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamAttrSpecNode.java
deleted file mode 100644
index a7a171e..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamAttrSpecNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeParamAttrSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token isLen; // in ASTTypeParamAttrSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isKind; // in ASTTypeParamAttrSpecNode
-
-    public boolean isLen()
-    {
-        return this.isLen != null;
-    }
-
-    public void setIsLen(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isLen = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isKind()
-    {
-        return this.isKind != null;
-    }
-
-    public void setIsKind(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isKind = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeParamAttrSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isLen;
-        case 1:  return this.isKind;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isLen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isKind = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamDeclNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamDeclNode.java
deleted file mode 100644
index e27802b..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamDeclNode.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeParamDeclNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token typeParamName; // in ASTTypeParamDeclNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTTypeParamDeclNode
-    IExpr expr; // in ASTTypeParamDeclNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getTypeParamName()
-    {
-        return this.typeParamName;
-    }
-
-    public void setTypeParamName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.typeParamName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeParamDeclNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.typeParamName;
-        case 1:  return this.hiddenTEquals;
-        case 2:  return this.expr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.typeParamName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamDefStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamDefStmtNode.java
deleted file mode 100644
index 0b9d999..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamDefStmtNode.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeParamDefStmtNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTTypeParamDefStmtNode
-    ASTTypeSpecNode typeSpec; // in ASTTypeParamDefStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTTypeParamDefStmtNode
-    ASTTypeParamAttrSpecNode typeParamAttrSpec; // in ASTTypeParamDefStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTTypeParamDefStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTTypeParamDefStmtNode
-    IASTListNode<ASTTypeParamDeclNode> typeParamDeclList; // in ASTTypeParamDefStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTTypeParamDefStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTTypeSpecNode getTypeSpec()
-    {
-        return this.typeSpec;
-    }
-
-    public void setTypeSpec(ASTTypeSpecNode newValue)
-    {
-        this.typeSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTTypeParamAttrSpecNode getTypeParamAttrSpec()
-    {
-        return this.typeParamAttrSpec;
-    }
-
-    public void setTypeParamAttrSpec(ASTTypeParamAttrSpecNode newValue)
-    {
-        this.typeParamAttrSpec = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTTypeParamDeclNode> getTypeParamDeclList()
-    {
-        return this.typeParamDeclList;
-    }
-
-    public void setTypeParamDeclList(IASTListNode<ASTTypeParamDeclNode> newValue)
-    {
-        this.typeParamDeclList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeParamDefStmtNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.typeSpec;
-        case 2:  return this.hiddenTComma;
-        case 3:  return this.typeParamAttrSpec;
-        case 4:  return this.hiddenTColon;
-        case 5:  return this.hiddenTColon2;
-        case 6:  return this.typeParamDeclList;
-        case 7:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.typeSpec = (ASTTypeSpecNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.typeParamAttrSpec = (ASTTypeParamAttrSpecNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.typeParamDeclList = (IASTListNode<ASTTypeParamDeclNode>)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamNameNode.java
deleted file mode 100644
index 5b2c2d6..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeParamNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token typeParamName; // in ASTTypeParamNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getTypeParamName()
-    {
-        return this.typeParamName;
-    }
-
-    public void setTypeParamName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.typeParamName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeParamNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.typeParamName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.typeParamName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamSpecNode.java
deleted file mode 100644
index f8137ef..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamSpecNode.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeParamSpecNode extends ASTNode
-{
-    ASTNameNode name; // in ASTTypeParamSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTTypeParamSpecNode
-    ASTTypeParamValueNode typeParamValue; // in ASTTypeParamSpecNode
-
-    public ASTNameNode getName()
-    {
-        return this.name;
-    }
-
-    public void setName(ASTNameNode newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTTypeParamValueNode getTypeParamValue()
-    {
-        return this.typeParamValue;
-    }
-
-    public void setTypeParamValue(ASTTypeParamValueNode newValue)
-    {
-        this.typeParamValue = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeParamSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        case 1:  return this.hiddenTEquals;
-        case 2:  return this.typeParamValue;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.typeParamValue = (ASTTypeParamValueNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamValueNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamValueNode.java
deleted file mode 100644
index 34133cf..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeParamValueNode.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeParamValueNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token isAsterisk; // in ASTTypeParamValueNode
-    org.eclipse.photran.internal.core.lexer.Token isColon; // in ASTTypeParamValueNode
-    IExpr expr; // in ASTTypeParamValueNode
-
-    public boolean isAsterisk()
-    {
-        return this.isAsterisk != null;
-    }
-
-    public void setIsAsterisk(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isAsterisk = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isColon()
-    {
-        return this.isColon != null;
-    }
-
-    public void setIsColon(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isColon = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeParamValueNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isAsterisk;
-        case 1:  return this.isColon;
-        case 2:  return this.expr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isAsterisk = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeSpecNode.java
deleted file mode 100644
index f96b16d..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTTypeSpecNode.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTTypeSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token isLogical; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isDerivedType; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isInteger; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isComplex; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isReal; // in ASTTypeSpecNode
-    ASTKindSelectorNode kindSelector; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isCharacter; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isDblComplex; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComplex; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token typeName; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenLParen2; // in ASTTypeSpecNode
-    IASTListNode<ASTTypeParamSpecNode> typeParamSpecList; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenRParen2; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isAsterisk; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTTypeSpecNode
-    ASTCharSelectorNode charSelector; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token isDouble; // in ASTTypeSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTPrecision; // in ASTTypeSpecNode
-
-    public boolean isLogical()
-    {
-        return this.isLogical != null;
-    }
-
-    public void setIsLogical(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isLogical = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isDerivedType()
-    {
-        return this.isDerivedType != null;
-    }
-
-    public void setIsDerivedType(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isDerivedType = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isInteger()
-    {
-        return this.isInteger != null;
-    }
-
-    public void setIsInteger(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isInteger = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isComplex()
-    {
-        return this.isComplex != null;
-    }
-
-    public void setIsComplex(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isComplex = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isReal()
-    {
-        return this.isReal != null;
-    }
-
-    public void setIsReal(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isReal = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTKindSelectorNode getKindSelector()
-    {
-        return this.kindSelector;
-    }
-
-    public void setKindSelector(ASTKindSelectorNode newValue)
-    {
-        this.kindSelector = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isCharacter()
-    {
-        return this.isCharacter != null;
-    }
-
-    public void setIsCharacter(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isCharacter = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isDblComplex()
-    {
-        return this.isDblComplex != null;
-    }
-
-    public void setIsDblComplex(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isDblComplex = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getTypeName()
-    {
-        return this.typeName;
-    }
-
-    public void setTypeName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.typeName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTTypeParamSpecNode> getTypeParamSpecList()
-    {
-        return this.typeParamSpecList;
-    }
-
-    public void setTypeParamSpecList(IASTListNode<ASTTypeParamSpecNode> newValue)
-    {
-        this.typeParamSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isAsterisk()
-    {
-        return this.isAsterisk != null;
-    }
-
-    public void setIsAsterisk(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isAsterisk = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTCharSelectorNode getCharSelector()
-    {
-        return this.charSelector;
-    }
-
-    public void setCharSelector(ASTCharSelectorNode newValue)
-    {
-        this.charSelector = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean isDouble()
-    {
-        return this.isDouble != null;
-    }
-
-    public void setIsDouble(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.isDouble = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTTypeSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 19;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.isLogical;
-        case 1:  return this.isDerivedType;
-        case 2:  return this.isInteger;
-        case 3:  return this.isComplex;
-        case 4:  return this.isReal;
-        case 5:  return this.kindSelector;
-        case 6:  return this.isCharacter;
-        case 7:  return this.isDblComplex;
-        case 8:  return this.hiddenTComplex;
-        case 9:  return this.hiddenTLparen;
-        case 10: return this.typeName;
-        case 11: return this.hiddenHiddenLParen2;
-        case 12: return this.typeParamSpecList;
-        case 13: return this.hiddenHiddenRParen2;
-        case 14: return this.isAsterisk;
-        case 15: return this.hiddenTRparen;
-        case 16: return this.charSelector;
-        case 17: return this.isDouble;
-        case 18: return this.hiddenTPrecision;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.isLogical = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.isDerivedType = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.isInteger = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.isComplex = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.isReal = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.kindSelector = (ASTKindSelectorNode)value; if (value != null) value.setParent(this); return;
-        case 6:  this.isCharacter = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.isDblComplex = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenTComplex = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.typeName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 11: this.hiddenHiddenLParen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 12: this.typeParamSpecList = (IASTListNode<ASTTypeParamSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 13: this.hiddenHiddenRParen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 14: this.isAsterisk = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 15: this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 16: this.charSelector = (ASTCharSelectorNode)value; if (value != null) value.setParent(this); return;
-        case 17: this.isDouble = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 18: this.hiddenTPrecision = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-
-/////////////////////////////////// User Code //////////////////////////////////
-
-    public org.eclipse.photran.internal.core.lexer.Token getCharacterToken() { return this.isCharacter; }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFExprNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFExprNode.java
deleted file mode 100644
index 42b8d30..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFExprNode.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTUFExprNode extends ASTNode
-{
-    ASTUFExprNode lhsExpr; // in ASTUFExprNode
-    ASTSignNode rhs2; // in ASTUFExprNode
-    ASTOperatorNode addOp; // in ASTUFExprNode
-    ASTUFTermNode rhsExpr; // in ASTUFExprNode
-    ASTUFTermNode UFTerm; // in ASTUFExprNode
-
-    public ASTUFExprNode getLhsExpr()
-    {
-        return this.lhsExpr;
-    }
-
-    public void setLhsExpr(ASTUFExprNode newValue)
-    {
-        this.lhsExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSignNode getRhs2()
-    {
-        return this.rhs2;
-    }
-
-    public void setRhs2(ASTSignNode newValue)
-    {
-        this.rhs2 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOperatorNode getAddOp()
-    {
-        return this.addOp;
-    }
-
-    public void setAddOp(ASTOperatorNode newValue)
-    {
-        this.addOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUFTermNode getRhsExpr()
-    {
-        return this.rhsExpr;
-    }
-
-    public void setRhsExpr(ASTUFTermNode newValue)
-    {
-        this.rhsExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUFTermNode getUFTerm()
-    {
-        return this.UFTerm;
-    }
-
-    public void setUFTerm(ASTUFTermNode newValue)
-    {
-        this.UFTerm = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTUFExprNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.lhsExpr;
-        case 1:  return this.rhs2;
-        case 2:  return this.addOp;
-        case 3:  return this.rhsExpr;
-        case 4:  return this.UFTerm;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.lhsExpr = (ASTUFExprNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.rhs2 = (ASTSignNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.addOp = (ASTOperatorNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.rhsExpr = (ASTUFTermNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.UFTerm = (ASTUFTermNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFFactorNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFFactorNode.java
deleted file mode 100644
index dd5aa14..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFFactorNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTUFFactorNode extends ASTNode
-{
-    ASTUFPrimaryNode lhsPrimary; // in ASTUFFactorNode
-    ASTOperatorNode powerOp; // in ASTUFFactorNode
-    ASTUFFactorNode rhsExpr; // in ASTUFFactorNode
-    ASTUFPrimaryNode UFPrimary; // in ASTUFFactorNode
-
-    public ASTUFPrimaryNode getLhsPrimary()
-    {
-        return this.lhsPrimary;
-    }
-
-    public void setLhsPrimary(ASTUFPrimaryNode newValue)
-    {
-        this.lhsPrimary = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOperatorNode getPowerOp()
-    {
-        return this.powerOp;
-    }
-
-    public void setPowerOp(ASTOperatorNode newValue)
-    {
-        this.powerOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUFFactorNode getRhsExpr()
-    {
-        return this.rhsExpr;
-    }
-
-    public void setRhsExpr(ASTUFFactorNode newValue)
-    {
-        this.rhsExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUFPrimaryNode getUFPrimary()
-    {
-        return this.UFPrimary;
-    }
-
-    public void setUFPrimary(ASTUFPrimaryNode newValue)
-    {
-        this.UFPrimary = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTUFFactorNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.lhsPrimary;
-        case 1:  return this.powerOp;
-        case 2:  return this.rhsExpr;
-        case 3:  return this.UFPrimary;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.lhsPrimary = (ASTUFPrimaryNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.powerOp = (ASTOperatorNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.rhsExpr = (ASTUFFactorNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.UFPrimary = (ASTUFPrimaryNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFPrimaryNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFPrimaryNode.java
deleted file mode 100644
index 6edfde4..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFPrimaryNode.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTUFPrimaryNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token intConst; // in ASTUFPrimaryNode
-    org.eclipse.photran.internal.core.lexer.Token stringConst; // in ASTUFPrimaryNode
-    ASTNameNode name; // in ASTUFPrimaryNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTUFPrimaryNode
-    IASTListNode<ASTSectionSubscriptNode> primarySectionSubscriptList; // in ASTUFPrimaryNode
-    ASTUFExprNode nestedExpression; // in ASTUFPrimaryNode
-    IASTListNode<ASTFunctionArgListNode> functionArgList; // in ASTUFPrimaryNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTUFPrimaryNode
-    ASTImageSelectorNode imageSelector; // in ASTUFPrimaryNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTPercent; // in ASTUFPrimaryNode
-    IASTListNode<ASTDataRefNode> derivedTypeComponentRef; // in ASTUFPrimaryNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenLparen2; // in ASTUFPrimaryNode
-    IASTListNode<ASTSectionSubscriptNode> componentSectionSubscriptList; // in ASTUFPrimaryNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenRparen2; // in ASTUFPrimaryNode
-    ASTSubstringRangeNode substringRange; // in ASTUFPrimaryNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getIntConst()
-    {
-        return this.intConst;
-    }
-
-    public void setIntConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.intConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getStringConst()
-    {
-        return this.stringConst;
-    }
-
-    public void setStringConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.stringConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTNameNode getName()
-    {
-        return this.name;
-    }
-
-    public void setName(ASTNameNode newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSectionSubscriptNode> getPrimarySectionSubscriptList()
-    {
-        return this.primarySectionSubscriptList;
-    }
-
-    public void setPrimarySectionSubscriptList(IASTListNode<ASTSectionSubscriptNode> newValue)
-    {
-        this.primarySectionSubscriptList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUFExprNode getNestedExpression()
-    {
-        return this.nestedExpression;
-    }
-
-    public void setNestedExpression(ASTUFExprNode newValue)
-    {
-        this.nestedExpression = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTFunctionArgListNode> getFunctionArgList()
-    {
-        return this.functionArgList;
-    }
-
-    public void setFunctionArgList(IASTListNode<ASTFunctionArgListNode> newValue)
-    {
-        this.functionArgList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTImageSelectorNode getImageSelector()
-    {
-        return this.imageSelector;
-    }
-
-    public void setImageSelector(ASTImageSelectorNode newValue)
-    {
-        this.imageSelector = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTDataRefNode> getDerivedTypeComponentRef()
-    {
-        return this.derivedTypeComponentRef;
-    }
-
-    public void setDerivedTypeComponentRef(IASTListNode<ASTDataRefNode> newValue)
-    {
-        this.derivedTypeComponentRef = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSectionSubscriptNode> getComponentSectionSubscriptList()
-    {
-        return this.componentSectionSubscriptList;
-    }
-
-    public void setComponentSectionSubscriptList(IASTListNode<ASTSectionSubscriptNode> newValue)
-    {
-        this.componentSectionSubscriptList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSubstringRangeNode getSubstringRange()
-    {
-        return this.substringRange;
-    }
-
-    public void setSubstringRange(ASTSubstringRangeNode newValue)
-    {
-        this.substringRange = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTUFPrimaryNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 15;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.intConst;
-        case 1:  return this.stringConst;
-        case 2:  return this.name;
-        case 3:  return this.hiddenTLparen;
-        case 4:  return this.primarySectionSubscriptList;
-        case 5:  return this.nestedExpression;
-        case 6:  return this.functionArgList;
-        case 7:  return this.hiddenTRparen;
-        case 8:  return this.imageSelector;
-        case 9:  return this.hiddenTPercent;
-        case 10: return this.derivedTypeComponentRef;
-        case 11: return this.hiddenLparen2;
-        case 12: return this.componentSectionSubscriptList;
-        case 13: return this.hiddenRparen2;
-        case 14: return this.substringRange;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.intConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.stringConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.name = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)value; if (value != null) value.setParent(this); return;
-        case 5:  this.nestedExpression = (ASTUFExprNode)value; if (value != null) value.setParent(this); return;
-        case 6:  this.functionArgList = (IASTListNode<ASTFunctionArgListNode>)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.imageSelector = (ASTImageSelectorNode)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)value; if (value != null) value.setParent(this); return;
-        case 11: this.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 12: this.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)value; if (value != null) value.setParent(this); return;
-        case 13: this.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 14: this.substringRange = (ASTSubstringRangeNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFTermNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFTermNode.java
deleted file mode 100644
index 97ad82c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUFTermNode.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTUFTermNode extends ASTNode
-{
-    ASTUFTermNode lhsExpr; // in ASTUFTermNode
-    ASTOperatorNode multOp; // in ASTUFTermNode
-    ASTOperatorNode concatOp; // in ASTUFTermNode
-    ASTUFPrimaryNode rhsPrimary; // in ASTUFTermNode
-    ASTUFFactorNode rhsExpr; // in ASTUFTermNode
-    ASTUFFactorNode UFFactor; // in ASTUFTermNode
-
-    public ASTUFTermNode getLhsExpr()
-    {
-        return this.lhsExpr;
-    }
-
-    public void setLhsExpr(ASTUFTermNode newValue)
-    {
-        this.lhsExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOperatorNode getMultOp()
-    {
-        return this.multOp;
-    }
-
-    public void setMultOp(ASTOperatorNode newValue)
-    {
-        this.multOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOperatorNode getConcatOp()
-    {
-        return this.concatOp;
-    }
-
-    public void setConcatOp(ASTOperatorNode newValue)
-    {
-        this.concatOp = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUFPrimaryNode getRhsPrimary()
-    {
-        return this.rhsPrimary;
-    }
-
-    public void setRhsPrimary(ASTUFPrimaryNode newValue)
-    {
-        this.rhsPrimary = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUFFactorNode getRhsExpr()
-    {
-        return this.rhsExpr;
-    }
-
-    public void setRhsExpr(ASTUFFactorNode newValue)
-    {
-        this.rhsExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTUFFactorNode getUFFactor()
-    {
-        return this.UFFactor;
-    }
-
-    public void setUFFactor(ASTUFFactorNode newValue)
-    {
-        this.UFFactor = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTUFTermNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.lhsExpr;
-        case 1:  return this.multOp;
-        case 2:  return this.concatOp;
-        case 3:  return this.rhsPrimary;
-        case 4:  return this.rhsExpr;
-        case 5:  return this.UFFactor;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.lhsExpr = (ASTUFTermNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.multOp = (ASTOperatorNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.concatOp = (ASTOperatorNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.rhsPrimary = (ASTUFPrimaryNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.rhsExpr = (ASTUFFactorNode)value; if (value != null) value.setParent(this); return;
-        case 5:  this.UFFactor = (ASTUFFactorNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnaryExprNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnaryExprNode.java
deleted file mode 100644
index 34bc03e..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnaryExprNode.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTUnaryExprNode extends ASTNode implements IExpr, ISelector
-{
-    ASTOperatorNode operator; // in ASTUnaryExprNode
-    ASTSignNode sign; // in ASTUnaryExprNode
-    IExpr operand; // in ASTUnaryExprNode
-
-    public ASTOperatorNode getOperator()
-    {
-        return this.operator;
-    }
-
-    public void setOperator(ASTOperatorNode newValue)
-    {
-        this.operator = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSignNode getSign()
-    {
-        return this.sign;
-    }
-
-    public void setSign(ASTSignNode newValue)
-    {
-        this.sign = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getOperand()
-    {
-        return this.operand;
-    }
-
-    public void setOperand(IExpr newValue)
-    {
-        this.operand = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTUnaryExprNode(this);
-        visitor.visitIExpr(this);
-        visitor.visitISelector(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.operator;
-        case 1:  return this.sign;
-        case 2:  return this.operand;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.operator = (ASTOperatorNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.sign = (ASTSignNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.operand = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnitIdentifierNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnitIdentifierNode.java
deleted file mode 100644
index de5833c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnitIdentifierNode.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTUnitIdentifierNode extends ASTNode
-{
-    ASTUFExprNode expression; // in ASTUnitIdentifierNode
-    org.eclipse.photran.internal.core.lexer.Token hasAsterisk; // in ASTUnitIdentifierNode
-
-    public ASTUFExprNode getExpression()
-    {
-        return this.expression;
-    }
-
-    public void setExpression(ASTUFExprNode newValue)
-    {
-        this.expression = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public boolean hasAsterisk()
-    {
-        return this.hasAsterisk != null;
-    }
-
-    public void setHasAsterisk(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.hasAsterisk = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTUnitIdentifierNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.expression;
-        case 1:  return this.hasAsterisk;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.expression = (ASTUFExprNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hasAsterisk = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnlockStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnlockStmtNode.java
deleted file mode 100644
index 5e4e3fa..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnlockStmtNode.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTUnlockStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTUnlockStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTUnlock; // in ASTUnlockStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTUnlockStmtNode
-    ASTNameNode lockVariable; // in ASTUnlockStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTUnlockStmtNode
-    IASTListNode<ASTSyncStatNode> syncStatList; // in ASTUnlockStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTUnlockStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTUnlockStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTNameNode getLockVariable()
-    {
-        return this.lockVariable;
-    }
-
-    public void setLockVariable(ASTNameNode newValue)
-    {
-        this.lockVariable = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSyncStatNode> getSyncStatList()
-    {
-        return this.syncStatList;
-    }
-
-    public void setSyncStatList(IASTListNode<ASTSyncStatNode> newValue)
-    {
-        this.syncStatList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTUnlockStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTUnlock;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.lockVariable;
-        case 4:  return this.hiddenTComma;
-        case 5:  return this.syncStatList;
-        case 6:  return this.hiddenTRparen;
-        case 7:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTUnlock = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.lockVariable = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.syncStatList = (IASTListNode<ASTSyncStatNode>)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnprocessedIncludeStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnprocessedIncludeStmtNode.java
deleted file mode 100644
index d674fe4..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUnprocessedIncludeStmtNode.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTUnprocessedIncludeStmtNode extends ASTNode implements ISpecificationStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTUnprocessedIncludeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token tIdent; // in ASTUnprocessedIncludeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token tScon; // in ASTUnprocessedIncludeStmtNode
-    org.eclipse.photran.internal.core.lexer.Token tEos; // in ASTUnprocessedIncludeStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getTIdent()
-    {
-        return this.tIdent;
-    }
-
-    public void setTIdent(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.tIdent = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getTScon()
-    {
-        return this.tScon;
-    }
-
-    public void setTScon(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.tScon = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getTEos()
-    {
-        return this.tEos;
-    }
-
-    public void setTEos(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.tEos = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTUnprocessedIncludeStmtNode(this);
-        visitor.visitISpecificationStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.tIdent;
-        case 2:  return this.tScon;
-        case 3:  return this.tEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.tIdent = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.tScon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.tEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUpperBoundNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUpperBoundNode.java
deleted file mode 100644
index 000a0f8..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUpperBoundNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTUpperBoundNode extends ASTNode
-{
-    IExpr ub; // in ASTUpperBoundNode
-
-    public IExpr getUb()
-    {
-        return this.ub;
-    }
-
-    public void setUb(IExpr newValue)
-    {
-        this.ub = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTUpperBoundNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.ub;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.ub = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUseNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUseNameNode.java
deleted file mode 100644
index 805ffe3..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUseNameNode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTUseNameNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTUseNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTUseNameNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUseStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUseStmtNode.java
deleted file mode 100644
index 07ff0e6..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTUseStmtNode.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTUseStmtNode extends ASTNode implements ISpecificationPartConstruct
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTUseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token useToken; // in ASTUseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenTComma1; // in ASTUseStmtNode
-    ASTModuleNatureNode moduleNature; // in ASTUseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenTColon1; // in ASTUseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenTColon2; // in ASTUseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTUseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTUseStmtNode
-    IASTListNode<ASTRenameNode> renameList; // in ASTUseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTOnly; // in ASTUseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTUseStmtNode
-    IASTListNode<ASTOnlyNode> onlyList; // in ASTUseStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTUseStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getUseToken()
-    {
-        return this.useToken;
-    }
-
-    public void setUseToken(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.useToken = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTModuleNatureNode getModuleNature()
-    {
-        return this.moduleNature;
-    }
-
-    public void setModuleNature(ASTModuleNatureNode newValue)
-    {
-        this.moduleNature = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTRenameNode> getRenameList()
-    {
-        return this.renameList;
-    }
-
-    public void setRenameList(IASTListNode<ASTRenameNode> newValue)
-    {
-        this.renameList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTOnlyNode> getOnlyList()
-    {
-        return this.onlyList;
-    }
-
-    public void setOnlyList(IASTListNode<ASTOnlyNode> newValue)
-    {
-        this.onlyList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTUseStmtNode(this);
-        visitor.visitISpecificationPartConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 13;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.useToken;
-        case 2:  return this.hiddenHiddenTComma1;
-        case 3:  return this.moduleNature;
-        case 4:  return this.hiddenHiddenTColon1;
-        case 5:  return this.hiddenHiddenTColon2;
-        case 6:  return this.name;
-        case 7:  return this.hiddenTComma;
-        case 8:  return this.renameList;
-        case 9:  return this.hiddenTOnly;
-        case 10: return this.hiddenTColon;
-        case 11: return this.onlyList;
-        case 12: return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.useToken = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenHiddenTComma1 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.moduleNature = (ASTModuleNatureNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenHiddenTColon1 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenHiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 8:  this.renameList = (IASTListNode<ASTRenameNode>)value; if (value != null) value.setParent(this); return;
-        case 9:  this.hiddenTOnly = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 11: this.onlyList = (IASTListNode<ASTOnlyNode>)value; if (value != null) value.setParent(this); return;
-        case 12: this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTValueStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTValueStmtNode.java
deleted file mode 100644
index e535fad..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTValueStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTValueStmtNode extends ASTNode implements ISpecificationStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTValueStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTValue; // in ASTValueStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTValueStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTValueStmtNode
-    IASTListNode<org.eclipse.photran.internal.core.lexer.Token> entityNameList; // in ASTValueStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTValueStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<org.eclipse.photran.internal.core.lexer.Token> getEntityNameList()
-    {
-        return this.entityNameList;
-    }
-
-    public void setEntityNameList(IASTListNode<org.eclipse.photran.internal.core.lexer.Token> newValue)
-    {
-        this.entityNameList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTValueStmtNode(this);
-        visitor.visitISpecificationStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTValue;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTColon2;
-        case 4:  return this.entityNameList;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTValue = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.entityNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVarOrFnRefNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVarOrFnRefNode.java
deleted file mode 100644
index d0bb9f5..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVarOrFnRefNode.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTVarOrFnRefNode extends ASTNode implements IExpr, ISelector
-{
-    ASTNameNode name; // in ASTVarOrFnRefNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTVarOrFnRefNode
-    IASTListNode<ASTFunctionArgListNode> functionArgList; // in ASTVarOrFnRefNode
-    IASTListNode<ASTSectionSubscriptNode> primarySectionSubscriptList; // in ASTVarOrFnRefNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTVarOrFnRefNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTPercent; // in ASTVarOrFnRefNode
-    ASTSubstringRangeNode substringRange; // in ASTVarOrFnRefNode
-    ASTImageSelectorNode imageSelector; // in ASTVarOrFnRefNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenHiddenPercent2; // in ASTVarOrFnRefNode
-    IASTListNode<ASTDataRefNode> derivedTypeComponentRef; // in ASTVarOrFnRefNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenLparen2; // in ASTVarOrFnRefNode
-    IASTListNode<ASTSectionSubscriptNode> componentSectionSubscriptList; // in ASTVarOrFnRefNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenRparen2; // in ASTVarOrFnRefNode
-    ASTSubstringRangeNode substringRange2; // in ASTVarOrFnRefNode
-
-    public ASTNameNode getName()
-    {
-        return this.name;
-    }
-
-    public void setName(ASTNameNode newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTFunctionArgListNode> getFunctionArgList()
-    {
-        return this.functionArgList;
-    }
-
-    public void setFunctionArgList(IASTListNode<ASTFunctionArgListNode> newValue)
-    {
-        this.functionArgList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSectionSubscriptNode> getPrimarySectionSubscriptList()
-    {
-        return this.primarySectionSubscriptList;
-    }
-
-    public void setPrimarySectionSubscriptList(IASTListNode<ASTSectionSubscriptNode> newValue)
-    {
-        this.primarySectionSubscriptList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSubstringRangeNode getSubstringRange()
-    {
-        return this.substringRange;
-    }
-
-    public void setSubstringRange(ASTSubstringRangeNode newValue)
-    {
-        this.substringRange = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTImageSelectorNode getImageSelector()
-    {
-        return this.imageSelector;
-    }
-
-    public void setImageSelector(ASTImageSelectorNode newValue)
-    {
-        this.imageSelector = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTDataRefNode> getDerivedTypeComponentRef()
-    {
-        return this.derivedTypeComponentRef;
-    }
-
-    public void setDerivedTypeComponentRef(IASTListNode<ASTDataRefNode> newValue)
-    {
-        this.derivedTypeComponentRef = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSectionSubscriptNode> getComponentSectionSubscriptList()
-    {
-        return this.componentSectionSubscriptList;
-    }
-
-    public void setComponentSectionSubscriptList(IASTListNode<ASTSectionSubscriptNode> newValue)
-    {
-        this.componentSectionSubscriptList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSubstringRangeNode getSubstringRange2()
-    {
-        return this.substringRange2;
-    }
-
-    public void setSubstringRange2(ASTSubstringRangeNode newValue)
-    {
-        this.substringRange2 = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTVarOrFnRefNode(this);
-        visitor.visitIExpr(this);
-        visitor.visitISelector(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 14;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.name;
-        case 1:  return this.hiddenTLparen;
-        case 2:  return this.functionArgList;
-        case 3:  return this.primarySectionSubscriptList;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTPercent;
-        case 6:  return this.substringRange;
-        case 7:  return this.imageSelector;
-        case 8:  return this.hiddenHiddenPercent2;
-        case 9:  return this.derivedTypeComponentRef;
-        case 10: return this.hiddenLparen2;
-        case 11: return this.componentSectionSubscriptList;
-        case 12: return this.hiddenRparen2;
-        case 13: return this.substringRange2;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.name = (ASTNameNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.functionArgList = (IASTListNode<ASTFunctionArgListNode>)value; if (value != null) value.setParent(this); return;
-        case 3:  this.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.substringRange = (ASTSubstringRangeNode)value; if (value != null) value.setParent(this); return;
-        case 7:  this.imageSelector = (ASTImageSelectorNode)value; if (value != null) value.setParent(this); return;
-        case 8:  this.hiddenHiddenPercent2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 9:  this.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)value; if (value != null) value.setParent(this); return;
-        case 10: this.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 11: this.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)value; if (value != null) value.setParent(this); return;
-        case 12: this.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 13: this.substringRange2 = (ASTSubstringRangeNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableCommaNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableCommaNode.java
deleted file mode 100644
index 8e5403a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableCommaNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTVariableCommaNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTVariableCommaNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTVariableCommaNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTVariableCommaNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 2;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.variableName;
-        case 1:  return this.hiddenTComma;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableNameNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableNameNode.java
deleted file mode 100644
index 2a20a2a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableNameNode.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTVariableNameNode extends ASTNode implements IBindEntity
-{
-    org.eclipse.photran.internal.core.lexer.Token variableName; // in ASTVariableNameNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getVariableName()
-    {
-        return this.variableName;
-    }
-
-    public void setVariableName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.variableName = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTVariableNameNode(this);
-        visitor.visitIBindEntity(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 1;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.variableName;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.variableName = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableNode.java
deleted file mode 100644
index 625eb55..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVariableNode.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTVariableNode extends ASTNode implements IDataStmtObject, IInputItem
-{
-    IASTListNode<ASTDataRefNode> dataRef; // in ASTVariableNode
-    org.eclipse.photran.internal.core.lexer.Token stringConst; // in ASTVariableNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTVariableNode
-    IASTListNode<ASTSectionSubscriptNode> sectionSubscriptList; // in ASTVariableNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTVariableNode
-    ASTImageSelectorNode imageSelector; // in ASTVariableNode
-    ASTSubstringRangeNode substringRange; // in ASTVariableNode
-
-    public IASTListNode<ASTDataRefNode> getDataRef()
-    {
-        return this.dataRef;
-    }
-
-    public void setDataRef(IASTListNode<ASTDataRefNode> newValue)
-    {
-        this.dataRef = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getStringConst()
-    {
-        return this.stringConst;
-    }
-
-    public void setStringConst(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.stringConst = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTSectionSubscriptNode> getSectionSubscriptList()
-    {
-        return this.sectionSubscriptList;
-    }
-
-    public void setSectionSubscriptList(IASTListNode<ASTSectionSubscriptNode> newValue)
-    {
-        this.sectionSubscriptList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTImageSelectorNode getImageSelector()
-    {
-        return this.imageSelector;
-    }
-
-    public void setImageSelector(ASTImageSelectorNode newValue)
-    {
-        this.imageSelector = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTSubstringRangeNode getSubstringRange()
-    {
-        return this.substringRange;
-    }
-
-    public void setSubstringRange(ASTSubstringRangeNode newValue)
-    {
-        this.substringRange = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTVariableNode(this);
-        visitor.visitIDataStmtObject(this);
-        visitor.visitIInputItem(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 7;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.dataRef;
-        case 1:  return this.stringConst;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.sectionSubscriptList;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.imageSelector;
-        case 6:  return this.substringRange;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.dataRef = (IASTListNode<ASTDataRefNode>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.stringConst = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.imageSelector = (ASTImageSelectorNode)value; if (value != null) value.setParent(this); return;
-        case 6:  this.substringRange = (ASTSubstringRangeNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVisitor.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVisitor.java
deleted file mode 100644
index 9a81ba5..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVisitor.java
+++ /dev/null
@@ -1,440 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTVisitor implements IASTVisitor
-{
-    protected void traverseChildren(IASTNode node)
-    {
-        for (IASTNode child : node.getChildren())
-            child.accept(this);
-    }
-
-    public void visitASTNode(IASTNode node) {}
-    public void visitToken(Token node) {}
-    public void visitASTListNode(IASTListNode<?> node) { traverseChildren(node); }
-    public void visitASTAcImpliedDoNode(ASTAcImpliedDoNode node) { traverseChildren(node); }
-    public void visitASTAcValueNode(ASTAcValueNode node) { traverseChildren(node); }
-    public void visitASTAccessSpecNode(ASTAccessSpecNode node) { traverseChildren(node); }
-    public void visitASTAccessStmtNode(ASTAccessStmtNode node) { traverseChildren(node); }
-    public void visitASTAllStopStmtNode(ASTAllStopStmtNode node) { traverseChildren(node); }
-    public void visitASTAllocatableStmtNode(ASTAllocatableStmtNode node) { traverseChildren(node); }
-    public void visitASTAllocateCoarraySpecNode(ASTAllocateCoarraySpecNode node) { traverseChildren(node); }
-    public void visitASTAllocateObjectNode(ASTAllocateObjectNode node) { traverseChildren(node); }
-    public void visitASTAllocateStmtNode(ASTAllocateStmtNode node) { traverseChildren(node); }
-    public void visitASTAllocatedShapeNode(ASTAllocatedShapeNode node) { traverseChildren(node); }
-    public void visitASTAllocationNode(ASTAllocationNode node) { traverseChildren(node); }
-    public void visitASTArithmeticIfStmtNode(ASTArithmeticIfStmtNode node) { traverseChildren(node); }
-    public void visitASTArrayAllocationNode(ASTArrayAllocationNode node) { traverseChildren(node); }
-    public void visitASTArrayConstructorNode(ASTArrayConstructorNode node) { traverseChildren(node); }
-    public void visitASTArrayDeclaratorNode(ASTArrayDeclaratorNode node) { traverseChildren(node); }
-    public void visitASTArrayElementNode(ASTArrayElementNode node) { traverseChildren(node); }
-    public void visitASTArrayNameNode(ASTArrayNameNode node) { traverseChildren(node); }
-    public void visitASTArraySpecNode(ASTArraySpecNode node) { traverseChildren(node); }
-    public void visitASTAssignStmtNode(ASTAssignStmtNode node) { traverseChildren(node); }
-    public void visitASTAssignedGotoStmtNode(ASTAssignedGotoStmtNode node) { traverseChildren(node); }
-    public void visitASTAssignmentStmtNode(ASTAssignmentStmtNode node) { traverseChildren(node); }
-    public void visitASTAssociateConstructNode(ASTAssociateConstructNode node) { traverseChildren(node); }
-    public void visitASTAssociateStmtNode(ASTAssociateStmtNode node) { traverseChildren(node); }
-    public void visitASTAssociationNode(ASTAssociationNode node) { traverseChildren(node); }
-    public void visitASTAssumedShapeSpecListNode(ASTAssumedShapeSpecListNode node) { traverseChildren(node); }
-    public void visitASTAssumedShapeSpecNode(ASTAssumedShapeSpecNode node) { traverseChildren(node); }
-    public void visitASTAssumedSizeSpecNode(ASTAssumedSizeSpecNode node) { traverseChildren(node); }
-    public void visitASTAsynchronousStmtNode(ASTAsynchronousStmtNode node) { traverseChildren(node); }
-    public void visitASTAttrSpecNode(ASTAttrSpecNode node) { traverseChildren(node); }
-    public void visitASTAttrSpecSeqNode(ASTAttrSpecSeqNode node) { traverseChildren(node); }
-    public void visitASTBackspaceStmtNode(ASTBackspaceStmtNode node) { traverseChildren(node); }
-    public void visitASTBinaryExprNode(ASTBinaryExprNode node) { traverseChildren(node); }
-    public void visitASTBindStmtNode(ASTBindStmtNode node) { traverseChildren(node); }
-    public void visitASTBindingAttrNode(ASTBindingAttrNode node) { traverseChildren(node); }
-    public void visitASTBindingPrivateStmtNode(ASTBindingPrivateStmtNode node) { traverseChildren(node); }
-    public void visitASTBlockConstructNode(ASTBlockConstructNode node) { traverseChildren(node); }
-    public void visitASTBlockDataNameNode(ASTBlockDataNameNode node) { traverseChildren(node); }
-    public void visitASTBlockDataStmtNode(ASTBlockDataStmtNode node) { traverseChildren(node); }
-    public void visitASTBlockDataSubprogramNode(ASTBlockDataSubprogramNode node) { traverseChildren(node); }
-    public void visitASTBlockDoConstructNode(ASTBlockDoConstructNode node) { traverseChildren(node); }
-    public void visitASTBlockStmtNode(ASTBlockStmtNode node) { traverseChildren(node); }
-    public void visitASTBodyPlusInternalsNode(ASTBodyPlusInternalsNode node) { traverseChildren(node); }
-    public void visitASTBozLiteralConstNode(ASTBozLiteralConstNode node) { traverseChildren(node); }
-    public void visitASTCExprNode(ASTCExprNode node) { traverseChildren(node); }
-    public void visitASTCOperandNode(ASTCOperandNode node) { traverseChildren(node); }
-    public void visitASTCPrimaryNode(ASTCPrimaryNode node) { traverseChildren(node); }
-    public void visitASTCallStmtNode(ASTCallStmtNode node) { traverseChildren(node); }
-    public void visitASTCaseConstructNode(ASTCaseConstructNode node) { traverseChildren(node); }
-    public void visitASTCaseSelectorNode(ASTCaseSelectorNode node) { traverseChildren(node); }
-    public void visitASTCaseStmtNode(ASTCaseStmtNode node) { traverseChildren(node); }
-    public void visitASTCaseValueRangeNode(ASTCaseValueRangeNode node) { traverseChildren(node); }
-    public void visitASTCharLenParamValueNode(ASTCharLenParamValueNode node) { traverseChildren(node); }
-    public void visitASTCharLengthNode(ASTCharLengthNode node) { traverseChildren(node); }
-    public void visitASTCharSelectorNode(ASTCharSelectorNode node) { traverseChildren(node); }
-    public void visitASTCloseSpecListNode(ASTCloseSpecListNode node) { traverseChildren(node); }
-    public void visitASTCloseSpecNode(ASTCloseSpecNode node) { traverseChildren(node); }
-    public void visitASTCloseStmtNode(ASTCloseStmtNode node) { traverseChildren(node); }
-    public void visitASTCoarraySpecNode(ASTCoarraySpecNode node) { traverseChildren(node); }
-    public void visitASTCodimensionDeclNode(ASTCodimensionDeclNode node) { traverseChildren(node); }
-    public void visitASTCodimensionStmtNode(ASTCodimensionStmtNode node) { traverseChildren(node); }
-    public void visitASTCommaExpNode(ASTCommaExpNode node) { traverseChildren(node); }
-    public void visitASTCommaLoopControlNode(ASTCommaLoopControlNode node) { traverseChildren(node); }
-    public void visitASTCommonBlockBinding(ASTCommonBlockBinding node) { traverseChildren(node); }
-    public void visitASTCommonBlockNameNode(ASTCommonBlockNameNode node) { traverseChildren(node); }
-    public void visitASTCommonBlockNode(ASTCommonBlockNode node) { traverseChildren(node); }
-    public void visitASTCommonBlockObjectNode(ASTCommonBlockObjectNode node) { traverseChildren(node); }
-    public void visitASTCommonStmtNode(ASTCommonStmtNode node) { traverseChildren(node); }
-    public void visitASTComplexConstNode(ASTComplexConstNode node) { traverseChildren(node); }
-    public void visitASTComponentArraySpecNode(ASTComponentArraySpecNode node) { traverseChildren(node); }
-    public void visitASTComponentAttrSpecNode(ASTComponentAttrSpecNode node) { traverseChildren(node); }
-    public void visitASTComponentDeclNode(ASTComponentDeclNode node) { traverseChildren(node); }
-    public void visitASTComponentInitializationNode(ASTComponentInitializationNode node) { traverseChildren(node); }
-    public void visitASTComponentNameNode(ASTComponentNameNode node) { traverseChildren(node); }
-    public void visitASTComputedGotoStmtNode(ASTComputedGotoStmtNode node) { traverseChildren(node); }
-    public void visitASTConnectSpecNode(ASTConnectSpecNode node) { traverseChildren(node); }
-    public void visitASTConstantNode(ASTConstantNode node) { traverseChildren(node); }
-    public void visitASTContainsStmtNode(ASTContainsStmtNode node) { traverseChildren(node); }
-    public void visitASTContiguousStmtNode(ASTContiguousStmtNode node) { traverseChildren(node); }
-    public void visitASTContinueStmtNode(ASTContinueStmtNode node) { traverseChildren(node); }
-    public void visitASTCrayPointerStmtNode(ASTCrayPointerStmtNode node) { traverseChildren(node); }
-    public void visitASTCrayPointerStmtObjectNode(ASTCrayPointerStmtObjectNode node) { traverseChildren(node); }
-    public void visitASTCriticalConstructNode(ASTCriticalConstructNode node) { traverseChildren(node); }
-    public void visitASTCriticalStmtNode(ASTCriticalStmtNode node) { traverseChildren(node); }
-    public void visitASTCycleStmtNode(ASTCycleStmtNode node) { traverseChildren(node); }
-    public void visitASTDataComponentDefStmtNode(ASTDataComponentDefStmtNode node) { traverseChildren(node); }
-    public void visitASTDataImpliedDoNode(ASTDataImpliedDoNode node) { traverseChildren(node); }
-    public void visitASTDataRefNode(ASTDataRefNode node) { traverseChildren(node); }
-    public void visitASTDataStmtConstantNode(ASTDataStmtConstantNode node) { traverseChildren(node); }
-    public void visitASTDataStmtNode(ASTDataStmtNode node) { traverseChildren(node); }
-    public void visitASTDataStmtSetNode(ASTDataStmtSetNode node) { traverseChildren(node); }
-    public void visitASTDataStmtValueNode(ASTDataStmtValueNode node) { traverseChildren(node); }
-    public void visitASTDatalistNode(ASTDatalistNode node) { traverseChildren(node); }
-    public void visitASTDblConstNode(ASTDblConstNode node) { traverseChildren(node); }
-    public void visitASTDeallocateStmtNode(ASTDeallocateStmtNode node) { traverseChildren(node); }
-    public void visitASTDeferredCoshapeSpecListNode(ASTDeferredCoshapeSpecListNode node) { traverseChildren(node); }
-    public void visitASTDeferredShapeSpecListNode(ASTDeferredShapeSpecListNode node) { traverseChildren(node); }
-    public void visitASTDeferredShapeSpecNode(ASTDeferredShapeSpecNode node) { traverseChildren(node); }
-    public void visitASTDerivedTypeDefNode(ASTDerivedTypeDefNode node) { traverseChildren(node); }
-    public void visitASTDerivedTypeQualifiersNode(ASTDerivedTypeQualifiersNode node) { traverseChildren(node); }
-    public void visitASTDerivedTypeSpecNode(ASTDerivedTypeSpecNode node) { traverseChildren(node); }
-    public void visitASTDerivedTypeStmtNode(ASTDerivedTypeStmtNode node) { traverseChildren(node); }
-    public void visitASTDimensionStmtNode(ASTDimensionStmtNode node) { traverseChildren(node); }
-    public void visitASTDoConstructNode(ASTDoConstructNode node) { traverseChildren(node); }
-    public void visitASTDummyArgNameNode(ASTDummyArgNameNode node) { traverseChildren(node); }
-    public void visitASTEditElementNode(ASTEditElementNode node) { traverseChildren(node); }
-    public void visitASTElseConstructNode(ASTElseConstructNode node) { traverseChildren(node); }
-    public void visitASTElseIfConstructNode(ASTElseIfConstructNode node) { traverseChildren(node); }
-    public void visitASTElseIfStmtNode(ASTElseIfStmtNode node) { traverseChildren(node); }
-    public void visitASTElsePartNode(ASTElsePartNode node) { traverseChildren(node); }
-    public void visitASTElseStmtNode(ASTElseStmtNode node) { traverseChildren(node); }
-    public void visitASTElseWhereConstructNode(ASTElseWhereConstructNode node) { traverseChildren(node); }
-    public void visitASTElseWherePartNode(ASTElseWherePartNode node) { traverseChildren(node); }
-    public void visitASTElseWhereStmtNode(ASTElseWhereStmtNode node) { traverseChildren(node); }
-    public void visitASTEmptyProgramNode(ASTEmptyProgramNode node) { traverseChildren(node); }
-    public void visitASTEndAssociateStmtNode(ASTEndAssociateStmtNode node) { traverseChildren(node); }
-    public void visitASTEndBlockDataStmtNode(ASTEndBlockDataStmtNode node) { traverseChildren(node); }
-    public void visitASTEndBlockStmtNode(ASTEndBlockStmtNode node) { traverseChildren(node); }
-    public void visitASTEndCriticalStmtNode(ASTEndCriticalStmtNode node) { traverseChildren(node); }
-    public void visitASTEndDoStmtNode(ASTEndDoStmtNode node) { traverseChildren(node); }
-    public void visitASTEndEnumStmtNode(ASTEndEnumStmtNode node) { traverseChildren(node); }
-    public void visitASTEndForallStmtNode(ASTEndForallStmtNode node) { traverseChildren(node); }
-    public void visitASTEndFunctionStmtNode(ASTEndFunctionStmtNode node) { traverseChildren(node); }
-    public void visitASTEndIfStmtNode(ASTEndIfStmtNode node) { traverseChildren(node); }
-    public void visitASTEndInterfaceStmtNode(ASTEndInterfaceStmtNode node) { traverseChildren(node); }
-    public void visitASTEndModuleStmtNode(ASTEndModuleStmtNode node) { traverseChildren(node); }
-    public void visitASTEndMpSubprogramStmtNode(ASTEndMpSubprogramStmtNode node) { traverseChildren(node); }
-    public void visitASTEndNameNode(ASTEndNameNode node) { traverseChildren(node); }
-    public void visitASTEndProgramStmtNode(ASTEndProgramStmtNode node) { traverseChildren(node); }
-    public void visitASTEndSelectStmtNode(ASTEndSelectStmtNode node) { traverseChildren(node); }
-    public void visitASTEndSelectTypeStmtNode(ASTEndSelectTypeStmtNode node) { traverseChildren(node); }
-    public void visitASTEndSubmoduleStmtNode(ASTEndSubmoduleStmtNode node) { traverseChildren(node); }
-    public void visitASTEndSubroutineStmtNode(ASTEndSubroutineStmtNode node) { traverseChildren(node); }
-    public void visitASTEndTypeStmtNode(ASTEndTypeStmtNode node) { traverseChildren(node); }
-    public void visitASTEndWhereStmtNode(ASTEndWhereStmtNode node) { traverseChildren(node); }
-    public void visitASTEndfileStmtNode(ASTEndfileStmtNode node) { traverseChildren(node); }
-    public void visitASTEntityDeclNode(ASTEntityDeclNode node) { traverseChildren(node); }
-    public void visitASTEntryNameNode(ASTEntryNameNode node) { traverseChildren(node); }
-    public void visitASTEntryStmtNode(ASTEntryStmtNode node) { traverseChildren(node); }
-    public void visitASTEnumDefNode(ASTEnumDefNode node) { traverseChildren(node); }
-    public void visitASTEnumDefStmtNode(ASTEnumDefStmtNode node) { traverseChildren(node); }
-    public void visitASTEnumeratorDefStmtNode(ASTEnumeratorDefStmtNode node) { traverseChildren(node); }
-    public void visitASTEnumeratorNode(ASTEnumeratorNode node) { traverseChildren(node); }
-    public void visitASTEquivalenceObjectListNode(ASTEquivalenceObjectListNode node) { traverseChildren(node); }
-    public void visitASTEquivalenceObjectNode(ASTEquivalenceObjectNode node) { traverseChildren(node); }
-    public void visitASTEquivalenceSetNode(ASTEquivalenceSetNode node) { traverseChildren(node); }
-    public void visitASTEquivalenceStmtNode(ASTEquivalenceStmtNode node) { traverseChildren(node); }
-    public void visitASTErrorConstructNode(ASTErrorConstructNode node) { traverseChildren(node); }
-    public void visitASTErrorProgramUnitNode(ASTErrorProgramUnitNode node) { traverseChildren(node); }
-    public void visitASTExecutableProgramNode(ASTExecutableProgramNode node) { traverseChildren(node); }
-    public void visitASTExitStmtNode(ASTExitStmtNode node) { traverseChildren(node); }
-    public void visitASTExplicitCoshapeSpecNode(ASTExplicitCoshapeSpecNode node) { traverseChildren(node); }
-    public void visitASTExplicitShapeSpecNode(ASTExplicitShapeSpecNode node) { traverseChildren(node); }
-    public void visitASTExternalNameListNode(ASTExternalNameListNode node) { traverseChildren(node); }
-    public void visitASTExternalNameNode(ASTExternalNameNode node) { traverseChildren(node); }
-    public void visitASTExternalStmtNode(ASTExternalStmtNode node) { traverseChildren(node); }
-    public void visitASTFieldSelectorNode(ASTFieldSelectorNode node) { traverseChildren(node); }
-    public void visitASTFinalBindingNode(ASTFinalBindingNode node) { traverseChildren(node); }
-    public void visitASTFmtSpecNode(ASTFmtSpecNode node) { traverseChildren(node); }
-    public void visitASTForallConstructNode(ASTForallConstructNode node) { traverseChildren(node); }
-    public void visitASTForallConstructStmtNode(ASTForallConstructStmtNode node) { traverseChildren(node); }
-    public void visitASTForallHeaderNode(ASTForallHeaderNode node) { traverseChildren(node); }
-    public void visitASTForallStmtNode(ASTForallStmtNode node) { traverseChildren(node); }
-    public void visitASTForallTripletSpecListNode(ASTForallTripletSpecListNode node) { traverseChildren(node); }
-    public void visitASTFormatEditNode(ASTFormatEditNode node) { traverseChildren(node); }
-    public void visitASTFormatIdentifierNode(ASTFormatIdentifierNode node) { traverseChildren(node); }
-    public void visitASTFormatStmtNode(ASTFormatStmtNode node) { traverseChildren(node); }
-    public void visitASTFormatsepNode(ASTFormatsepNode node) { traverseChildren(node); }
-    public void visitASTFunctionArgListNode(ASTFunctionArgListNode node) { traverseChildren(node); }
-    public void visitASTFunctionArgNode(ASTFunctionArgNode node) { traverseChildren(node); }
-    public void visitASTFunctionInterfaceRangeNode(ASTFunctionInterfaceRangeNode node) { traverseChildren(node); }
-    public void visitASTFunctionNameNode(ASTFunctionNameNode node) { traverseChildren(node); }
-    public void visitASTFunctionParNode(ASTFunctionParNode node) { traverseChildren(node); }
-    public void visitASTFunctionPrefixNode(ASTFunctionPrefixNode node) { traverseChildren(node); }
-    public void visitASTFunctionRangeNode(ASTFunctionRangeNode node) { traverseChildren(node); }
-    public void visitASTFunctionReferenceNode(ASTFunctionReferenceNode node) { traverseChildren(node); }
-    public void visitASTFunctionStmtNode(ASTFunctionStmtNode node) { traverseChildren(node); }
-    public void visitASTFunctionSubprogramNode(ASTFunctionSubprogramNode node) { traverseChildren(node); }
-    public void visitASTGenericBindingNode(ASTGenericBindingNode node) { traverseChildren(node); }
-    public void visitASTGenericNameNode(ASTGenericNameNode node) { traverseChildren(node); }
-    public void visitASTGenericSpecNode(ASTGenericSpecNode node) { traverseChildren(node); }
-    public void visitASTGoToKwNode(ASTGoToKwNode node) { traverseChildren(node); }
-    public void visitASTGotoStmtNode(ASTGotoStmtNode node) { traverseChildren(node); }
-    public void visitASTIfConstructNode(ASTIfConstructNode node) { traverseChildren(node); }
-    public void visitASTIfStmtNode(ASTIfStmtNode node) { traverseChildren(node); }
-    public void visitASTIfThenErrorNode(ASTIfThenErrorNode node) { traverseChildren(node); }
-    public void visitASTIfThenStmtNode(ASTIfThenStmtNode node) { traverseChildren(node); }
-    public void visitASTImageSelectorNode(ASTImageSelectorNode node) { traverseChildren(node); }
-    public void visitASTImageSetNode(ASTImageSetNode node) { traverseChildren(node); }
-    public void visitASTImplicitSpecNode(ASTImplicitSpecNode node) { traverseChildren(node); }
-    public void visitASTImplicitStmtNode(ASTImplicitStmtNode node) { traverseChildren(node); }
-    public void visitASTImpliedDoVariableNode(ASTImpliedDoVariableNode node) { traverseChildren(node); }
-    public void visitASTImportStmtNode(ASTImportStmtNode node) { traverseChildren(node); }
-    public void visitASTInitializationNode(ASTInitializationNode node) { traverseChildren(node); }
-    public void visitASTInputImpliedDoNode(ASTInputImpliedDoNode node) { traverseChildren(node); }
-    public void visitASTInquireSpecListNode(ASTInquireSpecListNode node) { traverseChildren(node); }
-    public void visitASTInquireSpecNode(ASTInquireSpecNode node) { traverseChildren(node); }
-    public void visitASTInquireStmtNode(ASTInquireStmtNode node) { traverseChildren(node); }
-    public void visitASTIntConstNode(ASTIntConstNode node) { traverseChildren(node); }
-    public void visitASTIntentParListNode(ASTIntentParListNode node) { traverseChildren(node); }
-    public void visitASTIntentParNode(ASTIntentParNode node) { traverseChildren(node); }
-    public void visitASTIntentSpecNode(ASTIntentSpecNode node) { traverseChildren(node); }
-    public void visitASTIntentStmtNode(ASTIntentStmtNode node) { traverseChildren(node); }
-    public void visitASTInterfaceBlockNode(ASTInterfaceBlockNode node) { traverseChildren(node); }
-    public void visitASTInterfaceBodyNode(ASTInterfaceBodyNode node) { traverseChildren(node); }
-    public void visitASTInterfaceRangeNode(ASTInterfaceRangeNode node) { traverseChildren(node); }
-    public void visitASTInterfaceStmtNode(ASTInterfaceStmtNode node) { traverseChildren(node); }
-    public void visitASTIntrinsicListNode(ASTIntrinsicListNode node) { traverseChildren(node); }
-    public void visitASTIntrinsicProcedureNameNode(ASTIntrinsicProcedureNameNode node) { traverseChildren(node); }
-    public void visitASTIntrinsicStmtNode(ASTIntrinsicStmtNode node) { traverseChildren(node); }
-    public void visitASTInvalidEntityDeclNode(ASTInvalidEntityDeclNode node) { traverseChildren(node); }
-    public void visitASTIoControlSpecListNode(ASTIoControlSpecListNode node) { traverseChildren(node); }
-    public void visitASTIoControlSpecNode(ASTIoControlSpecNode node) { traverseChildren(node); }
-    public void visitASTKindParamNode(ASTKindParamNode node) { traverseChildren(node); }
-    public void visitASTKindSelectorNode(ASTKindSelectorNode node) { traverseChildren(node); }
-    public void visitASTLabelDoStmtNode(ASTLabelDoStmtNode node) { traverseChildren(node); }
-    public void visitASTLabelNode(ASTLabelNode node) { traverseChildren(node); }
-    public void visitASTLanguageBindingSpecNode(ASTLanguageBindingSpecNode node) { traverseChildren(node); }
-    public void visitASTLblDefNode(ASTLblDefNode node) { traverseChildren(node); }
-    public void visitASTLblRefListNode(ASTLblRefListNode node) { traverseChildren(node); }
-    public void visitASTLblRefNode(ASTLblRefNode node) { traverseChildren(node); }
-    public void visitASTLockStmtNode(ASTLockStmtNode node) { traverseChildren(node); }
-    public void visitASTLogicalConstNode(ASTLogicalConstNode node) { traverseChildren(node); }
-    public void visitASTLoopControlNode(ASTLoopControlNode node) { traverseChildren(node); }
-    public void visitASTLowerBoundNode(ASTLowerBoundNode node) { traverseChildren(node); }
-    public void visitASTMainProgramNode(ASTMainProgramNode node) { traverseChildren(node); }
-    public void visitASTMainRangeNode(ASTMainRangeNode node) { traverseChildren(node); }
-    public void visitASTMaskExprNode(ASTMaskExprNode node) { traverseChildren(node); }
-    public void visitASTMaskedElseWhereConstructNode(ASTMaskedElseWhereConstructNode node) { traverseChildren(node); }
-    public void visitASTMaskedElseWhereStmtNode(ASTMaskedElseWhereStmtNode node) { traverseChildren(node); }
-    public void visitASTModuleBlockNode(ASTModuleBlockNode node) { traverseChildren(node); }
-    public void visitASTModuleNameNode(ASTModuleNameNode node) { traverseChildren(node); }
-    public void visitASTModuleNatureNode(ASTModuleNatureNode node) { traverseChildren(node); }
-    public void visitASTModuleNode(ASTModuleNode node) { traverseChildren(node); }
-    public void visitASTModuleProcedureStmtNode(ASTModuleProcedureStmtNode node) { traverseChildren(node); }
-    public void visitASTModuleStmtNode(ASTModuleStmtNode node) { traverseChildren(node); }
-    public void visitASTMpSubprogramRangeNode(ASTMpSubprogramRangeNode node) { traverseChildren(node); }
-    public void visitASTMpSubprogramStmtNode(ASTMpSubprogramStmtNode node) { traverseChildren(node); }
-    public void visitASTNameNode(ASTNameNode node) { traverseChildren(node); }
-    public void visitASTNamedConstantDefNode(ASTNamedConstantDefNode node) { traverseChildren(node); }
-    public void visitASTNamedConstantNode(ASTNamedConstantNode node) { traverseChildren(node); }
-    public void visitASTNamedConstantUseNode(ASTNamedConstantUseNode node) { traverseChildren(node); }
-    public void visitASTNamelistGroupNameNode(ASTNamelistGroupNameNode node) { traverseChildren(node); }
-    public void visitASTNamelistGroupObjectNode(ASTNamelistGroupObjectNode node) { traverseChildren(node); }
-    public void visitASTNamelistGroupsNode(ASTNamelistGroupsNode node) { traverseChildren(node); }
-    public void visitASTNamelistStmtNode(ASTNamelistStmtNode node) { traverseChildren(node); }
-    public void visitASTNestedExprNode(ASTNestedExprNode node) { traverseChildren(node); }
-    public void visitASTNullifyStmtNode(ASTNullifyStmtNode node) { traverseChildren(node); }
-    public void visitASTObjectNameListNode(ASTObjectNameListNode node) { traverseChildren(node); }
-    public void visitASTObjectNameNode(ASTObjectNameNode node) { traverseChildren(node); }
-    public void visitASTOnlyNode(ASTOnlyNode node) { traverseChildren(node); }
-    public void visitASTOpenStmtNode(ASTOpenStmtNode node) { traverseChildren(node); }
-    public void visitASTOperatorNode(ASTOperatorNode node) { traverseChildren(node); }
-    public void visitASTOptionalParListNode(ASTOptionalParListNode node) { traverseChildren(node); }
-    public void visitASTOptionalParNode(ASTOptionalParNode node) { traverseChildren(node); }
-    public void visitASTOptionalStmtNode(ASTOptionalStmtNode node) { traverseChildren(node); }
-    public void visitASTOutputImpliedDoNode(ASTOutputImpliedDoNode node) { traverseChildren(node); }
-    public void visitASTOutputItemList1Node(ASTOutputItemList1Node node) { traverseChildren(node); }
-    public void visitASTOutputItemListNode(ASTOutputItemListNode node) { traverseChildren(node); }
-    public void visitASTParameterStmtNode(ASTParameterStmtNode node) { traverseChildren(node); }
-    public void visitASTParentIdentifierNode(ASTParentIdentifierNode node) { traverseChildren(node); }
-    public void visitASTParenthesizedSubroutineArgListNode(ASTParenthesizedSubroutineArgListNode node) { traverseChildren(node); }
-    public void visitASTPauseStmtNode(ASTPauseStmtNode node) { traverseChildren(node); }
-    public void visitASTPointerFieldNode(ASTPointerFieldNode node) { traverseChildren(node); }
-    public void visitASTPointerNameNode(ASTPointerNameNode node) { traverseChildren(node); }
-    public void visitASTPointerObjectNode(ASTPointerObjectNode node) { traverseChildren(node); }
-    public void visitASTPointerStmtNode(ASTPointerStmtNode node) { traverseChildren(node); }
-    public void visitASTPointerStmtObjectNode(ASTPointerStmtObjectNode node) { traverseChildren(node); }
-    public void visitASTPositionSpecListNode(ASTPositionSpecListNode node) { traverseChildren(node); }
-    public void visitASTPositionSpecNode(ASTPositionSpecNode node) { traverseChildren(node); }
-    public void visitASTPrefixSpecNode(ASTPrefixSpecNode node) { traverseChildren(node); }
-    public void visitASTPrintStmtNode(ASTPrintStmtNode node) { traverseChildren(node); }
-    public void visitASTPrivateSequenceStmtNode(ASTPrivateSequenceStmtNode node) { traverseChildren(node); }
-    public void visitASTProcComponentAttrSpecNode(ASTProcComponentAttrSpecNode node) { traverseChildren(node); }
-    public void visitASTProcComponentDefStmtNode(ASTProcComponentDefStmtNode node) { traverseChildren(node); }
-    public void visitASTProcDeclNode(ASTProcDeclNode node) { traverseChildren(node); }
-    public void visitASTProcInterfaceNode(ASTProcInterfaceNode node) { traverseChildren(node); }
-    public void visitASTProcedureDeclarationStmtNode(ASTProcedureDeclarationStmtNode node) { traverseChildren(node); }
-    public void visitASTProcedureNameListNode(ASTProcedureNameListNode node) { traverseChildren(node); }
-    public void visitASTProcedureNameNode(ASTProcedureNameNode node) { traverseChildren(node); }
-    public void visitASTProgramNameNode(ASTProgramNameNode node) { traverseChildren(node); }
-    public void visitASTProgramStmtNode(ASTProgramStmtNode node) { traverseChildren(node); }
-    public void visitASTProtectedStmtNode(ASTProtectedStmtNode node) { traverseChildren(node); }
-    public void visitASTRdCtlSpecNode(ASTRdCtlSpecNode node) { traverseChildren(node); }
-    public void visitASTRdFmtIdExprNode(ASTRdFmtIdExprNode node) { traverseChildren(node); }
-    public void visitASTRdFmtIdNode(ASTRdFmtIdNode node) { traverseChildren(node); }
-    public void visitASTRdIoCtlSpecListNode(ASTRdIoCtlSpecListNode node) { traverseChildren(node); }
-    public void visitASTRdUnitIdNode(ASTRdUnitIdNode node) { traverseChildren(node); }
-    public void visitASTReadStmtNode(ASTReadStmtNode node) { traverseChildren(node); }
-    public void visitASTRealConstNode(ASTRealConstNode node) { traverseChildren(node); }
-    public void visitASTRenameNode(ASTRenameNode node) { traverseChildren(node); }
-    public void visitASTReturnStmtNode(ASTReturnStmtNode node) { traverseChildren(node); }
-    public void visitASTRewindStmtNode(ASTRewindStmtNode node) { traverseChildren(node); }
-    public void visitASTSFDataRefNode(ASTSFDataRefNode node) { traverseChildren(node); }
-    public void visitASTSFDummyArgNameListNode(ASTSFDummyArgNameListNode node) { traverseChildren(node); }
-    public void visitASTSFDummyArgNameNode(ASTSFDummyArgNameNode node) { traverseChildren(node); }
-    public void visitASTSFExprListNode(ASTSFExprListNode node) { traverseChildren(node); }
-    public void visitASTSFExprNode(ASTSFExprNode node) { traverseChildren(node); }
-    public void visitASTSFFactorNode(ASTSFFactorNode node) { traverseChildren(node); }
-    public void visitASTSFPrimaryNode(ASTSFPrimaryNode node) { traverseChildren(node); }
-    public void visitASTSFTermNode(ASTSFTermNode node) { traverseChildren(node); }
-    public void visitASTSFVarNameNode(ASTSFVarNameNode node) { traverseChildren(node); }
-    public void visitASTSaveStmtNode(ASTSaveStmtNode node) { traverseChildren(node); }
-    public void visitASTSavedCommonBlockNode(ASTSavedCommonBlockNode node) { traverseChildren(node); }
-    public void visitASTSavedEntityNode(ASTSavedEntityNode node) { traverseChildren(node); }
-    public void visitASTScalarMaskExprNode(ASTScalarMaskExprNode node) { traverseChildren(node); }
-    public void visitASTScalarVariableNode(ASTScalarVariableNode node) { traverseChildren(node); }
-    public void visitASTSectionSubscriptNode(ASTSectionSubscriptNode node) { traverseChildren(node); }
-    public void visitASTSelectCaseRangeNode(ASTSelectCaseRangeNode node) { traverseChildren(node); }
-    public void visitASTSelectCaseStmtNode(ASTSelectCaseStmtNode node) { traverseChildren(node); }
-    public void visitASTSelectTypeBodyNode(ASTSelectTypeBodyNode node) { traverseChildren(node); }
-    public void visitASTSelectTypeConstructNode(ASTSelectTypeConstructNode node) { traverseChildren(node); }
-    public void visitASTSelectTypeStmtNode(ASTSelectTypeStmtNode node) { traverseChildren(node); }
-    public void visitASTSeparateModuleSubprogramNode(ASTSeparateModuleSubprogramNode node) { traverseChildren(node); }
-    public void visitASTSignNode(ASTSignNode node) { traverseChildren(node); }
-    public void visitASTSpecificBindingNode(ASTSpecificBindingNode node) { traverseChildren(node); }
-    public void visitASTStmtFunctionRangeNode(ASTStmtFunctionRangeNode node) { traverseChildren(node); }
-    public void visitASTStmtFunctionStmtNode(ASTStmtFunctionStmtNode node) { traverseChildren(node); }
-    public void visitASTStopStmtNode(ASTStopStmtNode node) { traverseChildren(node); }
-    public void visitASTStringConstNode(ASTStringConstNode node) { traverseChildren(node); }
-    public void visitASTStructureComponentNode(ASTStructureComponentNode node) { traverseChildren(node); }
-    public void visitASTStructureConstructorNode(ASTStructureConstructorNode node) { traverseChildren(node); }
-    public void visitASTSubmoduleBlockNode(ASTSubmoduleBlockNode node) { traverseChildren(node); }
-    public void visitASTSubmoduleNode(ASTSubmoduleNode node) { traverseChildren(node); }
-    public void visitASTSubmoduleStmtNode(ASTSubmoduleStmtNode node) { traverseChildren(node); }
-    public void visitASTSubroutineArgNode(ASTSubroutineArgNode node) { traverseChildren(node); }
-    public void visitASTSubroutineInterfaceRangeNode(ASTSubroutineInterfaceRangeNode node) { traverseChildren(node); }
-    public void visitASTSubroutineNameNode(ASTSubroutineNameNode node) { traverseChildren(node); }
-    public void visitASTSubroutineNameUseNode(ASTSubroutineNameUseNode node) { traverseChildren(node); }
-    public void visitASTSubroutineParNode(ASTSubroutineParNode node) { traverseChildren(node); }
-    public void visitASTSubroutinePrefixNode(ASTSubroutinePrefixNode node) { traverseChildren(node); }
-    public void visitASTSubroutineRangeNode(ASTSubroutineRangeNode node) { traverseChildren(node); }
-    public void visitASTSubroutineStmtNode(ASTSubroutineStmtNode node) { traverseChildren(node); }
-    public void visitASTSubroutineSubprogramNode(ASTSubroutineSubprogramNode node) { traverseChildren(node); }
-    public void visitASTSubscriptNode(ASTSubscriptNode node) { traverseChildren(node); }
-    public void visitASTSubscriptTripletNode(ASTSubscriptTripletNode node) { traverseChildren(node); }
-    public void visitASTSubstrConstNode(ASTSubstrConstNode node) { traverseChildren(node); }
-    public void visitASTSubstringRangeNode(ASTSubstringRangeNode node) { traverseChildren(node); }
-    public void visitASTSyncAllStmtNode(ASTSyncAllStmtNode node) { traverseChildren(node); }
-    public void visitASTSyncImagesStmtNode(ASTSyncImagesStmtNode node) { traverseChildren(node); }
-    public void visitASTSyncMemoryStmtNode(ASTSyncMemoryStmtNode node) { traverseChildren(node); }
-    public void visitASTSyncStatNode(ASTSyncStatNode node) { traverseChildren(node); }
-    public void visitASTTargetNameNode(ASTTargetNameNode node) { traverseChildren(node); }
-    public void visitASTTargetNode(ASTTargetNode node) { traverseChildren(node); }
-    public void visitASTTargetObjectNode(ASTTargetObjectNode node) { traverseChildren(node); }
-    public void visitASTTargetStmtNode(ASTTargetStmtNode node) { traverseChildren(node); }
-    public void visitASTThenPartNode(ASTThenPartNode node) { traverseChildren(node); }
-    public void visitASTTypeAttrSpecNode(ASTTypeAttrSpecNode node) { traverseChildren(node); }
-    public void visitASTTypeBoundProcedurePartNode(ASTTypeBoundProcedurePartNode node) { traverseChildren(node); }
-    public void visitASTTypeDeclarationStmtNode(ASTTypeDeclarationStmtNode node) { traverseChildren(node); }
-    public void visitASTTypeGuardStmtNode(ASTTypeGuardStmtNode node) { traverseChildren(node); }
-    public void visitASTTypeNameNode(ASTTypeNameNode node) { traverseChildren(node); }
-    public void visitASTTypeParamAttrSpecNode(ASTTypeParamAttrSpecNode node) { traverseChildren(node); }
-    public void visitASTTypeParamDeclNode(ASTTypeParamDeclNode node) { traverseChildren(node); }
-    public void visitASTTypeParamDefStmtNode(ASTTypeParamDefStmtNode node) { traverseChildren(node); }
-    public void visitASTTypeParamNameNode(ASTTypeParamNameNode node) { traverseChildren(node); }
-    public void visitASTTypeParamSpecNode(ASTTypeParamSpecNode node) { traverseChildren(node); }
-    public void visitASTTypeParamValueNode(ASTTypeParamValueNode node) { traverseChildren(node); }
-    public void visitASTTypeSpecNode(ASTTypeSpecNode node) { traverseChildren(node); }
-    public void visitASTUFExprNode(ASTUFExprNode node) { traverseChildren(node); }
-    public void visitASTUFFactorNode(ASTUFFactorNode node) { traverseChildren(node); }
-    public void visitASTUFPrimaryNode(ASTUFPrimaryNode node) { traverseChildren(node); }
-    public void visitASTUFTermNode(ASTUFTermNode node) { traverseChildren(node); }
-    public void visitASTUnaryExprNode(ASTUnaryExprNode node) { traverseChildren(node); }
-    public void visitASTUnitIdentifierNode(ASTUnitIdentifierNode node) { traverseChildren(node); }
-    public void visitASTUnlockStmtNode(ASTUnlockStmtNode node) { traverseChildren(node); }
-    public void visitASTUnprocessedIncludeStmtNode(ASTUnprocessedIncludeStmtNode node) { traverseChildren(node); }
-    public void visitASTUpperBoundNode(ASTUpperBoundNode node) { traverseChildren(node); }
-    public void visitASTUseNameNode(ASTUseNameNode node) { traverseChildren(node); }
-    public void visitASTUseStmtNode(ASTUseStmtNode node) { traverseChildren(node); }
-    public void visitASTValueStmtNode(ASTValueStmtNode node) { traverseChildren(node); }
-    public void visitASTVarOrFnRefNode(ASTVarOrFnRefNode node) { traverseChildren(node); }
-    public void visitASTVariableCommaNode(ASTVariableCommaNode node) { traverseChildren(node); }
-    public void visitASTVariableNameNode(ASTVariableNameNode node) { traverseChildren(node); }
-    public void visitASTVariableNode(ASTVariableNode node) { traverseChildren(node); }
-    public void visitASTVolatileStmtNode(ASTVolatileStmtNode node) { traverseChildren(node); }
-    public void visitASTWaitSpecNode(ASTWaitSpecNode node) { traverseChildren(node); }
-    public void visitASTWaitStmtNode(ASTWaitStmtNode node) { traverseChildren(node); }
-    public void visitASTWhereConstructNode(ASTWhereConstructNode node) { traverseChildren(node); }
-    public void visitASTWhereConstructStmtNode(ASTWhereConstructStmtNode node) { traverseChildren(node); }
-    public void visitASTWhereRangeNode(ASTWhereRangeNode node) { traverseChildren(node); }
-    public void visitASTWhereStmtNode(ASTWhereStmtNode node) { traverseChildren(node); }
-    public void visitASTWriteStmtNode(ASTWriteStmtNode node) { traverseChildren(node); }
-    public void visitIAccessId(IAccessId node) {}
-    public void visitIActionStmt(IActionStmt node) {}
-    public void visitIBindEntity(IBindEntity node) {}
-    public void visitIBlockDataBodyConstruct(IBlockDataBodyConstruct node) {}
-    public void visitIBodyConstruct(IBodyConstruct node) {}
-    public void visitICaseBodyConstruct(ICaseBodyConstruct node) {}
-    public void visitIComponentDefStmt(IComponentDefStmt node) {}
-    public void visitIDataIDoObject(IDataIDoObject node) {}
-    public void visitIDataStmtObject(IDataStmtObject node) {}
-    public void visitIDeclarationConstruct(IDeclarationConstruct node) {}
-    public void visitIDefinedOperator(IDefinedOperator node) {}
-    public void visitIDerivedTypeBodyConstruct(IDerivedTypeBodyConstruct node) {}
-    public void visitIExecutableConstruct(IExecutableConstruct node) {}
-    public void visitIExecutionPartConstruct(IExecutionPartConstruct node) {}
-    public void visitIExpr(IExpr node) {}
-    public void visitIForallBodyConstruct(IForallBodyConstruct node) {}
-    public void visitIInputItem(IInputItem node) {}
-    public void visitIInterfaceSpecification(IInterfaceSpecification node) {}
-    public void visitIInternalSubprogram(IInternalSubprogram node) {}
-    public void visitIModuleBodyConstruct(IModuleBodyConstruct node) {}
-    public void visitIModuleSubprogram(IModuleSubprogram node) {}
-    public void visitIModuleSubprogramPartConstruct(IModuleSubprogramPartConstruct node) {}
-    public void visitIObsoleteActionStmt(IObsoleteActionStmt node) {}
-    public void visitIObsoleteExecutionPartConstruct(IObsoleteExecutionPartConstruct node) {}
-    public void visitIProcBindingStmt(IProcBindingStmt node) {}
-    public void visitIProgramUnit(IProgramUnit node) {}
-    public void visitISelector(ISelector node) {}
-    public void visitISpecificationPartConstruct(ISpecificationPartConstruct node) {}
-    public void visitISpecificationStmt(ISpecificationStmt node) {}
-    public void visitIUnsignedArithmeticConst(IUnsignedArithmeticConst node) {}
-    public void visitIWhereBodyConstruct(IWhereBodyConstruct node) {}
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVolatileStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVolatileStmtNode.java
deleted file mode 100644
index d08389a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTVolatileStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTVolatileStmtNode extends ASTNode implements ISpecificationStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTVolatileStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTVolatile; // in ASTVolatileStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTVolatileStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon2; // in ASTVolatileStmtNode
-    IASTListNode<org.eclipse.photran.internal.core.lexer.Token> entityNameList; // in ASTVolatileStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTVolatileStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<org.eclipse.photran.internal.core.lexer.Token> getEntityNameList()
-    {
-        return this.entityNameList;
-    }
-
-    public void setEntityNameList(IASTListNode<org.eclipse.photran.internal.core.lexer.Token> newValue)
-    {
-        this.entityNameList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTVolatileStmtNode(this);
-        visitor.visitISpecificationStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTVolatile;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTColon2;
-        case 4:  return this.entityNameList;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTVolatile = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.entityNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWaitSpecNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWaitSpecNode.java
deleted file mode 100644
index 0a67202..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWaitSpecNode.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTWaitSpecNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token keyword; // in ASTWaitSpecNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEquals; // in ASTWaitSpecNode
-    IExpr expr; // in ASTWaitSpecNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getKeyword()
-    {
-        return this.keyword;
-    }
-
-    public void setKeyword(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.keyword = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IExpr getExpr()
-    {
-        return this.expr;
-    }
-
-    public void setExpr(IExpr newValue)
-    {
-        this.expr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTWaitSpecNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.keyword;
-        case 1:  return this.hiddenTEquals;
-        case 2:  return this.expr;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.keyword = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.expr = (IExpr)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWaitStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWaitStmtNode.java
deleted file mode 100644
index 9bf10e9..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWaitStmtNode.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTWaitStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTWaitStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTWait; // in ASTWaitStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTWaitStmtNode
-    IASTListNode<ASTWaitSpecNode> waitSpecList; // in ASTWaitStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTWaitStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTWaitStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTWaitSpecNode> getWaitSpecList()
-    {
-        return this.waitSpecList;
-    }
-
-    public void setWaitSpecList(IASTListNode<ASTWaitSpecNode> newValue)
-    {
-        this.waitSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTWaitStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTWait;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.waitSpecList;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTWait = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.waitSpecList = (IASTListNode<ASTWaitSpecNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereConstructNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereConstructNode.java
deleted file mode 100644
index 025bec9..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereConstructNode.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTWhereConstructNode extends ASTNode implements IBodyConstruct, ICaseBodyConstruct, IExecutableConstruct, IExecutionPartConstruct, IForallBodyConstruct, IWhereBodyConstruct
-{
-    ASTWhereConstructStmtNode whereConstructStmt; // in ASTWhereConstructNode
-    IASTListNode<IWhereBodyConstruct> whereBodyConstructBlock; // in ASTWhereConstructNode
-    ASTElseWhereConstructNode elseWhereConstruct; // in ASTWhereConstructNode
-    ASTMaskedElseWhereConstructNode maskedElseWhereConstruct; // in ASTWhereConstructNode
-    ASTEndWhereStmtNode endWhereStmt; // in ASTWhereConstructNode
-
-    public ASTWhereConstructStmtNode getWhereConstructStmt()
-    {
-        return this.whereConstructStmt;
-    }
-
-    public void setWhereConstructStmt(ASTWhereConstructStmtNode newValue)
-    {
-        this.whereConstructStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<IWhereBodyConstruct> getWhereBodyConstructBlock()
-    {
-        return this.whereBodyConstructBlock;
-    }
-
-    public void setWhereBodyConstructBlock(IASTListNode<IWhereBodyConstruct> newValue)
-    {
-        this.whereBodyConstructBlock = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTElseWhereConstructNode getElseWhereConstruct()
-    {
-        return this.elseWhereConstruct;
-    }
-
-    public void setElseWhereConstruct(ASTElseWhereConstructNode newValue)
-    {
-        this.elseWhereConstruct = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTMaskedElseWhereConstructNode getMaskedElseWhereConstruct()
-    {
-        return this.maskedElseWhereConstruct;
-    }
-
-    public void setMaskedElseWhereConstruct(ASTMaskedElseWhereConstructNode newValue)
-    {
-        this.maskedElseWhereConstruct = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndWhereStmtNode getEndWhereStmt()
-    {
-        return this.endWhereStmt;
-    }
-
-    public void setEndWhereStmt(ASTEndWhereStmtNode newValue)
-    {
-        this.endWhereStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTWhereConstructNode(this);
-        visitor.visitIBodyConstruct(this);
-        visitor.visitICaseBodyConstruct(this);
-        visitor.visitIExecutableConstruct(this);
-        visitor.visitIExecutionPartConstruct(this);
-        visitor.visitIForallBodyConstruct(this);
-        visitor.visitIWhereBodyConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 5;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.whereConstructStmt;
-        case 1:  return this.whereBodyConstructBlock;
-        case 2:  return this.elseWhereConstruct;
-        case 3:  return this.maskedElseWhereConstruct;
-        case 4:  return this.endWhereStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.whereConstructStmt = (ASTWhereConstructStmtNode)value; if (value != null) value.setParent(this); return;
-        case 1:  this.whereBodyConstructBlock = (IASTListNode<IWhereBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 2:  this.elseWhereConstruct = (ASTElseWhereConstructNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.maskedElseWhereConstruct = (ASTMaskedElseWhereConstructNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.endWhereStmt = (ASTEndWhereStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereConstructStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereConstructStmtNode.java
deleted file mode 100644
index 01bb4fa..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereConstructStmtNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTWhereConstructStmtNode extends ASTNode
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTWhereConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token name; // in ASTWhereConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTColon; // in ASTWhereConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTWhere; // in ASTWhereConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTWhereConstructStmtNode
-    ASTMaskExprNode maskExpr; // in ASTWhereConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTWhereConstructStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTWhereConstructStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public org.eclipse.photran.internal.core.lexer.Token getName()
-    {
-        return this.name;
-    }
-
-    public void setName(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.name = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTMaskExprNode getMaskExpr()
-    {
-        return this.maskExpr;
-    }
-
-    public void setMaskExpr(ASTMaskExprNode newValue)
-    {
-        this.maskExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTWhereConstructStmtNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.name;
-        case 2:  return this.hiddenTColon;
-        case 3:  return this.hiddenTWhere;
-        case 4:  return this.hiddenTLparen;
-        case 5:  return this.maskExpr;
-        case 6:  return this.hiddenTRparen;
-        case 7:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.name = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.maskExpr = (ASTMaskExprNode)value; if (value != null) value.setParent(this); return;
-        case 6:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereRangeNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereRangeNode.java
deleted file mode 100644
index cb9a4a1..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereRangeNode.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTWhereRangeNode extends ASTNode
-{
-    IASTListNode<IWhereBodyConstruct> whereBodyConstructBlock; // in ASTWhereRangeNode
-    ASTEndWhereStmtNode endWhereStmt; // in ASTWhereRangeNode
-    ASTElseWhereConstructNode elseWhereConstruct; // in ASTWhereRangeNode
-    ASTMaskedElseWhereConstructNode maskedElseWhereConstruct; // in ASTWhereRangeNode
-
-    public IASTListNode<IWhereBodyConstruct> getWhereBodyConstructBlock()
-    {
-        return this.whereBodyConstructBlock;
-    }
-
-    public void setWhereBodyConstructBlock(IASTListNode<IWhereBodyConstruct> newValue)
-    {
-        this.whereBodyConstructBlock = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTEndWhereStmtNode getEndWhereStmt()
-    {
-        return this.endWhereStmt;
-    }
-
-    public void setEndWhereStmt(ASTEndWhereStmtNode newValue)
-    {
-        this.endWhereStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTElseWhereConstructNode getElseWhereConstruct()
-    {
-        return this.elseWhereConstruct;
-    }
-
-    public void setElseWhereConstruct(ASTElseWhereConstructNode newValue)
-    {
-        this.elseWhereConstruct = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTMaskedElseWhereConstructNode getMaskedElseWhereConstruct()
-    {
-        return this.maskedElseWhereConstruct;
-    }
-
-    public void setMaskedElseWhereConstruct(ASTMaskedElseWhereConstructNode newValue)
-    {
-        this.maskedElseWhereConstruct = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTWhereRangeNode(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 4;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.whereBodyConstructBlock;
-        case 1:  return this.endWhereStmt;
-        case 2:  return this.elseWhereConstruct;
-        case 3:  return this.maskedElseWhereConstruct;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.whereBodyConstructBlock = (IASTListNode<IWhereBodyConstruct>)value; if (value != null) value.setParent(this); return;
-        case 1:  this.endWhereStmt = (ASTEndWhereStmtNode)value; if (value != null) value.setParent(this); return;
-        case 2:  this.elseWhereConstruct = (ASTElseWhereConstructNode)value; if (value != null) value.setParent(this); return;
-        case 3:  this.maskedElseWhereConstruct = (ASTMaskedElseWhereConstructNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereStmtNode.java
deleted file mode 100644
index 7a83672..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWhereStmtNode.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTWhereStmtNode extends ASTNode implements IActionStmt, IBodyConstruct, ICaseBodyConstruct, IExecutableConstruct, IExecutionPartConstruct, IForallBodyConstruct, IWhereBodyConstruct
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTWhereStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTWhere; // in ASTWhereStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTWhereStmtNode
-    ASTMaskExprNode maskExpr; // in ASTWhereStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTWhereStmtNode
-    ASTAssignmentStmtNode assignmentStmt; // in ASTWhereStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTMaskExprNode getMaskExpr()
-    {
-        return this.maskExpr;
-    }
-
-    public void setMaskExpr(ASTMaskExprNode newValue)
-    {
-        this.maskExpr = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTAssignmentStmtNode getAssignmentStmt()
-    {
-        return this.assignmentStmt;
-    }
-
-    public void setAssignmentStmt(ASTAssignmentStmtNode newValue)
-    {
-        this.assignmentStmt = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTWhereStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitIBodyConstruct(this);
-        visitor.visitICaseBodyConstruct(this);
-        visitor.visitIExecutableConstruct(this);
-        visitor.visitIExecutionPartConstruct(this);
-        visitor.visitIForallBodyConstruct(this);
-        visitor.visitIWhereBodyConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 6;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTWhere;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.maskExpr;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.assignmentStmt;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.maskExpr = (ASTMaskExprNode)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.assignmentStmt = (ASTAssignmentStmtNode)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWriteStmtNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWriteStmtNode.java
deleted file mode 100644
index 6383fd0..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ASTWriteStmtNode.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class ASTWriteStmtNode extends ASTNode implements IActionStmt
-{
-    org.eclipse.photran.internal.core.lexer.Token label; // in ASTWriteStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTWrite; // in ASTWriteStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTLparen; // in ASTWriteStmtNode
-    IASTListNode<ASTIoControlSpecListNode> ioControlSpecList; // in ASTWriteStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTRparen; // in ASTWriteStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTComma; // in ASTWriteStmtNode
-    ASTOutputItemListNode outputItemList; // in ASTWriteStmtNode
-    org.eclipse.photran.internal.core.lexer.Token hiddenTEos; // in ASTWriteStmtNode
-
-    public org.eclipse.photran.internal.core.lexer.Token getLabel()
-    {
-        return this.label;
-    }
-
-    public void setLabel(org.eclipse.photran.internal.core.lexer.Token newValue)
-    {
-        this.label = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public IASTListNode<ASTIoControlSpecListNode> getIoControlSpecList()
-    {
-        return this.ioControlSpecList;
-    }
-
-    public void setIoControlSpecList(IASTListNode<ASTIoControlSpecListNode> newValue)
-    {
-        this.ioControlSpecList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    public ASTOutputItemListNode getOutputItemList()
-    {
-        return this.outputItemList;
-    }
-
-    public void setOutputItemList(ASTOutputItemListNode newValue)
-    {
-        this.outputItemList = newValue;
-        if (newValue != null) newValue.setParent(this);
-    }
-
-
-    @Override
-    public void accept(IASTVisitor visitor)
-    {
-        visitor.visitASTWriteStmtNode(this);
-        visitor.visitIActionStmt(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 8;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.label;
-        case 1:  return this.hiddenTWrite;
-        case 2:  return this.hiddenTLparen;
-        case 3:  return this.ioControlSpecList;
-        case 4:  return this.hiddenTRparen;
-        case 5:  return this.hiddenTComma;
-        case 6:  return this.outputItemList;
-        case 7:  return this.hiddenTEos;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.label = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 1:  this.hiddenTWrite = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 2:  this.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 3:  this.ioControlSpecList = (IASTListNode<ASTIoControlSpecListNode>)value; if (value != null) value.setParent(this); return;
-        case 4:  this.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 5:  this.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        case 6:  this.outputItemList = (ASTOutputItemListNode)value; if (value != null) value.setParent(this); return;
-        case 7:  this.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)value; if (value != null) value.setParent(this); return;
-        default: throw new IllegalArgumentException("Invalid index");
-        }
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/BodyParsingTables.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/BodyParsingTables.java
deleted file mode 100644
index 081e017..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/BodyParsingTables.java
+++ /dev/null
@@ -1,4116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-import java.util.AbstractList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-
-
-import java.util.zip.Inflater;
-
-import org.eclipse.photran.internal.core.parser.Parser.Nonterminal;
-import org.eclipse.photran.internal.core.parser.Parser.Production;
-
-
-@SuppressWarnings("all")
-final class BodyParsingTables extends ParsingTables
-{
-    private static BodyParsingTables instance = null;
-
-    public static BodyParsingTables getInstance()
-    {
-        if (instance == null)
-            instance = new BodyParsingTables();
-        return instance;
-    }
-
-    @Override
-    public int getActionCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-    {
-        return ActionTable.getActionCode(state, lookahead);
-    }
-
-    @Override
-    public int getActionCode(int state, int lookaheadTokenIndex)
-    {
-        return ActionTable.get(state, lookaheadTokenIndex);
-    }
-
-    @Override
-    public int getGoTo(int state, Nonterminal nonterminal)
-    {
-        return GoToTable.getGoTo(state, nonterminal);
-    }
-
-    @Override
-    public int getRecoveryCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-    {
-        return RecoveryTable.getRecoveryCode(state, lookahead);
-    }
-
-    /**
-     * The ACTION table.
-     * <p>
-     * The ACTION table maps a state and an input symbol to one of four
-     * actions: shift, reduce, accept, or error.
-     */
-    protected static final class ActionTable
-    {
-        /**
-         * Returns the action the parser should take if it is in the given state
-         * and has the given symbol as its lookahead.
-         * <p>
-         * The result value should be interpreted as follows:
-         * <ul>
-         *   <li> If <code>result & ACTION_MASK == SHIFT_ACTION</code>,
-         *        shift the terminal and go to state number
-         *        <code>result & VALUE_MASK</code>.
-         *   <li> If <code>result & ACTION_MASK == REDUCE_ACTION</code>,
-         *        reduce by production number <code>result & VALUE_MASK</code>.
-         *   <li> If <code>result & ACTION_MASK == ACCEPT_ACTION</code>,
-         *        parsing has completed successfully.
-         *   <li> Otherwise, a syntax error has been found.
-         * </ul>
-         *
-         * @return a code for the action to take (see above)
-         */
-        protected static int getActionCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert lookahead != null;
-
-            Integer index = Parser.terminalIndices.get(lookahead.getTerminal());
-            if (index == null)
-                return 0;
-            else
-                return get(state, index);
-        }
-
-        protected static final int[] rowmap = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 13, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 0, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 92, 117, 0, 118, 119, 120, 121, 122, 123, 124, 125, 126, 13, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 0, 139, 140, 86, 47, 1, 30, 105, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 136, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 16, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 1, 2, 3, 0, 13, 4, 106, 47, 155, 156, 157, 5, 158, 13, 6, 162, 178, 159, 26, 7, 8, 160, 161, 0, 163, 168, 169, 179, 180, 9, 171, 10, 97, 181, 182, 183, 11, 172, 184, 47, 12, 185, 13, 186, 187, 188, 189, 190, 191, 192, 47, 47, 14, 193, 194, 0, 15, 16, 195, 196, 197, 198, 199, 200, 17, 201, 18, 19, 202, 203, 0, 20, 21, 204, 1, 205, 206, 74, 22, 2, 207, 208, 209, 210, 211, 23, 24, 25, 26, 212, 213, 178, 180, 214, 215, 216, 217, 27, 74, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 74, 228, 28, 229, 230, 231, 232, 233, 234, 235, 236, 237, 86, 105, 29, 238, 239, 240, 30, 241, 3, 242, 243, 31, 244, 245, 0, 1, 2, 246, 247, 248, 47, 32, 249, 250, 86, 251, 184, 179, 185, 149, 13, 186, 187, 188, 189, 190, 252, 191, 192, 253, 181, 4, 5, 95, 6, 254, 33, 34, 255, 256, 105, 257, 193, 258, 259, 260, 194, 105, 261, 262, 106, 107, 108, 112, 263, 115, 120, 122, 264, 182, 196, 265, 266, 267, 197, 200, 268, 269, 106, 270, 271, 272, 273, 7, 274, 8, 275, 9, 10, 276, 277, 11, 0, 35, 36, 37, 12, 1, 0, 13, 14, 15, 16, 17, 2, 18, 19, 278, 3, 279, 13, 4, 20, 280, 281, 21, 282, 283, 284, 285, 286, 287, 288, 23, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 24, 27, 317, 318, 0, 319, 28, 320, 29, 30, 31, 38, 39, 33, 40, 32, 177, 41, 42, 34, 1, 321, 36, 39, 322, 323, 324, 325, 43, 44, 326, 45, 46, 40, 41, 42, 5, 47, 48, 7, 49, 50, 327, 51, 52, 53, 54, 328, 329, 330, 55, 0, 56, 331, 57, 58, 59, 60, 61, 332, 62, 63, 64, 333, 65, 66, 67, 334, 68, 69, 70, 335, 71, 336, 72, 73, 74, 75, 8, 337, 338, 339, 340, 76, 9, 341, 342, 343, 344, 345, 346, 347, 348, 77, 78, 79, 10, 80, 81, 349, 82, 11, 83, 84, 85, 350, 351, 87, 88, 89, 0, 352, 90, 91, 12, 92, 93, 94, 13, 47, 13, 353, 354, 95, 96, 355, 98, 14, 99, 100, 15, 101, 102, 356, 357, 358, 359, 103, 104, 105, 21, 107, 16, 108, 360, 16, 109, 110, 361, 17, 362, 363, 3, 364, 4, 48, 111, 112, 5, 365, 366, 6, 367, 368, 113, 114, 369, 370, 371, 115, 18, 372, 373, 374, 375, 116, 117, 0, 49, 118, 119, 120, 121, 122, 376, 123, 19, 50, 51, 377, 378, 379, 380, 381, 124, 125, 20, 126, 127, 382, 128, 52, 98, 129, 130, 383, 384, 385, 386, 387, 1, 388, 389, 390, 391, 392, 393, 155, 131, 132, 133, 134, 22, 13, 135, 394, 395, 396, 397, 398, 399, 136, 53, 400, 401, 137, 402, 403, 404, 138, 405, 406, 407, 408, 2, 409, 410, 106, 139, 411, 140, 412, 413, 414, 415, 416, 141, 417, 418, 419, 420, 421, 142, 143, 422, 423, 424, 156, 144, 425, 426, 427, 428, 16, 198, 23, 429, 145, 430, 199, 431, 201, 432, 202, 204, 433, 206, 146, 30, 147, 148, 149, 24, 434, 150, 435, 436, 151, 437, 208, 438, 439, 0, 152, 54, 55, 124, 440, 126, 441, 153, 154, 442, 443, 16, 209, 444, 155, 445, 7, 22, 56, 25, 32, 446, 34, 447, 448, 449, 35, 153, 450, 37, 212, 57, 0, 3, 451, 452, 1, 2, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 166, 478, 479, 480, 481, 482, 483, 484, 485, 486, 43, 487, 44, 488, 489, 490, 45, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 25, 27, 28, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 46, 515, 516, 517, 518, 519, 520, 55, 521, 57, 66, 68, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 69, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 70, 566, 207, 567, 568, 569, 71, 216, 570, 571, 217, 572, 573, 84, 574, 85, 86, 575, 576, 156, 161, 577, 163, 578, 164, 579, 165, 580, 581, 7, 582, 222, 3, 583, 227, 584, 87, 90, 97, 106, 58, 585, 109, 113, 586, 587, 4, 588, 158, 589, 590, 160, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 5, 601, 6, 602, 8, 9, 603, 10, 11, 12, 13, 604, 605, 606, 607, 608, 116, 609, 117, 610, 124, 228, 110, 611, 166, 612, 167, 613, 614, 126, 615, 616, 617, 618, 14, 30, 619, 620, 621, 168, 622, 623, 169, 624, 625, 626, 627, 628, 235, 629, 127, 630, 631, 632, 633, 634, 635, 636, 637, 638, 128, 639, 640, 641, 642, 129, 643, 644, 135, 645, 646, 647, 8, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 170, 172, 659, 173, 660, 127, 661, 174, 16, 662, 663, 664, 665, 666, 667, 668, 59, 669, 136, 137, 670, 671, 672, 138, 673, 139, 140, 141, 142, 175, 674, 143, 4, 144, 145, 675, 676, 9, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 150, 17, 151, 152, 688, 153, 154, 176, 1, 159, 60, 162, 170, 171, 173, 175, 61, 177, 178, 179, 181, 182, 183, 186, 192, 689, 690, 185, 691, 692, 0, 693, 47, 31, 694, 695, 696, 155, 157, 168, 195, 202, 203, 62, 208, 63, 237, 697, 18, 698, 169, 172, 188, 190, 193, 194, 699, 700, 197, 701, 702, 196, 204, 206, 209, 210, 64, 703, 704, 705, 706, 211, 707, 708, 709, 710, 212, 10, 213, 19, 20, 711, 712, 177, 713, 178, 714, 715, 716, 717, 718, 33, 214, 65, 719, 720, 721, 722, 215, 217, 5, 723, 724, 725, 726, 727, 728, 238, 218, 219, 729, 66, 730, 240, 731, 732, 733, 734, 220, 7, 221, 222, 223, 224, 735, 736, 737, 225, 226, 227, 738, 228, 179, 68, 229, 230, 231, 232, 739, 233, 234, 235, 740, 236, 237, 238, 741, 8, 239, 240, 241, 180, 181, 69, 182, 184, 742, 70, 71, 128, 74, 75, 76, 743, 744, 243, 745, 186, 746, 242, 243, 244, 747, 748, 188, 189, 749, 750, 751, 193, 752, 753, 21, 754, 23, 194, 755, 195, 756, 757, 758, 77, 245, 246, 759, 760, 30, 78, 27, 79, 80, 28, 29, 81, 31, 82, 761, 33, 247, 248, 249, 762, 763, 196, 764, 250, 765, 198, 766, 74, 92, 34, 251, 252, 35, 248, 95, 199, 767, 36, 768, 200, 769, 770, 253, 771, 772, 773, 1, 37, 255, 256, 2, 38, 257, 83, 258, 259, 39, 260, 774, 250, 775, 261, 36, 776, 201, 777, 778, 202, 254, 255, 779, 780, 781, 782, 262, 263, 264, 203, 783, 784, 204, 257, 261, 785, 206, 786, 787, 207, 788, 789, 209, 84, 265, 266, 267, 39, 268, 269, 0, 211, 270, 271, 790, 791, 792, 272, 273, 274, 276, 277, 278, 279, 40, 0, 286, 290, 1, 287, 292, 2, 293, 300, 40, 306, 308, 311, 312, 313, 317, 321, 322, 41, 324, 325, 326, 327, 330, 331, 332, 333, 334, 335, 336, 338, 339, 340, 341, 342, 343, 344, 345, 1, 212, 347, 349, 350, 351, 352, 354, 355, 357, 358, 359, 360, 361, 362, 363, 41, 329, 85, 2, 42, 353, 365, 793, 794, 43, 42, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 368, 369, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 370, 371, 820, 372, 373, 374, 376, 377, 378, 379, 381, 382, 383, 384, 385, 386, 2, 821, 387, 388, 389, 390, 391, 393, 822, 394, 823, 824, 392, 396, 825, 826, 395, 399, 827, 400, 397, 47, 48, 49, 55, 66, 68, 69, 72, 73, 74, 75, 76, 77, 83, 213, 828, 214, 0, 829, 398, 830, 401, 831, 402, 832, 86, 833, 834, 835, 215, 218, 404, 403, 219, 405, 260, 406, 407, 836, 837, 408, 409, 410, 411, 412, 413, 414, 415, 220, 838, 416, 417, 418, 419, 420, 105, 421, 422, 44, 424, 839, 840, 88, 425, 427, 429, 3, 221, 423, 426, 431, 432, 4, 435, 841, 437, 433, 222, 223, 436, 438, 439, 434, 440, 842, 441, 843, 442, 443, 444, 445, 446, 447, 448, 844, 224, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 845, 225, 846, 847, 45, 463, 89, 464, 465, 91, 466, 467, 468, 469, 848, 849, 850, 470, 851, 471, 472, 473, 474, 852, 853, 475, 854, 226, 855, 476, 477, 856, 478, 857, 858, 229, 479, 480, 481, 482, 483, 3, 92, 93, 484, 859, 485, 860, 861, 862, 1, 4, 486, 487, 94, 86, 488, 489, 490, 87, 491, 863, 492, 493, 494, 495, 496, 497, 498, 88, 499, 500, 262, 501, 502, 263, 503, 504, 864, 505, 506, 5, 865, 866, 106, 46, 867, 868, 507, 508, 510, 869, 230, 870, 871, 231, 513, 872, 232, 3, 873, 874, 511, 515, 875, 876, 516, 518, 877, 878, 520, 879, 880, 233, 517, 881, 519, 11, 882, 883, 884, 885, 521, 886, 526, 95, 523, 525, 887, 524, 527, 96, 98, 100, 888, 234, 889, 528, 533, 264, 890, 534, 89, 891, 892, 893, 894, 235, 236, 239, 90, 241, 895, 896, 897, 546, 898, 899, 4, 900, 901, 902, 903, 91, 904, 101, 905, 906, 907, 547, 908, 5, 909, 910, 544, 911, 912, 92, 7, 913, 914, 915, 103, 916, 917, 918, 919, 242, 920, 921, 244, 93, 94, 922, 245, 923, 557, 529, 530, 924, 925, 926, 927, 559, 928, 929, 104, 930, 0, 931, 932, 933, 105, 95, 96, 100, 107, 108, 109, 934, 114, 115, 118, 119, 935, 936, 101, 937, 47, 938, 939, 271, 940, 560, 531, 532, 535, 536, 537, 538, 274, 941, 120, 942, 943, 5, 539, 561, 48, 543, 121, 551, 103, 107, 49, 944, 50, 945, 540, 541, 108, 542, 946, 275, 246, 277, 553, 562, 563, 247, 254, 564, 947, 318, 948, 249, 949, 319, 256, 320, 950, 565, 951, 566, 567, 952, 568, 953, 569, 570, 571, 572, 573, 574, 575, 954, 258, 955, 259, 260, 956, 957, 958, 51, 545, 959, 960, 961, 576, 962, 963, 964, 965, 0, 966, 967, 968, 969, 970, 971, 972, 122, 973, 974, 549, 975, 976, 977, 978, 979, 980, 981, 982, 577, 578, 579, 983, 550, 984, 580, 985, 582, 554, 555, 558, 581, 986, 583, 987, 988, 989, 584, 585, 6, 7, 588, 587, 589, 591, 990, 261, 991, 992, 993, 265, 592, 994, 267, 995, 266, 996, 997, 998, 593, 590, 999, 1000, 594, 107, 595, 596, 597, 598, 599, 2, 1001, 1002, 1003, 109, 52, 600, 601, 603, 604, 53, 605, 1004, 606, 610, 1005, 612, 1006, 1007, 54, 607, 1008, 268, 608, 1009, 1010, 609, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 269, 611, 1020, 1021, 1022, 1023, 123, 613, 615, 1024, 1025, 616, 617, 618, 619, 1026, 1027, 1028, 620, 621, 1029, 0, 1030, 1031, 1032, 8, 125, 130, 614, 622, 1033, 1034, 624, 131, 1035, 623, 1036, 625, 132, 1037, 1, 1038, 1039, 626, 627, 628, 1040, 629, 270, 1041, 1042, 630, 631, 632, 1043, 133, 134, 1044, 271, 321, 1045, 633, 1046, 637, 1047, 634, 1048, 1049, 643, 635, 636, 1050, 1051, 644, 638, 108, 9, 639, 640, 1052, 12, 1053, 641, 10, 1054, 1055, 1056, 1057, 1058, 276, 642, 146, 1059, 277, 1060, 278, 645, 1061, 646, 1062, 280, 647, 281, 286, 1063, 287, 147, 148, 149, 648, 55, 649, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 650, 1071, 651, 1072, 652, 293, 653, 290, 654, 1073, 655, 112, 1074, 1075, 11, 656, 657, 658, 659, 660, 1076, 1077, 661, 1078, 662, 663, 317, 664, 113, 1079, 1080, 12, 1081, 665, 666, 292, 1082, 300, 1083, 667, 153, 1084, 1085, 1086, 154, 1087, 156, 280, 668, 670, 1, 1088, 321, 1089, 1090, 114, 1091, 115, 1092, 322, 1093, 323, 1094, 56, 3, 4, 673, 675, 1095, 110, 57, 324, 1096, 325, 676, 677, 1097, 1098, 678, 158, 679, 1099, 9, 1100, 159, 322, 680, 687, 690, 691, 693, 694, 111, 327, 1101, 326, 116, 1102, 117, 1103, 118, 327, 681, 1104, 338, 328, 1105, 161, 1106, 1107, 682, 1108, 1109, 695, 685, 162, 58, 688, 163, 689, 330, 692, 59, 696, 164, 697, 698, 119, 699, 700, 701, 1110, 702, 704, 705, 1111, 707, 1112, 13, 14, 709, 15, 1113, 708, 1114, 710, 1115, 1116, 1117, 711, 16, 712, 17, 1118, 713, 714, 1119, 170, 717, 1120, 1121, 715, 718, 1122, 716, 331, 719, 720, 267, 721, 722, 1123, 1124, 1125, 723, 724, 725, 726, 2, 112, 60, 122, 727, 728, 729, 1126, 1127, 1128, 1129, 1130, 1131, 730, 731, 1132, 732, 733, 1133, 332, 61, 62, 734, 735, 63, 1134, 281, 123, 124, 0, 125, 126, 333, 736, 1135, 1136, 1137, 171, 737, 739, 741, 1138, 743, 173, 744, 1139, 1140, 745, 1141, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 1142, 1143, 334, 335, 756, 757, 758, 341, 759, 8, 174, 760, 9, 10, 761, 1144, 762, 763, 1145, 764, 1146, 765, 1147, 127, 766, 767, 1148, 175, 129, 1149, 1150, 1151, 337, 1152, 1153, 1154, 1155, 336, 339, 768, 340, 1156, 769, 771, 1157, 128, 1158, 1159, 774, 1160, 18, 341, 129, 1161, 1162, 775, 776, 777, 11, 1163, 1164, 1165, 19, 131, 345, 1166, 778, 779, 1167, 349, 2, 176, 177, 178, 350, 352, 1168, 354, 1169, 1170, 355, 1171, 1172, 134, 1173, 135, 1174, 1175, 1176, 1177, 1178, 282, 179, 772, 1179, 283, 114, 356, 64, 284, 1180, 770, 1181, 1182, 773, 1183, 780, 781, 782, 783, 786, 787, 784, 1184, 115, 65, 785, 788, 132, 1185, 133, 1186, 1187, 1188, 1189, 136, 1190, 789, 790, 357, 1191, 1192, 1193, 1194, 1195, 1196, 5, 13, 1197, 1198, 1199, 793, 1200, 1201, 1202, 800, 1203, 1204, 1205, 1206, 1207, 1208, 805, 818, 1209, 826, 358, 10, 824, 11, 12, 1210, 1211, 825, 827, 828, 20, 21, 181, 830, 1212, 182, 1213, 66, 829, 831, 832, 834, 835, 1214, 836, 837, 1215, 838, 840, 841, 1216, 1217, 1218, 285, 12, 183, 185, 1219, 842, 843, 844, 13, 845, 846, 848, 1220, 342, 1221, 359, 360, 13, 1222, 14, 1223, 1224, 849, 1225, 847, 850, 851, 852, 186, 1226, 361, 67, 853, 1227, 1228, 137, 1229, 854, 15, 1230, 22, 856, 138, 1231, 1232, 1233, 1234, 1235, 362, 858, 16, 1236, 139, 363, 1237, 1238, 1239, 1240, 1241, 368, 860, 1242, 369, 370, 1243, 371, 1244, 1245, 372, 1246, 1247, 1248, 140, 141, 7, 8, 857, 861, 862, 863, 373, 864, 288, 1249, 1250, 376, 866, 14, 867, 343, 1251, 1252, 344, 187, 868, 1253, 68, 1254, 1255, 191, 192, 195, 1256, 1257, 196, 69, 870, 871, 1258, 0, 200, 872, 873, 1259, 1260, 874, 875, 1261, 1262, 1263, 1264, 878, 881, 882, 1265, 1266, 1267, 1268, 15, 883, 1269, 1270, 885, 877, 879, 1271, 1272, 1273, 886, 887, 888, 1274, 289, 201, 202, 889, 1275, 1276, 891, 893, 894, 896, 1277, 898, 1278, 892, 345, 1279, 1280, 899, 1281, 909, 1282, 1283, 1284, 378, 131, 1285, 1286, 1287, 23, 379, 1288, 1289, 1290, 1291, 380, 381, 900, 377, 1292, 1293, 913, 1294, 1295, 1296, 1297, 382, 384, 901, 385, 1298, 1299, 1300, 203, 134, 1301, 1302, 1303, 1304, 291, 294, 295, 1305, 70, 386, 387, 296, 902, 903, 904, 915, 905, 906, 908, 1306, 204, 205, 388, 389, 390, 206, 1307, 1308, 1309, 142, 910, 1310, 1311, 1312, 1313, 1314, 911, 1315, 1316, 912, 16, 916, 917, 918, 920, 1317, 914, 924, 1318, 921, 391, 1319, 1320, 1321, 922, 923, 925, 393, 926, 928, 929, 930, 931, 394, 1322, 1323, 405, 409, 932, 403, 1324, 1325, 143, 1326, 933, 410, 934, 404, 1327, 1328, 144, 1329, 406, 936, 937, 938, 411, 1330, 297, 298, 1331, 1332, 939, 346, 940, 428, 30, 1333, 145, 148, 1334, 1335, 430, 941, 1336, 1, 1, 935, 942, 943, 1337, 946, 944, 947, 1338, 1339, 1340, 945, 948, 1341, 949, 950, 951, 347, 1342, 952, 1343, 1344, 432, 1345, 1346, 150, 1347, 1348, 24, 1349, 151, 1350, 1351, 25, 135, 299, 301, 302, 438, 441, 953, 348, 1352, 152, 155, 156, 1353, 1354, 1355, 1356, 208, 157, 1357, 954, 1358, 955, 1359, 1360, 1361, 956, 959, 960, 962, 963, 964, 957, 209, 965, 1362, 1363, 27, 442, 1364, 1365, 28, 446, 1366, 303, 1367, 304, 958, 1368, 1369, 1370, 210, 214, 961, 15, 227, 251, 1371, 252, 1372, 966, 1373, 968, 969, 967, 447, 1374, 1375, 448, 449, 1376, 1377, 450, 451, 253, 254, 255, 452, 453, 256, 971, 973, 974, 257, 258, 1378, 454, 1379, 1380, 455, 1381, 305, 456, 457, 458, 1382, 1383, 976, 977, 979, 1384, 1385, 1386, 1387, 1388 };
-    protected static final int[] columnmap = { 0, 1, 2, 2, 3, 2, 4, 5, 0, 6, 2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1, 20, 2, 21, 5, 22, 23, 24, 5, 5, 2, 25, 0, 26, 27, 7, 28, 7, 18, 6, 29, 30, 0, 31, 16, 0, 32, 23, 33, 0, 3, 12, 19, 34, 35, 35, 36, 37, 38, 39, 40, 0, 41, 42, 38, 43, 44, 39, 40, 1, 45, 46, 10, 47, 44, 48, 49, 45, 50, 34, 51, 50, 52, 53, 5, 54, 55, 0, 56, 57, 58, 3, 59, 3, 60, 61, 62, 16, 41, 51, 63, 62, 63, 64, 65, 66, 67, 68, 69, 64, 70, 65, 66, 44, 71, 72, 73, 74, 0, 75, 0, 76, 72, 77, 78, 79, 73, 80, 5, 80, 0, 81, 82, 2, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 19, 85, 89, 95, 96, 97, 6, 95, 98, 99, 96, 100, 99, 5, 38, 2, 12, 0, 101, 38, 102, 102, 1, 103, 16, 6, 104, 105, 106, 107, 108, 0, 7, 109, 110, 111, 104, 112, 113, 114, 61, 115, 6, 116, 9, 117, 118, 119, 120, 121, 122, 123, 124, 0, 125, 1, 126, 44, 127, 128, 129, 130, 0, 129, 131, 0, 132, 133, 106, 134, 135, 136, 113, 2, 137, 63, 138, 139, 140, 141, 2, 142, 3, 143, 116, 0, 45, 119, 144, 145, 120, 4, 3, 146, 39, 0, 147 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return 0;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 1218;
-            final int cols = 8;
-            final int compressedBytes = 2985;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrlXb2PHLcV51BzAnNxIvogxVvOyQqyAVTYldMoGV2cLzc6CB" +
-                "YSI0iTJilUupQB3sUITp0KFSoXKgS4859wCFQEqq4xHKjKn5KZ" +
-                "2dnd+SD5e+Tj7N4pa/mkvd+SfHzk+yTf7Jsbdx795Olc3dw7uf" +
-                "vttZePzj95clB+/Yfv3jcP/32vPBBvHlT4N/PfV/jjAf4fEl71" +
-                "/8E38z89r/Ffv3z0+pMnD3v9c/F3nD4hMjF46e4b7vjnP7rz6d" +
-                "5Jtf5C3P32/umt8+vzh8Ko31SDlCLF/Kbm741mfPf+veGkL8n6" +
-                "vH3wt7988HT+5+c//cfjl7979cfXv3ry16N/fvF9hb/96tPp+V" +
-                "evX34ynz2v1y87vfX6+vwgaP12vb7c/i87fTvWL0KJXNQ/21f1" +
-                "Rsv232WtPyaen+wqq7Lzs9Vsl57/l92+TIyPXqb/ls2fq26/k8" +
-                "pnvrLvZde+e+3Xxn9z4pPu7wTrh+Y35fpUK7C3dqhk9Z/+XFc/" +
-                "Tb0EexT9RPFPnjb03Z1ifg3JKyfxevX/7PijpZSWci/n09/6F0" +
-                "v/MGv8wyD/4u2Dn7X+0cnjxdo/avC1f7SKPxbL+clLtX+58j32" +
-                "3wevLPf59whH/jvC/7XEl/7j/cZ/XONZApwbX3D7D2m/WLY/Cq" +
-                "EPvbj6jevfr9rHym+q8V3tu/hiicsujvxXLt6n/1VD/1FL/1cU" +
-                "/xm0D+1fdPoXcfMTKedndfo2QCNfuUP+Mor8qFJQXtqLGieC4o" +
-                "8e520v4J9NjdvWr8+/rdMn4ul3+keK4t9a/QNgf5F/124DKYq1" +
-                "BPS2Gmo/Nd5lerudufSJkPHZ/munvW399vfFrQNVbZ+9k2r8oh" +
-                "Qff6nLr+8/y8zDF/dWJPX926Lr31b4ez7/F+EE/5rV//5nzvmd" +
-                "3Wv9N45/jdp38cUS79tXuiqNxIF+lyLsNex/aT9y3wdzhwmRXv" +
-                "1vVvoN4GUYo0b0u6ydh9FZl6/ttLSSfbLX9BmR1+ptOZAyYlb/" +
-                "PW8Unqr/yB4hZsCnZn7F5hM9TucpTbUVl0pKresZy6V8vajlX1" +
-                "efOm/kC9pvtNWw/WfuDz9/4fxo+z9eftb7SNnXr6W/GNFfEHHQ" +
-                "f5R8bD5I55+mKZvA8Yntc/f+ssnXSv5zyvxFb/6zoXy45HfVPx" +
-                "of7q8SyZzuvTluldPav+HxX8UoGp3OvqkRrmnrb6j727u+cfpR" +
-                "x9snE9ie3L9y4X79IoB8pV7f0QeBfIzlR/dCfOUa3/TNvcsNGI" +
-                "4f6H/h/YPmR/WPnPbFLz+p/U/j0AVaOPwn/0CE/G/Oyf9y86cf" +
-                "zt5KfVPs3dbXZfZLIQ5fXByKQi+U+O/tvTsmzn8o6Rp16vM5lN" +
-                "/s4rb4Z1v0ufKfDf9Je9rhvzD9v9T5S25+dZj/jGgvwtqXFP0S" +
-                "HSUMvB9bfAbPD4LoD1x/lL9F9iNVfjeWPvL5jA6JDjUZ5+dnA/" +
-                "kzMmp++8VdHwPiJ2z/gvOXIjA/Knz5W0t+dziFvINLS/ud4gny" +
-                "217+R6xfWH5PRO1vt39L0rwp4xOm/rPKjyL3z8gvN/lzlF+34G" +
-                "KQf0f5b29+nmM5BS3/PykeTt/n2x7/Pc75CJJ/dH5hwUUXZ5/P" +
-                "MM8/uvKnrf6zQPlxtH9lLcGHVYtRfuKagOebBP0mw/VrR8Wr41" +
-                "aHS9mNJRS1PcAJ9xsFi36oqEuefo/Kn4TQh9Qej/8bXDLbJ+J/" +
-                "6v2Dxp8LaUS2+Pnp36tffWEOTPZ8oRfqt/MiN9cs7gTZI6HNj5" +
-                "Cf9efnATXr/E3V2Ja/+XD2po/PlrgY4sqOS/WZqPCstkPixxWT" +
-                "Zhcr+m639scs99ZQP9L0J+y/nn/um79/fog+NH9EP86vEfk/WD" +
-                "9BX7+Gf7erOcas76q9HLU/J80f0SfVkXd96fyJm9+K/mnWX0TM" +
-                "/3gsPzmWHyxf+4A+GSXfSL9Un+PZl/myYeUfmdxU4xqplS6UyC" +
-                "oyfmg5HzDD/g3xfMXV/hz4R2XHk7elIJF9Y/JHXPTbj/wzov+i" +
-                "Y883YfzprS9Ifj5DzNCRM7Nc/0f5B8Ln7yC+OAO4OAb8O+adT4" +
-                "f6vyYxf3fsf/L7B/KPzreh/qDqlzgc+6+rT8vN/Q1Br4+iybdl" +
-                "PcqcpB/445/Xs8qLZvJdeopAXMbh6/sN9vwBHr9sPy29eMD+1G" +
-                "H8Qfy96Ldf2zfq/Ln55Yn3D9LvVv2pgX7dnv6k3R/D+Snn/Zx5" +
-                "kx9bHIoqPhc/KCr8man8v3LuW98A/Qzzc6X10CcdLiLa6/jxk+" +
-                "+Py57/2QV9CfUHvP8aM37g+umE+mvq/O3W929I/FJY5V818rnf" +
-                "13+5yZq+thafTL0+rvh0W+tvH58Qf/njnzNxWlj3/2K1uO83UF" +
-                "6HwEVZb4FS3NeZ0WczGv2N/9O/n9HjH8Bd/rLZDv9B/kb1rqcW" +
-                "lqJRavwoafEr+UX1D0idIfvtyT+B9lD/rM/vfPKXg/tLOVl/mN" +
-                "D8mr9/fP80if+fR+tHjEfYR7r8ofpKV9op3P/o0SdT+T8oPReX" +
-                "/2PY/9Tx1eT2lZc/xesvWP4rsq/8/MsU9muL8X/o+nH9f+OyP4" +
-                "7+sX475Zx/YvkY3E8l69e1/2Umpa+9KFts7Kte/nrhp08Wm8ZG" +
-                "qLrRs839vjJCf0kmnkb/jKKdVPFvqH1drT9qv1v5RvUn+H43l7" +
-                "8h8mGpH8D5TfR8GnB/LnD9jHMvy2j/rRu5D+Ub9hKyPuH8hfUX" +
-                "ylI/256/5IT26PkPXPmg6F8O/ez7mUn9g1dx+i18/5Xp84+O9l" +
-                "H3N0f36zn1Ff7+2fW3wuE/GRJ93PoWQnvW84fQ+uL6kFL2/LNx" +
-                "/unjZf5rxOyz5a5G7afN36LzaSg/cP9Pa7+59R30+jEVTn+C+z" +
-                "3p6ysC60u491to54vRWRG0/nh9j3j0WQnVln1gxw/1C1nh9fm+" +
-                "zH5RaQRjMlHUCeKiqN7Q+vfh5Pyvv33882sEn3+k+FwB+XLc3y" +
-                "Hfz5MB/Qfg4PybeL8fPb8j+vw9QX7gdOL8Q+T4C5L/y63PYdf3" +
-                "7Lj/dwdXcfaJrH/+3/nLsy+Ttd81/dzzsd2vL8++X5n9yXTUXX" +
-                "gAfcoCcJ+/P6pPGdfvsPLLrvoe5e6/pz9hfRrwn/31PYoiX9zz" +
-                "kVD51T7tkjnn5zo/F73bCxnwn124qz2pfrCpvxryv08/xp31W8" +
-                "j+euu7rg6umPj+u4lbo6f08o/rC/dj96cXJ9UPk+YXN39U/5iA" +
-                "P148nX3aB/Gd3f9Pcv5N0v8o/iDi0f6porktofkVov/oro+ZOP" +
-                "9De/7pdPMXq9Gc9Uup82Nh6w/3B+/8Ie58VKejD7a/4MZ3Xv1z" +
-                "qM/a/G4umvyuqPO79eLX+d2zmPy9q3446nwf9p9sf7pwbcmvds" +
-                "+/EO4Py+Kej0Knv7nfd5NRv2yNbwLsU2j9siU/qnz+w7B/S/7R" +
-                "Qd8q/ygvc34zQf+8+HG9YDIuf0k7X7Dsb5Pk/IL+/L7I85FYvK" +
-                "TRR/f/XN/vwcSx/0b0X3j5VXf9My1/EWB/HfXR9vHx/rrw11dz" +
-                "4wfA30vx/cI5RT7i8pPTPJ8uKP7i1bckOx+aCOfGH9z4D+NTx7" +
-                "fE84Xo+HPX/Eu0Pxz6hy2f3P7LtQay8x/gHQ0WJ7/M8Xd8P2CJ" +
-                "F5t/Dr4fjNa/p/0k9UUh/l/J4p/1+4+6z89J8fwDj/3E3z9xxe" +
-                "MXED/b6/N1XZ8/4KD0xRdufN3/QP936v8d49Nw2vhj/ZuLNPNj" +
-                "49i/Yc2fHGCx7h9Od79N8exHAvlE9sOLN8+/1JUq01Lavj+K8H" +
-                "wGVv9x+Sm0/kn3j5+/gprfEAHyhUNc+vMlgH5l079l/KrTnxoP" +
-                "9R8NpX454P5HlHyI3ldp1CFYUW7a1+JeNPW5DW3g+S27zi9wzx" +
-                "+o+BWRr8Gvcf1TDH8D4jPy+c1U50fM9oT43S8/xw7/i5y/MHH2" +
-                "z8FLJ39E4P6n4tqvFtDzcdD9DXD+BJ+fw8zvsv1b8vOTQp5PFK" +
-                "gfSfljeTnzwxPX/3PvZ0P+/A9pI941");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap1 = null;
-
-    protected static void sigmap1Init()
-    {
-        try
-        {
-            final int rows = 1218;
-            final int cols = 8;
-            final int compressedBytes = 2883;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXTuPHEUQ7mnPnsbHq32yzYVz5oINHEBkEqOxwQiccDpxEm" +
-                "SEBISERuo7OTCZAwcXrhwgOfNPWJAD5OgSJIuIn8LM7HNmuvur" +
-                "7uq+XZAn8aO2X9XV9eqqaiFsnxb2Twlqs9ffHJ7cfDH+6vro9K" +
-                "eXV56fTO882qsef/3XNX385m61J0Qh3F9R95hLUc5/WGix3/w5" +
-                "rv+nbYzgy0+C+SN45wer9X1wePLhi/F3z5r1ff785NWdR8fz9f" +
-                "3ZrI+7ftg/E07f3DD8eY+v/daP5t9t/xvAzxBOoM98RWj5Yvwq" +
-                "Fn2tuuXSbyAcn7+w8yvN5zMzzS83wc38KbPOf7f959V2fFXPf0" +
-                "Icv5qPD3ihmnegF8N2Os5LsdNrM6Huz7y9tLV394/5I6//+Wdt" +
-                "38N/McQ/6h/AVReuZ/CiN74YrN/j/LHOF5gfpK9KeH3atz2AF5" +
-                "WB4JUMUhss8Mzy0yxS/044l7+JLHfKT9i+Ysl/En0a5YeOwv+n" +
-                "7x1+MTodF9eFuP3y3tmN6c74WOjigWoW1s6vSrr+Zvz8dLzfjp" +
-                "+14+91xof8jzc+aX9yB3vp6A8rhkFnTz7zn+k39+fz+4WyP2h+" +
-                "7POjugvUtmMTQ/8crv+PGf0Y6Tcz65dzxlT1BpaA/0gAsLbn9s" +
-                "8dn9U+jH9dnv47Xd9/A/+A9kHA+fPh3xh/bPlxrT1s+YCZPAHi" +
-                "WdMEbQVMNAQnCXLZspsZsage6WT9kebST3f+V1n5X+Cnaf4PtH" +
-                "/Yf3Bm5r8Th3xT9vXpgf4S6H+ZuJEnvfbXMH8OnLKtgf1rCm3w" +
-                "509uDxZaU9BoTQJLob5tLFnd0M0omP4VecPZ54Otn1VAasp31Y" +
-                "KHNCbc/tHHM+RWcpRjuMF+shCiGT+7D8WNvaL+0ei0/klZiU9+" +
-                "VtXje08zffzk7qy99NcPVWK4D//i2QfJ94crX5n2B1+/rvzOqr" +
-                "f+rcRQ/1Pe+ns5oN8ymn+zapWYctjkio9/xda/RvazUz7Loma5" +
-                "qqFPuaDPeqKq7nQ6o18AT3++E/uX4+h/0Jfk7J/kH6H1nwXjJ3" +
-                "X/0tL/JuTDNtFfiP0cc3y9gfW9hW8NvGwoIJtcPfuh/sv3umb1" +
-                "jydqUnw5FrmOIp9C/cNv9+dy4aH+E6JZqITnF8l/A/TTj/b/lu" +
-                "q6GN2qlZvsMyEOzi8ORFkfAPHPrdGhXqNPtFBp6f91t//9Wf9i" +
-                "3v+m4Ui/R+1l8VDU8Kwx3cX7tXzfv1joh7dm+uP9HvyoA4fzC9" +
-                "afaPYLHX8yFP/t+m3tZfHaiT8u/iPMH4x/nzV+lPPJ4H/c/g/U" +
-                "uazpr7lfl9mntTjVujb1VFmISVn/I45+mXP0N65+t+n2WH+Z2R" +
-                "WlznVDd1IUDfobQ+Oddf9K0fEPbI9+zOy/mPLWh/AznjXMxHiG" +
-                "Xy1VB7/R5HNhFKsB8XdR9QMhLqL4lxj3o2/hG4UT/Ocyov9z2P" +
-                "8Z7X5LBtI38J/C+zXP8236HPEpyP9I8H+D78gPrinz9+H/aHxv" +
-                "+80rftquv5St/sLH76bt2230LwqyfWKOz4w5vynAH4IvXLrzoK" +
-                "Sy78Amzk+F+t9D5Dvlfppm3zd8SBjjl8tI8J6iu/5din9uaol/" +
-                "Lj37t80frB/rZ5b45pLBH3zk93bzL278Lj/+V28Yzpxfbf/UGJ" +
-                "4ciB/rf1wt658/1bV4rMYl8fxFmP//2v7fNJxrHxLsAye8snqY" +
-                "aXSVwv6MeX+5Wf0rff6ie/yqie/9vSzqDb5dZvrGdKdoGj1of0" +
-                "FonxyO8+cWmmmX7PI+h5JW/apo4cv2s8Hz2s7QtPMza7+71l6t" +
-                "tQfjA3gTH2bZ3zdr8s21vsTxUdtov4TEjzD8Mw75h+OTgH7DjW" +
-                "8m+WcM+KpyIv7m8qGT34nyQ0P4v8O/MRhBxYaHj0/ML11uhU4y" +
-                "/03DXfjrrn/YHsG77HjOv8tE8w/sP8C+j8T/ysW5td4/GehTre" +
-                "gT3K8UHZZQrk9Hkw4yQb5v0r71ji/VVP/ZZCV/o/jnrf5xpnxX" +
-                "vP0pZjMqV/hRs/+exDmf1Pt5tSPD7udN8d8e9w8F4n/c/qsuIn" +
-                "SQ/ygYv7C9cf+86IcCz+38tQIIj+CfQvpNzrE/AX2mlh9g/sv7" +
-                "GbUjVvczYnk/A/U7vv8iIH+EFX9IyP9THvWVQH0UaL9VAfNLbf" +
-                "8JoP8L+vrJ+2+pXwP4J0k+uOrrAPzi+gKKR99Y/rjrC0H5DOoP" +
-                "UOrHuOs7uNsT4Y76Oe78Fcg/Iug/bvvbXV+InV+M6kfEWt+ucf" +
-                "yw/H7Rkb83f239H7d7/o+l/7OGFwb/CM0/asxvXC/hUSXaf5d8" +
-                "8vZ/BNgfxPE3fP9P8H8R9WMf+u3Jb4d/D9X34da/IbV3LRGsH8" +
-                "ondv0dT/5jh3vUv4no3y2o53ND8X8B+9ulHzf+w+Jb+x2Vq7/m" +
-                "PcUA+3dysapfIvv1S7zrL+ie/Ef+ue2HR8JPmH2G61OQ7g9W+r" +
-                "8IvT9AgjD1/bNVPqP6Qej8nAXVj4H67YRoH7vheXdLqzWoppjQ" +
-                "iL/A+hTM+hep/cfd+ZWG35rgHvRXCNb6U9dfSr1/lxI/xoif3v" +
-                "b5pYaj+G24fiZ9pvZvhd/PL+33M1p9dpug4dlP4fYVzb/Jjs8v" +
-                "bFtZ0PWPnGO/V2T9tQigD5jfCf2Xy/xXuZ6/avNfxvdfdHe/X3" +
-                "+Fvr5dP/9l339r79/5hePf5N8NrD8sUsoXoN+B/EaYXwj1ywvj" +
-                "/Iuh/u/WnxLB2fsHLtqj5CflffvJo74/tL8QPE79snTxF+78tw" +
-                "jy56xw8j9mfpxv/0P/rkypv0B4NP3Uyp8ivW9D9K9oyl5uu39o" +
-                "Dd3M+AqCfgXy63j662XHB/v6j/jyH+SHYfnqbE95H8D9PkFa+4" +
-                "Obv8Z+X4ptv1RuC2Np31nul0Lv77v3W3kq+49bHxjx9zb/5LST" +
-                "f1JvhFrmn5jhq/wUtn1L8/8G52+g/BB2fgcFzvFfcemHfP6R/9" +
-                "RsP7T1nZQYCSVlywLPh/kVTq8q0i+fuPULen4H0r+D639IeH/i" +
-                "1q9Q/kirYpbVCt4sq2zjh6rF+Hl/fPL9LOV+I3fbr2B+RPlv94" +
-                "+4+weKFGo/tB+V2wI0/iQP1X+48jF9/e9Y9qWw8mfW/Sjz/hTh" +
-                "L977A2H+C2T/J7/f4NYH4tIPiK/H8aNHXfnsPT9q/As1gS7J/V" +
-                "V4fD8tf8C6PkL8ErJ/O/FN+Vp8UyVEhPuRkPuly3sfJF58Ypr7" +
-                "y9T2I/t9yST4o8PN96u9/AuP+v2x/R9+cOP5TRr/TopPZsT/9/" +
-                "GX+fo3reNT6Zenvy0+//drqfqbQv5tZv4KPGDc932J7a1wXn6C" +
-                "J/3Y9T+rrgDe5+Xy1zD9hzx/+v2ADNNfIuCHYz9t5H3c1bd4X/" +
-                "bZ/H3IV77vywbZfzb9zfK+vDP/ErxPHIQfQorpwL4I1j+c+ivu" +
-                "H/Jfavuw8wnWh9+f5bYn6j/KD43R7qcA/vD7nSH3N2j/1LC9ff" +
-                "1c/ySTf5jH988f4fqPLP5fpv8J+oeM2/7fyW9A8eX4/UIf/lNi" +
-                "WuhNe3fX+v7k+V1Ke/R+JTLLYPw4z//Ljd8Oqw9Ob5/a/3jZ8d" +
-                "cZmZPoJP1n3vYh1X/lI38us36jz/ly9K/Cxg/zb0Wtr6g59fs9" +
-                "3kcKcnDR8wes9ps7vjja+vze76G/L8Qbn4T/nNGeST+2+OBY+h" +
-                "GhPlZHvhjqh/Det+iPLwbjg4Wi8014/4Frv3LtY+H27zvjX/j6" +
-                "P78+Aau9BR+r+prM+MlI8svb2KXZP4T7s6TtI/Ano3+PXv+f9z" +
-                "5Bmvi7HqF4vx8Z7/1O6D/0JU4tRBhceaOt0y60ftVyB6z+f159" +
-                "36D7AQ//Bxc+rI+o/PgXSb101Tc886zf6De/fwG4JGZp");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap1 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap1[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap2 = null;
-
-    protected static void sigmap2Init()
-    {
-        try
-        {
-            final int rows = 640;
-            final int cols = 8;
-            final int compressedBytes = 1607;
-            final int uncompressedBytes = 20481;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdWz9vGzcUf8ecBMZAUdawU43n1IOGLJ3SJcUlTYC2SwOjBv" +
-                "ohOnZMAdrI4LFDBo9ChgLZ8hGEIkPhyUuBoFM/SnnSWbqT7vh7" +
-                "5Dvaag+IFPiJj4/k+/t7PNJEmhQVpfuPe7SlSe6+C1W4z7L+t/" +
-                "mYjr8pHz0H4zFdC+l0N/SrH45PH7ybfnswOvv5/b23p/PHr/bL" +
-                "19/99Zk9+fik3KerT49PP383/elNRf/m7emHx69OavqfFb17/5" +
-                "vPBt0S4zHgh1307vN1Eo7M+ieKzI/GfdpKrhFLP0ynBNqrX117" +
-                "rRrrN43xiD+iv6zPt83fI2jX+eR4/W26XvO3lDv7pLV9Vt9TKu" +
-                "rJ4XimfD36zZ6/FsBuTltucW+v3+9f5p8cPx+dTfUB0aP3T88P" +
-                "5+PpCVn9wlQDF/bh1w+1bSqrCbPKPoH9Send618/cLwu/c4XnQ" +
-                "88P4Z/yTk+RQWcb4D8K+1UqzPbslkPvb2/vy/291m9v78uzsev" +
-                "v13j2+dzI/9eQ37TK3+HfXEfFXc+5uar2z7F+gPWB+mmIuQFjT" +
-                "f894zln7H9kFz/vPsP9hedD/avaH+8dHl+wfhJ3r89R+ZSOXpe" +
-                "mDFlX7m80trMLa3QVLhPy4jvpUw4LRtfxZ/8bDp5U8Wf7Pzww3" +
-                "i634o/erF63dgKo7rDTd/5+8dD/wDir3D8H8v1d8bfzK0f0ZeM" +
-                "ijXPfENxsH0SQ/tUPYVbQ26C3CfKf4Xz5zchqaEJNXfb+quhwM" +
-                "fy1q9jjNsTn+xW/nHe7b9mnvwigD+sP7n1aV99U3YoiLm9+TVU" +
-                "rmxzMsOq9Iap7xDbvT063NduEaMzx6Io6ctfTPn66W+ZPbl8wh" +
-                "FLav+Avvd9r3wXHPlw/OTuX3R+fO7LD0LyH92xcQifWMbPfv8N" +
-                "xwOVOjIXy/zAfSzyA1rmB7TIDy6Y5z+AfD3n88Xkb2UOaPTQ5V" +
-                "fZ107ey+sjKsxM0z8PR8d2mPzZO/9Ve/7Jcn6q52fI530G4C9a" +
-                "H9G1EL+4BvgPI79tPFlvfksb9aVljjeR9j270Z+I8jAQn81Z/l" +
-                "8FCHCb+ZeXP9/++wKBNP5L8fPrnvquYO7PvD1+xb9g8U8f/wjl" +
-                "hzL/qtHmZ0EGm8Xot6c+VlqRMRVbR6+OYPLSCW5sdW6jvFUf+P" +
-                "NTE5u/ovXV+HAv/8D+iPXhc9v6BfsLUfVNCB3677Tjhf2FVfw2" +
-                "Y9UZv3v6B77T5fQv2P0FYB9y/JpbH6nO+BOG/yfAlyH+DfVLiG" +
-                "9C/FaELzPql0j/P/PTVUN/UH+Ds36pf0iFHyfeP6z/sD/hxa/n" +
-                "TXwxW+CLbfxVjA8L/QvAb3H/UoY/y/Fp1L9F9PCUblh8byD8Lw" +
-                "h/NcPhr0PlL/78DOV3veMZ+Vdo/t164u6PpKgfe/IDeX9imPK5" +
-                "Pz/yPqH1WxacP8nsM6Q+11H7J5MP4V8IP8P5s58unT8ev5tRu7" +
-                "9PcfgdwufA/Iz8sIWf3V/dvwjFzxB+Fyp/KP4L4lNs/EP+Ad1P" +
-                "hPYJ8Ckh/sTSTxT8c4n/Lb31LcJv2PhOfP6jRPiP9P4v7P/68T" +
-                "8U/8X3e7D9isZDfIWXH+Ve+8+ZWlu2DzxLWh9y8YPdrl9xfVom" +
-                "vf8I62esn/77YTtf/9/t/nLq65T3jxn1e2L8GN6fktGl9Re//o" +
-                "1cX+L4Krz/Ls4Pk9enzfkLZv2lAvANVP+WJLn/Edwfthz949/f" +
-                "kMa/eP68/EwcP6D/FtZfHP6C+hvrB7JfUP+I989vP+UivhTaLf" +
-                "FRkVkXv3Ql9IsFh+744vffwfcz+/LbYeI7//0vj/6w7r+oPvwX" +
-                "jJflv//1/Cp9fxS9H/F/X39M/8skpt9i/hma/wb6L9yfCNmfAg" +
-                "hbbOmi+H41oCP++P60TP9Y+RfLfj2qIHo/ze8fIL4u5M+4HyvK" +
-                "H6X3o+X3B1f5s+T+Wh5tvzx8K/r9aGn8vvP4IsT/dl0+iJ+mxk" +
-                "cgfsHGP6L696njC6Qnfr8nzr8Fyc/SP9XSKTPYeHF/Our+U0j/" +
-                "Vxp/pf1FRvxA/UGPfAz8frf7J6nnl+PDMvw2PX4+IH66LT98Py" +
-                "5Kf4mPTyL+Uv8h9j/I/hH+tOP4zG3Mn1S/Y/R/ePl64y+kp4gf" +
-                "Iflx6vpAxj/OPw9Hh/gFzG/T4mPS85GuD67/X2FH2sI=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap2 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap2[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        if (row <= 1217)
-            return sigmap[row][col];
-        else if (row >= 1218 && row <= 2435)
-            return sigmap1[row-1218][col];
-        else if (row >= 2436)
-            return sigmap2[row-2436][col];
-        else
-            throw new IllegalArgumentException("Unexpected location requested in sigmap2 lookup");
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 4681;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNqVWw2wXVV1vladMi0Yg1ADpWRQQdsKlhpQ1Jj97n2XvMbq2F" +
-                "qJlpSYGCaFhAAdmt+X5Jyz7/97yE9CeCkayCOPJBprpzJj6Uz5" +
-                "iUqwGqQwIBICgvwFAigWxDY6XXuvs/Za6+xzufbu2Wuv//Wtfc" +
-                "+559xz36sfqR/prqoDtSc1ZncedJyXOulY/Uj76XRO/Uilkp6Q" +
-                "aw+T3Y3uybhm76pUgK5KP26PB9+Xna4CryzPZv8w3dP8ktOh3L" +
-                "jd0WRo7PRK/uKcWnLy0KvJBHKk0d7JiaRzFGf2F9KHqD2dsttD" +
-                "jmvdbk8D/gXpWaxvZ1jfuxkxI/Zjns41I90DjvPSX2WjZqTxVD" +
-                "rspb/OtYfJ7sbYnuD9N2akeY39O3u2/bDd5zUftR9vPJ1b53TH" +
-                "sx9xXOOnefzX7V/az9jz7OfZZs+3C2QN+6GhV9KO52q5ZlhYz7" +
-                "W4zvP00zA/C/Nz2UPC5yOezjYjrW9ZY4e8dMhWbb1t7fuBf0HV" +
-                "+6T9lJLn27/13DKzzE55utss6/Uc5wa8J1ebZc1T7XZv24Va2K" +
-                "dlPCoVydWfszfZG9374T3/2X6tfVcedUulMjyD42Cf8ih7M8w9" +
-                "nMfr/lXXaH8r7cpq2hulvOZO5Ow3ZDU7SR7tVkDnj6fufPvnwL" +
-                "+g68n8YP26/RfPZSYDi6e44oB9us9knRVkIy17FKXqJZiBs3Wf" +
-                "Q4v9ZaXSvIo9W6dyBnzJnDorYJid9gZhYIqzekmZB9eiuvYsmY" +
-                "98ZH77C/uq5ybNJFg8xRUH7NNhM9l6mWykZQ8zaVdIqXETZuBs" +
-                "3UO5H+xT64Ps2drFVXLsk1Ijs5rJztz0yv4YJD6qXqk0bizz4F" +
-                "phnxbJfOSjenT75LhxMw7nnaO7wWOchu1kL5rxzm1w3jlpF2ql" +
-                "R1GqLnfnHWndede7Lc8F513rU+zZnhaq0HkncsJ5Ny5H53B6i6" +
-                "xWhiGvuRM5+43qctHJJHnk+zROHNR6VOYjH5nfn3eOu9RcCpac" +
-                "IodS9jKsU2yTa1FyXPXicHR4DaxTZE33DH1IRAa9jGCdrtGtoX" +
-                "8ZBq4mO4Dz7uIiSk+nJDpCWKzXR77IXGTXe5rCbDvOSx17srmo" +
-                "s9cudxL4onaC7G60TiLO2e1W2I/98B6tQU2lMjY9j7rKJs0NHN" +
-                "eeQVG2aRt2M2XPdaOyBvR8IH1GYRiXVtTarqc9mBthbmqulz7e" +
-                "tgG9bYvivPQ4WFbrehKNkJumCZynuOIAfO8xzd6ZZCMtexSlVh" +
-                "czcLaxY8kP7oI+zJ7tszlD/r42pUZmNc3u2vTQIAxMcTrssUe2" +
-                "g7JT3cZRMh/GFvOjPDxreBZctT3FFQfUeu/wrN4FZCMtexSl1h" +
-                "7MwNk4Cj6fPsue3e2cQfrFKLz3/2ZvGoSBKU6HPfbAfZJ1G6fK" +
-                "fBhbzI+ymTATsGOe4ooDjsl3m4neF8hGWvYoSq1fYwbOxlFwPP" +
-                "2SPbtTnEH6xSjcqD6SvWUQBqY47bvKPPLjSdRtnCnzYWwxfy4v" +
-                "NAuByylyKFVPMwt7G9km16LkuM5o6NpriEO+dR7Hdb/DeulHOl" +
-                "2j+uPsxH4YuJrsALFrlI7m+yQqN2bFPfWRLzFwf0gUOZSqnzCX" +
-                "9L7PNrkWJcd1bw5dew1xyA+9znHd+1gv/Uina/QOZu/uh4GryQ" +
-                "4Qu0aJeo0O9qka91QuJ99O9tr1dmFyjU3Tr9l2OjP5YTqePATX" +
-                "uw8kP+o9b5cnB9w3w+SncDU73U5kz8A3z1dg/jccIycl/5NW0r" +
-                "eA5Yz0KLs1eyrdn37ArkmPSd8B9xVPh6sKXO+GXvPfWX+SPJE8" +
-                "Wf9Z8lTyHEjX0fUOMrw5fWvj3PT33fUOpLelf5C+M7kzuSt9f+" +
-                "/J7DTMk9yXPAB2uMdJHob5WPZsstl9D06et117QfK67YEVzgC7" +
-                "yZ6R/p7PeryP25d8325I7sfrnT+65+f7VE+/alfn2X9OeJtvyz" +
-                "Vb0t/xWaal081WA9dzpLjigIxnmq29w2QjLXuYrXA/vlVGYAbO" +
-                "xlGAbCl79k7WMbqurmG2jv1RZvpjkPioOmD/szIPrhWOpwUyH/" +
-                "kUu/Jc3dTh/snRFGbbcV7q1J839d4iuH8CCXxRO0F2N+D+Keec" +
-                "Xdw/eY2vgFFwPLlsNHozKSrcP9U5E9w/1aU89pFsnsIwLq2ohf" +
-                "snR3swN8LcJKvlHhvQG+6fAjrYp4VgWa3rSTQs++dBmxtXJ9/l" +
-                "Jy/Nle45TPWE+pGxNzldup6f7CSHk5eItyvkMyM4055KV1MWed" +
-                "7542kr52/fj8+fMBJ2d13yG4/jWtLIp0fVh7NPQN396drwxOlB" +
-                "iH60fiR7FrCtwudP9OwIXw475H27pyv52VJ6RUW9GmPJM/k59j" +
-                "MZ7zW/Tpfy8yiz3WyHHfMUVxxQ652sI4v0iCX05mwcBft0K3v2" +
-                "TtMxuq7O6jTZokEYmOJ02GMPrhX2aULmI59iV56rmipwOUUOJT" +
-                "vLUbbJtShhbOi6ShJZYZ+e5LjeKtZLP9LpGrBPS/th0PioA8D+" +
-                "wSJKRigrN26Le+ojrzQrgfMUVxxwtKWsI4v0MCvhc3yljEBvzs" +
-                "ZRlUptN3v2Mh2j6+oaTpP9fX8MEh9VR+yxB9cK+3S3zEc+xa48" +
-                "d525DjhPccUB78kXWUcW6RFL6M3ZOKpSaQvf3r06RtfVWZ0mWz" +
-                "0IA1OcdnGZB9cK+3SvzEc+xa481zZt4DzFFQfUWsI6skgP04bj" +
-                "qS0j0JuzcRTs03z27P1Qx+i6uobTZGv6Y5D4qDr0X+rBtcI+dW" +
-                "Q+8il25Vb5i4S80gC6L9Gn/Z2Vst866keK1zv564nM5r9LPs7R" +
-                "vdfxeqcj+v3eAkiu+v/+3uKqxb+3FNHBHeUxMl/Z7y3henecOQ" +
-                "52zFO/d8fhgOPpUtSxB6844Hg6jvXiU7mQzR9Pn+O4sU+zXlfl" +
-                "ilLObuyHQeNDFG42a9JHI5SVm8MyH/kU63vucnM5cDlFzo3ajN" +
-                "oMJ7NNrkUJY0PXl5NEVvgcn8FxY3tZL/1Ip2vAPt3UD4PGRx3o" +
-                "atKm0cE+fTHuqY+8wCwALqfIoZRtd5Rtci1KGBu6XkASWeFMOM" +
-                "hxY3ezXvqRTtcAJJP9MGh81IGuJm0aHZxRc+Oe+sgPv9HIdmoZ" +
-                "Yn5LyUfvJou2ZVMyqhgXy9muN7InJ5LOUZrF4XTZDvbEV/bVuI" +
-                "s+8pXmSuA8xRUHfD5tYx1ZpEcsZd90Gs7GUfD5tJg9xw5yjPSL" +
-                "UeR5bx2EgSlO+5UyD64VjqcRmY98dP5cXmHcb5k5Rc4N2xne7W" +
-                "S2ybUoYWzoegVJZK1Uhv6J48aeYL30I52uAft0ez8MGh91AOfd" +
-                "7iJKRigrN++Ne+oj7zA7gPMUVxxQa5fZkd1NNtKyRyxhBs7GUb" +
-                "BPt7AnnHcqRtfVWZ0m2zcIA1OcDnvskYXs4by7R+bD2Lgrt/rn" +
-                "A+c1FybXwLnxhbFb6D6iNr02Xd4Zgdf5+LyA7lKaC/QdDd2dSK" +
-                "n5eUJUm14p3IUlQ8l1+g5qbCfGNS/QdzDZ/vi+LH96sZnun/Qd" +
-                "XBG7vH9STzEubi+Uzwua89UTgy3i/mmtWQs75imuOOA92ck6sk" +
-                "iPWEJvzsZRcDzdUBYXjieVRWZ1muyBQRiY4nTYYw+uFfbpQY0m" +
-                "rh/k6831wHmKKw74LPy2uT7bSTbSskcsYQbOBte7YGmm7AnnnY" +
-                "rRdXVWp8kODMLAFGczKfPIzztRN3tU5sPYuCvP1UwNuJwih1L9" +
-                "ZUfZJteihLGh6xpKLgPx7aVxnI5gna4B3VzYD4PGRx1w5aJNos" +
-                "PzLu6pj/xl82XgPMUVBxxPd7OOLNIjltCbs3EUnAmbyuLCPqks" +
-                "MqvTZK8NwsAUZ1wN9dwPvtrLNZq4fpATkwDnKa44YJ/eyzqySI" +
-                "9YQm/OxlFwJvTK4sI+qSwyq0fyvkEYmOJsdss8uFbYp0s1mrh+" +
-                "kBebxcDlFDmUqh1H2SbXooSxoevFJJEVEI3HcTqCdboG7NMf98" +
-                "Og8VEHiF1XY4Sycntt3FMfeb1ZD5ynuOIAdH/COrJIj1hCb87G" +
-                "UXAmXFsWF/ZJZZFZPZI/HYSBKc64Guq5H3wNHa3RxPWDPMfMAS" +
-                "6nyLlRO7Z2rJlj72CbXIsSxoau55BEVrijOTaO0xGs0zVgn+7s" +
-                "h4GryQ7KqjmaX+9E5XY77qmPvNqsBs5TXHEAuv2sI4v0iCX0tm" +
-                "ukRHxrYVlc2CeVRWb1SO4ahIEpTvuDMg+uFY6nYwCv8izWD/IW" +
-                "swU4T3HFAdfWF1lHFukRS+jN2TgKPjGOLosL+6SyyKxmS/Vou3" +
-                "cQBqY4HfbYg2uF4+lWjSauH+TLzGXA5RQ5lOwBR9km16KEsaHr" +
-                "y0giKyD69zhOR7BO1wAk3+mHQeOjDiDikWI1Rigrt/8j7qmPfL" +
-                "W5GjhPccUB78m1rCOL9Igl9OZsHAWI9pXFhX1SWWRWp7HfHYSB" +
-                "KU6HPfbgWmGf9mo0cf0gj5pR4DzFFQfU+pUZrf+KbKRlDzNqV0" +
-                "gpRyGycRRcgX4uPXWMrqtrEJJ+GCQ+ql5WDfWUPezTTI0mrh/k" +
-                "dWYdcJ7iigPexQfMOvsg2UjLHrGEGTgbRwHyV8riwj6pLDKrR/" +
-                "LQIAxMccbVUE/ZqW7nKI0mrh/kK8wVwHmKKw54Fw+zjizSI5bQ" +
-                "m7NxFNwh31EWF/ZJZZFZCckbY2CKs3l7mQfXCvv0Ho0mrh/kRW" +
-                "YRcDlFDiX7sKNskysOOO8WsV58Ki8iiayA/HGOk3rpRzpZw3+O" +
-                "/7gfBo2POoBqjxWrMUJZuRP1VFbfren12cfSiUoF/65H/hpoH5" +
-                "PPrLKPNtbQ3/Wk/mrZCL/u4P+VsW8avo83+C/a9zdWxc/JKCr5" +
-                "jY/73ewUH7VWezTOaFyW7BfPz+DTIHk0SCf6mA2hprt/OgjraP" +
-                "r27JHG8mLNxhWN8PcFnSfc3/U01rnndN6W/0Vi4x8a/+j+rke8" +
-                "k3PNXKbIoVQ921HpIe1awlidk7g8y3/FcTpC+M7Vsl3aD0N5B4" +
-                "hdV2OEsnLnpbinPvIN5gbgPMUVB6B7gnVkkR6xhN6cjaPgynKw" +
-                "LC7sk8oiszpN445BGJjitD8p8+BaYZ9+odHE9YPcMA3gPMUVR2" +
-                "2kNsI6skiPWEJvzsZR8I1rpCwu7JPKIrM6TWPfIAxMccbVUM/9" +
-                "5Pv0qkYT1w/yzeZm4DzFFYftDH+PdWSRHrGE3pyNo+BK/b2yuL" +
-                "BPKovM6jSNewZhYIozroZ67gdf3RM0mrh+kC80FwKXU+TcqE2r" +
-                "TXMy2+RalDA2dH0hSWSFd3haHKcjWKdrwD7d3w+DxkcdlFVjhL" +
-                "Jy9/y4pz7yKgPXIaS44oD35D9ZRxbpEUvozdk4CrPFcWGfVBaZ" +
-                "1WmaJwzCwBRnXA313E++Tws1mrh+kDca978ZnuKKA2rdwzqySI" +
-                "9YQm/OxlGYLY4L+6SyyKxOU39pEAamOONqqOd+wu8ICk1cP8gb" +
-                "DNx5IMUVB1wznmMdWaRHLKE3aodGOZ/nflAWF/ZJZZFZXabmik" +
-                "EYmOIcGi3z4FrhePqmRhPXD/ISGFOBIucl+6KXvQZ8lwjPJUXJ" +
-                "26fC/0h6jefJb0pGNjeGKG8JfqRbImXOGGMINXQHU9qHbRod7N" +
-                "OzxZ4Eai3PM/OAyylyKNmXHGWbXHHA95Z5rBefyqAZWkccWoZ2" +
-                "cpzUcwTrZA2IXNe8sh8GjY86cDHFaoxQVu6+WOwprp/Lm437vw" +
-                "lPccVRO6V2CuvI4nQ8pL+zoTf65JiCRUZyXNinzVIjszpNekhG" +
-                "abvE5yjOuBrquR989abLnshH58/llmkB5ymuOGrn1M5hHVmcjo" +
-                "f0dzb0Rp8ck7fYqwD5OWVxYZ9aUiOzOk1rm4zSdonPUZxxNdRz" +
-                "P/k+HS97Ih+dP5c3mU3AeYorDtup1VhHFjvBHqzNbfi/RZtcHE" +
-                "aS3d8/1criwj5tkhqZ1Wla/yajtF3icxRnXA313E++T+cQXumj" +
-                "8+fyNrMNOE9xxVGbXZvNOrI4HQ/p72zojT45pm3Ey0iOC/u0TW" +
-                "pkVqdp3SajtF3icxRnXA313E++T+fKnshH50d5+Kzhs+B+w1Nc" +
-                "cdRm1mayjixOx8OukFJtJnqjT/7/0cEiI7lO+D/qs6RGZnWa1k" +
-                "EZpe0Sn6M442qo537y/6t6q+yJfHR+lE3HdGDHPMUVB1hXsY4s" +
-                "0iOW0NuukRLxLlscF44nlUVmdZrWY4MwMMUZV0M995MfT3MB72" +
-                "rpWawf5GEzDFxOkUNpeLUZbp3ONrkWJYwNXQ+TRFbMVozTEazT" +
-                "NWCfXuuHgavJDsqqOZr/Hiwq926KeyqXK/8HacUUqg==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value1 = null;
-
-    protected static void value1Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 4302;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNqdW3uMnVURv6uUlwoIqRoSY6lGQUJAjf/gg7P3UYV2S02MgN" +
-                "CKMekSQggPESrGfPfer7t3FxVBIdpYipVFiIkofxgTY7qlu+ur" +
-                "pVgKYnmLogKSIqhAH3HmzDdnZs45915gv3xzzsz8Zn5zzne+17" +
-                "133Zfcl2o1V0nq4dZY0liCuvjIyn5tpV5jSc3/EYb6HMVWG1cL" +
-                "f9qnNdI7UzYqRdsR5NjILnj6m/5JOqaU3/fOdGdCr5LUI627D6" +
-                "X4dBtrFBtGfSZr7IXevWmcjVBYw7H+6WWL+tVg6+MRQMzfYjap" +
-                "UDNP35+OqY9+sbsYepWkHm6NpY2l7uLuAfGRlf3aSr3G0mo9LS" +
-                "WLZ6ii2Grj1Dwpn9ZI7x60USnajiDHhrJzm+CreXoxHVPK73vT" +
-                "bhp6XlJLW61WglZuZh9bBZFqlIGso+tqtckTxePuE+Tk+22M5b" +
-                "VZMdPkB4bVIJL20XU5RDVPive69+p8FJuOyvfWORgRSWppg3ka" +
-                "ERt7NCLVCE3W9c9KPt/bmYsL82Sy6KxomfzEsBpE0g7nXQYhXG" +
-                "GePmirSfmDPuWmoOcltbTBPL1JbOzRiFQjtGSTqFqtOZOLC/Nk" +
-                "suisaJlsDKtBJO0pG9llPNU8jdtqUv6gX+guhF4lqUda+WaU4t" +
-                "NtrFFsGPWFrLG3VptYlMbZCLFZDpinZr8abH08AmA7JGaTCmPm" +
-                "lC+rt10bel5SS1utVv+w2NijEalGaMkmUdB7IBcXqjVZdFa0lI" +
-                "uG1SCSdqw9RQiXmidTTcof9DVuDfQqST3SWk+jFJ9uY41iA/ca" +
-                "1tgLvfvTOBuhsGusjpXka7D18Qg4QuOlwpg55cvpNfPX+UZrP/" +
-                "fLw6xv/fnoK56rkL9af0GIgvu+xIH+C9bXnxfq2VV7DX+dE3xU" +
-                "VNXkpwfFFMentvJQanVVg/+KvZ75HFPNN9V8HuuOZck6afXTyC" +
-                "YIaWMNe3FOyeZ7u9M4G6Gwx1q9s6lfDfEIeMfaLZtUGDOno4j5" +
-                "sW3txzknSUeANjgm7yMbS0EKhlt75OJsfk08FscVozZC57L65F" +
-                "mWzXqL42UEvHcfjdmkQqmO69bIHD+27np3PcyYl9TSBt4X3PX+" +
-                "OTMgpM1rlEGySRSM9XFBwnOmibG8Nita4DlzSA0iacfaU0T1nK" +
-                "l4pV6JT0fle/AHvUpSj7TWzSjFh3/tZ53602jCVtyONfbCE/IP" +
-                "0jgbITbLUau1n7NRKdqOgGq3bFJhzJzyZfVL3CXQqyT1SCtPQy" +
-                "k+3GCeLpFNowlbcV/CGnthnr6XxtkIsVkOP08mKkXbEUDtp8Zs" +
-                "UmHMnPJl9eVuOfQqST3S6u9BKT7cYJ6Wy6bRhK24l7PGXpinjW" +
-                "mcjRCb5fDzZKJStB0B1W7ZpMKYOeXL6le4K6BXSeqRVn83SvHh" +
-                "1jmH/drKsYH7CtbYC/N0SxpnI8RmOeB+d66NStF2BFS7ZZMKY+" +
-                "aUL6svdouh56W3LaYN1u5HyCYItxjW02LZNJrjJUKy+Xn6fhpn" +
-                "I8RmOfx6MlEpWiTt5YdjNqkwZk5HEfP73o3uRuh5SS1tcEyWiI" +
-                "09GpFqhJZsEgX3rCdycaFak0VnRctkb1gNImnH2lOEcKl5MtWk" +
-                "/EEfd+PQqyT1SGs968YnThGfbmONYumvu44snmGc+xNvTeNUtc" +
-                "oXc0Dsi/1qYLQdQa3WvDpmQ1k9F0TM3Wtivqx+q7sVel5SSxus" +
-                "3Y+KjT0akWqElmwSBWM9KhcXqjVZdFa0TM4Oq0Ek7c1rcgjhUv" +
-                "Nkqkn5We88Lk+x/loQnpLb9fQ52z7Ndi+V97vOtsHvT5PPD/Jy" +
-                "zs4JuTey3opcHWzLvd9NHP1a3+76Y+xzu9vgNrCkljZYT6eLjT" +
-                "0akWqElmwSBVeMHbk4XYVYdFa09MaG1SCS9pSN7DIeYdbVpPxB" +
-                "v8pdBT0vqaUNuL4uNvZoRKoRWrJJFNzvXsnFhWpNFp0VLb3PDK" +
-                "tBJO1Ye4oQLjVPppqUn/UB78Efb+3v/Pi1vAfr81av2M6d8i45" +
-                "uk/wnZnX9x7cefj1vgeXH8u9B9N1/A2+B290G2HGvKSWNuA6w2" +
-                "3078EBIW1eowySrXereCZOEmTvFhtjeW1WtPQ2DatBJO0TJ+YQ" +
-                "1f1O8Uq9Ep+OyvcuchdBr5LUI60cdRf17hKfbmONYgP3RayxF8" +
-                "b6AYnr/VTsGsc2ywH3i/F+NQibHgHU7uIqUVbzFDGnfDm92Fbc" +
-                "I9f99gnt9xQ7YS0/COf4quJPvS3Qf9h/jvkU7H/HzzPhjPk3tC" +
-                "/5Nf9qu9Y+xEcerrK8rX1ccs/6pMc/UTxZ/KU3W/y1+AfglspZ" +
-                "135zexFY3lLda49qv6P9zmK22ErzVH1idV9xP+GLh2B/DHBLoD" +
-                "2+eMbnflnY6qvaRyKuvdijf1P8Afy7Oreldze2FHuLF9L7XftN" +
-                "vpqj2293N7gbYMa8pJY2OCZNsbFHI1KN0JJNomCezsjFhaNqsu" +
-                "isaOltH1aDSNrLRg4hXGo9mWpS/qB3XRd6XlJLGxyTk8XGHo1I" +
-                "NUJLNomCsS7PxYVqTRadFS29HcNqEEk71p4ihEvNk6km5WcdV9" +
-                "fklZPwXjx52eTl+r5Rfr61H6/j8rkuf48QPl29dNjnvuq8K+VO" +
-                "0rslvt/lPpuV3L1N6efJ6ow5Pq2gPC/+zFrud/2+R0hr7jyv7n" +
-                "ebHFRBklra4Jh83G3q7WEfWwXhNnUv1Vp1fFQ2iYKx9jTSxlhe" +
-                "y4EWuI73rUHXx+xUe4qoruOKV+qV+Dg/6a0D/bbOoa0DE6dYG8" +
-                "ztUE2sYukcVt8ZI1naLHFW1CdOHeTvLNIZaddsEjVxsmatVmYy" +
-                "iryO9zs3U8wV824GZm6muLfYWfyxeNDN1E8v/uRmwPKwX5dPFX" +
-                "8r/g7ac8Xzxb+LF4uXiv+Cpu53GO9nf4bvd72p4rfF74vtmAWw" +
-                "j/P9Dlp/v0MsbqAfxPtd+zC830H8W+39DmJ/V+wAFNzvit2gPV" +
-                "A8VDxSPFY8Sudd8QzY/lW8DJGHwn4E1t4+sn1s+5j24mIBEHC/" +
-                "A8SuaoR/Lvao8+1psPyzeJbud8V/vO1/xSvF/uJAe0Td777lvg" +
-                "XRXlJLGxyTC8TGHo1INUJLNomibGlcWP0mi87KlQyuQSTtKRvK" +
-                "+gUyHmHW1aT8QV/r1kKvktQjrVzj1vYeEZ9uY41iA/da1tgLa2" +
-                "ta4nqzYtc4tlkOf33qU4Ow6RFA7avjKlFW16eIOeXL6qvdauhV" +
-                "knqk1T/nVvvn8dViFz9ucB1fLXbFvZo19sI83S1x2q5xbNMc1T" +
-                "z1qUHY9AiodsuGspqniDnly+rL3DLoVZJ6pNXPRSk+3cYaxQbu" +
-                "Zayxl7LFcTZCbJYDVscX+9Vg6+MR5NhQlhfa6khL+bL6de466H" +
-                "lJLW3whj8nNvZoRKoRWrJJFKyn+VxcqNZk0VnR0nthWA0iacfa" +
-                "U4RwqXky1aT8QR918LzHknqktV5y/klQEG4UbbLBeRfQ6Avcox" +
-                "TJaD9PuyVO2yVCbJpD8rA9h7YjEGbrowpj5pQvp4fniC3VG+in" +
-                "2DK6ID5+Li3b8B68JXluxc9958oJyVI9Fa9Xz+MP9UaCvRu9cW" +
-                "7hOPpdT++Q6Fc6ZU9hiIW11pbc576jC51XCNNbJHFlkdbOFvpd" +
-                "T76qEP/d8tvFfDVP4TcKbfx+50F/HT101H8SjhKfn3LztP6w9n" +
-                "cg5pp+7wWUSf91jw5M1xYHfR030jzlYosd3UXhmecB2B+pYq8e" +
-                "vbQfW/sYL78i1m50BNo3FU/3myd4fhpP38Va8/ZTS6h6OrzdzK" +
-                "Pk34m15gmBvxOL3+8kS/XbsvA7sdEfxp+KFqPhbW0ec8o72/o1" +
-                "9v1u6rMa4/v7uYrWfPb9bsp751mGzzrnk1Uzr9/v9O/EiJGrbt" +
-                "aatd6r0N/We7lWa/qt5vfRe5u1+mbst7bVghXmaRv3Bc96axtb" +
-                "kzNhs+Bbe5sqEqMwp2TtvcJ+0rEKwWC/WeMqxKo5sfZahZHc9c" +
-                "2t5FshthR7m4mH4qlqd7Y721+rKkk67uVN1kM7fl7AfY0nnX2s" +
-                "qcp/hNcnjbco4cXrE/vJWt7cUxhdjWbT2SY+xLbeIpu7/+cFqV" +
-                "8yw7bKrcLPVUBeNnk5am4VeGBvvYqS+iRx9/O0SqyMJ519rKmj" +
-                "82qMtyjhFRxjKDZlsWw628QXbe06d995SvySGbaVbiWedyBfRo" +
-                "kbtrDaN7iV/nuElR5bWf08rRQr493K+gbBkddcWTfEeIsSXjzv" +
-                "2E/W8kcao6vRbDob1i42zj3486e0ZsnsVjYONvy9puU/JUcNdd" +
-                "zrGxsHp2axjz62wvXpHu4LHnv1jTpLMk8b8byT/BKJUZhTsvYO" +
-                "YT/p3fGewiAeayK8WDUn1k44eC5Quak+s87v4XmKaybGMMp9jX" +
-                "3Q85Ja2uAo3tXYN/UH9rFVEKlGGSSbREHl3xTk1HYbY3ltVrR0" +
-                "x4fVIJJ2zaZ9nF1mQ+djTDwqbN2YG/PXpzF/fRrDDVYa7OXP3d" +
-                "jUk9Qnibs/78bEyng3Vt4tOPKa6/imGG9Rwis4xnTHNUZXo9l0" +
-                "tvJn2mZz9z3vEr9kdmPNkeaIfy5Y8M8FI7hhC1y/bI5MPYX91g" +
-                "JZcIfzboH7gme9tcDWZJ5mBD+1nVpGtRYwp2SF54IRjfDfSwUM" +
-                "9rGm5kj3CGp1BdUz7KOoUaU6d2shOe8WwnPBSOyheKrarXAr/J" +
-                "xVknTcy19bD/d0X/DWx5q6A10Q4y1KeAXHmOnDNUZXoNl0tonz" +
-                "41FZf+4v9Utmt6JxoHEAzkAvqaUNZvEMsbFHI1KN0JJNoiDbM7" +
-                "m4cJUwWXRWtEwfMawGkbSnbGSX8QizriblZ90d546DGfPSz91x" +
-                "tMG10JFNENLGGvbUcYiy+fPutjTORojNcsA8HdmvBlsfVcG1Wz" +
-                "apMGZORxHzY9vY3dgNM+YltbTBebdVbOzRiFQjtGSTKJinW3Nx" +
-                "4aiaLDorWqbfNawGkbSXszmEcKn1ZKpJ+VkP75Zz8feN9WZ4C5" +
-                "zT3yy25uJfwKi36bn4N3fhc5Vn0vfgcMWcw7j895xUicYQCzFh" +
-                "P/ceTLVX1ajcPEp1tZ7r98s6YuRqGjsbO2HGvKSWNuCqi409Gp" +
-                "FqhJZsEgXztDcXF46qyaKzoqW8Z1gNImnH2lOEcKn1ZKpJ+VkP" +
-                "x2hrsp6WhdncatbT1vR7c5slt56mTh6wnrZizv7fm0+frjFUAV" +
-                "WB/ex68rVXlarcPEq1arb2XU9bAweup/sa98GMeUktbXAU58XG" +
-                "Ho1INUJLNomCefpyLi4cVZNFZ0XL9JnDahBJezmXQwiXWk+mmp" +
-                "Sf9XCMZuP1VG4Pszlr1tPsgOsT+Lrrcutp4gsD1tMsxvW/Pk2f" +
-                "pTHEQlVgP7eemlf7bLMsw3qaTdbTbPeaPutpNnDgetrV2AUz5i" +
-                "W1tME87RAbezQi1Qgt2SQK1tO1ubhwVE0WnRUtnU3DahBJe/fR" +
-                "HEK41Hoy1aT8Qd/T2KOf30nHvdzZ2IO/Y23sQR9bESl9RJNmfa" +
-                "R17lTraa3gOzMcJ28Iwis4RnXu0BhiISbqcy36eRw1wkjuzm39" +
-                "31tsvFQlc1K938zb1dfaX8K52VlIf6NXPP/6fq9eVa6+YejMJL" +
-                "/6Ozjod/Cd3+D3COqdVX2P0Od39lfL9wiKN/P5E3+PkPGY7xGi" +
-                "/xpY1rijmt07yj/C2XKL9rIv9zfI568YX5X+9JWvNYoQ3fFhiE" +
-                "Fsg+dp4P9QfCqT+aSK9XZuSzhq5WZT0e0Dqs34pq9V+b+m7OuY" +
-                "c1BGyTv91b6zf1KeWbO98XniOfF//wcZyslC");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value1 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value1[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value2 = null;
-
-    protected static void value2Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 3362;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNq9XHuwVVUZv4KogYCPEGEohuZ2E7RmmtGmzNG77zl7ArXGzJ" +
-                "pppj8MIbEUs+kl1cxa595zuPecmv5Ig9BxRuImNlMho/gq1JRH" +
-                "4fuBgAISyghXvSSSoEatx177+9Za31pn7wu1z6zX9/zt7673OV" +
-                "BZUlnS0VFRuS7Np+9FoBmOLeG2tDTI4trAT2k9o4Xb2Kqk9G1p" +
-                "hwFynfo2UxLgqyN/sD0j474V1qielendYcrkB8Lf8g70GB71UL" +
-                "xmHeoDqN7sNT5jFsFusy/ElagpGxK7/9RWdJR6TEwUjlsrt5pc" +
-                "l+bTfRfQDMeWcFtaGmRxbaDftuxq4Ta2KinNP7TDALlOtgfgwf" +
-                "vA+4M9I+O+laotrSwVNZXr0nyS7wHNcGwJt6WlQRbXBn4FkvWx" +
-                "vhZuY6uS0vxjOwyQ6ySx+xLgC8UJ2TMy7lthjeondJl+YMr6ye" +
-                "64MzzqifFUnG5C4+5G22e7p7koODKEBTbVp9fHHZNxR+CrdmXx" +
-                "XW7K+kRvfloemUeWx302+on5qaudlrYbmZ+6aM+NxcckTl1hHp" +
-                "+elRfUz/R4nwv3G35S3yU2z241yIjwz7bDys8XcVod68NUf2rc" +
-                "XiwSfZcWjVllWWWZyXVpPvVplWUDt2EJKKlWepa2ALK4lp4Fks" +
-                "2D2Ibt10UhKb1Xt8MAuU7YG/B0fwKvWg7saV3Xvq3h9gIxP320" +
-                "3PyUdnrzyvuIj7jNw0VnNS3RfC8mQfUnHws97mg5cgx2Vjt1id" +
-                "sy1WdWO2WcgA8yQAX9dJZrszUGIZoF8q3Ruqx2ujgwCpBoHW/b" +
-                "BQQ62W+gvWGasU3EaRZGEI6N+MyozhA1letSf0ScZlVnqDjlEl" +
-                "BSrXSqtgDWQEsgmgqSzcNgAcv5KDSl+V47DJDrhL0BT8cJ+5Vy" +
-                "YE/ruvZtjXy+Wp+vred56936yDy3Pp0Zk8Xc1uhy647pTyHPxL" +
-                "ibSfGI/jSzY4RP5bE8TueHeZRe+rGYrM0tGacbiyH2vcUQHx2q" +
-                "yqN5nD4vdoe30TxKLz07Jou5rZvLYeq9uhhi35vNI/rT2SOO04" +
-                "Y8Thd5cdpQRI9uN36P4rTsmMaJQNW4k+KV3WdaXtZU1phcl/oj" +
-                "4jQbaIaDJfyWlgZZXOuZS+lhFK4WUFor22GAXCffm6bD+4BnjM" +
-                "b372u4O5qky+fVLy96vpPt+lfR+W4lOn19pdzfsn5F2f2TwW6j" +
-                "ql/Wccyeyrr8Tff6PJ/m60EbS1fWohjuLYcpLu96xho2r6zfqN" +
-                "f78ujPDfNienR74K6jWO/uLIYY9Zxvtkdc/ukZNnnPsDkH9wwn" +
-                "HxEz6C2al51Jv4hbRs+cg3uGdS/XVH4p9PmeYflBMVsd4rhWs3" +
-                "n8VpoP52D8Bga7QjEJa8l53LfuUwr1p4353+Rb3nq30cG/MMxz" +
-                "2wnq862Hjul6t5GYn/ZSvKNa74YqQybXpf6IOF1TGVL3BbkElH" +
-                "RLWwBroCWQI8nWo7aO7de2Kim9V7fDALlOCSmR3Rcgv4AX9P23" +
-                "kqU453+gTvv5PYH+iDhdq2kmB0mQMaW9srjWVJz2uXossTWwLb" +
-                "vd2mR7s7lsKryBSb63bAW+DqMzuLEk5V+hfZT9Vfh6jGUrA3uS" +
-                "PcWeYZsF9xB7UVFeUvlu9hr/sijfYG+xt9kB9g77V+9C9h7v4M" +
-                "fr+QnNVeP56Zm1jezv7HE1J73AdvLL2CtsF/uHoL/KXrfW9iN8" +
-                "NB/DT+TqvpafzCfwM/hk9jB7ROE8xP7GnhBST7Pn2POifIFtYS" +
-                "+zHWy7jhPbJ/I32SGheYJIHxJxup+P5afxU/gkJk54bAPbJPJn" +
-                "M19b2bZ8fN7P9gjKXjbE9rN/itpBJfEuO8w+YP/mx/FRCs9Efm" +
-                "r3vm7hxeS6plv162UOPFy6La1rHk0xNV0f2Orr2RpAs30IJN8N" +
-                "YbDxmTcQ7/+I6w0QYs9SzvdHteujoLfie1+B7sZ8v7jI7qOKO8" +
-                "ZZiU9E9ROIe657LGnxN68f7+9S66Opm7vW4+64xpipfWb1nvpx" +
-                "al98Uptb5WXhm0J7fKp4vaOT0sxXuOomw7PlgILXOxwn8vuWbT" +
-                "Eu2MT+8jg9QeEwNErDYG8bp9spbePF5Vn96be5jRX+/ExFudjT" +
-                "2Nrudjd8E9x6pmx/amwpdqvMB0v1p4M62eOuca5I5xk6yGFK8W" +
-                "fgcLQ/HfRraP+02aYbvJpGafA7QhxHbmVYxn5TLlafZIJOqr0j" +
-                "5+xSM90EtHtTcpgipHYXjNN/CJTbsWW35uwcBZ3vxDiMLKWR3B" +
-                "uzheXCMu6bZtTFkLL+dJFI3YaneyIfwhK0lbIcyQMuNQ74G7YM" +
-                "xpksJu8LFrs5jQJbjaHKKBN1UpjezON0uuHZcphS/ElWRrkT/V" +
-                "pIAvBqGqXROC1mK2TX5dg8/jCfy9eydfxPfIOcn/i9Gf1+lV+F" +
-                "JOeJNJ+9lbe92ysuVia+iegRD/aMj94hHcklr/HOqeO5ODfLfW" +
-                "Yu/YJILwvZBUqDuFdJ1O0EP8VBcZ8vx/bwwLcjYp/pnCu739ZJ" +
-                "2dqfr61PGJ4thykl7iSicwXY9K1rTR+HoVF4fOztPfsczAuf76" +
-                "pPFj3f4X1F6HzXnOye0Iqf7zDKYuc7iZ063/nrfdHzXeVA5YA4" +
-                "Eatcl9lnivgcaJxheJpqSXgtbQGsgZaoTaH08lO7ZQVbBUoMA+" +
-                "RZmkJJgC90X2Ch8f2bdugc3NtfqXrn4O/0LsXnYEFV52B+rTwH" +
-                "9/4m81ylzsHCmljVR3YOFvyS52CBodA5WLT2CGQFzsH+SNGpck" +
-                "7lHLFuXGWPjco5dv/GK7mUxyX0YEmRmu32465FeiTj8Qf7cRuX" +
-                "9OjPB/S40++EZx931Fvac1N1H87zuatxHfBwmc6NvG+QV10d04" +
-                "rZ9GVkDTBRuo1tNF5Xlh8Me6Ytm+jxd3Nf14v0Sf/vPLJfH/Y8" +
-                "H9OKn8Qar9oydm+m9pnam4u3tsL1ww8VPd+lV6ZXQq5rutW4We" +
-                "ZYAvPtlta1bZqarjfP9vVsDaDZPmIY6DcQ+6KHXG+AEHuWcr4/" +
-                "qp0jnZ/Ot8/BtVHAw6Vp2fcqtqT/NCPfMRrf0XGHZGQNMFG6yd" +
-                "0UXh9fcnfYM205nZfOU9GZlvf2XwMPl6ZF2g7yGntiWjGbvoys" +
-                "ASZKt/EajdeVrU0Pe6Ys26uFHpeNJbRMaL0LjfFsn3n5/3O9Sx" +
-                "4ott4lD1DfhlDrnTuHgvUeZuva72Hv0kP7cTTuvuHu6vF+nNoz" +
-                "+yuzv3uB/biNwMVOR6z9GgT61UnVSWLVVrku9Uf0p98BzXCwhN" +
-                "/S0mANtEScvk3p5bsGywq2WgwD5DolaykJ8JX3p7U2Gt9/3p5W" +
-                "nWbtc1RbpsYazYHcSJp670IpjaWwDac/tQxHa4f9ghwt46PxEf" +
-                "QN2NixfHCHNy1Ek/ry3NI9KPrWApl3D/Lp7CnRlzd3D1YvZC92" +
-                "D3YPspfSBfLcItbCxVqSib0ok/f4g/j7O81TNrJzS/Pn2cl7UH" +
-                "7UGHHOLZqTLkgXyHOLsDJO0kRpnVu0ZeFXnFtkS9S2iKRuXhV9" +
-                "n5Rgh/QbyJQ8yMdKnvx9geCLc4vA+qzU1Djy/vQgUOS5xRpzEp" +
-                "VzbkE7r3xfsHgUok5Rq8MqvnVk387zbc1fjPy7ff5c9O6Kus9c" +
-                "XfD2cHUpHGJ/bs7BKE6d/j0dP4Lv6fz9UyROt4z0nk7Q3o/d05" +
-                "Fxuo+6p6PkWHC/4t/TKY1+SNl59ibgJeqsl1yn7sf7w3FK+oOI" +
-                "+iNo+2Pc7H4cyWCcBhvlDec0ipjnOCrUny7wePNqBW6cqXvf2q" +
-                "nNpwv2PKI/1U6OadSIG+XkzwXHnZDj68uMPbaud6wTpwtz7D/L" +
-                "+s84GScYd8Rb/jgYp2cjWj+BcUdG4sNy3PFF7rhTuj8i4/QXGH" +
-                "f8h8jT9125MvfjFqbJee3MjmP21KY0d3T8j57aGUSc6gX7U72s" +
-                "t6QFKetPF2Ee+v6uFbdSliN5wA1+f4dkMM6kRc7jLTenUWCrMV" +
-                "TZ/uaATvb9U7LB8Gw5oBRf78Reamf0W48Dfi0kAXg1jdLwsQf6" +
-                "4sfDMvhNib/dL/P+9CXP+xy7bcepNsvm263m/oL9ek6JMTAnpJ" +
-                "GsKWhhTWFf+0PtxHuzZHZc3+bbrdaM9r5DPoJYZxdBVebtS8yK" +
-                "n8r7k/evBpJL2ni9JNzqKTiPt/Phy1IaRb3VPl16Hm9CyuJ0Be" +
-                "apMsUt6hYC8+wZOawlecDVPtrIZDjVTVOT0tCyOKdRYKsxj/p3" +
-                "Pdb8lP8lauea7xFyzYuJ+Wx3iG+3enYRutsJdBfT3yMo+Z2ULK" +
-                "VBeaN+P177TOF+NGzfeiXDmNP+93RJwV/zt7po327fC92mqb4z" +
-                "bN/ShX9P52MPvX2Z39NZEc7/R4Ha+UVu/Io+rYL/90V5H2ScVh" +
-                "XsJavKektvSG9wzi1fAx4uTYu2EvweYW9730XwGS+AidJtvE7j" +
-                "dWVrlbBn2nK6MF3o7J++LvwNaZ6RwS3SdpDX80pMK43uWBtv2D" +
-                "KyBpgoXe3NxVtb4crWvhD27Fj+Lw7N+fo=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value2 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value2[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value3 = null;
-
-    protected static void value3Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 3045;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNq9W2uMHEcRXiVxCEG2cSzH+PzDxgoSRkqIBCgh8GPnZif3B0" +
-                "EsfvAIDymBMwH7fLItCETA7txxs3drEwmJh+X4nJf5hYTEn8gI" +
-                "FGwkbGGkPKzYh4wiB/wDuMPgxPgMOWJ6pqa6qrure2cvu9lWP6" +
-                "rqq6qve+fZe1ermZ/Gx3CUfbbWx0/nvcv3JU5VrVPnqkWe+lOv" +
-                "XJIHkwfzvvWoXqevkI33KNmf9ON+W602vLp77pAnx+Qj4iT5Du" +
-                "+R+drY9D5/ZjlysicpYqfbdK5Ztd7/BBtiuORwm/XbwOpltMfv" +
-                "J2HyEXGSfCGby9fGpp/0Z5YjR9NUy+Ppq9xW9A0uCZGXuC1Zsu" +
-                "P7PtE0WSFHF0zJM8+g9A15NmYrs+BRQxmZdj/Vcp2+wW1FP5J+" +
-                "iiOcGCPcFo1kD5vxvX77yRqNCGf0py0Mch0p9CPybMxWZsGjhl" +
-                "ixb39XsqvgdL9ep0fIxnuUxCPKa+vcEfIKxXQx+Yg4Sb7pZ2S+" +
-                "Njb9oj9zmFX6Jb1O+93zypQnxnq438UV7ydLAqcvhzyaQ4LHA9" +
-                "WypaPLvQe3Nul1+r44j/OBOZ73SemOTmP5zwXpeCifxCi6rlrk" +
-                "qrjgOh0QGK+uEOGU4Lem88CbWKe9QetKV1e/Vi1yjmv9riqP6E" +
-                "aoxSwX9To9pp4Lbkc94bimh/NuVzcG9og9Db5m6pEv6CSP4b2S" +
-                "JX3aWeNH/LMJz5SeM9Pv9PV53Dl30on+RBavT9+uDeATrYBaZJ" +
-                "jSx9NhtJk4rulhnb7ejYE9YrOelnigTvIY3u2zWJE7fow802gf" +
-                "1XKdnuC28mib55IcpVdLbgtZVdYFE8N5Rvuk4wmsvJVZhDLLtm" +
-                "Q8GTev4+kPyMb7ZDxwx/PaOs+HvEIxXUw+Ik6Sb+Tha2OjAGM5" +
-                "crI72W1dx58mG+9Rkp6fyOasU+ANHnMH14lh8hFxknyHxyW+Lr" +
-                "/0h/7MYVbpj/XoJ/27AqYHOn+tDeiT/ki4Q16uDfjD9lV+2s+4" +
-                "U1ffxEoc7PV+N3X/oNYneajk9DO9Tr+ybZLE9K/5bWD15/b7SZ" +
-                "h8hJLsC9nAwu02Nv15gLEROdoR7aAWRiBlr+QtR3C7KYGvGRNH" +
-                "MJ665vqZHqQzc4Q4yDNQ2d6wsxFDO7ObT5LjazF7xs+lXM5rdg" +
-                "Es1CKSxognG2qd6/jfzPjkyX0og4vgcRGLsWwG2dtM7jy27yPZ" +
-                "2SyXYvWGDi30UFSuf8VL2SW0oZYQrgQRKBp51WqNUclP8zGi8K" +
-                "ikCXGgFqqbDfQUizJzNm5+7lE/klcs5RviEdSCHbW2xN4pj3A7" +
-                "R/K4pp+d1Y1qMuEySvl13MyJWLu1M0kaO6/33nK3Hv2in/eJbN" +
-                "Wg7kDS/S5b2e8s8Zn4DLbQQ1HX+9n4TDLLEdTLEkSgaOSlmK+V" +
-                "/DgL0vCoyCTMgVqo2S0Sgs+YMnM2bn4tn43PqlHRQg9FsXsyPp" +
-                "s8iTbUEsKVIAJFIy91xdgm+Wm2RhQelTQhDtRCdbOBnmJRZs7G" +
-                "za/luXhOjYoWeijqO3mddGjhCFcCNEUjLxVtveSn2RpReNRqHK" +
-                "iFmt0qISgXWyeDjZsf5WTJ3JEGOa/ttWChFpE4nhjL0SDxKHbM" +
-                "4njaiRbENyM5L+Fkbjab5hDnidlM7hzfy848+Td/2zxejEdx37" +
-                "f5nMqtzsv2u5rFUdc8l9uaf1G22wHZfFXJxRtU87+tWusGZbmj" +
-                "dRNFaa1srXWurMXVtnm++Urzz6q/0GTve8loMtq6vrVCeb6jZL" +
-                "GqdWtrffM3zWMc03y+ebpkMKfqy1r/9yI2ezPKNrRuzm2tdQX6" +
-                "RPOUsr9Is+S59f3gkm1R/sX+eWt1a038UvySOrKKFnooap02kA" +
-                "4tHOFKgKZo5KW+4THJTx/9RhQetRoHaqG62UBPsSgzZ+Pm1/IL" +
-                "8QtqVLTQQ1HrtIl0aOEIVwI0RSMv9Q1vlPw0WyMKj1qNA7VQs5" +
-                "USgnKxdTLYuPm1fDpWxzK00ENR67SFdGjhCFcCNEUjr1pt+FnJ" +
-                "T7M1ovCo8enhZ7tzoBaqmw30NB/KzNm4+bV8LjZ20EDOa/tDYK" +
-                "EWkTieGMvRIJm22NmVGz6G0RHhy0s4KMPHTIzLhvPEbCZ3jjeu" +
-                "mps4A+Hp8pyZV121tjvP47+0bVxKj4r7mdu9+5nzgTvNdr+fms" +
-                "u7bUw+Qkn2zTYTG253sf7MYVZsnX7dz+f+4eOD8pTeW5afzfve" +
-                "cig+hC30WNr3kE5bZjjCxMczJXoGreSlRjOyH7FwvCwN6k27OQ" +
-                "NdZyQEn3E5nuFzQoyUPT4QH1CjooUeS3uUdGgxEbYEaMLyUfY+" +
-                "2Q+9uMyj5pr29m4cqIWabZUQlIsdJyweYuxZmR6l31PYt7/m2i" +
-                "a8vy0oG/L4rmiXtU91Pd6XhZCzybhq2PhgfBBb6LG0d5JOW9oc" +
-                "YeLjdoluo5W81Kgt+xELx8vSoN60mzPQtS0h+IzLcZvPCTFydv" +
-                "ktJ1lqf8u1xan/7QhtMsbvOYj9p6rZclw1bPx4/Di20GNp7yOd" +
-                "tkxyhImPJ0v0JFrRPvGoGk3KfsTC9rI1qDft5gx0nZQQfMbleJ" +
-                "LPCTFyduv3u/LJq/XRtnOstT4c+N3vJv0r8TfF7+Nzb+nxVDFb" +
-                "9n7F9+FKx9Ph+DC20GNpP0Y6bck4wsTHWYnO0EpeapTJfsTC8b" +
-                "I0qDft5gx0zSQEn3E5zvicECNnr9XqV6Baz5nH0KZ31q/EU/Ur" +
-                "XGOs+JTZmxZXa+zZX3FH7Nn3uM2Dc5Y8IJuPKcflc/JxCvmzdf" +
-                "q9Oi4/YMUN/BU42lxMrgl5dj07PtjzeSdmc/+erjqzeDaexRZ6" +
-                "LO1DpEOLiVDvwUzCeITlo+QCR7peXOZRu3EwZ4DVzQZ6ikXzp3" +
-                "iIkbNba67/CjX9Q19/l7r7Lf1d6q6+//1Fuefc2OLsjz+RLGX3" +
-                "mPvjyaK5O0172GhTo0VnX3sRqr0/jjm77Y9nH/Htj+cRpP3xnI" +
-                "O7P+6ed8RM2h9vbCH/xp2NO5WmaKGHotbpJOnQwhGuBGiKRl5q" +
-                "rvdJfpqREYVHrcaBWqjZJyQE5WJrYbBx87se5dmm90TTF9lfdY" +
-                "xTS59e/h+h8c5BnXfR+PKzZdsq87+tcRv0XM5r+xS3oNYc52jT" +
-                "n8c08qzieOhdH87CRvC4iMVYDoNVJnce278S/rVRZXNjsxoVLf" +
-                "RQ1Do9Rzq0cIQrAZqikZf65j4v+WlGRhQetRoHaqFmWyUE5WJr" +
-                "YbBx86McPxM/o+58RQs9FLVO10iHFo5wJUATlo+yL0h++u5sRO" +
-                "FRq3GgFmp2l4SgXOy5wGDj5nc98s/0dfFRPb7eedY66r8+2TZb" +
-                "bmzsfg2YvmFZO7JHhXNoo9/Wnw97Hv9jz1fUe/1SY2gAV/B73T" +
-                "yDyhYvxAvYQg9FfbtvJx1aOMKVAE3RyEsx3yD5cRak4VGrcaAW" +
-                "qpsN9BSLMnM2bn7uEd0C1TqeXkab/v4KHNf08Dwe/IteiumL7v" +
-                "JAneSRbQ3F8sW1LdxWX6gvUAsjkKKH6gsmgtvzMjFG6PqCHRNH" +
-                "MO4wP67nONTVF0zZz0GeAXA3sxFDO7ObT5Qv1i+qUdnCCKRsLG" +
-                "/Jxnsoap0ukp7lvogSWtU6/YP8uJ7jUMdz8IguB9OGM1Dcd9rZ" +
-                "iKGd2c0nyvP1eTUqWxiBFL2nXvyGSwhuNyXw1bnnUUKrWqdF18" +
-                "/0IJ2ZI8TBtOEMgLuZjRjamd18kqzfCE8mJ4ur0qv6Lr2CbLxH" +
-                "SXyr9to6V0Ne4Dd9Y3cMZiFOUs70kszXxqb/9jOWIycnkhOFp/" +
-                "5/8/Qq2XiPkhjba+v8J+QViuli8hFxknyjIZmvjY2G/JnNyPHl" +
-                "+DK20ENR3+7NpEMLR7gSoCkaeal1WpL8OAvS8KjVOFALNZuUEH" +
-                "zG5X3xeyYbN7/tkcwlc9Zzwetk430y598vSOa8x9P/AsfKnN9P" +
-                "wuQj4iT5Ruslvi6/aL0/sxQ52ZvszVuq6nhaLWMIBeuUBP5rPk" +
-                "eDvfNGGMcjuUiMgpmJBbWcfbSWa3yxcpwZj2IRc2lXk+9VTq+R" +
-                "MLTvyD1Cu6XVcOZv0d348d1P2Pc1eUXr/H/ly3dbo3VmPL5La+" +
-                "3K/h9I3yET");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value3 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value3[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value4 = null;
-
-    protected static void value4Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 2921;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrVW3uIXFcZn0BtKRg1IcH4KLWC4D+KILVqfcydmVtl2cS8+k" +
-                "r1j4K0CDEShGpR48wczXZV2jUaTVBI3Y0v2ia1pbFLqPhHHybq" +
-                "H0Vt3bWufzUibaISbFqIree73/3me5xz7rx2g72H79zvdb7f79" +
-                "w5986Zmd1aDY72o+3HCqXWfcVbT4I2vbamjvazDvrn22d8f9bL" +
-                "C+jvXFRLHu3ftE+2f1fqf6vIe7modElZ8bVB/ET796X2Ry9/av" +
-                "+5/Yw//7XwvLnoT7df9CMv9nJprZZt8Oe1nTd4/+NBrYX2IunZ" +
-                "hvYp7/lH+7n2v/zcX27/p8g4136pfb79386qkGn+dP40nF0vlt" +
-                "+NAjHKkVbsqIpVjaoeVzAROaAxp9jYqW/G+Ya5aeQUq87RIvpI" +
-                "55dl3hdq/yfH3kerop3HInNcQe54ndwlvet0+6v4Oq049/zJ3t" +
-                "o9UHtVHPh8Mvfd95f9utyc38w9aqU1589zMkPGtYVjdU3SUG8c" +
-                "DsfpEezTGJql5hCfQQyNGVrkEC9ml9nn8/PQs/j3u41+xb9LVC" +
-                "xzdBafo6/Cecz3zOeq82Qlm7n3BapCyMyC1pPm1ZiTHjq6hzlT" +
-                "IjNL6qkFa7fYF7jVcl+QH0IR+4LXjb4vaB0cfV+QHxp2X9A6ON" +
-                "i+wFtiX+C15L6gta61jno8Y/Pr6Rb2UURmhBZmczUe5bX9sXGS" +
-                "hchdZ+v248B9KftjGXLGjCzZhPg9+7LWZfJqow0y/VmMcE+ZrE" +
-                "O2zJI19NE6IPN5XIjLefGckE2EwQHNXeanjlhcju/82suvYF/Q" +
-                "ecLfe2tpXzA903cncSzw+Luj89tI5vHW98bYsTww7L4gjtZ5OO" +
-                "p9fCROl+PZ3TEdYGW3Vo/VcW21Bnyn7ocR5sZGtJZ9X8CHe6u8" +
-                "Tv494x1hTvf1fWqsj60n95bumrGYvbEq2l0d+mLckyujcj25De" +
-                "5NcG6ebp6mnmy0Gu9EH/WcyTl0piyuIavpynpcGLMYmqXmYGdA" +
-                "Atw1GjO0yHLOcXw9onx1Pt3b0x4J1vmke1vlfTCZtga+lyaHzY" +
-                "2NcG9fsc8rJ/ITxYqd7a3dWbIwQmeygrU+m47JulqX2FVjZQ5o" +
-                "zCk2VvLmeGM2zE0j68qNKxpXcI8aWq0G9DJDxrWFY3VN0lCfOh" +
-                "qO0yPYpzGqOMRn4NFWWzRmaJFDvJjdu3on85PFiu09Aad/zjF5" +
-                "Jiv6GiRjU7+oGlVVM8wBjTnFxk7dH+cb5qaRdeV8T76He9TQmr" +
-                "4Hepkh49rCsbomaahPPRCO0yPYpzGqOMRnAOvJojFDixzixWz3" +
-                "Ab+GPlSspI+p/dOWqQfFc3Fr9b7AbS/6T7n3uffjvsBd7T7Si3" +
-                "40tS9wk26bu87dKDw3uU+qjKtoX+Capaclote4j8O+wE0U1mYv" +
-                "13q5wb1b5Hyw6D9c9HWXld6Gy2P7ArfRbVL29W6Heu/Yx1Led/" +
-                "dyLNtdnHdTZvIdaN/wkaL+vr7vbSJH8iRuMTTZx1lUIcdj2QxL" +
-                "eZ3ukzGdWV7rXbEqCdSKT0HZTNb3M5LMkTyzmdj3dBiVfZxFFX" +
-                "IYa7wEQo18oLlbMFaOVJbU0JJxsDjCdS2yRiUMneNuJT7MDAQQ" +
-                "EIcweS7Mj/vuYcsjzUwi9vakV4JQIx9qGCvnsFFaUkNLxsHiCN" +
-                "e1yBqVMCw75kMaCCAgjuYqudveck4xC3NrtfoiCDW/ij6DNsfK" +
-                "OWySltTQknGwOELV7CFRJYZlx3xIAwEExNFcJXfbW84pZmFuef" +
-                "UmWdhDvuxzOtNq/WPN5OeR5iS09JOJeFAOamxJbjJDziDNqpqX" +
-                "+rysvn/qXN77/unIMv7mdXys0UN//zT10ODfPw3MInWd7l/O7+" +
-                "lG55f9e4TrdGylvqdrbmZhj39W7WRftpX9WqO4jGVbbf0UMjSu" +
-                "EWOGWZyPXsi1ODJX9nEWEjlVRbwDngGhRj7UMKYzpWWrkFfGZF" +
-                "2LrFHDqlxPM2ML9k+aq+Rue8s5xSzMrT9Fwn1x3z3S93vGXYOu" +
-                "1vpTjYtHv/OI0eDROFqY2XjNUDz+AkLNz3832hwr74mbpCU1tG" +
-                "QcLI5QtRCZUSWGZcd8SAMBBMTRXCV321vOKWZhbuo53ty/nM/x" +
-                "xkVjfD/++WGf43G0cZ7j+VK+RD2esfn77jj7KCIz8iW3S1pUj6" +
-                "vxKFtbj9ExjZEvZWerOOgZkGRnYxlyxows2YT4ckT9GRBq5aor" +
-                "NYyV98SN0pIaWjIOFke4rlnbBpUwdI7kQxoIICCO5iq5295yTj" +
-                "ELc/0qfR6EGvlQw1g5h83SkhpaMg4WR7iuRdaohKFzis/BhhkI" +
-                "ICCO5iq5295yTjELc73nFRBq5EMNY+UcPiEtqaEl42BxhOtaZI" +
-                "1KGJYd8yENBBAQR3OV3G1vOaeYhbn+iX0NCDXyoYaxcg7byMPj" +
-                "1D5zG3jc7RjDbF0t2MsZVKph2ckKqIEAAuJorpK77XV1sN0XE/" +
-                "vMgHP97yDU/Ey/hDbHyjlsl5bU0JJxsDhC1YJngECVGJYd8yEN" +
-                "BBAQR3OV3G1vOaeYhbn+unzFX70J1/Ey1ZwofXegBj35sh3kKa" +
-                "/4hFlPO2QsE98ru7bNLf1fd19rTkDjGu7L5nUteVAOaiCAgDhu" +
-                "uqj2DS9f5VzZuz2ou726dpxXLJb8HPyHZd0/rbqg+6dVK/E5uP" +
-                "EcCDXyoYax8rW+QVpSQ0vGweII17XIGpUwLDvmQxoIICCO5iq5" +
-                "295yTjELc8tVtpWFPVrLtsT9vTlukTHMTuXKCDSuEWOGWeXq+h" +
-                "bxhFyLI3NlH2chkVNVhOcqEGrkQw1j5Ryuk5bU0JJxsHr3zV1c" +
-                "1yJrVMKw7JgPaSCAgDiaq+Rue8s5xSzM9Z6rQaiRDzWMlXO4Vl" +
-                "pSQ0vGwZIxnSv9EpUwLDtZATUQQEAczVVyt73lnGIW41xfAKHm" +
-                "X/8ZtDlWzuF6aUkNLRkHiyNULXjvFagSw7JjPqSBAALiaK6Su+" +
-                "0t5xSzSO7DJNwXz7G+f4lUH/j75vpY30xXj45F49zHY+HHnwKh" +
-                "5tfTt9HmmM6Ulq1CXhmjujFkRo1X5XrkR40t3dNcYjFZpR+zMD" +
-                "e1f2psGH7/VHiX+XeEUX5viXMfe/8Ef9F4mhr5UMOYzpSWrUJe" +
-                "GZN1LbJGDatyPc2MLd3TXGIxWaUfszC3fLpvZ2GP1ar81bEwt7" +
-                "dr+G5zezpKI2WO5Bkb6b5DY2xGyCqNbGP1eRLui9/A+j71KHOA" +
-                "J+D8WM/P+WGj7j3LzyL1fMq7oz2fopkX+PkU5z7e78H1J0i4L9" +
-                "bT/CAjB/Ny1VEZDhd17x2Pb+JOrINQIx9qGOvhH5AWa0XsoMzW" +
-                "Ma5rkTVqOJLraWZs6Z7mEouFPCx2f87NTSzssT72a61/LMzlCL" +
-                "SKV3ETZXE+14uNpFzZp1hV8zLvgP8EoUY+0NwPMKYzpWWrkFfG" +
-                "ZF2LrFHDqmC7HxIfZsaW7mkusVj3sOWRZiYRe3fMj4u++Htx/j" +
-                "+gafx78h8V/c/KzAfVOPO7ubvbHaJ9pjvi7un5f9Jdk0f/4tfN" +
-                "ebnX+IKn9qD/B+R+Wp6PSjQ32+ddovr/gO5z6u928tvy2+Dc6v" +
-                "2nK2sYoTNZsSMVax2q4kLYqQNGyxzQmFNsLOKFfMPcNHK8cr6Q" +
-                "L+j15OY5Js/5QsWME7HuzsrrtFBV0zM5rnNAY06xse5YnG+Ym0" +
-                "aOV84X8+KvEVu9X5NYyxflOV+smPGiHKde4W1pD2FXXkuRAxpz" +
-                "io3F2iHfMDeNHFaun0Mp1tNdvefTEsV0nvQMfrRerNwDnQu1VA" +
-                "bzRV9sBKINwjSdE840W4NinuPPUkznZSP8b2Z3Z35pVZxrpqqH" +
-                "PMgXG4FogzBN58Rnmt3JUl6nUzKmM5O17xw+ArGqaJgjecZHol" +
-                "f28ewqZBtL/n53ZvjPd+nf7/L1F/Tz3fpl//7pf/vOoRA=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value4 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value4[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value5 = null;
-
-    protected static void value5Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 2348;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrNW2mMFEUUHg9Yw7m7KCisWTUxJl7/UPi3M9sdsioqMaBogt" +
-                "EIiuKKKyqe2ZkuGdhJJMgGfmhUFFEDitEoVwSMHEGCisY/QmJM" +
-                "1EhixIAIsrJa26+r36uuo3tmejp2p6qr3vW9el1Hd02Pd7C4M5" +
-                "crbudpY3Evz9uLm3L+sexYLuYofqJQDvC0X9SWHQ/p29zWXM1H" +
-                "8UMrd7dK06MVN2upe6r3qG+YMz0sD8+leLijE6A36enoU1JuEr" +
-                "Qa27Hf9ftBsR3q3tK+kcijV3e/zYrhnn/vnIjH7htl0B5AGYGC" +
-                "PukwAU31V5U1t0ZvOb8cU3B3R1OeLGk6zDy7lo2rylA/9ZpApb" +
-                "le2oas5/UGo9z7SVDKO/T6vb/X0l+9n23c3sE4/d4DpPwdT4dt" +
-                "0uXtfj9sjver9xcj50zxftJDpznTRA5XOHl/akWa4FAJtQbSaA" +
-                "21eOmMTo96QWSnRe3G+YB5kM7oJGiLEZl6o+KLujvo8nsJOVzh" +
-                "5OU1/LpG8ELqoCQj1cACWkMtjvWXTi+cCyQr1GroidUHzCGpaE" +
-                "AX1sksJHmj4qsawZzZHs5PrtoXS2MTrOLK7OedLLU4p2tfY7wJ" +
-                "Nm5Js7ZVg2Z/LvCOe9oViMTppvRW01KLe26WcaoHLWF0MU53pN" +
-                "mf3Fymccql3Z+cWc4skcMVTh6n2UgTHCqh1kAaraEW9/wsnV44" +
-                "TiQr1KrvyZ1xPmAOSUUDOrYHkak3Kj5qmN5b+h6u972F0Le5Y+" +
-                "vo49W/t4xt1HtLfgWmINK3Up4sGfTJbp0Vs30zz8ZVZaifek2g" +
-                "0lwvbUPW89xD7iF/tE8RFDYCefQqatpnfSPPHWXTstlUZYZK6J" +
-                "NOF9BUf1VZi8dWr8g83h03j3vdyebxofXOGax93LGRVT8XDKY1" +
-                "j4c+XMKT33p2WSROC4nUBPt6xy4KrqMxTqwl5LbyOP1j8eFiUm" +
-                "6PW+/YeKl2KcaJjQuukygaG+PnkXcYdgG7MEmc2ETWJsodf0OK" +
-                "xGmx4MlySNH3J0MvHmbjok2Kp5dAf4Gm0wA0ky2T3Sgnyus4BW" +
-                "noKPQLKpQEHeUohR6oqY3TCKu3p9SSSQL9BZpOA9BMtkx2o5wo" +
-                "L98Mye9P4V4Cu0LwZLm84S28dKU1TuOtq1mzWjJJoL9A02kAWj" +
-                "7BfoFZRm1pvgmSHKfCCsGT5fKGXceCdW13rGMAbZqsq34Imk4D" +
-                "0Ey2THajnCiv4zQkf865PJyflgieLIcUeX5iV1n7k/XdA212nI" +
-                "6TQH+BptMAtI4Eb8NmGdrSIHLXQfJ7xeqwf6wWPFmOUqT+tLr2" +
-                "lR9tmqyrfgiaToNdbbNlshvlRHkdA5D81uK4Wy54shylSHGy7t" +
-                "2651vv6oBaMkmgv0DTaQCayZbJbpQT5eUnQ/Jbuyps9yrBk+Uo" +
-                "RYrTqjr602S1RHrHtTo/BE2rcY2JY0ZWOZRXaCu0YQ4lqPUtK7" +
-                "TJEpQv10BXtilKUHb+VfVkDaTJGDYf9C3QoaGHUWQVT1d3Op1O" +
-                "btfP4Qonj9OLSBMcKuF0et20Fqw0xBpq8ZFwDpWUdWRcGSPOB8" +
-                "oT6Do0oKMtRKbeqPiqRtBjrw9LU9Lb/WNT3bMbtbPINDNxI9CM" +
-                "+0+xv6lVtf/UVIeH1e8/NaW9/8Rmsi42nYW/1LBbRKm8q8r7eq" +
-                "OFN4PdVkePucHKvVmllT9PaLnm3wBKG8LnzJfS7LXOQC7Do/Fo" +
-                "7K4wTivTtOuOyzJOjUPLr8QUxOlVypMlbVbw6HstqVZ+Zbx/KE" +
-                "P91GsCleZ6aRuy3Suy//RRqiPhzzr6+H1W7r3pohlQ5hV3soe0" +
-                "690+jfSDNa93YzJd78YkW+/Y/Nq+E+PzOM5Pv0ZsPjWU9/4W1h" +
-                "9NcBceCT0fzp6MjUewmrOnFTsLY5GeD0uLh9D49Vm/tkCRXMSe" +
-                "iFCe4e36wy8Fv8WxHva4iuG95efvRsbdEZ+6xs/fCaJo/RXOe9" +
-                "17TfQn731vfUhfV2pxTmo13uRpQ4Sm9J6kvwd7bwfXjRTNeyPm" +
-                "7th/D37P+0CLGs4FfcfSHN/uyEzXu4aj4X5mJVa2qt8RmjONU8" +
-                "PRcNxVhqcap/MyjVPD0Qrz1FKaVrPRTtP3uHHnduX+J0dpYdX9" +
-                "qSu7ccc2pNjSBdnGia1vyFhbN5TEKWiCCnwqSWtRK4JKJaldWS" +
-                "+KqlqVPaF1Ki1jCtloXlorI6meqbgJ5nHN2lrbdxhD39PVcx+r" +
-                "/56uvK+KEVTT95ksfKurjEpzvXvhhyxntPIXDd9X+TiMU6r/EX" +
-                "HXZfpc0AA0075vJfZLwWreg8tfZfkeXP4y2Xtw/LgTR+eJzhMi" +
-                "F3WoVZqBJnKURBlaitqkWtzzgyhP6TIqxaIyspYqjTmk8tdRL9" +
-                "HDKLLaiii+uBaOirxwVDw/FY5WxvMZ6GXghWtAghpSKxMEZegk" +
-                "d/sbf/71VI5q1Z8HX7Hz5RaAVZ1Eaa3OZ509zY7WVGeqyOEKJ2" +
-                "/Nt0gTHCqh1kAaraFW1LasI/Nkq8l8wBzSkladBG0xIlNvVHxV" +
-                "I/o8zrY1+Cnba6Dt5xr+jrAkHDWT0rTr7MpleKSP5sx15oocrn" +
-                "DyOM1GmuBQCWeu101rwh5aQy1e2kIlZR0ZV8aI80FuQZi26CRo" +
-                "ixGZeqPiqxry87i31Mmn+ZzpbM+0P6WO5sx0ZoocrnB6SyszkC" +
-                "Y4VILLdNOasIfWUIuX9lJJWYdalWuUovdBbkGY9uokaIsRmXqj" +
-                "4kc18v2YgvlpFuXhgTXN/zaM3/zmLV8D5/vz/XH3k8pQP/WaQK" +
-                "W5XtqGLPOcLqdL5HCFk8fpdqQJDpVwunh/6qIaII3WUIuXdlBJ" +
-                "WUfGlTHifJBbEKYdOgnaYkSm3qj4YX2OM4eX/ByucPJxR2iCQy" +
-                "W4TDetBbjEGmrx0mdUUtahVuWaE+sD5Ql0HRrQ0RYiU29UfFUj" +
-                "eIMM//HADqc6Dzbsaax3YpZo6npXuTvV9W5PputdA9CM+wX3aH" +
-                "Zdfqx1v8D5NMv9Aj1aPfsFTo/TI3K4wsnj9ADSBIdKqDWQRmuo" +
-                "xUubdHrUCyLbE7Ub5wPmQdqkk6AtRmTqjYqvaij7vvPr7akV8t" +
-                "WGszXTcbc1q3HH56fY7yyqGne7E8S1J7VxtzvZuGNHkn+vQuNU" +
-                "eYzMT4tSjdPmTOenzWnPT7n/ABnDGwQ=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value5 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value5[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value6 = null;
-
-    protected static void value6Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 2241;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrVW+uLHEUQX3wmiho1GvCBaLxPkdMYQTkxuduZQXyAf4AfIy" +
-                "gI90EICL5mbrPu6qrBB6goiBK/RFDIBxWUEA0aJWiCQWN8YfSI" +
-                "IsaNj3ga46Nnamqqqrtndna3ZzDbTE931a/qV10z3TPbtxfsC/" +
-                "Y1GkFSwxlKo9FbRzLUcITZAzR5I6tGw99qs2s0OM6MgkuKYqAa" +
-                "DpMN5OSLmHk0Jr9pAZ/oAji3ur1Ow+HHf7tR46cKtmirLU+K66" +
-                "UR/e2wSdcfHj3C9T8Xan+35Mkae/S6YXtISd8tn6doizpeibbH" +
-                "eYpeA3mvN9DyVUPygT1P0Rv+m2Ncyc2F2ncseXqzTJ7aIC2VJ3" +
-                "+RvwhrOENRedpAMtRwhL+oNct76I+8kZVqbeNIaSN5JcegGOQI" +
-                "smObDcFHTMw8GpPftEjtTjFbR9+ns7ea9ck27zp7XM67sSIcet" +
-                "7df0a59al9Zvn1yf68Uz6WOr3CX9R6P31YNcPcVVmelrn029xV" +
-                "Z57cs3l7vb1YwxmKWp82kQw1HGH2AE3eyEr3LW2kTnotFwPVcM" +
-                "Sxmwg+YmLm0Zj8WX/emxd5S/qqXqrK/PoX4jbIscXbMTrFz+s+" +
-                "tOuxVMfbealHmM7nul8dizJi4zL0Pbex8I6Zz5PZxsPm3bnq/t" +
-                "3jbCbsqdPWbjFODN5+bz/WcIaivD5AMtRwhNkDNHkjK923tJE6" +
-                "6bVcDFTDEcduIviIiZlHY/KTRe77+BMu3ws6v9b5XtD5pdx7Qf" +
-                "n3ce9573ms4Yyl9zTJUCMRrVneQ3+E5a1gE0eaVrzPvQ6KQY4A" +
-                "D5MN5OSLxk/+EGNn1/L2Mp57j+bp8NOazdfpn2BjVe8ANuYq2H" +
-                "Ln3bMu513wcp3zzs42zrxLngN9rJt9fN41++0L1R3zDOgksrgn" +
-                "pSCJC1s9DuVp7PatZ4v1cgTg1YaI3wvsmrHex5e7vGuD3aPbti" +
-                "+uk23Y73e9xwZh+fo0MPKP6/zeUgVb3n5m78nR8mTfzww+qXM/" +
-                "0842zn6mt9nbjDWcsfSeIxlqJELvAZqwvNX5w25HUehWuqQoBq" +
-                "rh6CzYEHzENH7yhxgbuz/pTya7cpPp7lzSj4/gca5BqWzHaGlP" +
-                "Pqy7p5Ponyx1XsLpfqiPWPSlR6DHzn3n7uxO2qLNG8/cLdlT6c" +
-                "+cVXWV+7nfvnwgYgVrq6jbVxSuCJ8luEtLMF+Sq7lM5GzCn4Az" +
-                "78dH80quQalsx2hpz31artkE+idLnZdwuh/qIxZ96RHosXPfuf" +
-                "fThC1aPIfbwrflOh7ubDRCtQ52DofJ9+sw2dUIv1XHd4AJ1ben" +
-                "8LekdThqRMcldmynPTolOtMeS/h1uC/8Rp3nw++1NfbY6HhVn5" +
-                "z2To3OjpaFW8O3hPWuMH3eh5+q46tM/kNS/8Hupy+jkxI/ZyWa" +
-                "7aF6toQfFecptDwtomOS+rTodH+lv1JlLKnhDEW1d5IMNRzhr2" +
-                "zN8l56DZg3sjJ8CxupkxyDYuA6ZFfX+B8bgrjYPSOiMfmz/uW+" +
-                "WhughjMU1d5NMtRwhNkDNHkjK8O3sJE66bVcDFSnx24bgrhYnk" +
-                "Q0Jr9poa/j/q6jdx3v/Ot6HQ+OBEeSrCzn/eCIt8RbAhqqocXb" +
-                "MZqjpE/xnraE4+M6nPGX6zbEgMUWK0UQewjPMSPQY+e+c9/hDb" +
-                "2/nNvb9wu867zrXO4XDPbmcr/AzjbufoGwuhZbM1ONo/bjPnZv" +
-                "h7cDazhDUVxXkww1HGH2AE3Y7olSY9rxKEjCvZaLgWo44thNBB" +
-                "8xMfNoTH7TwthXucbl9fB/rPN+qoItb7+ge9KI/na4jnD4/YLu" +
-                "Yuf7BX2vjzWc0zKlSl8iEikh+gKvdCl6Cr2hPmlN2ex4FAzbly" +
-                "wyBqmXI8iOKRuCj5gxT3Gkzm9aGPNuxulM+KnWeeecbfrA9AGq" +
-                "oRUXb7W3Ou5zRCxFPZdCy1udXqHVIEFbaHNLLuc4lEkOPQYbWo" +
-                "7AxgZywhOzPiaTX1qk91P2F8LexkbNn96Lzt7vmyX/GnBoZIYg" +
-                "vSvWeGssq9magpVuTRGmyNL9pyxb+9pRI2tfn13dTf+Xt8b2DU" +
-                "NblHz7b99Yen06OH2QamjFxVvhrYj7HBFLUc+l0PLSb6qAIe+g" +
-                "4ZYol1GQTHLoMdjQcgQ2NpATnpj1MZn8Sas/rZ55WEMLer0t08" +
-                "nTkBBcH5fWLKGn2ZMTJNiCtn+A7Lic41DGObhHMwapwxHY2ChC" +
-                "ndnks/Xz91XaN7mcO91ldc7U6n6fGabfulvZL8eaK3OQI72btG" +
-                "8pZP9nYHwfsPbH6ij8XSzEHi0pMe79uZq/o1vZN+tVM6uohlZc" +
-                "Wl0vmFklEUr6FOq5FFqtp9P1KQAJ2kIbpNJORkEyyaHHYEPLEd" +
-                "jYQE54YuZYO7+0MN7Hb3M6786tc951z3H+prHgLWAN57RMqLKQ" +
-                "/I41QyRSQiwIvNKlHibQG1mp1oTNjkdBEuFVSbpncyuplyPIjg" +
-                "kbAn7HynkpXrLX/XOLYF2wLq7pUM+77dq+aIqRKDpb3q/fi9Gg" +
-                "by7Ox6GPfI/oBZkpCqp5XM3FXJLny/RHvijynDd5mne3u7xvmy" +
-                "fXOe+qZwu2ZHP8vKN333f9CZXnKfurae99pyvr+XXm6f6bK/8u" +
-                "dUeWp68GYYf5nZj/cK37T5Wz4frU6rbXOY18Q6152lBjnu50Gv" +
-                "mDteapcrb2XVme7nYa+X215qlytmgD5qn3jdP1Kao1T5Wzsd+x" +
-                "HhwtT7a/S82d7t87ekytwr2GOcv/MQ/DNt7/var7yfK/NHOnjZ" +
-                "ynR2rN0yOV54nm3a9O591crfNurq55p/J0yF2eos/8h8aI6a+h" +
-                "8/RQ5XnK3jx6vw+Xp+jxwshbtd5PztmaFzUvohpacVH30+G4zx" +
-                "FcL3tgK31iC9r+A6adtCCZ5CiKwT4CGxtFqDObfLZ+wfo05N0+" +
-                "4H7q1Ho/OWfz1/prsYYzFDXv/iUZajjCX9ua5T30R97ISrXu4U" +
-                "hpI3klx6AY5Aiy4x4bgo+YmHk0Jn9m8R+02ivC");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value6 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value6[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value7 = null;
-
-    protected static void value7Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 1331;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrVW81rFVcUf61dFYq4CN1IG5CGCoLFhS5sYd68vEW1UD+RLt" +
-                "zpSiihaShkE18y8zLFQN25U6StgmASAlGhULrxA0RQoUgiEhqb" +
-                "Rf+FVMGZnNycc+69M2/mzZ2bO/OYO/fM+frd3zv3zrzJpNHgW+" +
-                "dTOE5FM41e29T3jdzb8KWGxa2KbJ2/4v3PeJ/rPEx46tyF8zPv" +
-                "qbbBP8zzjhLrSbw/1uT4YzgsgXAhU3tfw5M2W+ee9uyDXMyPDI" +
-                "+IFo7wievpfTwnNNRClcAao6FX3Ovq/CgKYjsix+2FAdvNvauz" +
-                "oCPGzBSNml/1UObdDqMzIbI67yrPhjwZRn7ZKk+Xba1Pep7C63" +
-                "2vT4HV9SnItz6F1/KuT9bq6aLVejKezT/iH8EWeiBFg0lLLaie" +
-                "S+DLY4oe7/No1APP8RxZGPQjiL/lV3I2RChnVvPpZKWerlbzDT" +
-                "ff2Kyn6DPj9TTgD2ALPZBAphZUzyVhS2OKHvSb66of96B5uZyO" +
-                "QT+CRmN6Uc6GCOXMaj6dbK2e3lqtp6GqM4S/i177SqO2m3ns7Y" +
-                "n2BLbQAyn6PGmpBdVzCXx5TNHjfR6NeuA5niMLg34E8e+r/XI2" +
-                "RChnVvPpZGXe/bo1cz+pbz1Vj73zy9Yc31tfnoID9njyJ2pcTx" +
-                "MWeTpeY56OW5x3+2s87zyL9bSvxvW0z2I9fVHjemrZ46nwndhQ" +
-                "/1rjd4VDZu3Sn6v08R0ezYi6HB0q8d39X9Sjez0n5m+2oZ729K" +
-                "81Xk97zNoZ5Wl3/1rjPO02a5d5vfuqxte7yrETng7XmKfD9niK" +
-                "asxT8J3FejpT43o6Y7GevqxxPZ116T6zyHsYUdMmT5HnEk+FkL" +
-                "es8uTb46n5qCA25W9cQco7KsFUwchfFx1FUeyleHplct7Z3Xpj" +
-                "37555487dL0bd5cn7193eKoeSwmeZh3iadZhnlYd4mnVBk9e6v" +
-                "tGXsabSN5CZb/+1wvzVAGWtPdYc3iy98T8n7LeEyuFsPB7YgkW" +
-                "jWWJ91gNzrtbDs27WzbmXZ/Y5hziac5dnvwxh+6fxtzlKTrmDk" +
-                "/Rt5XzlPn3lsmdGbV+ezOCZh2f3FUG09THmZg+SseSa8R9r+PR" +
-                "ydTv6UQGTzccWp9u2Jh30elUnk5lYFtyiKclGzz1ie21Qzy9dp" +
-                "inmw7xdNNhnuYd4mneXZ5c2ppds3ZZ9wXN+zXmyTj28LkkP9u6" +
-                "tlX+t8LwaVWRg5+NP7NotVvYQg8kkKkF1XNJ2NKYogf95geqH/" +
-                "egebmcjkE/Al02RChnVvPpZG/UG43Xvc0WeiCBjDp6lCVhu7mK" +
-                "jgoJY0XnVT/uQfNyOR0D14kRxNnOydkQoZxZzaeTk2Prw2QXH/" +
-                "CHXvg36ERUVcJN6OAs1dG4fJOzqlExHkeGEm/FWHQ6GqUXMtW2" +
-                "yO+7Eldqq/8HVEU2Y88zLzj0PPOC1lJ5nhn8V+R3sL+e7OIjzk" +
-                "EPdNySSnIUcZbqaFw5M8+qRsV4HBlKvBVj0ekmf5NxpCOjGbXX" +
-                "6pfMds3Yk7O1qnzD5bweZUfTOpjs4iPOQQ903JJKchRxlupoXD" +
-                "kzz6pGxXgcGUq8FWPR6WiUXshUW++R2LHNuVoyy+gHjKVaeiXe" +
-                "jMj21Wn1zzP1cfIiM7WOb5xJXcejH22u49OD+dbxIs8zvRdix3" +
-                "ZjNod5PMnsDzFWtmXhenpRVKvHro+TD1t7pb0iWjjCByR/kVrg" +
-                "US+BD0ZDLzk291Hz8rj+Yi8M2MIOHrJFMhqKjuJFf3VUcEybd3" +
-                "632LxL7J25f+oan3fvALFQYsI=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value7 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value7[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value8 = null;
-
-    protected static void value8Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 1499;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrVW71vHEUUPyqKEBBxgYQRaRBt/gAktHt7FpUrREVB+OoQTa" +
-                "icIOXufPFeQxoXIKxIEBMJKRCJBAfZSXAINiIGJFojEBUf1UlE" +
-                "IgVSxO2u597MztvZ3+zszp139d7dvM/fvp2Zm/GuWy31GPwit9" +
-                "rXWjNwmFEM9lEPt6vpbo/p1piudL8b8+Pd65k87pV6bmiSH8e0" +
-                "x1huuSDsnzKi2GE8fmUtv2Klu/D9+ighcQpZ9i3TqZZyKx9FSG" +
-                "WdHDefWc2qR6V4KjJqqVxcC6eTo5Qh022DDUHEU7uwrL7BBnon" +
-                "KGqVw+zLaXnsLhjG3tcFEU9zvYB4ojlwW9s8nJbH7oKheH4CPO" +
-                "H7092KBw4Iv7Cdn+In8fmp2qH+3pXMr2/Pwq8h93sX9+vPE3wr" +
-                "iHiaawXxxKQUtSpCO+3ythte1u6OIOJpnd5DPDEpRa1Upzu2Wn" +
-                "5dgONl7W4KIp4c4TuIJyalqJXqdNNWy2PH8bJ2u4KIp/3pZ8QT" +
-                "k1LUSnXatdUOjrjhZe22BRHHPTGpTVQ0j0kbvoFZJnYosuCWIO" +
-                "K4Jya1iYrmMWnD1zHLxA5FVvf6id/fxed9rp9WjtW/v/NUp9XD" +
-                "XqfgG0HEcU9MahMVzWPShq9hlokdiizYEkQc98SkNlHRPCZt/C" +
-                "dmGf9VFl3y/loQcdwTk9pERfOYtOErmGVihyILbgsijntiUpuo" +
-                "aB6TNnwTs0zsUGTBpiDiaYxnEE+TdPASyWTbwYuWddq01fLYy/" +
-                "CWoLghiHia62nEE5NS1Er96YatlseO42XtdgQRT+e4+4gnJqWo" +
-                "leq0Y6sdvOqGl7X7XhBx3JOPpcvxqEieMm38AI+DIqtznVn8vC" +
-                "Wc97nOjEfTXY/33y+uU/+D7DM6y9WJkzZXJz6bXqfEDkUWXBVE" +
-                "PDnai4gnmgO3tc3DaXnsLhi0GbChv4+3K//dt8yTfR4MZos/mb" +
-                "U6RS+3Gjq4OqHZYusnVdEiEUnyMpKr38p10WJx5uQ0I8usyJ7i" +
-                "cZ7CVuZFqMy4lFG7J4g4OG/scZJMGi6pcjyqtmZcMvtyWjW7yb" +
-                "JIytjdFUQ8OTo/IJ58LF3OSeH7cddWy2Pn46DIPK2fnvK6frJ4" +
-                "Hoy/rxKFCYlTyLJvmU5eP1ErCvPrJ7JWdRQ3n1nNqntSPBUZtV" +
-                "QuroXT6TjyuU2Y/bxfsLDpsz/x2dzeLwiuCSKe5lpCPE0HRaCo" +
-                "VRHaaXnsgdP7dMGXgoinuc4gnsY6nSHLMtvqeTgtj90FQzoSUx" +
-                "KnkCXfBv9EB3rZUm61NF2k6eS4+cyRpo0YdC0NWZTTqggiVtfS" +
-                "cBQjaxk06Rg+PlmDnKpzPe73KMdeYZYsmMcXTruuCyhCd2vwr9" +
-                "d5/DQ2jy//bbMu4PtTnfu73ludY9Xr1Ld+puWSrSDihc4FwbPP" +
-                "7MxaqgV98i3hI7fy31U/GYWcV40b/1GGgXhG4UnOQr7ig/F5Uk" +
-                "Wj5897TPrT5D2A8MQhnp9O+Juf6t23DB/yOT8NW03sW6rOTxZR" +
-                "9xccnkt1/7P1cMk23ToNH/ZZp5X7h7NO49+733zOT81na2Zd0N" +
-                "3v/O6zP7lkm/K4O+J13B1tuk7LVxsaCatex93qdPtT90HVcRd+" +
-                "1lR/Osv87dIl23THXfipz3Hnkq2OOvUeAyIw68ze4+EVh/3dE0" +
-                "ZMzFxkk2221pnDoz770/CRxvvT+Wbihp973d81kq09Erw9EnXK" +
-                "ZP0P2yPd0txqj/T4ySnd7UeLNLx/f82sV68gi8pZ9NZ5dDM1j1" +
-                "/2Oo9fbnzcNbVvuecwj9v/ne5e3VfQWeusCZ59ZmfWUi3ok28J" +
-                "H7k1iXWJ85NRyHnzccswED+gS5yFfMWUWUaj59c9Gu5PF732p4" +
-                "uHc9yN98HrXvfB677qFM1H8+Pd3sd1xY0c3mMdPldPtp5T9Qqf" +
-                "S71b6ln2XGoSwftzKRZ7nc+lzh38x0M0F82N7+TztfWnOZ/rTD" +
-                "5br8bReO7ZZpC3f/JZp+az2exb/DyXat9uzmcYwiH/B+zkvv4=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value8 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value8[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value9 = null;
-
-    protected static void value9Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 1729;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtW02IHEUU7quHIIrgRbJKDkGIzMGDIArZmu5J8KDiotkNKg" +
-                "sR1tOCFy/Bw/zsjE1wsxdBEwkSPBg8SMySFYSQixEN4kkECS5L" +
-                "9rJ4UzQHwdi9b96896re9HTPdNfOLnZT1fXqve99r95U91bXzJ" +
-                "qe6QWB6dfQAglk0vGrLaEtHIgnFLWlN47gvFzuPTE8BhkfjiAI" +
-                "YmOzUYQ2s82ny2g/u0XFPmQfSe3lbMt8mlSXpXVteJw6Enp5rV" +
-                "tnMdu65s2k3EjKl83vknqmuRHkPJrXnZ4fk3JbsfwmDoOxj+ZX" +
-                "mdpv3b7e46rl12rvrTwxRBeiC1jDFU6QzAa3oKsuAYa8ESqZux" +
-                "sajkfBeaVfwGbFQDUUlw1Hw6Pj8RLeHZVE9LM7E1RymHOBx6N8" +
-                "tu7zRe677nPj3nfdZ33ed/FLpd93d6I7vMYTdNLCtbERgOEStu" +
-                "OGhuNRcF43kuwYqIYSR5oFHzExa+PW2K3sXsqcffVx50T0hc/7" +
-                "rnq25h/5bd11wfBjZdNnnuIXS8/8WrRGNbRAAplbcL2U0Jb7xJ" +
-                "ZsS28cwXmlPDwGfQRJ+cBmowg5c2rn8mnyJPNpeo8oLtdOeQKd" +
-                "OAh5il/Nafda7pXGolmkGloggcwtuF5KaMt9Yku2pTeO4LxSHh" +
-                "6DPoJknqzabBQhZ07tXD5Ndu67ewfivjtfrp2/97uJ1sIvFF1n" +
-                "RufyrTNTu3zrzPBqeBVruMKZ3LuvUx9quIUrgTV5I5TtW2KkTn" +
-                "rNFwPVUN5/QLPgIyZmHo3L7yLs97v4zRJXZb9OhP6n8HP8jarv" +
-                "7O4rB+H51H05p91cXo/hyfAk1nCFM3nKP0x9qOEWrgTW5I1Qtm" +
-                "+JkTrpNV8MVENJY3ct+IiJmUfj8qMc3Y/uJ8+z3RqucCZcj1Af" +
-                "ariFK4E1eSOU7VtipE56zRcD1VDS2F0L4mJPchGNy49yI2gkLa" +
-                "jh2mBSMNA1xFWXEMMlbIe/a7hA2LlRNHLGQDUUly0QMQWMORCW" +
-                "gTIqiahyn671ULgzPrr9aKbvQ8rTZKfqJyDlyTxdZp4mQRfPU5" +
-                "mxj8pTyfPprNf5dHZv89R6MIeH21qe4iWfeeodKjDiW2Plqf/G" +
-                "U6/Va0HQuSy1ad+wA3WuTdqThRy5alwsitDZWp/lt92r+87v8y" +
-                "leLnsE4Va4hTVc4awfqR8Jt+Iz3CLtJQvqRR14ABvyDhqOJByP" +
-                "gnq417SnvcRRUi9HgMVlS2uYT5yX4iW87d9GTDqfoqPja0vfVz" +
-                "larl3WvsrsT8p8fq/IvkpnhfZVVv4mq0674LOg8Pd3Wuzavkpn" +
-                "J/e+yt3wLtZwhRMkaUFXTYpmEIN4QiWf3IyG41FwXskyOgaqob" +
-                "hsOBoeHdjxaFz+gXwqPJW0dmu4wgkS9qGGW9hSdBgxiCdUEtFh" +
-                "DTfIk8UrWUbHQDUUlw1Hw6MDOx6Nyz+QF8KFpLVbwxVOkLAPNd" +
-                "zClqJjiEE8oZKIjmm4QZ4sXskyOgaqobhsOBoeHdjxaFz+gTwf" +
-                "ziet3RqucIKEfajhFuF8e5lL/SiYN0IlbxJvcUuJcXltv8Nj4D" +
-                "pk19hwNDw6Hi+30dmt1chj1fwFMmd8/r0rn83UTI1qaPWl06Ym" +
-                "LbheSoCVPrHV93LaxUkEs61JeXgM+gg0NorQZnb5NHn4fDILpX" +
-                "4eC17nk8oWvzvBejwKI6zhCmeyBvme+lDDLVwJrMkboWzfEiN1" +
-                "0mu+GKiGksbuWvAREzOPxuV3EcX3C/Tfq7j7Be17vt/vVn4ra7" +
-                "+g/Wf7r6z9guQz+UGZua2Mt/qOs9pd0S2LrseLH1rsSYTNKvaf" +
-                "Zn8p0avn7+/KjL3sfZXjn09PnrJi2fM8XZmiPF3xl6f4/P697z" +
-                "rx9M6n7DyF133maRK2Pc7Tutc8re/bPF3zmqdrFYzh5rT/Tqz4" +
-                "fubxf/PtZ6Z2Y34vVdF8ij/yOZ/0/5faD/ed2fSZJ7O5t3ma4P" +
-                "vgiz7f73pPlvV+5/2++8TrffdM5fNJrC67T5W2I/Tz+Njudjls" +
-                "+vfm0/V8ij/9/zk+fe8t5p39mqf48kGdT6ZV8DNsTdF8annMU3" +
-                "0f33f1svNi5swc1dACabe9zS24XkqAlT6x1fe17eIkQvBKeXtY" +
-                "DPoINDYcDY8OJIVvTmOwPrvB/0uZZGUYXyqQ8Yvja0esMwv/Zl" +
-                "Fnm2RdYFbNKtXQAglkbsH1UkJb7hNb0A6XXJxEcF4pD49BH4HG" +
-                "RhHazC6fJjt5W3NbQz/nZR2p7nS8HXg8qmczH7qtokg1cq//X1" +
-                "Q9W7PArniR/8s3N3zmKS/b+FGZj91WUaR2xOs+81Tk9+M5j/8A" +
-                "dkOEsA==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value9 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value9[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value10 = null;
-
-    protected static void value10Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 1934;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdXE2IHEUUHiN4E4UEwSySJSJoIHsLSS4xU92DmJisIezBCA" +
-                "piUIMGjwq7h9n5WaY9eMkhnoKHoAtLBAUVlLAQYzBGIyrejBAJ" +
-                "QSHiIf6gF7v3zZv3XtWr3v6bNpNuuvp97+97VVNd0z3bbKMhN3" +
-                "PSlXxb57geqW3m80bBrUhk1pjBx9lztlfj42x8vNe+ELdb2h/5" +
-                "fXtvi8gPnVxfxceXCscnZrXwOK2230+t/7wWo3o6o9I/FmsLfY" +
-                "KLM9l95Xxap7cXC4/TxXpi0rfWidYJakECBJh7cLtE6MtzogTy" +
-                "4FM3TkZwXon9Neg9aDSWpm02qtBmdvk0XGY+eWbZ65o2eK5R45" +
-                "aVbRCvN53XMq1OVy18JV9F7Z8zzttrSuyPObl+ynyVXKt65M2U" +
-                "maIWJECAuYeZCjpo51qQgs7ws+xgPNpJK+NkFZxXYlmD5i17oL" +
-                "FhbxBRrXafXP7knG8+BW/45xPaXJ9E42rHOZ80Np9fNt8w3rCF" +
-                "M2yApEcYBr0w5D4cBT3wBh/KDjKPpDheBeeVLLIGaZc9wMNlw9" +
-                "5QX7Eq8uU9duo5Eh6JpbUWzrADQh1aOifJg7RD21vgHbQxHu1r" +
-                "FbW1uNE4WbySRdYg7dwGFSeHy4a9ob5iVeTLe2yzmwWzEF+Bwx" +
-                "YkQIDJxs+wd46TN/gOV4AFRJQreIbiuJ77Ea/E/hqkDXugsVGF" +
-                "nHlw3u6Txr8mzZv5WBq2IAECTDZ+hj0ep3nSs17PI6JcwVMUx/" +
-                "Xcj3gl9tcgbdgDjY0qtJldPg0HVwKxcgMGXXDFnCEZMcroDYhs" +
-                "5oydM7Gglfz9vGhHL4hFH1kBaXm+pAbSYW7Mo1Um46kqycu+U7" +
-                "aM585v8EWd95lL05XfP82aWWpBAgSYe3C7ROjLc6IEcvCsGycj" +
-                "OK/E/hr0HmhsVKHN7PJpOH0+mRVrVFdSRnzF55No0iLX/SxXqo" +
-                "mosrL2m2O67r6t9br7uvLrbpvZRi1IgABzD26XCH15TpRAHnzv" +
-                "xskIziuxvwa9B/HT/A82G1VoM7t8Gq5rPoX31DmfqmfrznUfF3" +
-                "i28C9ZD6WwHEqzrlvjvjRr/1S+Wor4wTh1D3QfKzJO8vfM7v60" +
-                "cQo3jmucugeV+ZSRrftE5lmwHXbChefT9nSWEr+5bs9rzcqWva" +
-                "rWDOyEC/dmJp2lxDjN5LVmZctelX99ar5Y4Sp4qFT0vrwRVdZe" +
-                "fn2yPpup1HV8qs71KStb8arovmDwa77IxYONW2ZbeqXy+8zdZj" +
-                "e1IAFqziQt9zC7B3+gnWsxVuZsNHpzaEUt7L3DXC9tEvFY1Gve" +
-                "sgdQu6ySKrSZXT4N++dT88HJnU95a8+/LY5W3OZW5Snt7zy5en" +
-                "Me/eGxj9NW9RnzzxLX3ZyZoxYkQIC5B7dLhL48J0pSltl4BOeV" +
-                "2F+D3oN4nDbZbFQhZ078XD4N++fTrbNF+efT3mr91lakVf19lZ" +
-                "by9+Ti76uUGaf876u01L+Fu++r9E5lf1+lnvd6onvrHKelu7ON" +
-                "U/73epo36CCNLbnIzaB7+mTAvpw8s6wHkR4JWt7mZ9Ztzat0aD" +
-                "YfSvPMHpVmdX14nXokaHmre6cx27Y81133WNHrztxZ53Wns7nX" +
-                "Xfel3Nfdb3SQxpZc5GbQPX0yYF9OnlnWg0iPBC1v8zPbtjzzyf" +
-                "p8btnvu+aj2eZT4jeO77sS192GWq+7DdVfd/XcF5R4BrlZYD7d" +
-                "rP7+yco1pr+bl/qN7PlUq/IuZtNk/AxMjpG5HdenPRnXpz3lr7" +
-                "to0+Q+t0Qbq74f73/XP9dfbZ/tfwPj1D+ffT55Mip/Ie9fKJXx" +
-                "s1Sr8jfy6I5MeS9F8Xrfv1zo96enG7fB1gyq9Ys9O80OtSABAs" +
-                "w9uD3ZO8fJu9mxc6IEsrmL4rie+xGvxP4a9B5obFShzezyadg/" +
-                "n6L7Jnc+LZ0bN0N/9I5269/JHafx1744uldpHZjgcRp77XSf2d" +
-                "pf4ei/XCr61dzjtL/y68x7X1B07tJ9QXT//3VfkK32/qW19nK5" +
-                "+RRNTe51F20ew5XmuR9vPTm5zy167crvBb8UfQ42L7hS+a1crv" +
-                "zRVda+7jo+W13W2tfx2arHxRw1R3mLe8y1L2mlzfaRCLwxAmOl" +
-                "LON4FaThWbPVQC0cSe2uB+8xMbu90Nnj83Jy4D6MX0Yt2FFrI8" +
-                "a4zO3ck+eVcTarm1VWwjH3lpzo69okk6axeXELr4fXsYUz7ICk" +
-                "B511hDEcoRw9oMXxKjivnXe9GqiFY2la8+A9JmZejcvvRgzXp8" +
-                "Lvj/f/Sf2m3lrr89105etT27T3nsYWJECJbe9p0IAft0sEvpAR" +
-                "IzA7ZOGRrd8xCizohzrOwTO6Neg9kGzkkTDx6iDa5dOwc0fxwZ" +
-                "ieuN6p9fmucjazw+ygFiRAgLkHt0uEvjwnSiC33nXjZATnldhf" +
-                "g94DjY0qtJldPg0769Nf2cc4z/9XaS3XOp8qZwt3hjuxhTPsgK" +
-                "QHnXWEMRyhHD2sxfEqOK+dd70aqIUj/r5TPHiPiZlX4/KP8K5w" +
-                "VyyttXCGPdgcbA53RY+gDbTcw0WQgbJRVKORZHPjRtWKLDwrad" +
-                "JqoBYOlw30lIuYeTUu/yjiP3dsePw=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value10 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value10[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value11 = null;
-
-    protected static void value11Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 2188;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrlW8+LFEcUbiOImtyFXMySvS6bRQ8JCThT3StBDzmIGBJYNQ" +
-                "iSHDY3iUggu+OPdS7JHyBIIPGii8uq+aEQBEniortosh5yyU3c" +
-                "o5tLFHJIdb9+/b1XVTPTjj3tbtJFvar33vfe96rs6enuWaNo6m" +
-                "YUTf1k++WpX63cPvV9VPKY+s6zLNp+J4C8YX6P+j6m5rt6f/Zt" +
-                "YbapH4LWX0pW0WGfTLvKfYqiWvepXf0+6WP6tOL7MaroeJ5Mzx" +
-                "4bjniuGnaZXZA0Iy2dt8ckQvq1RrE6J8/yXPf9OB0hebXeuYbw" +
-                "CkJs2Wre0NWR5vMF9XEzbme5pBlppMMnR1djbM49zhpyjX/rx+" +
-                "kIyav1zjVoH68gxIYKXWafL6R3/9x1P1qT5bHjl6Iaj0Gw1fN9" +
-                "N365zut4mK3K77szLw9on5Zr3aflqvcp2ZPsYUkjNTu/Dxt7JC" +
-                "LZ05qUGudDNkR5uVWM9mmOXjXoFRT9fgghVwxmWY3Pz7qZMBP2" +
-                "SpVLmpGW/JZK+OToahRbXBsnWGMv5jqbjIBNc3SrQft4BVS7Zk" +
-                "OFLrPPF9K9s/DvYqeXq7yO13sky5VnPJgcZEkjNTt/ABt7JMLX" +
-                "CI1siPJyqxjt01nL1QCZ9wchhFwxmGU1Pn+hH04O21kmaaQWRe" +
-                "23YWOPRPgaoZENUW5uHaN9Omu5GiCpz2wJIcAl9klV4/MX+qHk" +
-                "kJ1lkkZqUdR8Czb2SISvERrZEOXm1jHap7OWqwGSelq7jwCX2C" +
-                "dVjc9f6HuTvXaWSRqpkcY29kiEr3GM1Ny5jiuqdXjdvL1qgKR+" +
-                "dn8IAS7mbb+jq/H5Wd/90u6XoogkjdRIYxt7JMLXOEZqPG83Q3" +
-                "Fcr8vr5u1VAyT1M6+FEODC+aSr8flZj5fipSgiSWPeRmxbahv2" +
-                "FVYglhTe+vIMI+xFlJ2NhOK4WulzslpL66iM0n5ZXyrzPhJCgA" +
-                "v7JNfEGJ0/1xdjew9Nksa8DdtW2ArPsEAsKrz15ehh9iLKzoZD" +
-                "cUW1i9Kisno1aL/0pTLvwyEEuMQ+iTUxJszu3D9tH8wdjdla5/" +
-                "3T4Nni69X4XN3UWrEpUfHafF9gNtf63nfzoN/79v+5Gx/q31v5" +
-                "+6ehanH1nU/1/o7QvFnmfDqV4Z7395aKP3e3+r4m3+rjc3er3O" +
-                "fuzOtrbZ9qPp+ulNunFLe29in+oM59CrMFzqexF7NPHZF1n0/X" +
-                "Sp5P1/qu6ctirxuD/U6ablWT54tXA7k/r+/3lua9dXx9ujfo+6" +
-                "fpvn/5au9bO+99Z94bNAP2qXknWrdH9bUnW5ItLGmkZrn+hI09" +
-                "EuFrhEY2RLm5dYz26azlaoCkntbuI+SKwSyr8fkRUc99QftAnd" +
-                "ens69UfX1KNiWbtJbqZHMlIyWC45NN5lg4p8tG0YiUMWDwETIv" +
-                "YzkX6szvx4/p2mXuzjvRyZZVsjXZameZpJEaaWxjj0S4mjnBMR" +
-                "yPKDe3ZAnxapbeNUBSNydCCHCJnVDV+Pysxw/jh+pO1uoz+8jm" +
-                "SkZinqJJix82LsgcHd4VCbzPKxm4+Ri/GlknHY0LunaJ7/ge62" +
-                "EnG8X716eZ/f1cnxp/rJ37p7SWaq9P8Uq8wpJGaqRpBMaQZo5z" +
-                "DMcjys0tWUK8mqV3DZDUzfEQQq4YzLIan7/QH8WP7CyTNFIjjW" +
-                "3skQhXa1ziGI5HlJtbsoR4NUvvGiCpNy6FEOAS+6Sq8fn9iDzu" +
-                "sh5DvuB5edl89mLuKUNVVV9LfDW+ypJGbqmmERhDWuMioYGVM4" +
-                "nVc9ens5arAZJ642IIIVeM9SOfXLHP7uzbnB5DvuB+z72oZ5QQ" +
-                "c3Njyeebjc/wbfJffJ+5oeT7pw31/97S/Wj8U+c5Vj1bfCW+wp" +
-                "JGbqmmERjDGqGBlbP2h+E4VOFGuZZuNUBSnzkSQsgVY/3IJ1fs" +
-                "siejyWh2bz6a38dnOtvMCuYSA6sbjxzON9CKxNPox8gqgDArbl" +
-                "7Gci63ArMibZzbrHR9vhv1LWKVO5IddpZJGqlZrvPJjvZh9rEV" +
-                "CFcz5ykDsiGKsvlxRUU7pEVmTS2to71qgKTus5Gds4u9UNX4/I" +
-                "W+Ldmm9jDT027OkQeSkZinaJ6ZczqHcz6dk3jE+bzAhTF+NbJO" +
-                "ZtO1S3zH82lbJ1saH9+N79pPYCZppEZa+v+AgMAY1igGWDkzN0" +
-                "JxxVXC4XXz9qoBkrrPlsrpb5ALzLIan7/QF+IFO8skjdRIy/ap" +
-                "QGAMaxQDrJyZ66G4olqH183bqwZI6j5bKvN9EryyXo71V5XNHs" +
-                "eP7SyTNFKzXC3Y2CMRrmZahEY2RLm5MfN9Omu5GiCpp7X7CHCJ" +
-                "fVLV+PyFvhqv2lkmaaRmP5UN2NgjEfFqa1JqOa/Ihig3t47RPs" +
-                "3RqwbpY3Z7F/JxCAEusU+qGp/fj8h/3TxeXAvfXb+/t1Rfe2O1" +
-                "sQpJM9JIlwjp1xpjZU6e0bz9qR+nIySv1jvXEF5B+ve+LhsqdJ" +
-                "l9vpDe3NncaZ9zckkz0kiHT47UWpNAEzZ/atrJGnKZ24iTdokD" +
-                "r9TN7c416Pp4BSE2VOgyu3xhvcvv5iP+2Xfq63XyHDxS7jn41P" +
-                "k6noOf5f9LmYW+rzULJ49085/8qEq2/9l7lYmS71Umnv/vn5pD" +
-                "63ifhsrt0+lP+v57lb8G87mLD9f6jnPgbAPbpwO17lPlbM2x5h" +
-                "gkzUgjXSKkP232vmAMdjcnz2gev484aZc48Gq9cw3hFYTYUKHL" +
-                "7POF9Php/NTmzSSN1Egz8+wjq5kHAlb2cQzHI8p+A82H4op/f4" +
-                "dXs3DGEKusL5XUfTZeDdaafS/OyzVRrJs/15/ET+wskzRSI83M" +
-                "sY+sZg4IWNnHMRyPKFvRXCiu2CeHV7NwxhCrrC+V1H02Xg3Wmu" +
-                "3TnFwTxbr5dURxfXqzeNL7yuaZde5LZrvc58x2wqSWbpE976Bm" +
-                "q4mg9yp9VvYv+DRO+g==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value11 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value11[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value12 = null;
-
-    protected static void value12Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 2182;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdXE2MFEUUHk9EEVEMi6ICeiCbmBCPHDzs/GEiB4OEowdPJo" +
-                "Rw8aDenO2GWSYkHkTFLEFckR8BMRzUhGjkIBqFA4maiFExhkSu" +
-                "XknUrnnz5v12dc/ObGexK1Vd772vvvdVTU1Pz89urSaPzlHs1Z" +
-                "+qTfDoHqpVeExWOx3tK+0roaVaq/U+9DESRec83nI4jrBIyYKs" +
-                "fJTUte9F7snj0nyciyv3DtpP3rG/uej99Fal++nhyeKytdvd3k" +
-                "0t9MCq3xNajuBxacFYyYk92Q+ld4L7ZUxafKynwZ8BaJcqSaHO" +
-                "bPN5tl632a3DHTBfu2OP+tRkcfZg63T0zl2n3l0lcWfLMrY2tD" +
-                "ZgC2coGccp8mGEI6wFaGKjUZpbjpExyVpOA7VQeyc9BJ8xZeZq" +
-                "bH4a0fkqq19m9Xznm1otWdP5bLAn7y5a486nxnM1q987yIvj7I" +
-                "7OhWj0a+f55GrvfO56L5dUIdapsxHXqcTIEdapfbHKdfKzjbdO" +
-                "atTGJbqyflTpdXwJso2yn7pnFruf6mcqfd6dKbefuqdH3U/1d6" +
-                "h6sTwrhiw/Kha1GK7THwle3vroWGY/Vn+bqhfLs2LI8qNiUYvh" +
-                "Ov2R4OWtj45ljqtaqutT74sqr0/dTUvB2rgdKhb0hV66ADGJ5J" +
-                "ZmQS+PcV6dWWa1rMHuXkY9pIws2eJcvNjsca0jXxnPiEdzZahY" +
-                "0Ac9iEkktzQLenmM8+rMMqtlJT6pjCzZ4ly8GGcpUmaxtdrMjV" +
-                "CxoA96EJNIbmkW9PIY59WZZVbLSnxSGVmyxbl4Mc5SpMxiM8+F" +
-                "ULGgD3oQk0huaRb08hjn1ZllVstKfFIZWbLFuXgxzlKkzGIzz2" +
-                "+hYkEf9CAmkdzSLOjlMc6rM8uslpX4pDKyZItz8WKcpUiZxWae" +
-                "P0LFgj7oQUwiuaVZ0MtjnFdnllktK/FJZWTJFufixThLkTKLre" +
-                "b9Xe9Slffj/n3BuO/vGv+EigV90IOYRHJLs6CXxzivziyzWlbi" +
-                "k8rIki3OxYtxliJlFjt4FXyOKnm0j/yyVxyzWIqEkv8oog7EQI" +
-                "8sn1HOIF9VXJfj3UWVPLoX88djFotHcqi5Kz+KIzmG6/RGJm/i" +
-                "GI2wqvIz29jM76FiQR/0ICaR3NIs6OUxzqszy6yWlfikMrJki3" +
-                "PxYpylSJnFVnQdv7z463jy8vK4jtdfDRUL+qAHMYnklmZBL49x" +
-                "Xp1ZZrWsxCeVkSVbnIsX4yxFyiw2eyY2QsWCPuhBbPjIHuYW9f" +
-                "qxdzlaxohXZ5ZZ7Ujik8rIki3OxYtZHTp3XPPMrVCxoA96EJNI" +
-                "bmkW9PIY59WZZVbLSnxSGVmyxbl4Mc5SpMxis5V7JlQs6IMexD" +
-                "Ra97gnec3GiFfjZVaPFXVIZWTJFufixayOYCc5zztfc3M71f6z" +
-                "aA563EdI3SuOWSxFQoncF2xHFOGJzxuJWN7mqYrrUlesV0LFgj" +
-                "7oQUwiuaVZ0MtjnFdnllktK/FJZWTJFufixThLkTKLHazeDqrk" +
-                "yfbVHu4jv+wVxyyWIqFE9tMORBGe+LyRiOVtnqq4LuXZGioW9E" +
-                "EPYhLJLc2CXh2TNvfzrHYk8UllZMkW5+LFrA6dO6555tdQsaAP" +
-                "ehCTSG5pFvTyGOfVmWVWy0p8UhlZssW5eDHOUqTMYjPPX6FiQR" +
-                "/0ICaR3NIs6OUxzqszy6yWlfikMrJki3PxYpylSJnFDnbZTqrk" +
-                "0b2YPx6zWIqEErk+7UTU4JX4INfpjUQsb/NUxXUpz9OhYkEf9C" +
-                "AmkdzSLOjVMWlzP89qRxKfVEaWbHEuXszq0LnLaB68Kxx8z9lc" +
-                "21xbqx2Y2G/FAlt1h59t9vh4rI2/Q8WCvtBLFyAmkdzSLOjlMc" +
-                "6rM8usljXY3auoh5SRJVucixebPa515CvjGfFoHw4VC/rQC3GO" +
-                "5JZmQS+PcV6dWWa1rFIJtzmaWo61Ma0jXxnP6B2tY7Y3/jEe1+" +
-                "ijJ6k9J8P7g/NZ7E2StarRk9Sek2HB9ibJWs3oSWpnn7D1/0Ij" +
-                "Oc1f74ax/iOTnBq8GopvapK9CnsseW/Y/zgZ/qYtOdG5npP5g6" +
-                "yq3yYn6tu6xqXO7Zj619cPR54cnM832LeFSWTNet8Vrs255JPY" +
-                "fcFkj9k9jYNjPI4j/wZ2nGw5O3S+NY8tnKE0p5pTrfl0gSPo7F" +
-                "vAQGw0KrujmfLGcRXk4azB0/u2SAO1UG220ML9E89Lemm8nZUc" +
-                "sZT7KXuVPVflfebks3X/VOv0xgjPh73lsQeerHKdWtcmz5n3/V" +
-                "3vB2dVxSfry/fvEeZK/j1Cemu5/c6+2qPdmywutp8aDxaOXLb7" +
-                "yde+NPup9+Mk7wuq3U8HXlgq5voNql4sz4ohy4+KRS2G6/RHgp" +
-                "e3PjqWWcba8+15bOEMBSyJoLNv4RhuYb/3kzeOq+B5NW+RBmqh" +
-                "djd5CD5jyszV2Px2hPqcbnNzs/2cLvhyPxvbnIcJntjIwvuPl0" +
-                "b+nG5z+c/pyilrH2kfwRbOUJpbmlvIh5Hgo8LxIQZowBA7RPhI" +
-                "GsdVkIezWg0yLmeA1WYDP3FRZsIixs+es5+mm9Ph80y19tORx3" +
-                "A6DxM8sZFFR+/nkffT9Aj7qaSyan4n1lix+HXa/+zI9wUryt0X" +
-                "9L2Lui/Y//z/4T5zbmVJ3L2Lvqdbor/Gr/9b5TqVzTb3wKLX6X" +
-                "/xvqV3feLvrLe1tmELZyjZY3KNfBjhCGsBmtjSfTKCJU3kGJlX" +
-                "spbTQC3UoN0i+IwpM/Ehxsveutm6mfX6LZyhZLl+IR9GOMJagC" +
-                "a2bJ1EBEu2TmKMzCtZy2mgFmrQbhGUi60T40OMlz3dlM1ndX9W" +
-                "T8jnXZ29GqfrBq+sq/1dmQ7+7026il7v0uFzP10zG70OpI+xvv" +
-                "O8T9YJtPifKOnjs6uG/cG73/QRof2+fnu/yrk2fajM6126Pn20" +
-                "3/kPx3c4+g==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value12 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value12[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value13 = null;
-
-    protected static void value13Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 1614;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdW02IHEUUnmNyVmFZsmxuAyaHzYJ7iuB0zyCJUQkhIuwO+J" +
-                "NgXHHx5FF2tnuSdiYgKF7NmqhRosYorILxh8i6h7iX5BJkT0YN" +
-                "OYmgXlzErnlTXa+qXvdUd1d3prebqq569b2felP1qvpnajX56E" +
-                "zzUuOnWqqj96tK8bs00vdqBR9pbU9/dN7Iytn7rTY2R/BkeX5y" +
-                "3gz7ft2ck+ETWr8p00/2tTXnm/M8hyucUJMR4krVGouch/MLLl" +
-                "U21kLplbX0fh9lg8ghNRYpBO6x0Iyt0fVH9XazHZYGOVzhDH+T" +
-                "VUHjLRih1pxVQAtpgguk6XyRtW1MwVLNbBA5JF0b0IUsoRlbo+" +
-                "uP6gvNhbA0yOEKJ9Q4jbdgRHPBW8K1oV4kTXCpsmUeXa8qN94G" +
-                "3Ma1hyPwDwohdCE/Sdbo+gVHaxvFv32tbVYHWmubxSdeFkiMwD" +
-                "RxyLXBeLrK8UKezIEpgJNpOgauy5Nx2mQrddToQ+0l8tSBSJef" +
-                "Mnb647Pe2bfFP+4fkuqFrKj+Ufe7HNyH03KYauv9lcZP/uP+o1" +
-                "n85C1Jkh5L8pOzkXlsbCT7yX+C4jHs/ZEy/KTM5akkPyW15htP" +
-                "lJ9MtZlb1ZpoTeCcn9AmI1SMt6RyAA+u8bJ7AiNlHixVrmEKbY" +
-                "PaA0i6Nt4bbB22N06/4Oh8H6Zvw3S5s8Hu7zpfgoT+/SP37msa" +
-                "ZTNMxB6+83Wue4TPE1vXdVr/PhL5FUn9MYtNKx9njU8jIutTZa" +
-                "53xWlr3BGJaourJSHNuZJadQy2k+YEKs5pdJJmua3hN3yRQwlq" +
-                "rOxcwQhW5+2YCiWGHaw1Vzi/4OJUmU+2AuuV61yiqlWg5R5Q2o" +
-                "SFWDPDqX3S9cM1Lj412rqPu+9WIz5RtlPxqXvOPD7FxvEHqusn" +
-                "0zh+ejG/nww4x3c8PWvmJ4bLuN7N13bAEdwxw/UnUvxaMeMpWB" +
-                "iX8XT6cNrxFBjGp3T7J+/9Qf7RgEu8R9g/oA4ikvfhUOZ/iXJW" +
-                "vXNR+VPvUvf4sPxB52cpyh2LUBfCpOzYPG2Wdf5N0ro8GXFeHF" +
-                "4vg+3D2vk8v5H3ifcZOWKfi/y0N+/o537S6MeKnnf5bR85s5/f" +
-                "CfGp8bBdHOJ4WySqLa6WhDTnSmrVMdhOmhOoOKfRSZrVttj907" +
-                "7q7gvO/GAWx/27pnE8eFGRFb2/6++v7rzrTRatQax3raPV9VPx" +
-                "tiM/HamwnwqwncUnyk9Znz91rtu20P8zsfUfYp89Yxif/s5635" +
-                "LfT+Nw9A8UIdW5yBI/OY1ToR0jcU2VwqkYieXKfKpWXapsCa5j" +
-                "tKyTY/U2WRNFUfUa7AtG7sHGd18Q7La9L9A0vDp+827lldTz7q" +
-                "Fi4jj5PPNghZ8/HSx6PDmn9JKFCHiqXG6btsessl/A1d3j7qnV" +
-                "Xn/HllwmrbyD1rbynsVZOLxvcafcqdBr561ZnuO9eX/Ojjabfg" +
-                "pek8bvmrWZt1YmL81hrzdhBLxWPmcBz5+uFW2z+HIs6FTjXm6Z" +
-                "eDbQOmvY27OmWppzzTmewxVOd8adac6xOC4QjCoQgsrbQAJghH" +
-                "RowZyCD1shKFgqo3gvYC65Xe4BT7o2lkN8wnqFvYJfla9yDGPd" +
-                "8ImEW3frRHysJ8TOehyGUZI4C1jv6sVg9ftgd9ad1dc7RovVNx" +
-                "uHYZQkzpHr3SOp/TRrvt6ZWha3H3dGvvFMsx93crw/Tb8fp7Xl" +
-                "e3+3E9+bB2+V56fGjQrf392w7ydltl7VS1aenB0qLGYTdgYnSn" +
-                "xesFXh8bRV9HhC3xfcJEZFK9U99b37n+LN8saT3TjurGe+u1vP" +
-                "sN6tm42n4IKFOL5Z4Xm3aeandM/pnC2W+MlpnArtGIlrqhROxU" +
-                "gsV+ZTtepSZUtwHaNlnRyrt8maKIqq12A83arweLplO467J92T" +
-                "PIcrP1nNuY0R4krXQILA4pJzm+YTVqhcggK8STaIHJKujfdG9F" +
-                "W1l/PqvYJrOXG8/3SZ4+nM3qret/SfGUc/pYnjsfGpwt8/0bar" +
-                "fuqmHk/kPvNBYp/5koG8yE+2vs9M/x0GZTu5f7pkYTxNpx9Psc" +
-                "iyx9O0eXzKfX+3q8J+2lWen7LE8bHxU8PMTzTuXq53brtMP7mG" +
-                "/0cI1iz8X+rlCj/P3G0+72x8T+f8YuupRB5J6Xlpjly9+R92Ud" +
-                "KM");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value13 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value13[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value14 = null;
-
-    protected static void value14Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 2197;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdXE2IHEUU7luQ3YsEExHJRoLEXUTY7B68hDBdPUg86EG8eQ" +
-                "+4YQQPexCMOzs7yU56VYIXL0bUeBKMiSZGApIIRogIKrqJITGi" +
-                "khCEBHLIISer+vXr915V9UzPTE87axf96v1/r2r6r3qbDYLmuS" +
-                "Bofq33483vNJ1qfhkkW/21oMfWPO1oftD79yjFWYbm2WCIrXmy" +
-                "q/VbV+evvXnG1qzc0toLBavImacCkT3mienPxgeqnKdD24vNU6" +
-                "Idr3lqjuM89XM8WbmmuBQel1Zb9tlcH6PpFtlr6z/WHzFcZXnH" +
-                "U7xS5vHUvlfl8bT6QNnHk1pTa0ihhxYEtQnSoYV7qLVWg0uYj3" +
-                "w5J3PLGGmTGL1qkCPA3dTuevAREzKvxsXP5HtK/9JAE909aMCH" +
-                "ZwwlPdmlhF6Ug2dLjvAz5M/1EpVjyVg3mnsThR0iuD+OhlcHkj" +
-                "sKGz/hbqvbmktoorsNDXhOyZN8bF/KwbMlY/3ZHydRORb3kVGu" +
-                "N1HYXTSq0EbmY/bjmz7aHe0OAqDQQwMJdWjhHtHuVoNLgMuzUZ" +
-                "SdW8a4uHbe/Bq4DdH1tXXZ50FYNE+yGhffjUivdW9n18ILwUi3" +
-                "5dYIc78ejHhrPlPct9UIxnSLR/AbVPScefD/+jxe+6XMeap2fe" +
-                "evfTzWLXFnfOZp9fmy56m2WFskCpxpalbNGpl7GC3auRY4NZve" +
-                "aWdBg7Fg4ZGol1WQTmLYNfi85Qh8aKAnf0K2x+TiQ1/R9elwlc" +
-                "dTZ7LY8dTePOg6OJrkXHizrLvFMJn6j/VHDDeaao6n6MEqjyc/" +
-                "2jDXp2hTtElKRgZdtCm8QTxynEd/srk509/yhsxPkTyGELgHxP" +
-                "K86Iu57ArCG1yHuTFP3kzk6ZJKJqIJzSUUemggoQ4t3COa0OuW" +
-                "CRkBMVxCPn6Te8oYF9fOm18DtyG6RlvzeRAWmwlRjYuPsrqlbu" +
-                "n7Q0KhhwYS6tDCPVwJY7iU5Trvi8tWoxaunbdXDUTT/bzPg7Cy" +
-                "Z5m3ZDUuvh2RrYyezp5BLpW5blHnqly3lI+mTqlTSKHHZiTpQb" +
-                "1fAm/y5Vz8jj+OqrCjbE23GojCfmi7z4OPmMZP+fiIXXRr3k7w" +
-                "Pvxc2qTst7k+RpMfWeAu3zUWK+4dUWZlq9cy7vdSV/DvVnne+d" +
-                "fBZW6r1zPujzKvT/HxKucp/rT069NFdREp9NA01nukQwv3cCXw" +
-                "Jl/OydwyRtpk1mI1EIU93uzz4CMmZF6Ni5/Jd9VdzSUUemga6y" +
-                "jp0MI9XAm8KRtF2blljLTJrMVqIAq7niePB2GxeRLVuPgoN/+0" +
-                "nuKzq1LtpUJrir+GWI9c69P/elHPYrUPdX36O8OaDjbsNvra2/" +
-                "XsWvjRxp0n/9+DS0WgZ/pPNu48HX5k5PP0T3Hfvp4LTlT6XPBZ" +
-                "6WfyrtouosCBBDL34HYpoS/PiRzw8Uk3TkZwXCnn1+AfgXnOtN" +
-                "GoQhvZxfPJ/b2na38w8Hvf01W+pyv6d6n2+2P3ndhX4zhPB18u" +
-                "/F3PfXUfKfTQQJIe1ENrNbiE+SgbRenz7hT3lDEurp03vwY5At" +
-                "zjL3wefMSEzKtx8d2I9Eh8NY3fqrYGQedoaeujrZW+f/KiLR8b" +
-                "PGN9ob5AFDjT1LSari+YeSIPo0U71wKn0mc78KHsYOGRqJdVkE" +
-                "5i6PvqPhnlessR+NAMhXmyke0xufgJt7++X3MpBQ6k2q+Gko33" +
-                "tgSxGfZ+kFbaaEUttJUW10ublHisrwZpwxFA7bJKqtBGdvF8cj" +
-                "QVTQUBUOihaawrpEML93Al8KZsFGXnljHSJrMWq4Eo7KZ214Ow" +
-                "2N8RRDUufiZfja5qLqHQQwMJdWjhHrZUW8AYjKcoOzdH8eFKlN" +
-                "41EIW9tuDzICw2T6IaFz+TF6NFzSUUemggoQ4t3MOWwgbGYDxF" +
-                "2bk5ig9XovSugSjsYcPnQVhsnkQ1Ln4mH4mOaC6h0EPTv8kTpE" +
-                "ML93Al8KZs7RelBVv7BRkjcWXWYjUQhd3U7noQFpsnlg99fOjh" +
-                "jnCHnv+UAgcSyGTjvS2hb/p2XmtqbyCHFjdORnBcLptMeTXI+n" +
-                "AEJsZGowptZBvPLzvPrFMlrRtL+0JykEy10r/PDPeGe4kCB1K0" +
-                "bij34HYpQazMiZzkZTYeQTqJ0a0G/wigdolGFdrILp5P7vLd4b" +
-                "o7q52HBl3fDfNbDvDd4Xqx9V2iHfb7zJ2eeXp4g8zTzrLnKdwS" +
-                "biEKnGlqm9oWbjHrFvLgdilBrMyJHPAmmx0nI0gnMWSVsgb/CH" +
-                "xohsK6xUZ28Xxyfam+pJ/MUwocSCCTjffQWg3yBt90LbCEEuWK" +
-                "L1Ec13M/wpVyfg3ShiPQaOs2GlVoI7t4Pjn/vKs/V+b7p2HOu4" +
-                "PP9nve+Wsf6nu6O9EdpNBDA0l6UA+t1eAS5qNsFKV/4d+4p4xx" +
-                "ce28+TXIEeAeX/Z58BETMq/GxXcj5POTmlNz7vsno8t95zOX52" +
-                "M03SJ7/r1iX9/vn+aKv38qVlnnUes93U9p9Iya8eSc6VLbTJ6P" +
-                "0fgi2z+O7D3dTNm+9T31PUSBAwlk7sHtpunr+B7S2zmRA159Q3" +
-                "Fcz/0IV8r5NfhH4EOjCm1kF88nO8cXvRO6vHH/zll+7fZ3GJ1s" +
-                "xdd5vFB89h1G+Eq/2J3H+qy18HcY/dfS74bXJ/2bXBk51siuT+" +
-                "XXXo/qEVHgTFPzat7I3MNo0c61wKn59Lo4DxqMBQuPRL2sgnQS" +
-                "w67B5y1H4EMDPfkTsj0mFx97NWl2bOloE27lQ7Bl9wZHYveNSW" +
-                "7nNp7XutdYqG5WI3emsR6qjCRJcSw+2/Ixu478yjjiKP8eXFsq" +
-                "63m8tjTAOnip2PN4f/83JPzY7NhQBxzYpCeX7Cyo5TaeV9psVD" +
-                "cr5ZOVkSQpjsVvk0g+jbR1uQc9WdJbyANlXUEHyVQeet5513kK" +
-                "z7vo0jDn3X/7/slf+1Dv6f4F7Chnng==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value14 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value14[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value15 = null;
-
-    protected static void value15Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 1927;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXE2IHFUQ7rh4VURUkku87sFFBCEHPWxvT8SIK67xvOQkqO" +
-                "APOZhbTzKZZDwoIeRgYAUlF/Fg8KCBQFh/Yg5GEwwoKvgTo2jw" +
-                "IB6FiD1TXV1f1at+PTPZjZPd6Wbq1ffq5/teT890b+8mSZIkCz" +
-                "P9F+/JYCOv8zbFkoRnLZKNYzSLMeyrN8sadu3j3v2sR5QJ0pbX" +
-                "4sX2n7A66pUhI23t1eJ1pni91z5X2O3tD2m+tZQ0bO0Pgpkvit" +
-                "fnTubp3gPJ2Fv7/Wj0bDjna2+fsjOdP4rZz4ZUUXOcsm/X8jgl" +
-                "yY08Tr726ztOSZL+1X/xznN9r/cgxXQmItuFZzGGfS2zZg279v" +
-                "GBZ1iPKBOkLa/Fi+0/YXXUK0NG95hvr96T75Obdlsf7a03+i/e" +
-                "eY5nKY6ZiGwXnsUY9rXMmjXsqpUgxmyxmBvGrI56ZcgY/34a4n" +
-                "tjYr+fajJPubNDfT9lK9kKWxppJ6QzZPQR1yCyvq5DFchr+zZp" +
-                "EIuqbQauWJhRTchf4ePZ8cIbWBppJ8RzHMGMEHENIuvrukqt4b" +
-                "V9mzSIRdU2Q7jgOCk1IX9YQVtvbj2+Afc/fz3VB05PwrVhM38/" +
-                "DX//tHPLzi1saaSdkM6Q0Udcg8j6ug5VIK/t26RBLKq2GbhiYU" +
-                "Y1IX9YYe+fJudzNwlbej49z5ZG2gnpDBl9xDWIrK/rUAXy2r5N" +
-                "GsSiapuBKxZmVBPyhxXreT5tnG3+R3l5sToUyxy+KhYNc1CnX0" +
-                "mzaP3sGLOOtVZaK2xppJ2QzpDRR1yDyPq6DlUgr+3bpEEsqrYZ" +
-                "uGJhRjUhf1gx/dzFtu7Do9w/dR/arD/f9R4b5Tj1dm3W4xRUvR" +
-                "k9+xY26+eudaR1RCx5hAhjBsY14lzsyZ72dTesQF6N6zX4K/DY" +
-                "RKFlDvk8nC6ny8WdVGnJI0RYYjhaxLnlvdsyI+mFlXrexixHTI" +
-                "OO8Qo8NlFomUM+D2cns5NJQpZG2gnxHEcwI0Rcg8j6uq56umF4" +
-                "bd8mDWJRtc0QLniuotSE/FIx+c8Lursm4Xt8epzG0rSUTLfpcR" +
-                "r/vuBw67BY8ggRxgyMa8S52JM97etuWIG8Gtdr8FfgsYlCyxzy" +
-                "eTi7nF0uvtEHlkbaCfEcRzAjRFyDyPq6rrrqGF7bt0mDWFRtM4" +
-                "QLrndKTcgvFdPn48PUZleyK2xppJ2QzpDRR1yDyPq6DlUgr+3b" +
-                "pEEsqrYZuGJhRjUhf4VnMvgrnz7qY5qzljMxg+ttl5p3peovlV" +
-                "gjDGEG9uVc7mUVWO3Yu/aMmamb69enc+lccWdeWvIIEZYYjhZx" +
-                "bvmzwBwj6YWVet7GLEdMg47xCjw2UWiZQz4PZ/uyfcURG1gaaS" +
-                "fEcxzBjBBxDSLr67rqfTO8tm+TBrGo2mYIF5wxSk3IzzhdSos7" +
-                "JrbkESIsMRwt4tzyPVpiJL2wUs/bmOWIadAxXoHHJgotc8jn4W" +
-                "xvtrc4YgNLI+2EeI4jmBEirkFkfV1XvauG1/Zt0iAWVdsM4YLz" +
-                "SakJ+cOK8tr5enWkj474m8CjG/uOfKTnvneNe/80/++NvH/y2T" +
-                "b684L1u8/sPTc9TsMcp+6z4z5XSe8LvVEr//9t7bW0jrWOiSWP" +
-                "EGHMwLhGnIs92dO+7oYVyKtxvQZ/BR6bKLTMIZ+H023ptuL4l5" +
-                "Y8QoQlhqNFnFu+m9sYSS+s1PM2ZjliGnSMV+CxiULLHPJ5eOHq" +
-                "wtUkIUsj7YR4jiOYESKuQWR9XcdqLa/t26RBLKq2GcIlx0mrCf" +
-                "mlonVNfQ6v9THNWcuZmIFz2KXmU36NK2yGdJI8PRfm1LNlT2EE" +
-                "1zTitxLU5x+ra8L2/EIx93Xfz78Z2MHf9ue/FFfRlygn/7vwXx" +
-                "h4/7T5Cvui6nKnz5v/lP+cD5595b+ba9FM+1ZAt7Xvbt+Tr+Yf" +
-                "qeqL+SVAP1Te1dr7vZcH8XN5cQ3OvxrjSnvLwN7eviNdTBeLT2" +
-                "BpySNEWGI4WsS55Wd+kZH0wko9b2OWI6ZBx3gFHpsotMwhn4tn" +
-                "09nCKy15hAhLDEeLOLfknmUkvbBSz9uY5Yhp0DFegccmCi1zyO" +
-                "fhztOdRzuPdx6pnoQ+MfYdxr31sc6TsWjT1on+/q6zOJqWcfKK" +
-                "zK2trWh5p5jOCHNsBdUgsr6uQxXIGyqJaxCLqm0GrliYvXWHON" +
-                "2T7inOrNKSR4iwxHC0iHPLc3kPI+mFlXrexixHTIOO8Qo8NlFo" +
-                "mUM+F+9IdxReackjRFhiOFrEuSX3DkbSCyv1vI1ZjpgGHeMVeG" +
-                "yi0DKHfC7ene4uvNKSR4iwxHC0iHNL7t2MpBdW6nkbsxwxDTrG" +
-                "K/DYRKFlDvk8XD2x+VNeMmO9EOn5+sw6n3BdT+ys9TDyK2kW7e" +
-                "jMfmz+V3l5sToUyxy+KhYNc1CnX0mzaP3sGLOO9V6Z/nvOUbTM" +
-                "/yYvL1aHYpnDV8WiYQ7q9CtpFq2fHWO2sVHOp4Nvbdbnmd1L3U" +
-                "+6q+0z3Yt0nLpnh//c1XR0ft7snruujp9Go1+O3Xfwr6C6F9b+" +
-                "+fihdzfW+XTonen5tLbn081/nHqvTo/T5Byn4Iq2Lv8zSe+19f" +
-                "sd1MHvbsivuv4DukobOQ==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value15 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value15[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value16 = null;
-
-    protected static void value16Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 1289;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWj1vE0sU9T+htygpkEBI2d007z9EokiDFAr4B7YAKdWjoq" +
-                "SjoQmiAKRIiAYoUGqqKJR8FHzUr3gbX1+fcz/Wuxg7KDA78p05" +
-                "M+fec2ay6zhWtqZb09Foax5lJEgw1rj3SLlyaT6yMLbVOIN1Le" +
-                "72YNd0B5kaHHrlqJfh5qA5GI0kSi9NkM7pCjMi0hxGfmzz1K3X" +
-                "9XX7PCCya8+AFs7Juon6yJi8al8v29fB5G0bL0yejwZek2dh5q" +
-                "h9vUuYh6NfuO79s9TF68F+X6Szb1bxNN0dlWvIz+6knEE5p/Vd" +
-                "kwubqDrdO+/nUn2uPmuUXpogy0CfI81h5Mc2j12wrq/b5wGRXX" +
-                "sG7xjK7CbqL/BxddyOZlF6aYJ0TleYEZHmMPJjm7dw63R93T4P" +
-                "iOzaM6BF52TcRP2Yscnn7s+7qhtxtM6qZ5O9Tu9U9fHpS5vO6a" +
-                "ysM5ORr6KzzOS6Ns+rxqrWCWNmW03lxjWrlM143cXn9o/NR43S" +
-                "SxNkGehzpDmM/NjmsQvW9XX7PCCya8/gHUOZ3UT9mDF/f/q3vP" +
-                "dkV/2gfqBRem2nyDLQ50jY4PKIuXbs12zVYR4Q2bVn8I6xf3Bj" +
-                "LquX33cr3V+PbJ+tLctbTW2zjLX8rrtUXUKUkSDBzOB1i5TLNX" +
-                "Vkx7YaZ7Cuxd0e8h1kanDolaNehs/D90+Tp7//+6fqWnUNUUaC" +
-                "BDOD1y1SLtfUkR3bapzBuhZ3e8h3kKnBoVeOehku99Ow+6nZbX" +
-                "Y1Si9NkGWgz5HmMPJjm8cuWNfX7fOAyK49g3cMZXYT9RVXO9VO" +
-                "e2fNo4wECcYa9x4pd34v7yhCLc60837NayzzYNd0B5kaHHrlqJ" +
-                "fh8twNfO72mj2N0ksTZBnoc6Q5jPzY5rEL1vV1+zwgsmvP4B1D" +
-                "md1E/QW+1dxqR7MovTRBOqcrzIhIcxj5sc1buHW6vm6fB0R27R" +
-                "nQonMybqK+4vp2fbv9TDuL0ms7RTqnK5HBSNjg8oi5duzXbNVh" +
-                "HhDZtWdAiz7NU72Yy+rl/Wlg9l98Tnc+lXPqP6e7P3E/1ffr+x" +
-                "qllybIMtDnSHO4Aq/EPHbhs/zMMg+I7NozeMdQZjdRHxnl/ak8" +
-                "d+fvnOrrZ3lOuVq5n87ifirfj5f7qTx35bk7J09hOafy3JXnbu" +
-                "NXc6W5olF6aYIsA32ONIeRH9s8dsG6vm6fB0R27Rm8Yyizm6i/" +
-                "wFebq+1oFqWXJkjndIUZEWkOIz+2eQu3TtfX7fOAyK49A1p0Ts" +
-                "ZN1Fdcn9TmP6EFy5yPymSG8u1a3fHf1czv1tV1z/IqdtbX48j8" +
-                "zm9OTrrmJL+8j6/y+27/fTmnQd/bHa5nrT48q99Eqzr+tWt6WU" +
-                "f7x+XTwJKfwGPbZ2vL8lZT2yxjw/fTh3LXlM/j5Zw29HfLxeai" +
-                "9Ix5DhEczPp8rpmrSTYyoy7WbR1g5Wot78B759rdJ9F9Nm0bN+" +
-                "PZeDxfm2GeQwQHsz4fNVIvY62PzKiLdVsHWLlayzvw3rl25zmN" +
-                "M7dd+9n/Up6xIdf+tz9iF18H8r6X7+k2+/ddOaeBnzN/lPeeQU" +
-                "/sf+UMBt2bD8sZdF/bT7af6EheXRyNYOVs5AzjMSMyvT+4QIy+" +
-                "8r2gVqyHWuyc2EfbR6cRr2Qvc45n5WzkDOMxIzJtFa3KWZmvfC" +
-                "+o5etxLXY+m7u5fRNRRoIEM4PXLVIu19SRHdtqnMG6Fnd7yHeQ" +
-                "qcGhV456GR79Dw+FFoE=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value16 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value16[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value17 = null;
-
-    protected static void value17Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 1439;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWU2LFFcUraDu/QcibsV1cBWnq2fhQiE/YRIIMwT8DaUzrW" +
-                "mQkD+QELIKAQNZJIEQEZKJi3wStwoiKLgU/0Cq6ubUPffeV101" +
-                "bbqZ6bx69H33vPtxTpWvqmvaoqgeFEV1v/58XT2s7bnqu6L3uP" +
-                "0Vo+pbH69+rz+/xrrqh+INjuqbhdHD0X2+D+fzZb36y8jqfJ1G" +
-                "HOVOuQMrswxBNkPnNEINI+/bOlbBvL7vkAa1rNpn8BkrM6uJ/B" +
-                "3eK/dqr7UyyxCENUQ4IyLUMPK+revUOl7fd0iDWlbtM5SLrpNR" +
-                "E/k7fKO8UXutlVmGIKwhwhkRoYaR921dp9bx+r5DGtSyap+hXH" +
-                "SdjJrIDzytj6KAFU+QYI3x7BFy5UC9Vqlvu3EF81rcr8HGcAYp" +
-                "NlXomSNfCh/tOe6eiyf+Ob7/cvz3XVG887z5YGBNPInZTEa+C1" +
-                "Y5xn09s2WNXbWfVabIWpxLKsZdhpTF3PXsp/n5k7+ftl43Hwys" +
-                "iScxm8nId8Eqx7ivZ7assav2s8oUWYtzScW4y5CymFsUk7eaDw" +
-                "bWGm9+QWI2k5HvglWOcV/PbFlj1wbf+gB6VJkia3EuqRh3GVIW" +
-                "c93ePFfko+++e9V8MLAmnsRsJiPfBasc476e2bLGrtrPKlNkLc" +
-                "4lFeMuQ8pibn4vWEpTvu/+g98L5hfXv5+2Do++n7YOx+2nO1+s" +
-                "5neV+aV8363yvrv54Um/66ZPpk/YYkjMZsQcXyE1jLxv61gF80" +
-                "YlizWoZdU+g89YmVPnnWK3991Hl47f993s6qruu3Z1qedTvk4j" +
-                "Nb2b3wCSz6eD6YFa8QQJ5gyOW4Rc7gnP+rYbVzCvxf0a0meQYl" +
-                "OFnjnypXDYhZ/mvZN8izu7dVateIIEcwbHLUIu94RnfduNK5jX" +
-                "4n4N6TNIsalCzxz5Ujjvp1X83ZL/Ds5/By8+yhflC1iZZQiyGT" +
-                "qnEWoYed/WsQrm9X2HNKhl1T6Dz1iZWU3kB548njw2v3a2WNa8" +
-                "RSZnIN/GbE/bHRn9vIj7LM9iV30/tpzfd6TiXH+U59PB55v1fD" +
-                "r4bDW/q+zvbdhzfHc112nTvu+W//vuOH7f7b+/MLpz/N6f/s/P" +
-                "p7yfRv2O8mj20+xBdX/2l+yn2eH451NPx78Taw/fqOPPC6N/LN" +
-                "33t9b+OSb3SnWlUiueIMGcwXGLkMs94VnfduMK5rW4X0P6DFJs" +
-                "qtAzR74ULu+V9+o3ztbKLEMQ1hDhjIhQw8j7tq57K3a8vu+QBr" +
-                "Ws2mcoF72PGzWRP1bkv+/y+9MK3p8+zjsn76fl91N5pjxjUYNl" +
-                "zVtkcgbqfZd+NqnWSq5RhpjBfZGLXl6B1869+69E31pTv316+3" +
-                "RRiJVZhiCsIcIZEaGGkfdtHfR4Xt93SINaVu0zlEuvhFUT+YHL" +
-                "a+W1+oq1VmYZgrCGCGdEhBpG3rd13b+b4/V9hzSoZdU+Q7loxx" +
-                "g1kb/D18vrtddamWUIwhoinBERahh539Z1ah2v7zukQS2r9hnK" +
-                "RdfJqIn8wNuntk/VO6u1MssQhDVEOCMi1DDyvq3rdr/j9X2HNK" +
-                "hl1T5Duei+M2oif6z495fOH6N3vI916czvBfk65eu07us02Z3s" +
-                "wsqM0SCboXMaSbbmsse51vcx23WcBrWs2mfwGev5a26sJXx3cr" +
-                "f2WiuzDEFYQ4QzIkINd+BIrOvUOl7fd0iDWlbtM5SLrpNRE/m1" +
-                "Yj333eS9dd53abZN//+W/HtB/r7btOs0fTZ9BiuzDEE2Q+c0Qg" +
-                "0j79s6VsG8vu+QBrWs2mfwGSszq4n8sSI/n/J9l59Pa/vd93J5" +
-                "GVZmGYJshs5phBpG3rd1rIJ5fd8hDWpZtc/gM1ZmVhP5Y4UcN9" +
-                "+GN/8kP5PozfXp5GnEsuYtMjkD+TZme9ruyOjnRdxneRa76vux" +
-                "5fz+K9G31tb/AzbHrHo=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value17 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value17[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value18 = null;
-
-    protected static void value18Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 1334;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWcuOFVUUvTF+BRNjHN7wBUyAW8UH8AmExAFDAmOvNna6Zw" +
-                "xJCAbjQKNE7fggMTEOfAyMRD9ASWgmzBh0GDGw6m42a+1Hvbh9" +
-                "GxpOndQ+Z539WOscqqrrFrOZPRZf2j7zZUefb52sw4jYxLH4yv" +
-                "aZry/vxdg2G7GJY/nOrBxln174qE5WJ6VnzHOwiMGsz+eaOZtk" +
-                "IzPywm/rAGus1vIKvHau3b0T3XvTtHk1X43nz3wrzHOwiMGsz0" +
-                "eNVMtc6yMz8sJv6wBrrNbyCrx2rt25T/NMrfbLB+6++2/ifbq/" +
-                "xj3+78T4+6/Ofbh7ozyLyj4d4j7dLHswap9ulz04ru9PWxd7vR" +
-                "eOaGd+ac6fm/Pr5R/tPi1/7I69Zq625Q+h1l/N+WfC8dNaCvd6" +
-                "vb+NrnM3rOeTZvb3cj1t8Pn0RXn2dB/1Xr2nIzm7YtQiqt7rrz" +
-                "sujiNipNcHFbBRV74W1Ir1UIuVl9/Ba9x335Q9GLVP35Y96Hk+" +
-                "3KvvtRZnd4yPyqORMy6OI2KkraJVOSvTla8FtXw9rsXKV98Mrl" +
-                "RX1EovTZCNQJ8jzWHkxzaPVTCvrzukAZZV+wheMZhZTeRHxpT3" +
-                "zN3vXq/3zNXsqPfM6nH1WK300gTZCPQ50hxGfmzzWAXz+rpDGm" +
-                "BZtY/gFYOZ1UR+xbvfuzf5f47uqXjt72P0BD9Vn4KVkSDBHMF+" +
-                "izSWa+rIjm01zmBei7s15CvI2KDQM0e+DPvvvjvvPX8W3R11z6" +
-                "/x3Xfn3YnPqZf43bc+XZ+GlZEgwRzBfos0lmvqyI5tNc5gXou7" +
-                "NeQryNig0DNHvgyHf+PyuyW/ljvvu5H5b8p9d64+BysjQYI5gv" +
-                "0WaSzX1JEd22qcwbwWd2vIV5CxQaFnjnwZbvuzT9tTm+TLaOeW" +
-                "+LRqRDjUJ7Ps47r28Kyxaos/el/1QBmQtbqWzPfhZ15HtzJmnP" +
-                "7d190Hb9D7eNmn8d/HF2+3pzadk5H4bCQjX0Vn2cd1PbNljVVR" +
-                "zyoDslbXkvm4ypCyGNvciQftqU3n2lHzfDoQP0cy8lV0ln1c1z" +
-                "Nb1li1xavnk1MGZK2uJfM1z6cDr7lLGTOW777TjsVb7alN52Qk" +
-                "PhvJyFfRWfZxXc9sWWNV1LPKgKzVtWQ+rjKkLMY2V9iT9tSmc+" +
-                "1o61Px2UhGvorOso/rembLGqu2ePdX1QNlQNbqWjJfc9898Zq7" +
-                "lDFj+Xs37e9deT4d9vvT9qPX63raelSup80eH58ve5B+L9iut2" +
-                "FlJEgwR7DfIo3lmjqyY1uNM5jX4m4N+QoyNij0zJEvw+W+G3dU" +
-                "l6vLaqWXJshGoM+R5jDyY5vHKpjX1x3SAMuqfQSvGMysJvIjo7" +
-                "w/le8qm3vPrJ8etyfHByeOku3MQ5yZrwv1RY7P6vPGGNaZZ8os" +
-                "2zy6j9n6qjvVHbXSSxNkI9DnSHMY+bHNYxXM6+sOaYBl1T6CVw" +
-                "xmVhP5Y8az98z7s3KU3y1ln8o+vTLH2c/bU5vO6az4OZKRr6Kz" +
-                "HMl1bZ5njVWtEsYcbTk1NvosUzbject75rT3zOpSdUmt9NIE2Q" +
-                "j0OdIcRn5s81gF8/q6QxpgWbWP4BWDmdVEfsWLq4urs5lY6bW1" +
-                "SOfUEyMYSTRiecSxdux9tuo4DbCs2keAC/vE9WIu4euL681oZa" +
-                "WXJkjn1MMREWkOV2BPzHuu1vH6ukMaYFm1jwAX7ZNRE/mRUZ5P" +
-                "5XvB4e1TvV/vq5VemiAbgT5HmsPIj20eq2BeX3dIAyyr9hG8Yj" +
-                "CzmsiPjHI9lftuaJ8m/P/d/0vFN+k=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value18 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value18[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value19 = null;
-
-    protected static void value19Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 1313;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWz2PHEUQHVk6OXJwiSWcOCIgJiHdmb0/wI/wR+xfsHCsse" +
-                "4/ENhOLOuERABISJYlczg4vgTxBXdOuB9ABhLbU/dcr6qrZ2f3" +
-                "xgbhntFU96t6VfW6PTt3s7abZvG8aRbPVteXi5cre3PxTTPyWH" +
-                "ydeX5aXccB87vmEsfiq8Ho0eg631r8mXh/2ErTzaYe8c68s/dT" +
-                "s9H9VPep7tO6fdo/r/s07XO8u9XdgpURZ0KWoWOMhK1cnjHXzn" +
-                "3MVh2nQS2r9gxesa5fuXmu4vn1+XXeN8Hi8xZMZiCfq/iaNiLZ" +
-                "Q30Rjzm5mlyB18780hHFOb8+x7fR1D22YxQbytuu25tlTHHMr8" +
-                "yvWJSw+LwFkxnI91XK3SRbMzlHO+QMrgsuankFXjvXLu9EyZfy" +
-                "u7PuzPzp9Fh83oLJDPBtzNa01cEo90Xcs3wX6/X12DK/eF+elX" +
-                "y9jtPu1ER6LD5vwWQG+DZma9rqYJT7Iu5Zvov1+npsmV/cp9OS" +
-                "L1pPd2jHKBZ2Odzq+XT4Nhhv4jh4r77xjtqnG3UP6nvLdL8/Pf" +
-                "ir3jljjuXHdQ/q95kTPsffr3swap8+qHsQvtXcnd+FlVFOQZah" +
-                "Y4yQw8jPbR6r4L6+7joNalm1Z/CKtTOryfsD7832Zk0DKzNBgj" +
-                "XGo0fgyoF8zdK5rcYZ3NfisgYbwwqibqrQd877Rbj/zf9aunBe" +
-                "vA30swdfSOz1O0KG6P3hGsc5xnXdO4frmldN+NPb0KPKFFmLtU" +
-                "SxTx57HWVl3BFH+3e6cMInM4lZJiNfBV6OcV3f2XbNq2o9q0yR" +
-                "tVhLFOMq65Tl3NXO7aQLJ3xptrqfdiTOTEa+Crwc47q+s+2aV0" +
-                "24v5+cMkXWYi1RbHU/7XjNJWXc8fXO/ZkunPDJTGKWychXgZdj" +
-                "XNd3tl3zqlrPKlNkLdYSxbjKOmU5d7VzV9OFE740238oMctk5K" +
-                "vAyzGu6zvbrnnVhA8+hB5VpsharCWKre6nq15zSRl3rO/B9e85" +
-                "p96n9rg9hpVRTkGWoWOMkMPIz20eq+C+vu46DWpZtWfwirUzq8" +
-                "n7a8Ym99PBR2//fmqPNr+f2qNx99Pnj+q/f6rfZ/4732fWfarf" +
-                "Z0537O3v7auVmSDBzOC4ReByTczs3FbjDO5rcVlDvIKomyr0nf" +
-                "N+EW53293Vz4cLKzNBgjXGo0fgXvy02QXSWpxp/T7mewxpsDGs" +
-                "IOqmCn3nvF+E6++Zmz2fZn/oFcVKaIg5PmsomnNYZ5wpXrYxe6" +
-                "hzHJu90iuKldAQc3zWUDTnsM44U7xsY/ZQZxtb/r58sXy+eLb8" +
-                "VT53y6Pxn7vCT8zfAt/LS1X8fjD689Z1f+ztL9P//nT/6f/r+X" +
-                "T/yej34PP2HFZGOQVZho4xQg4jP7d5rIL7+rrrNKhl1Z7BK9bO" +
-                "rCbvn2fU97v6HjzN0T5NF0744JU4Mxn5KvAyk+vaPN81r2qVMG" +
-                "a27QluHrOdIo/vW9+DL/cePHux7Wq2z5z+GKtlE831fqr7VPep" +
-                "7lPdp7pP78L3T/X/vY7J7e50d2BlxJmQZegYI2Erl2fMtXMfs1" +
-                "XHaVDLqj2DV6zrV26ey93r+1393NXneH2O/0ef4/e6e7Ay4kzI" +
-                "MnSMkbCVyzPm2rmP2arjNKhl1Z7BK9b1KzfPJXy7S/9KtLcy4k" +
-                "wIPkRyBiNhK5dnzLVzH7NVx2lQy6o9Q3vRPlG9PJfwSXdi7q8e" +
-                "i89bMJkBvo3ZmrY6GOW+iHuW72K9vh5b5hc/WSclX5//DxX5aw" +
-                "o=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value19 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value19[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value20 = null;
-
-    protected static void value20Init()
-    {
-        try
-        {
-            final int rows = 65;
-            final int cols = 74;
-            final int compressedBytes = 1644;
-            final int uncompressedBytes = 19241;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWU2LHFUUncUgrvIDsgni30iymOr6A5JfIH5AEsgmIRPIIp" +
-                "MJA2MggWTlJihkLzGDCoK4MS5Ek38gOCt/gS5cWFW3T59z7301" +
-                "/WIGZ8RXRd13z7vnnXveo7vTmV5sLjY3VtdiczFhm4sRTGUsNp" +
-                "VFlY3iRX2u1DXskBmqCy60ooPoXbXnrlKd67vD7lArhm0uRjCV" +
-                "Ab6veU2vDsZ8X9QjK3bxs1FPo/LnrlJd1/vrk0832lVxtXOqu+" +
-                "5/2M6g6pw+amdQc+29186gdO385vH+u6tX1nbV+sN/3nv/ndf0" +
-                "+uvJnVN/vj/PaJkhw8rQukfgqiYyn3s1XaF9PZ73UN5BqRsdxs" +
-                "65XxFv9VtDtoyWGTLMmo4RgbvsvQVELV3p52Mt9jjKg69hB6Vu" +
-                "dBg7534lPH2POjM+uJffsJaZ1VbfuxKS72RntK411Q3f40LXrE" +
-                "o974zIR+ylVFOVdc4yd+f74flueL7Y+XGI53a+rv68+CrN/Dw8" +
-                "PxWY377RZ+iXR1Z/qNb5pjj7onJ1O6fKq3trfHBjzjKreaaiqI" +
-                "JZralu7Oy7ZlXqeWdEPmIvpZqqrHOWuf/n19O939v7rn0+ncTr" +
-                "qd/r9xgtM2RYGVr3CFzVROZzr6YrtK/H8x7KOyh1o8PYOfcr4f" +
-                "Z6qn3f9X95NGKbixFMZejcnKZXV9XY1/P8XObYeOfsXDfvcp61" +
-                "7myij6N2eHqvO2dP5O8H507fSdz74Mjq+//SybTvBTXfxS93lx" +
-                "FtxD0iz+BYRsYmVzPl+jzWvGqdB0Z1HRm6Y+6f3LxW8I3uxpBN" +
-                "0UbcI8IcKpmhyNjkaqZcn8eaV63zwKiuI4O95JxEL68VfK27Nm" +
-                "RTtBH3iDCHSmYoMja5minX57HmVes8MKrryGAvOSfRy2sFP+we" +
-                "DtkUbbTbEOZQUUZGWKMKWsnrVm5D36i7zgOjuo4M9pJzcm5y/x" +
-                "W+3l0fsinaiHtEmEMlMxQZm1zNlOvzWPOqdR4Y1XVksJeck+jl" +
-                "tYKvdleHbIo24h4R5lDJDEXGJlcz5fo81rxqnQdGdR0Z7CXnJH" +
-                "p5reAH3YMhm6KNdhvCHCrKyAhrVEEred3Kbegbddd5YFTXkcFe" +
-                "ck7OTe6fVyx/jfqs/VZXc93/vJ1B+3/LG//a+ax/hsyeOQ4iWW" +
-                "U219TxlJGZ0R9dMGZf5b1QK+tRS50L+6A/QGZPYS8HVgNDV8zu" +
-                "/8Arz/OUkZnRH10wZl/lvVAr61FLnQv7Zf9yjHwKe1lyIqvM5p" +
-                "o6njIy06tAVVeVfJX3Qq2op1rqfJq70F9gtMyQYWVo3SNwVROZ" +
-                "z72artC+Hs97KO+g1I0OY+fcr4THceuP8cFt6y3bf2I1qGbECz" +
-                "Wb1Zrq+it2zaoj3v0YfuiMyEfspVS7+zT6mHemHdvfn9rvUsd9" +
-                "Tv1uv8tomSHDytC6R+CqJjKfezVdoX09nvdQ3kGpGx3GzrlfCS" +
-                "8uLS5tbFi00W5DmENFGRlhjaKY+3VwG/tG3XUeGNV1ZLAXz8m7" +
-                "yf25or3v2ufTMf6OcLO7iWgj7hF5BscyMja5minX57HmVes8MK" +
-                "rryNAdc//k5rWCr3RXhmyKNuIeEeZQyQxFxiZXM+X6PNa8ap0H" +
-                "RnUdGewl5yR6ea3g293tIZuijbhHhDlUMkORscnVTLk+jzWvWu" +
-                "eBUV1HBnvJOYleXiv4cfd4yKZoo92GMIeKMjLCGlXQSl63chv6" +
-                "Rt11HhjVdWSwl5yTc5P7c0X7HK/6HL/V3UK0EfeIPINjGRmbXM" +
-                "2U6/NY86p1HhjVdWTojrl/cvNawY+6R0M2RRvtNoQ5VJSREdao" +
-                "glbyupXb0DfqrvPAqK4jg73knJyb3J8r2vvuNf7u+7x/jsyeOQ" +
-                "4iWWU219TxlJGZ0R9dMGZf5b1QK+tRS50Xf2/5pf2W8l/9veX0" +
-                "XP2r/tUY+cxzIqvM5po6njIy06tAVVeVfJX3Qq2op1rqfJq72F" +
-                "9ktMyQYWVo3SNwVROZz72artC+Hs97KO+g1I0OY+fcr4Tbv3ft" +
-                "7yrH/b2ge3t8cGNuzPafWM0zFUUVzGpNdWNn3zWrjnj8vSU6I/" +
-                "IReynV7j6NPuadacfVLzB/jg9uzFlmNc9UFFUwqzXVjZ1916xK" +
-                "Pe+MyEfspVRTlXXOMre976rec9vdNqKNuEfkGRzLyNjkaqZcn8" +
-                "eaV63zwKiuI0N3zP2Tm9dq9/Z6av/eHeM5/Q0IU8c4");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value20 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value20[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value21 = null;
-
-    protected static void value21Init()
-    {
-        try
-        {
-            final int rows = 24;
-            final int cols = 74;
-            final int compressedBytes = 678;
-            final int uncompressedBytes = 7105;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtlkFq3UAQRLXNKXyYQcexsbc2NmidwxgCX1+fQMjGySLkFg" +
-                "m5hjVqiqruHjlDAl5JQj3d6jc1NYM+9jBMX4dh+rI+z9P3NV5N" +
-                "56Hzmub05uf6/GiQn4f/uKZPb3ZfunWW5ttvnbOPc/qH6+Ov4b" +
-                "h6zun3cQZd3+bVcQZd39Of4wz2rvKhPrjxzjLreVKrqIK32lPd" +
-                "uLJfNatSzztj5SP20uqpyt+cZfb4e3f8X3Cc03ufU7ktt4g24q" +
-                "6VJzi2K6PJaqasz2PPq/Z5YFTXkdAdc/9k81xd/fieur6n63KN" +
-                "aCPuWnmCY7symqxmyvo89rxqnwdGdR0J3TH3TzbPlfqxPK7ZFm" +
-                "3EXSu8QycTWhlNVjNlfR57XrXPA6O6jgTXknMSvTxX6rtyt2Zb" +
-                "tBF3rfAOnUxoZTRZzZT1eex51T4PjOo6ElxLzkn08lyp78v9mm" +
-                "3RRty1wjt0MqGV0WQ1U9bnsedV+zwwqutIcC05J9HLc6W+KTdr" +
-                "tkUbcdcK79DJhFZGk9VMWZ/Hnlft88CoriPBteScRC/P1dXrNZ" +
-                "7HMzJ78mUMIqnxjb+Ple7jlMhk9EcXjNlXey/UynrUUudCn8YT" +
-                "MnsaezlZD4TO2N3/ySvvc0pkMvqjC8bsq70XamU9aqnz7Zt6Kk" +
-                "+INuKulSc4tiujyWqmrM9jz6v2eWBU15HQHXP/ZPNcqR/Kw5pt" +
-                "0UbctcI7dDKhldFkNVPW57HnVfs8MKrrSHAtOSfRy3N19e1Lu4" +
-                "wXZPY0fhsX64HQGbu/p4tX3ueUyGT0RxeM2Vd7L9TKetRS50LP" +
-                "44zMnsZeZuuB0Bm7+5+98j6nRCajP7pgzL7ae6FW1qOWOhd6GR" +
-                "dk9jT2slgPhM7Y3f/ilfc5JTIZ/dEFY/bV3gu1sh611Pl2vQIW" +
-                "4Y/T");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value21 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value21[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        if (row <= 64)
-            return value[row][col];
-        else if (row >= 65 && row <= 129)
-            return value1[row-65][col];
-        else if (row >= 130 && row <= 194)
-            return value2[row-130][col];
-        else if (row >= 195 && row <= 259)
-            return value3[row-195][col];
-        else if (row >= 260 && row <= 324)
-            return value4[row-260][col];
-        else if (row >= 325 && row <= 389)
-            return value5[row-325][col];
-        else if (row >= 390 && row <= 454)
-            return value6[row-390][col];
-        else if (row >= 455 && row <= 519)
-            return value7[row-455][col];
-        else if (row >= 520 && row <= 584)
-            return value8[row-520][col];
-        else if (row >= 585 && row <= 649)
-            return value9[row-585][col];
-        else if (row >= 650 && row <= 714)
-            return value10[row-650][col];
-        else if (row >= 715 && row <= 779)
-            return value11[row-715][col];
-        else if (row >= 780 && row <= 844)
-            return value12[row-780][col];
-        else if (row >= 845 && row <= 909)
-            return value13[row-845][col];
-        else if (row >= 910 && row <= 974)
-            return value14[row-910][col];
-        else if (row >= 975 && row <= 1039)
-            return value15[row-975][col];
-        else if (row >= 1040 && row <= 1104)
-            return value16[row-1040][col];
-        else if (row >= 1105 && row <= 1169)
-            return value17[row-1105][col];
-        else if (row >= 1170 && row <= 1234)
-            return value18[row-1170][col];
-        else if (row >= 1235 && row <= 1299)
-            return value19[row-1235][col];
-        else if (row >= 1300 && row <= 1364)
-            return value20[row-1300][col];
-        else if (row >= 1365)
-            return value21[row-1365][col];
-        else
-            throw new IllegalArgumentException("Unexpected location requested in value21 lookup");
-    }
-
-    static
-    {
-        sigmapInit();
-        sigmap1Init();
-        sigmap2Init();
-        valueInit();
-        value1Init();
-        value2Init();
-        value3Init();
-        value4Init();
-        value5Init();
-        value6Init();
-        value7Init();
-        value8Init();
-        value9Init();
-        value10Init();
-        value11Init();
-        value12Init();
-        value13Init();
-        value14Init();
-        value15Init();
-        value16Init();
-        value17Init();
-        value18Init();
-        value19Init();
-        value20Init();
-        value21Init();
-    }
-    }
-
-    /**
-     * The GOTO table.
-     * <p>
-     * The GOTO table maps a state and a nonterminal to a new state.
-     * It is used when the parser reduces.  Suppose, for example, the parser
-     * is reducing by the production <code>A ::= B C D</code>.  Then it
-     * will pop three symbols from the <code>stateStack</code> and three symbols
-     * from the <code>valueStack</code>.  It will look at the value now on top
-     * of the state stack (call it <i>n</i>), and look up the entry for
-     * <i>n</i> and <code>A</code> in the GOTO table to determine what state
-     * it should transition to.
-     */
-    protected static final class GoToTable
-    {
-        /**
-         * Returns the state the parser should transition to if the given
-         * state is on top of the <code>stateStack</code> after popping
-         * symbols corresponding to the right-hand side of the given production.
-         *
-         * @return the state to transition to (0 <= result < Parser.NUM_STATES)
-         */
-        protected static int getGoTo(int state, Nonterminal nonterminal)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert nonterminal != null;
-
-            return get(state, nonterminal.getIndex());
-        }
-
-        protected static final int[] rowmap = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 9, 0, 0, 10, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 14, 0, 15, 0, 16, 0, 0, 2, 17, 0, 0, 0, 0, 0, 0, 18, 0, 3, 0, 19, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 20, 0, 0, 4, 0, 0, 21, 5, 0, 22, 23, 0, 24, 0, 0, 25, 0, 1, 0, 26, 0, 6, 27, 2, 0, 28, 0, 0, 0, 29, 30, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 10, 31, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 0, 11, 0, 0, 12, 13, 0, 0, 0, 2, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 14, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 2, 0, 34, 0, 0, 0, 0, 3, 17, 3, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 36, 18, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 37, 0, 19, 0, 4, 0, 0, 1, 5, 0, 0, 0, 38, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 6, 0, 2, 0, 7, 0, 0, 39, 4, 0, 40, 0, 0, 0, 0, 41, 0, 0, 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 44, 7, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 45, 10, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 24, 25, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 4, 0, 0, 30, 0, 1, 32, 2, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 34, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 3, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 38, 0, 1, 0, 39, 0, 0, 6, 40, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 9, 42, 43, 0, 0, 44, 0, 5, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 47, 1, 0, 0, 0, 0, 0, 0, 0, 48, 2, 0, 0, 3, 0, 7, 49, 0, 0, 0, 1, 7, 0, 0, 8, 50, 0, 8, 51, 0, 0, 0, 0, 52, 0, 0, 0, 9, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 47, 54, 55, 0, 56, 0, 57, 58, 0, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 63, 10, 0, 0, 0, 0, 11, 0, 0, 64, 0, 0, 0, 65, 12, 13, 0, 66, 67, 0, 0, 0, 0, 0, 4, 0, 68, 0, 0, 0, 5, 48, 69, 1, 0, 0, 0, 14, 70, 0, 0, 0, 15, 0, 1, 0, 49, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 6, 0, 0, 3, 0, 0, 0, 0, 12, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 19, 0, 0, 0, 1, 0, 0, 0, 11, 0, 71, 72, 12, 0, 51, 73, 0, 0, 0, 0, 0, 13, 0, 0, 0, 14, 0, 74, 75, 0, 76, 77, 78, 79, 0, 1, 0, 2, 0, 0, 1, 15, 16, 17, 18, 19, 20, 21, 80, 22, 52, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 32, 0, 33, 36, 37, 0, 38, 39, 81, 40, 41, 42, 43, 82, 44, 45, 46, 47, 48, 49, 0, 0, 0, 83, 0, 0, 0, 0, 84, 85, 9, 0, 0, 2, 0, 86, 0, 0, 87, 1, 0, 88, 3, 0, 0, 0, 0, 0, 89, 2, 0, 0, 0, 0, 0, 0, 90, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 0, 3, 4, 0, 0, 0, 94, 1, 95, 0, 0, 0, 96, 97, 98, 0, 50, 99, 100, 101, 102, 0, 103, 53, 104, 1, 105, 0, 54, 106, 107, 55, 108, 51, 2, 52, 0, 0, 109, 110, 0, 0, 0, 0, 111, 0, 112, 0, 113, 114, 5, 0, 0, 0, 0, 0, 53, 0, 0, 10, 0, 1, 0, 0, 0, 4, 115, 5, 0, 1, 116, 117, 0, 0, 3, 1, 0, 2, 0, 0, 4, 118, 0, 6, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, 122, 0, 123, 0, 54, 3, 56, 0, 124, 7, 0, 0, 125, 126, 0, 0, 0, 0, 0, 6, 0, 1, 0, 2, 0, 0, 127, 0, 55, 128, 129, 130, 131, 57, 132, 0, 133, 134, 135, 136, 137, 138, 139, 56, 140, 0, 141, 142, 143, 144, 0, 0, 5, 0, 0, 0, 0, 0, 57, 0, 0, 145, 1, 0, 2, 2, 0, 3, 0, 0, 0, 0, 0, 0, 13, 0, 0, 7, 0, 146, 0, 147, 58, 0, 59, 0, 1, 1, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 60, 0, 0, 61, 1, 0, 2, 148, 149, 0, 0, 150, 0, 151, 8, 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 154, 0, 155, 156, 0, 7, 4, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 11, 0, 0, 12, 0, 13, 157, 9, 0, 158, 159, 0, 14, 0, 0, 0, 15, 0, 160, 0, 0, 0, 0, 62, 0, 2, 0, 0, 0, 9, 0, 0, 6, 0, 0, 0, 0, 161, 162, 2, 0, 1, 0, 1, 0, 3, 163, 164, 0, 0, 0, 0, 0, 7, 0, 0, 0, 58, 0, 0, 0, 0, 0, 59, 0, 0, 165, 0, 0, 0, 10, 0, 0, 0, 166, 167, 168, 0, 11, 0, 169, 0, 12, 16, 0, 0, 2, 0, 170, 0, 2, 4, 171, 0, 0, 17, 172, 0, 0, 0, 18, 13, 0, 0, 0, 0, 63, 0, 1, 0, 0, 1, 0, 173, 2, 0, 3, 0, 0, 0, 14, 0, 174, 0, 0, 0, 0, 0, 175, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 176, 177, 19, 0, 0, 0, 0, 0, 4, 0, 5, 6, 0, 0, 1, 0, 7, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 178, 0, 179, 180, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 4, 0, 5, 0, 0, 0, 0, 0, 21, 0, 0, 0, 22, 0, 0, 182, 0, 183, 184, 0, 20, 0, 21, 0, 6, 0, 0, 0, 0, 0, 8, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 22, 19, 0, 0, 0, 0, 0, 0, 187, 0, 0, 1, 0, 0, 20, 188, 0, 3, 0, 7, 10, 0, 1, 0, 0, 0, 1, 0, 189, 23, 0, 0, 0, 0, 24, 0, 0, 21, 11, 12, 0, 13, 0, 14, 0, 0, 0, 0, 0, 15, 0, 0, 16, 0, 0, 0, 0, 190, 0, 0, 191, 0, 0, 0, 192, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 193, 0, 194, 0, 195, 0, 196, 22, 0, 0, 197, 0, 0, 23, 0, 0, 0, 60, 0, 26, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 24, 0, 0, 0, 0, 12, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 200, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 21, 0, 22, 201, 0, 23, 24, 25, 25, 26, 0, 27, 0, 28, 29, 30, 31, 32, 0, 202, 0, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 5, 0, 6, 0, 7, 3, 0, 0, 0, 203, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 204, 205, 1, 0, 1, 27, 0, 0, 0, 0, 0, 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 1, 207, 208, 13, 0, 0, 0, 0, 0, 0, 0, 0, 209, 67, 0, 0, 210, 0, 0, 211, 212, 0, 0, 213, 0, 0, 0, 214, 68, 0, 215, 0, 0, 0, 3, 0, 0, 69, 0, 0, 62, 0, 0, 28, 29, 0, 0, 3, 0, 0, 30, 0, 0, 216, 0, 217, 0, 0, 64, 218, 0, 28, 219, 0, 220, 221, 0, 0, 31, 29, 0, 222, 223, 0, 32, 224, 0, 0, 225, 226, 227, 228, 30, 229, 33, 230, 231, 232, 34, 233, 0, 234, 235, 6, 236, 237, 31, 0, 238, 239, 0, 0, 0, 0, 0, 70, 0, 2, 240, 0, 0, 0, 241, 0, 242, 35, 0, 0, 0, 243, 0, 244, 36, 0, 0, 37, 0, 0, 23, 0, 0, 0, 32, 33, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 38, 0, 0, 0, 0, 0, 14, 0, 245, 0, 246, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 40, 0, 0, 0, 0, 36, 0, 0, 0, 247, 0, 0, 0, 248, 249, 0, 0, 0, 0, 250, 0, 0, 251, 1, 0, 0, 0, 5, 2, 0, 37, 252, 0, 41, 0, 253, 0, 38, 254, 255, 39, 256, 0, 257, 0, 0, 0, 0, 0, 0, 258, 40, 259, 41, 0, 0, 0, 0, 0, 0, 260, 0, 261, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 263, 0, 0, 264, 0, 7, 0, 0, 0, 0, 43, 0, 265, 266, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 267, 43, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 71, 268, 269, 270, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 0, 0, 0, 2, 0, 273, 11, 3, 0, 274, 45, 12, 0, 0, 13, 0, 14, 5, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, 10, 0, 0, 1, 0, 0, 2, 0, 276, 44, 0, 0, 0, 277, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 278, 0, 0, 279, 0, 0, 0, 0, 0, 280, 0, 0, 0, 46, 0, 0, 0, 47, 0, 281, 0, 0, 0, 46, 48, 0, 0, 0, 0, 0, 282, 283, 284, 0, 49, 285, 0, 286, 50, 51, 0, 0, 8, 287, 0, 2, 288, 289, 0, 0, 0, 0, 8, 52, 290, 291, 53, 292, 0, 0, 54, 0, 4, 293, 294, 0, 295, 0, 0, 0, 0, 0, 0, 0, 55, 0, 296, 297, 0, 0, 56, 0, 0, 57, 0, 24, 0, 0, 25, 5, 298, 6, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 2, 0, 300, 301, 3, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 303, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 7, 306, 0, 0, 0, 59, 0, 307, 0, 0, 308, 0, 0, 309, 310, 0, 47, 311, 0, 0, 0, 60, 65, 0, 0, 0, 312, 313, 61, 0, 62, 0, 2, 19, 0, 0, 0, 0, 0, 4, 0, 9, 0, 10, 314, 0, 8, 315, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 66, 0, 0, 0, 2, 48, 0, 0, 316, 317, 318, 64, 0, 0, 0, 319, 0, 0, 0, 320, 321, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 50, 51, 9, 322, 0, 52, 323, 53, 73, 0, 324, 54, 65, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 325, 326, 0, 67, 0, 0, 327, 68, 69, 0, 55, 0, 328, 70, 329, 0, 71, 56, 330, 331, 72, 73, 0, 57, 0, 332, 333, 0, 58, 74, 334, 0, 59, 0, 0, 0, 75, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 335, 60, 336, 61, 0, 0, 6, 0, 1, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 337, 338, 0, 339, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 3, 0, 7, 0, 0, 33, 1, 8, 0, 0, 62, 342, 343, 0, 0, 63, 344, 0, 64, 345, 0, 65, 346, 66, 0, 0, 76, 0, 0, 347, 348, 0, 0, 77, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 67, 349, 0, 68, 0, 0, 0, 0, 350, 351, 67, 0, 0, 0, 78, 0, 4, 5, 0, 0, 6, 0, 0, 0, 0, 3, 0, 0, 0, 352, 0, 353, 354, 0, 0, 0, 79, 0, 0, 80, 355, 0, 0, 0, 0, 0, 69, 0, 81, 0, 356, 0, 82, 70, 357, 0, 358, 359, 360, 83, 84, 0, 361, 71, 85, 362, 363, 364, 365, 0, 86, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 72, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 0, 367, 1, 0, 0, 0, 6, 0, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, 87, 88, 75, 0, 76, 369, 89, 77, 78, 370, 0, 371, 372, 0, 0, 373, 374, 0, 0, 0, 7, 0, 0, 79, 0, 80, 375, 68, 90, 0, 0, 0, 0, 0, 0, 7, 0, 16, 0, 376, 0, 0, 0, 377, 0, 378, 0, 0, 379, 0, 91, 0, 380, 381, 382, 0, 92, 383, 384, 385, 386, 93, 94, 0, 0, 0, 387, 0, 388, 389, 390, 0, 95, 96, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 97, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 391, 392, 0, 393, 0, 394, 395, 0, 0, 0, 0, 98, 99, 0, 0, 0, 396, 0, 0, 69, 70, 397, 0, 0, 0, 0, 0, 0, 100, 0, 101, 102, 398, 0, 103, 104, 0, 0, 0, 0, 81, 0, 0, 105, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 107, 0, 83, 108, 0, 84, 400, 401, 0, 0, 85, 0, 8, 0, 0, 0, 402, 0, 403, 0, 109, 0, 0, 86, 0, 404, 0, 0, 87, 0, 405, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 406, 0, 0, 0, 0, 407, 0, 408, 0, 88, 0, 409, 0, 89, 110, 111, 90, 0, 0, 112, 113, 0, 410, 0, 114, 411, 412, 0, 115, 413, 0, 0, 0, 0, 0, 414, 0, 0, 0, 0, 34, 116, 117, 0, 118, 415, 0, 416, 0, 0, 0, 119, 417, 0, 120, 121, 418, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 124, 0, 125, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-    protected static final int[] columnmap = { 0, 1, 2, 0, 0, 0, 3, 4, 0, 5, 6, 1, 1, 7, 6, 8, 9, 1, 2, 0, 1, 0, 0, 10, 1, 5, 0, 5, 0, 1, 7, 2, 11, 0, 12, 0, 13, 1, 1, 1, 6, 7, 0, 14, 15, 12, 3, 7, 0, 16, 2, 7, 12, 17, 8, 2, 7, 18, 16, 19, 3, 0, 20, 21, 22, 1, 1, 23, 19, 2, 24, 25, 1, 26, 0, 7, 8, 27, 16, 0, 28, 2, 16, 29, 30, 1, 4, 0, 0, 31, 32, 8, 3, 33, 34, 2, 1, 0, 1, 3, 10, 35, 36, 18, 37, 38, 0, 39, 40, 8, 41, 1, 42, 0, 1, 43, 44, 9, 6, 45, 4, 46, 47, 48, 4, 8, 1, 6, 49, 50, 51, 20, 1, 10, 0, 52, 6, 53, 54, 11, 5, 55, 56, 0, 57, 1, 20, 0, 58, 59, 60, 7, 61, 26, 62, 3, 63, 4, 64, 11, 65, 66, 67, 0, 0, 0, 23, 68, 69, 70, 71, 72, 0, 3, 73, 20, 0, 0, 74, 0, 75, 76, 7, 11, 0, 2, 77, 3, 0, 78, 0, 79, 1, 80, 1, 81, 82, 83, 84, 0, 85, 86, 87, 88, 3, 89, 12, 0, 11, 90, 14, 4, 91, 92, 93, 94, 23, 95, 96, 0, 0, 97, 98, 3, 99, 0, 100, 26, 6, 14, 2, 24, 16, 101, 8, 4, 102, 2, 1, 1, 103, 0, 8, 104, 105, 1, 106, 107, 108, 109, 110, 111, 10, 0, 112, 23, 16, 0, 0, 8, 5, 1, 113, 27, 2, 27, 16, 4, 9, 114, 5, 2, 11, 115, 29, 116, 117, 0, 0, 18, 29, 1, 118, 6, 1, 0, 7, 21, 0, 4, 119, 2, 14, 1, 0, 120, 121, 49, 18, 7, 3, 26, 122, 1, 9, 123, 124, 35, 125, 9, 126, 0, 6, 127, 128, 129, 130, 131, 132, 31, 32, 133, 134, 11, 10, 135, 38, 12, 11, 136, 137, 13, 0, 5, 13, 138, 139, 140, 10, 141, 6, 142, 143, 144, 39, 24, 145, 146, 147, 35, 148, 2, 7, 4, 149, 150, 0, 40, 151, 152, 0, 153, 0, 154, 41, 27, 42, 155, 156, 2, 157, 49, 7, 13, 158, 159, 14, 47, 160, 161, 162, 0, 163, 164, 26, 0, 165, 166, 26, 4, 1, 12, 167, 168, 169, 18, 170, 171, 15, 1, 172, 173, 174, 31, 6, 0, 51, 0, 0, 8, 175, 2, 29, 34, 11, 3, 0, 45, 1, 176, 14, 177, 178, 9, 8, 0, 179, 180, 181, 1, 182, 183, 24, 184, 29, 185, 41, 2, 0, 186, 187, 188, 38, 0, 15, 0, 1, 2, 189, 9, 31, 16, 190, 191, 2, 192, 193, 52, 194, 27, 195, 196, 197, 2, 0, 198, 199, 4, 200, 53, 3, 20, 201, 32, 18, 202, 203, 3, 204, 0, 21, 205, 57, 206, 207, 208, 1, 6, 209, 210, 211, 212, 213, 3 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return -1;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 609;
-            final int cols = 16;
-            final int compressedBytes = 1363;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXUtu5DYUfKSfB0zDC85gFjM7BtPI2sgJGMDLLPoIBnwRJk" +
-                "CAIMgiR3D2WeQIBpID5Ag5Qo4QSS3JlETqS0mk/AqYthstuUWy" +
-                "6n1K7J4n9gP8/Anyx3fcfL7od6C+0+ez/BseDPz2H8cLMH66Q/" +
-                "3Xtx8uz5/VGdRHeG9++uPxl+//BAKB0IXM/qHvRVb9ova/0C9g" +
-                "QAiATP/IzScJmf6Z/ia/sgeAe83xH/YV5Pq/UVzCezhL9ZD9uP" +
-                "310dyR/hfjqT/+/kvx99io9Pd7pr9Trb9zpr/nTH8y09+FMSz0" +
-                "93jVH5xJfwQCoQVR1h1VCVLVHxyyGHN9AfNnqjxMCXWg0ePgAY" +
-                "IoQiAQCIR24rT69m5GEdeunZdd+zWb3kOI/Pl0S/4bIQKwgvzC" +
-                "EkPBf1k+F7KtFxaFf2X7Jzep6oeXD4hl0GHdipY7zotg/mv/UN" +
-                "r+Ye5fwKt/UfiHX0r/ECL0D+2p5nzk9EoKGkeCbq/tYEcZQn9u" +
-                "/73Sz32hH/LfCXuYJ4omZrR+9/Lv7fhxcuXfc5V/6/dXa7x/d/" +
-                "yqPX4V7/2LIPwXnv6x6b/CQf3X9BugHv+8TYvrYeHWD2OYgHTu" +
-                "H1DlPYNCGGaO6S7KKsJzzLrXf4SA/uOB4tcsDPivI/ffROAf+P" +
-                "w7h2wb/p3ojqD8/dbDxnUahKHrj9R/7FnQTfyDvbPogP+60f61" +
-                "+frT7GswMieTyM5jOneBNALKF0AD5rn407k1Cy8fLvq5CLnZic" +
-                "YoOOm+N8ivwlh7PbsRP5z+qxEjZu2Xh3+R+sdLobPutrN+0Fw/" +
-                "Wa3fS3f9+v23FP1r8m9ShqkfyhznZv0K/JlUw4nenMa9EWpySK" +
-                "P6dfDKZf4oarUr4MpizzVJsR8zVuHJIk6W5FT/+O9q9jGs/xz6" +
-                "STlA6slFB8a0PjpkDzw7MPMdBx3qeDPUBoTSL7L6krB5JM58m9" +
-                "USa7rxp6qOXQJn1WorxzB1sPMjKUSHGROMNhEXdmwXAipfkBF9" +
-                "i2WCaiBoJA3b1L8EbvrTIQfrEZAMF5FxuU7VlDpbA2Fuk8LHBe" +
-                "u+1duEx6NrPe0ihe67cL7jokRIXQYfnWRBBw2M7ATSleqXNGtC" +
-                "Fs+loLTmkvWR0HSfiHYUYUDw5io8JH9ex4UTgtgRbpCLCePF+S" +
-                "ygMuYgwZ02hczF4P7N+v7TTc/9J7r/8yaKG6pB1k56nv27bVkd" +
-                "cv/ngfmnSX8j8g+fnX8Ik0D7lyn/p9gosaRktfb+yzAqFt6L3X" +
-                "b/beJWxeD8xd4gzd2/vR//CeuCN3uPgxQNOuFrjzD/Ofevg3v/" +
-                "uhy1f52PvTuYIiFVRJR5A10A+cKLor/Z6PMji+LP+M9fUPyJD9" +
-                "3944/1/vGbYoGLJ3P2j09gemP/hLFjp7GjNloFUVx1xHguauIc" +
-                "1ZcEAoHgzH/gzH+qSrMiRJyjKLlp23f06cZmp6fsSVCedhArSg" +
-                "f4/KLVMx3BNNit/ucD8y+06Jv/aPW3LUwssyCGX4xj/ZfHRzID" +
-                "lsbv19V0rH/O6Tz+Amymf7bb+F35K9d0Y/yw9vhj8k6jrl8G6m" +
-                "fe+vyN2m5IYjz/Osda/0mky13jMjEKJQ1qlwhb1a1sRHUTGx+x" +
-                "J9Yo95XLYO+8qH8M2n9u0nRSLCIQOlHA00Fo15Fjb1dS/TR/8p" +
-                "Nr2clBiGv2xEb6k1b/aKL4/imzp4SlswVdpvSo+7f41v+NJY84" +
-                "62/CKt2tA8G/P1COPJ/HpIIdwf1KWvr9edPPp7hKIBAIVH8R3i" +
-                "Yjm1B2CVcWfJMsCD2nLSQQEtWMmHamP/6zUfFfN9V0/fyW9jSA" +
-                "UX+FBPn90/E/I0QVEg==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap1 = null;
-
-    protected static void sigmap1Init()
-    {
-        try
-        {
-            final int rows = 609;
-            final int cols = 16;
-            final int compressedBytes = 1225;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXUtu3DAMpVylUIMsVCCLLhU0B+gRVCCLLHOEHkUpuuiiix" +
-                "6lR+gReqTayWTsmZFsWRL1sfmANpnAskiKfCTlzwBAB8DhCDn+" +
-                "yvp/ZvhFHf7A3z70QzRYIUwHDUJ6H6mRJOjWiHcuBHeKKsaVgR" +
-                "2BpT2drltb7qGzefUjY9GHDScQrtOq09PI1RGDbH854S/jwV/V" +
-                "L6nI7Dpy+F8cjaSgU5Mg0mqwFPvem5JfT6ym+ZlnbA+yMB9IJ6" +
-                "FpIBBazqiEKd/zgJqQQNg0+Ex/U2tkSHdTZiHQY8nFo+u3R3f9" +
-                "Bsj1W1H+stSvt7763/nVv9j2c/bvvp52C1di2uWdeFzXHyktxa" +
-                "PmF/YzxfQnEAIjR87EL/f1X55HWKqhN2e/OvJH1frrZPqzWv2n" +
-                "XP4mJCnYC1//sa+lIvsv2v9zHzKij55n+Mk780nCe1BM3w+me+" +
-                "hPqzv+xBhc33D9TnUSPsI9qIf+x9Wvb+bmzzl/qXT8LSm2fPmX" +
-                "+K/K+qc77eCRHFo4GfBqcUoEgqSeNprL/YuiPRpb51uAFTKp07" +
-                "BfgiFnjyr+G60QaP+C7EfYkV925P8Uv9sv07jvURKpiFtz//WF" +
-                "CF3k+Ar0XzIKD1pABo47pWnrFBdmiTD1tlXPq3/U/RfbuH+Erw" +
-                "1qMY7UtutXejjiRf+nl78/D/r/eNO/X199cf24ElJROQq5hfm7" +
-                "gvMnwiqBY/MnjS87PrZ+wKmf/OsfWn8aX7J+b33+vds/YnyS+5" +
-                "/2HX/l+3caX+P+R0bk6V1Y0x1BYvvJeP68854s1l/VnAqFWtpk" +
-                "OLM/2OwPB/sDwv5HrOet8Z9A+fHWf538Imj/SQEB2wun8QPT9T" +
-                "t8GOqYE/+DOvyPkG39Z/hnhn+9xhMIqfJPSP734z8I5j+cCkpm" +
-                "G9/8+gfUT2KVFHX7T9X902//57+1o3+yvP+KjYthk66T2dXH23" +
-                "+Lvn8iwXixsnqX+P4Xef9IqftXRCL9+Tg/P5+f5SUFVPvF77+W" +
-                "Xv/E+5cmI3/VnH+Y60gf/sqZP7aQ/4vaL3b9m65/5BCP8sCEY/" +
-                "x/sGUSE5VmCIlQEX8q0Za8O3Rdtar/TX//p6o+duLfvzbYT3nb" +
-                "j1e1f6lOPyAHq8m7tDnnTwAW4X+vGfzM/7664vc9vv+JFVoUrb" +
-                "+OYaCAQCjZf8oZ/+cZxkPI+Chg7b8U278wyaXiZf1PhYghGqqz" +
-                "S19/IJTqf6JKG7GOj1CLC708dZ3FTQXf31L6+aHmx8fmr9LPb5" +
-                "ez3wau3yao30pf/9qv/1XMH03svxBQKzQxV+yYCiR38vfh/QH8" +
-                "38jf0/cHPA787d8faWQ1OtT5/1rTA041WXh+Qja+kE1JW9v+RY" +
-                "754xUX2ehQFZ4/GVlX5wsXew97/1o7+lq/shxM9o/1Xt2EpCJQ" +
-                "fpUrbYfOz6ZsG/f+skz9S/7+axD6ZQNilB/j/XX7u39qW+tHIB" +
-                "AI7fJnqveXLja9+fnfI3+Wrl+Mttjs7m0W59aBGqT6Yq9PZ9sT" +
-                "hOsT2n+HA+XqiLZNmXF+AgElhhzNZ12SqpTqlWuW65Z/fn624v" +
-                "n3Y1KRWPknMIuny/+36d9/17r/bDt+XP7Pbf4vT/2fEMxHWBeK" +
-                "6MHgkBCrBFRhV9K/Qqr9Y4G7sP8BCyDJiA==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap1 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap1[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap2 = null;
-
-    protected static void sigmap2Init()
-    {
-        try
-        {
-            final int rows = 609;
-            final int cols = 16;
-            final int compressedBytes = 898;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXV1u3CAQxhaNUBVVVMoBiJSDTN76mCP0KLTqQ4/To/RItT" +
-                "e7jl1jL7YxDPB9DyvvKhM8vwzjAQuxD2r4CAArGMG6OBWicf+1" +
-                "FEL3n0qY6y9GtGZEQpcvzc/uH8vPggZCkheKKb3ZTA+ERQMRjE" +
-                "zbcfmOFuKB/FfuDxjBlG2kh+a/3faj5+Pb3ePnq/8w8ufOP2Xo" +
-                "GSoj/zsOfWIGnrv9i9Ptf8z/h8M1oy+9TDv+JzT1rB+OxQ+ss/" +
-                "aFJj2ytSZyPM83I1VxlRQwfsq4bjkbNc34da8/6ph/S19/wf4B" +
-                "tvZLZ9YPMFHAoaOPn0VAaqF/zD9ADaCxiR71ezwaTJtOtVBQVg" +
-                "ojV/5LfRnokv++XX7/0ee/v275r+1cNuj6bZo/q22UAftfRvRq" +
-                "Tn/hv3nn/1tPr2A/AOAX63WKsVOODwBT+DT3GT+ikNZspl8Iis" +
-                "rYfsB/7AXPf/nj96jPPwI8f1GL9esYKzUvIVC54ztg8/bSzG9/" +
-                "20J0yf/Msv/pwf/QtgwAYUI0AABASUB9GQCAypMg5H8AAPAF7/" +
-                "5fxE/WllPo/olyHlYZb/21d/SnIuov3eLR5spCtZ2JlHh87J+B" +
-                "fTBcPx6NP6nrd7WPz8uaIH/YT8z5UzZD5B6fUWDmx2FwuH+17G" +
-                "8u7lpdvP6Q/wAAEBmNR7DhE0+G+ou95WXmybd+9pwyfofmXyTm" +
-                "X/nly3T7ZcP8xT/jLruR04gqIfnol2C/QKlOtv7863Vp/nrwjk" +
-                "sGYr6DduHaCVRlls1sj6ldTxSAsR6HhQiKkb/aEGlQPwMAdlCV" +
-                "08eRXzuJf9qRWBhHmKQI7S5M5G9gP/D/cvWf9vyGdQ9Ta/mU3S" +
-                "1Bb3oAAE7E87Dys6K1SosHYRp6uWYbugtBb93ll0dBTd+z8fUW" +
-                "KuRvso9/IL8UOHdakHdniBRt1v7j1/UsJOD+k+0dWQRfBBJmp0" +
-                "X477Hzm++dfyz/fvj/mH5+/jGDhkwF+wGSzX8AwCP0Gdx/RJAr" +
-                "m3WntiXsiTZr8bPd178Tbv+KwutFgGPz/wn903z759dqHiRyaf" +
-                "Y6VrN5Ep9ubNpZtG475WmH8kgWw3/1/itdkzM5/dgG9l8e+zf4" +
-                "poJlgrg6rd4UVDLJ001i+kT8FlOe4M9Iuv6LgutXXvuvlvi3rP" +
-                "inI/oj5/2/Rnt/jBKc3x+TRfwhtv7voNfc8s9V+f8DhXaKJQ==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap2 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap2[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap3 = null;
-
-    protected static void sigmap3Init()
-    {
-        try
-        {
-            final int rows = 609;
-            final int cols = 16;
-            final int compressedBytes = 884;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXUuS2yAQbSjKpZoVizkAc4McgeyynCMpqRwgR8uRMpbHjj" +
-                "3WBxDQDXpvMTVyVQvof6MWMkSWyNBAji5wpD//Vec/frpQv4hG" +
-                "80KervDmRsEJs3P+M/SvofRvX+jHRP69khnm1jbR64/724ef/Z" +
-                "V+BYpmSNa4ONxL837+nxfT2l4eaULl7wKkuG/8MHozQ28q6L8r" +
-                "qL/ZrCif/UXZzzIGLvu3GeYfaX+s8vsTLj8fIT9gL+yiQvm6g6" +
-                "+YpWk8f6iQf/iS6+eOX83Lz/LqL+R3IP1TR41kfienqtMDgCBP" +
-                "0bj+jttpJWINAKDghU23nt7pyvW3n6uf/HmfYgqi79PvP8/10+" +
-                "9r/fQRj3zp+m14rt+m8dVl/B/n8QeJwtQqReoAgLocAFDTgH/A" +
-                "gVKFYfH5q+5fsqnPL7yP778okb93xn/9xL/v8/wnfxLEP1NlFC" +
-                "XYNvVOwhX68f7Csk84b/wo13/EnT/4FPu/859eUP9FOfnF9W8F" +
-                "9y9F909y5UFH77/pJooPS7riZrVLWxn2h/y/V/3biF428/io34" +
-                "Ej21+G+O8ajP8S8hcHZ9Gs/03Xn9PO939OUBXgq5o7waYSuJmz" +
-                "ubEzQNRAXVSvX4/RPw5LBpI05GIPI2V+/qcC6Udae383nB7633" +
-                "X9jPxcZg2oD7x2AJCx/4HnfxLy4a33B8zf//K773+6vj8w+pmp" +
-                "v92ynKXUzZ3v+k3w+t2y/tqb/gZum6/p+Qr/KJp/DEidP2Waf5" +
-                "3x5yVoCegsfjXav1gRvunZ68a5qotZQWr/hetfaVLrf4ANOH8F" +
-                "2PJHHRmtaXnm2D8Qw38H/kfW71g/7F960QU/KVd/JZz/zuk/uO" +
-                "2/hfNPW7PfsX3/r+rOPyF/x+bzBvI9TCrpv2T4n773rxj8Z+SJ" +
-                "Tun23/r3OwDUj3Ly7z73Pxz0h8Wri4MqtdLs+Sv3+ADAAXO87u" +
-                "SMsCwCk3P+XF8+TdODMVhOPUK0AELVlvf8ctdb0goAWeNvdP9+" +
-                "sf0HbJsdYv8CAACgkfgp7vxiAPKLBPaPG8m/+tDfdvWnQP+KlS" +
-                "c/v82FwPffPOw/wSj6LXTTv3+wdf6nz3b+p2tTfyo61KjzJ4Fy" +
-                "asKlqiOjsag94wvNn5B/I/6jND9A/vOMocA9vGAh7/v+92r9pa" +
-                "iR9wc6MlU61rHEeb5fz8i/f3uO5SU=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap3 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap3[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap4 = null;
-
-    protected static void sigmap4Init()
-    {
-        try
-        {
-            final int rows = 609;
-            final int cols = 16;
-            final int compressedBytes = 760;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtnV1O7DAMhdOqQuUKXQWJBXgkFnCX4CWwpFzEA8thiXQKlD" +
-                "50ZvoTJ3ZyvocRjCbT2nXs46SUwG6kdzNO42twS3x9nmh4+ecA" +
-                "AKB0uPLz3zy+2fbxzqz/hjP359fe0fc75FqaOYHHX5rXoZ52f2" +
-                "ZfxN00In38cTSnW7CfHKgZzdd/xfzpr82fo+Phf/n8Rfb816TS" +
-                "Pzr8v6MUekv5S06/YP5o6B/2x28a/ZbXf5Rdv9bef5arH0zRwA" +
-                "Xa8m+c+Z/7+MoJEWVbyDwe3JgI7a3PtHCTbP7rN43kJf3F5y8Z" +
-                "y9XL+P7/s/56+9FfwxziqPpr//kDsDO9MHxlWL8BcGD9gJOuHy" +
-                "y0f7FUUHvz68LutiMN/pyK/cyIrxO+XxIC4ZJKaOX855T7b8VK" +
-                "A0efPynXnzX7L03/fxS565/7/NP437ZUVDzPfuMvTPH3tDb+Tp" +
-                "XoR3JgpZvgKlBV/Ub/J65feYP+8ZeDqqk2sSczs888PjdYOJdO" +
-                "sIXuXXXGj4/145L7BxKs/0CD/rYb/xbi7/hxWK39Avp/0/rTfH" +
-                "wQsp8Ux3+a+sti9ufe/7AQf7Xrj3TrFwT9AqLnP6wfArACX9/x" +
-                "RfS7rzJ6KJ/UwfoXAGCiqPU3Mm7/xvWzHfc/SfffbNp+ef1jt/" +
-                "7i/t8S9F/Z9SNT/uhi6evC4rxcMtw/E3jh0Amf/3spf9Pl+eOn" +
-                "/F1M29lVfvzc+kl3/3HQ/qPPDzSvv0ix/sT+P/K3sv4J+//Qz0" +
-                "BMcGceD4AUSvddK8nfhFJlEPvPT7Gu3E33v9b3r3Kffy2FAfVT" +
-                "5/w5ymkqEsG1offuzlHDz5NprXsZfvz74LhxrXePP2Z27xwePq" +
-                "4quG59YOD5mcgfNvNXDfsHaAo2o+z+A1x/XH8ArlQx6C8AQBn6" +
-                "MWr9za9/WKz/wPOPI1Jh4bT+/BT0T3nnD/IP/Acigc3dIvpvAP" +
-                "2B+pOmf1La/2L/IJF+xt+f1G0/gH7Jr9qP//84q/nX+vxH/ik/" +
-                "fxPsl+MTy8fnNg==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap4 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap4[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap5 = null;
-
-    protected static void sigmap5Init()
-    {
-        try
-        {
-            final int rows = 31;
-            final int cols = 16;
-            final int compressedBytes = 32;
-            final int uncompressedBytes = 1985;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNpjYBgFo4C2QGGA9TMMcftHuvtHwSgYBTgAAGZfAIE=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap5 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap5[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        if (row <= 608)
-            return sigmap[row][col];
-        else if (row >= 609 && row <= 1217)
-            return sigmap1[row-609][col];
-        else if (row >= 1218 && row <= 1826)
-            return sigmap2[row-1218][col];
-        else if (row >= 1827 && row <= 2435)
-            return sigmap3[row-1827][col];
-        else if (row >= 2436 && row <= 3044)
-            return sigmap4[row-2436][col];
-        else if (row >= 3045)
-            return sigmap5[row-3045][col];
-        else
-            throw new IllegalArgumentException("Unexpected location requested in sigmap5 lookup");
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 45;
-            final int cols = 107;
-            final int compressedBytes = 3967;
-            final int uncompressedBytes = 19261;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWwmUFMUZ/ququ6Z7FnUFNAhy39fKJYLKoiAIcsmKgAiIAi" +
-                "IgKLdXRJZLUeRSEQQ1cimKgoAgh7ioPMB4hng89QUlBkMSLlEj" +
-                "aiZ/HX3N9OzO7rC78J793nR3VVdXV9fX3/9/9VcNfRkIGGCDRf" +
-                "vTB80xcA5kwgVwId0IVaEO1GWzSQW+n2yhTaAJNGWP2tWgFa0E" +
-                "8yGbHYL2dCDvBd0hh74IfeAG8r3Z08hlo6yycDPcArfBCN4TGJ" +
-                "kHZcyO5EdWizwD5eE8Op0+bfSCI5EVUM3YAL+we6AW7QX1yKPQ" +
-                "wOpt/48shcZ0JTSDltCaTaL94Co6i15JnoPO0IXtI52hm92YLa" +
-                "QTaW/2ONxIr4fB9HsYRsqTYywXMuBcZpnjyFwoC+XgD3A+PQqV" +
-                "oDrUgJp0mtGJ3QmNyH7IosvML6EFXEIvopXt3+ByaEOeJd8Z10" +
-                "I76BTZSmfCtdCTnoAF0Auuh34wABbCQFoFboXh5l+AgklbA4cI" +
-                "OUwHMQpROIt/DWdDBfL36JN0MFQmnaAKOcE+jeyD2lAfGho55B" +
-                "C5ghykA2gOeQwuguZwMRsEl/Lb4DJoC1dAB+gIV5v74BroyqZC" +
-                "D4jBddAb+ppfQX+4CQbRNTAEhvLhtB5tROvDKKMP7R+xbMvoC7" +
-                "fThrGY8ceY3ARWsRhidTGti6kj0a2xGK1EOsRiVkcsNdo6K+bb" +
-                "rP9YnRCr8k6a98TSzTH/W1rLaECeUbmRznyZMVlep8Y49jMeX9" +
-                "b398mo5q9PYCXv6GCuVDlma5m/EPOGssexdokVthCfyTbGEjZ6" +
-                "NFDfnZjTDH/vmN/I589zrpjLvFLGW/LOE6Sj/14+UuztyvLaOl" +
-                "37IHW0H5epS6KL6U+6dAfe0uqnz5+lQPfxJrJMY6/GCPfXb+5z" +
-                "zsitOucr3Z7egM9GrDoY8xxeGXNgNNwBmbQjjCcTkFd3Q10yjl" +
-                "SwF7LqfD5MgqYRfJLgFRkL2dFLYAyMs/tCd3xqV8Er3tE+Yd9P" +
-                "7sYyglcTBVbA+ALZxnuwDZJXsVi0i9HLwFyoxn/F/kOsBK8w3U" +
-                "C2cDmIpyCvsA/y+CfBvied5Vs2VCnFK5kvsNqOOec6JaGcwgp5" +
-                "NVbwKmLy5YJXEqtl5neKV/x2LCl5hX1yLdwJnfDqTPmMh/DKBM" +
-                "ErjUsVTA+XNZt0s4cVRPE9kVcCq4zBrCpUtvYIXsmStfGHvKL6" +
-                "C+Sv0E6CV24bJa/wiLyy6wle4XkPcp+Dlcuru2CoPTTSzWcDu5" +
-                "oDHBvIr1Q20OxLLoseNBbyx4QNpNlmP2jFr8Ias2kbaM8/xTPX" +
-                "BmLf/mRPlW3QNtC+ARhtDmVoN/oYtrSdwCpi49kyU7xlNetegR" +
-                "XUsmZ4WOFRY4U28DZhA3Uu2kB5vFfxysMqMguGSdYcEDZQX5E2" +
-                "UGOlbaDglcAKsthQ87DASpdFrPRZO4WVsoGY1jYQzwbiD21g9D" +
-                "VpA7cJG+hg5dhAxGqIwArzquj6pA3kK6jLX9pD2UC8dqmDld8G" +
-                "Cqxo2zAbiNg1hj86WLE9bLfVGrF6AO7n+xCryVA3Mp90j8wzm2" +
-                "IdyCvcT4FWcJ/ACn9jrL7RNohVLtursMq4MLrfxWqq4pX+orAP" +
-                "IgsUrySvJwus8DgukiXvCMEKsX+P9ouFbOyogxX+Btsnde6x/H" +
-                "ilbCA0stD6scXmkUSs+CrFK92rJ4K8kiUdXr0Z5BXukVfWAaw5" +
-                "DivFq8jNbsvfTcYr3DtYfR3kFdrAaRKrlkY99FezYTqvYdeAh7" +
-                "HsI7QhzEFezeKV4EFek1SAuQIr4a94ZbsO9vkT0kbXEvvoR/4+" +
-                "zKgS/ZpX99n4njBTn80QvPK99RF9/IVXiSXd7LzwfF5V7qVl8W" +
-                "wgvyBWwCb8lTy+YR6OpbHRPaGtFR69qj8HZkgv3Cwy2L2zMVyU" +
-                "X828It4Vc7F6SNfzqNw/jXWdDc/CUlnrObI+6Q1gifYQFTQT6o" +
-                "fVnVEjkLo9eiDw5J7wlPajBGvPdDVICw8r4a+SYvVekj5f6OsP" +
-                "z18dSAWrKH5p7Newq1bzxDxYHEg9p3v8s7D7o9gqs3ug/CLZcz" +
-                "mRIalhJXjlYYVnWo3Bn2Rv7nD8Fd+FvFrm+Cu7q/JXxmKlA3me" +
-                "8Fd8r10HWsm7s6Ob0F/tycgW/spYJLXF7oy9GR39/krZQCiDWG" +
-                "U6/oq/6/BK2ECl2R0byD8K+quouBLvr7rF20D8DZNYHYv3V7Ac" +
-                "z7S/cmwg5mQZ+O6JNtBqqfwV5qC/kscEf4V74a++Uv5KlkF/JW" +
-                "wgVBC84jsT/RVidWvQBob5K88GOpqdv6dsIOatEDYQXiSLjFWw" +
-                "Ep6HF6LbUFusgdWw1njeWAGr4CWyBLXFU1EDy2lVLWygsZwxl0" +
-                "mj43i2NcgrLL3S1agLfAp1kJublfw7i7ZPlVdKW6RqA401oSye" +
-                "kLINPJnMBvKQNhg5vvMXCq7d0YG+d3wlkVfRbIdXUrPXkZr9BX" +
-                "jV5dVhwStji9DsGZMEr5QOxL3klXzS3R6v8EzzSn63mR6vIiMV" +
-                "r2RLkvPqlnBeue/g8ipcB8K6cF6Zn4fxytGBBfPKsAvDqwDKuQ" +
-                "XzityXwKv1gldkPW8UbQtbYRPZzbOsc+B1eA22wGZjG2yQPf82" +
-                "+VDYQLJXpnYQ/CLpFLIWz7fhbyd5y/c9fEC2k/fJy2Sdm7PBPf" +
-                "sz2aj8FckLaovAF7Wn8H7ex6vcVHnFG8TS2szzk3rY+QUwMjeF" +
-                "N0rM2ah4xQ46vOJZsC0yAXm1PTLezAVUNIBfCmXaX6Fmtx8QY2" +
-                "Hlr4RmV7zCtk/3eOX6qzfkGTOn+p7p8WqixytPswd5lcJb3Rhv" +
-                "A+M1u+TV2CCvFFahvPJpdplOotnNir48V7PLmncmavYAytMK1u" +
-                "zsH7ouj1c7BK/4DnMoqUguxLNd/CAta1GJfoap8adn03I0KrDS" +
-                "aUvucTxrIYa2VuTmg7Lu3aHfoMSKuhpQYWXxUMX6UVq8OlBivK" +
-                "qWVHPvLODOaQXX7mHl2ptKilfWIMUrG8dW9DwRYxJYYR9UJVWg" +
-                "roeVGgtTS/CK2pDNn4QxpLLild9fubyaqHilMc4M8krFmPy8Mu" +
-                "eeOl6RuQXw6lCavKpRVF6p2G0BY+G22p4+5PLqLsUrJ25hz+bH" +
-                "reO0nYhbkJoCKxG3wF6+yrOB8XEL+bzukBuK1VRtA+eH2UAVY/" +
-                "JjJeLsJYZVujbw8uLEyvV9HlbTFFZ0rOuvfqBjKPKK1LZ+Ff6K" +
-                "jkAdWIuOoyMdrKK9CepAOpyOgmw6Wvgr6xfpr1blg1Wov7J+O6" +
-                "P91RXF6a9ce+r6K1I3yCu+Czk0waKIVX3hrxSvgjYw42phA0k9" +
-                "YQPtfo62IA3M5xOxIg39WMXbQOGvSg+rSO00sRpWslgpXmlmNt" +
-                "PHpva/4RE8NjdzSRPtaRbA3AJ9bdIRHsz088o3dzMxHd/OjoZq" +
-                "i2OpaotIszS1xYgUdc+MRG2Rfzww7v5APJDIbwtmkxYydbGOFz" +
-                "DTHQc48cDwzZLjI3N1YbESNvDUbIWNB0qsWqeJ1fiSxYr4bIyI" +
-                "s8vjw9FWglcwB23gLCyDtoFclgKvXiw0VvzUYlU4zS5sYFpYTS" +
-                "oVXq1n5Vgm6UKuIbv5cXwLGROLLkWsliSLW+AxLm5hvhQet2Dn" +
-                "wlMKKxG30N9IXnIbmGbcohjGV+Fx9sicFO9eVDisVJw9liTOjk" +
-                "cdD8Q3+IH0cOKBUlvUEZqd6dUTIh4oj17coj2iulrEA801aq4x" +
-                "oAN1PNCc6sQDlbbwbGBiPDB+XlimQuaFU40Ham2REA9MqgNTjA" +
-                "dGFofFA3U633ig0hb5xwNjOs6Ox7g4O6uI33OOiLPju1Qm12Hq" +
-                "ehW3gJecuIUXZ/fiFoEWvJKPvYiLW7jf+Plnrg2MLC2y9ZxWlL" +
-                "tIL7nvTfqTfqQvuYHcyHqwzhqRuBiTL/YYjtW6wmN1uvor1qXg" +
-                "Z1qflDBWfeSbSlVABihe4dlNmIfeCDX7QFBeSPorh1fEnfkR/s" +
-                "ptwau+dx0RhhWWD/irJG0qIX/FFqf3fdhflgqv1su9GBsHIq8O" +
-                "r1LUFuuTaIuRDlbx2qJ0sUrXBtp/K2GsblZYOdqC7GYT2dh4bS" +
-                "GwIiMEVkJbCKygFZtA1kI22QbtBVZSW2yQ625drBxtwcY72kJh" +
-                "JbSFh1WitlBYFb+2ELxKR1tE55awttBzjUDIKDKG3OFghVckVn" +
-                "is4+cVNHF4xR5WvFJYYbkcc2MirxRWglceVuG8glrhvArHKoxX" +
-                "HlZublmsTa8vgOpBXkFWMl6BXmnlYKVTLlYyJWeNPKzwXK49ht" +
-                "CYAdQP45WDlS7TIeEujZXbL7Ld5AF5zV0lAa+TybBF2MDgvLC+" +
-                "R9tANt/xV9oGvqavx9lAz1+dXjaQLouV0lZEG3i/3E9DXmFvki" +
-                "n6zZPwSoyv4rWFGF9pXm1ye+MJP68UVmp89Tuv0uCVVA9sNV7R" +
-                "Y2FMIZcgk0xXcXYxh8/WOZo9fq7Rm7/CFmxOHAuTGeFxdl+phD" +
-                "h7cCyM2nht8cTZrTXpxdkDZQJxdr+/YsvTi7P7/JWcwyf7yF/J" +
-                "J+Rj8qmL4Rd+HYjpgD4lobPs5usFja+Ktll5KdiHzwpvA603zi" +
-                "wbqFu/mW1ivpES20K+DWJFxyXeRUfhz7cy0NxSPFilZMuLgFW6" +
-                "mr10sCK/kpPkZzz+xvUaAuKOr6KIAK/p5xWvnIRXvhWc/vXsqW" +
-                "CV33r2ZDbQv57dwyr19ezW56crVrxiPq1/3y0lsWIf0MmSOagP" +
-                "Mw4JrPy84uqfYlPieRV4WvXCtT5frPKKCasvSgurgtYH5ocVWU" +
-                "91vMWJW9AlgespxS102cS4xYfutSJp9oK0RRCrFCy+g9WaUsNq" +
-                "aRo2cL2jAx2sIJNukuMrqQN9Y+FJTtxCYCXjFmNU3AJLb0uMW4" +
-                "j1FuxjRwfmF7fwdGAwbpHC2CqgA2VOSjowadzilOrAdNdbeDpQ" +
-                "rY1h35CTYr0FkXPqdEd8PDBFHbg9aW/OLG5tEcTq9NIWp3YOnx" +
-                "0PjK/+K3il5kT0+OrHlMZXb/rHV+yE4BV9P/3xVXHxKt11TCXN" +
-                "K/qBt46J7o+zqhk+zV6O+f7BkmT+Kq94NLvdsnh4Zbc4w2JMMs" +
-                "7OYs5cIz2geBXEyuNVvli9FeiRE4lYlcRc4+lnA08VVvQbpS0U" +
-                "VvS7tOav3g7XgYZRkrHbQvCqzZmIlZoXpv9U88JGGXqoSOst3i" +
-                "nIBv7Oq7RsoJwXNsob6AfpvzQPasbbwBTXW+wqHqzsIcXEq1vO" +
-                "RH8l1pxR/a90npU4J4L41dHlmiT0kv43L+SYIf+8ip8Tyae3ay" +
-                "XJL+ScCB4DcyJUr+1NnBNJtj7w9J5rhP8DX2B+XQ==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value1 = null;
-
-    protected static void value1Init()
-    {
-        try
-        {
-            final int rows = 45;
-            final int cols = 107;
-            final int compressedBytes = 1624;
-            final int uncompressedBytes = 19261;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtW3tsFEUY/2Y7s7d3J9hCSTSIqAhFSqkUFRQFRcWKIj6CIv" +
-                "JGKWDUWiT4j69i1CgaExWFtmh8kKihwTRiQnxWDH0g1dgI4gOs" +
-                "RojvYIM8rOt3s3t7+7r2dvfOvSU7yczONzs7nZ3ffr/5zdyUNA" +
-                "EpOEHGQFoSKZyI8WQ4hdXidQSWbiOfYbqVtMHZeP2AbOJ1N2N8" +
-                "Fy4lzeRjrHc9a+WlHeQ9spM0krd4S0thOZ0ky2w1YPtkB3lb5o" +
-                "F8JJsCnJnMkVZD+fnRFzG9TLWuhKtkmwCLMVap+bhWOkCWhR41" +
-                "f3qytKCa22OiDbJtgCnq9Vq4Tlc6F+M8jEu4JfBUhIh2vx9PT7" +
-                "Jt8SyjzR7mpedivECrc7nlqRvgRpiVskltIqWL6RfGerSTt1mr" +
-                "2bfJfQbW1su91XJOA9mdeV0FK7yul30KClYu37SJLlVzLYY2Va" +
-                "xSfsUtg19h5H6FtdutfsVxrqJ7FKx68ytdb1qdv0HCr5xiFSvP" +
-                "9An6VT5gRb/m6ZP4thSiIHHrKbQKkT3irBaGYr5E6C8MFGJ8TF" +
-                "bBWLwjwQRMo4DsBnfz8muwBzvgJrhZN34LYZGwk+cKFKyEQm4V" +
-                "wyBdrdN0+ZEYR6n5MmEjVMB5GeB0ixkrKNJyA9XrYKiBM2CYgh" +
-                "WM5r15BcvPgfFqjQvhIjVXDZWG1lbCTJits5fxlBnqKKPTX7OH" +
-                "YDyVj+YaGI75UiNWUA7jtLoTYTJcjNepcAWm0+BqTGfo2p4D82" +
-                "EB9rcDkN1oPZlDZpNZwgFaRxusfoU1NmTwtXzqHwfm1q/ygwOF" +
-                "LvVagy1M10rvSmFF3+AlK4TbTU8uE+7A9E5dD44GDKu5wcKKLO" +
-                "Re02h4l8PY2hMKB6olh5IcqOLEuVKIGtsS44ZWuq1YKRyYL9oi" +
-                "Nj+g2uIdo7Zgm51rC7FfGm2xJYlV7rSFK6xuDSJWtI2axkcEU4" +
-                "12Oa+DK6yW+NVbscQDVt9aWhNN2uK7DHowL1jrK+GTgHLgPiMH" +
-                "ilEXHFidhgP3euPA2D058quaQHJgl4UDF5j8KgMOFB8Mll9Fhg" +
-                "fTr3CkH6c/0QOkhf7Mx32loFu9pfxKKEnvV2pdq1/t1+7ll7a4" +
-                "3y+shDIvWEWKjBxIO8V6O6x648C0WP2Sn1j551dCpQdd0hApNr" +
-                "FipzDV0PoKG+b8NeA68LEgYkX/oN30d3qQ/kMP0z/pX/RYpNtU" +
-                "o8dg/ebqi3iTHqF/h/MVYjXDkw6UgcoySKRF5PwmjTbc13EgjE" +
-                "1xIEwycmBi71bPgbCII/svFPAeTlc4MLF3m+JA696twoHSKMxX" +
-                "ZPoGkmEGSO3daiWDMWp7tyms7PZuMW/67mGmwcpw7zZTrGAiRr" +
-                "53y61pPLXZu5XGJPZuSRMbwArFI+bfRLIzX7Ei6QEv81Xs/b6x" +
-                "crUf6JtmF4+5eUpKo7Mjl/B0ijbegyzfxkP/15vFmo+39ZVQ60" +
-                "2zp3RgpAsxfNq5XxW0pfGrIaEONPWg3QtWbKg0TK/ZY+OyuL7a" +
-                "kqfrK//8qiyrvFMplNppdqo75cFGBFuz+6gDPWCV0OyshB5kI5" +
-                "Oa3VIjA80uLU/b/h716kqzx3b5rS2yfd7CHQcq5y34SN+rL49z" +
-                "VUFf075by1kq+qqjv7Mx29+mtMrqV6Q4GH5FX/c0X00AKt2XWF" +
-                "+pI5HF9RUbr6yvkvOV0/VV7FBu1lcJv/JnfWXU7M7WV5wDJ+n3" +
-                "LdQR2J6eA51o9uT6Knf7Fm440Mf5ypVml9L+jiGUCtr5CfZI8r" +
-                "yFoi3sz1tk0MdCOQ9CsLWFEqLqDMQeVVvUsEqdD1TtECsf9i1U" +
-                "dNaQo8jfVaQn7Yz2jcH6XA5wCDhWz9A+1p9+no2Jl+cGK//Wwp" +
-                "5Wkk3s2dQek819b7817vW2bxGvCLHS+dVz+exXxx8HevSsdb0g" +
-                "uRbv1x1/WAWWAzewOraOvUBaWD17iT3PGrLHgWy9Nw4M/crkOy" +
-                "/3gaaPfhWfHPqVDqlGwv/HI9TsQeBALZeL3/CbPerAtaFfpfWy" +
-                "7fm1bxGvC7FyhF+Hj/NVU4iVI4+wOcvJvgw1u7/zFdud9flql8" +
-                "f5amuIle049aotVMuEFaY6rNg+M1a6dtxh9WGIlXMdyL5341ee" +
-                "sdoWYpUOK/ZDljnwR49YdYZYOcDSwIGY26TlLBzI0dlv71dYM4" +
-                "/2mIKJFfwHMptNuA==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value1 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value1[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value2 = null;
-
-    protected static void value2Init()
-    {
-        try
-        {
-            final int rows = 45;
-            final int cols = 107;
-            final int compressedBytes = 554;
-            final int uncompressedBytes = 19261;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtmt0rBFEYxr0zew52SyvE3+EGKfdCblFuxCWxpPifiCS1re" +
-                "TjYkk+7iTXRBRZ39YYu2Oa0THs7qyddz1v7ew50zTbOb+e533P" +
-                "OWsY3kFbdGBe43Z/zm4lMtdN59PinPZonhYV79mlZau17vFr2+" +
-                "5+5NjwNfTx7Hc4ZpRhuFmJC29WtOovK7/jkxXPEJf2PCV/ZkVr" +
-                "WVa0oGJF+2BVUpZXuXhg5o6SlXkfrAr1uKVCdCWuoasA6eoGuu" +
-                "IT2qSC4C3PsXD3QPEgUqFTcUfJ0IXKA8Xjh65oR+WBtOHtgaEz" +
-                "eKCPHvekr+gJx2jiv9GVNmp+xqCrYNYW+elKvEBXPurqlZ4zs5" +
-                "T+dv5OXL1DzqNlzioNVmzZvSFfBZaNAV1xCUlgxaYONGsLqTtZ" +
-                "ETNWdPRvdFUJXTElV2XVDhG7iqjR6rSwo6rIPKFV5/pmLQpWBd" +
-                "MJQ1eMaEXBigmpWuwHsmFVD1aMaDXAA8slVLqSjWBVgpWkddYo" +
-                "m3DWGHxWdqsI51eyGaz+NJ+1lM9YuOtKtss2L13JjgJ01Qpd+c" +
-                "qqU/bI7iJ5YBdY+epxvajZWfPrc9Tsda4KPs+9W7AqGqt+sGK5" +
-                "FlawkgNgVXI9DVpEcH7FR0sRp67kEDyQCTfVfuAwWJVifWXtB4" +
-                "5gPzDwGcp1CqU/fvVA/T73fKWngpqvmFcTE//p/xbMWcXAig2r" +
-                "SbBiw2oKrNiwmgYrNqxmwIoNq1mw4hIV7+XQkds=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value2 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value2[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value3 = null;
-
-    protected static void value3Init()
-    {
-        try
-        {
-            final int rows = 45;
-            final int cols = 107;
-            final int compressedBytes = 544;
-            final int uncompressedBytes = 19261;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtmjlLA0EUx33jzkSjiCB2amFtYSN+ATs7wUpbkSAqaKlRvC" +
-                "rPziMK+QKRxKCFJohHEUU8emsFQdBKEDSum8OEJEZxN9ln/g92" +
-                "dmZ22OL99v9m5s1SMBo3ikSzGJ3StV7u07nROiSfcffrV0i/ju" +
-                "kkZewVhemStimQ6FFjyWcXtBuvHUVzGp1FYTlNjdOr4aW3nP67" +
-                "TWvdwGdFY+UGK6bkJmJ3UZXoETWiTji/RogKo6z87ZtFLbz7Zz" +
-                "qT0BUbVlNgxYbVNFixYTUDVmxYzYIVG1ZzYMXFKKhW1IJaUouf" +
-                "eQvpVfNyy7y8hdxA3uIbnSz/arTrB2M28EXblLUnYxfbAa/YJg" +
-                "b6pUeuyzWKyE3plauIgTZmFcB8xWO+0lntxP1kwZmI1g9WZuoq" +
-                "WbPi/CoIVqbGwF3oig2rfawtmMxvB/lGaH3wUknMVyHoytQYGM" +
-                "aanUuOST2mZSmGM/IWoxk9LjGol0P40m1H/wk+sNN8pd2pZ4po" +
-                "D6av2e8RA800MZIrBqqXWAwUA4iB/38d6CiHrtiw0sCKDSsnWJ" +
-                "nJylFtHSvZDlaFNEc9fFASMbABuiromn40i9Ya4ZeizFdN1ulK" +
-                "e4eu2MTAZrBiw6oFrNiwagWrArKMs0q2fcmacY6Yysqg05bKKu" +
-                "1NYGVvXXVCV2xYdYEVG1bdYGXq/qrHwv3VHlgVPW/RC78URVfj" +
-                "+JeThznc+UbgX067WNkH1xx8Iw==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value3 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value3[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value4 = null;
-
-    protected static void value4Init()
-    {
-        try
-        {
-            final int rows = 45;
-            final int cols = 107;
-            final int compressedBytes = 658;
-            final int uncompressedBytes = 19261;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtnF1LFFEYx3t2zlsFUki3QvQl+gB11csXCPI2oRfNuugmtV" +
-                "uzKCjfZcmwCBVD6kKM0BK2lKyLQsLrNSxRNHqxXbbTuK5rOum2" +
-                "5+ycqf8DM3PO7mGX/f/mf57nzAxLg5lsUCKzSdBzeq33Q/TS7z" +
-                "2lPv84oLdhvY3Ss7yxk/SEXlE/PVx9RV7OvTdBj7KtkUxg0IsM" +
-                "IlidQdmgNa1fYcXjso53mmPF28AqOOSVQkaLKs0qbs9X3l6wMu" +
-                "krq3PgHbAy6MNutoU+bBwqOZOvHsj7si/YV7K3CF/dg69KGbHa" +
-                "Tdw4Bl3+uXyVgK/ssJLj3nnDdeAFsAp9DpyALiH4KkXL8p0+pn" +
-                "Ov/D5iel3vjXO/YMrZGvut8U+c8obXet7QdnwVO6O3szjTIzEH" +
-                "vocuoayvPuj1blLOUILNGq8Dk6gtSjrrzkIDl2p27auPNnzFZu" +
-                "Arg675JOfy+94kaosI05yHBpFh9QUauJOvZFoctXQ9MIV8Ffb6" +
-                "Su2DLmGEqlhrswNZPrtzpMpi5bFdeeSUv99ZMPE9ULpoUvtxXz" +
-                "ha6yu/ZSFfqYPIVyZZqUO8nbfyFkrwDh7nzXjmzGFWh8VVcU00" +
-                "rTwfKBrBqlQhrhc0usryHHgcrIz66oQ4Zmt9JY6AlUFWKVpWlb" +
-                "gvbKXGPmmjDmRJdQrX2V0P1pE7C04HjOiCSpFZLZ+DBo74ap59" +
-                "VtVsUdWwb2yBLbEfG0ak1/Xm/vJ7vrOvUNu6r2qhgSs1e7a2uI" +
-                "jaIjKsLoFVBOa4xi0yDa6zO+Urv2XjGlMTfGWSlbppkdUNsDLK" +
-                "6pa6/SdWqrmIfPUYrIyyarXoqxawMlhZtOEePmoL/0zAfyYYZ6" +
-                "Xu/mKF9dV/7asesDIXO34CCVmTfA==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value4 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value4[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value5 = null;
-
-    protected static void value5Init()
-    {
-        try
-        {
-            final int rows = 45;
-            final int cols = 107;
-            final int compressedBytes = 592;
-            final int uncompressedBytes = 19261;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtmk9LG0EYxp1kZnfm1mJR0G/QSykeaovY3qpUQe0n6K0W2o" +
-                "sfQOmX6D8FD4K2aGlIIxI3iE0OW1vSUC/9BAqFoqjUeLDbdWNj" +
-                "wropaWfiDPs8MJud3QmB97fPvO9klqS9UxHXO0ekQEr+MUs2gt" +
-                "4aWQo+3/nN8dsHkq8Z+4XkSJG8Jak/V/h89d5nkjk9W/ciRT56" +
-                "UHR0AlZ0iy8Ql36XzYpug5VMVvy1Ol/RX2AlT3SHv/GPe34r01" +
-                "26zxdDI47rej/+8XeO6CGirVY8VfFV9clfqp45wTEf8kaNr+qu" +
-                "w1eqWaXByph8VmiOFX8PVmrrQGU1ewa1hTGsVsCqpRkrixhoth" +
-                "ZexVo45nOgA1ayWfHcCSv4yvh8lUcMdPEVO2QHfr4qRPmKleGr" +
-                "WOSrDbCSyYoX1bGiy2BljK9KYCXVV1/VsWKXwcoYX22ClVRfHb" +
-                "BX7AV7Tlw2zWbZMzYj0VcvwUoqq5+eZ09VfMVm7UmwapXsp82M" +
-                "tsbFJfqX+NBPeKJ1zVfiijxfiXb4ShUr0Sk6MAfqy0p0WcPWkJ" +
-                "o60LoHVq2U6EYMdJoD6Za4ij2ReK+FbVcFK3Et5r66Dl+ZwEr0" +
-                "8LnofWHsX2lVPdxoeLcXEYpDvhI34SuZsr8lnbNeMvQ2YGIi/J" +
-                "3EY789ubB54FbMa4s+1BbG5a7b+vsKiqR3BzEwhtVdxECXfCUG" +
-                "GteBVv9//Hfbi3xlTM0+CFayWYlRRaxGwEo6q/uKWI2BlYL11Q" +
-                "Osr8zLV3jfQuM68FEtK/FQ6hw4Dlby1PYbDH/gBw==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value5 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value5[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value6 = null;
-
-    protected static void value6Init()
-    {
-        try
-        {
-            final int rows = 45;
-            final int cols = 107;
-            final int compressedBytes = 519;
-            final int uncompressedBytes = 19261;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtmztLA0EUhb26j8wUWhiwsbARQbARH629Wqi/wSKgNlZW6W" +
-                "x8YWlAEBEVMT6QKAYlmIhGkUQbsRaJ4I9w3YQoJmYh6kyyszkH" +
-                "ZpPdnSbn49y5yU7oyMqLktkjm7AKRJd0bx+jdJs7i1E493pgjz" +
-                "N7xCnxbW6azilFe3T4eYUFvu7dUST/7sJyFN1YkIPYeBlzplX4" +
-                "JOT3Pi0qytWP+//L1QxyJZIVCxrzxqKxkGWlrxlz+qo4VnoIrJ" +
-                "xlLP1qdsBmNWtum2HnXJm7f2dlboGV0FwtG8PGkJwaaAyClcRu" +
-                "Y6X4Sn2J3qJ+0h5TcMt19ELwQBlWm/CgJnp29BZie4sdeaz0fr" +
-                "BSJlf7YKUMqwhYiWalZdgxJbU30ay0V7ASul6dyMuV9g5WytTA" +
-                "U7BShlUUrJRhFQMrZVjFwaqSKvXbLUvAF8/l6gq5UobVNVhVUi" +
-                "wJD5Rer1LwxXM1MI0aWNEa+AAPaiJXj8iVSFbsSR4rPGt0QW/x" +
-                "DF+UYfUCX9ywXjG/wPWqGTVQFivWYgaxn93NrHgj9rOrkyveJK" +
-                "cPBCvxrLQMb8XeGGVYtYGVN3t23g5fqpirDuTKo7nqhC9u+C4s" +
-                "Mle+deRKNCvfRpaV+BrIu8BKnHh34XlDupwaiP+gVi9XbERODe" +
-                "Q9MnLFe2ua1ZikZ42jUlj11XjPPoCe3e2q+wBWRByS");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value6 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value6[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value7 = null;
-
-    protected static void value7Init()
-    {
-        try
-        {
-            final int rows = 45;
-            final int cols = 107;
-            final int compressedBytes = 443;
-            final int uncompressedBytes = 19261;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtmbtKA0EUhj0yQ8y0+ki2KoI+gQQFbUS0UtDKF1CMNxC19Y" +
-                "ZoIUrUGFwlXkpB6w0oClY26jqEGBRDtnB2ds/kP7DJZGeK8H/8" +
-                "57IbBGHRPPL3nmoPENaDdlWHXJTzMkueXJIrck4u/9o/o1v9eU" +
-                "CX5V852ih/b+vrUF+nlP9x9oaO6Jo2aef7jlyo7hVpr7I6qfNv" +
-                "LkCkLqvOysqruf8vVqIfrEyyqq4iYKW6wMpcqO6wEyIDlRKTA3" +
-                "tQr5j4qhe+cohmHzRoiN4igxzIhtUAWBntLQajY9WSBSujrIbA" +
-                "CjlQ58BhsGLDahSsbEbN5+xj0MU5X43DV2xYTYBV7DlwEro456" +
-                "sp+IoNq2mwij0HzkAXNqxmoYv9UKthJ/D+Kjn1Sq3hvTATX63D" +
-                "Vw7R3IIGSe3Z023mcmC6FTmQzXyVAys2rI7BKvb5Kg9dnPNVAb" +
-                "6K3Vfn0CWWWbioZyg/VSJPPJr2VcqHr6zOV1fQgHUOvIMuzvUW" +
-                "98iBRuvVQ3SsxD5YWa1XT9CADatnaMCG1Qs0aIje4hX1ig2rN7" +
-                "Biw+odrNiw+gAr06yErz6jeB4oSmBlLpq+ACzctsM=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value7 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value7[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value8 = null;
-
-    protected static void value8Init()
-    {
-        try
-        {
-            final int rows = 45;
-            final int cols = 107;
-            final int compressedBytes = 408;
-            final int uncompressedBytes = 19261;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtmrtKA0EUhj2yMjELvoKNjyAEiY2deAUvjdHSp1DRRrC0tE" +
-                "6jhREliCIJEk0RRdSnUPAhHJf1goVB0JllD/Md2PtW59t//n+G" +
-                "lXrRvpd07A8lbXlM9hdym15dSi09HidbI9mu5Prbuw/SlHs5kp" +
-                "PPO9Hr17M7Of04a9muJTeW+kfFvfQgHyV161FXsUFXalgVYOWa" +
-                "VfQU90snenHuV8+wcskqLpIt1LAa8MeqrwQrNX41CKtMM/sQPc" +
-                "hZthgmW6hhVYJV2H5VqMIqU78aoQdB5MAyulLDahRWHrLFGNlC" +
-                "wbrFuDkwte66Mod/Z2X2YZVptpigB2pYTdKDILLFFGOgU7+a9j" +
-                "gX3oOVGl3NwEoNq1lYqWE1Bys1rOZh5WHdYoF1CwU5cNGfrvg3" +
-                "JuO58BI9CMKvKujKg18t41cK/GoFv2IMTMbANVipYbUOKw9+tY" +
-                "FfBa6rTVh50NUWulLDahtWuV+V2PntjWiVLgXhV7voyqGuqugK" +
-                "XaVfwhm6UsPqHFZqWDVgpYZVE1ZqWLVg5a563gDy0b6v");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value8 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value8[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value9 = null;
-
-    protected static void value9Init()
-    {
-        try
-        {
-            final int rows = 14;
-            final int cols = 107;
-            final int compressedBytes = 164;
-            final int uncompressedBytes = 5993;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrt100LgkAYBODm7P//GYYRXkKRSqEiMhRvQkHQMQm8b4todK" +
-                "iTKQ3NwH7vaR/ew2Ju2mBj3gQxjrZfYNesIrjN6NkW2LbC+uVu" +
-                "ihAHTDHrdpzkebaH386W5mOwNUqPOKne4DeCYesqU13RWOWyor" +
-                "EqZEVjVcqKxuokKxqrs6xorC6yGvV/ddUb/EVd3VRXNFaVrGis" +
-                "7rKisapl9b1MHnwJCjE=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value9 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value9[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        if (row <= 44)
-            return value[row][col];
-        else if (row >= 45 && row <= 89)
-            return value1[row-45][col];
-        else if (row >= 90 && row <= 134)
-            return value2[row-90][col];
-        else if (row >= 135 && row <= 179)
-            return value3[row-135][col];
-        else if (row >= 180 && row <= 224)
-            return value4[row-180][col];
-        else if (row >= 225 && row <= 269)
-            return value5[row-225][col];
-        else if (row >= 270 && row <= 314)
-            return value6[row-270][col];
-        else if (row >= 315 && row <= 359)
-            return value7[row-315][col];
-        else if (row >= 360 && row <= 404)
-            return value8[row-360][col];
-        else if (row >= 405)
-            return value9[row-405][col];
-        else
-            throw new IllegalArgumentException("Unexpected location requested in value9 lookup");
-    }
-
-    static
-    {
-        sigmapInit();
-        sigmap1Init();
-        sigmap2Init();
-        sigmap3Init();
-        sigmap4Init();
-        sigmap5Init();
-        valueInit();
-        value1Init();
-        value2Init();
-        value3Init();
-        value4Init();
-        value5Init();
-        value6Init();
-        value7Init();
-        value8Init();
-        value9Init();
-    }
-    }
-
-    /**
-     * The error recovery table.
-     * <p>
-     * See {@link #attemptToRecoverFromSyntaxError()} for a description of the
-     * error recovery algorithm.
-     * <p>
-     * This table takes the state on top of the stack and the current lookahead
-     * symbol and returns what action should be taken.  The result value should
-     * be interpreted as follows:
-     * <ul>
-     *   <li> If <code>result & ACTION_MASK == DISCARD_STATE_ACTION</code>,
-     *        pop a symbol from the parser stacks; a &quot;known&quot; sequence
-     *        of symbols has not been found.
-     *   <li> If <code>result & ACTION_MASK == DISCARD_TERMINAL_ACTION</code>,
-     *        a &quot;known&quot; sequence of symbols has been found, and we
-     *        are looking for the error lookahead symbol.  Shift the terminal.
-     *   <li> If <code>result & ACTION_MASK == RECOVER_ACTION</code>, we have
-     *        matched the error recovery production
-     *        <code>Production.values[result & VALUE_MASK]</code>, so reduce
-     *        by that production (including the lookahead symbol), and then
-     *        continue with normal parsing.
-     * </ul>
-     * If it is not possible to recover from a syntax error, either the state
-     * stack will be emptied or the end of input will be reached before a
-     * RECOVER_ACTION is found.
-     *
-     * @return a code for the action to take (see above)
-     */
-    protected static final class RecoveryTable
-    {
-        protected static int getRecoveryCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert lookahead != null;
-
-            Integer index = Parser.terminalIndices.get(lookahead.getTerminal());
-            if (index == null)
-                return 0;
-            else
-                return get(state, index);
-        }
-
-        protected static final int[] rowmap = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 24, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-    protected static final int[] columnmap = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return 0;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 1218;
-            final int cols = 8;
-            final int compressedBytes = 109;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrt2MERABAMBED9F+3SgYePm7FbAXLEJDnZC5pFfgHQ//Q/9Q" +
-                "EA8D9CfQDQX1D/T/LXvj/3n5f5kD/nI9+4P8gXAAAAAHQx/wIA" +
-                "AAAAWplfAnifAQD8j6wfAAAAAAAAAAAAAAAAAK4MmwfGPw==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap1 = null;
-
-    protected static void sigmap1Init()
-    {
-        try
-        {
-            final int rows = 1218;
-            final int cols = 8;
-            final int compressedBytes = 86;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrt3LENADAIBDH2HzpkAyoQiWQPAOV3FwEA0CtLZ/z+9H8AAA" +
-                "AAAAAAAAAAAAAAAACA1+kvAGAfAAAAAAAAAAAAAAAAAAAAAICf" +
-                "bPdR9FkoXaUA2CE=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap1 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap1[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap2 = null;
-
-    protected static void sigmap2Init()
-    {
-        try
-        {
-            final int rows = 640;
-            final int cols = 8;
-            final int compressedBytes = 50;
-            final int uncompressedBytes = 20481;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrt0KEBAAAIA6D9f7RaTQYznEAC8NOnEgQAAAAAAAAAAAAAAA" +
-                "AAAAAAAADbAPC/HuE=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap2 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap2[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        if (row <= 1217)
-            return sigmap[row][col];
-        else if (row >= 1218 && row <= 2435)
-            return sigmap1[row-1218][col];
-        else if (row >= 2436)
-            return sigmap2[row-2436][col];
-        else
-            throw new IllegalArgumentException("Unexpected location requested in sigmap2 lookup");
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 31;
-            final int cols = 124;
-            final int compressedBytes = 162;
-            final int uncompressedBytes = 15377;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrt2TkOgzAARFF32UNCdg7kc/noOUJCB56naRHFfwJL0Er7sb" +
-                "ppxfpY+eMa3ryNt/E23rZw77tOUd7jvHvWs66r9n7rFOW91SnK" +
-                "e6dTlPdRpyjvg05R3i+doryvOkV5Dzo5v423deG91ynK+6lTlP" +
-                "dFpyjvj05R3pNOSd5z5//3yp/vk05R3jedfG+xbr0fOkV5jzp5" +
-                "nxtvW753+QIqxO/X");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        return value[row][col];
-    }
-
-    static
-    {
-        sigmapInit();
-        sigmap1Init();
-        sigmap2Init();
-        valueInit();
-    }
-    }
-
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ContainsStmtParsingTables.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ContainsStmtParsingTables.java
deleted file mode 100644
index e65d7ac..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ContainsStmtParsingTables.java
+++ /dev/null
@@ -1,551 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-import java.util.AbstractList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-
-
-import java.util.zip.Inflater;
-
-import org.eclipse.photran.internal.core.parser.Parser.Nonterminal;
-import org.eclipse.photran.internal.core.parser.Parser.Production;
-
-
-@SuppressWarnings("all")
-final class ContainsStmtParsingTables extends ParsingTables
-{
-    private static ContainsStmtParsingTables instance = null;
-
-    public static ContainsStmtParsingTables getInstance()
-    {
-        if (instance == null)
-            instance = new ContainsStmtParsingTables();
-        return instance;
-    }
-
-    @Override
-    public int getActionCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-    {
-        return ActionTable.getActionCode(state, lookahead);
-    }
-
-    @Override
-    public int getActionCode(int state, int lookaheadTokenIndex)
-    {
-        return ActionTable.get(state, lookaheadTokenIndex);
-    }
-
-    @Override
-    public int getGoTo(int state, Nonterminal nonterminal)
-    {
-        return GoToTable.getGoTo(state, nonterminal);
-    }
-
-    @Override
-    public int getRecoveryCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-    {
-        return RecoveryTable.getRecoveryCode(state, lookahead);
-    }
-
-    /**
-     * The ACTION table.
-     * <p>
-     * The ACTION table maps a state and an input symbol to one of four
-     * actions: shift, reduce, accept, or error.
-     */
-    protected static final class ActionTable
-    {
-        /**
-         * Returns the action the parser should take if it is in the given state
-         * and has the given symbol as its lookahead.
-         * <p>
-         * The result value should be interpreted as follows:
-         * <ul>
-         *   <li> If <code>result & ACTION_MASK == SHIFT_ACTION</code>,
-         *        shift the terminal and go to state number
-         *        <code>result & VALUE_MASK</code>.
-         *   <li> If <code>result & ACTION_MASK == REDUCE_ACTION</code>,
-         *        reduce by production number <code>result & VALUE_MASK</code>.
-         *   <li> If <code>result & ACTION_MASK == ACCEPT_ACTION</code>,
-         *        parsing has completed successfully.
-         *   <li> Otherwise, a syntax error has been found.
-         * </ul>
-         *
-         * @return a code for the action to take (see above)
-         */
-        protected static int getActionCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert lookahead != null;
-
-            Integer index = Parser.terminalIndices.get(lookahead.getTerminal());
-            if (index == null)
-                return 0;
-            else
-                return get(state, index);
-        }
-
-        protected static final int[] rowmap = { 0, 1, 2, 3, 0, 0, 0, 1 };
-    protected static final int[] columnmap = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return 0;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 8;
-            final int cols = 8;
-            final int compressedBytes = 31;
-            final int uncompressedBytes = 257;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNoTYMAAAjg5DAQUkyEPBgr4JB0YKAb4zAcAbuEA0Q==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        return sigmap[row][col];
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 4;
-            final int cols = 2;
-            final int compressedBytes = 32;
-            final int uncompressedBytes = 33;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNpz/dPAfoChgdHhBgOD6wMg/ssABg2sEJoBAKboBw4=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        return value[row][col];
-    }
-
-    static
-    {
-        sigmapInit();
-        valueInit();
-    }
-    }
-
-    /**
-     * The GOTO table.
-     * <p>
-     * The GOTO table maps a state and a nonterminal to a new state.
-     * It is used when the parser reduces.  Suppose, for example, the parser
-     * is reducing by the production <code>A ::= B C D</code>.  Then it
-     * will pop three symbols from the <code>stateStack</code> and three symbols
-     * from the <code>valueStack</code>.  It will look at the value now on top
-     * of the state stack (call it <i>n</i>), and look up the entry for
-     * <i>n</i> and <code>A</code> in the GOTO table to determine what state
-     * it should transition to.
-     */
-    protected static final class GoToTable
-    {
-        /**
-         * Returns the state the parser should transition to if the given
-         * state is on top of the <code>stateStack</code> after popping
-         * symbols corresponding to the right-hand side of the given production.
-         *
-         * @return the state to transition to (0 <= result < Parser.NUM_STATES)
-         */
-        protected static int getGoTo(int state, Nonterminal nonterminal)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert nonterminal != null;
-
-            return get(state, nonterminal.getIndex());
-        }
-
-        protected static final int[] rowmap = { 0, 0, 0, 0, 0, 0, 0, 0 };
-    protected static final int[] columnmap = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return -1;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 8;
-            final int cols = 16;
-            final int compressedBytes = 24;
-            final int uncompressedBytes = 513;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNpjYEABHEhsFgZCQIFhFAx1AABRqQAt");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        return sigmap[row][col];
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 1;
-            final int cols = 2;
-            final int compressedBytes = 13;
-            final int uncompressedBytes = 9;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNpjYGFgYmD+/58BAA==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        return value[row][col];
-    }
-
-    static
-    {
-        sigmapInit();
-        valueInit();
-    }
-    }
-
-    /**
-     * The error recovery table.
-     * <p>
-     * See {@link #attemptToRecoverFromSyntaxError()} for a description of the
-     * error recovery algorithm.
-     * <p>
-     * This table takes the state on top of the stack and the current lookahead
-     * symbol and returns what action should be taken.  The result value should
-     * be interpreted as follows:
-     * <ul>
-     *   <li> If <code>result & ACTION_MASK == DISCARD_STATE_ACTION</code>,
-     *        pop a symbol from the parser stacks; a &quot;known&quot; sequence
-     *        of symbols has not been found.
-     *   <li> If <code>result & ACTION_MASK == DISCARD_TERMINAL_ACTION</code>,
-     *        a &quot;known&quot; sequence of symbols has been found, and we
-     *        are looking for the error lookahead symbol.  Shift the terminal.
-     *   <li> If <code>result & ACTION_MASK == RECOVER_ACTION</code>, we have
-     *        matched the error recovery production
-     *        <code>Production.values[result & VALUE_MASK]</code>, so reduce
-     *        by that production (including the lookahead symbol), and then
-     *        continue with normal parsing.
-     * </ul>
-     * If it is not possible to recover from a syntax error, either the state
-     * stack will be emptied or the end of input will be reached before a
-     * RECOVER_ACTION is found.
-     *
-     * @return a code for the action to take (see above)
-     */
-    protected static final class RecoveryTable
-    {
-        protected static int getRecoveryCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert lookahead != null;
-
-            Integer index = Parser.terminalIndices.get(lookahead.getTerminal());
-            if (index == null)
-                return 0;
-            else
-                return get(state, index);
-        }
-
-        protected static final int[] rowmap = { 0, 0, 0, 0, 0, 0, 0, 0 };
-    protected static final int[] columnmap = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return 0;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 8;
-            final int cols = 8;
-            final int compressedBytes = 12;
-            final int uncompressedBytes = 257;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNpjYBjhAAABAQAB");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        return sigmap[row][col];
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 1;
-            final int cols = 1;
-            final int compressedBytes = 7;
-            final int uncompressedBytes = 5;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNpjYAACAA==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        return value[row][col];
-    }
-
-    static
-    {
-        sigmapInit();
-        valueInit();
-    }
-    }
-
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ExecutableProgramParsingTables.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ExecutableProgramParsingTables.java
deleted file mode 100644
index cc29b76..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ExecutableProgramParsingTables.java
+++ /dev/null
@@ -1,4870 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-import java.util.AbstractList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-
-
-import java.util.zip.Inflater;
-
-import org.eclipse.photran.internal.core.parser.Parser.Nonterminal;
-import org.eclipse.photran.internal.core.parser.Parser.Production;
-
-@SuppressWarnings("all")
-abstract class ParsingTables
-{
-    // Constants used for accessing both the ACTION table and the error recovery table
-    public static final int ACTION_MASK   = 0xC000;  // 1100 0000 0000 0000
-    public static final int VALUE_MASK    = 0x3FFF;  // 0011 1111 1111 1111
-
-    // Constants used for accessing the ACTION table
-    public static final int SHIFT_ACTION  = 0x8000;  // 1000 0000 0000 0000
-    public static final int REDUCE_ACTION = 0x4000;  // 0100 0000 0000 0000
-    public static final int ACCEPT_ACTION = 0xC000;  // 1100 0000 0000 0000
-
-    // Constants used for accessing the error recovery table
-    public static final int DISCARD_STATE_ACTION    = 0x0000;  // 0000 0000 0000 0000
-    public static final int DISCARD_TERMINAL_ACTION = 0x8000;  // 1000 0000 0000 0000
-    public static final int RECOVER_ACTION          = 0x4000;  // 0100 0000 0000 0000
-
-    public abstract int getActionCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead);
-    public abstract int getActionCode(int state, int lookaheadTokenIndex);
-    public abstract int getGoTo(int state, Nonterminal nonterminal);
-    public abstract int getRecoveryCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead);
-
-    protected static final int base64Decode(byte[] decodeIntoBuffer, String encodedString)
-    {
-        int[] encodedBuffer = new int[4];
-        int bytesDecoded = 0;
-        int inputLength = encodedString.length();
-
-        if (inputLength % 4 != 0) throw new IllegalArgumentException("Invalid Base64-encoded data (wrong length)");
-
-        for (int inputOffset = 0; inputOffset < inputLength; inputOffset += 4)
-        {
-            int padding = 0;
-
-            for (int i = 0; i < 4; i++)
-            {
-                char value = encodedString.charAt(inputOffset + i);
-                if (value >= 'A' && value <= 'Z')
-                    encodedBuffer[i] = value - 'A';
-                else if (value >= 'a' && value <= 'z')
-                    encodedBuffer[i] = value - 'a' + 26;
-                else if (value >= '0' && value <= '9')
-                    encodedBuffer[i] = value - '0' + 52;
-                else if (value == '+')
-                    encodedBuffer[i] = 62;
-                else if (value == '/')
-                    encodedBuffer[i] = 63;
-                else if (value == '=')
-                    { encodedBuffer[i] = 0; padding++; }
-                else throw new IllegalArgumentException("Invalid character " + value + " in Base64-encoded data");
-            }
-
-            assert 0 <= padding && padding <= 2;
-
-            decodeIntoBuffer[bytesDecoded+0] = (byte)(  ((encodedBuffer[0] & 0x3F) <<  2)
-                                                      | ((encodedBuffer[1] & 0x30) >>> 4));
-            if (padding < 2)
-               decodeIntoBuffer[bytesDecoded+1] = (byte)(  ((encodedBuffer[1] & 0x0F) <<  4)
-                                                         | ((encodedBuffer[2] & 0x3C) >>> 2));
-
-            if (padding < 1)
-               decodeIntoBuffer[bytesDecoded+2] = (byte)(  ((encodedBuffer[2] & 0x03) <<  6)
-                                                         |  (encodedBuffer[3] & 0x3F));
-
-            bytesDecoded += (3 - padding);
-        }
-
-        return bytesDecoded;
-    }
-}
-
-@SuppressWarnings("all")
-final class ExecutableProgramParsingTables extends ParsingTables
-{
-    private static ExecutableProgramParsingTables instance = null;
-
-    public static ExecutableProgramParsingTables getInstance()
-    {
-        if (instance == null)
-            instance = new ExecutableProgramParsingTables();
-        return instance;
-    }
-
-    @Override
-    public int getActionCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-    {
-        return ActionTable.getActionCode(state, lookahead);
-    }
-
-    @Override
-    public int getActionCode(int state, int lookaheadTokenIndex)
-    {
-        return ActionTable.get(state, lookaheadTokenIndex);
-    }
-
-    @Override
-    public int getGoTo(int state, Nonterminal nonterminal)
-    {
-        return GoToTable.getGoTo(state, nonterminal);
-    }
-
-    @Override
-    public int getRecoveryCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-    {
-        return RecoveryTable.getRecoveryCode(state, lookahead);
-    }
-
-    /**
-     * The ACTION table.
-     * <p>
-     * The ACTION table maps a state and an input symbol to one of four
-     * actions: shift, reduce, accept, or error.
-     */
-    protected static final class ActionTable
-    {
-        /**
-         * Returns the action the parser should take if it is in the given state
-         * and has the given symbol as its lookahead.
-         * <p>
-         * The result value should be interpreted as follows:
-         * <ul>
-         *   <li> If <code>result & ACTION_MASK == SHIFT_ACTION</code>,
-         *        shift the terminal and go to state number
-         *        <code>result & VALUE_MASK</code>.
-         *   <li> If <code>result & ACTION_MASK == REDUCE_ACTION</code>,
-         *        reduce by production number <code>result & VALUE_MASK</code>.
-         *   <li> If <code>result & ACTION_MASK == ACCEPT_ACTION</code>,
-         *        parsing has completed successfully.
-         *   <li> Otherwise, a syntax error has been found.
-         * </ul>
-         *
-         * @return a code for the action to take (see above)
-         */
-        protected static int getActionCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert lookahead != null;
-
-            Integer index = Parser.terminalIndices.get(lookahead.getTerminal());
-            if (index == null)
-                return 0;
-            else
-                return get(state, index);
-        }
-
-        protected static final int[] rowmap = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 2, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 15, 62, 63, 64, 65, 3, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 0, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 19, 126, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 8, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 15, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 110, 189, 190, 0, 191, 192, 101, 29, 1, 35, 0, 103, 193, 194, 195, 196, 197, 198, 199, 200, 201, 140, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 212, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 57, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 1, 2, 57, 3, 1, 8, 123, 4, 124, 15, 5, 127, 125, 221, 237, 6, 7, 128, 126, 0, 173, 238, 206, 212, 8, 214, 239, 215, 88, 29, 9, 216, 217, 219, 218, 101, 29, 114, 10, 220, 11, 240, 222, 12, 227, 13, 0, 14, 228, 2, 129, 230, 150, 231, 241, 242, 15, 16, 243, 29, 244, 245, 17, 246, 247, 30, 248, 249, 18, 115, 250, 251, 19, 252, 20, 253, 254, 255, 256, 257, 258, 130, 134, 0, 21, 259, 137, 260, 261, 262, 263, 22, 23, 264, 265, 24, 266, 267, 3, 25, 268, 269, 270, 26, 27, 152, 154, 28, 243, 271, 272, 237, 241, 273, 274, 4, 275, 276, 39, 29, 39, 244, 277, 278, 279, 0, 88, 39, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 56, 291, 30, 292, 293, 156, 6, 294, 295, 296, 245, 297, 298, 299, 238, 300, 301, 103, 302, 7, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 29, 39, 31, 313, 314, 315, 32, 316, 5, 317, 318, 33, 319, 320, 0, 1, 2, 321, 322, 323, 29, 34, 324, 239, 325, 144, 326, 327, 328, 57, 8, 329, 246, 240, 247, 236, 8, 248, 249, 252, 253, 254, 330, 255, 256, 331, 242, 9, 173, 10, 332, 35, 333, 334, 88, 335, 257, 336, 337, 338, 258, 180, 250, 259, 339, 340, 341, 263, 265, 342, 343, 101, 344, 345, 346, 347, 348, 349, 11, 36, 37, 350, 12, 13, 14, 15, 0, 351, 352, 16, 17, 18, 38, 19, 39, 20, 267, 40, 41, 21, 22, 23, 353, 354, 0, 355, 24, 356, 26, 28, 31, 42, 357, 358, 359, 360, 361, 362, 363, 32, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 33, 34, 393, 394, 395, 396, 43, 44, 397, 45, 46, 35, 36, 398, 37, 38, 40, 41, 399, 400, 47, 401, 48, 49, 402, 50, 51, 52, 53, 54, 1, 403, 404, 405, 406, 407, 55, 56, 58, 2, 59, 60, 408, 61, 3, 62, 409, 63, 64, 65, 0, 410, 66, 411, 67, 68, 4, 47, 412, 69, 70, 413, 71, 6, 414, 3, 415, 4, 48, 72, 73, 5, 416, 417, 6, 418, 419, 74, 420, 421, 75, 76, 7, 422, 77, 78, 423, 49, 50, 79, 8, 424, 80, 81, 425, 82, 426, 427, 1, 428, 429, 430, 431, 432, 433, 123, 83, 84, 85, 434, 435, 86, 9, 87, 53, 88, 89, 10, 0, 90, 8, 11, 91, 436, 92, 93, 437, 12, 94, 95, 1, 96, 97, 98, 13, 99, 14, 0, 100, 438, 102, 104, 105, 106, 107, 439, 108, 109, 110, 440, 111, 112, 113, 441, 114, 442, 443, 444, 116, 15, 445, 446, 447, 448, 449, 450, 451, 117, 118, 452, 119, 453, 120, 17, 121, 181, 454, 455, 8, 456, 122, 123, 19, 124, 126, 457, 458, 459, 460, 127, 129, 130, 20, 131, 21, 132, 15, 133, 134, 461, 22, 462, 463, 464, 128, 465, 466, 467, 468, 135, 136, 0, 54, 137, 138, 139, 140, 141, 469, 142, 23, 470, 471, 472, 473, 143, 55, 116, 145, 146, 147, 148, 474, 475, 476, 149, 150, 151, 152, 24, 8, 153, 477, 478, 479, 480, 481, 482, 101, 483, 484, 154, 485, 486, 155, 56, 487, 488, 156, 489, 490, 491, 492, 493, 157, 494, 495, 251, 496, 497, 173, 169, 158, 498, 499, 500, 501, 502, 159, 503, 504, 160, 505, 506, 507, 508, 2, 509, 510, 56, 161, 511, 162, 512, 513, 514, 515, 516, 163, 517, 518, 519, 520, 521, 164, 165, 522, 523, 524, 101, 170, 525, 526, 166, 527, 167, 528, 529, 530, 531, 15, 260, 25, 532, 168, 533, 261, 534, 262, 535, 268, 536, 270, 171, 19, 172, 174, 175, 26, 537, 176, 538, 539, 177, 540, 271, 541, 542, 543, 15, 276, 544, 7, 8, 57, 9, 10, 178, 545, 546, 11, 547, 548, 549, 16, 143, 550, 17, 277, 551, 58, 0, 3, 552, 553, 554, 555, 556, 1, 557, 280, 3, 558, 285, 559, 560, 561, 562, 563, 564, 565, 21, 566, 148, 567, 568, 569, 27, 168, 570, 571, 174, 572, 573, 29, 574, 32, 18, 575, 576, 577, 179, 180, 578, 181, 579, 182, 580, 183, 581, 582, 583, 584, 585, 586, 587, 588, 39, 589, 590, 591, 592, 593, 594, 43, 595, 44, 45, 46, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 47, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 48, 49, 63, 66, 59, 632, 50, 77, 633, 634, 4, 635, 184, 636, 637, 185, 638, 639, 640, 641, 5, 642, 643, 6, 644, 12, 14, 645, 646, 647, 27, 648, 649, 650, 186, 651, 652, 187, 188, 653, 78, 654, 655, 656, 657, 658, 659, 189, 190, 660, 191, 661, 182, 662, 192, 15, 663, 664, 665, 666, 667, 668, 80, 81, 669, 670, 671, 82, 672, 87, 88, 94, 95, 193, 673, 100, 674, 675, 2, 676, 101, 102, 103, 677, 678, 194, 679, 680, 112, 114, 115, 117, 118, 60, 681, 682, 683, 684, 33, 19, 685, 686, 687, 119, 7, 20, 23, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 125, 4, 703, 704, 705, 133, 135, 134, 706, 136, 195, 61, 143, 144, 145, 147, 707, 148, 153, 154, 708, 155, 156, 157, 709, 6, 158, 159, 160, 196, 197, 62, 198, 199, 710, 64, 65, 184, 67, 68, 69, 711, 712, 8, 9, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 28, 29, 30, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 179, 735, 736, 737, 738, 739, 740, 741, 742, 743, 161, 744, 162, 745, 746, 747, 163, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 24, 25, 26, 31, 773, 774, 775, 776, 777, 164, 778, 165, 779, 166, 207, 167, 780, 200, 781, 201, 782, 783, 168, 784, 34, 785, 786, 787, 788, 789, 210, 790, 169, 791, 792, 793, 794, 795, 796, 797, 798, 799, 170, 800, 801, 802, 803, 173, 804, 805, 806, 807, 808, 10, 809, 810, 811, 812, 813, 814, 815, 816, 70, 7, 176, 177, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 178, 35, 184, 185, 827, 186, 187, 202, 1, 188, 71, 189, 190, 191, 193, 195, 73, 196, 197, 198, 199, 203, 204, 205, 207, 828, 829, 208, 830, 831, 0, 832, 35, 32, 833, 834, 835, 209, 210, 211, 74, 212, 75, 290, 836, 43, 837, 213, 214, 215, 217, 218, 220, 221, 838, 222, 203, 839, 204, 840, 841, 842, 843, 844, 35, 223, 76, 845, 846, 224, 225, 8, 847, 225, 226, 227, 848, 77, 849, 275, 850, 228, 229, 230, 231, 851, 852, 291, 853, 205, 854, 232, 233, 234, 855, 856, 206, 207, 857, 209, 858, 859, 210, 860, 861, 862, 863, 211, 864, 865, 45, 213, 214, 866, 867, 219, 215, 868, 869, 870, 871, 217, 872, 220, 873, 874, 875, 44, 221, 876, 222, 877, 878, 879, 78, 235, 236, 880, 881, 35, 79, 46, 83, 84, 47, 50, 85, 51, 86, 882, 52, 238, 237, 239, 883, 884, 223, 885, 240, 224, 886, 887, 888, 225, 889, 57, 88, 36, 244, 247, 37, 294, 101, 226, 890, 38, 891, 227, 892, 893, 248, 894, 895, 896, 1, 39, 242, 250, 2, 40, 251, 80, 254, 256, 41, 257, 897, 301, 898, 243, 53, 899, 228, 900, 901, 249, 253, 258, 229, 902, 903, 231, 904, 905, 232, 906, 907, 233, 908, 81, 246, 259, 264, 54, 265, 267, 0, 234, 268, 269, 270, 271, 272, 235, 909, 910, 911, 273, 274, 55, 56, 59, 60, 61, 62, 64, 65, 67, 68, 69, 70, 71, 74, 278, 276, 279, 280, 281, 282, 283, 284, 285, 286, 287, 1, 912, 288, 289, 290, 291, 292, 293, 913, 294, 914, 915, 295, 296, 916, 917, 297, 298, 918, 299, 300, 301, 919, 302, 303, 920, 921, 42, 75, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 304, 305, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 306, 947, 236, 0, 948, 307, 949, 308, 950, 309, 951, 76, 952, 953, 954, 238, 245, 310, 311, 240, 312, 297, 313, 314, 955, 956, 315, 316, 317, 318, 241, 957, 319, 320, 321, 322, 324, 110, 325, 327, 43, 329, 958, 323, 326, 328, 330, 331, 959, 333, 960, 961, 962, 250, 334, 336, 337, 338, 963, 964, 965, 339, 966, 340, 341, 44, 335, 89, 342, 343, 344, 345, 346, 90, 91, 967, 347, 968, 251, 969, 348, 349, 970, 350, 353, 361, 362, 2, 971, 972, 365, 367, 368, 375, 82, 381, 973, 392, 383, 386, 387, 388, 393, 395, 89, 396, 397, 310, 398, 400, 313, 401, 974, 975, 402, 403, 976, 977, 405, 978, 979, 980, 981, 404, 982, 407, 11, 983, 984, 408, 410, 92, 93, 96, 412, 90, 985, 986, 987, 252, 91, 254, 988, 989, 990, 406, 991, 992, 3, 993, 994, 995, 996, 92, 997, 97, 998, 999, 1000, 409, 1001, 4, 1002, 1003, 413, 1004, 1005, 96, 6, 1006, 1007, 1008, 98, 1009, 1010, 1011, 1012, 259, 1013, 1014, 260, 97, 98, 1015, 261, 1016, 414, 416, 419, 420, 421, 422, 423, 45, 0, 425, 1, 426, 2, 427, 428, 46, 429, 99, 2, 47, 430, 431, 433, 434, 435, 99, 436, 437, 438, 439, 440, 441, 442, 444, 445, 446, 447, 448, 450, 452, 453, 454, 455, 456, 458, 3, 262, 459, 460, 461, 462, 463, 464, 465, 466, 467, 469, 470, 471, 472, 473, 432, 474, 263, 475, 264, 476, 477, 479, 1017, 112, 484, 485, 486, 4, 265, 478, 480, 487, 481, 5, 489, 1018, 491, 482, 267, 269, 483, 488, 490, 492, 493, 494, 495, 1019, 270, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 1020, 1021, 510, 511, 1022, 1023, 1024, 271, 512, 513, 3, 114, 115, 514, 1025, 515, 1026, 1027, 1028, 1, 4, 516, 517, 116, 100, 518, 519, 1029, 520, 521, 114, 48, 1030, 1031, 522, 523, 524, 1032, 272, 1033, 1034, 277, 525, 1035, 279, 7, 1036, 1037, 281, 1038, 1039, 1040, 526, 117, 527, 528, 1041, 530, 532, 1042, 282, 1043, 529, 303, 1044, 534, 1045, 283, 284, 535, 537, 538, 1046, 1047, 1048, 1049, 536, 1050, 1051, 1052, 285, 1053, 1054, 118, 1055, 0, 1056, 1057, 1058, 286, 1059, 1060, 1061, 1062, 1063, 1064, 120, 101, 102, 103, 121, 123, 124, 1065, 127, 129, 130, 131, 1066, 1067, 104, 1068, 1069, 49, 1070, 1071, 312, 1072, 539, 540, 541, 542, 543, 544, 545, 315, 1073, 132, 1074, 1075, 5, 546, 547, 50, 548, 137, 549, 105, 123, 51, 1076, 52, 1077, 550, 551, 124, 552, 1078, 1079, 318, 1080, 287, 1081, 1082, 553, 1083, 554, 555, 1084, 556, 1085, 1086, 289, 106, 1087, 107, 557, 558, 559, 560, 561, 565, 562, 1088, 563, 564, 566, 567, 1089, 568, 569, 570, 1090, 571, 1091, 573, 1092, 1093, 572, 1094, 1095, 1096, 1097, 1098, 1099, 138, 1100, 1101, 574, 1102, 1103, 1104, 576, 1105, 1106, 1107, 577, 575, 6, 7, 578, 579, 580, 581, 1108, 288, 1109, 1110, 1111, 292, 584, 1112, 293, 1113, 297, 1114, 587, 582, 1115, 1116, 589, 108, 590, 591, 592, 593, 594, 2, 1117, 1118, 1119, 125, 53, 585, 54, 595, 1120, 300, 599, 1121, 1122, 1123, 1124, 302, 597, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 600, 607, 1133, 1134, 608, 616, 1135, 617, 304, 1136, 1137, 619, 620, 1138, 630, 1139, 1140, 139, 1141, 1, 1142, 1143, 598, 601, 1144, 632, 624, 109, 9, 602, 626, 140, 305, 12, 1145, 603, 1146, 1147, 1148, 1149, 306, 1150, 307, 1151, 141, 142, 149, 635, 55, 1152, 1153, 1154, 1155, 1156, 636, 1157, 634, 1158, 638, 308, 639, 310, 641, 1159, 640, 110, 1160, 1161, 10, 642, 643, 645, 646, 647, 1162, 1163, 648, 1164, 649, 650, 311, 651, 111, 1165, 1166, 11, 1167, 653, 652, 314, 1168, 316, 1169, 654, 146, 1170, 1171, 1172, 150, 1173, 151, 1174, 317, 1175, 332, 342, 1176, 1177, 56, 604, 1178, 1179, 1180, 0, 1181, 1182, 1183, 1184, 1185, 655, 1186, 1187, 1188, 112, 343, 1189, 1190, 1191, 605, 606, 609, 57, 656, 1192, 657, 658, 1193, 659, 1194, 1195, 660, 1196, 1197, 1198, 1199, 152, 661, 662, 1200, 1201, 663, 664, 1202, 0, 1203, 1204, 1205, 8, 167, 171, 610, 611, 1206, 1207, 665, 172, 612, 613, 1208, 614, 1209, 174, 175, 1210, 344, 323, 1211, 666, 1212, 674, 1213, 667, 1214, 1215, 675, 669, 672, 1216, 12, 1217, 345, 615, 179, 1218, 676, 1219, 677, 347, 678, 348, 349, 1220, 350, 679, 1221, 1222, 326, 680, 682, 1223, 1, 1224, 1225, 351, 1226, 1227, 115, 1228, 116, 1229, 352, 1230, 365, 1231, 58, 3, 4, 618, 622, 1232, 126, 59, 367, 1233, 368, 623, 627, 1234, 1235, 683, 180, 628, 1236, 9, 1237, 181, 328, 685, 637, 686, 687, 688, 689, 127, 631, 1238, 375, 690, 117, 1239, 118, 1240, 1241, 1242, 182, 1243, 691, 13, 1244, 692, 693, 694, 1245, 695, 14, 696, 1246, 697, 1247, 15, 17, 18, 1248, 698, 1249, 1250, 1251, 1252, 186, 699, 1253, 1254, 700, 701, 1255, 702, 393, 703, 704, 332, 705, 707, 1256, 1257, 1258, 711, 709, 712, 713, 2, 128, 60, 119, 714, 715, 716, 1259, 1260, 717, 1261, 381, 1262, 333, 120, 121, 0, 123, 124, 718, 719, 187, 61, 62, 720, 721, 63, 722, 188, 64, 723, 1263, 383, 724, 725, 726, 727, 728, 729, 730, 731, 732, 734, 1264, 733, 735, 1265, 736, 1266, 1267, 737, 125, 1268, 189, 187, 1269, 1270, 1271, 392, 738, 386, 1272, 739, 740, 1273, 127, 1274, 1275, 741, 1276, 19, 394, 131, 1277, 1278, 742, 743, 744, 8, 1279, 1280, 1281, 20, 132, 397, 1282, 745, 746, 1283, 387, 2, 190, 191, 192, 388, 395, 1284, 747, 1285, 1286, 748, 749, 65, 750, 193, 751, 752, 135, 753, 754, 755, 1287, 756, 757, 758, 396, 1288, 1289, 136, 1290, 1291, 1292, 1293, 759, 760, 1294, 761, 398, 1295, 1296, 1297, 197, 762, 763, 764, 1298, 765, 195, 766, 1299, 1300, 767, 1301, 768, 1302, 399, 769, 770, 771, 335, 772, 9, 196, 773, 10, 11, 1303, 774, 775, 1304, 1305, 1306, 400, 1307, 401, 1308, 402, 1309, 1310, 405, 1311, 1312, 137, 1313, 138, 1314, 1315, 1316, 1317, 1318, 345, 198, 776, 1319, 346, 129, 413, 66, 350, 1320, 777, 1321, 1322, 778, 1323, 779, 780, 781, 782, 783, 784, 785, 1324, 130, 67, 786, 1325, 1326, 1327, 199, 202, 787, 788, 1328, 789, 790, 1329, 798, 791, 1330, 1331, 1332, 792, 1333, 1334, 1335, 1336, 1337, 420, 10, 794, 11, 12, 1338, 1339, 793, 795, 796, 21, 22, 203, 797, 1340, 204, 1341, 68, 799, 1342, 800, 1343, 1344, 1345, 801, 1346, 802, 1347, 804, 1348, 803, 1349, 805, 806, 807, 809, 421, 69, 808, 1350, 141, 1351, 810, 13, 1352, 23, 811, 142, 1353, 1354, 1355, 1356, 1357, 422, 812, 14, 1358, 143, 424, 1359, 1360, 1361, 1362, 1363, 425, 813, 1364, 427, 433, 1365, 434, 1366, 1367, 435, 1368, 1369, 1370, 1371, 6, 13, 1372, 1373, 1374, 1375, 205, 1376, 814, 815, 816, 817, 1377, 818, 819, 338, 12, 207, 208, 1378, 820, 821, 824, 13, 826, 827, 354, 1379, 436, 437, 15, 1380, 17, 1381, 209, 1382, 1383, 438, 1384, 1385, 1386, 144, 145, 7, 8, 828, 829, 830, 832, 439, 833, 351, 1387, 1388, 440, 831, 14, 834, 355, 1389, 1390, 356, 210, 835, 1391, 70, 211, 212, 441, 442, 836, 837, 838, 1392, 1393, 1394, 839, 840, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 15, 843, 1402, 1403, 841, 842, 844, 1404, 1405, 341, 216, 223, 242, 1406, 1407, 1408, 188, 1409, 1410, 1411, 24, 443, 1412, 1413, 1414, 1415, 444, 448, 845, 452, 1416, 1417, 846, 1418, 1419, 1420, 1421, 453, 454, 847, 455, 1422, 1423, 1424, 243, 190, 1425, 71, 848, 849, 1426, 0, 244, 850, 851, 456, 245, 1427, 852, 853, 854, 1428, 855, 1429, 1430, 856, 857, 858, 860, 1431, 861, 859, 392, 1432, 1433, 862, 1434, 864, 1435, 457, 1436, 1437, 1438, 1439, 352, 357, 358, 1440, 72, 458, 459, 359, 863, 865, 866, 867, 868, 869, 871, 1441, 461, 19, 1442, 147, 148, 1443, 1444, 1445, 870, 1446, 1447, 1448, 1449, 1450, 872, 16, 873, 874, 875, 876, 1451, 877, 460, 1452, 1453, 878, 879, 880, 881, 462, 1454, 1455, 463, 464, 882, 465, 1456, 1457, 152, 1458, 883, 466, 884, 467, 1459, 1460, 153, 1461, 469, 1462, 1463, 1464, 150, 885, 1465, 470, 886, 1466, 887, 1467, 888, 889, 471, 890, 891, 892, 893, 894, 472, 1468, 360, 363, 1469, 1470, 895, 393, 896, 1471, 151, 154, 155, 1472, 1473, 897, 898, 899, 900, 901, 902, 1474, 1475, 1476, 1477, 1478, 903, 1479, 904, 1480, 1481, 473, 1482, 1483, 156, 1484, 1485, 25, 1486, 158, 1487, 1488, 26, 194, 905, 1489, 2, 1, 1490, 906, 907, 908, 909, 398, 364, 366, 369, 475, 490, 915, 403, 1491, 1492, 1493, 247, 248, 1494, 916, 917, 1495, 918, 1496, 920, 1497, 1498, 945, 947, 249, 949, 1499, 1500, 27, 493, 1501, 1502, 28, 494, 1503, 1504, 250, 159, 951, 953, 927, 370, 1505, 371, 932, 251, 253, 254, 495, 496, 255, 256, 257, 1506, 1507, 948, 1508, 950, 954, 499, 1509, 1510, 502, 503, 1511, 1512, 504, 955, 14, 956, 498, 505, 506, 514, 1513, 1514, 957, 959, 960, 258, 262, 1515, 515, 1516, 1517, 518, 1518, 263, 372, 1519, 1520, 1521, 961, 962, 1522, 1523, 963 };
-    protected static final int[] columnmap = { 0, 1, 2, 3, 4, 2, 5, 6, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 6, 1, 21, 2, 22, 2, 23, 24, 25, 2, 2, 7, 26, 0, 27, 28, 29, 30, 31, 32, 8, 33, 34, 0, 35, 29, 36, 37, 38, 39, 9, 2, 6, 9, 40, 14, 41, 42, 43, 31, 44, 45, 18, 46, 47, 18, 48, 32, 49, 29, 1, 38, 50, 4, 51, 31, 52, 53, 38, 54, 40, 55, 56, 57, 58, 59, 60, 61, 0, 62, 63, 64, 2, 65, 3, 66, 67, 41, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 34, 80, 81, 41, 8, 82, 45, 83, 84, 0, 85, 59, 86, 49, 87, 88, 89, 90, 56, 3, 91, 0, 92, 93, 2, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 59, 68, 107, 108, 109, 5, 69, 110, 111, 70, 112, 72, 4, 113, 4, 32, 114, 115, 24, 116, 117, 3, 118, 14, 3, 73, 119, 120, 121, 122, 123, 4, 124, 125, 126, 127, 128, 129, 130, 17, 131, 6, 74, 8, 132, 133, 75, 90, 134, 135, 136, 91, 137, 100, 1, 138, 139, 140, 141, 142, 143, 0, 144, 145, 146, 147, 148, 149, 150, 151, 106, 152, 2, 107, 50, 153, 154, 155, 156, 1, 157, 3, 158, 159, 0, 160, 161, 162, 163, 164, 6, 3, 165, 166, 0, 167 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return 0;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 1218;
-            final int cols = 8;
-            final int compressedBytes = 3316;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrVXc1vFscZnx3WdHA/slgQrJ7WhFBX4kB6SXugjAlpSKSqlg" +
-                "EpUYUq9dBy8KnKkUhjF1WmJx84cHzFASm3/AlWxSHixKFRK079" +
-                "Uzq7+37s7jszv2fm2X0NbxIT83hmn3m+P+ZZv3nvL/ff//bauX" +
-                "trB9e++9HzByc3H/1KP/78h/Pm7qsbtzfEmz9cvf/+k4efX1g7" +
-                "2Lfw+xV85/Hvfzh/fPdNA79y/9KT7S+fVvBPnt9/+fGjvXr98d" +
-                "3/3tADrH/vKsCP93xp/ymEyET1OWv/29y9br8aIbRcy8UA5x+Z" +
-                "PmB9/SlF4JP1/6JofzM2/ic/vXJ77WBbXRDi2nc7hxdPzm7vCa" +
-                "M+tUhosRL6Ifm7Yve3+FXyd8bu//Gjjan8fT9bb+F36ue34WT8" +
-                "ABzI//q6uLihlBBrB1rIUouPvi7040+PM7N3dKPm318fXHqy/8" +
-                "d/f/j3/eefvfjTy5uP/vzJPx78p9r/m9vj6xeF//nB9ubTiv/Z" +
-                "4cWXZ7c34vjPw+/n69LS705m6Wf139LvN19f1493Kvr980Yu3n" +
-                "r9puDnlt+9Wn6RfRjfvmP94ukvkG+m/Dfyozrys9OSH6FE83X6" +
-                "sd8Ucvr/Wgi+fWDSR7aZrVtfp55hfP8XhrPlE/L3dOl/2vClj+" +
-                "nTl0uft5y+o/s/nn/v2o98Fp/ptvwH4w+vfd2r4a8W8H2Xfxj9" +
-                "/Ez6UOQnHJ+x4+vcHT9nJPtkd1ibB9x1MnKvsF+r/EOsCX78Me" +
-                "XvHZ//H9u/w/yKrX+k+LLJL7I6v+jFl7+YxscH+5N5fNycbx4f" +
-                "P2nwmzT4XV6pfRg5fpRa5k7+FDsbFX/Y8GX+l23+o/WO/LSfv+" +
-                "ah/BXBUf6J4P9q4E3+slPnL3N4NgCcmx9z949ZP2nW34rBD9df" +
-                "kH9D8f3C/02a9bKdX8D8mZl/J8BFN38fN3+erffbx9U837e+DZ" +
-                "80cNmGu/L3dv6F+Df2+rcRrnnry059xBdfHu99T6k/1P7p2/0O" +
-                "fXca+Vj4vwDcSkGO6pdu/Z8+n8RflSwfCfuXMfUDLryrny9q/b" +
-                "w11c9v9AZ7fez+orW/SDufGPJ8zqR4Aaj9Y+7xnxkl/1ZaUD5F" +
-                "EGq8EFTfgR8VBnPz17HhLv536b9y/EQc/jz7iPJ/f/7a/OmPn/" +
-                "Zi8k9vfaENT7HPDvxFN/8O5z8o/55uJBc1yLyjimj92PDe+WXf" +
-                "VCTsL2Kez60vtNe7+N+Kj8Uifq7947MbgpBfCvmTUH6B4IT+MW" +
-                "v/9S+856vjf1y/4NU/2vBJA+/E1xGuxgPX2InA9YGP5Pkv+HwV" +
-                "73MbbuuuOS2UbC9T0/+RKiy/TXxQLlDpWLu8+kvZQdT0QgWljc" +
-                "gr89XAlRGb1Z/b9Z6KzV+LvyyKCn/Z4P+swr+wP3UyxZ9OepnC" +
-                "P3B+jJ8eST7m9O//YBEjX8i+deVMqnj8XfJVTH8wx/hV8tum76" +
-                "aLvi75bfbH5wsbgI7Dq7/ZnSrX3D8Oq99ovXHyN+fvrxLtrwjE" +
-                "SEPQRwOdptg3UOEN/T2WT6L+q8RUa2bfhdO+T/cP8j/3PFdS6K" +
-                "982aKJ0P/Y/SNS1ST8I/RDQPsqmysEff9Q0uBc/8fVLwX0F9pv" +
-                "TfRPsfETzT8R7HtctcMMjB/wX4i/7vgtEP+YSP3E50fyzYxvtI" +
-                "M5rRKd8q2n+YcluGHKp6Han8T8w8T5t2j57++P+qNA/vH9hSzn" +
-                "9Fe5/UkkHx9svpHFBbF2uTgrs98KsfXs9ZYoi4kS/7u8dsVExO" +
-                "8FIVmckk3TLVIafxb6z+0v0gRdBY6rw1oK6Dv2/SzUn2zDXfWL" +
-                "VeHn61/W9CPZdI98MvNTbv9y2X7d8+SfHlFD8gP6hwg/b/26WN" +
-                "6/U18k7p/Qf1y+PxlaD/l7K2i/cH1ch9O/KP3m9/e4/cd+fzBh" +
-                "vYhbrynxGa5S4XQplD8m84drP1B/E/nvofqfqfiR7z8XMdXJgg" +
-                "zn9x8j6bMUtIbrE9A++Y1HQVuv/fYr58cXaL2B8Z8O6mnk/V9K" +
-                "/01E9vdEqP/o6E+6an8zuHSsP1X4AP3ZIP0T+BfXf4J1y5T6yh" +
-                "D1O6L+OPVDkfdn9Def9e4/UuGi1/9F/ddg/OpYj+BR/WHU33XA" +
-                "RRvO71/z+sNt+Sic+YkI9xfJ/TH3B90fqepf1Q5b9olL9a8z8/" +
-                "uLZ8SHvvyB2f8j1ufI9a+l+EKD+IO6nlhfjezvwf5fbP3PC5e8" +
-                "/kCRWF+O729dj6nvcZ9v6cyTj+1modUfkxvLNyMLVZRKZJaNP3" +
-                "b0x0x/f0PUb9/6kzB+Srco7UoBkXwz6SNed9dP8Vf9+qRlvqs+" +
-                "+cHmqy58s4GLPly54VJ9ISw8q0//Mytom69n+nV5Wl80DW59+0" +
-                "uzz3D/ij55qD4bPh/CD50f4Y/8G5n+Pf4JOv9q+l22Z0zh72y9" +
-                "XFp/Qjo/wk+qW0H+0umTdr4Z/uPwXyScf3dZf3KsP1i/1gF+Mk" +
-                "m/kX3B/S1mfKDCJSx8/wfEh0cALnaBf9yN6w/3+4Oo/xgLj/U/" +
-                "8H4P8l9U/5YGR/zl9veqG2vF7Pmz+1uind/z4kcufm7+F+nwge" +
-                "NzQn88eD8Az2+k1C8GtD9c+jD3x/WjkfGD99P0yPQHx0H2Hda/" +
-                "dqc1OCld8fX48gHz9+rfqpLV1Z/cZM3PDuVfU/kHzofyO2fRuI" +
-                "jI38B6SPY5/0WA/znov+Rk+prY/DS8P76fQuJvniwfSfo3nP6g" +
-                "+R+u/6bffxmyvjJcfezU4xfn/b0Y/93rH5LlbzIznqz8nST/dT" +
-                "QjO/ZZ1c8P4CfLxWIjVLXoeNH/0KuKX2B8MbZ/gPlNpP6YofFD" +
-                "YSd5/4waMUXFZ9a/GpFNfnn40C75ymyY7OnEmv/fbZe5ObOK+J" +
-                "PLXzr/5TsZ31Pky/HzOl9RfnlSkTUva+fRxqeMhMs0+Dw/dPfP" +
-                "8PO16NhfDzyi/lHE0QfR93V3/Ty+pJ4f5r+gvg7iA2s/7BMmW8" +
-                "LaD3GutLsdGxuf6+3Q86PrA2B+hAMXCeuL9OeT6isR8RXp/uTQ" +
-                "+j+cfcPzdTB+iviUjPpPML9bQX3H/XxC/TpcPz4Sh2U4/j1fg/" +
-                "KKRTZ/KSuMdorMFEebNPxr+9W9v9ehH4D7YnqzEvqrzvhm6Xip" +
-                "DjU+kd76TNrHUPNrYn012X+kwCXZ/jjrt6h/HlNfBOEhO/+OhB" +
-                "smfMX1Ofb7m9H7mdjxaWR9hVufHti/W/ocjlp/oMunZMIHzZ8X" +
-                "3pwZ3+D+EKgPRdev4uBIieF8EjM+ZL7fmKufaH4O048rH+PeDx" +
-                "2bPwnzZx0VhevJ9J/dz+4/7haTf1cfgPfLPWDNr71V+uWYj8L+" +
-                "A72fEsh3JH2M19bLxPjRdDK3fn0c7hKj//H0hfNlyvF+n+n9kJ" +
-                "ywHr3fjGt/KfEDB3+2/Ry0//Qizf/Hy58m4ZcLvn1i2sex46e0" +
-                "/tDS/BBnPiy8P/P9UIT3o7DmxwRzPgzOnwH+4fk1Lack9dVvPm" +
-                "rqR0vEPGq0Cq0ft//Cvb+H5Xvc+JQ7v8aNX1HVBOFHnw8O3J/J" +
-                "/fCt4pm08Kp/IrNfW4kzJhNldYGoLO03tP2D8DD+8P4Huf4X7j" +
-                "8lvx+M+3ykfOT3/0lqf+C6uz8gafibREH2wWH9inc/gvv7H7eK" +
-                "o6n856KWf1HJf8X8Sv6P4PMj5sOS4ns6f93yM8j9G1J8qkD9ng" +
-                "hP1G/y+zNj9Y/5ftrR7UPs+w2HPv+81ui9fzC0/ezzPzifw5ZP" +
-                "9v0eZv+Yix9c/5qoX8g+rDvrv0vzTcvzX6z6sm8+LHA/tyNccL" +
-                "4RxE9h+VMU+8m9PxlbPyhC2pd5zxd4v3geWN/7+OC+9aT503p+" +
-                "r0//Lv4Y7p3/Q/YT2Z93BK6Y8Hf0/M7gbHj9xvOn66nyF4ST5s" +
-                "tJ50s7P5qPHYA+Qfhw/sft3/j5ceHIv9r1HQQP9wfT7hfT8a/v" +
-                "V11gzAc7/WtE/hI7H7zM30MVku/+/o7889KTh1/V+H1m8bv56G" +
-                "+9/FVy8it8fkPMvxPzw6T83vV+q7T6wcp/P3pfkEauXwzQf+Ld" +
-                "T2Pfn6Xm5yPRTy1yXdfvz6Ht719/2vNd+PdT+fuPa2Kg+eaAfc" +
-                "bvRx6d/4dgPs0x31tU8729E8qQ/fLD5/v36i+z+WH/82lw2vOX" +
-                "7XsuhjkfG477g9zzi8B8ATH+SZ9/YMd/zPqmalxAqRfyXyFb1v" +
-                "OPWizNXyfXdxSIfwWIbwUtfo2t/yU9v01W7aAvnf4o/oPz4974" +
-                "hxg/ceWfVp+NnM8XZP9x2v0jQv+RWb/j9rfGjX/R/R/C+62R/Q" +
-                "i//5pe/4+cT/fWP2nrZenM7zMQH2Xe/AfVVxv/d65+fuGtL2Su" +
-                "/kNOsIVL7wfvbOyYv5xQ+eOZP53Q9sf1Ad7+3v7UJFDf6dAf7Q" +
-                "/ghWc+dUKrP5MT6OT6Uxg/KF9aRH1M7HoUP2qHwBeS/nwMD/5+" +
-                "wgH2J9SvxotvEfz/dk5edw==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap1 = null;
-
-    protected static void sigmap1Init()
-    {
-        try
-        {
-            final int rows = 1218;
-            final int cols = 8;
-            final int compressedBytes = 2934;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXb2PHLcV59Cz59Hlw/TBkg+pRooQbKHCSWOnUDwnW4kdIL" +
-                "BwsoC4MOBSharApQLwhCskVypcqFyoMOBOf8LacCFcdY2B4Kr8" +
-                "KZmZnf2YGZK/Rz7y9qxoC33s28chHx/fx498HFGI5pMLy+fss+" +
-                "v33n0y/ee3k6MHLz56fu+n9x8eVsef/vz207v/uVntCVEI96cQ" +
-                "j0QuRdn9sNBiv/l7Wn/TECO0H/j82YIZ8J999od7V57c//Sdpn" +
-                "9vPr83//Dhnw6O/9H07+zmx3sOTg06RqR7jL8wEGD/+fL9hdAL" +
-                "s9gR//ijXk35JKKvPtIswtT82+4/pmuXfbwA89sOvFyvn27w5f" +
-                "+F/nLtZ+PfrjyZFjX/jRdv1PzvP9xr/Zs+fNn5NznWr4vUf6b/" +
-                "MK6fc6BXtPiFHn8M9d/qX/zo2L64118k+1qO+Eua/0M/geOfNw" +
-                "/Obc+H8yNOO/4dc//J9nfXHB8C+eL+LaNr7vpG8UsiOjn+QfyS" +
-                "qh++/Sf6z+D2if4vML7cvvwi6YdtfaT2P5Uzf4V0IQA/mj/e88" +
-                "/eqsf3/Y1LnzfxwZvPv2zGt4gP7p404+Pmx/H8N0xbZVD8zPRf" +
-                "EfJbhA846bK4JZQSE6GkbF3Qszu1YVC68WuTetZlIRt61o6voe" +
-                "/36dz2of0z+h/lP33h8+eWr9XFaOCCdD/Q8wxRCujidBhs493/" +
-                "c6b/0vsfm+6LD47i1wrFvyg+CVgfG8utWIQoZbXmb5Z7Kctl39" +
-                "5um8mz5tuqeWwlDlSm1eP9CPhjdP9y0fV/8HU9wolaz0lt7D9X" +
-                "9Z+6kfIkGF/ywadUn18vviti2W92+zx+Un7lfH4F8Rl3+0x+vP" +
-                "5Z+F+a/QlFZkuDD6kAunkB0fUHDT6sf97P13H7f/aWDX+8+9KO" +
-                "T6gE8yND/SP4ZDkNn7B9uPaBMH6jfHUU+cx/c/3jyVE9v0LceH" +
-                "Hw6PJ8Z3oodHFbNQMj2K/k9hHkt11+HN4/lD8DeiO//Gi638ov" +
-                "a+W315MfzK948mPjh2K78hu3n3s9/3e78vJe8UkmJkd1flzHp3" +
-                "/++r2D44OnmT785maO6Uh/av/05ZXvH/T6f7CQ75m5/5H5ufIt" +
-                "RD6wYkp6wS8++vldq3+3Ov37N8V+oP6x7bvqD9CalsTwz+Px/7" +
-                "iwD0b7mlWW+CrryV2O418v+Azxc9vnPp/FH+ZfBcG/xtGP+eb8" +
-                "G/yDSX/C84fvEuQ3bvuF6YnzoxU+MRrM483V5J/JU/HBMPxw8H" +
-                "i53i7N1UA1s+GTuuhP975VgfsPoH84P4T6g/I7gF9BfMyNrwXn" +
-                "z0T8LDg/5tAp03qR8V2P/oGBxsPPhId998FPUsf3XPsUQvdZ34" +
-                "nzR2Z+xY8v3e3v7oo6/6gbmRxVQtb5xx+/VtXx7Sb/eHzTpGve" +
-                "8Wkc/LYc6XcZDb+pWidcjlneoOSfqH2dFl/yip/K8W/h/qx7fx" +
-                "fu/0aLT875fN1reiR6yPxS8EXq+uKuv23zA3q5TCJKnetm3UlR" +
-                "qLJoo/JfbeJHRc/+Xhz7xWy/mPPGh+QzXTBmYrqQr5aqJ1+ufQ" +
-                "PnzwL2RwKfb/ucRvHfNvrv98+kekdMrtXOI/uLEFefnV4VpZoV" +
-                "4r/XJtc15L+qnsnaPjTnY2X2Qb0ctK6XQjNBs7L+Dxwf6fk5JT" +
-                "+QlvZP+u3vL9oXXfvbpqP4EvHL4u+ipmdNaiN+W6+T/dOl/7+2" +
-                "iA9uDeh3enTYP0r+k4fvL9HlJ0Pl347fxi+LE6f8uPKP0H/w/F" +
-                "us50dZn077jkIXFN8rlJ8RzzeF1i+A/AniQ57+h4Q/b4wKxP/s" +
-                "+ldxx4+uY+Pn6PlU/4eIvv6tbP0bX76p808evk/CT/KU+NIc9B" +
-                "/Rl/h4t2lWDgFEYv9UKH4fEv95nN9IMv90Ovf8CsQ38f41C3/b" +
-                "Dj7qMf7E+G/V7D/+UBb1Er5RZvryfKdomG63v4iCH1Px/YT1A5" +
-                "zzUZHpmS9+s4KYB/lpPhyhtO6PFC19UF+W135Mk+x/x7+7wa82" +
-                "+MHzAb3ZH3j3yf0vWv39W62/Hz78l+F8qaP9xOsX4zsG/6jW/h" +
-                "HiF6YMVxkjqIR0d/zm4sf1QW397MpO662Mb5vy649/zI/o/eXY" +
-                "rd8yUf+926fmj6qOn0PyR+P+l0f+VaD54bYP8Ev2/SAVS/6Q34" +
-                "Gw0fpfAYFGiB8c+e8qP1M7Yp2fiVV+xt8fUcu/zOcD4f4wkE9Q" +
-                "fiXo/SPndwv/fmnlv1brx6n/pPWdD+OfXnyi6fd3mc6PKuL4As" +
-                "/32Ohyg3/TXnb2s2j5e9Pt1B8xej5N/yE/kd6/n0L18TNX/Az1" +
-                "V/HsHz5/ZbnfYxZn/uH54FjjM98PEnZ+c/05WdTnfGK7H+hkXb" +
-                "/zwETH+JbRfkoPfImPP/l8tCc99fmh5PjDtvEjv4nISJNobx/x" +
-                "Z9H5ueP35NfeImE+f9v6FQH/YdH1lvH51/St0stGA7LZpUdf1f" +
-                "/4QiuRHc/q8PavU5HrKOcTQ/HL1/NzMfybD70M0A+kX4njh4Lq" +
-                "iGz22X3/Hp/ukO25rM+5+35Acvu2/oPx4/Nj/f6t8K0yof75yF" +
-                "dvmc7s31TIWgKzq+J+g56U9c+falUW1bQk6l+E/r/S53O3TQ+1" +
-                "jz18NE9mv1Pf/5zc/1DzL8b5eMf6wPUTbv1l1y+Szq8Z5FXlRP" +
-                "l1+tfDhwfzk/vmd95pPX3/bIwvJtW/oieycvPnmjTQ1Pe/M+ne" +
-                "9UFk/Gu2th9Rzndaz1cy7VMEfFa48P2K275lfejOvlDvbxEe8Y" +
-                "HP+gH6l3h9suefcn8paX1ZiMb2Fb39JP5XeNh33vwQ/B9x/xzN" +
-                "365dvg7/ju6vYp8/TH7/kXv9kuxD5eqf5f62p93+D+gfvD+JeT" +
-                "8TvD+Eef8X3F9m34/kuX9op3vcTxQxfob1+Ymfz+wf3j91y59/" +
-                "fw0lfizX/8wHjhvHj7lY3w8jh/fDhN2//krdzxxJPmH35/ren5" +
-                "rZ/Lva7EBI/uaD36bYf7NmVeh+JrR+wu63hudXlvy8+CjvT2m1" +
-                "QdWUEJNbXySF/LVa9mGR/723eHbV1Yelvb8pdX0Ixj8jtM/h94" +
-                "rvS7zWNDF+04ek+3+58ktNR/V3bHwO1nelpUe5/1ek1H9qfm57" +
-                "f88pwnfCzl+u7POpcXxU/AjWN8P69VD+mRjUv8vN+mzb+dkg/I" +
-                "qAf8he/KEC5LNrGV+E+nHHQKPU3+bD+MseX8Y5P+aBf24dH3bX" +
-                "d8d4f3Ph1E9m/bdv+2P8W3Lwt3jxi9X+8t7/4JtfacpcXPT8UP" +
-                "Teb8PB7wn5Hag/R4EeFZ8P4+fG/9z4AucP3PyC2n+zfNr66KNe" +
-                "fXQ9ULWqjzbT1/XT9P1hC76N46NHvPqWyrL/NPSQYfW9qH6YX/" +
-                "/rptPxl0Tv94m2/8R4/13ujt+d7/cKur9O0NtHhhb2b8Sv3BGe" +
-                "Tb/NdFzfdqevf97xGxXfpx7AiBEf0uMbYdEwOr7qtj+E/Rnkv3" +
-                "v7N/nG/k0Vw/+x398SYp/o+LQZPxnUx5LuxzDHF4T5SVp/SaqP" +
-                "Y9SfDuWb+cbf1ue78HsffJ0W3+D6SMf+Os1+2fIn5vlDuADc9Z" +
-                "8r+g6gy1A6rz6W+35dfH+d5fz3jK5fLP00+7fY+JVVP85DPqz8" +
-                "PwJ+gPy7Az9cvp/s2+79Mz/5vp8sKL61+ed82fmK2v8I/ttjfy" +
-                "YE/wk9H1zS9i/558MtPy3o8UnOkG+bX5TrnzrOPxRh8mXlX3z8" +
-                "wro/95K2P2faHxQR+xeyflLUpyNBpHp/L6iPwvtPTn7UP/x+zb" +
-                "T6iepTouQnrP35WPqL/Ld5/7C9X1mJSR0myHaKn43rQ0pXVIT2" +
-                "Vx677RO9PgXtPwW/P0J2IpFB6xvXvwB8qFrcjzZ4Pv38I88+hb" +
-                "3/2qd+hTk/zPglzfvlfe63du9/bv98Ttr9WY/zozIF/sR9/w8X" +
-                "X4fj/x9FI4lU");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap1 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap1[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap2 = null;
-
-    protected static void sigmap2Init()
-    {
-        try
-        {
-            final int rows = 822;
-            final int cols = 8;
-            final int compressedBytes = 2039;
-            final int uncompressedBytes = 26305;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdXL1vHUUQn1v2OZdIKIvlEIvqnFjIhQuUJlCYnCERpECJnF" +
-                "iCgj4FFaI00tpKkVClSJHScoFElz/BQilQKjdIyBV/Cnf3Xux3" +
-                "59v9ze7sYsMV9rPn7dfsztdvZo+oeXT7Q9HpY+Y+18R7PO21rx" +
-                "3ovyRLWlHVfOj+tLTc/l5r/kPd/2TzO36wun39+dq3Lye7P7z+" +
-                "8mD7ze2drfrp/T8/ePHor416EdKJiuHqTBh//Pw/vvrx9oe/rV" +
-                "9+PNldf33p4PvDOzu3uvHto7cbdxcxC0s/fz66oq4tll8XNNkl" +
-                "Wqhq+uynTzafbr4o7NYvG5q1P3q2Ee+WYtT8zpZofwa8sGf657" +
-                "ZXce398/v9/dW7enetXCJaf725d+1wYW2LbHmvGbUuuv2Xtnc9" +
-                "lnWqML0GXwZ0wL9mv4thT2Y6e+tvabny75jfoL17/WpGV5Hr9+" +
-                "sfrJ9Gxy+9+oFz5i3zfPefgkLlwz+/5gRP5iRQkXncrtS2fJ04" +
-                "t92Q/3hcHLrus6yeOx2Wc36OHzT6+/mT+0ut/bh0sN3q782n37" +
-                "T243iqv6X21a82jq+uNuM3+qe1H+8149/eWZzaj62Z/SKZ/sX0" +
-                "vXH52B80VlHtV8wr1WySrmhBFZ8SVdYWVJmqpKpq/sAH2Cm/vv" +
-                "mZgP058tOj5M/wBRT5d8L131x+q8wSTW7QAhWfE60sH600/G8a" +
-                "/31jsmpDFFwc/WT+V7LM/+bycZ/+arA+sH98/ihg2FVPf5YO+b" +
-                "jcrd+crj9K/ox7fDozPjjIyP946Nc/Qv+Z7ynFyXer368/f/Jd" +
-                "Fx981cQHd3Z+7Ol3uf8wEj8F+C/i9g5+1HrgUhTTziqWgXWTbW" +
-                "L/Veg/Yfstiy+R/T+cxg/LL9v4odi79mZhbfFd/EDj8YOJYTum" +
-                "I5662hvq+b9jbNfx8jekF2xP2A7GRwuRzi9N/1Hr61aoRs+/9H" +
-                "wy56/BWcL0Ukin86I/7PPfhvp/tWP/2PYZ2Bd/+yk+VLrxIfb8" +
-                "Ccx/XD+0+m/iwE/6+k9hp7HuG4xiHJ8yQfhjlP0OxE9F+Ghfvx" +
-                "bAfyq89uvXTj98MdMPP3f89+/fWPuefhn1341z/vHxk8vBRvsD" +
-                "7Jf4fDDsn5fewa1t/DuID/a9tqjk+ic4vsfr8/If+Qdgf7B+Q/" +
-                "zx0pPYR/QV7WbPCb5hmvjxBN+gEXxDRQ5eA/8XrV/m//L7J4f+" +
-                "ivH/Ef5s+OojdXwSG/+YuPHj8EmTcP0x+H//fDrwzT9S4JuQP9" +
-                "H6kYu/HI3qJ5oF2tj+Hfbb06A95r8fP8L0CPuHnoT4f3nmfJgw" +
-                "+WPBl27/F/NPNr+ui6b/+rT/djKVqmZtE+sHm2v/xuWDn39C8R" +
-                "NSC5H4LOwf0DPjg1L7zPKPtMS/QPpJ5t9AfA3VN4jrIziy4o6v" +
-                "pO1RfQKsX+g6qk771AO1J80fTntUsyGaNWgGfh+gf4Tj4/qHOg" +
-                "g+HVGk/vVH1bd44md7Bv8A+SNh/7nx/dP2cfUfmfMLuL4gBsgP" +
-                "wHfl8smUvxB6AL7Oxh/C8vN8/XoE7L9/fFd+uTzNL8vxJe/4cf" +
-                "nvMlH+G/bPzj+QOz+ix/ADy2xvpPFRivwJJch/CwU0d32aiou/" +
-                "hfhOKP4UrH8wnXngVGD8yJN/5vp1n63p8lcn8m8W1Lj8G+b5Jx" +
-                "DfefMrOhqfYttnTv41Q35loB8KZvybDt+H+Qs//g/GZ/g3kfIJ" +
-                "8Cvli78j1h/tf2XOn2TmHz7/iL/+/M3hfPxadPHroH5Ghh+I76" +
-                "cAfADnv/n4eTlCwPh27Y3v2fbZccxXzLNZ/a6e5rdomt+iLr/1" +
-                "jBmfxM8vLr+VMP6OwpdxfqBMlh8A/Z/1mE2wf478S09+QJWKjG" +
-                "m7bejtFJcfNhMztl3XRPfwF3/8H3s/BK5v5l84+/fnByC+Lbzf" +
-                "hOmJ7JMEX9Be+ZP5B0J8WI4fA3wX0gMgqSz6KRE+F4SPmnT4aC" +
-                "r58cs30g/O9gz5D40ve09c/ixH/B8SP4XYj/n9q5j7qwLiS4Af" +
-                "InwQ+M8IH2PdL9FAPj106fjx+OY+N75D91+E+KGJ3L9QfBbmL+" +
-                "L0b7L7DR7lpiXy2acXgfgqxI8A/3F9cK74mIufXOz4nfV+h4z1" +
-                "zxA/wP6pvz70wuMf58tfjn+cs34/Dr+nZPo1RH+WYv8llX+eMv" +
-                "+C8AEhvgDrJ2vv+Ub4ABs/iOe/9P0Tovo9JP/I/xfXD2D/KUV7" +
-                "7fWfdHx8n+D9Bxx0w1ffJKOL4y92/Bu5vszyk+T+s8A/D8IXKv" +
-                "Dd6owsi9/vAeiwf6l/BPQTjG+F/m98/7z5i+NLTv+C+D7P/Y85" +
-                "aqdfq7KZwnpV2Mb/K9tO73U9jOvXpO9Pc7e3zPay+Ou/7t/nr0" +
-                "9A9/P+7+sH9lWYfw3GdyzHvvfrh/z3r5D/AOIDqf5Nc79HUB/E" +
-                "vR/ioufOz6Dzl9l/DfWfA/cP5zdAfJ/Zv4L0FPXZoveroPwGCe" +
-                "+vI/8vb310ovoQ3/0+Dv4b3V7qX5y7/RPi4xd9fjC/kAJfZPlH" +
-                "46qCf386sv5IWF/DyE/nxU/w+2W5+Ehsfj83/hSUnwvOP0H/A9" +
-                "6/Ycmf6slU+P0gV/t0+XeBfUT5Vd/7w3F+7GLnJzOPH/d+vxD/" +
-                "TpofgfGJFP8V4rNC/RGV/wqhx8gPny7GJ6XvH08Rv15kfOvfGN" +
-                "/DP1ifLn2/SmY6il9xfMuTf6f95dAF8nf+8Y+sf4Z+9Opn6f7K" +
-                "9x/FLwn46xv/HyZOQdc=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap2 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap2[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        if (row <= 1217)
-            return sigmap[row][col];
-        else if (row >= 1218 && row <= 2435)
-            return sigmap1[row-1218][col];
-        else if (row >= 2436)
-            return sigmap2[row-2436][col];
-        else
-            throw new IllegalArgumentException("Unexpected location requested in sigmap2 lookup");
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 4767;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNq1XA2QVdWRfv6MQyYQBAmwiQZrU/7F6LpARLNuODNvHo4mlc" +
-                "pWUroa4gjqlkBmAJfg4ECce8+97828N2MRLGBGs1VhwviTn9JN" +
-                "md2N7JrExBXIootrBTU/7pqUm80GjSQClhPdPj/9uvuciyZUll" +
-                "P39jndX3d/3XPfu38zVCYrk/rrlUkzkt76+uyv3NwMfWBgemVy" +
-                "sEoawDzQnD1YmRy6U51Umax/pjJZKlUm8ymVybR7eBbsR4zG6C" +
-                "DKPbrHx/taelKpVL3MzJ0NfEbMfuATpVJ6eYn9o4xmztcucvur" +
-                "A/ulTtoh5jz0pb2R6SuE5rGzPZZPS6lU218q6X/wNbXKqHI4nb" +
-                "5ffwUjqS7Vpe1edWUlmD+eneJWMD+QHAHtqP5f1MBqNs6Sb6qu" +
-                "+l3qZNVVLTtNPsXshz8PqDmqCzgdtVG+m435eLvrp2fT9GqY/a" +
-                "AZb7u3fS97U7+pHyuVspOzk7KZlFE/AdvTtIbV69DPQ8khrsva" +
-                "mH1vqeS1rbB61M6m6D3Wtl/3MuQbsH3fzWt7bQ0tqmuwQ/97dh" +
-                "lYoPq8tZlhBs/n/X+n98H+Sf1UBn7ph0E3rsYh+zhK/TiuzDrd" +
-                "osbzHxoNx9BonK5OVOPDm5we+un11RfJR393aL7T6t3m59k5F2" +
-                "Y/QCT009m+Z2z6MePl/iEC+jkO/WRZjW3oguQ3Ifemx15c24oe" +
-                "dVygn8a23+QXFX/fzQcrZg/9HB86Cv1c4mtq5VnD+iHqPtign8" +
-                "16V6lV2c/MHuRB2J7JXnIrmP9an65W1U7IXkONWgU+aH0atgPf" +
-                "gXX2stc8Z/evqlUdPSCPOGz2VP1eb/8RHH3/Uf1LmD2PUaof87" +
-                "b/zF7Ifp79InsxeyV7NvsxZcwOwXaU1rD6SfbToauSw0L3X2z+" +
-                "P9kvia1jAZl/ZW2/Ndx4NdkPeWXOA9BXcG9ZOfe3EX6THW5iU5" +
-                "WCTFFaRIrr5FWVDk1zesLQcGh9EH1Rn62mdalUv89p89MMvvp3" +
-                "HFl7L0Vy0WjGWcmswOr65PWQe+xBFWFE6FRvWDGPgNjsqjAz2W" +
-                "X9pVI+PZ/RxE5Tpl/TnLRZp+HQB/TNICdIQ1g3cyucuc3sOz6L" +
-                "M6v1EfLT7PnoIRFnguemfzIjXzvs0FePxYsyc0bExnEriD3BeZ" +
-                "iVzCxZcZ3vp8MOq2GQwygtYhjXeokaHprt9ISh4dB8c6NjJa1L" +
-                "pcYDhIYzySKOrF3MbchAsoizAqufpx8xc12JefHcxBE1HSvDin" +
-                "kExGYrw8xkl/Vz5qBbrcxnczVK6OEn3crOP6VWD92Kdo5FtNtz" +
-                "m9nXTkWbkY19aLef93N4lNoj3MbYrZZ5aO2wHT9K26VO2kNfYl" +
-                "M9uzg2sbf9HAwzSw48EzI2W7IuOTnbR9do5l/yuWR6cjSBb7v0" +
-                "+mRWA47lZDZcb74XJPRWa5ifBfO+5Byd2LPyweQDsP6gTpMLrP" +
-                "9FtY+5aMmHkkugn0/wTnU+D3GXgW1JcnnSVTucXJF8lKzJBrr+" +
-                "TD6TXJeXQbfMWm5Mbk5WJCckJ5pVfUP6KY96V3Kq80jeDdtcnQ" +
-                "F2vbn+TOZBX/7N+p7H8yfzPf5Sn/OyZHHSkY5zltkI9cNiPoG8" +
-                "8q80+S3lfUtugO0mtUKtgL6uQGk7vQLXekitqD9PGsJyNPd3+8" +
-                "ovKBJF9PX8hEepv5/b2PG5QuahtcPWH06XS520h77ExuQvip2O" +
-                "86qyR8PMkgPPhIzN1rmwcyHkWIjSVrwQ17rRubCxxOkJQ8Oh+e" +
-                "ZG7Vu0poj+8/4Bjqx/hNuQgWQRZ+1c2PFcekvIPfagijAi5D8v" +
-                "rNjN03Huke0OM1NEWT9n3rlQ5SqHvuYobadzXOsHVN7ocnrC0H" +
-                "Bovrkx+AKtKaLPeydH1q/kNmQgWcRZVd7xbLoh5B57UEUYUebn" +
-                "seH4ZB7Zk2Fmiijr58xB1626QXajtJZuXOtvqu5GP2kIy9Hc3+" +
-                "3rZ1MkiujP75fwKPUvcBtj1y3z0NphGw+nt0udtIe+xEY/VByb" +
-                "2Nt+ToaZJQeeCRlbxKgahfv3UTPg/n0UIp3iVqA/UPmlGq0fhv" +
-                "t30HvMbLSaYeOMwv27tSMGUHPMHO7fmxicZdNMTELW95JNv2n0" +
-                "7v6dEDKy5fW6Gm18O22g1WZs46xQD/fvPn82xWng/MHyw/37KL" +
-                "EjX7hGPxGsR0RNM3g+7/+75vmrRY3C/fuo6lE90M8eM6CfPbaf" +
-                "PW7oAx1/onoad0M/e3BAP/2sZNFmD/1satw+m2Mk9LMHMTjLpl" +
-                "V3IdKMwT6ymX42n4f0yDy0Bl6vw/H5bHoH10E/mQfioZ/e1/bT" +
-                "2kxNzUhvUGxib/t5MliP8MzQz55wmH76ulpUD/Szx1wv5f3pif" +
-                "mtA3uaZ364Xqq+31wvdcyB66V/NddLsJnrJbhmTc6E7SyLK7xe" +
-                "SkaSi6z1Drxekv+qT/os9nqp8mt5vTSwj12jmOulDUXXS0mj8U" +
-                "r6JY/y10swezds9nppAK6S3PWSt7DrJahpvteK6yXJMr84PYEx" +
-                "+TheLzGmT7jrpSbGXS+NqTHo8RhK+7Mdw7X+RzWWTjg9YWg4NN" +
-                "9Cvdmn95IW+rmQI9MvcxsykCzirGqs45n0npB77EEVYUTIvyCs" +
-                "2DMZ5x7pfXFNxfVz5qCrqArICkprqeBa/5OqNHaThrAczf1RT5" +
-                "Eooj+/b+FR6vu5jbGryDy0Rmz6sNRJe+hLbEz+oticPRyfHWFm" +
-                "yYFnQsYWsUPtALkDpbXswHXlEGo4hgbZOEb6UER/h3GII+tPcR" +
-                "sykCzirGZLd4fcYw+qCCPC8XljWDGPgFhkKXkU1c+Zqx3mvqna" +
-                "Vj1t+M+SKfxdg39+/zI+00/eA7jpZpWcmfwpviWwn99T8Vk/f7" +
-                "uQLGCRXq6y50e1d/I3Go134PsO1Ppvo6uTa4xl+CKnq86Ubxmg" +
-                "n88Bqi1ZiZoEEMmcJt8z3PsOGdXOfU3JItTyqM3vzyuSK/n3p6" +
-                "/1ncknveavk8/6ON2UozKp1qv10Nf1KG2n1+Na70INx9BwNn0Q" +
-                "faXerSmiy1u+nyMbs7gNGUgWcVazpT8OucceVBFGhE6tDSvmER" +
-                "Cb3xLXVFw/Zw66DgVnNrN30lo6cK0fkRrCcjT3Rz35kb///pzg" +
-                "URqf5zbGrkPmoTVi00NSJ+2hL7Ex+Ytic/bQz8+FmSUHngkZW8" +
-                "RWtRXkVpTWstWN8tzyXNRwDA2ycYz0oYj++JzLkY3buQ0ZcBYy" +
-                "Mmn0lJB77EEVYUSZP64MsfntcU3F9XPmoKupGsgaSmup4Vp/Bz" +
-                "UcQ4NsHCN9KKL//pzBkY0t3IYMJIs4q+X2jpB77EEVYUTw+3ZY" +
-                "MY+A2HxrXFNx/Zy5qvF31+G7b32g8346w4TvufnZJz4f8TObjN" +
-                "9+hOsab8jzUfwGvvj9O/RlquQe2o/1/t3VFMcmtraf94eZZR/i" +
-                "c5g/H81Ss6Cvs1DaTs/CtT4DNRwTovlGeoxEEf3xuZlHGb6V28" +
-                "TPW+TBFWH1+0Lu0h5yRE1+JKyYR0BsfjTMTPYwE+aztqUK7prM" +
-                "3klrWYrrzvukhrAczf1RT37k74/PozzKcD+3MXZLZR5aI1afI3" +
-                "XSHvoSG1NTUWzOHq6M5oSZJQeeCRlbxFq1FuRalNayFtf6XKkh" +
-                "LEdzf9STH/n7+81reZThrdzG+rlW5qE1YvV5UiftoS+xqV5THJ" +
-                "uzB9QjYWbJgWdCxhbRqlpBtjpp9a04yjPKM8iKGD5zK5y5Tc5I" +
-                "YnwTk+IMj3Eb62drnIc0tp+nFPOSGYkRsuE18djE1n4bXh5mlq" +
-                "y4DhmbLf379Bv8zMHPMOZ9HFWY2t/q0vPNPn3wGPcek6l5Yvtp" +
-                "X/HR5KH4DqS6DFDLwvuRovMR7tPrZBYffQHFDM8w7nwkozTPR7" +
-                "ciVt8SsmdVdYH9iDzPhuejItbqmT9sFHnEOqcJ9UUZEWkk7TnK" +
-                "6UIf6Gf5WBzcfGAe98WYRZFCzvaseW2YubhyztgipqqpIKc6af" +
-                "VTccDP8l41VV9HGsK6mVvhzG1yRhLjtx/mcdIvcxv7OU+N85DG" +
-                "Hp/dxbxkRmKEbExN0u6ZjJt97Qs++vVhZsmK65CxtY+oEZAjKK" +
-                "1lBNf6JdRwDA1ng/v3EY6RPhTRf95vkEhuQwaSRZzVcrsp5B57" +
-                "UEUYEfrZF1bMIyC29nRcU3H9nDnoelUvyF6U1tKL645BqSEsR3" +
-                "N/1JMf+fu8C8IoZGPsemUeWiNWr5I6aQ99iY2pqSg2Zw/9bAsz" +
-                "Sw48EzK2iJ1qJ8idKK1lJ66zM9VO+3xeYGg4NByfOzkG9W5tn8" +
-                "83tcB0B0fC553ZkIFkEWc1m/7bkHvsQRVhRKhpXlixZzLOPfS6" +
-                "uKbi+jlztdOdpwbfB+fDPfHzz+xCfp+V3+Cef8qzZv7p8J5T3p" +
-                "tZzDXs+efj+TJ+zpf3m/z9kf2dlutdpPzG8DfA9Zb8WnlWpjOx" +
-                "e39k/W7m1yD5cqjpAqv/Gx/3KmKSX5c3r2eqjwyeAZqb5PPP/G" +
-                "q7X5p3m/dHhfebt6nboK+3obSdvs2Ncle5CzUcQ4NsHCN9KKK/" +
-                "/uySSG5DBpyFjEyayksh99iDKsKIMn9cGWIHz49rKq6fMwfddr" +
-                "Ud5HaU1rLdDX2gcw9qOIYG2ThG+lBE//xzj0RyGzLgLGRk0ugH" +
-                "Q+6xB1WEEWX+uDLEDl4Y11RcP2cOurIqgyyjtJayG+Xp5elSQ1" +
-                "iO5v6oJz/y98fn9DAK2Ri7ssxDa8Tqb0mdtIe+xMbkL4rN2UM/" +
-                "Lw0zSw48EzI2m14Uv0Gh7yFt31DrS/i3obwLsX8vcpC+Ue390d" +
-                "Km/4cK7o82vv29kfwWPsb90cNFz9GIybHuj6r9Yfyi+6P2qfFz" +
-                "yPDvZeL7Q+joF9UX3d5J1Ll1517UcAwNsnGM9KGI/vO+VyK5DR" +
-                "lIFnFWs+l/DrnHHlQR1crzx5UhdnBJXFNx/Zw56AbUAMgBlNYy" +
-                "gOvO3ajhGBpk4xjpQxF9P3dLJLchA8kizmo2/S8h99iDKsKIMn" +
-                "9cGWLbp8U1FdfPmYNuuYJrCLN30lqWu1GeWZ6plusXSENYjobr" +
-                "T2ZzeopEEf3358wwCtkYu+UyD60Rq38mddIe+hIbk78oNlx/sq" +
-                "pq88LMkgPPhIwtYpPaBHITSmvZhOvKa2pT5TWnJwwN+DluRD9u" +
-                "c1HcmiL668+fSiS3IQPJIs6qNrVvNNyKefHcxAU1yDiMLT0G74" +
-                "1rKqqfHQHOtlgtBrkYpbUsxnV2tlqcnUsawiK6vV8thuOT2Zye" +
-                "IlFEl3dwdhiFbIzdYpmH1g7b3p+dJ3XSHvoSG8O4KDZnDyx3hZ" +
-                "klB54JGVtEn+oD2YfSWvpwXfkVajiGhrNBP/s4RvpQRN/Pd0kk" +
-                "tyEDySLOqvqq2nAr5sVzExfUVNOwYh4BsUPnxzUV18+Zq77wHa" +
-                "F8s5id/3bvN9s3/KHvNwfPlLrje7/ZviH74PG930TGb/1+c+jC" +
-                "t7qHfov3m9vUNujrNpS209twnf05ajiGBvy0B9GP27gPRfRXdn" +
-                "dJJLchA8kizmq5XR1yjz2oIoxoj8+gYh4BsUML4pqK6mfHp7Ot" +
-                "UWtArkFpLWtwnV0sNYTlaO6PevIjf//7rPvCKGRj7NbIPLRGrH" +
-                "5R6qQ99CU2Jn9RbM4e+rkyzCw58EzI2CI2q80gN6O0ls24zhah" +
-                "hmNokI1jpA9F9PdHd0oktyEDySLOarnVQ+6xB1WEESH/lrBiHg" +
-                "GxQ1+KayqunzNXm9/q90OA8yX/D78fcs8f4/sTuDWO7/uzevfv" +
-                "9f359eP8/ZCNaiP0dSNK2+mNuO6YjxqOoUE2jpE+FNH3826J5D" +
-                "ZkIFnEWc2WXRpyjz2oIoyINcWxpcfQN+KaiuvnzEHXr8zfF/Wj" +
-                "tJZ+XFdeRA3H0CAbx0gfiujP72dJJLchA8kizorcinnx3MQFNa" +
-                "6mOLb0GHoorqm4fs4cdG2qDWSbk1bfhgOOgb8gK+r4zK1w5jY5" +
-                "I4nxBz8qc3IbY9cW5yGN/bw/VsxLZiRGyCb7sMwumTQ/75NhZs" +
-                "mK65CxtbeoFpAtTlp9Cw74bFxEVtTxmVvhzG0000cxKo9fG5M5" +
-                "uY31syXOQxr71uGOYl4yIzFCrrwmHhvt+L5Dtegjsl7JgnTI2N" +
-                "rXqXUg16G0lnW4rryCGo6hQTaOkT4U0efdJ5Hchgwkizir2fK7" +
-                "Qu6xB1WEEbGmOLb0qF8Y11RcP2eOmmM9T65skzr5PFmr4t+3yX" +
-                "aFT1l5fLX/j/M8Od/1+z5P5lcZWNPbPU+uX3N8z5O1OStN2Hd4" +
-                "U5xUE83KJ5JX7f+kAfrkPfAZmA7XAxPm7zs4h+qpzs/G+K3pp0" +
-                "UtwLgWw/9fjgnx13Lnsp/wBCLA/+qk+U7U9LM6k+MMQ8uqLfnv" +
-                "JldAJHOaTM4w/aRc8SxZxLVyDv3sTa5kdX3c2eXfd3gO3cL7/w" +
-                "COnHFn");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value1 = null;
-
-    protected static void value1Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 3861;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNqlW2usnFd1vTQKsnH44ZQ0SkRlxwpJID8akJIqQKSTmTsY2x" +
-                "JQWkSQwq0j27KxrEoYIsdCsjMz370zcxNwbQeV2PVDdlPES0JB" +
-                "IKQ+/CNNEAQK9EHV/oB/4SFFgqQVCbmpOI9v3bX2Pt91QrhHZ/" +
-                "Y5e6+99trH883jmyTcF+6bmwv3hdbOzWGX1s3AeohVtObDzzzm" +
-                "z+W/uz/vWRjjn62oe2CX3mV9Nu5zqaaZ7+ZW9XNzy3/vK1sNWg" +
-                "mKM2Jr2BrtVtgc2Yp9b5P1EKtozYefecwvdad7PQtjcp5bbR3u" +
-                "gR3dbX027nOpJvXUxa3q43l+2Ve2GrQSFGfE6XA62tOwOXIa+9" +
-                "4fh9NLf1P8xHAUtE7vV8a27nctUmNQYFXUVdOcrPPa6wx2BMbS" +
-                "k+24rEcXNGP5p3VP3f2r8uhrQhNtA5sjDfbNe0PTfLz4ieEoaJ" +
-                "3enx4nt9Abff+qyMlNGoMCq6Kumllv9trrDHYExtjTVt9xWcfz" +
-                "lIzlX9U9dfevyqNvT9gT7R7YHNmDfW+z9RCr6PGzGit+5jG/rf" +
-                "sDz8KYqNtj63AP7OQu67Nxn0s1qacublUfUVf6ylaDVoLijLgY" +
-                "LkZ7ETZHLmLfvC9czNe7wXAUtE7vV8ZSt/d9i9QYFFgVddU0lx" +
-                "712usMdgRGW1+5lz6rGcvP1T1196/Ko+9oOBrtUdgcOYp97wg8" +
-                "iuFgTDE2h4xt3e9bpMagwKqoq6Y56XvtdQY7AiN6qrltxvLzdU" +
-                "/d/avy6DsUDkV7CDZHDmHffAAexXAwphibQ8a27n9apMagwKqo" +
-                "q6Y5mffa6wx2BMbY0/t9x8oA7ENvqXvq7l+VR9+RcCTaI7A5cg" +
-                "T75s/Dkd6Pip8YjoLW6f3K2F7vP7JIjUGBVVFXTTPxdOvS2tQC" +
-                "j9ZXbvLl87y37qm7f1UefevCumjXFZv96zDieX6IUfh0VXZYlW" +
-                "lXtKv8/25rakzUravr0JPfj97brctWpCKoaf7CVrdKUP+hvb6y" +
-                "VaU+KM7x7WF7tNthc2Q79r1brYdYRWs+/Mxjflv33zwLY3Ke22" +
-                "0d7oEdnbc+G/e5VJN66uJW9fE8x76y1aCVoDgjdofd0e6GzZHd" +
-                "2Df7rIdYRWs+/Mxjflv3PzwLY3Keu20d7oGdbLc+G/e5VNPs7e" +
-                "ZW9fE8P+0rWw1aCYoz4pHwSLSPwObII9j33g2PYjgYU4zNIWP7" +
-                "fXOfRWoMCqyKumqak3/y2usMdgRG9FRz24yHflL31N2/Ko++pb" +
-                "AU7RJsjixh33snPIrhYEwxNoeM7Xl+zCI1BgVWRV01zcnTXnud" +
-                "wY7AiJ5qbpvx8Ma6p+7+VXn0nQwnoz0JmyMnse+dCifz902D4S" +
-                "honWX0TnFPxvb9/ZQibQwKrIq6aprNQa+9zmBHYLT1lTt+35SM" +
-                "h9/iK5PR9q/Ko+9sOBvtWdgcOYt97ww8iuFgTDHhbO8M92Rsz/" +
-                "OMIm0MCqyKumqak+967XUGOwKjrV93RgW+MuO2f1Uezs7fPn/7" +
-                "3Fx6LDZFyi6tmwfhUQwHY4qZv70Zck/G9nrfr0gbgwKroq6a5u" +
-                "S/vfY6gx2BMfZ01HesDFTgKzNu+1fl87eHaZjGc53C5pOeYt9M" +
-                "4FEMB2OKsTlkbM/zUxapMSiwKuqqaU7+x2uvM9gRGGNPS75jZa" +
-                "CCuqfu/lV59M2H+WjnYXNkHvveHdZDrKLHz2qs+JnH/PY8j3kW" +
-                "xkTdvK3DPbDj66zPxn0u1aSeurhVfUHbylaDVlJ82B/2R7sfNk" +
-                "f2Y9/MrIdYRWs+/Mxjfvv6+WnPwpic535bh3tg33Ol9dm4z6Wa" +
-                "VL+LW9Wzr1qpV2LxYVfYFe0u2BzZhf3gp2FXfn/fRZ+uClrz4S" +
-                "cTGdvffZ5SlslNGpPz3GXrcA/s5Gbrs3GfSzVLT3Zzx/d36Ypd" +
-                "dFWwlRQftoVt0W6DzZFt2DcPW0/YNuozipjmw8885re/x/0tMz" +
-                "TXnec2W4d7YEfz1mfjPpdq4utnJ7eqZ1+1Uq/E4sPhcDjaw7A5" +
-                "chj75jPwKIaDMcWEw8293JOxfX7+RJE2BgVWRV01zelWr73OYE" +
-                "dgjPV/7DtWBmCbj/rKjNv+VXn0LYflaJdhc2QZ++ZYWM735w2G" +
-                "o6B1ljG4hXsylrqDWxRpY1BgVdRV05xc6bXXGewIjLa+csfrXT" +
-                "KA8krr/lV59M3CLNoZbI7MsG/+Gh7FcDCmmDAb3Mg9GdvzvFGR" +
-                "NgYFVkVdNc3p97z2OoMdgdHWrzsDFiivtO5flUff+rA+2vXFZv" +
-                "96jPheeCOjZcTXz9UoYliVaVe04L/7c7amxkTd+roOPe3r53qL" +
-                "0rjmWjXak3JTLRTYylaV+hQfhiF+l0mPxebIEPvezfDAG89zyM" +
-                "GYYmwOGdvzPGORGoMCq0Lx9MTzdNrrDHYERvRUc9uMrp58HWqV" +
-                "fneGndHuhM2Rndg3l6wn7By9yChimg8/85jfnudZZmiue37utH" +
-                "W4B3b0G+uzcZ9LNc0/d3OrevZVK/VKLD4shIVoF2BzZAH73k3W" +
-                "Exbi83PBozUffuYxvz3PR5mhue48F2wd7oGNz88Fi9K4z6Wa1F" +
-                "MXt6pnX7VSr8TiByuDlfjqu1JsfiVewYj/lk8wCp+uIsPrsMLM" +
-                "iLetrlbI2fK/zdZMjw9+wJ+nreg15E80/9KtCxUf3KSKqKZoq7" +
-                "mpFiptZatKfVDMdd4/UXubp+rocHNZd/2N7xj9Za56/dqYwfVz" +
-                "r+Jv8AQZRgtdiOZbFpVWuntw01r1x59tK6xcpr7pYPg+ew5a2X" +
-                "Yarg5Xl8di4Sv73g54FOPROuknO3Pz9f6SZ2HMKyMfdsROf+i1" +
-                "27jXCE/pqeb26n1le1a16hKrr3d9hjdPD1ZGj9VXBa8Ve63bKw" +
-                "BX0Ojzyt+7Sq+d0cXu693X8VdZ76rxJ+rXDa2z1vXefKf7eh9d" +
-                "0DPwfdlHW0nx+srQcZ4/HKyk+yG/33lO/1erTy8py/S513aeke" +
-                "f513ieP3it57mWEsWHY+FYfJ4eg83P3GPYNy+FY7Mrip8YjoIe" +
-                "P4tc6y97Mrbn8DNFzv5AY1BgVdRV0xw/47XXGewIjLGn3/iOyz" +
-                "p+35QMRKyOrv5VefQdiOOx/Jht9GEX94Nh9tJDbEIeyDyrvrw+" +
-                "AA+Y4gn+HPHsewxI5iC2ipCKpY4oOLCKO9Cla1UVO2pzSiz3dK" +
-                "CKH4Daki9ddFRQJat9FWz8izbA5ljAfvCC9RCraM0vj4O3Mo/5" +
-                "7XXxVs/CmPxrB1snBPVknhesz8Z9LtWk+l3cVK8qa6VeCfS0iB" +
-                "1hR7Q7YHNkB/bNy9ZDrKI1vzwOtjCP+e05bPEsjMl57rB1uAe2" +
-                "+X/rs3GfSzWpfhc31avKWqlXAj0tYkPYEO2GYrN/A0ZkfTZsmP" +
-                "0hPcSWVdlhVaZd0YJ/+gvlmb1JY3KeG+o69OTPus9067IVqQhq" +
-                "Uk82Xtbx9dPo8JWtKvUpPhwMB6M9CJsjB7FffJ31EKvo+H4kse" +
-                "JnHvNL3dnrPQtj0s1BW4f7VZ7N1mfjPpdqFtfgVvUFbStbDVpJ" +
-                "8eGacE2018DmyDXYD07AoxiP1kk/mMjYnsN1noUxc6KmDnbCc4" +
-                "PXbuNeIzylp5rbq/eVGfeVFB9OhBPRnoDNkRPYL14Bj2I4GFOM" +
-                "zSFjew53WKTGoMCqqKumOXu7115nsCMw5t+PXMfKQAV1T939q/" +
-                "Lo2xv2RrsXNkf2Yr+43nqIVbTml8fBrcxjfvt+dKtnYUzU7bV1" +
-                "uAd2tsf6bNznUk2q38VN9aqyVuqVQA9zp++Yvn36J4NL09vab/" +
-                "+Pr94H+Fr89/x45r8k90MurXUXYfEb6X5I8w/Ad/3Nf1130+fy" +
-                "e8vZ6tvRJTJ03w+ZPm9RaaW7te6HoP7gUvOP6h9d8Ar4zUfuh1" +
-                "zy+myn4Xw4Xx6Lha/sF98Qzs8eLX5iOApap/crY/v75s8tUmNQ" +
-                "YFXUVdOM7+/nu3VpbWqBZ+lnvuOyju/vktHVU3f/qhwee5du+E" +
-                "14x38Wr6v8f9WNP6jfX9e+z5Wen/57uHt+PK672ZvWvGO2cvnn" +
-                "5/gZd79xxfax1vNz6Rfduqrn58pl7yeucQrhVDhVHouFL43+Df" +
-                "0bwqn8/X0VkzwcBa0TqLQuWDKmVeEkUmNgozKqslXTjM9Pp73O" +
-                "YEfsVesrd3x+Sgb0e6VeiZ5kjt0f7o/2ftgcub+M/p39O+GBN3" +
-                "k4GFNMQqV1wZIxf6t5Y+EkA2Ngw0pV2appzr7qtdcZ7AiM8Tzv" +
-                "9B0rAxUU/V6pVyLnmWOXu183/q9+39+nav7o8vfrymNzbX4u9r" +
-                "t+7yDn5X7veOX7dbMnX9v9ulL/lX7vSDsgf6f7dWdC+m+Jz8Dm" +
-                "kz5TRv+u/l3wwJs8HIwpJqHSumDJ2J7nXYq0MShQFZaZntlTXn" +
-                "udwY7AaOsrt82Afq/UK5HnZ4ntC/ui3QebI/vK6G/qb7Ke5MOK" +
-                "aM0vjyWvYJmfT7PlVBbEjLp9tg73wM7+z/ps3OfCB1U1N9VDQb" +
-                "dSr4T4jDgejkd7HDZHjmM/fygc710ofmI4Clqn+scvcI1V4SRy" +
-                "8EuNQYFVUVdNs3fBa68z2BEYbX3lJh/qj39te+ruX5WrRz4vrb" +
-                "7Ozj8wN7f8TkaHX8yf5+V1Y/iV+pVveJv9tDH8gvm89MD0/Kv4" +
-                "fdO9Ok3N/xs9/FJ6f5+es6/69peWNT/PP6D9Tv/ulT+vmd83V7" +
-                "w+qzNsDBvLY7LwlNHf3N8cNi4P6Ek+rBKS+ZzpMaHilbUZrOQv" +
-                "nKy5/B6tbXX5OvS09+s2WpTGNZePUGXjyqAKFKmsvhLwOT4O42" +
-                "jHsDkyxn7xWngUw8GYYmwOGdvfi1+0SI1BgVVRV01z+WNee53B" +
-                "jsAYXyc+4TtWBiqoe+ruX5VH37lwLtpzsDlyroz+lv6WcG7xuu" +
-                "KHD9GSgZhiEiqtC5aM+fmZOYnUGNiwUlW2apqL13vtdQY7AmNS" +
-                "4Dsu6/h5XjKg3yv1SuQ8cyy9Dix+avRXi4eG6+xrV5qLbx6spP" +
-                "+eVj9jDjcPt9S/C1/u92L7N/uwfr5c+/Pn8CNZ22H99Kif+iZX" +
-                "RswbWGN49WBleC3rlc+f9Wtc75Mt/k/tf2Hkv28Ot+vrp+9jeM" +
-                "/wQOfv7y9fboy+M3h5+bx6Yk6Fqn3F4/3xO/LT8Tzv6UKuqnoZ" +
-                "VhGWqXjGz6yloaxH39ZccMbzPNjNTc1UorzdnVf43wKImNfE");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value1 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value1[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value2 = null;
-
-    protected static void value2Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 4167;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrFXGuQHFUVniiER4iLBAhZgwlWiUsqCeElaDD0bM8sGDbZZU" +
-                "Ne5MXLqKgIGh4iYu7M9M7uzBYI4VGUFRKWl+gPyx+KoEDtmqz6" +
-                "h6RSKX+sf62UgDECsYIkobz3nj59zrn39uxSUuV03dd3Xt89e/" +
-                "v2Tnfvqk+qEwoFdaKaqk4u2I9aqKapNjVdzSgUksvUmY1hdak6" +
-                "W7Wrz6jZ6rNaPld9Tn1ena97X7D6HbrM02W+LgssskiXS2zvMn" +
-                "WFbb+iIrUE/A/eqsrq6xrrUleraxpd6qvq2oL3UavVWrVBbVQ3" +
-                "6v5NutysblXfUN9UU9QnQKN6QJ2iTlWnqU+p09WntcYZ6iw1U5" +
-                "2jZln7c7fOUXN0e54dXWDrC9VFhUKtX12s+19Ul6sv6XaxLleq" +
-                "q1SnbmNVYgyW6tKtyzLVo5arXotdp1ao69VKtUqtUevUeottSv" +
-                "Vv0eVr0YPRg4WCqaE1EhiZfvltRLgOHSCrHkRbicOYPKb5fEBq" +
-                "chkykCz8qKY0drncfQuaEXosFDrvcGfMPRADf07h+XPmGtscbd" +
-                "btZmytZDOOkyUSIV2urfPJZICTHdmn+XzE9UIyxm6zjENj1G3s" +
-                "lpiUu7bEpj417JuzB20ZWXLgkbh+tCHaoNsN2FrJBhwnV0mEdL" +
-                "k2t4e6/B7ZkT3EBZnrz8vnBhmHxqjb+LvEpNy1JTYmfsg3sUcG" +
-                "MrLkwCNx/agr6tJtF7ZW0oXjpCgR0uXa3B5xsiP7dH0+4XohGc" +
-                "tnl4xDY9Rt/FNiUu7aEpskCvvm7GlePlOXidSPmlFTt01sraSJ" +
-                "485eRLgOHSTjOtKGPELc4tNSk8uQgWThRzWlccjl7lvQjNAjzs" +
-                "n3LS1CcwrPnzPXWDEq6raIrZUUcdy5XiKky7W5PeJkR/YQF3y6" +
-                "/rz1WZRxaMz9hHjJiMQKW27HfQOOzGkWoQgyEtev/SabwQoo+q" +
-                "r/H8SSa7i0v83Uai5o6d88XjZ1/+luLmq/Q0+1VwDpn07S4rCj" +
-                "/aouv/XyuQKjaOlL2sMZrkZlp9Qi/q69/CRX134NGrXfh+Rox3" +
-                "2p5dD2TyOpr4efQZ2XwZeilVq20ubzOEo6V2nez1mrlVjrfK4s" +
-                "TPjhOpUXuKT4jMjKM3n2Msqgl/HK81KL+Ifs6WPm5DK0/oY5Xh" +
-                "G+0nyyCORf+qlMy6xWQdHYSZn0VP1780aUQq3zuSrEs3Ja2k4l" +
-                "/dCn3j6wcxL5XCU9DHh61U0DO4xW5WSXf8iexZ9F+trvs14+V8" +
-                "nW9NJ8ruJSXy/jevHARQMXlo8NLIr6rOdy9rNcg73yMWvbZ/IJ" +
-                "/daffB3y2dp+oijJtVLL9PgI5pIf3/WfLE3z0+fKo740n32EUm" +
-                "SfJ5zv5TGUVE7Mzs1d+jo611qNoa3O59gk8pGrU9zBR80T8+yl" +
-                "B/98rx6QWqbHR1vn5MTfFWZYGc6fAeSToxQ5b6bFevF2U0NJf2" +
-                "Z1ktr69kqs5pI8/5OvU6zz8z1fS3rwz/dKaWAH15LMYTatmEFL" +
-                "53ur+JRPspZ++HmVnu+jA4v4WrblMKxZjYwCVj6s1yf2vXMt0z" +
-                "5cHmWeDgumz1EUq6nrrb3uPqFjjGKEzGt6pBqHHa1RZAl8t86R" +
-                "/LL+YdKXTJz1OcrzSbw4P4HY+ZcKpfR8x/tLhYLBCrYUx0opUv" +
-                "kXYMm3zP2lUqaFFlSs1h1wfwl0ku+KfD5LUbTmd0qeJ7y/VMr8" +
-                "mfO9VMAjPXf0+lOnqtsQUWeUCmomWqhzQ14LbE7q8lJBMLnNuc" +
-                "O1lOcz45X+dqTWqG8DVjnEcxD1RD3prtuT7b8WMyXZEvXU7oQ+" +
-                "FtQlSylHnPrN6SKfOylK1NOcBi33JHkgBnrErXma1OIMQ/yyPe" +
-                "z77ozBq7t/Or9v9PiIxNKYvVF6rkXZOQeYKcU3ol6bz14qqEuW" +
-                "Uo449ZszxZXlRYoS9TbPgpZ7kjwQAz3i1jxbanGGIX7Zz/MNd8" +
-                "bgdYJ89vqIxNKYy6N0r42yPRcwU5L7AcUx1yVLKUfc1cl+X3md" +
-                "oqCO9CR5IAZ6aNP5evIjqcUZhvhRfHfGkkFOPpf7iMQgZvxh/G" +
-                "G6n+5GCWCmlD8AafxheTdiRhP6aAk4ya3lbvLk7PMfUBT0Iz1B" +
-                "DBOF/KEeYvXzjB+uZXrADPn6Xq3lXD4LzsThuZuP3CxBZI6kcz" +
-                "kaH9XtUWyt5CiOkyFEuA4dIKseRFuJw5g8putjRGpyGTKQLPyo" +
-                "8dHOkWaHy923oBmhRxnfnxnq1uf4cwrPnzOPj0bLomXpel2WrV" +
-                "yLmVK6ClAcc12ylHLEXZ3sfBulKKgjPUkeiIEe2nSONhdKLc4w" +
-                "xI/iuzOWDHLO92U+IjGIWZpSmpKu4F3ZbxcWM6UzKk0x16PSlP" +
-                "IuxIwm9NEScJKbGrxxnex69EuKUprSnAYt9wQxTBTyh/qka67v" +
-                "XMv0gBny9b3afEZ8FuTZ+360i4/cLEFkjsD8o+6oO81vd5Zpi5" +
-                "mS/CTqttf3biqoS5bVg1yOuNRh+fwLRYm69fW9m2txfe4J9Ylb" +
-                "dn3vlqxCsbnX5CF3xuB1gut7t49IDGLGx+Pj+rw/jq3dCY7juL" +
-                "OECNehg2RcR9qQx/Q5xTlSk8uQgWThR0VuYV48NnFBBObk+5YW" +
-                "oTmF58+ZcwS+PalXdbkrOzc6Helrre8dpd8dFrXSiS79mO4vPd" +
-                "z6/lLe/RCcU/mYef7+Ue+QTXR/KZoRzYAaWsRg3NkVzTD3l6SO" +
-                "q80L4eSdbO3P8TXupfkQl7nMyB+OSLd6wOUu5S5HRMyc5IyhXx" +
-                "mW7N3IMlc+61TWFrXptg1ai7fhodfAo1Fb7U5CSBd6MMIeFNkz" +
-                "bfMx7r8xn/tpbuMyxq7Nj0OIvR49GuZFkSUjZJNs4zOmvs6n4O" +
-                "FGlqw4xvXVFvd9Gz2i922eVGea65HSez+8bxM3JvO+TdywK7EB" +
-                "79s0d9D7NnFDo/Z+Nbxv09weft9Gyyd436b5lHnfRkuC79sUCn" +
-                "nv2+j4wfdtKsP8fRuttVQX730bXZz3bTK+9n2b0H5FO1H17kLB" +
-                "5FPex3N3Kr67VDbl7YaoV5/H7ZvbWu9fpq5sDO1mzUflHoYxEI" +
-                "P9073jp+NfwPmQ38qw3LP5PUg/DulW7xHn1eJoMdSmRQTHyfZo" +
-                "sT7fF9NRO5ukaIk9KKauzTS9+MfolftHFLDmdi6TvNw4hMD6lJ" +
-                "iUc1uqkZWUQ1+f74yH0eKa3KsbCRlTX/eWREuoD0XnUzybAB2s" +
-                "Ca0e5JbBa/oS8t/okfa5vwcs4R59/WQn+URe3DO3x9q0yVOcD/" +
-                "fLc0BZcH2CrdQNsL8yupL6UPTa/rerEw+AptR2+/EA1WgJsnjA" +
-                "eJBWeYy4R19/6CLiDB4lM26PtWkNK+Ij2dPIsCSmfhyuG9z9+f" +
-                "XoAV3sPeDkaaEzW22NK+Z6pPvnZ2gH01iQsqlQ7b7/qT3o65H6" +
-                "8UT5VGttfWM6utnL58VwPbLS7Hqk21l8/wxcjzQrpcz1yGJspx" +
-                "HXo4q+HlXgekTPj+T1KMQ63h/v7zxkamj172fpyIyLd8X7a7MA" +
-                "Jx06wAPKUccgiKMO9joPcW/x/sYCLgMrc5CG9Ew8a+0odXmRBW" +
-                "iCV0AKBTMnboX9yjDZynnxCC6T7FtCqhv6HkLXyehXdBV0r3OV" +
-                "x8PP4/iVM+S9sYJf800E/jwu9B3Jfx5nylBf6JsKxct7Hodzkt" +
-                "91Jvo25ssrT0gMosd74j06r3uwtT+ZPTgufg8RrkMHyKoH0Vbi" +
-                "MCaPaT6v55rJ81yGDCQLP6opQze53H0LmhF6xDn5vqUFSiSP0P" +
-                "w583gP++mO+esz+Vn5mPm+qZEx9jx4zP3dzV+f+P5DYH1u4ati" +
-                "6Jrw+jTvC7R+XozvM2RaY8gS32cIr8/kBTkL9NzqfQa2lsc4P4" +
-                "HA+twb79V53YutzfReHCe/iPeafJJOXEMpaKBM6Ggt26+RDvZq" +
-                "0w1KmkPLSIbesMdZyaimVA+43H0LmhF61HXNnTH09f7JLWrAX/" +
-                "LwmbD1aWVsfY4E1ufL2doYYetzZBLrU+tU3w+tz3i93LVy1ueI" +
-                "8dBy/7zZ0RpBljDKW5/xejmL8P5Zv7A8Uj0SWJ8jnJ9AYH3ui/" +
-                "fpGPuwtRH34Th5BZEMraMUNFAmdLSW7ddJJ+vVDcpjkAy9YY+z" +
-                "klFNGbrF5e5b0IzQo2XgzJh7yHTrwN9l6jJhPyeQjcfj7n4BmC" +
-                "nJa/G4Pd/Hy2OAxf1GE2zQEnpUjJbRifvJe6bZbzxglHh8aAu0" +
-                "of0TcazxAAT3T9QyPVOqJRxJfoxBps+ZyP3TzqCfjcf9/RP9yB" +
-                "zY3yFWmyP7jWI1FJ3PP+iVfwlh0ep4EDSltqy130HTiwdJB/3H" +
-                "gyCb8NvRaunRt6lfSl6RHTFzJYQBK9e/uR/Cc2BYAlM+W4iBR4" +
-                "hZNC+aB7VpEcFx8udoXmMuIaQLPbKnInvUov/y37ifoXu5TPJy" +
-                "4xCS3k8O8pIRiRGyMfGlHPo6n4KHG1my4pjUt/0bzJF5ugGKzu" +
-                "cbEuM1l8ha9lz/9SukLGd93iA9+jZD28kr8iJmroSw+uUh/xyT" +
-                "WeCzhRh4BGfaEXVAHXUQguNkT9RR/zIhUUf5CEnREntQTG209E" +
-                "o4gl7Jf/kIouSFYktebhxC7M9lscSknNtSjaykHPp6fTIeRotr" +
-                "cq9uJGTM+mvNkc1lLRSdz3GJ8ZpLZC17rv/SO1KWsz7XSo8hG/" +
-                "KKvIiZKyGs9E7IP8dkFvhsIQYeLZgtMAeNoOh8/lVivOYSWcue" +
-                "67/0rpTl5HOB9BiyIa/Ii5i5EsJK74b8c0xmgc8WYuDRgtl8c9" +
-                "AIis7nAYnxmktkLXuu//oPpCwnn/Olx5ANeUVexMyVEFa/N+Sf" +
-                "YzILfLYQA48WzNaZg0ZQdD7flhivuUTWsuf6rz8erZtEPtdJjy" +
-                "Eb8oq8iJkrIaz+WMg/x2QW+GwhBh4tmK0xB42g6Hz+Q2K85hJZ" +
-                "y57rv/RWNIm/mEF91A3ZkFfkRcxcCWGlt0L+OSazwGcLMfDIZy" +
-                "a/wdI39eRdieU/3wx9o6++H3y++eTk/n5JegzZyKeU8vkmvh/i" +
-                "P98s3RPy798NKx+rHvHv+/Ijn1m00Bw0gqLz+Z7EeM0lspY913" +
-                "/jPinLWZ8LpceQDXlFXsTMlRBW/2nIP8dkFvhsIQYe+cyc9xno" +
-                "+VGWe9Vunx89Av8/xH9+pLbx50f4/0NCz4/qO1V54nyav+9o/f" +
-                "xIY+b/hzwcfn5k/n9I+PkR7J8TPT/i/z+EPz/i/z8kxTaFnm3I" +
-                "8x3H1evwrKj28ftr8szy//7IP2vZ+f5zieU975Bx/PPM5e7K4X" +
-                "5d4H2GF93dgXtw310IP8Nxmfh7jsxQls+7Q/vT/5bP0n3/33xC" +
-                "/Px8TuaZGI+E74eALGqP9JlsamixD+Pi+RKJ2vunkhRl0h5x6J" +
-                "m2/xSU2/3zh9ym/yQuY7tXux+HEPPpP1liUu5zxJbPifvuP4HP" +
-                "gWYRiiAjcf1odjRbt7OxxT6My29KJJptEFdb2iMOPfQCPZvPGr" +
-                "eRMpbP2X4cQux6eFNiUu5z5GxCMwZ/yJxmEYogI0l9/6lTJfuv" +
-                "DMkfJ/OOqXiKumkijdL9hY/4qWz8KNrJn/j7DB9H/PCn2gjC/w" +
-                "VDKVOa");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value2 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value2[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value3 = null;
-
-    protected static void value3Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 3108;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrFXH2MXFUVnzayVGu3C9rtVq11Te2HlqzVCAq1zNs3C4ooFD" +
-                "+gKlqXFiFF/xHjP4b0zrYzL7v/SJRsbQqYTaroX6Kmlq9S0rKt" +
-                "IiYmJogG0/oRpWsTpCViLMF733lnzjn347273e32Te7XOb9zzu" +
-                "/eeffeN2/ejLpbvaFWUxepLrVAl3tr+lAL1WK1SL2lVmv1qrfm" +
-                "kl6d3q7eoe7X5bvUu9V71CpdW53r1uj0Xp3W6XRZLnl/rTjUh9" +
-                "SH8/Kjqq42gmy0rYZy2TXqWvUxXX5cfaLmOdRmdav6ktqia1/R" +
-                "aVhtVXeoO9U8Nb+DeKN6k867VY+6RJeXqiVqqepTy0C7Y4Vaoa" +
-                "X9OXJtng+o9bpPS9QHdP1ydYX6iC6v0mmDuloN6jJVDRb/Op2u" +
-                "1+mTOn1K3ZjLNun0GfVZ9Tl1i/qC+qLge5tO2+rd9e5azeSmNA" +
-                "fUoZ0sJy3KeA1aWIMka1Si/9FMxuQ6OmREm4ONkQgekRghG94n" +
-                "7pvYoncZ2Y5IMok3x9BZ80JPpgat1tukjOdc49a5VPpvH5I6/4" +
-                "F4xPpsyCvyImZDZ3eskLyxbD/p889lchR4byEGvnzM6uvr6yE3" +
-                "JUqw3VpOWpTxGtlTkjUq0f/gsIzJdZKXHYckNkYieERihGxMfK" +
-                "nnHjgDGdmOSDKOrw/UB3Q5AGUuH8CXHs/3kRZlvAatkVPUAg9U" +
-                "oxL9Jy/KmFzHejPgxiGJjZEIHpEYIRsTX+q5B85ARrYjkkzi87" +
-                "W02I+K1j06LTK1xjMdmZ75ej96EPYjna/qaNawNfmyTu2DYq3m" +
-                "+9F3YT8qP9TNanNebinawx6M3o/UvXmtsx/pMt+P1HKY72Y/Uj" +
-                "/g+xH0yexHeXkV81eyHxWyTerTtB8Vsi8HVqxJd+1r3SG1xZoz" +
-                "6VsxrZUniBk9UIs4hia5B18EG2VqJo3sgRaMp3u0vmr3t2o8fF" +
-                "KKHPIzdAhr6UNYazwrtaAhJMdKWRgzejBqPA9xD74INsrUeMvH" +
-                "jPepzH9Yj1KKHPJD8z39YSf2b61+5Boz311sWCbbyUO1qAPme2" +
-                "A8C4/m+rODv1SnpeXMeJ9gvpfEv65Ue4u6y8tsPB2HHEts6dcy" +
-                "/RpvbTcSicEXWXCMqVFbSnVrmZRxHVgRM+5dRvVzty0IyfDLpJ" +
-                "Xbe2LiMrWZ8JHk7IXmR5215gGdHvRp9HXcNbbEh3LbyVRtxofx" +
-                "uHNtNcZ3zEb8vP/XeqPuTfdCjiW2TK3143Rv6ydGIjGEwJxj0r" +
-                "3g2fWX9+eklHEdWBEz7l1G9XO3LQhJeB7f7RkxcPvk6z8fyVy3" +
-                "O92ty91UYsvUWk+Z3EgkhhCYc4y0kVK9Hz0vZVwHVlgjhBsVET" +
-                "5eMjZ5BUnyiLRye5+/64+4ffL1n43nbs5er9NrPddLh/3XKdXX" +
-                "S+FjcFGZtrE2brZVewldLyVPxfivRlUxbXSuy9OJzngesVaHCW" +
-                "e9mPCsIRNl7cHuOBala+NEtRcfs3ykfhk1npUoP9N0T7oHciyx" +
-                "ZWqtZ9I9gJIYQmDOMdJGSvV8f03KuA6siBn3LqP6udsWhCR88r" +
-                "C0cnufj+fDbp98/ecjydnr8V7tme+/iZnvI6fKUbI9trz0XV8d" +
-                "dbVfcYfKeAnO9yejzs9KlJ9pY2VjZX0f1KCs7zMyaLeeNbmRmD" +
-                "ZhTB1zsEC9z9PYO9ldhn2gg8hgA6XRgS1iUI45vtA7+UFbzoyQ" +
-                "xCgfqV8gb+oNxyKKItge7JHjY9Dob/Trsh/LHNmP7cEdKOEYep" +
-                "GOY6QNeSzOzxUSyXXIQLJwo5JXHy8em7igBPrk+pYWvj75+8+Z" +
-                "N/rrXfUuPbpdUOYj3YUvPd//SlqU8Rq0sAZJ1qhE/2OrZUyuY+" +
-                "dxlxuHJDZGInhEYoRskkdldMmkc34+ake2I5IM2VA9H9/8Dlw6" +
-                "CanYi/Xno/Y8tuZORu2+k8YueKXzQOmqtGo2PrsYLyGuFD+uNz" +
-                "Njmh6BVHymWulq3cPej/yozn60oTYnR4hFcjCGZ3JwllgchlS0" +
-                "vudqI8bzcOl4NuZoPAMsksdieBJqhiyOQirOzw2uNmI8j5aO55" +
-                "VzNJ4BFsnPYngSappR96f7IccSW6bW3mhyI5EYQqCOY6QNRoGa" +
-                "Hs+bJZLrwIqYIcKOSl59vHhs4oKS5IC0cnufj+cBt0/+/nPmUi" +
-                "K/K87Pz6undx0dgxrbPjfnZ/B6/vEYnoSa4Sx5GlI+j59LG7Z2" +
-                "Z2+Mj535ffLUu1Kmc7V+Ph2QN6oQs8k0PQApr69L1+lz9H6uNZ" +
-                "JqH4DyYcHnnIxn4Hs/ip9WfDM4G0zTY5CK+f4rVxvno2S+3zVH" +
-                "4xlgsesb0+vN9I56b70XciixDu3GRinhLUJLe5STd9Ln47nDti" +
-                "Gd5OVnRVg/LxmROGKZPOHvMfUlXz+fsCPLeDwSsskRffU+XfZh" +
-                "iXVot/8lJbxFaGmPcqhRCTU9nk3bhnRsPPvcOCSxMTZvt0fEJt" +
-                "nl7zH1JR/PXXZkGY9HQjYm0TNe/FkubGfzfM9b2U9e2c9NSU/k" +
-                "sRjPn0uZyXfc6LtK4HHc57D482kSgfu7zQh0yX776THuobO/75" +
-                "f9krnNxL0y0h4yzKFmjqxLaofONlOuL7neyKavkagqXLMhUZJ5" +
-                "kgWvl7IYHr74+buR2XqJU+J52kLWeZ42u9h6nvbwzJ+nHXvswj" +
-                "5Pm/w05nlajXKep1VHqp+nTafSKb3TTWGZ73tT2E6OooRj6AW6" +
-                "kVNoK+XQJo/FeD4ukVyHDCQLNyp59fHisYkLSqBPrm9pgRqbqd" +
-                "t/zjydks+aOuvngpj1c+TUtNbPX9te5nb9bD8Xs362/+Cun2Em" +
-                "pIP5rs9U/3xfaM33o7Mw318w811NXrD5Pj9qvs8/x+fne+o9ep" +
-                "/vgTLf93vwpcdzEWlRxmvQwhokWaMS/Y8dlzG5jl0v9bhxSGJj" +
-                "JIJHJEYdrq/L6JJJx/frdmQ7IsmQDdWtM+ObnT30JktzLPS8fP" +
-                "zdkrET5/dzEc33wM4d5YWj1A3T+Hx0sn4ScihRBu1scf1ka5wk" +
-                "hOVobo9y8kQei+8bfm97IZ3kxeNQG7Ht41Im9bYtsTHxfb6bE7" +
-                "xX1AtfBBlJ4t1r0aHfoTTr8d3NizsPQ2dt+y/nZleFsX+LETo/" +
-                "2yfi/Jfry0ehfgZSMcs/j9LsEh+OkFEzwEIP/vnc7Kow2AeUhe" +
-                "wxfrn/5q3l+tAoJC+55yfIjARr5ecnfN+BWJ+NWD//M7vnJ7GN" +
-                "Oz85vmT9fGlG5+crkIr35jaUZvpqqTVu4wgZdZ5Z6MET52bnzN" +
-                "vjEoN9QFnIHuPb+qZ4fqx5e3n80Cg0F+bvRjekQnZx8R51N++0" +
-                "3rUcl3ifbWu+uSi7XBsxDn+PG8+kOw7TXMC5kV3Ivv23GP/N7e" +
-                "X60CgwxCjmUMvvvR6VWjjHSV/lzTevYqwNKi4KoZD5rmPQCs73" +
-                "0RgeofhkXeYnWQypeG/uRmm2RL+f/7BxhIwaGQs9ePzc7Jzz7J" +
-                "8Sg31AWcge49t6a75/qzx++Sioi/jvZfB6Xj2fLbVwf2z2qj/x" +
-                "38tUH4rt503tr/1ipN3mivt1Pf7fy6gXKq6X7ivw5+X3MsXq+j" +
-                "IkeX7WX876fDhCBvv6bWkj+hP5+4rqKBKDfUBZyL59MsZ/855y" +
-                "fWgUKu4vrZru/Xn7t9ye+0uvXtj78+1/x9xf8vUr5v5Sejo9Xa" +
-                "uZHMr8Tt5pbGdrUMIx9CIdx0gb8ghxG7dLJNchA8nCjUpefbx4" +
-                "bOKCEh7f7RkxcPvk7z9nnp6uuF+31rpfd7zqfp06UXW/rv3Khb" +
-                "0/3z5zPv/vwne9T/Mku9xdG+L+n4Ef2RXi/xn+O52ndqr+n0F+" +
-                "bnM/H3nm+6tyJQp95vF9z+hbVzy8himX9+uyK32YoeGI0fBimi" +
-                "N6vm2KGs3hqijNtkSZGm+F7DF+lX+/HqXk38XZ71TzO53xvN6H" +
-                "8X9+j/303fha3Nk5nX8Z8dwjOxu6XsL45f6b9/r1/J9EvPeAtw" +
-                "xtgRxKlEE7u0FKCMvR3B7lZEf2xXw/a3shneTF41CbsFIm9bYt" +
-                "sWn/z++bs6d+uUxtJjZe59soz9+bzlPJzfs63Lf5kCVnThDT+H" +
-                "rU+bktLgqhTI23QvYYv8q/X49S8u/ihrZSbs33m3wYQpawCWLa" +
-                "r0WN59a4KIQyNd4K2bfPVDHMx+D7fj1Kyb+F+z8x3BoE");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value3 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value3[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value4 = null;
-
-    protected static void value4Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 2881;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrVXGuMXVUVvjxaCQmlsQ4MtGYSsCJCfYAGHJx4b+89tswAYq" +
-                "wWtGBMtWViaSsUjfFP97mBnqu3ifjCRyW1iv7RmBgUy8NmoIW/" +
-                "TibDjDTywx9qjMQQww91DO6z91lnrbXfc+e2xHtz9tl7rW+t9a" +
-                "1193nsM5PTaOhPtpQtla3uQ6/Y1iAfwKAe0K6+aQm64jwfyrSh" +
-                "Hl026BN4UWYHx0wvWl+cS205ezMXuvE4HOvzYda22M4rzLODUf" +
-                "cVrqe1tr131vIal+3B20PcsBquPMyqgvzgmPs376w1fyOX1+J8" +
-                "168bkunonZHOiIwxAnsVcQTGxZ0goRj8oo5iuA16rPJZw5FUBw" +
-                "w4CzsqenXxorGRSy1ZY2ZMPSADOyd3/pS5lG3obFC/xw6iUbJy" +
-                "K+7SWhjrEexhZOqpHPv1L78eddrGhQJEcTd6ha+N4izs2NTm0N" +
-                "U8ixADGiUm09HFAXG+iRMPiItlu07m/qB4i5JcIjdZB/Fqhdio" +
-                "2qtgxot3yu3abElsUqP31J7eL2606lmxEB8WW8RWub9ZTLlzEH" +
-                "eJu9X+M6r9rLhHTItzxLkGao2oziBCzhAxiudPMVZjrib1vEFc" +
-                "V0k/UO0/KD4kNofrKRxnJLGDjXbK7XONRr4pvyaXOebvE3tl+7" +
-                "aynoDJ3849dN/tipVf6eaQW7XM3yF/w8sbQ/nkYxH9dZ6Z5omf" +
-                "b7Qk1y+T0bhV8SN6ftZz6WG5fYPU87b8I7af7ivJES+V+awfUj" +
-                "1vCesPeuo9rPjLYPqJurfdqNwDK/R8h8znsrOUxcc99Rw4vjiZ" +
-                "jFwltwvqiNUvL/6QHZP3AMcI7iW5nRZXLIvFy8b586pEuzsjVw" +
-                "jJUlxI8G+Wm5z/4o88C/NzqDqXihsi8SeD2jvEnrB9q9+6t2z1" +
-                "VuX+fdSq9t68TfUhb8vXGGwiuLzDUZy5ziYUP+zfFx+t0/wopk" +
-                "fq3g+NX+WlAY4SMj/zRxuNzRcP42iOe8l/4KlU0vWwteKrZnOb" +
-                "3iSTAzWnn1Mtb4O5/MKP6a9NYxOPwlHIP2xfTNKM3HWQGfySez" +
-                "YjoH+fn/K+rflRfn1vTfO1ldanrL/9mP5I2uo9LQpfU9KR5uqY" +
-                "edNhhtoufxz14Knc0zVqLFO8n69ZPaq3eJXSP/1Lh3P9pryWc7" +
-                "+UP5EyE/LfDvFO4+m690zqrEufqZt/cnbul3z1TIuf/25F585/" +
-                "6q3ydQKkxSYXDpGpvtn87A1mF8NADiDz2RfXpvkP65dThfzZ+l" +
-                "xjrMFaN4fGptYt7X/1zM5LiOdmY+fkqcGpIR7vX6+P1S8ZXLa6" +
-                "xrDeNLVuaf+bZ7ieW0Ns7Jw8NXhhcAZddaeG6yOyfv9VLVP3Y9" +
-                "0j+ZzsJ6yPxPXO5yHzsp5Hku5at8fWR/nvy/WR+Iu5PqpGb81n" +
-                "Pcd7O2V9VHTEpOt5iPiYuT4Sn06/vhfPcc2DJ8t6Js9zdz2PDu" +
-                "koWozoPfVsRe4vurcAarnPl4w4X4NW91Q9XzW0U2q9WetbU+x4" +
-                "nzK9mVKuCbOJ4dR6k6CAuY4nNVOhPGM8fPHROs2Pcf78suEtC9" +
-                "0Lue+mTJv+j87s+RNYmHF9OXlq8PIQr0f1erN4zajNZGiMo/xP" +
-                "fpv+sTN8PZp0x63165K8rBsw+j/stZqWlRLo8TWdOQ/18Q5Ylw" +
-                "2r52ODrQN8GGTL8/Ddz1N8qC5hfdp6uJpdf657f03JMfx83qrn" +
-                "T9/Y9VEr6flBGsqT8RewNer5NxcGkf56mhhSz5+lcfJ7cKPKHh" +
-                "357FujMYYa5daDFP3buGwvtsb90m0uDCID9dzrreevk+q51+/B" +
-                "jSp7dOSzL26NMVQz6e9uPUjRv43LdmKrfNUr096GRuOhR0wMIg" +
-                "OZejGbf5xUz52xKIcu4KiyR0c+e4hv6nN2ncxfc9uDFP374rR6" +
-                "0LbqJxa9MUPbwX74fgkx2salCR5vvRQcRQFzzUJqOqE8Yzx88d" +
-                "E65qd1GFrdU/W80tBuyf9F9a0tzMMW05uNoZpgPodjuPzfHAXM" +
-                "dTyp2RLKM8bDFx+tY36ymZrpf+t63si11X9mzSScP2e81/ffJB" +
-                "3vM2aUGKrs0ZH3efJ/TIbOe5Zz3HqQYmQbl92PrfK1qq7nuAuD" +
-                "yECmXkz/eFI979ceejd5M16NKIhIRz4G3fNiDBXqTW49SNF/vB" +
-                "p4fe9NWL/uip+HdL43nPvL7oWDPQ9Jjz/o85BsH7aqV/+Vo5e5" +
-                "MIiM+XTm8+00TmlRCOt9LAevPcSP+XfrQYr+4zxx/d5dI7d1jf" +
-                "/Lj+/82b3o7MTP7qkjXlLPz0lby/txb9b8+G4am1iU7mUcVfbo" +
-                "yGcP8cP+u+vdepCifxeutVpv/PzZWt0dc+EQmXTnY6A73xnMLo" +
-                "aBHEDms4f4Mf9h/XKqAMd7d6E3NfzjoPPIkK5HVwx2vA8rfrDa" +
-                "q/RWMd0I0t6tLhwiU32zI+bJwexiGMgBZD57iB/zH9aHqpDtx1" +
-                "bV85r6/LnNhUFk4PznxRSfSjp/7k+LgqiyR0c+++KTMYaqBu9y" +
-                "60GK/jmutae1R7d6DzI97u3jEsRSNLUHOdqhfRX/adML6jgvGg" +
-                "fHgO3t5zKuN22RTRnf5Zuyx7xspiYTjm+/3n7dzEXLym3zqNbC" +
-                "GLC6j5ZcT+W2d6oDP9yTaQ0tfF1sKQs3v/r50ijFUyahj0vPZV" +
-                "XMpbZcX5et3ivNEoyLXSChGPyijmK4DXqsIzOkrYMeZcWjolcX" +
-                "LxobuYCk+7iZMfWADOyc3PnzrMpe8zHdlvuybVZ/4UEJYPS+Sf" +
-                "4CZI65JWK4htvzvmZg4kwbys2OWPbK6zsdmz1XJpyni6kdj8vV" +
-                "Ge0+bNX9Uv33ju57XRhEBq4UXkwn6b/6s/vSoiCq7NGRzx7ix/" +
-                "y79SBF/z4/2bTjed0BW8v7XjbTjRV9sum0KIgqe3Tks6+f101H" +
-                "ntdNh/JC/xzXHG+O67Y5jhIYF59HLchoD+1x4z3cN8fdMbmOYs" +
-                "w4KDExHEEjIiOI+9BuHp0zoQx4ZDMiyji+Gk00J7CvNzk/v8hy" +
-                "nNAa1GspPk9uTnjOeBPov3Oc23vPkhPUowuPPoEX9UztoS33ne" +
-                "OUD/VLa4BVMH1qW451zuRd5vmzu9C9ydbyftybdf5K+s/fbFda" +
-                "FESVPTry2UP8mH+3HqTon+PaL7Zf1K3eg6z8yvX7V0BCMfhFHc" +
-                "VwG/RY5fMCR1IdMKAsuGeTp4sXjY1cQELj25khAzsnd/6UuZQt" +
-                "tBfkfgH2SrMA414XJBSDX9RRDLdBj1U9T3Ak1QEDzsKOil5dvG" +
-                "hs5AISGt/ODBnYObnzp8ylbLG9KPeLsFeaRf2V87MPEorBL+oo" +
-                "htugx6qeMxxJdcCAsuCeTZ4uXjQ2cgEJjW9nhgzsnNz5U+btxf" +
-                "D7LnqHU953Yb5rI/K+i6dQ94a87+KplPdd2FxiMh0d3yeQ7cbn" +
-                "yfp9AnJ+PgzvE8h2q/cJ9DUS3idQW6j3Cchtk9wOl+8T0N5c7x" +
-                "PoPF/ZBN8nkO2WUaLvE1Co6n0Csjcit1Gicb5PoPO8fp+A1Aff" +
-                "J4D1UJjbuVT530El+n0C7fn2vJyn87BXM3cexr1vgYRi8Is6iu" +
-                "E26LHK5xmOpDpgwFnYUdGrixeNjVxAQuPbmSEDOyd3/pS5lM22" +
-                "Z+V+FvZKMwvj3gmQUAx+UUcx3AY9VvV8giOpDhhwFnZU9OriRW" +
-                "MjF5DQ+HZmyMDOyZ0/ZS5lc+05uZ+DvdLMwTg72p7Ljmo5YvCr" +
-                "0XQz5dRjVc8nOZLqgAFnYUcFbm5eNDZyAQmNb2eGDOyc3PlT5l" +
-                "J2un1arYSeJRola5+W58/ntFaP9QZjHHE9eKR9dv48hVEAY6MA" +
-                "0TuJ0eBLI9MYXEO9UnznFM8ixIBGicmq6P8D0VcRGA==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value4 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value4[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value5 = null;
-
-    protected static void value5Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 3007;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdXP+PHVUVfzW0EQna1tW69Ntatyt127igfLGozL55r1htiS" +
-                "aA4LdYQCr4g24sVaNi73sbnL5EE2IRN9hdLEq0hmqiScVUY9Tf" +
-                "JWmw/4G/tLuNCZFgavTeOe/M55x778w8ln0lOJP77ZzPOedzbu" +
-                "e+N/PuThsNdyT/okJH5x+NvrR7a0MdhGNk98ONAQ74paP1u0Zj" +
-                "OXZ1GM6BZWX2HL/Of7Ues1B+TH9Fz6edsWYc8WqO1p8al+Uo4z" +
-                "rc+MmOZAfVrmUJnd1z7aeTHa7ghN71YI+ie2jZf+vPOqbUaV5+" +
-                "HEh8jEbIiGDEbFx8rZceJAMd2Y8Imcbn/Ul3Fp4mqTQa7QUqLJ" +
-                "O1ROta93z/rTNaV/LvPKk9hjbtBXhlXmDmayBrnYn5lzI9CzJb" +
-                "isFnGTP/EOv9IzVrak/5qHS9/2XI63xPNZvhxm9fal+i2rWQ0b" +
-                "j1S5JKDLRSh8I1vIf+pczVRz4eZ4Y4PPJ5hrxYf2Srz0jmFPqG" +
-                "P7CUCD0PmonE59fsFncWV/oWKo1G9mUtk7XU6Fr34v5r1/sW7T" +
-                "FmA6/MC8x8DWSPHoz5lzI9CzJbisFnjJk5ZK6w9WqzxryxkF1l" +
-                "3mKuNm9tNI4umZFc8nZbNppN3f22HTPbzHYzYXvvznXX2vIeW3" +
-                "basiuXTBWebjA35+2HTGKKuyvTzus95jZjP0/MXvOx2Iyae8xn" +
-                "zefM523vgC33mvvNF82DZpV5Q4G40rzJ1m82a8062643bzMbzD" +
-                "vMKF+fZquVvjNH5t8T5r3mOnuNzJjrbf9Gc5P5gG1vseWD5lZj" +
-                "72RMalr2M25f3/tHbbF943K+3eQryHzCljvMneYuc7f5tPmM4n" +
-                "ufLV/oz/GYO4t/mTEqdm2c1DJZS42udS/uv/b6HNMeYzbwyrzA" +
-                "zNdARjn5/qVMz4LMlmLwGc10Y7KRamq57850JB1JNs7OQCL1QG" +
-                "t7lsM79O5wPrUNdJpXnBVjs6/GeemI4Mitix/LuHNC5oAsYhF0" +
-                "JIlPNiebbbuZW+7T+Oh/tUSOgNb2LKceWurZz+xnfBvoxHxuDu" +
-                "NA4mN83mFGYOPixzJGLuxdR9bxZCSNz+8t1lPR90vT67ve9y7h" +
-                "gBzo/sVDZw8vz64OwzmwrMw+OzSY/2p92SwkU8kU1ckUJDzurY" +
-                "KWZbIHexTdQ8v+s6/pmFKneflxIPExGiEjghGzyQ7r6JqJZKAj" +
-                "+xEh0/hGo3mRJNQ2L/L12bzYvavRmB1lvcTKI5SxpxhWS7Ovh1" +
-                "Y+Ju599ppqDke2Smmsp/udE74/7bM6c+6lx9PjVHPLI9frjbja" +
-                "STQGCK4lRttoqfYm/UIHZtK7jhrn7lsACXz2bW0VZi9Z+kx9Jj" +
-                "j6url0zrZzaHnker3trnYSjQHC1d1F6klLjLXU3k9/S8ukjqy4" +
-                "B0QYlRExXjo2vJIke0RbhdmDScjUZyLmc06yV5qnudfbUaYpl4" +
-                "QyPc46r/4pORZ1UAx/Hw3nSJ9Mn6SaWx65Xm/S1U6iMUBwLTHa" +
-                "RkvtJ83zWiZ1ZAVm0ruOGufuWwAJvIwfZgYGYU6x/OVMSvb+k3" +
-                "3/+rzBxj8X00hJd7HMPvptcm5lroQ6P+776JXYrQyv9Kn0Kaq5" +
-                "5ZHrNY+62kk0BgiuJUbbaKn2Jv1CB2bSu44a5+5bAAk85RT61h" +
-                "axnGL5y5mEbWdTcdcwbp/qizvu3k3ebxQng18tng2vTzNV+Qvh" +
-                "yZW5Ph/9Z82vuNcPN37J9bmQLlDNLY9cr9dKFwilMUC42n6/L0" +
-                "iMttFS+31wTMukjqzAjBFh1Dh33wJI4LMfaKswezAJmfpM5ExK" +
-                "9iW/z9/jPWUdrBr72ri0/dOVuRK6nyp5EjxYxWbl4leuDbXexX" +
-                "zeO4QdgVOv8Xo/NdT1Pp/ONy+6mlse5b3H03n3vJnOE1Jq3Ql7" +
-                "12OMk7g+YSHlp0kpy34odWRFz5syBkaIN3uN9C55wYKQ5JUkLo" +
-                "q24n7nBGzZRueks+E8+XlT2nor6b6id7+3lvZVjX1tXNo+O+T9" +
-                "uH1VbIYdH7tKrW3+Ppf9Ptof7rnJ/S1/L6psP05FfEHut/n7cW" +
-                "Chd8HC/bYwBhg4L7QfF94Rt1/QWfi7hWXzFOyTbovtx7WmWvbu" +
-                "xtXU5sgpHvfuZInE4IROYrQNPPbj/l0jpY4ZaBZhVHiN8ZKxwY" +
-                "UlMn6YGRiEOcXzl8xJ0j6MOl/lDxa9h4rZPxxDVvx7lmKyuYHW" +
-                "zeHBogDlenJUZp/9qI5hlZ6l8K9xrfHWOPe0LC9/I2kxVlgedR" +
-                "e13vdU8ncF4xxHoiSe5VzzGfqBreQb95od9zOOeQ3Zxvj7CCsb" +
-                "a7k9vzFuc81YMT7LEonBCZ3EaBt4LCIrZKjjnmSlo8JrjJeMDS" +
-                "6F5KyfsfQABmFO8fx1Vunp9LT9nj+Nlkeu13re1U6iMUCwTmK0" +
-                "DfW5p71Jv9BxDwg/KrzGeMnY4MKSbF5bhdlLlj7TMH+dVXA/+h" +
-                "yVvL82XRtqB7inrUT5Pod2Z/1cXfzBslnOkbxERT9vJi91Z2I4" +
-                "IAf1rb4PTi3Prg7DObCszD57djD/1fqyWUg2JBuoppb77kz3pn" +
-                "u1RI6A1vYsh3fo86tir28DneYVZwVsnJeOCI7cypykb+TC3nVk" +
-                "HU9GkvhkNBm17Si33Kfx9G4tkSOgtT3LqYc2GS3mwbOROomJs9" +
-                "J+Ql46IjhyK3OSvsGLvevIOp6MpPHiSW0m+H3pG96z3MwK/K5+" +
-                "5eX5/CzjOtz46YX0AtXUsozG07ewRGJwQicx2sZ+Yj0DqfYm/U" +
-                "IHZmClo4JnjJeMDS4soZxC39oillM8f51V/99yHRV9fU6v637T" +
-                "+zfPcUAOdJ146OZVy7Orw3AOLCuz5/h1/qv1ZbOQXEguUE0ty2" +
-                "ic/UJLgJVoac9y2MEeMbUXqZO8ZByMpZ8YLx0RrLjNfh73LdmD" +
-                "ZcjUZ6LxyVKyZNslbnPNEo+b12kJsBIt7VkOO9gX8+B5kTpgdB" +
-                "yMpZ8YLx0RrLh1OcV8S/ZgGTL1mWh8cj45b9vz3Oaa8zzOfqUl" +
-                "wEq0tGc57GBfzIPnReqA0XEwln5ivHREsOJ2dnfct2QPliFTn4" +
-                "mPj/ye/P1if/OTjdftUbb/3v3eQLtTj60ck+7qonds5fPMfv3a" +
-                "zud3Hx/q/dKL6YtUU8syGrefYInE4IROYrQNPCKmRIY6MAMrHR" +
-                "VeY7xkbHBhCeUU+tYWsZzi+eus+mv/ZSre8/vL3Se8T7UcB+RA" +
-                "z+EeevrS8uzqMJwDy8rsszOD+a/W181C+1D7kKupz73sNzEM9I" +
-                "yO9X3LuEUVI4mN2cAn85LMpD3Xrp1tSVvN3s9FFpm/zqd6X07u" +
-                "azW3hBj9Fpm313Wp3Hvcom4HzN87q9qJ08zo8zN8P45y0nt9sd" +
-                "3D2Ht/sffw4od7n2u6/zacecSWq/Pr87cKs6n7ML3PZeuJQnqt" +
-                "QOwq8R55n6vuMPnfprj3ufI28pcV9D5X3ive57Jt/zcJyiZ8n2" +
-                "v2trx/o8n/Nsu9z1X4y9/nKkbqfa5c8lf9Plf0KjjQPkA1tSyj" +
-                "cfM7WgKsREt7lsMO9oipvUid5CXjYCz9xHjpiGDFrcsp5luyB8" +
-                "uQqc/Ex/t77mq97/w/XO87l7ve/fdh69a7rX/srfffe+v99tfP" +
-                "eqf5jKz3O5a73v33N6P7oCOtEaqpZRmNe3ezRGJwQicx2gYe+5" +
-                "9r/9ZIqWMGmkUYFV5jvGRscGFJ9gc/Y+kBDMKc4vlL5la2uRW8" +
-                "60cyV3oPkZbHjIW0v/+u9PAY895cAx3ZxFCM6H0JXvmMsZUsw9" +
-                "jSprlGZxFn0FztR4nx80eudHZ1Jt3fK3ben9/Lj9v5+Unx/N4b" +
-                "ZGV23lUivzmQ2M+G5hUr82TX2VqjL/l7xbL4ne2B5H2vkNHukk" +
-                "+u4u+9W/7/b/NA1djXltj8Z8j7HA9UsbHr/Y+X+5eZTvErSPdn" +
-                "Htf9VWNfG5c2Vw15PvdXsRl2/HQxXZQt92ncO8Zalkqt1KG4uj" +
-                "0Remf/7Qnfi4ytmSEOj3yeIS/W+xxZIuOHmRV3SxM6L38eQtZ9" +
-                "7P8AAv6Dow==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value5 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value5[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value6 = null;
-
-    protected static void value6Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 2698;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrNW12IHWcZPqhVCai1F9Y/sJoKghaCmlQM6syZPS3EuNlutj" +
-                "Gpeu2FXhqE3mXnqEsWtAiKNyIVTbUYf4JCcqlV6w+2TWMqu1mW" +
-                "ojURutuKCDYbNc4773nned/vb+ac3SM7w3zf+/N87/N83575Ob" +
-                "O7vV6vV57tme3USbFOf63nbIuXet5WbrqR4Sdr7Afq7JkG94PF" +
-                "y73e0q96O7KV30vnFy+G419c71J9+Kmqwvs6Kvl++aiNDJ6lHR" +
-                "4f1Xp+3cZ0a5HI1N5eVHPru7nwJvhm1LNhjGXXenxdo/zeUH0d" +
-                "g0p9gFH2uDJnvW9pPp/fsJl8tjxn/bA3eGsMY3PT2ITP5R2Pf/" +
-                "sq869Ky1a9nt90svOw4Ye8GEZn0mq64DRKlItGl9flT9eP8WN0" +
-                "W538IWnZqtfzO072E7Dhh7wYRmeS83moC06jRLlodHld/nT9GD" +
-                "9Gd6tTPq7vR/0PefnL3T/xo/vRz5uxv1kcjS5/79V9rG4D96ry" +
-                "ier44zj3o/J3+n5U/mLU/7ZuL7pzKn8ZqPBUXaHD/aj8Q3U8WT" +
-                "5to9lLfPA28y2JimVxQHbZNNqt13VcaKNaGiNzkFhsPGa3Hf70" +
-                "KuS38mGfl/Jby7UQDshOZ65CL5aTjQt+MtYtRuYgsdj4cqVb/X" +
-                "Q+vQr5q/gY/QSPSpQs8YADstO6OGhdLxXvwqIxMgeJxcZjduPp" +
-                "drPxfP86t9RTy75Eyr9yvK5yArbv5ydQUY+xXBgd16FVhHH96+" +
-                "VVXQ2MzNe/Tj1q+JadSXXufNvVaRWIOpfPxmkr9nNLPbXsS4Tz" +
-                "bOVzsH0/n0NFPUarQnV/gw6tIozTmi0j8xX7qUcN37Iz8TlcBV" +
-                "gLy2fj9bV1tfoU/i1bpZ5a6jnOFsfrtTkC2/fzI6iox5jr+CpG" +
-                "e9f4VUFoFWEcsC4j82Wr1KOGb9mZ+ByuAqyF5bNxtf6HpWUrFM" +
-                "uPIsq+xudH3Wpu1GbiW3GY9jRCcBjBUdGYH02NbNPh82MtXGbn" +
-                "KfGuxXcvVt+uFt9fe3ea58+DO/tdcPFdO1jrbS3590auvpE5Lb" +
-                "5zh3Ql1nPp150q7E09z++29Rx+uut6dn2/1OA/aD7Pc9IWczZW" +
-                "Pi9WvoAo+xrPWT3SjdpM4myboz2NEBxGcFQ0urwuf1t9N4/1cZ" +
-                "m9M+AFbqmnln2JcJ6t/AHYvp8/gIp6jOXC6LgOrSKM05otI/P1" +
-                "X6AeNXzLzsTncBVgLSyfjVd3pmdop549ser3Id+d7FzsfyZy13" +
-                "xm5873tlqx/PS1ZVeqc/rv2RXqqaWe42xxvP6sHYft+/lxVNRj" +
-                "LBdGh3SIgjYcsC4j82VXqEcN37Iz8TlcBVgLy2fj6fvR6bOT3Y" +
-                "/6D07/flT+Y8L7+4PTvB8N1gfr3HJfv5teF//0TySiMdiR05jB" +
-                "evYc/KrKOaBtNV0XObG0KssKnSFdmhsaJZI9585YV4ACl9nyWd" +
-                "UaXzGscUs9tdnorZJYHK/P3ftg+35+X3NurOkx5qxZy9ai51ij" +
-                "Q6sI47Rmy8h82Rr1qOFbdiY+h6sAa2H5bLw+Aza4pZ5a9iXCeb" +
-                "byY7B9Pz+GinqMOds2MNo7ExsdWkUY19+o34c4Wulgvv4G9ajh" +
-                "W3YmPoerAGth+Wy8tm9ySz217EuE82zl98P2/fx+VNRjjKqbGO" +
-                "3NodGhVYRxWrNlZL7+TepRw7fsTHwOVwHWwvLZeP1Eeg+31FPL" +
-                "vkQ4z1b+ceDZR06yqFm+5EbtaO8ZutGhVYRxWrNWD43Uo4Zvae" +
-                "UhjuKe8l8hdS6fjdfn/rVq7lvZNeqppZ7jbHEcWLFDvh7px1Ez" +
-                "eM26JgitIowDNswI5drXVkwh6tmsrQg+l6lay3/XK3xoyO0ri0" +
-                "Oj+J/YolZi4mtb+yFM10xZnzPDVwxfXhyiPYq7IVWAYgtj2Bo2" +
-                "79CHr3b5qS//G1fp8mMtkC//0zDd0un587HJnj+zH+7e50/WNs" +
-                "33If3nuaWeWvYlwnnEYId8PdKPo2bwHtDo0CrCOK05xAjl2tdW" +
-                "TCHq2aytCD6Xqfk8z0tbzNuYtXy7CPwlRjEfPZPmO7xfmqc9jR" +
-                "Dc6HzeE1Me42+r7+axPjbv1ynu5pZ6atmXCOcRgx3y9Ug/Xs37" +
-                "NaGoq0OrCOO05hAjlGtfWzGFqGeztiL4XKbKPsgt9dQWByUuGc" +
-                "FYO+TrkUXwTXgRfecPHVpFGKc1hxih3GWNzcSfgc3aiuBzmaor" +
-                "9Er1uXlttkI9tdmKxNniOLBih3w90o+jZvBOsSIIrSKMAzbMCO" +
-                "Xa11ZMIerZrK0IPo/pPO3UsydWfX/f6PS+77wX+XNX5DbeMp6f" +
-                "LD99bVn1TXj4uuwq9dRSz3G2OA6s2CFfj/TjqBnTIQracMCGGa" +
-                "Fc+9qKKUQ9m7UVwecyJZ8//znh+8/P797fx7G2aTx/Ngyb3FJP" +
-                "bX9T4pIRjLVDvh7px1EzrUOrCOO05hAjlGtfWzGFqGeztiL4XK" +
-                "bm/rUgbbFgY9by7SLwm8RiIXrnXGj/CQ9vKxbSOFFrFYb1hvnb" +
-                "6rv54evt6Fid7ALt1LMnFm3LL+t0/b3gRR7titzGVf/CZPlpa0" +
-                "tdP5ffMuH39x9FkLvg+hnVtkN/H5I9Tjv17IlVr+cd3Sp4V5+T" +
-                "4bitvl3dk+X7J7viJ1VaZNxSTy37EuG8xIZvgO3m1LXm9nAcbG" +
-                "kdWkUYpzVr9W4tnxUj0lpcBbYi+FymBj8rbTGbivl2EfhPn2I2" +
-                "qnS2w094lvY0QnAY4StP8bfVd/NYC5fZOwNe5JZ6atmXyPBNHA" +
-                "dW7JCvR/pxyUTOxEaHVhHG9V8cvllXcxmllvW15Sp0/j7ZU2Ar" +
-                "gs9lqq8UW9m5bKup/DmJLrtXlBoH5OjNrvfslZ3TYya8PraMG2" +
-                "xZTLaFIzVetLXVT+f9VdBbfoAP3pr/7zgweLjS/bCLAzK2LT1l" +
-                "xzQ/qXH+v6OFhXRpjMxBYrHxS092q5/Ot69C/mVp2arv73ts1r" +
-                "fDn08f0yVjUV1wGmWVt/On68f4MTpWJ/n8+fYJnz/P7t7v79nZ" +
-                "aX1/p98fDe/k9Vy6FFzP93hny9Od1vPMLl7PM9Ncz2ad1P9lzn" +
-                "ysWc83eusZ+k/KzfCb4eluUDle/v+hLbvBh70fZTeWD4RwQEbr" +
-                "/cWOaX6Ct4+nKflpOGwxMgeJxcaLtrb66Xz7KuRfkZat+vOZ26" +
-                "xvp6uNl7GoNtxy36Ks8nb+dP0YP0aH68zcO3Mvt9xLbOTPSURj" +
-                "sHOu3JSxEs8egY+K4DQcXg7KoMqyompIl+aGfolkj7gz1hWgwG" +
-                "W2fFa1xjdnefMXKcPmSr780dDP6NQ7Ws/VHyfebXa8yp860QGz" +
-                "R9m3VUeH64loO3V3S+1DyezxU58NXrWPzRzjlnuJsb88KxGNwY" +
-                "6cxtgxqDi6o61YpM6JAqvCZ0XVkC7NDS0S+dId7ox1BSjw5xSe" +
-                "v1YukXw/H6Mr/VWJDj9cfTP9mbp61Lh8/zj3uvHQ3ceRLo2ROU" +
-                "gsNl7m4+b1PNv5x1kF9f+GX/Duqpe6VOBxgefPy70d24Yfabn/" +
-                "X0xp6/Q8OcHv4wb7Bvu4pV4i4i8fGezr/xQRYNnCeBzWQi/1XU" +
-                "6b0xiXB5F6XSK6LCMUCS+Ns3m2uZ5WYJmtKh0z+P8B/60eog==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value6 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value6[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value7 = null;
-
-    protected static void value7Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 2004;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdXFmMFEUYHgRCVAgBFV6IsHIfi6AYiMfDzkw/qGhMxAtxQV" +
-                "Si7/qgJgS6q4DJdGI2EE1MTAwJKDz45KsmHgTFEwHxVg7xXBU5" +
-                "BAOLPV1d/f9/VXVPT28fKz3p6qr/+r6q6aquru6ZSkXf7GMyx6" +
-                "qVBJvTX+lgq75byWBLHyWZ56azlcy29U+F2BtSct5QGbJbvtyq" +
-                "k6qTRCqOUhaUF1MJ2GJr7C/l4Af+gEmjYB3mhXGgjOOYeFFEYB" +
-                "WyW2yOjdkDS52pykS11zd2e5hbmm1/Z3dUKrUHizkP2W1meTL8" +
-                "xuVpce1ue67ttau9yC9Nw/1900+JIkyNkC/RJLOyay97chv9dR" +
-                "HtHNHf7ema5PoOGd0YMQZsxTkodTCKbE2qSxN9cJ5RfumZkG9r" +
-                "DVvOetn9RLYqPD9/Sxl1RYR8tbc/mlF/btNv2crOzk/F6qEMR5" +
-                "4nZK65XNNNSBRhoj9SrQuikJpLaVlbMvyWVRZMnd1kvqSPKfs6" +
-                "GE/88dN5K4z9nn0gyH2g4b7jp7sMjD729v0G+auRddjjo+8NSm" +
-                "8Hx/f9dK9aJ8cwH3U+TTp+Oh95+yfOZ7EjzBo9l9HsbE35sbKu" +
-                "U4Lz6skQe1ZlyG72xpTtWXidoL+zZzNuA6f89mTP5H4Htl2krW" +
-                "MrFWUskTbiKPOmMvXE8bFGxVZ5YBZmvpibjgixdJyomthb1RqY" +
-                "mOp4KpLhmx8Z3iVMr1x0G3uzcEQ7nC89nX30xoxy23PjyZzH9Z" +
-                "j7zaab/f1mI6PrQdr7zcbMPO83a6dqp/z5a3CUeVFuvii1Uoq1" +
-                "Uuf0yxKW46jSw6/PbCrDOjKjJjiypPLUeUk95QiSjSepF42A8f" +
-                "GutoPOmtbcWmYtg7zYvbrPwR7CRqbY2pRXPU3x4zZhIe1M9hBT" +
-                "8sKRsb9MW0e2B/Oh7NW64J3iUFvT1rNFpiLn9/eXqVbPR63XqT" +
-                "ZJNNQqiR22oszb48fHj8IHb3Ocem+9V6TiKGWi3NwmJdgGPkLn" +
-                "9EtfKpfRwVdiYktdB8yAFUWFqCZeGBu4SMmmN9Qa4wjAQK+Tuf" +
-                "60Vsaedi680m+pDNGt53g7i3UR16vGvPLuj5rbh2x7nijec/Dz" +
-                "pWqi5x3/r/X5qDrR+RJ7Ke36fFx7NhZcfO3ZuDbP+ad1yDokUn" +
-                "H0x89Dsty4QUqwDXxAh22oD0QMx2diqetkDrOiqBDVxAtjAxcp" +
-                "aSxSa4wjAAO9Tub601rFj5/WrRff/XvedbK7Y9rTHlTkJcbVgd" +
-                "cyWmXY1ka/M6I97UTj547O+3uC+/dXsh8/rXHljp9R+NCe7PX0" +
-                "42e1q9olUnH0r4BdstzcQSVgi62xv5SDH/gH894zahTQoatwF8" +
-                "WBMthSGdWrvsCmhW+KjdlDvXSmKhPV3tBTwidozZ05jF+Xljx+" +
-                "5orPDnj7kSDv3YezL9gfsr+zv5r+sz+G3jWD55tsv7cf9HN/Bp" +
-                "Kv/DRYY2H/iP7Owmd/7Gv7ANtnXeXlvtd4/MAOs6PsZ3aMHWdf" +
-                "sm+Q5m9vP0Nsv2Xfqc83Gbqysl/Yr/B8M5T+7qcnW/hE/nlk/0" +
-                "3Y39kJdjr8ttZaa0UqjlImys1dVAK22Br7Szn4gX+AOF6NAjp0" +
-                "Fq2lOFAGWyqjetUX1XW8OTZmD/XSmapMqL01YA14xwF59DUDst" +
-                "z8UEqwDXxAh22oD0QMcMdQS6yTDCgLHRWimnhhbOASSsaoNcYR" +
-                "gIFeJ3P9MXMqUedLzsGm9py+8/cZvG8l8OFXtN5nqJ/KZqSKfp" +
-                "8hQN9rlifHT9rf+Vg+LuF6yMGM57qt9jxfcnueL/oKiNrzcBbn" +
-                "Z/g9ivPzdCdcmkcyb8/T+Z6fYj7fPGqcz/+Y/Xy+/m+58/ko/K" +
-                "zf/+zpk6nI+e15gWr1vH+mmJ539EWuP/YlWqXsS2KHrSjz9vjx" +
-                "8aPwwdschy/0dvQ98Cl8ljw/+Rx3RJL+LtuTX+On84PSAnF+8q" +
-                "vD2FNb/d0aYewzM709OKN4V9seNkPt73x2u/7Op/npPBWfTx50" +
-                "f5/Lu+P01S16rrMtzs8qe32pcER4v44vThnhcEx9hpXcnsPKa8" +
-                "9qX8rzM8bPGltyexaOD+sh7shEM0HtesRviqnP6JLbs3D86gt6" +
-                "Lm2Eobfxmwtvz+f0XNoIhvnfQLntWTx+9Xk9lzZCjqPSfSnPz1" +
-                "tyHU0WWgtF2jpKiSy7o0ArZTgH/rDTHBxl/Po5iol1lJeKAxLV" +
-                "hlpgRGAk2bTwqR5HwAwosooIMmxfr9VrHkZNHv0a12TZHS0l2A" +
-                "Y+Quf0S18qF2WIGOCOpJZYJxlQFjoqRDXxwtjARUowvl4zYKDX" +
-                "yVx/zJxKwm8mfCPaHZPu+h7bIy4r+fpeOL4Vrnq6OczVrAklt2" +
-                "fh+M7csD1zwK6fLbc9i8Lv2SxTkfOxe6hWz0euL22Ox2nPJokd" +
-                "tqLM2+PHx4/CB+9kcVobrH+6OfwWw5qY0bz8zjb6pfniR6Dehd" +
-                "8P4ffQ9WRX+y0EN7w13m492Q3fqvPfD7kyo1WGtO+HRODT9WR+" +
-                "d3b/J2CHT1hcMvflj/hn7xSlhRP8fwR/AI1fF/jDyTmuXxVEMP" +
-                "xqni9PgPw4Ka1u4fu54Fex/F6k7eWrFO/HAhZBX+D+PQRfwVd2" +
-                "dD0KV0Hc7hzmS8M7sXbnZz7eDK8UvMF6nZvD/y9Zl5Q8XyocH4" +
-                "2f9Rzac1TJ7Zkv/n+r7dJp");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value7 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value7[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value8 = null;
-
-    protected static void value8Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 2386;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdXF+IHVcZv4pKQNoq0VhQCCUuaqPBjU22DSW7mztjGxVbwZ" +
-                "BttYLWlfogYhrxSc3cuxP31mstCCK+rVbQUluNin0RRFAKpYja" +
-                "EhcsKq55cn0SCpoHz8w33/x+3zln7t6ud3Zs5jDnz+/7zvf7fW" +
-                "dn5sy95KbXC4/s89obp75t8IfQf7jdix6DW+043z94vtdL/tOb" +
-                "yTH8/mT74HdxfHr+wXum88tvyF8/0b5er+cdvZkf6f5ep8fe8w" +
-                "/O1+v5Pncd7MjfdH02XB//6nY92+VPbktuk1paxWQ8/oAi7IMC" +
-                "G/vYOYhYXR/XW0+2qQKrImRF1Jgu5oYWRZg/zAwKwpzi+bNyi4" +
-                "TXZ/7QNNfny+sYXrfnjAfq+/2uFp5fr+n4+dkqf3ImOSO1tIrJ" +
-                "ePxhRdgHBTb2sXMQsWJ80XqyTRVYFSErosZ0MTe01MiLfsYcAQ" +
-                "rCnOL5s3KHrSarrl3VtrSs6nh8jyLsgwIb+9g5iFhdH6+1nmxT" +
-                "BVZFyIqoMV3MDS2KMH+YGRSEOcXzZ+UWibx/frSF++11Hd/vrf" +
-                "Inp5PTUkurmIzHDyrCPihiG27rXItrdMwt89lnPdmmCqyKkBVR" +
-                "Y7qYG1oUYf4wMygIc4rnz8qLc/CuweHBW1x7S7m3v5Wvz1Gw/+" +
-                "ePRt4HDk33+cghb5/hW/LBHexH4/javxv853b7+aj2P+FW9Fxy" +
-                "Tmppy5U+p+PxQBH2QYGNfewcF2UI1P2NbreebFMFVkXICp0xXc" +
-                "wNLYqsf8vPmCNAQZhTPH9WbpHw+Zl+o3fNHe3mlOxL9kktrWIy" +
-                "Hp1UhH1QYGMfOwcRwcmeoQ3KoMqyImpMF3NDiyJ5z8+YI0BBmF" +
-                "M8f5tVdI2vC3sz/Av+o+PP7y3zT9yPFqeK8PLajy5Osx/lT+5u" +
-                "P5r8/Mx/1ML18c+Or8895x9cqdfzJy3ks93xem53uJ4/m3300e" +
-                "lu13P9fIfr+VQL18fXOr4+W+VPz6ZnpS5aRaT0T/RPwKqY9goc" +
-                "83EWtcwTX8SU+IoiCmxWl88DxPexHsyoI+TKOXFstSO6zd5nBK" +
-                "b+pX0lXXHtirQlvqKlf7J/ElbFtFfgYtOenEUt88QXMav1PGk5" +
-                "2UbZrIQ8QHwf68GMOlJM+K2dI7ACm73PCEz9yzmb/U3Hsaltmf" +
-                "FmVRZdqZAaXaytm2wzPs6r7C/CR3uuv8ie1qYKWIUX2dPJ2sMZ" +
-                "8CT/RT9jjgAFot9X6ivBUdm2+lv+tSGYqw+7siWInv3DOtba2m" +
-                "V25XU4jF7EBEvtvxV7FimutZa4FxT4OKOiyqJNClSpHyGOWfbY" +
-                "fjS8nP+ihf3g6x3vR63y96/0r0gtrWJFGV7up4oounZArTJDbe" +
-                "zjvN5U9lP4aM/1U/a0NlXAKmxkXydrD2fAk/xTP2OOAAWi31fq" +
-                "K+GVlLP58+bw8nht9p83k4e6/bzZxD+b7z9jR/7LasXn+o5j7X" +
-                "PmrzA31VU/1+QrMWfyueDOXd6RDfyD70zrudv3eff8/FULz68v" +
-                "d/z8bJU/PZ4el7poFZHi7vdvwqo+3JPRcBsjiYAeWo2fZJaTbV" +
-                "aXzwPE97EezAhFqqbgt3aOwAoss88IjP3ThXTBtQvSlviCll5v" +
-                "/G1YFeOejNx61iOJgB5ajZ98yXKyjbJZCHmA+D7WgxmhSNUU/N" +
-                "bOEViBZfYZgVn/4lg6WBSNVPSK012f37UY12yxte358ZOHlw7u" +
-                "fN+ov/rG5iCq6oIy3wIseTgWnzG7CpytcGiZoOymomAkp1vPRy" +
-                "3GNVtsbXt+/GRgbQ3reZONGJuDqKoLynwLsGQQi8+YXQXOVji0" +
-                "NCtr3I9+08J+MO54P2qVP/0jSjFixD0/f2wRHsHbPT8JUVyjg6" +
-                "XKZ8hxrC2my1cF37guy6gWqCn4Qzv8NL7PbPmYif3TyyhuXJ5a" +
-                "3P3+mEV4BG+3noQoLj200nP5jDiOtdF6NqqCb1yXZVQL1BT8oR" +
-                "1+Gt9ntnzMZP0n3u/PtHC/faXj+33P+en7+WdbyOeLHa9nq/xL" +
-                "x5aOSV20ikhx9/vjsKoP92Q03MZIIqCHVuMnX7WcbLO6fB4gvo" +
-                "/1YEYoUjUFv7VzBFZgmX1GYOy/dHzJvdcX9VL1ni99GY9/CKti" +
-                "3JORW896JBHQQ6vxk9xyso2yOR7yAPF9rAczQpGqKfitnSOwAs" +
-                "vsMwJj//5Gf8N98t9Aq6P+hrs+nyzGBWJ9tMhouC092HiORV0+" +
-                "Fy3GNpmlPXiErOoR02W5EVUQ5g8zg4Iwp1j+9O3JBqs3lifq7+" +
-                "suxS2TkDhGz6/1vXlONqlom3/i959T/XuGl/j95yMdf//5yF5/" +
-                "/0nvS79vYX9d63V67D0/redzLeRzYTZx8ue75Z/+oH9f98HeNX" +
-                "c0/fu62T0/m9fz1If+p8i3trou39vB/lgcb8rJPj/XfvDSn5/l" +
-                "Lnipf0lqbXVU9EZ39y+Jl/WBh9bsY+dY1EbjuLBBGUe3rHHt/g" +
-                "x4wj9fsrPC7Fmlr9RXwitZnMmR5Ej1XDlSP2FKrDhPnRVUx9aX" +
-                "Z7Ddj9TwHDuiPOzF/oprrSWMY1VoLx5Vc+JsJukMI8Rz4/Wxx/" +
-                "DV9fPzTHQn2NqL51z+tyl8/kT9P7vz71PMqX7Tn/9lB78XJlr/" +
-                "2rDuc8mc9ixWnOOfCqpj66uj4ba1+5HsMboXNpnDXuyvuNZaJm" +
-                "XAeuNRR/f4GceihuvUvHLMnp3PXhXuR9kNrt7v1vPn2RtK5IA7" +
-                "3+zOL1QeZaTsbbqe2c1u9E53lntb9u460rEs2JNG1W8Ys/dmd2" +
-                "R3uvZ09v6G94z7so+V7cfL+pPZA9mns1dkr/S8rs+qXxBmb3Tn" +
-                "jWSp3/izdxD/R7LqTT+rfq2W3Z4tZqd2eOe5O4KZX2Nm97tzNZ" +
-                "lP5t26zmtbrvS8jpefVoR9UGBjn2R+dD/G7t74LLxttGQ+/0xo" +
-                "0x6rsqzFOfqErz2cgYw0ouYUxrYzwpxgt/l7WR1N3F+rqKUtLU" +
-                "d1vPyCIuyDIjZ3vx9lHzsHEWtm4xnatMeqLCuixnQxN7QoIjmF" +
-                "se0MtfhKw/xtVpP3o/FT0+xH4f8fMvrU/+9+tP7bNvej9Gp6tV" +
-                "rfQxYTHDUwawvtjKMfY5Y56dUL9dMpORRq01pLUwZQUES5cNDq" +
-                "02P5os0CSvhYvuizBPvRIYsp+6Tfcy3/evbfL83sc90uv19qyq" +
-                "m975ey+i4fPXDtfX7PH2w1/H8BrU2HQw==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value8 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value8[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value9 = null;
-
-    protected static void value9Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1763;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdW02IHEUUHlDx52hYom6IGndBkBDIuig5TU/PIPiDt6AnxZ" +
-                "ibCpLsxd2g07s7m/YQEXIMOahJjLjJzYAgmFMiG0QRr0GUeFsn" +
-                "gjER8adra95871XVzPT0VHdPppvpqnr1ve99r7aqf5NwI9yoVM" +
-                "KNsFtSS9VUnY4cYyLwM+1Up1qlEtwpkbyP4sHHZIZFquUIHltm" +
-                "oUoe384MCuyc3Plz5dJCW/Qr1VZ/q3jf4rcqpW7xm/nyR7tNS3" +
-                "PBE/PTLmv1Hz/sK6cG9H/mtveKH80K77OJZW54VY1L2FWLW3R/" +
-                "7ZqJMdFk0xayEzui6Iiaj/ugz6XLVCV5bF0yIjRSqfzsfsqTlC" +
-                "MLVwQZSeL7rvff0/xNljcrt9EWH8mTvXEZu2pxS/K3DKSFt4Am" +
-                "m7aQndgRhcfkPrzP1mWqkjy2LhkRGqnkOXFu6CJ2GVnG45E4Pm" +
-                "yH7eS61KZy60rVpjYsHIMdfRwjfcDYmR/vSiTvo3hShR0VrC5d" +
-                "PLbMQpVH182MOQMU2Dm58+fKpcWx3m/ksN5Wy13va7fyZK9uVj" +
-                "f1UZdk0+3aM9ICLEdzf7LDD/6IKVl4H9fF46DNeVy6ZESoolLl" +
-                "5OLm6qHSVmoqMfGO68uxygRvq3+musZ+6DHiX9212ZzA8fwgFe" +
-                "pvjxH/vS3G5b+MfqmeJ1pZz5/Xq9f1UZdk023TAixHc3+yww/+" +
-                "nTn/vsmCPqmLx0EbWGmT/aYv1KzdcnNz9cjLVmoqkfhqu5pc49" +
-                "VRl1s9bWoHh6QFWI5e3uR92g4/+HfHwWDhfcDIOGhzHpcuGRGq" +
-                "qFQ5ubi5eqi0lZpKTLzjXHxXd9bf4f/5qH5/ueeJouI37+m+C9" +
-                "hLteCwE7lrlDitB1LqeTkF5j5WT8apuX2wD+XUfGoA97N9e19q" +
-                "vuFknwvm9FGXZNPt+Ji0AMvR3J/s8IM/YkoW3sd18Thocx6XLh" +
-                "kRqqhcPePm5uqh0lZqKjHx/Z6PWjvG+L3GqWx+wav+UPYW3gxv" +
-                "6qMuyabbsHAMdvRxjPQBI2JypN0HZVAlo4LVpYvHllmoMnjdzJ" +
-                "gzEJZQplI7f5lV913NQmNBHXWdasY7nw5G9nNko8ebaOXj9ujz" +
-                "5muBY3vrgWKpjPvTUZXBAe4r1aMVHCAuPi6Iw7EDrxgPT/LzZv" +
-                "CaP1TK7xQ4f+6avPGMT6dCnfEXsTXTrc1O4Px8xR+qz9lqf2M/" +
-                "6vrnxtCRo11103Mwv+nDGXvrAaNUxv3pqMrgINcj1aMVHCQuk1" +
-                "P7cuzA9d69iw9mvMz3e/v03V34/JwpOiK+Fwd7RnnetL8XRz/6" +
-                "U7n86YBZ8X2P8dyTel7N+R5PR4wfhriuOcczmC53PONzRY9ndD" +
-                "jX9VbyM9fR9RLX+06/zNF2j1zPZ/x77ix8PLtvsOMv/LO39pU7" +
-                "P1tT5Y3nJG7xV3my16ZqU/qoS7LptmkBlqO5P9nhB38dsX7VZE" +
-                "Gf1MXjoA2stMl+0xdqVHwXN1ePvGylphITP/r8HPL9/E/lzs98" +
-                "41cPVQ/poy7JptumBViO5v5khx/8O+vta5MFfVIXj4M2sNIm+0" +
-                "1fqFn7w83N1SMvW6mpxMRvPUfNq7373DWvf+LZbl6jcOQ98ihr" +
-                "Jn/9uMntfNqcl4wuH7CSLiiT/txWP+7i5zY5CjxbHYP23sqMK+" +
-                "Bzea73YL3c9V58/NYLueZztuTxLDy+r3/v7bgHX07yOe/pefNq" +
-                "xvE8n+fY1U/WT+qjLsmm27BwDHb0cYz0AWPnenRZInkfxZMq7K" +
-                "hgdenisWUWqowvmRlzBiiwc3Lnz5VLS0HP7+dKXu85x492R09E" +
-                "O5Lyya3WzPDrPXos9fulx5N8Pveke8BXrmhvj/HsET+aHfX9Ur" +
-                "Rv0Pmz8Y6PzMEyDu9D/OSU7XrUWPIynktjNZ5LeY9frc3LWpvG" +
-                "U7dXHqy1bazL37TY9mi51pbW+Bvby8S42Vce6q9BWl01WY8+6p" +
-                "9X/8z7KWbzc9HL/Fwcq/m5WOJ69/J/n8AyFuN5pOjxXIlyveM9" +
-                "XSl1Kz5+3+9xL440p5L5Wf+4mPn5Xo/7KV/xx+J5U43nJ+Wud1" +
-                "/xs4xn/YqVxcjfi31tWb8X2zn1ZPD8/T3cFm5L7mi+8zs/FWeZ" +
-                "87NXfPt+yVvWnef3cDqcTq5Ob/tlDz39e4b4it/4+Y9nqrcLhT" +
-                "+9jRo3b8XVL9WuSt2i2jAMae1Z2N3b2qODeHr1x78Mo3b8r++1" +
-                "b8s9f/qKn994pv9+pN7Pe3rncDHr+/naxVRn558z3o2dqJ/QR1" +
-                "2STbdVvXZB24HBrhH8Z9o5YyefCxLJ+0iBVGFHVT/F49bFY0ML" +
-                "WXh8zg0+KLGV2vlz5dJSwHpP5md8zdP9Z8b5ufZIrov7f+1uZx" +
-                "M=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value9 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value9[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value10 = null;
-
-    protected static void value10Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1676;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrlXL1vHEUUX9EgKFFEGmRHJChIGIoEIUTD+Tbb4f+DgigChE" +
-                "AiDWf7nDMi7h1RECFIRJlgiiSOEyDCcUHp0koTqgiEEEhIIPz2" +
-                "+d2bz9s3b/d2HbEjzfvc3/vN3M3O3vrOWeYfn3yQTekYHM2y/q" +
-                "cNYb2lO6+p+vJjevMJx+iXrNNj9HC6+IOXBy8NntuXr5bWifT5" +
-                "HByP+F/3PC9m2fBcQ7xnK+KnIvP5WyT/BdNa+nzfczqR0Rso86" +
-                "exBwk92uQZvod+ziU9ZJtn+n6KhA/mYbII55mcQxUpbtumFmPI" +
-                "eHbURuR6bqW213vxTbfrfdr1J6330T/Nr/fGeCvX+4Ur017v/b" +
-                "+xBwk92uTBOPtYD9nmmb6fMYM775iHySKcZ3IOVWTmpm1qLsPB" +
-                "ZZenzcBG5HpuJf8YfpT2uiw+Sskenm9nXQ8/jOxHv067cv4a9i" +
-                "ChR5s8GGcf6yHbPNP3M+ZkHiaLcJ7JOVSRmZu2qcUYMp4dtRG5" +
-                "nlup9xM0kGiRJj9i+b5fg55atSpefCbJhyzdPLR9/9n1flSMJP" +
-                "sRZOn2o94uNJBokZbwuuxK/anImqpV8dGfkvzRX7p5KPaKPexR" +
-                "lq/NHtnsMXO4cczMsc9hxPFrb2X6MdJMVnZVRg3xMmvboyg9F9" +
-                "0Rmwjj3Iv+mMLjt0f1P1zva6L1vqa//6x7v3Q4j9j9UiF6vlSo" +
-                "n0JNen/2Tx/e9+fi77r3Z2xM9vuz9Gg/H32BPUjo0SYPxtnHes" +
-                "g2z/T9jBkc6ZiHySKcZ3IOVWTmpm1qMYaMZ0dtRK7nVuptQAOJ" +
-                "FmkJ+9pGSmYqurZqLL76RN1RVNT9DhpItEhLQfA8V+KZqejyqr" +
-                "L4JG7Tfr5Ub38PZO5fP1c73t9X/pBePxvbGWvv78VJXayV/f1k" +
-                "3RFUrIsfoIFEi7QUBM9zNeJXoMuryuLITTQKFdPe99BAokVaCo" +
-                "LUr0FPrVoV77+bwlbB6xY0kGiRVtYeyBA8zoOw30avOZ+3dPHY" +
-                "mMJsFbzuQQOJFmll7QUZgtRvo9ecz3u6eGxMYbYKXlvQQKJFWn" +
-                "mvdlaGIPXb6DXnc0sXX30nha2C1yY0kGiRVr6Wz8gQpH4bveZ8" +
-                "burisTGF2R6O+89iNv75vZjt+PnSrOj50mz65/cpzufMhPmc6X" +
-                "g+Z0TzOaOdz95daCDRIq1cG0dkCFK/jV5zvd/VxWNjCrNV8LoB" +
-                "DSRapMEx/7N3NT8fQogho1w+Z3rs7OWz6vm8oYv7Y4rlV1WI4N" +
-                "yGBhIt0sra2zIEqd9Gr/n+vK2Lx8YUZqvgdQcaSLRIK2vvyhCk" +
-                "fhu95nze0cVjYwqzVfC6CQ0kWqSVq3tZhiD12+g15/OmLr78fg" +
-                "pbBa8foYFEi7QUBKlfg55atZLVv5J8yNIx7W1DA4kWaeVemMsQ" +
-                "pH4bveZ8buvisTGF2aYzmsr959yE+8+5ju8/50T3n3Pav8e1/X" +
-                "z+zEa38xmr39Tz+d41aCDRIq3cC9+WIchrpWTXqxqLx8bUFC//" +
-                "mO73Gc5cz1o5Yn/vaKt+a/N5reP5bKl+vkB9vjDJ5+v5QgwtXq" +
-                "eKCzQJW8pCzWU+qX4VvhvnuXArO9eNHWgg0SKtvJ+/KrqS7Uj9" +
-                "NnrN6+eOLn5hLoVtOqPefWgg0SKtvHa/4j0PCVx9OD/sHz5leu" +
-                "zs4ZPq+byvi/tjiuVXVQjnt/19xdXnu71fWjkmvV9S/z5uHnuQ" +
-                "0KNNHoyTb+lZ1t0YH0tHw36uFo8gA2YRzjM5m+xdLL8qnzGZi8" +
-                "vARuR6bqXWv29z4nF5fyqvQ9ehgUSLtPJac1yGIK+Vkl2vaiwe" +
-                "G1NjvL6FBhIt0lIQUjJT0bVVY/H5I5L8+SN6ZvlBnx/0+dgP2n" +
-                "AtH+dkmamH7MzCyiKRKh55ZV7uoLkVc6MPazGGmcEixM6t51by" +
-                "j9TrZ9rvDbs+hh9PF3/SflSIPnk+Xv9PIDamZn5f3F/pr2CPEv" +
-                "xolfal/srqMfZwrpltnn/QX2IkRsSqGHPxXG52RdOm3MWHts+O" +
-                "u+cyG6gfwh5cNkdFEZ+py8TNH1+BH1CPmnMVfxDWY+s9hFEVsb" +
-                "MkeWaWzby6/mT8WH0+O4bT9uej/lYTq72/pV3vsfrNfD4q1ot1" +
-                "7FGWV5h1stlj5nDD2OIjOtc9k3XS9sezaWeaMapns/CrMmqIl1" +
-                "nbHgVIs74/MsqlLJepP36Tue1pZ3/vN/L9Tz2K7MzVU8q7h6/T" +
-                "1vvwq9r7+5fd7u/zb0rWO2Spnof8B6g4MDA=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value10 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value10[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value11 = null;
-
-    protected static void value11Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 2195;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdXE2IHFUQ7pNRVIIGDWQFxTWgkWTBTTTxoNmeacgheDCH7K" +
-                "66kcQ1uWhQzCm74M7MzspEMIeAePASECPExRz8Q/DnGvQgkoss" +
-                "0cMqBFmIGlDRoP2mpuareu/1bE9P97bsDPN+qr6q76s3r7u3O6" +
-                "PRUrQUBNFS1OmDgGc8lhZgJaK+YvtoxC3ym1d40UWyj/lsRps1" +
-                "WgovujZ3jFjOSfy+3NAMJT6lbv0a777mrgeJr+b7wYCv1sNBqa" +
-                "+Fe4rNX9tee7B2V9zvbM/ui9fzRJ8ZhhPsux3L/fF3+FM+upsf" +
-                "rKLqIb89ib+21bGM9rkOjwZB9UL1ArXUGzvNeMwtMHjDJzFsr/" +
-                "+JMY+CoHJYI6WP+bQKlxVZfboQIfWzRfK7lTG2tTvW/4er1K1f" +
-                "KteW7vHeY39W6mm+KUK52NrmtBlS7Ib92eLSV5BFaXVfdR+11L" +
-                "ON5rCwtXKKvRKBD6PMmLDI2NZ5ylglB3zg0yok3tYptbsRUj9b" +
-                "JL/MrSMMyqfUViJXUqpXZ6ZPgnX8an6UCvVptuzVg9WD1FLPNp" +
-                "rDwtbKPHslAh9GmTFhkbFzJM1LpPYxn1Yh8bZOqd2NkPrZIvll" +
-                "bh1hUD6lthK5km3fRHUi7ie4b3smeA4LWxt3slci8OmgNptxZQ" +
-                "4YHsVK5yRS+5hPq5B4W6fU7kZI/WyR/DK3jjAon1JbiVhP8o1X" +
-                "x+N+nPu2Z5znsEgM3uSrr3CsHYkxj2KlUxopfcynVbisyOrTJb" +
-                "l1FaaX/G5ljG097tbkr18q15bulXOyv3NGfaWv6+tEuefPYvnD" +
-                "kXCEWurZRvP2eBEWM4OXETK+0y62+0WRhUeLHd+IjCGfrUvyCA" +
-                "UdLJTIPDYjVHXVLSbkXlRVLXar8DBoJlaM8WD7s8/7zcp6vt+s" +
-                "RtWIWurZRnNYJAZv+CRGxyBj53g7pJHSx3xahcuKrD5dkltXYX" +
-                "rJ71YGBW5N/vqlcm1Jc39U+66POxjr/n1+U+1SvD/357MT6udW" +
-                "Yf/Wb3/tldT6U96/z2+cv637dGA0GqU2GoUF82g0PA+LnBkf4v" +
-                "HhmPhsch5ZeBSeZyuygFs8tRh1eaQuzi5RWjdi0bIq7ZeVdc/f" +
-                "57kKN6vNxIoxtr6XI4WeP58o9/xZf7HI7NGZ6Ay11LON5rYFWI" +
-                "mW8WxHHOI755nf7SzwaV2SB3NgtU377VioMfy+3FI96nKV2kps" +
-                "/Frvz+ov5e7PYvlrN3tsGzJluqXT37BKPVdyruDGPtfzSpHrGQ" +
-                "6FQ9RSzzbzroxURsKhxkuwGBuPgJbx1BpU/JfJCM3hNzbyySzs" +
-                "s3VJHswZ2zqubdpvx6JWVKBz187KqlCFj0EzMd58eu3PynBlON" +
-                "b9srpbG06zPwnlw1LOXK4rP2fbn0n8tbNpkT13/2R1klrq2UZz" +
-                "WCQGb/gkRscgY4fxpEZKH/NpFS4rsvp0SW5dRdty0q5YZoACty" +
-                "Z//VJ5dTKcDWfjfTrLfXvnzvLctgAr0fUV6SM74hDfOS6es7PA" +
-                "J473Wc2DObDapv12LNQYfl9uqZ4r9ym1lWh8OBPOxP0M923PDM" +
-                "9tC7ASLePZjjjEd3iP2FngE+s5o3kwB1bbtN+OhRrD78st1aMu" +
-                "V6mtROMrlyuXnfNG22Y+4SR5ec5YWDHHR8a42cNJsDDGRUEH2P" +
-                "gtmSWH9sisEs81yWqSFEiW1Wy2LnFm7t7hhgU8KwxLfv6ZxN86" +
-                "kUv2beE2aqlnG83HLmpLuK01By/7ZDy1rTrigmD+OPuZExnnX9" +
-                "A+qUvyYC7zaJT027FQY2ry5W69Kqtij1wNySeZNL7X/izk/v31" +
-                "9fz8s9/f2zS/92To6/c24Q856b57FX/C722S+PXvbZqfZ/u9Te" +
-                "P5hvM0vvHswE9ZtvrtjcPJvn5fjadW+Rf0pf60ZUF5VMXr2Zhq" +
-                "jOe7no2nk9ez9cbarGfjUMLx/kCq7M9k3Enb6a1tA+/P7cn2wb" +
-                "OnU9lLw+DZE+N20FvbBq51R7J98OzpVPbSMHj2Xsd7/ufPRDZz" +
-                "vJ9em+M98fr+SJFX92LOn9FQj+vRULnnz3T8eal0//5svpkhw0" +
-                "yPO4hLOf0d+WPGO5hLaZ/XZcq+J9xDLfVso3l7vAwLsBIt49mO" +
-                "TMjYYVy2s8CndUkezGUeny7NCFVddcsJuZdlVajCx6CZNL6I+6" +
-                "Ne+7N6tNz7o7Xn7/e/R0j/e7BaPa7nWE5npYWM63msyLVbCJpX" +
-                "zf1mc6W2s3md7jebv+WTu/mvY7kW1/NkTtl/XcX/d8J6rsrf/K" +
-                "vT/1PO/uzzechbJT8PufZ/eh7izdDX85DqxnKfhyTx6+chjbez" +
-                "PQ/xXvOPuqN8Xnnmy5orXG/Xo00lX482Fbl24XQ4TS31bKP52L" +
-                "3aEk63PsaYfTJejrht3gS0jginmxtcn2bUeJ9OzW3rYBXcm5p8" +
-                "uVsfytzssWvSb624q+s9ak1vWppLC2Oo57FvriOB0R4dr8ekwM" +
-                "bZMVKby4hcLk+vSrROn1KXz2Yq4u/5hVuLPyu1vsgWN7Y3P5Tn" +
-                "u54L56ilnm00ty3ASrSMZzviEA9OnUX6pC7Jg7nM49OlGaGK+7" +
-                "HQn1uqJ5Rfqa2E9SDWeTJTC9bxa+yx/FApj9bb1/N6tr5Mhfoq" +
-                "4/G+K9xFLfVso7ltAVaiZTzbEYd4cOos0id1SR7MZR6fLs0IVd" +
-                "yPVfy5pXpC+ZXaSlgPYp3r0eki90f0Wbn7s3j+ve/ELAeiA6Y3" +
-                "s+iAmZPdtNQzxrTkZyv7YeVI2CmKssn46KrWQQhSJDOCDzjOSR" +
-                "qYQ0YQF2skP4+k386HnJQHcRyLXFJTGffvra/LvX9P+n1IPv//" +
-                "EN96LtxR5HpG75a7nkn8+axnOBVOUUt9+8w6Re/KlsqWcKr1DS" +
-                "zASrSMZzsyISOxmpw6C3ziejSleTAHVtu0346FGsPvyy3Voy5X" +
-                "qa3Exq/59ehcydejYvn/AxVY6ok=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value11 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value11[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value12 = null;
-
-    protected static void value12Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1353;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdW71vE0kUX0BCCOmqK65BAhJASKcrDiiAKozXDR81Ebq72O" +
-                "IfSAEoiAZswInzLyBFOgECkYgougaupDgogu6OpIACOiSQ0kEa" +
-                "GnYzfrz35sPsrmdn1h7LOzPv6/d7L2/Xu8bEU/FUFMVTcW+OIt" +
-                "jBGo5ogy+pa2+Ar+qJa1hFUf0ht6Q6wOMsdFSMauJFsXkW6Uzx" +
-                "9cyQgZ6TOX/KPJE142YyN2He0jRhjxJqgy/UURvugxElbvdfbk" +
-                "l1gMdZ6KgY1cSLYvMs0rmzT82YRkAGek7m/CnzRNaIG8ncgHlL" +
-                "04A9SqgNvlBHbbgPRuzVc51bUh3gcRY6KkY18aLYPIt0TuqpZE" +
-                "wjIAM9J3P+lHncqL2svYyi9Agz7NJVuhZP0iO34Rb0rcphDaso" +
-                "Ek+4JdVJL1ihhYqavtM4Zl4UG7mAhOLT2BgPmehM9fwp80S2Wl" +
-                "tN5lWcYZeu0jUcqY1qgW9VDmtYJfm84pZUB3joo0ZGCWdLLSg2" +
-                "zyKdKb6eGTLQczLnT5lzCYwbl+mu+y5yOsR/UdBhw+++LQOt9l" +
-                "S+e9hdXZstRvhhY4E5lcOz9Uvr59aeZD62tTug9meGCOMW+XFN" +
-                "cji5X7nniPfe7+iPmOU2/NZBTXI0J6OTZnneerY38ljXF8P2bd" +
-                "n43vvzceD+fPy9/rz51yD96bue4pmTT5VnRetpw+fne2d8WOpZ" +
-                "Xwvcn2vlXj9917N2IWw9bfhKf/5aRj3j/wepp8HysMPrfsF62n" +
-                "LS+9MZ00vf/koTyaf3j9FQjuuWerd/8M0E6xlnepbR75daS9Wt" +
-                "c1zq85kYE2PyKGeQyX28xiVoS63bG1Qn5eiH/ojJo1Ad5UVxcE" +
-                "/jmHhxRGQFc5qTKTZljyx1pioT1b5vf64X7PAq9+d6qdEvxhfl" +
-                "Uc4gk/vuB5BQG3yhjtpwH4yImNRS1yEzZMVRMaqJF8VGLiCZfa" +
-                "BmTCMgAz0nc/48q/7Pm6dORCM3ys4p3/3nrbuD3n+Gvl+a28xy" +
-                "v9T9WOz+M56Op+VRzludOw17lFAbfKGO2nAfjNi7bu/mllQHeJ" +
-                "yFjopRTbwoNs8inSm+nhky0HMy50+Zc4mf75fEzrDnu3/8vPXM" +
-                "mc+OwPXcUaXr5+03A3+/FPj6acNXnt8nw32fnLM/dgXuz1LxxW" +
-                "lxWh7lDDK5VyVoS62pP8jRD/17iNvVKKjjvCgO7tGWy7he9SW5" +
-                "bjfHpuwxL52pykS1L6M/6/uL6XyMbPhFWXb+MMh+H4Rv57f++u" +
-                "7nsPWc+6fUv1atXpNHOYNM7lUJ2lJr6i+P4gr6oT9i8ihUR3lR" +
-                "HNzTOCZeHBFZwZxyM8VG9pSlzlRlotr3+z6k8FX5WnWfN/1wm3" +
-                "3lsp4T96tbTz/cZted1vN1hevpnZuD8/1qhc/3q8NXz4nFCvfn" +
-                "4hD250yF+3NmCPvzUYX70zs3fD4Sdwr2gMWv9VPxmFqss265+e" +
-                "hPsZA8z2wW4LxQTJdntN8XrOdC2PPd+e+T/w58/bTgt/4c0noG" +
-                "/vWyDd9HPUW7IOd2VNnhn9vgn+/9xvy2sPXs7Kt6PXP+e9xzJ1" +
-                "323L9nRev5wkk9X/j3rGY9a82w57t//JLreT5wPc+PWD0nA9dz" +
-                "Mmw9xYp9Z71GrdhsxUq2CFkx3PnpebpiqtRz2b6zcl622YrlbB" +
-                "GyYrjz0/N0xVSp55J9Z+W8ZLMVS8LRb22LxrH58eej1MoV05Lv" +
-                "58cC389/Gq3nIzfj1Cf/noPXc/5ANHJjfrzk6vX5fd38oUwRhu" +
-                "v3yccs9qX9f23sz/qX0etP/zmRep4bwXqeC1jPMyNYz3Jz+go5" +
-                "MOAB");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value12 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value12[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value13 = null;
-
-    protected static void value13Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1375;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrlW0GLFEcUrpCDJPddCQRiyAQSZUCihxAI2NXTgywBBe9iEg" +
-                "8imESIl+QgmV3X3e2w7EVIDoHFkyieQm4J0Vw8RFCReBRkIXjZ" +
-                "X2DCZnpf3rz3qqpnepvqrpmyhqnqevW9975686q7q2dGKbsMvs" +
-                "aj7IXyUPL31RQVP3PaS/nu0igSh6xYP65uZ/ChJfnLH8vFGxO8" +
-                "Pyr5dA9W5n/ED1OWnydVdKX9ObF4nogwnicCxnMhwnguhItnEy" +
-                "X/IGw8rx4IFc+0m3aH8xdn5UIyuQDKhQWbXq5Hf9fTq+7fF9NR" +
-                "PDtpx/LRqcSkU4Z12Wy3VPfvi+nVFRVxSe74QznOzpezy1BDiz" +
-                "LomxLCcjTXRznpkT75lFb4GOfF/VCf23Hxkh6JFbbJz27bnD2g" +
-                "3ExNJsiHdK31/mvU+fmLP5QjP+9n96GGFmXQTx6ihGNMtHxjTd" +
-                "ZJF6VcJsckM/KDPWnHxQvHTY4ogTnZtoktseQIGQebNXmz9pv/" +
-                "lsd/+Xale6KPx5yd18Lm58qDcPefyZ8RrvfW5zT4Y+T7aYTxbH" +
-                "RO2Ua2ATW0KIO+KSEsR3N9lJMe6ZNPaYWPcV7cD/W5HRcv6ZFY" +
-                "YZu86rbN2QPKzdRkgnxItzw/o7y+v+IPZRd9Rp+BGlqUQd+UEJ" +
-                "ajuT7KSY/0weOxf0wrNCZ5cT/UJ6yUyXFTl9gU/l22OXual83U" +
-                "ZGLiHfm50ejzkDRsfq5eaPT8uZPtQA0tyqBfHOvnICcMvQDB36" +
-                "acW/z/c3wukXwMGUgWttfiXdhx8+K+iQtKuH9um+wRE5upPX/O" +
-                "PNvpq/7wuK+wVaNecdw7hhKO6TNE0V/c7guM1FFMVxnW+s4xZb" +
-                "CwvZJVFy/uu8+sgiRfMGfMLRCDvpOpPX9l4B3386Pvj/Rxz3di" +
-                "U/D9ke85TS4UT+93tlMQz+R0pev76SbimXQjjGc3XH4mb1ssZ/" +
-                "77YntOpRa8f1+cHI7wfv5wuPzMP41vvS/PNRm73rPeM6ihRRn0" +
-                "ScIx9KIxjpE6ZJF8cqQ9RsyIlfRKVl28uG85i6JN3jBnzC0gFl" +
-                "EmU3v+clYTzp+vN70W8s9aX+8Nz2nQHRwavDlsj+72OmK9n61k" +
-                "4Z3K16P3huvtS0+835owXvI9f/55Cf5d3lv6ae/Xo8FHwwzd6m" +
-                "1BDe1u5m5hP3kNJRxDLxrjGKlDFkcrQyDtMTzirKRXsurixX0T" +
-                "F5TAnGzbUsM1J/f85azGX9+jfF437w8VfH+036OtT+rprd2pdF" +
-                "4/NyvxTG6Gjacv/1MTz1uB43krrnjmX4SNZ/u/r8N4pnPpcC+x" +
-                "dsBvPNO5sPEs8z+4PqP5efFlzc+G4nkp7niO2x9VtLCn/ZH+Pu" +
-                "z+qMy/3B/tSmrsj3zk5+J2+/ef+m7d/NR3K91/fjMr6z27HXa9" +
-                "+/LvJ56u5/Nl+el+Pr/6xA/Lus8/e48qf2JHZiE/Q+83szV/qI" +
-                "pM8f8I8+m8UksX/cY09fSkIf/Kr/827j/zpfjyc+VGXPefoeOZ" +
-                "X4krnnpf2Hj68j8t8Ux2wsbTl/868dSbNXNgc0x+bgbOz80mY6" +
-                "dP6VNQQ4sy6JsSwnI014c6OU96pE8+pRU+xnlxP9RHbL4qZXLc" +
-                "1CU2BTeXbWLPWdpMTSYm3vHJi9/T5t96/gR/U0FLs/71ul6HGl" +
-                "qUQd+UEJajF7f5GMhJj/TJp7TCxzgv7of63I6Ll/RIrLDNc7dt" +
-                "zp5Y2kxNJibeEeMNflQnP/WYX4zrwP9mbN+/vmYf1bXg2J/8Hj" +
-                "ae1fzn6/73m8O41Nwf6SU1taV9bvpH+2jsk57tcgsO6/e8cLzX" +
-                "vmZtjz/YR3uM5xi99Gzg9d6s//8AGX5QKQ==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value13 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value13[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value14 = null;
-
-    protected static void value14Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 2331;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrlWkuLHFUUbgImZgQXCoKY6ECiMxo1wxjIjChaLxcmKOIDR+" +
-                "PCvUFc+AOccXoSe35FFuIuZKHgRtC14nOhxlUkTlBGfG1ERevW" +
-                "6dPfd+691V3TqZ4kY13qPs75zne+U1NVXV3TxXwx3+kU80U1uk" +
-                "3muoZXbTyT1comVohRLnAKf/ZcYXKyD5vN6GvwMRbBGaFI1bj8" +
-                "1s8MrMBm9jPyEQI+L7dOJ891dJ4817Wbp+fELrb0XE6bIHhXlE" +
-                "QCo7P0nLNyDviUTWesymZ1u7JbHhuBipRR4mzFXJli3Sqm1FeC" +
-                "DbH+9sbrOktv7uy4bbI1pU+mT0ovo9pk3XvXWoBlNMerHXGIR0" +
-                "7Lwj7WxXmwZp6YLpsRqnR865U4N6uHylCpr8THDzs/J7H13ruy" +
-                "5+fa9HZnXP69/8lxV3ZX+fc0+Z1l9CaoGFY429hWfhgvri7/8p" +
-                "mmyKHX+7Pps9LLqDbXsvuz+63F2XQGNMdLL3GCRXylsc/JLOrz" +
-                "dXEerIG1Nuv3Y1ErKrDcUK/scaW+EuAxrzk/Z7PZTufN18zfbL" +
-                "bROTBbhxXOVu4b7495fs42Pj/HUrp83/Kh5X3leKRaHeT7Z/K5" +
-                "j+5+G2E4UMO8IOPqqwNLoHD15Nh3pTtG+Ofj9rCmPv5Oc5d9vr" +
-                "Q8sEVFD448nud34PE83+R4dj8Y93gO8mxqLzPY7MzOazRv1uOH" +
-                "reoY4giLqlMeixtdRV1+RI/iSS5oL7OYN5zX6rmwdY9FNcsClF" +
-                "U+Ov9w/rr8iK7jGXq9fxNcn89s/XonS0ufRZd1vX/T5Hpfffqy" +
-                "r/eftZcZbHZm5zWaf67HD1vVMcQRFlWnPBY3uoq6/Iiu4xl6fn" +
-                "7c6O8SnJ+9D6/iz6OPm5yflaX1z/dwa3a99z66eq/3U59O9nof" +
-                "djx7n7XxvHR1Hc9eo+M5/vPnsPchyUtX73u31SdG+I/XXO8Trm" +
-                "no+fn5ePfPa//8nMz9M7m3jeu9u7f+eHb3bPvn0b2T/H601un+" +
-                "4o5nd3P5SPcfOZ7d39o5g7r/BpY/2js/u7+O8P9VczxfHsn8p6" +
-                "C6f7d0Jf3T2cHb6bcbvb36ajz2ZCVZkV5GtfXX09YCLKM5Xu2I" +
-                "c9e7+jUnWLp7rI91cR6smSemixUjlmqdjnOzeqi09fpNcYz/v5" +
-                "2fycPtoZpta+e3hl/ZvJaOZ++H7c64cp2M2b5sn///o8vfHOeV" +
-                "3Oryh+/nx9nyjXxDehnV5lq2P9ufb7j/d1gMmqB59+3M2K9nv0" +
-                "WyTxWwCssMS2/D1x5GoCLUyvmZe/kMR8RqitfPykvb0fxoOR7V" +
-                "sfIc1TUsjEET38qmxvqRmOvMsjEvfDpjVTYrWGO6OLetwo29H/" +
-                "2KmQEKwpri9XtVLeTlU7frZaw8C7qGhTFo4iuP5wJjbAwYB5kN" +
-                "MvTpjFXZrGCN6eLctgo39n7yK2YGKAhritdvq9rq+6Vr//tmsd" +
-                "7k+5FDTeD90h8773ieemey398jn++38Cpt+fcxbfGNy1MX146u" +
-                "9JH0EellVJusk4esBVhGc7zaEYd45LQs7GNdnAdr5onpshmhSk" +
-                "dXU4yb1UNlqNRXYvFpkRblWOhYeQpd+xZgGc3xakcc4iXv+m6f" +
-                "BT46noXNgzWw1mb9fizUrE3HuVk96gqV+kp8/Mjr/Wz9qvasP1" +
-                "uHTc82Y2iao724sM5xMuSP549LL6PaZA0LY9DgY4yNAWP//LzR" +
-                "Itmn+ayKMCtYY7o4t63CjWvTfsXMAAVhTfH6WXlpO5YfK8djOl" +
-                "aeY7pev0ktjEGDjzE2BoyDzAYZ+nTGqmxWsMZ0cW5oUcvpI37F" +
-                "zAAFYU3x+m1Vj+16bFen43oZnUdWbr5+s1oYgwYfY2wMGDWzRY" +
-                "Y+nbEqmxWsMV2cG1rU0rvHr5gZoCCsKV6/rao4XBwun14Py9h/" +
-                "lj2s6+IpsTKGvOTDrr0ygRFWtlkfPVGbPLrydYa61O9rHFiesl" +
-                "GWgfPbzPY4hKoVP+x5vji+A78fHd/25/lD/TdBc9lc8HvvuUbv" +
-                "xObqsMLZylvFcX/vPdf0fV1rSvV4zmQzQY6ZRppn6rAxzm1+/z" +
-                "nTPpI+lfbme6WXUW2uZfPZfL63ev85wDgLmqB5V5SbCxaMlcaK" +
-                "E0j2KRuUQZXN6vb1W33tYQQqQq2cn7mXz3CE6veV+kr4SMo+7P" +
-                "6Zvtj+/bMZ5+Tun3X527l/5rvz3cE5W9ncnnwhXl0rVuaItH62" +
-                "h+zsUx7L5Edrry2mllXE9Q3+0/YF41nJ0Ot49yhbP+dUPlWOUz" +
-                "pWnildJ9+phTFo8DHGxoBxkNkgQ5/OWJXNCtaYLs4NLWqRmkJu" +
-                "GxGrKV6/rao4UZwonyFOyFg9T5zQVub+El5p67fBqz6dyW5nbl" +
-                "x9lfkR49rqSetjjJ8HFh9jEfCxIs3LNTG3+sFuM/sZYbP4yH1g" +
-                "8CRyaqr9z9f126/s5/vpk5NkL14oXpDejWrRdfIJvGrjGeKx2x" +
-                "lG5fdzWh9j/Dyw+BiL4IxQpHm5JuaGWmW3mf2MsDG+WCqWynFJ" +
-                "xsq+pK3M/TW8auOZrHQmu51hVH7EhLmpmqUwDyw+xiI4IxRpXq" +
-                "6JuaFW2W1mPyNsjM8uZheD59jKJvbsYvq9zGGDDxG8sz1kd3zq" +
-                "U3yI4mjttYU8VkWYm/nT720Vyqx8Nc/2F0fZNPvQ338e2nnf3+" +
-                "tqauf5M7uUXZJexupIX9K1m6cXxA4MmiB49+3M2D8/Llgk+1SB" +
-                "VRFmdbvjievi3NCiFs7P3OCDklBpWD8rL20bmfsNyoaOlWdD18" +
-                "k9alHr+t3qFYT6GGNj3O8VYbVs2UZ3T+jTGauyWaGTtYcRQAIv" +
-                "NYXcNiJWk58nM7+3EV+xWCyW99FFGav76qK2Mvcd8KqNZ7LSme" +
-                "x2hlH5ERPmpk+DxTAPLD7GIjgjFGlerom5oVbZbWY/I2yMLxaK" +
-                "8i7n+qJ/t5O5rJMb4FUbz2S1somVMGCGsRjcTW1O62OMnwcWH2" +
-                "MRnBGKNC/XxNxQq+w2s58RNot326MHXVMmN5NVcr21cc8e29tZ" +
-                "nH/UpnjFxmLAqrqgzPfAJjX5/GyzR4GrlRzahig74BpWsluEoN" +
-                "Czx/Z2FucfeTwPWMZYDFhVF5T5HtiSJMbPtupMSpSLq5Uc2qLK" +
-                "/gORenXX");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value14 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value14[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value15 = null;
-
-    protected static void value15Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 2392;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdWk2MW1cV9g4hlixmg4aRAIm2QtWQoAk/AtvPZkMFQqioAh" +
-                "YgJH6mtIgFm6pVwYbM0FgsG6Rs2qy6QAIxXbBCDT8qgUCgKpXI" +
-                "IoJNWEXK7Cbqhnvf8fH3nXPPm3mePMdt/eR7z+/3fef5Z+w37v" +
-                "XK2+SWWvvv7XV+m32st9bb3tYq0cf/xpE9jqTZH7IR9lCtMYlo" +
-                "XNHBwpzcw7lSl1dlcUpdlhEadd9/yStmBFWOKSIGy8T14xs4kl" +
-                "/f4fsIe8hpTCIaFwu7WOkx+rjvQY7OZ6Mq1Ma6LCM06r635RUz" +
-                "girHFBGDP0Oo75/rn+v18pr3fBNb/f654W8RQa1Y4qkld2thV3" +
-                "zBQ4xzuFlG9i1OqcsyQpGqyX02L7bqggLLbFVxjOv7O/2dtO/I" +
-                "Xsd39BCPI+whp5bcrYVd8YevWU7O0TQ7JQ/rsjW2ghmhSNVkfp" +
-                "tnBFZgmT0jnyE7tb9Vv2p6ty0zOTK93bb/ft6aVMw+sVLWl6uX" +
-                "ZdVdvWxlW1euQUVep7fFKjtLPIvGuMhBmVaUrLF238H6NTL7pO" +
-                "0qp2eVXqlXwmeS1ZvMrxeP5aeaMs2ROLaG52eDiv2XVss7+cjk" +
-                "ocn70n629j7Y6/34h0sifKAhXvyVmXw4PUaf7kj3+0/IfzSO/+" +
-                "zVhvoPFZEzSypqeCdZ9nz6988TPs/31/u8nX1mpa+Kg+pAVt3V" +
-                "y1a2deUaVOjKNbbHRpN3xcY4p3yqjNEta6zdd7D+ReSK7Sqnr8" +
-                "/6oJwpmp/PZL6PHh49LL7u2cq2+FgRs7n8/LR5j+QewVeQkx6u" +
-                "4nqN66qHxbMTsN4YtXrFTxyh+luZ9z1zzjOj9C6RV9nrzBn1Ee" +
-                "EaHMhxje0B4vz19llbyTnlsypKVqBGupjbTpH3vS0/MSNAQTlT" +
-                "PD8rT7GN0UZx5uuYxEcbwwOx5T48kChWtXxP+uR8UKIPD4YHYJ" +
-                "GeSAN0AFUPRbJVrMDGOSqqbFRQhwdWJxg8QhwT9upadS29Bq5h" +
-                "Vy9b2daVa3wF7j6utlrp+fk5W8k55UOPR0bEquUK5rZT5H1vy3" +
-                "aV00NJqbScn5Wn2NXqatqvYlcvW+On8pojtgYVmuMa25PO4JcQ" +
-                "tWiMi5xaqPCsyhDrYm5o0YjMVGLbjmimeH471fgvOBJXfdej2q" +
-                "62bSTHymqtkEhepU9qJaKWYNoezZnrS42qUOu1c77UqDvPxNiY" +
-                "RdHt9JaPmbS+rriKI/n1Hb6PsIecxiSicbGwj+eP5uzLvgc5Op" +
-                "+NqlAb67KM0Kj73pZXzAiqHFNEDP4Mob66U91Jj9kd3evn0B31" +
-                "B69rhGtwIMc1tgeIi1eGqSxzarEqywrUSBdzQ4tGZKYS23ZEM8" +
-                "Xzu6kOq8O0H+peZw7VR4RrcCDHNdXh7DH4QFwwHzJHmVOLVVlW" +
-                "oEa6mNtOkff9635iRoACz2z5rGquD64YmO/dw/91+42sK7zT4j" +
-                "T1daOrf9g/lFV2jYmf7eEtRFDL1dyvcSABca77lkdBzupiHviM" +
-                "E+myjFClO/cxtsRVOaaIGCwT1w/ODs6m95SzuueMeNmefcVGUM" +
-                "vV3K9x9KFfz5VH4RxqLA98xol0WUao0v3C9Rib1UNlqdQr8fXH" +
-                "Xa+bfdXPef7GvV6v6+w64ymv11243uZ63d5jq7heN/ha7y17++" +
-                "nnT8g/EsdXPdNxz8/BA91fT17387Nppq6uJx/7ev/6O+98Nv2/" +
-                "w57P87/r7vU+/flKr89/e83X5791vxmXPZ9LzvOd9Z7P1f5+ab" +
-                "A92JZVdo3lo9qoNgbbz20hglqu5n6NAwmI8+8RGx4FOauLeeCj" +
-                "1sZs3vdCTeaPsCeXeSpMETFYJq6v7lZ3E8dd3euJ76qPCNfgkN" +
-                "z0tvb6Tthqpefnrq3knPJZFSUrUCNdzG2nyPvsu35iRoCCcqZ4" +
-                "flaeYkfVUdqPdK8zR+ojwjU4JJfO5xHX2B4gzs/n92wl55TPqi" +
-                "hZgRrpYm47Rd5nj/uJGQEKypni+Vl5dTTeHe/2enmVvb7ytKu+" +
-                "j6CWq7lf4+hD//x8PuFRkKPrdbuWBz5qbczmfS/U7G3F2Kwec5" +
-                "VKvRJfH/zdx+9pv3jKd+XH37rfA1arbbQ52pRVdo2JjwjX4ECO" +
-                "a0abwyfhAxGczFHmoAyqLCtQI13MbafI+/BJPzEjQIFntnxWNd" +
-                "eXn+enLy4+2zz9zvs8f+HB9X0/aomz3O+Xnl3v+Wz6/Ln63y9V" +
-                "D1Tpu+5zhr9q9Y1eqqJawezkW8et0/U18U8ut61scxs/On4Utt" +
-                "zTe/e/yhpduTqy6UrP93NPhJ9yTzQrYsQIGZiqi5G5X9e855mg" +
-                "x6r3s/Dd8tja1teXiqud+998219futHm9b7/jXt9vQ8u6iqWU3" +
-                "Exths/lVxcPmOr2rGgyio/mf94/CZ+dJ+EM3heV7GibGk36nl+" +
-                "+YytaseCKqv8ZP7j8Zv40d0Op/4k9UJpdfRp94X1Y3U9UwvG+e" +
-                "fP0S9HL64GeZ1YXc/UgvFyaXWNvD6srmc64VPdq+bve/H3ePKF" +
-                "pRGvnH/33PrzZP6LyelfF/9XeNc88od6/VPQ//d0fz34a/pII2" +
-                "P9C60fzf/+T38/3+vfGU3/6Wea/jFA+Efr6f6W7tenrx1Xg/M5" +
-                "eqPbR2sy7fCRv3nK5+cbK31tXxpdklV2jeWj2qw2R5fy9yNbg0" +
-                "Oq+e7jjDj/1rFpKzmnCliFRfY6I13MDS0aYX7GnlzmjmimeH5W" +
-                "biPl87PFJ5Zne2u5nZ539YrHv5A173kVnyNaI7vakW87I64o6n" +
-                "WwiriOtUWMimV9tqJJrE4fsd3a75nu8fn5zJqen8/c/862t+Gb" +
-                "suY9r+Jr5Cc/kDhq1Y587izjmjlJB6uI64Zv7j/FaJ5RsazPll" +
-                "dory+VCiwi+DxTeod+j6x5z6v4GpE8YrAjnzvLODDDK2kLHawi" +
-                "rmPNESOUs89Wk0Lg2axFBJ9n6vX6/5E173kVXyOSRwx25HNnGQ" +
-                "dmdIMOVhHXseaIEcrZZ6tJIfBs1iKCzzMl+zey5j2v4mtE8ojB" +
-                "jnzuLOPADGdY6GAVcR1rjhihnH22mhQCz2YtIvg8U7Jvypr3vP" +
-                "ZvalwzWmPtyOfOfvCJG+hRTitYRVzHmiNGKGefrSaFwLNZiwg+" +
-                "z5Ts/8qa97yKrxHJIwY78rmzjAMznGGhg1XEdaw5YoRy9tlqUg" +
-                "g8m7WI4PNMx16fb/Xd7G12fb5hpo7+H/d/8pYsVg==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value15 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value15[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value16 = null;
-
-    protected static void value16Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1933;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWj2IXFUYncbGTguTQomgokRszBZBLMz8JIWSoBIQs6tiIe" +
-                "lEiGgVNjOPOISAP21iYyNoYyW2/qFG/EWIRkSbDYrYbKPFIr47" +
-                "33zvnO/e7755O5nZnaz7Hrn3+zn3nHPfvn0zeUmr1Wq1/22Nxj" +
-                "CHUXKtSB81xF7OK9M6OL0DPtiFj2PPniKcc85RziH4bNcyQi9W" +
-                "0qNzTEeJcrU05tzDNO0wJpz1CMVhReq8Tn8Sf9zHtYiVMwzHdZ" +
-                "QINRulMecepmkHR3Fz53g9Tt1ah75fX38Sf9wvbrKr8zwP/Spj" +
-                "mMMouVakjxpiL+eVaR2c3gEf7MLHsWdPEc455yjnEHy2axmhFy" +
-                "v17+vf27+1nJdG2Z2t1pkXtXfo7laDo39Hpn4wqdzTmtkxWJ/g" +
-                "6n6/nttT/66kcmBzjvoPjBVeljHMYZRcK9JHDbGX88q0Dk53p5" +
-                "UPduHj2LOnCOecc5RzCD7btYzQi5XKJ0BbxjCHUXKtSF9rxS2I" +
-                "4x49a/b4dajlO+IALnwce2b3MVeqihX1XmIHlhF6sVL5u/+HjG" +
-                "EOo+RakT5qiL2cV6Z1cLrPrMoHu/Bx7NlThHPOOco5BJ/tWkbo" +
-                "xUrltT0iY5jDKLlWpK814BFzzvXBP+5P/kj2nqh8sAsfx57Zfc" +
-                "yVqmJFvZfOkcHfnrtYL1aq8A/rKFF5PS6nNSARc+5hmnYYE856" +
-                "hOKwgrkn60/ij/u4FrFy8ux9ScYwh1FyrUgfNcRezivTOjjdz4" +
-                "DKB7vwcezZU4RzzjnKOQSf7VpG6MVK1fV/VEeJUBv8ybU05tzD" +
-                "NO0wJpz1CMVhReq8Tn8Sf9zH9YmVk7UHZQxzGDsHta4dxdjYy3" +
-                "llWodaviMO4MLHsWdPEc5j1dxO0h3YrmWEXqxUfjb9ImOYwyi5" +
-                "VqSPGmIv55VpHZzuZ2rlg134OPbsKcI55xzlHILPdi0j9GKlMv" +
-                "5dxjCHUXKtSB81xF7OK9M6ON09VD7YhY9jz54inHPOUc4h+GzX" +
-                "MkIvVqru58d1lAg1G6Ux5x6maYcx4axHKG78N4gbc85z+pP44z" +
-                "6uj+2nPJ0HZQxzGCXXivRRQ+zlvDKtQy3fEQdw4ePYs6cI57Fq" +
-                "bifpDmzXMkIvVkoPvA9p+Gbir82gz7/W2tbj/KvzVmivyxjmML" +
-                "bXtR6i4gWpA9tet2vb6ymjX9fOJB/swse114dnmC1WVC6bcxQ7" +
-                "7L8V+7QOLCP0bH1YOO+dTs31/nxjm+/P1+fLX/f+s/tjjB6eW5" +
-                "T3n/19073/TPfkvf8s3pz+/efWPj87H23v/Tlv/dr788rivp+f" +
-                "+v68sl33Z+dAp2Q8d7v56TbSEFSK7Q+EcxbH4OqU92dG334eNd" +
-                "9r9o3KbzpK5HXTuJ5tcx2LaqYClHU+Wb+eP6eP1T5P70Lvgowy" +
-                "ay2cnf2d/VrRaqjgRI8xARViwYJx9DMfc4IBPWWDM7iyqmBl7+" +
-                "kKIIFnfea2K9R/7DR2wleS3V/L55HzDfH51sIe8/XWu9i7KKPM" +
-                "WhvnR7XCGJzoMcauASM0jUbSgzO4sqpg9XyxNrxUlaPxjpkBDt" +
-                "I9+fu3u6r9PFrqLCXP6KVGz/ylHNbj3OLvS0uzRzb+vnR5cb8v" +
-                "nX1vyu9Ll5t8XxpVZvR96ewHrR18DN9phHp3Ovbu4e5hGWXWmu" +
-                "SoMAZn+W1hVddxj9eAEZqMTHtwBldWtXv40GrqPV3B/rWijmNu" +
-                "u8Lbk7d/vpKj3lp3rZzXdB511jRHhTE4S3endR33eA0YK2WDTH" +
-                "sasSur2l07dFrZU1+sbXfBjmNuu8Lbk7d/up6jXm+pVz43w9gb" +
-                "P30llrz7E7pa40gyjeSPjTD3qqe71bQ9xsQ6qMQYi2BFOFJd3h" +
-                "Nzw62yW+VYETWLr/v+2f155z0/57un7onuCRll1prkvce0whic" +
-                "6DHGrgEjNBmZ9uAMrqwqWD1frA0vWpE9pdx2hbcnf//Rrla6K+" +
-                "W8ovOos6I5KozBiR5j7BowVsoGmfY0YldWFayeL9a2u/B2Yxng" +
-                "IN2Tv/9oV8vd5XJe1nnUWdYcFcbgRI8xdg0YK2WDTHsasSurCl" +
-                "bPF2vbXXi7sQxwkO7J37/dVXn/bySfBRuhJnWMqKE6fB85eJgx" +
-                "ZWcV1vARMd7WPJRGq/vy2hbrsTb6u/pGnPU2iueKJ2Nc8cy8nt" +
-                "bFszPkOrGIn3bhehZPFU/M9noWy9t/PYunr4l9ZZGuZ++2/PXM" +
-                "9bbqejbTn9Zlb29vr4wya03yuAKsRcQ95sV6aMZI20sVY9XYlU" +
-                "VYdusizw3P7DJ16u2f8XXvl4Zf7Lz3S8NLW/l+afBZ/fv5/rHN" +
-                "7nvwYRV93t8zjr5MUB+Pxk+d9V+Xf35wnDySVbwkn+/jbPzvw4" +
-                "PRvTH4LkF/4jB823h3X5V/vhl83+z9Z8Ofy3X178VZ/Nzef177" +
-                "vx/9v4/22zKGOYySc0UxMmvs5XYl83Mn1o59sAvfL3tLFcGV6t" +
-                "TtxPr0nKZ6sdLu77v3+z7L/x8yvC7e0vVfWVBfu/fnnO/P9sk0" +
-                "mtGT+uT2c816Tw2u8w27n9G713Nxj6K/ew1men+e2r0Gszzw3n" +
-                "l49frdxeq+3e9LO+Dv7/8BijMH8A==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value16 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value16[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value17 = null;
-
-    protected static void value17Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 999;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWztvE0EQvhqJig4hXgkQMEG8FEVIKezzH6CjoUwFEhIKHU" +
-                "1sn4mlVEiUlEhATUGBKJDyAxCiQfR0aZBChcB36/G89s6+8zn2" +
-                "2XOR9zEz+803k/U+TkkQ6Cf8pFvVe2bFvbXeqrXO9Ou7SW81CH" +
-                "af5URYSZFvKslaibzPjdDfzol3SUnu5ES4N4t8Ng7KyGbjoGg+" +
-                "0/zzfO79qUo+qzE/O6+L5rP/G/vpyriOS9enErBxNbR9fT6S4l" +
-                "MNH8/bjoG0k2MoN+0RsbSfrEg4Tx9T7U96svlZ5voZbofbroQa" +
-                "enErbkNJbdACSmrDx3ApR6O4qIMWWmivYOHjxX3TKHzR6OgpS8" +
-                "lUMiHniYG9zc9q7++Lvh9ZPmU+Ox8mm59Snjefqfib07yHdN6M" +
-                "0L+fZH7u/cufz2nv7x7LSq2f83bftHxaPqv3PiR8ONt8pvnn+e" +
-                "ydsP19Ps6f+ilrf1/Ox+anneftvrk889PWz2qvn90nizw/w/1w" +
-                "35VQQy9uxW0oqY20wI+UQxtaHI3iog5aaCG9IqqPF/XNo/BFo6" +
-                "OnLCVTHb+I6ig8SnqDGtoohxJkqKU6tAE5RUU8iknxPOdu5gd6" +
-                "kqfmBXrJkbKhozgC9S/jSmdCdIfhYdIb1NBGOZQgQy3V4QdKio" +
-                "p4HI3iqnwyP9CTPDUv0EuOlA0dxRGof/qRIzVrp2tuNbeCIC5d" +
-                "HWtcD9pQog3+oI7a8DGICJ65pdZBi7LiXhHVx4v65lH4ouEIyE" +
-                "DH5I+fR+VdV3eGt9jTQdA+tVj7b/vkcXvc/WinHrtv2v3I8mn5" +
-                "LHTf/GurYC8scT+y+3vhJ7rV/5B5HZ2P1iCf0TXPnP6WgXUxKW" +
-                "8Mejfd9z06O9SvtL6njr3S/wy+odGFkawv9889b5nkqmL6VYxZ" +
-                "TcrrCit13Rj3+x7VovXMdWDH5lmpJ6hhPhsviyEUHbega/F9y4" +
-                "Gd5+f3vNSu2Syb/Kn/gtK1fFrdzkbLp+FW43lBK858tP9s/DT/" +
-                "ONqPU+/UO650NchcX0rQllrT8SDHcTgefXIUqqO8qB/sUxwfL+" +
-                "4RWUk2EpuyR5aaqWQi7fOtn90fy7F+vnhwPPf3Zcln93N5+1HL" +
-                "7u/lnj8fWQ5Kzedjy0EJ56VXULqWT6vb2Wj5NNxqPC9oxZmP9p" +
-                "+Nn+YfR6fh2P3Itx8V/fuQ3lN7vzTtx94nWz7n6f3StPJZ5f/n" +
-                "6rwr+v9cnvPSc5tlpZ6cvsweYdbRFY2gudHccKWrQeb6KKE2+I" +
-                "M6asPHICL6pJZah8yQFfeKqD5e1DePwhcNR0AGOiZ//Dwq70ry" +
-                "276jtr/Pz/5u9yO9vyeSIu/r/gO2jLk6");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value17 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value17[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value18 = null;
-
-    protected static void value18Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1942;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXD1vHFUUnYog2Q1NKqRIAUdIiCZQ4FR2Zuc/IFnxH4gbCt" +
-                "xn84FcukHCwiCBkBANSZE2PyC0SEhgUSKldUckJObNzZ1zzn13" +
-                "k6xZggUzo3n3+9xzX3ay413LTTN/b/7u/M2mmX/Q9Mf87aa59U" +
-                "mz1DF/a4H/w8rzTrOyY37pBfGruf/gYEH+RuV5f0lG13L/svs5" +
-                "HTi297f3bTXpPrOjB7mczfXuRx3q0VNROMa8uA9sxsl4aUewim" +
-                "wiNrMHy5ppZBLz/2/3+8J8ud/v/rC6+322XmvT8dK7+opfn7M3" +
-                "/t3X56L+q3k/ml2YXag6Dj7zY4XPdVRqnP01OsccR5Fita9+Zm" +
-                "yZRc6PK6J8Hs8MYRFqj7M2W+vlmsshsuY2PJyDEzHO0Rogjp0l" +
-                "s465xqy0K1AzXtxbp8imUQQwqGfK59epuhvdjaYpa5HlMN1tRN" +
-                "3Hmlmu2aUapOOjpu6NQztGDjFHM7gjGDEbjTMCM9DOsSOjEepu" +
-                "t9vLXZODf9dPs9jDFmKu2aUapOOjpu5N0+zWfZiX5mgGdwQjZq" +
-                "NxRmAG2jl2ZDRC3el2erljcvDv+GkWe9hCzDW7VIN0fNTUvWma" +
-                "nboP89IczeCOYMRsNM4IzEA7x46Mhvz2SfukacpqskTMct1X5O" +
-                "BEjHO0BojOVDPrmGvMSrsCNePFvXWKbBpFAIN6pnx+nWrr8tbl" +
-                "pilrkXaYZTZW9yHKMVy+OhIQ4WWfxnBoH7ciz5qXxyNHZsNVig" +
-                "D2OlesrFlbrLvW9U9NZe2ePd2b7jai7mPNLNfsUg2yG3960J4a" +
-                "45zYh3lpjmZwRzBiNhpnBGagnWNHRtOp+33dKOe40xt2ye5vWB" +
-                "ZWjuiqWo7/osPzPTerAarzArMYYV+GH+PYBZ7Wevj5HGZXygnL" +
-                "Ls2wLKwc0VW1HP+F+3lFEbMaoDovMIsR9mX4MY5d4Gmth58Zs+" +
-                "5XnMVij8XrnJjtPvO439HRhXtyDcdqXhmHnLvyjhxZ1nGexdG1" +
-                "s/bTHUL+1ubWZr/HmyaH/d700yz2sIWYa3apBun4qKl706tjs+" +
-                "7DvDRHM7gjGDEbjTMCM9DOsSOj6dTVz/W/j59lfzZ9XrTc0T5s" +
-                "H9rq0q2iFd1XzkGGr5yjNepVNMZFDMwYXbvm3GMF83dPnKaenl" +
-                "lGppEJ7ySzl8iDhbv/4GVyF9e/0lfKg/Pymj34YtSOpzt4Bfv5" +
-                "5ah9Ne3GknfF4/axrS7dKlrRfeWcmIEr+l13TdEYFzEw84zYFa" +
-                "gZL+6tU2TT1NMzy8i0nl+n6n7E2T8/DRfs6GELMfeZx/2mQZoG" +
-                "r+JVz58LWSlOzUs7giPLOs6zOLp21n66Q8hvT9vTfl9PXQ47fe" +
-                "o2PJyDEzHO0Rogjv+SklnHXGNW2hWoGS/urVNk0ygCGNQz5fPr" +
-                "VPO15Pnzwpm+H3v2Xej8tVf8feLr5/796JvpfWWVx90/pj1Y6e" +
-                "vzu2kPVrqf3097cNZj++r2VVtNus/s6EEuZ3O9+1GHevRUFI4x" +
-                "L+4Dm3EyXtoRrCKbiM3swbJmGpnE/OV+3+beL8k77H/w98E+/e" +
-                "isvw82/X5dtp/3Hp1tP9un7VNbTQ5Ppk/dhodzcCLGOVoDxPHJ" +
-                "VzLrmGvMSrsCNePFvXWKbBpFAIN6pnx+nSq9py9N7ytnPbqb3U" +
-                "1bTbrP7OhBLmdzvftRh3r0VBSOMS/uA5txMl7aEawim4jN7MGy" +
-                "ZhqZaH631+31cs/lENlzO3qQy9lc737UoX7ch4DCMeRoH9iMk/" +
-                "HSjmAV2URsZg+WNdPIRPNnl2b93V1WkyViluu+IgcnYpyjNUD0" +
-                "fdDMOuYas9KuQM14cW+dIptGEcCgnimfP0x1Mjvp5YnLIXLiNj" +
-                "ycgxMxztEaII6dJbOOucastCtQM17cW6fIplEEMKhnyucPU+3P" +
-                "9nu573KI7LsND+fgRIxztAaIY2fJrGOuMSvtCtSMF/fWKbJpFA" +
-                "EM6pny+cNUh7PDXh66HCKHbsPDOTgR4xytAeLYWTLrmGvMSrsC" +
-                "NePFvXWKbBpFAIN6pnx+nSp7z7/15/Tcc+bnpfvdfVuLhM9trO" +
-                "5DlGO4fAV6jc8+jSkz9HEr8qx5eTxyZDZcpQjcny9dIxPkX794" +
-                "/WLTlNVkiZjlOnuQy9lc737Uod47RxSOIUf7wGacjJd2BKvIJm" +
-                "Ize7CsmUYmmj87nh339/2xy+F/gmO34eEcnIhxjtYAcfyfRjLr" +
-                "mGvMSrsCNePFvXWKbBpFAIN6pnz+MNXR7KiXRy6HyJHb8HAOTs" +
-                "Q4R2uAOHaWzDrmGrPSrkDNeHFvnSKbRhHAoJ4pn1+nSj9PfvyP" +
-                "fXd2e3VYt387n+9I0+d12ed1d46nzz/Px34mz5/T3xP4e8+gn9" +
-                "taZFnNZo/nmHQ9s7Uy65V5Iw9mkecxt6yjY6nNWjaJ8owerfb6" +
-                "2Gm637P7ffCc8X5v120tsqztuvuLdudj8yO3pb8yEG2ubJO/Rg" +
-                "D0LOYZzCLPa9cPfmK02NGx1GYtMpx/HXkqA0VEv9hpen2u+v3o" +
-                "+re2FllWs91jcfigZzZX1n5gcr3qxiDmxRrmnHUE89jneZMoz4" +
-                "xp3S92Sp7nf57eo1f5PL/sz0fT+xHd738BBcT9VA==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value18 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value18[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value19 = null;
-
-    protected static void value19Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1725;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXEFrJFUQbl314GFVFHGjqKCCUTcHzSGIINszo4JHL6JmXV" +
-                "0V92gY0WvPDmMyp71kb7kIKgiSHDx48hfsLxDRm4dVIYoX0ajd" +
-                "/VLzfVWvJpOe9GRk0z3kvVdVX3311dvuSXcHTZIkaZ1KyrGYiz" +
-                "HY4ul/EPziw9qzOTP2S8Q/oINV+LjWqY3vmM1WFC5t88oq7H1q" +
-                "dWoFmhH1bKXe2d6TvQfyebm0Hk2S7MOk0tF7ZIx/JfI8niQb3y" +
-                "e1HL2HJsSfrsj3GFv9rdzzTEWGZ8Oc7oaxmIsx2OLZ+CH4gZW1" +
-                "Z3Nm7JeIf0AHq/Bx6e7ln5jNVhQubfPKKtTnZ6xAM6KerRQfVc" +
-                "/PCv+Cl5Mb/EivpdfCGGbxBRsexuCDGGN0DhhRk5FxDMqgSlcF" +
-                "q6eLa+suvG40AxTEPfn9666O9/w8Sce5H2UMKy8arw9mqxbRqM" +
-                "NVAUorn1z/YP5x9ZHt83S2OlthDLP4gg0PY/BBjDE6B4yoycg4" +
-                "BmVQpauC1dPFtXUXXjeaAQrinvz+dVfN9V7vMfii2v3n4POj3n" +
-                "/Wdq8w0/vP0jPF/efGL9X2c+PnZj8n3c9H1/veAefnV801fdDR" +
-                "3mnvhDHM4gs2PIzBBzHG6BwwoiYj4xiUQZWuClZPF9fWXXjdaA" +
-                "YoiHvy+9ddHf/ze23f/Dv/z+u92c9Zf38Ovmm+B2u9h2r2c+qj" +
-                "s95ZD2OYxRds6wGW0ZwvfuQhHzU1C8dYF9eBzTyeLl0Rqqway8" +
-                "3qoTJWapVofLqULiVJMYa5fFOyJLb1AMtozhc/8pA/ehNjWDgG" +
-                "jK4Dm3k8XboiVFk1lpvVQ2Ws1CrR+Ha33c1/z3dlLn/zd8WGhz" +
-                "H4IMYYnQPG0Z2FQsYxWbEqXRWsni6urbvwutEMUBD35Pevu+ps" +
-                "djbz83RT5vLM3RTbeoBlNOeLH3nIH12nhoVjwOg6sJnH06UrQp" +
-                "VVY7lZPVTGSq0SjU8X0oX8PF2QuTxzF8S2HmAZzfniRx7yR9ep" +
-                "YeEYMLoObObxdOmKUGXVWG5WD5WxUqtE41vXW9eTpBjDXESCJW" +
-                "sZgcEHMcboHDDKPmhkHJMVq9JVwerp4tq6C68bzQAFcU9+/7qr" +
-                "/ByNntY7e4Uv+DHCp2Mc52i8jqtYHk+Hxmufh5pUu/2KjXush7" +
-                "o32rNW8ZPdEr//zO7Ix7vL9T3leG/+c3+SDG/dR5TPEsPR35yz" +
-                "J/Kfp8QaEmO2Mvavfi9kL2YvlauXxyBWs/NkvZO9n13KbspuNq" +
-                "jT2Z1k3UfrCW+ghrft457Lns/S6vuZvaGsi/nPu+liuphf94sy" +
-                "l98Ei2JbD7CM5nzxIw/5o+89w8IxYHQd2Mzj6dIVocqqsdysHi" +
-                "pjpVaJxVd7fh/eftTn93P/zPf957j6J/19yGzfJw9PH89+Du9q" +
-                "3s8352f1/Rx8W9/7uvRsvKp2TJt3HMdstfXf67/WP99/VfkuHP" +
-                "mt1cNjqr09PlZZ+esT4m9W0zYNysk70zkTxjCLL9jWA6xG2Bjz" +
-                "Ih81LVLH4oq2qlWlEZpdqxjPDc2sMlbq9Q98upLm33LFGObyil" +
-                "gR23qAZTTnix95yB9dcYaFY8DoOrCZx9OlK0KVVWO5WT1Uxkqt" +
-                "Eo1vb7e382ewbZnLJ7JtseFhDD6IMUbngHH0xKeQcUxWrEpXBa" +
-                "uni2vrLrxuNAMUxD35/euumr/Hzfd+af3iybhfWn9ruv38JBns" +
-                "Fvs5+LW3PNgL+zn4vaYz6N/I80eN5+dvE+J/Tc385/78d013aJ" +
-                "fiVd3M8+Oquyd93Ljn53BhHudns5+zv94HH8/qahg+eHzPlYOP" +
-                "5vZE+2UYi7kYg80ewYRZ1p6tM5mfI7a21cEqfL2sLa4IrrjOQZ" +
-                "1onZ7SuJ6t5Pze7ybNMeXRutq6GkaZxSpWxVpGxgAhI2N0jvZq" +
-                "NuZFDMqYXVf1tdsM1i8e203cPau0Sq0S3klWz0fz3yPUfM5+dv" +
-                "iIh7W+8Xz1K5xl1UP9LlpOl8MYZvEF23qAZTTnix95yEdNzcIx" +
-                "1sV1YDOPp0tXhCqrxnKzeqiMlVolFt/8vaPO9yHparoaxjCXO7" +
-                "0qtvUAy2jOFz/ykD86rwwLx4DRdWAzj6dLV4Qqq8Zys3qojJVa" +
-                "JRrfWmut5d81a5jFKlbFWkbGACEjY3SO9mo25kVMVkDEVQXh6d" +
-                "K1uQuvm7h7VmmVWiX0fb2Pb673eb7/PCn7Of3/76LZT7uf/a+n" +
-                "Pz9bV1pXwiizWMWqWMvIGIvAj/XLWlaajXkRkxUQtipYPV1cW3" +
-                "fhdRN3zyqt0rh/3VVzfjbfn81+8n62Lsx3P8fVr2k//wMt4BHf");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value19 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value19[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value20 = null;
-
-    protected static void value20Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1697;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWl1rHVUUnVIEUX+C4EMUBPFF+yA2UDKZW+hLwZA3P2LEn6" +
-                "BI3uJUbiBvoc/+B98L/oP8gUoohDSUUomKL6Kikznds9baZ8+9" +
-                "uelNSJM5Q845e++11177ZO6d9N4WRf1+/V79ZlHUN4pm1G8Xxf" +
-                "ffFjONeqHH/1HmebeY26jfmhL/YEa+dzLPhzMyfBz7Zz3PYcip" +
-                "DvfnXO/P4TyH1/vLNYbzHN4/h9f75RzVzepmmtNqvmTDwxhciD" +
-                "FGc8CImozMY1AGVVoVrJEurq1dRN0oAxTkPcX9u64Wq8VmXbS1" +
-                "jSyaDQ9jcCHGGM0BY1dZkHnMdqxKq4I10sW1tYuoG2WAgrynuH" +
-                "/tavnR8iN/zyZf8mOGT2M+boy8j8ZxzDAxipkMx9oUpQq1tvJr" +
-                "F5MU5Dn9Pqs+PI/O+u/57U+G85zX8335QfrpuesfnIT3ZKizHt" +
-                "NVnIXOcqFcSHNazZds7wGW0ZxvfuQhHzWVhWOsi+vAZp5Il1aE" +
-                "Kq/Gc7N6qMyVeiUeP/z9Odf78055J81pNV+yvQdYRnO++ZGHfN" +
-                "RUFo6xLq4Dm3kiXVoRqrwaz83qoTJX6pV4/GzP9+3XhufR8O/N" +
-                "8xvbn+a+rc9fhHHrs6t8nqNbo1tpTqv5ku09wDKa882PPOSjpr" +
-                "JwjHVxHdjME+nSilDl1XhuVg+VuVKvxOODe/aL4XV76nf114Pz" +
-                "/KrbfT0D0xvPc7485w5evehnPLx/vsD7ZzWq0pxW8yXbe4BlNO" +
-                "ebH3nIR01l4Rjr4jqwmSfSpRWhyqvx3KweKnOlXonHv6yfL41/" +
-                "uoh/f1ZH1VGa09p+MnpkNjyMwYUYYzQHjN0nr4LMY7ZjVVoVrJ" +
-                "Eurq1dRN0oAxTkPcX9a1ejzdFmc59u2treuZtmew+wjOZ88yMP" +
-                "+d3r1LFwDBitA5t5Il1aEaq8Gs/N6qEyV+qVKH60O9pt1l1b28" +
-                "iu2fAwxqP1x2ZjAiO87NMYnajUMUt5Il0W9xpZjXbMDFyff3xm" +
-                "rjrFbl+7fa0ojue0HkeSZXubgcGFGGM0B4xWWZF5zHasSquCNd" +
-                "LFtbWLqBtlgIK8p7h/7Wq0M9ppznXH1vakd8z2HmAZzfnmRx7y" +
-                "u9+kY+EYMFoHNvNEurQiVHk1npvVQ2Wu1CtRfLlWrhXF8ZzW9p" +
-                "OnNbO9B1hGc775kYf87nM2x8IxYLQObOaJdGlFqPJqPDerh8pc" +
-                "qVei+Gq/2m+eS/u2tk+qfbPhYQwuxBijOWDsnoSCzGO2Y1VaFa" +
-                "yRLq6tXUTdKAMU5D3F/WtXw/eb8d+fP/x4yr8/D6qDNKe1PekD" +
-                "s+FhDC7EGKM5YOx+k4LMY7ZjVVoVrJEurq1dRN0oAxTkPcX9u6" +
-                "6uV9f9OSdf8mOGz/bI1Dj7c3aOGY8y+Wyb7YrUsopYH2f4dZLO" +
-                "iKGPteHZqDaadcPWNrJhNjyMwYUYYzQHjF1lQeYx27EqrQrWSB" +
-                "fX1i6ibpQBCvKe4v61q3KlXGmeSyu2tk+qFbO9B1hGc775kYf8" +
-                "7rnsWDgGjNaBzTyRLq0IVV6N52b1UJkr9Uo8Pnhf/aZTfP+U35" +
-                "reL67oKO+Wd9OcVvMl23uAZTTnmx95yEdNZeEY6+I6sJkn0qUV" +
-                "ocqr8dysHipzpV6J4sv1cr1Z121tI+tmew+wjOZ88yMP+d05OB" +
-                "aOAaN1YDNPpEsrQpVX47lZPVTmSr0SxZer5WqzrtraRlbN9h5g" +
-                "Gc355kce8rtzcCwcA0brwGaeSJdWhCqvxnOzeqjMlXolHm9j6Z" +
-                "nNaQef7nQfj6Vn/fhJVh9DjFBUn/Iob3oXffWRPY1n6bHNaRdF" +
-                "832vnsezRxR1sipAqfLp9Sfz99VHdsyz/d3w7815ft9BJ39oc9" +
-                "q538thvO/9/R7OHlHUyaoApcqn15/M31cf2X08s92f44dX4/4c" +
-                "/3y6+3OrGP92fJ7jX+sb43/TeY7/mNM3kP9lnj/n+P3m71Pif5" +
-                "+a+a/n6z+z5y7VS3Wa02q+ZHsPsIzmfPMjD/moqSwcY11cBzbz" +
-                "RLq0IlR5NZ6b1UNlrtQr8fh83HulGMYcx9YvwxkM53lxx9n9/+" +
-                "T63qX/fOlp+TTNaTVfsuFhDC7EGKM5YERNRuYxKIMqrQrWSBfX" +
-                "1i6ibpQBCvKe4v5dV3vlXrPu2dpG9syGhzG4EGOM5oCxqyzIPG" +
-                "Y7VqVVwRrp4traRdSNMkBB3lPcv3Z1vq/3yz+qJ9WTNKfVfMmG" +
-                "hzG4EGOM5oARNRmZx6AMqrQqWCNdXFu7iLpRBijIe4r7166G79" +
-                "/n/HnI/0YBELc=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value20 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value20[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value21 = null;
-
-    protected static void value21Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1484;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWT1vXEUUfSnyL5AoAIFMaAwForCs3be/I0JJE8kpLMEPYE" +
-                "1QWMn8AhB9ChO5QkKUERI1okBOGfeIgpYdX1+fc+7cZ++u145j" +
-                "Zp72zv2ac8+d+L2dtxltjba6brQ1Op27zi3X2YNczub17sc6rO" +
-                "9OR0ThGHK0DmzGyXhpRbCKbCI2swfLmmlkovn9w/5h1xVpc4mY" +
-                "5bpL5OBCjHN0DRB9HzSzjrnGrLQqUDNeXFu7yLpRBDCoe8r716" +
-                "66bvrR9MPpW/P5k+Kdvtt1X33ZLTWm7wz4P608H3RrG9O3L4hv" +
-                "Lon3XuX5eEmEz+Y7utPvmLT5ZKd33IaHc3Ahxjm6Bohn/5KSWc" +
-                "dcY1ZaFagZL66tXWTdKAIY1D3l/Yeudvvd+bzr80lk1214OAcX" +
-                "Ypyja4B4Vlky65hrzEqrAjXjxbW1i6wbRQCDuqe8f+1qcn9yv+" +
-                "uKLHMZpruNqPtYM8s1+6iG2fGxpq6NoRUjh5ijGVwRjJiNxhmB" +
-                "GWjlWJHRtOvqOXDs2uz7ro0Vxvb75YJlH82wLEiOqFQtx1+EEe" +
-                "dma4DqvMAsRtiX4cc4doG7tRp+LdrN+NnikSw3+obxVh2LIK6/" +
-                "6sonEdzvP7Z79/Jj2fNnG20/r2r09/p7rqnPbEj4NFbHI9JwZV" +
-                "vDWZzvfpd+ndcB881RYxeRwRDb4Z3j6v1Gv3Fqb5xFTnxmQ8Kn" +
-                "sToekQYYbngdzuJ897v0q8ZRFq7lqLGLyGCIbcY/ZuQos2ftvl" +
-                "3nmP10q7s7WCjr+cqno/b70hp/X2r7ue79rMfed+2Zt9YnzC9t" +
-                "D1Ydk8eTxyZtdp/Z0YNczub17sc6rEdNReEY8+I6sBkn46UVwS" +
-                "qyidjMHixrppGJ5k8OJ4fz+dDm08ghbEj3IcoxfFw6EhDhZZ/G" +
-                "aEeljluRZ83L45Ejs+FVisD1+aMyMuH89r555c/P39oeXOLcsd" +
-                "R56emD/8d56enn13P+bPvZzvOr7OfXP6zvPN++j67v+dn+Pi/+" +
-                "+9x+ZbLMRZrtHovDBz2zeWXtB2Y2wINZ5HnMOasI5myzNsQQeB" +
-                "pVRNSLla7773P2x23/+xz9Y7LMRZrtHovDBz2zeWXtB2Y2wINZ" +
-                "5HnMOasI5myzNsQQeBpVRNSLlbpufMdkmYs02z2zP82PXNczm1" +
-                "fWfo/kAzyYRZ43vrN3zGixomOpzdoQQ+BpVBFRL1Zq3+/rHqO/" +
-                "TZa5SLPdY3H4oGc2r6z9wDyfB7PI85hzVhHM2WZtiCHwNKqIqB" +
-                "crLfd9NPvrZpyXRi9W/T4avVjo/ejf63k/mh218+fNeT+a7t32" +
-                "Z+fk5eSlSZvdZ3b0IFczYoxxsR41Y6bG6oqxamSlGYquLIaxwZ" +
-                "lZ1kyz/jm/vt+//f1NeN/85vlV3u8nnjU9P9t+XmY/E6Y/tzPk" +
-                "ys/PJ5MnJm12n9nRg1zO5vXuxzqsR01F4Rjz4jqwGSfjpRXBKr" +
-                "KJ2MweLGumkYnm98f9/L2tSJtLxCzXXSIHF2Kco2uA6PugmXXM" +
-                "NWalVYGa8eLa2kXWjSKAQd1T3r92NT4aVydK85kfEj6Nxbgjsp" +
-                "6+IR95naEsRvI85qZZylBrK752cR6Des2wz6r3B/3BfF8PfD7Z" +
-                "6QO34eEcXIhxjq4B4tm/pGTWMdeYlVYFasaLa2sXWTeKAAZ1T3" +
-                "n/2lX7PaT9f8d1vG9e7ry0vVkuWPaRX/s3LQuSI7Wu62v8i4bn" +
-                "e262BqjOC8xihH0ZfoxjF7hbq+HXot1Mv2h37aqjv9vfzX3mh4" +
-                "TPdazUOPtrdI45jiLF1S79GupAGQyhahfM5Px9usjH+xPOAb/W" +
-                "2ps3Xhf39n101b+HtP1s+3lT9nP8aPzIpM9uFa3oLjkHGS45R9" +
-                "eoV9EYFzHXkFFX9YyMl9bmLrJu6u6ZZWQamdDz2mL74/35vI/Z" +
-                "raIV3SXnxAx8ot911xSNcRFzDRmxKlAzXlxbu8i6qbtnlpFp3b" +
-                "92df33+/jB673fh+qv6fn5H19mQuY=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value21 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value21[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value22 = null;
-
-    protected static void value22Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1327;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWj2PG1UUtbQrQIIiPwAJJEBCsraBFChdvOOtIFsAUhqalW" +
-                "jcbLU/YA3rSOxvoKFdfkt+AFWUIh0SIBqEI/D47fU559472dia" +
-                "GJN9M8r7uPe8c895Go/HsxkM4nF+NqjHxsf0YDqcvrvo7y5nH6" +
-                "6/n9MPOuKfhcjHPep+74b8J2vyfRQin67JcK/uZ9/7OX46flra" +
-                "0rfxMrOxtcDgRI4xugaMVleRMWcjVqVVwZrp4trqInOjDFAQPe" +
-                "X+1dWg3j/r/bPeP2/Nfjb3muu29G28zGxsLTA4kWOMrgGj1VVk" +
-                "zNmIVWlVsGa6uLa6yNwoAxRET7l/5+qkOVn0J9YvMyc2R4QxOJ" +
-                "FjjK4B46qyIGPORqxKq4I108W11UXmRhmgIHrK/TtXk2ay6CfW" +
-                "LzMTmyPCGJzIMUbXgHFVWZAxZyNWpVXBmuni2uoic6MMUBA95f" +
-                "6dq9PmdNGfWr/MnNocEcbgRI4xugaMq8qCjDkbsSqtCtZMF9dW" +
-                "F5kbZYCC6Cn3r67Gi2Px3DS2fvkkNba5jwDLaF5vcazD+tWTmm" +
-                "PhHDBaZzzmiMcogitClVfjuVk9VEalXonHx+PyoD5FbnqMH48f" +
-                "l7b0FitzRBjj0frPWrBjrUU5pjlVhjo2U55Ml+W9RlajjpmB6/" +
-                "M/vzKqRrXw++h5vc42PUZ3RndKW3qLlbmPAMtoXm9xrMN61FQW" +
-                "zrEuroM582S6tCJUeTWem9VDZVTqlXh8vT7r7/dX/3vz+x83/f" +
-                "1e3y/9l9fn7JfbcX0+erid90sXX92O/bz4sr6v2433n//X++fF" +
-                "gxvyn9f75+tw/6zXZ5/Ho8Hst/b6nP06vTt7Xq7P2R/9cM/+CZ" +
-                "E/+1M++/2G/N8bM/913c/XX3v//P55aUtvsTL3EWAZzestjnVY" +
-                "j5rKwjnWxXUwZ55Ml1aEKq/Gc7N6qIxKvRKPr9/vfX6/H+0f7Z" +
-                "e29G28zGxsLTA4kWOMrgGj1VVkzNmIVWlVsGa6uLa6yNwoAxRE" +
-                "T7l/ddU8aBb39bYtfZspMxtbCwxO5Bija8BolRUZczZiVVoVrJ" +
-                "kurq0uMjfKAAXRU+7fuTpujhf9sfXLzLHNEWEMTuQYo2vAuKos" +
-                "yJizEavSqmDNdHFtdZG5UQYoiJ5y/+rqaO9ob3Gd7lm/vHL3bI" +
-                "4IY3AixxhdA8bVJ0OQMWcjVqVVwZrp4trqInOjDFAQPeX+1VV6" +
-                "X31mo8sv6vui9Y7DJ4dP8liJo0VMcz5vjDzuqmyYHMVMhmNt3o" +
-                "FmmFX51cWLFMQ13TGvizJXnaxXL4P1sW6+ja+Cq34wW7pmf375" +
-                "TIb1sW6+/hW+yqqbHvX9fN3PXTmag+bARhorc7SIaS7mPVN35b" +
-                "KGUYy3uLV2vsgB681ZvQuvoEtt985x9WbYDK/nw1VmGStztIhp" +
-                "LuY9U4fCodVhFOMtbq2dkUdV2Chn9S68gi61mX6PaIbTt5Pnzz" +
-                "c3ej/xznX/xpbfh7+16/eAy6/rfbDu5w7v58O6B73u5zd1D27f" +
-                "82f9e3H9e3G9Pnu5f35b73kb/948a85KW3qLlTkijMGJHGN0DR" +
-                "hRk5ExB2VQpVXBmuni2uoic6MMUBA95f7VVX0fsoXP+6Tuwba+" +
-                "31OG+v8ZXoPv9909RvPStn3bjuYWb0c/vF/iwI7munY0j4x53D" +
-                "I36WAVOW40/+4Zs/mKxqVzHnmF05+8TlWgjKjnK9XPe7+f97qf" +
-                "fd8/D/dL2/Zte7hvccsYRsfZnFfGODizAzpYRY5jzVlFKOc5j7" +
-                "oUgk+zyoh6rtK/ep7kpw==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value22 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value22[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value23 = null;
-
-    protected static void value23Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1394;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXD1vXFUQXblCgjoVUpAACQnREApEmuB9m18BCFGkcYUiIk" +
-                "pYLBx5K/8AGkSBhJYqBRK/Axoqx4jaRZQqBfveZPacM3fe8+76" +
-                "yVjm3hVz7505c+bMy/vaTcRkMpnsP5t0tp1ba3v3HL9hfvdhne" +
-                "05s/R7JB/QwSpy3P6z7/5htljRuXTPq6hw/mPUqQqUEfVipXJ8" +
-                "+9WkjkuM6Z7Zdm6t7d1jcfiwzvacWfrBOayDVeQ41pxVhHLe86" +
-                "pPIfg0qoyoFyutztXnZtu5tbZ3z+GX5gfW19meM0u/R3qu47UO" +
-                "VpHj9p8vvma2WNG5dM+rqDBc74UCZUS9WGn+3vzd+eur+YNu99" +
-                "bw9f74uPTN38yx8w8LzzvjXVXz2xfE39+S723eHf6w8tzZkuGj" +
-                "ev+8ivH9b/UY7DpmR7Mjsza7z/bRAyyjOd/9yEM+aioLx1gX18" +
-                "GeeTJdWhGqoprIzeqhslQalSi+edg8nExaa3MbsZ2v3QKDD2KM" +
-                "0Rww+nFQZBnzFavSqmDNdHFt7SLrRhmgoOwp71+72vZ5lN6Hb+" +
-                "DzqPPs9Dyqx3Pc45ncU1/chCfDN7f/m7rbnZ+Lx/X8HDo/m2Wz" +
-                "NGtzd2dd+h4exuCDGGM0B4zrO7cgy5ivWJVWBWumi2trF1k3yg" +
-                "AFZU95/9pVfZ8ff+z/bLadW2t79jjGZl9ne81kfo7E2lEHq8j1" +
-                "srayIrjKOkOdqM5MaVlP/dNH00dmffZdu2rXbhkDhFvGaI56lY" +
-                "15EYMyZtequfaYwfrdE7spu2eVUWlUQr8/WexkerKaTzD7rl21" +
-                "a7eMiQj8F/2+9pWyMS9ivgIiVgVrpotraxdZN2X3rDIqLfvXru" +
-                "r7Z32fv87Hc3Y2OzNrc/c+f+Z7eBiDD2KM0Rwwrr8vCLKM+YpV" +
-                "aVWwZrq4tnaRdaMMUFD2lPevXdXzs17v1/v3+Xo84/E8fDLu7y" +
-                "H1+9HV/R5S75/1eq/Hsz6P6vPIjuf0wfSBWZ99167atVvGAOGW" +
-                "MZqjXmVjXsR8BURZ1RGZLq3NXWTdlN2zyqg0KqHv712sudXcis" +
-                "fZfOaHhU9jZZz9JTvHLKcP5X63/slRqlBra452MaSgzOn3efV6" +
-                "vY/7PCrH9Ke+jDKSYaOvn2/XsQnj+FU3Gc1es5f7zA8Ln6+RqX" +
-                "H2N3tDlZ1HmWK2W//0daAK+li1C1YyfJwu8lnNxS8l7ujTy/wJ" +
-                "HX3yf/52NLs7u2vWZvfZPnqAZTTnux95yEdNZeEY6+I62DNPpk" +
-                "srQlVUE7lZPVSWSqMSxc9fLY/x8Re+Wvy6xd34tZfZn1/x9+VX" +
-                "rtX5eW92z6zN7rN99ADLaM53P/KQj5rKwjHWxXWwZ55Ml1aEqq" +
-                "gmcrN6qCyVRiURn5yfn9VfiXa+Wgav962Y6vXenqX3Z/fN2uw+" +
-                "20cPsIzmfPcjD/moqSwcY11cB3vmyXRpRaiKaiI3q4fKUmlUov" +
-                "jmvDlfvTed+9y9SZ37Hh7G4IMYYzQHjOs3NUGWMV+xKq0K1kwX" +
-                "19Yusm6UAQrKnvL+tavsnF08qffBMUf9+44xxsd/u7VVFi3Xw2" +
-                "zbRRS1WRWgVPnF9Yf5++ojezOe7hvjX/Xsqtd7PZ439I2+/p5s" +
-                "+HH+/fxBc2DW5u5N6sD38DAGH8QYozlgXL+pCbKM+YpVaVWwZr" +
-                "q4tnaRdaMMUFD2lPevXU2fTp8Wv2x3PvPDwqexGHdGXmejjTkm" +
-                "RzGT41ibolSh1lZ+7WJIQZnT73vZy+n0tMB1PvPDwqexGHdGXq" +
-                "cKT71OH4qZHMfaFKUKtbbyaxdDCsqcfl/URZFlL+tyE2z09fPt" +
-                "OjZhHL/qrmPxR31Kj3o8/6zHoL4vXY/3pWwc/17PsjFH/f9dXG" +
-                "L8C2Iv1SY=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value23 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value23[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value24 = null;
-
-    protected static void value24Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1473;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXE1rXVUUvYPGjipkLii0glCcaAfiLO/m/QR/gDhIM5TiD/" +
-                "AZnsH4F5w4dVTIwLl0lN/QUUDsoPiBUkSL3pOd/dZa++z7kve8" +
-                "pQXPCdlnf6699uHc3vT1o+sW7y7uLt7ousW9bliLO133+WfdRm" +
-                "txe8T/QeV5p5tsLd68Iv7ehnhvs3X0zeB5f0OED23vb5kse5Fm" +
-                "u+ert8yPXNczmytrv0fyBR7MIs/rb33xI6PFjo6lNmuR4eLbyF" +
-                "MZKCL6xU5dN3tusuxFmu0ei8MHPbO5svYDM1vgwSzyPOacdQRz" +
-                "tlkbYwg8jSoi+sVOw9numCx7kWa7Z7ifO55ju+uZzZW13yMj92" +
-                "7Fg1nkef3Oxf0MXFHjWGqzFhmG+1kxUET0i52Gs/3DZNmLNNs9" +
-                "FocPemZzZe0HZnonVjyYRZ7HnLOOYM42a2MMgadRRUS/2Gk425" +
-                "smy16k2e45+tT8yHU9s7my9ntk5N6teDCLPK+/efKU0WJHx1Kb" +
-                "tcgw3M+KgSKiX+zU3u9Tvt9nZ7Mzk7Zf3N0zt+HhHHwhxjlaA8" +
-                "TVkyOZdcw1ZqVdgZrx4t46RTaNIoBBPVM+v0616f08+fnVuJ+z" +
-                "R9vez9mj69zP42fb//wZ16bPe1tyqu3Xz+R+Xni2up/tPKc9z3" +
-                "otv29P7bZrfjQ/Mmm7+8yOHuRyNte7H3WoR09F4Rjz4j6wGSfj" +
-                "pR3BKrKJ2MweLGumkUnM3+x5P/7k//G8H3+8/fM++85k2Ys0mz" +
-                "2eY7vrma2VjM8RrVfdGMS8WMPc6o7Aqvusm0R5ZkzrfrFTex+1" +
-                "93s7z3ae7TzbebbzbOfZPv9s57nZeR6dbn8/+/v9fZO+u1W0or" +
-                "vkHGS45BytUa+iMS5iriGj7uoZGS/tzVNk09TTM8vINDLB4tr2" +
-                "+Wf7/LO9j9r7qL2PNn4fPegfmPTdraIV3SXnIMMl52iNehWNcR" +
-                "FzDRl1V8/IeGlvniKbpp6eWUamkQm9jyx20B8M+wF2t4pWdJec" +
-                "gwyXnKM16lU0xkXMNWTUXT0j46W9eYpsmnp6ZhmZRiZ0nhZ73D" +
-                "+O99Z85oeET2Mx7oisZ6vEPCfPYiTPY26apQy1t+LrFOsY1DXj" +
-                "Puu+f2P/Rswzn/kh4XMdlRpnf43OMcdRpFjt0r8ytswi58cVcV" +
-                "/HM0MYQx1wDvcPh/3Q94vIodvwcA6+EOMcrQHiqrNk1jHXmJV2" +
-                "BWrGi3vrFNk0igAG9Uz5/DrVfG++13VF2l4iZrnOHuRyNte7H3" +
-                "Wo984RhWPI0T6wGSfjpR3BKrKJ2MweLGumkYnmz3Znu11XpO0X" +
-                "fxay63b0IJezud79qEP96k9iAgrHkKN9YDNOxks7glVkE7GZPV" +
-                "jWTCOTmN9+/pz253lfez+5NE0X+7L4uvzrRjTrel2Qpcyv7r8e" +
-                "f6w/qq/C2Tt3aVoWrfVRPuebRzTrel2Qpcyv7r8ef6w/qnOcL7" +
-                "vlL+V5Xz5d3Fs+t+d9+ds0T+Tyn8rz+3TP+/LXK+J/bY385+X+" +
-                "9+a1syezJyZtd5/Z8HAOvhDjHK0BInpyZh0DM7DSrkDNeHFvnS" +
-                "KbRhHAoJ4pn1+nap9/vvjVznPatffDy0d42dNtO0F/3p/nPvND" +
-                "wqexGHdE1sc6e06exUiex9ziBBphVMXXKdYxqGvGfZEX1slH7R" +
-                "mdcrXznHZ9fbudwaTneaedwZSr/XuE7df84fyhybLD5zak+xDl" +
-                "GL5dAr3GZ5/GlBn6uBV51rw8HjkyG65SBO7P3yojE0I9nZ8O+6" +
-                "ntl5FT2JDuQ5Rj+HbpSECEl30aI37Sx63Is+bl8ciR2XCVInB/" +
-                "/lYZmXB++/zzMr/9/ZAXeJ7/6f9jed1k2Ys02z0Whw96ZnNl7Q" +
-                "dm+nuQFQ9mkecx56wjmLPN2hhD4GlUEdEvdmr3sz3vr/J5Dnf1" +
-                "NZNlL9Js91gcPuiZzZW1H5jpM7biwSzyPOacdQRztlkbYwg8jS" +
-                "oi+oVO/wL8NPKn");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value24 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value24[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value25 = null;
-
-    protected static void value25Init()
-    {
-        try
-        {
-            final int rows = 58;
-            final int cols = 84;
-            final int compressedBytes = 1699;
-            final int uncompressedBytes = 19489;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWsuKHVUUrWGLfoKQgAqCOFEHIukMbqVmIgiZGkQcJYFMOi" +
-                "SBDOJtDRJCAslYBH8hH9L9Ff5CHGRgnXt69Vpr793GTi6mJVWh" +
-                "9tmPddZe+9D3nWFYf7r+ZP3+MKy/GOZr/eEw/HRzONW1/uCE/J" +
-                "cp8/GwtWt97iX1z07J95FGP/82Zz4/JcNXwzDdn+5329eW7xF8" +
-                "zRCraN2PPPdxP/pGFq0R430YK0+lyztSVVQTuVU9VWalUUnCv0" +
-                "izvGi5nqdlzmta12r2c5fIU+lwvOcqFLx7507u7diK9d9cvsfP" +
-                "4GTc//W6d+7N9F2eP6vnz03mFZ4/x6vj1W6xImpe82EVQwSsYn" +
-                "yPZ51NeVmDR0TuCkSly3vrFNU0eXpVGZVGJbyOajfH+a+xWayI" +
-                "xs1fKa1iiIBVjO/xrLMpL2vwiMhdgah0eW+dopomT68qo9KoRM" +
-                "6z126MN+b1BldEzWs+rGKIgFWM7/Gssykva/CIyF2BqHR5b52i" +
-                "miZPryqj0qhEzrPXHo+P5/UxV0TNaz6sYiKCd8zDh+dsyssaPC" +
-                "JiV7JWurS3T1FNk6dXlVFpnj9MtTfuzeseV0TNaz6sYoiAVYzv" +
-                "8ayzKS9r8IjIXYGodHlvnaKaJk+vKqPSqETOs9euj9fn9TpXRM" +
-                "1rPqxiiIBVjO/xrLMpL2vwiMhdgah0eW+dopomT68qo9KoRM6z" +
-                "1x6Nj+b1EVdEzWs+rGIignfMw4fnbMrLGjwiYleyVrq0t09RTZ" +
-                "OnV5VRaZ7fp1q/m99HPfgB3sNvT/Hu672j3d//x++fd87Sp4jp" +
-                "wnSh274i1+OYIVbRuh957uN+9nQWraku7cNYeSpd3pGqoprIre" +
-                "qpMiuNShw/rabVvK6wbiorxDFDrKJ1P/Lcx/3H5xBYtEaM92Gs" +
-                "PJUu70hVUU3kVvVUmZVGJY6fDqaDeT3AuqkcIGZGMRHtNyyYyM" +
-                "is5rwmJ2p9EDlPpQv1qFHV+MTKoP31jjuzamCXz+/b/P6zuk57" +
-                "nm/m+uWbl9S/PitKH343LNc2z/PKcgbbvJbH+2u8/3w2Peu2rc" +
-                "whpkWOVa3xhiV75tec11wZ+yCKOrMu1KNGVaO7nEH76+02KlF8" +
-                "8Xj/cXmMvn2P97N7rZ5329Zme4zMg/M9Tyz8KtadOY/Ky3Soih" +
-                "q3er7/p7LFjuDyWL2ocP1H1OkKnJH9Yqfl/fw2f49bznO75znt" +
-                "T/vd9nXzSrWPOGaIVbTuR577uP/4lTCwaI0Y78NYeSpd3pGqop" +
-                "rIreqpMiuNShx/6fKly8PQbF9bpUfwYYnhP9YU43vIiHNwZK7B" +
-                "U1XelayVLu3tU1TTOAMV5Jnq+X2q5fG+PH+e5fMcb423usWKqH" +
-                "nNh1UMEbCK8T2edTblZQ0eEbkrEJUu761TVNPk6VVlVBqV8Dqq" +
-                "XRuvzes1roia13xYxRABqxjf41lnU17W4BGRuwJR6fLeOkU1TZ" +
-                "5eVUalUYmcZ6/dHe/O612uiJrXfFjFEAGrGN/jWWdTXtbgEZG7" +
-                "AlHp8t46RTVNnl5VRqVRiZxnrz0dn87rU66Imtd8WMVEBO+Yhw" +
-                "/P2ZSXNXhExK5krXRpb5+imiZPryqj0jy/T7W8Hm359ejOeKdb" +
-                "rIia13xYxRABqxjf41lnU17W4BGRuwJR6fLeOkU1TZ5eVUalUY" +
-                "n8ffbak/HJvD7hiqh5zYdVTETwjnn48JxNeVmDR0TsStZKl/b2" +
-                "Kapp8vSqMirN8/tUy+N9y5/fd6fdbvu6+SS6izhmiFW07kee+7" +
-                "j/+HN3YNEaMd6HsfJUurwjVUU1kVvVU2VWGpU4fjqcDuf1EOum" +
-                "coiYGcVEtN+wYCIjs5rzmpyo9UHkPJUu1KNGVeMTK4P21zvuzK" +
-                "rZLf3ecX/5jn35vePsXg9/Xc7gNV4nl9f35fu65TzfmvOc39Xv" +
-                "dNvWZscd5Jv34HzPEzvK/7COse4ci/+JTfaqBoSqqHHjTvu9OG" +
-                "rlHnB5rF5U6L8XZwXOyH6x0zCs/uq2rc32GJleZ45+FevOnCdn" +
-                "dVGHqqhxqrnqSOUaq3eSQvJ51RnZz/Pj7fF2t1gRNa/5sIohAl" +
-                "Yxvsezzqa8rFGZsnvXWnvcofqRidPk6VVlVBqVyN/vEX55/lxe" +
-                "j5bzXM5zOc9X+r7u4nSx275uvim5iDhmiFW07kee+7j/+JuYwK" +
-                "I1YrwPY+WpdHlHqopqIreqp8qsNCqJ+OLz++/Lp/DXucZ3um1r" +
-                "sz1GpteZo1/FujPnyfnPOlRFjVPNVUcq11i9kxSSz6vOyH6x0/" +
-                "L8udXXo78Borlk1A==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value25 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value25[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value26 = null;
-
-    protected static void value26Init()
-    {
-        try
-        {
-            final int rows = 16;
-            final int cols = 84;
-            final int compressedBytes = 725;
-            final int uncompressedBytes = 5377;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtVMuKGzEQ1IcEckgCgZBLkkPIVcznrFkfcrHxQuaf7LX/Lp" +
-                "Lloqq6FYLBxx1Qv6rUXT2MXcr6df2yvitl/VHas34s5c/vctez" +
-                "fvhH/WeqfC4Pe9b3/8G/3dnvU6p8v7PDr6t9e58PfJ/1uT4PC4" +
-                "+sRz2GVQ4ZsMrxO171btqXGCIy8lQwZrp8tm4x2yZvryqj0qiE" +
-                "D/hv3+dDv8+n+jQsPLIe9RhWOWTAKsfveNW7aV9iiMjIU8GY6f" +
-                "LZusVsm7y9qoxKoxL5Pq/Y8rq8ltJt9+MZ2chpUSOqGA8sOrEj" +
-                "q1pzjI/PQRZ1Zl3Ao0ZVo7e8g87X4zYqka7H5dj8cfgbcmROix" +
-                "pRxXhg0YkdWdWaY6LP5iCLOrMu4FGjqtFb3kHn63EblZBfD/XQ" +
-                "vtMDPbIe9RhWOWTAKsfveNW7aV9iiMjIU8GY6fLZusVsm7y9qo" +
-                "xKoxL5vQ9sW7fNb+mR9ajHsMohA1Y5fser3k37EkNERp4KxkyX" +
-                "z9YtZtvk7VVlVBqVyPsc2K7umt/RI+tRj2GVQwascvyOV72b9i" +
-                "WGiIw8FYyZLp+tW8y2yduryqg0KpH3ObBN3TS/oUfWox7DKocM" +
-                "WOX4Ha96N+1LDBEZeSoYM10+W7eYbZO3V5VRaVQi7/OKLZfl0v" +
-                "5HL8Pf/lkvzGlRI6oYDyw6sSOrWnNM/t9tDrKoM+sCHjWqGr3l" +
-                "HXS+HrdRiXQ9LafmT8PfkBNzWtSIKsYDi07syKrWHBN9NgdZ1J" +
-                "l1AY8aVY3e8g46X4/bqES6npdz8+fhb8iZOS1qRBXjgUUndmRV" +
-                "a46JPpuDLOrMuoBHjapGb3kHna/HbVRCfn2pL+13/0KPrEc9hl" +
-                "UOGbDK8Tte9W7alxgiMvJUMGa6fLZuMdsmb68qo9KoRP4/B7av" +
-                "++b39Mh61GNY5ZABqxy/41Xvpn2JISIjTwVjpstn6xazbfL2qj" +
-                "IqjUrkfQ7+X6NcGrs=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value26 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value26[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        if (row <= 57)
-            return value[row][col];
-        else if (row >= 58 && row <= 115)
-            return value1[row-58][col];
-        else if (row >= 116 && row <= 173)
-            return value2[row-116][col];
-        else if (row >= 174 && row <= 231)
-            return value3[row-174][col];
-        else if (row >= 232 && row <= 289)
-            return value4[row-232][col];
-        else if (row >= 290 && row <= 347)
-            return value5[row-290][col];
-        else if (row >= 348 && row <= 405)
-            return value6[row-348][col];
-        else if (row >= 406 && row <= 463)
-            return value7[row-406][col];
-        else if (row >= 464 && row <= 521)
-            return value8[row-464][col];
-        else if (row >= 522 && row <= 579)
-            return value9[row-522][col];
-        else if (row >= 580 && row <= 637)
-            return value10[row-580][col];
-        else if (row >= 638 && row <= 695)
-            return value11[row-638][col];
-        else if (row >= 696 && row <= 753)
-            return value12[row-696][col];
-        else if (row >= 754 && row <= 811)
-            return value13[row-754][col];
-        else if (row >= 812 && row <= 869)
-            return value14[row-812][col];
-        else if (row >= 870 && row <= 927)
-            return value15[row-870][col];
-        else if (row >= 928 && row <= 985)
-            return value16[row-928][col];
-        else if (row >= 986 && row <= 1043)
-            return value17[row-986][col];
-        else if (row >= 1044 && row <= 1101)
-            return value18[row-1044][col];
-        else if (row >= 1102 && row <= 1159)
-            return value19[row-1102][col];
-        else if (row >= 1160 && row <= 1217)
-            return value20[row-1160][col];
-        else if (row >= 1218 && row <= 1275)
-            return value21[row-1218][col];
-        else if (row >= 1276 && row <= 1333)
-            return value22[row-1276][col];
-        else if (row >= 1334 && row <= 1391)
-            return value23[row-1334][col];
-        else if (row >= 1392 && row <= 1449)
-            return value24[row-1392][col];
-        else if (row >= 1450 && row <= 1507)
-            return value25[row-1450][col];
-        else if (row >= 1508)
-            return value26[row-1508][col];
-        else
-            throw new IllegalArgumentException("Unexpected location requested in value26 lookup");
-    }
-
-    static
-    {
-        sigmapInit();
-        sigmap1Init();
-        sigmap2Init();
-        valueInit();
-        value1Init();
-        value2Init();
-        value3Init();
-        value4Init();
-        value5Init();
-        value6Init();
-        value7Init();
-        value8Init();
-        value9Init();
-        value10Init();
-        value11Init();
-        value12Init();
-        value13Init();
-        value14Init();
-        value15Init();
-        value16Init();
-        value17Init();
-        value18Init();
-        value19Init();
-        value20Init();
-        value21Init();
-        value22Init();
-        value23Init();
-        value24Init();
-        value25Init();
-        value26Init();
-    }
-    }
-
-    /**
-     * The GOTO table.
-     * <p>
-     * The GOTO table maps a state and a nonterminal to a new state.
-     * It is used when the parser reduces.  Suppose, for example, the parser
-     * is reducing by the production <code>A ::= B C D</code>.  Then it
-     * will pop three symbols from the <code>stateStack</code> and three symbols
-     * from the <code>valueStack</code>.  It will look at the value now on top
-     * of the state stack (call it <i>n</i>), and look up the entry for
-     * <i>n</i> and <code>A</code> in the GOTO table to determine what state
-     * it should transition to.
-     */
-    protected static final class GoToTable
-    {
-        /**
-         * Returns the state the parser should transition to if the given
-         * state is on top of the <code>stateStack</code> after popping
-         * symbols corresponding to the right-hand side of the given production.
-         *
-         * @return the state to transition to (0 <= result < Parser.NUM_STATES)
-         */
-        protected static int getGoTo(int state, Nonterminal nonterminal)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert nonterminal != null;
-
-            return get(state, nonterminal.getIndex());
-        }
-
-        protected static final int[] rowmap = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 0, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 21, 0, 22, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 24, 0, 0, 2, 25, 0, 0, 0, 3, 0, 26, 0, 27, 0, 28, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 4, 30, 31, 0, 0, 32, 5, 0, 33, 0, 0, 6, 34, 0, 0, 0, 0, 0, 0, 35, 0, 4, 0, 36, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 6, 0, 0, 0, 38, 39, 7, 0, 40, 8, 0, 0, 0, 41, 42, 0, 43, 0, 0, 44, 0, 9, 0, 45, 0, 10, 46, 11, 0, 47, 0, 0, 0, 48, 49, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 11, 0, 0, 0, 0, 0, 0, 51, 1, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 12, 0, 0, 0, 0, 1, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 2, 0, 14, 15, 0, 0, 0, 52, 0, 2, 0, 0, 16, 17, 0, 3, 0, 3, 3, 0, 0, 1, 18, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 53, 0, 0, 0, 20, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 55, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 56, 21, 0, 0, 0, 0, 4, 0, 5, 0, 0, 0, 0, 0, 6, 57, 0, 58, 22, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 59, 0, 23, 0, 9, 0, 0, 1, 10, 0, 0, 0, 60, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 11, 0, 2, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 61, 14, 0, 62, 0, 0, 0, 0, 63, 0, 0, 64, 65, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 14, 0, 0, 66, 15, 0, 0, 16, 0, 0, 67, 17, 0, 0, 0, 0, 0, 24, 25, 1, 0, 26, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 28, 1, 0, 0, 0, 0, 3, 4, 0, 0, 0, 29, 30, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 34, 0, 0, 0, 5, 4, 0, 0, 35, 0, 36, 37, 0, 0, 0, 0, 0, 0, 0, 38, 3, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 39, 0, 16, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 1, 6, 0, 0, 5, 43, 0, 7, 1, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 45, 0, 46, 47, 0, 48, 49, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 54, 0, 1, 0, 55, 0, 0, 8, 56, 0, 57, 0, 58, 0, 0, 0, 6, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 59, 60, 9, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 8, 61, 62, 0, 0, 9, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 63, 0, 0, 0, 69, 0, 0, 0, 0, 64, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 67, 17, 18, 0, 19, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 68, 0, 21, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 24, 0, 0, 0, 0, 0, 0, 69, 25, 26, 0, 70, 71, 0, 0, 0, 0, 0, 4, 0, 72, 0, 0, 0, 5, 70, 73, 1, 0, 0, 0, 27, 74, 0, 0, 0, 28, 0, 0, 0, 0, 29, 0, 1, 0, 71, 0, 0, 0, 0, 0, 0, 72, 0, 0, 6, 0, 0, 11, 0, 0, 0, 0, 19, 0, 0, 30, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 11, 0, 75, 76, 12, 0, 73, 77, 0, 0, 1, 0, 0, 0, 2, 0, 3, 0, 0, 5, 0, 0, 0, 0, 0, 78, 0, 13, 79, 80, 81, 82, 0, 83, 74, 84, 1, 85, 0, 75, 86, 87, 76, 88, 14, 2, 15, 0, 0, 0, 89, 90, 0, 0, 0, 0, 91, 0, 92, 0, 93, 94, 0, 95, 96, 9, 0, 0, 2, 0, 97, 0, 0, 98, 1, 0, 99, 3, 0, 0, 0, 0, 0, 100, 2, 0, 0, 0, 0, 0, 0, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 103, 104, 0, 3, 4, 0, 0, 0, 105, 1, 106, 0, 0, 0, 107, 108, 0, 0, 10, 0, 1, 0, 0, 0, 4, 109, 5, 0, 1, 110, 111, 0, 0, 4, 112, 0, 6, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 114, 0, 0, 0, 0, 1, 0, 2, 2, 0, 3, 0, 0, 0, 0, 0, 20, 0, 0, 6, 0, 16, 0, 17, 115, 1, 1, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 4, 0, 18, 0, 0, 19, 0, 0, 0, 116, 7, 0, 117, 118, 0, 11, 0, 0, 0, 12, 0, 119, 0, 0, 0, 0, 20, 0, 2, 0, 0, 7, 0, 0, 0, 4, 0, 120, 121, 0, 5, 0, 0, 0, 0, 0, 122, 0, 0, 0, 123, 124, 125, 0, 8, 0, 126, 0, 9, 13, 0, 0, 2, 0, 127, 0, 2, 3, 128, 0, 0, 14, 129, 0, 0, 0, 15, 10, 0, 0, 0, 0, 77, 0, 1, 0, 0, 1, 0, 21, 0, 0, 0, 22, 0, 130, 131, 0, 132, 133, 134, 135, 0, 0, 0, 0, 136, 0, 0, 23, 24, 25, 26, 27, 28, 29, 137, 30, 78, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 40, 0, 41, 42, 43, 0, 44, 45, 138, 46, 47, 48, 49, 139, 50, 51, 52, 55, 56, 57, 0, 0, 1, 0, 5, 58, 1, 0, 2, 0, 6, 0, 0, 0, 0, 0, 0, 140, 141, 142, 0, 143, 0, 59, 4, 79, 0, 144, 7, 0, 0, 145, 146, 0, 0, 11, 60, 147, 148, 149, 150, 80, 151, 0, 152, 153, 154, 155, 156, 157, 158, 61, 159, 0, 160, 161, 162, 163, 0, 0, 7, 0, 0, 0, 0, 62, 0, 0, 0, 0, 164, 0, 165, 0, 0, 0, 0, 1, 0, 2, 166, 167, 0, 0, 168, 0, 169, 12, 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 172, 0, 173, 174, 0, 8, 12, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 16, 0, 0, 17, 0, 18, 0, 0, 0, 0, 0, 0, 0, 175, 176, 2, 0, 1, 0, 1, 0, 3, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 82, 0, 13, 0, 0, 0, 177, 2, 0, 3, 0, 0, 0, 14, 0, 178, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 179, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 181, 19, 0, 0, 0, 0, 0, 4, 0, 5, 6, 0, 0, 1, 0, 7, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 182, 0, 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 186, 0, 187, 188, 0, 0, 20, 0, 21, 0, 6, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 9, 10, 0, 11, 0, 12, 0, 0, 0, 0, 0, 13, 0, 0, 14, 0, 0, 0, 0, 190, 0, 0, 191, 0, 0, 0, 192, 22, 0, 0, 0, 0, 23, 193, 24, 18, 0, 0, 0, 0, 0, 0, 194, 0, 0, 1, 0, 0, 19, 195, 0, 3, 0, 7, 15, 0, 1, 0, 0, 0, 1, 0, 196, 25, 0, 63, 0, 0, 197, 0, 198, 0, 199, 0, 200, 20, 0, 0, 201, 0, 0, 21, 0, 0, 0, 83, 0, 26, 0, 202, 0, 0, 0, 0, 0, 203, 22, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 5, 0, 6, 0, 7, 3, 0, 0, 0, 0, 0, 0, 1, 205, 206, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 208, 0, 0, 0, 209, 64, 0, 210, 0, 2, 3, 0, 3, 0, 0, 65, 86, 0, 0, 24, 0, 0, 0, 27, 211, 0, 212, 25, 28, 0, 213, 214, 0, 26, 215, 0, 0, 216, 217, 218, 219, 29, 220, 27, 221, 222, 223, 28, 224, 0, 225, 226, 6, 227, 228, 30, 0, 229, 230, 0, 0, 0, 0, 0, 66, 0, 2, 231, 0, 0, 0, 232, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 234, 31, 0, 0, 0, 0, 18, 19, 20, 21, 0, 22, 235, 0, 23, 24, 30, 25, 26, 0, 27, 0, 28, 29, 30, 31, 32, 0, 67, 68, 0, 0, 0, 236, 4, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 237, 238, 1, 0, 1, 32, 0, 0, 0, 0, 4, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 239, 69, 0, 0, 240, 0, 0, 241, 242, 0, 0, 0, 0, 33, 34, 0, 0, 3, 0, 0, 243, 0, 244, 0, 87, 245, 0, 246, 0, 0, 35, 0, 0, 0, 247, 0, 248, 36, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 32, 33, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 38, 0, 0, 0, 0, 0, 20, 0, 249, 0, 250, 0, 0, 21, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 7, 0, 0, 0, 0, 40, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 37, 252, 253, 38, 254, 0, 255, 39, 256, 0, 41, 0, 257, 0, 40, 258, 41, 0, 259, 0, 260, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 262, 0, 0, 263, 0, 8, 0, 0, 43, 0, 264, 265, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 23, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, 0, 267, 268, 269, 270, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 272, 44, 10, 0, 0, 12, 0, 13, 5, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 273, 0, 0, 0, 274, 0, 0, 0, 0, 43, 45, 0, 0, 275, 276, 277, 0, 46, 278, 0, 279, 47, 48, 0, 0, 8, 280, 0, 2, 281, 282, 0, 0, 0, 0, 8, 49, 283, 284, 50, 285, 0, 0, 51, 0, 3, 286, 287, 0, 288, 0, 0, 0, 0, 0, 0, 0, 52, 0, 289, 290, 0, 0, 53, 0, 0, 291, 0, 0, 0, 292, 0, 0, 293, 1, 0, 0, 0, 5, 2, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 295, 45, 0, 0, 0, 0, 0, 71, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 0, 2, 0, 297, 14, 3, 0, 0, 0, 0, 0, 11, 0, 0, 1, 0, 0, 2, 0, 298, 46, 0, 0, 0, 299, 0, 0, 0, 0, 0, 300, 0, 0, 0, 0, 0, 0, 55, 0, 0, 56, 0, 301, 0, 0, 0, 0, 0, 0, 57, 0, 0, 36, 0, 0, 0, 37, 5, 302, 6, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 2, 0, 304, 305, 3, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 306, 0, 307, 0, 308, 0, 0, 309, 0, 0, 0, 310, 0, 0, 58, 311, 0, 0, 0, 0, 0, 312, 0, 0, 7, 313, 0, 0, 0, 314, 315, 0, 47, 316, 0, 0, 0, 59, 88, 0, 0, 0, 317, 318, 60, 0, 61, 0, 2, 26, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 89, 0, 0, 0, 2, 48, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 319, 0, 49, 320, 50, 0, 72, 0, 51, 0, 0, 0, 0, 321, 322, 64, 0, 0, 323, 65, 66, 0, 52, 0, 324, 67, 325, 0, 68, 53, 326, 327, 69, 70, 0, 54, 0, 328, 329, 0, 55, 71, 330, 0, 56, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 10, 331, 0, 9, 332, 0, 0, 333, 334, 335, 73, 0, 0, 0, 336, 0, 0, 0, 337, 338, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 58, 59, 339, 74, 0, 0, 0, 0, 75, 0, 0, 38, 0, 0, 0, 0, 0, 340, 60, 341, 61, 0, 0, 6, 0, 1, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 342, 343, 0, 344, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 345, 0, 0, 0, 0, 0, 346, 0, 62, 347, 63, 0, 64, 348, 349, 0, 0, 65, 350, 0, 66, 0, 0, 76, 0, 0, 351, 352, 0, 0, 77, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 353, 354, 90, 0, 355, 0, 0, 0, 356, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 67, 0, 79, 0, 357, 0, 80, 68, 358, 0, 359, 360, 361, 81, 82, 0, 362, 69, 83, 363, 364, 365, 366, 0, 84, 0, 0, 0, 0, 367, 0, 0, 0, 0, 3, 0, 7, 0, 0, 33, 1, 8, 0, 0, 0, 0, 0, 0, 0, 70, 368, 0, 71, 0, 0, 0, 85, 0, 4, 5, 0, 0, 6, 0, 0, 3, 0, 0, 0, 369, 0, 370, 86, 371, 0, 0, 0, 0, 0, 72, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5, 0, 372, 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 87, 74, 75, 373, 76, 0, 88, 89, 77, 0, 78, 374, 0, 375, 376, 0, 0, 377, 378, 0, 0, 0, 7, 0, 91, 90, 0, 0, 379, 0, 380, 0, 381, 382, 383, 0, 91, 384, 385, 386, 387, 92, 93, 0, 0, 0, 388, 0, 389, 390, 391, 0, 94, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 80, 392, 0, 0, 0, 0, 0, 7, 0, 16, 0, 0, 0, 0, 393, 0, 394, 0, 0, 96, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 97, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 395, 396, 0, 0, 397, 398, 0, 399, 0, 0, 0, 0, 98, 99, 0, 0, 0, 92, 93, 0, 100, 0, 101, 102, 400, 0, 103, 104, 0, 0, 0, 0, 81, 0, 0, 105, 0, 0, 0, 0, 82, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 401, 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 0, 0, 0, 0, 0, 0, 0, 0, 404, 106, 0, 83, 107, 108, 0, 84, 405, 406, 0, 0, 0, 407, 0, 408, 0, 109, 0, 0, 85, 0, 409, 0, 0, 86, 0, 410, 0, 0, 0, 0, 0, 0, 0, 0, 87, 8, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 411, 0, 0, 0, 412, 0, 88, 413, 0, 414, 0, 89, 0, 110, 111, 112, 113, 0, 415, 0, 114, 416, 417, 0, 115, 418, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 117, 118, 0, 419, 0, 420, 0, 0, 119, 421, 0, 120, 121, 422, 0, 122, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 124, 0, 125, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-    protected static final int[] columnmap = { 0, 1, 2, 0, 3, 0, 4, 5, 2, 6, 3, 2, 0, 3, 3, 7, 8, 1, 9, 1, 2, 0, 4, 10, 1, 6, 9, 6, 1, 0, 7, 9, 11, 5, 12, 1, 13, 3, 1, 1, 3, 7, 0, 14, 15, 16, 12, 9, 17, 18, 3, 2, 16, 19, 3, 6, 16, 20, 4, 9, 7, 21, 22, 23, 24, 1, 0, 25, 26, 2, 27, 28, 1, 29, 30, 0, 3, 31, 16, 2, 32, 0, 17, 33, 34, 12, 1, 0, 8, 35, 36, 16, 1, 37, 38, 4, 1, 39, 1, 5, 6, 40, 41, 6, 42, 43, 13, 44, 45, 2, 46, 1, 47, 0, 1, 48, 49, 3, 3, 50, 9, 51, 52, 53, 54, 1, 1, 3, 1, 55, 56, 7, 4, 5, 1, 57, 0, 58, 59, 10, 8, 60, 61, 62, 63, 2, 18, 15, 64, 65, 66, 17, 67, 20, 68, 2, 69, 4, 70, 0, 71, 72, 73, 0, 0, 1, 20, 74, 2, 75, 76, 77, 21, 5, 78, 18, 79, 80, 81, 3, 82, 83, 10, 6, 11, 2, 84, 3, 85, 86, 5, 87, 1, 88, 1, 89, 90, 91, 92, 22, 93, 94, 95, 96, 3, 97, 98, 1, 11, 99, 12, 2, 100, 101, 102, 103, 17, 104, 105, 106, 0, 107, 108, 4, 109, 0, 110, 25, 8, 9, 3, 27, 111, 112, 9, 5, 113, 3, 3, 1, 114, 2, 12, 115, 116, 0, 117, 4, 118, 119, 120, 121, 122, 123, 124, 9, 14, 0, 125, 11, 1, 1, 126, 127, 2, 29, 0, 4, 0, 128, 10, 2, 14, 129, 30, 130, 131, 132, 3, 13, 29, 1, 133, 11, 1, 134, 5, 21, 5, 1, 135, 21, 17, 7, 136, 137, 138, 23, 20, 12, 5, 17, 139, 1, 8, 140, 141, 22, 142, 4, 143, 144, 5, 145, 146, 147, 148, 149, 150, 31, 33, 151, 152, 9, 12, 153, 35, 24, 8, 154, 155, 4, 156, 6, 157, 158, 159, 160, 14, 161, 2, 162, 163, 164, 36, 18, 165, 166, 167, 40, 168, 2, 7, 8, 169, 170, 9, 39, 171, 172, 0, 173, 174, 175, 43, 22, 44, 176, 177, 3, 178, 56, 9, 10, 179, 180, 13, 45, 181, 182, 183, 184, 185, 186, 15, 4, 187, 188, 12, 3, 1, 20, 189, 190, 191, 10, 192, 193, 11, 1, 194, 195, 196, 18, 0, 2, 17, 197, 28, 17, 198, 2, 20, 23, 9, 5, 8, 25, 0, 199, 13, 200, 201, 0, 8, 11, 202, 203, 204, 6, 205, 206, 12, 207, 22, 208, 209, 2, 3, 210, 211, 212, 31, 17, 20, 8, 2, 1, 213, 9, 30, 10, 214, 215, 9, 216, 217, 52, 218, 20, 219, 220, 221, 2, 222, 223, 224, 11, 24, 47, 3, 21, 225, 18, 14, 226, 227, 6, 228, 229, 46, 230, 58, 231, 232, 233, 1, 12, 234, 235, 236, 237, 238, 3 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return -1;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 609;
-            final int cols = 16;
-            final int compressedBytes = 1575;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXD2O3DYUfuRw18pkCq6xhe2KiQepUiyCHIAxtgiMFFOkSL" +
-                "nApkvjI9CLBAiSFD7Cuk+RIwyQHCBH8BFc5AAhNRqNNCJFaSRK" +
-                "lOZ9gMerXWokvZ/vPb5H6p68hV9fqAv9eflKPf9BPgHxjfzxS/" +
-                "4PfK/g3X+fsw1b0E9X7PXfXz198/hcrIm4hiv1y58ffv/uL0DM" +
-                "AbTym6X+x5xjpPlQAAJFN1Pwiv4LIPsfZqD/l9qOkwRA8x+j6h" +
-                "mHSxBEfmGe7BbgRlL2L/kElismF4JyuII1F7f6v4s/7tQK+Q/u" +
-                "Tfx4Bubzkpr4cWnix3qdxY8PlG2AUCM/HT82Jn5AFj/ufsP4oa" +
-                "n0LQHFjUslmmGJlDt6ZXwLTIF6NF6oqHHG7VMuHxOxc853SsBS" +
-                "Iv/25v/vtf8vc/9fa8k+av/n2v83hLDU/+92/g/rOfm/JAttWb" +
-                "n9fSu1dckEVlep/W1T+zOxn9Hc/rS5ws9KKLS/OPhXOPj3VvPv" +
-                "R8O/V3b+xfzdH78+luLXG5RfQP550Mx7xD/KxT/Kwj9JlrfuU1" +
-                "h2mLmo7A/MHIlsmEiQvw5g3gEJCgmBQCAQs8r/6uvfsDD53yt3" +
-                "/bsQGLk1oqYDyL6EKnbZyA30kX/8RN6DL/8nNfn//UUp/920OB" +
-                "/rN4iQuPaO6DN/J6nzJgVnTv2XZ8cJL0800hNEJPyV+e/iXP2X" +
-                "Zh+MZaRLqjMaGth+RkLev+DF/oWpX8Khfpn2L15m/QsI0L8oip" +
-                "rSvbx1oDv0iipT9VKsRCD654Sm9ketAwbuf8viAW9Skenj+vb+" +
-                "554/blL+wP4nIixY8PTOnz+UMLH1L5b465dfyn+SYP/5yBhow4" +
-                "G95C9j95+L/L+05Y/rff6YX1+EuH71+cXx84t4++8j8xfibGH6" +
-                "p6r9+g0Vbv3GYf7XJP+299+/ttYvXtjql+7+/e1+/dnVNOsfzB" +
-                "toRPf436P9PVTtT41gf8Pa79EvbfX/8voDwPUHcYLUrB859rrd" +
-                "sP70x2IQwHTWz2Dl8AQTYnHoCFcRRYe2/WvosX89I/4cBff1/f" +
-                "8G+y/E6UKNIP/0rF9ouP9kvPuPJ/1x9L8ttF3qfydVCWY/XzjY" +
-                "JEyBxHf/kfbvawxqkP7P2FmYZ/3CQPvHutTPP6vWz1m5fg5Z/X" +
-                "xzqJ8rb/28/fyzw5R3LwYGly77m+n6iSb9D77X37aqv/r+6VDr" +
-                "L8LkT1iemB3EIFegToaZ48TaD+ULmtZrrHLuJyxLWNKR5OhMbj" +
-                "6TXLUCqMhTIk1m6QF50HfBloVFJjpIDenfss8awMk3PrAZyk42" +
-                "xkj+Faw8kjnSgpPld77z54a6EhgPOzmWHOpGrPy6neykndSYI+" +
-                "81agn3RGNEdXZC4jRV2bOSrq0XYxbBKj6UIbKYDHZiULE5/IRm" +
-                "AUmA75DtNKd80pQBfI11eMD48i86vi2w1vKR3X17gvxFS/Lh5W" +
-                "dRRX9nVll1PX9WVQxykgKEy8hq86fBowwJdT4LpifSMtWfA4RP" +
-                "epMgqcYRRNoYRdY9eJfgJGMU1MT4t2H85gV+IHVKUNWD5DiHiN" +
-                "rmWaAvZY7vl1HdKKIf22mtHInSOysE48CRF2V22389bP6AiNB+" +
-                "x4N3/2S+/mNRs/4D11+chf0RVEFs8m+yf9Cx/zD0/kHmjdLCNv" +
-                "RM1y+j/+Lzj4ua/Z/HXjvL/YMzth+J/tMg/6Un57+IVsDIjfFz" +
-                "DP5C/WH8HI7WQu9/64dFE+fNDrv/ccpZcxP5QeTyO3X/7Hj2j6" +
-                "gHLc/dIkm6phzKI4xf1v27YN+/yxvt3x32/ZFBrV/F//7uNvt3" +
-                "z0p/E0F1/+Jdvn9xkSo4PfDsX+y7/qUG9rTS+i9VpEtVjPOsEJ" +
-                "BwSneaL6LcEAgEwhV/oBx/6NH6YzEcjzZelsaqY8lhkmzLDijv" +
-                "8/qInoMuOa+gzcqmJopCEA573OW/vb7/I9C6SHE28xfqkX8ikz" +
-                "r5x4NRKzUqFikk/j/Gof/u/IjFjK78fdCmRf/Gpg3/Agzm/2S0" +
-                "57fFL+PTpeeH0M8fU/ImWyiNNPBOGZ39u8Ut7HfOe7typ/wn2v" +
-                "eniXBcj7BYkYNBpW1k03Izzh+nq3xMmRDTmJWN+/6A/wFyab0M");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap1 = null;
-
-    protected static void sigmap1Init()
-    {
-        try
-        {
-            final int rows = 609;
-            final int cols = 16;
-            final int compressedBytes = 1139;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXUtyEzEQlYSSEqksRFUWLJUiB+AITVUWWXIEjiIoFiyy4C" +
-                "gcgSNwJMaJY8/Ykkf/3/RbhHKwRlJ/Xr+WJ2NCPEBt/8EJAoHY" +
-                "HqbMl7ufgqj9bxRhakYX8PKC/iBE8xsCh4HADyMQjXl0CXX4sQ" +
-                "dDI6UEW9hcLsutnhufv72YhsDQNqFpLwc9pNzlPevX4NCG/dDd" +
-                "BYTtskuW1fI8zvIDoo1TUGuKxPUPsP4hEAgHSDvRGcrDgXLq9d" +
-                "8G/rtz1f/3zfQPPMpTd+RKzKv0wmNseqc0FEPgZ/bT2D/VB6AJ" +
-                "EBilyftX9UazAvMMgcgqHRH1rSc8TxKCVz7jX+1wfpi/gugaXY" +
-                "il/hDb/ocp93X930D/dqY/pOP+R/kcg9ktKS7Fk0Oe+o9HXYdA" +
-                "oIRyoQTkikbAXUjfv/5Tp/oPy2hgzB4aNPUHw8klPyLShLpLVe" +
-                "bePubiPOazPLiY//N3idXgbq//zO9UKD4/xcKJqAmKJrBXfR7A" +
-                "yVsSlRwts6Kfn+qdn2H8IurFv7zQP3LX+C90sE8rj8cajhjM/1" +
-                "39/RDmD8Y/Yrv1ExHC35CMv5uNn3r3jyPiIM+8sQIoFz8K7b9q" +
-                "/09Tyogpe76TX5zpj5JcE0XhYWe6x+mywPhXSsnNLYd3iknygT" +
-                "wQ9Tj9c/X8Td/+OeUvlU5/4u2YzvyL/If6Z0D7MbI4Qc1ECMJa" +
-                "Qa5Wp8xQYBRGWWwtdBeVPRobyhnQY01qmbZr0BisUc1PpwoJ66" +
-                "+nXRjavwFgTW6CAfmR8iDfAvzvv2OR4xvY/5pReJADKbHcKcl7" +
-                "Sna6reMJVaIQrczPKs4fpMPgNR7YXN2+N93yq88aT0QaqhK2tF" +
-                "VGumEy7fSh/J3m8/tY/k0wXniqJ0myOyCy/tSqfyLR/vlxfn46" +
-                "Py2TlEXsF6+/avs/sf7TBflr5AaE2t7pwn8l6w/W78r+LyMgTP" +
-                "VzGvnb/fmBsNAP922sP1j/uK8/lq9U1R5QZe9f5vYnJvuTvf2J" +
-                "WX9WZQ6f+Alcfz7/+61fQMj6W/DT6PVrnj9k7r/9i50mW8QfaS" +
-                "P+EMX8f4F/LvCv03jEhpVzgvrtxl8kmL/yKCBZbHz3/g/QP35P" +
-                "sWk7fuqcH/TTv8WkpkucQFvu2thHLypd/zRA/wFp8tdgP+VsP9" +
-                "6UflPLFxC6f/JyFn+y/y+2+LnOv3/hsQsDyp3/JXMjtgSdQJzG" +
-                "J3jmaQlaPJm6zeAa9/lpjRfNlGBZ5/9brueTledHOCse2dVqm+" +
-                "qUoNQmV+e39i/ilf/5v6P+/HlzfPD6005/B/aBLPVZQN6ziLPa" +
-                "vfXHkuFj2epyGKvu/T7En+h8/a6gHveP6hMhpcFgq/vlWw2lQ+" +
-                "2u+jkf5/qMjPr+zzLiYuBmqYH9t//940O2s7mEmthkigxTi4qr" +
-                "9ajPX7I9f6cT+yFa6Dmr7jzb309dhOH+ZR08f7/83cPzZ+Pn6V" +
-                "H/io7yLx4p5bAeLP5J9vjPff/zEP0G6u/C0kDOYq309z/1q8ga" +
-                "aF/1WjcB40Tpf0vOoEo=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap1 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap1[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap2 = null;
-
-    protected static void sigmap2Init()
-    {
-        try
-        {
-            final int rows = 609;
-            final int cols = 16;
-            final int compressedBytes = 972;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtXUtu2zAQpQiiIIqgUIEegAF6gB5hsssyR+hR2KKLLnuUHq" +
-                "VHquXYspSQtix+hiO9F8CIFY2H5PzeSLSi1Bx+fBnQqTBIZYRV" +
-                "yoT/om8LHyT74fVZudMRp7SbjJ6Ob7qfh1mZj5OBkxklOMc/zi" +
-                "L2GVGdZ0k6zt/O50/DGcf5vxyP/xjm/+s8/4N9aTb/u/UD7+xX" +
-                "Ht0q38o2/NdQC8U/5HnlIx/Qxc40me1/06sM/A/yBf2fOf/tPf" +
-                "8Knv+ZP9oU/rjv+NOzD+jn9ce/Lul7PYT8tZn4LQBdUZebv6mw" +
-                "OCkqPPOwfNGV6dBMyu5/+yu2NBXk1Rr51FSVWP8a468++6gMr/" +
-                "+5NcOwk6tsguJvKfpR8s8b/vslzn9pxn8fhayOKx4/iddfxMun" +
-                "xn8R/cnxU2P9svSfvPbPUP+4r1/u1/8azh8sQP+RtcLaa42mx8" +
-                "JV4scr9TtYJiEaXLP6u6nl0/YPRPnLSd78u/CXqfzzIG+biLw4" +
-                "/+pU8f0jefhfYv8jO3Oy2g8AAEBu/sy1f/Am6a+f/xfUT27+4i" +
-                "mwZo9X2qPX890wqm/BE7Su3N/S4oNlumsKqayoH+AHLTxPNzdS" +
-                "l3N6fM1m2+MnRMge+7+U+p+t/7ZNlh6bk6j5lmbmRay/jNAK8/" +
-                "sm6ijWv60Sv9P6ETFYRVpimPW3DyfEf4DGAQ4B/0f9BJB/AEBK" +
-                "/SG1cv/sVfQg2ijITPpFEAoN+4M/AkD7oGmIpeYtXBrnpYMaBh" +
-                "JlsBz7zzK4zQT2Psmi+8+m8sf5n75U18r+eQCQ0YT0HLo59QNA" +
-                "W2jw+vX7+vu96v2rDPfPMjx/uPWLG7Rd/QF42VEufPgrG4H9Nt" +
-                "zB/OXi+asf8xceOQ4AAJBOUUrUL+76t3f9bXkT1h/+U45FBg5e" +
-                "nh823ePuhpeuufHbeLyFZqf7zdvvOrB/qiJItP0cDCiu/1dK+v" +
-                "7/7Wy2dovtp2/Yz1a0Hx958lKnsNudLdz8YEv8p1sw2Hb42Ji/" +
-                "/Fh/viytP4+c9i9Xf3nmb5dVHzofucP/2+d/276RsVP+bdqxL8" +
-                "F/99o/PcXy9wc8/7cIcb5JonFVN+5mcDWgNmTvfwNE49xD+cOP" +
-                "9rZXh7Lc0dextGv1cvj104Oibrjn8/mcIc1v8g9/sX7of4AUtl" +
-                "arF3LMZWW5fvRye8pGb/pHva5/lL7/AtcP8Pw1QHgTJ5pw8Y5/" +
-                "vzU/y/0vczn9Agpo6097A6it8TftW4Y1FLcJii1sf9fCC8mz4C" +
-                "mUwv8omD+eqn1/2Sr2/19JxSxT4PkvfVv5/8b6/weIzqfl");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap2 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap2[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap3 = null;
-
-    protected static void sigmap3Init()
-    {
-        try
-        {
-            final int rows = 609;
-            final int cols = 16;
-            final int compressedBytes = 904;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtnU1y2yAUxxFDMxqvWPgA9AY9wusuyx6JZnKAHq1HaqXYiW" +
-                "wDBvGN/r9FJvH4BfS+eAiEBGOSMcFmptgHivHLr9Pyg9Y/pjfG" +
-                "tDgxYldIfErURET23yB/9pX/fievd+rvzMRsurZVnv////LmY7" +
-                "rKO5iYQcSlxXlrzW3/L3+s13a6lfG1v/KwYlz7fvLCIC8K+L/K" +
-                "6L/Joihd/AXFj525VvzLBP0PjL+q9vvjbz8KsB+IRVodiso27g" +
-                "hL0Xn9UKD+oJzXf3T9AwAAAM0xQwUAAMaOXGxjngEAGJTlNotG" +
-                "skuBhgqG0f8cMP/ZsX4hQ75MMG2N+Wvv8mX0x2/8XxoGFmUIE1" +
-                "oFx7Z/7JB6DP9B/HdvfxXYA/IdrWPlmyfh+qcMbhxlRReMPCUT" +
-                "jEz+T0vkr/7/a/389+L/76evwCd6sv/tIi/+fsXPVv51kZ/jwq" +
-                "eX8RJTeq8sSM9T49TBlIfDoiCm/ki0/9WVW6k9LVgSw9yLFSM4" +
-                "s2/Xy9QP2W7f/n2QcPxVfV5vR922+DIv0nKr+1+FT36x9V+X6/" +
-                "9c036Y/0U6mazr/7WfnwKIPwC8mI564RSpqeLyADSUKQ7uv5u7" +
-                "GrLxrqLWAKASEjHdf3lY9qZP7Pp1fPvu9e/t/Yu1/cumvMf171" +
-                "bg0x6rY14GUNONqCwEF/yvqQIDAHBfhc62mFHG1Vme6PmnlOdf" +
-                "XuRl+vPj6Ln+KuWhMvsP8tmv3fGTIvVPDZ1/Vtx+5c+fnAOtLx" +
-                "O3j/oPHLl+SDB+qWzjV9Yrr77/Tw2eLFST9nuJPL/7BXkd3Lu5" +
-                "ajhUHHDL70bGOZUQ5yuCges3VablXeOn8fnhyVNeM9f7F6zyQc" +
-                "8v+7R/oPyhQkYI0FPm2Po/f/D/n23Xv7b4Vfb4lZ/zNxHu+/do" +
-                "MpQSrhujH99Xy//80YD+9vafJep/mfbNFpTjhjX2H4OMkL3obK" +
-                "j+Pd74rRje35PN35PUzo3Xf6zH91+WnPuk1l9t+5Xw397yjG5M" +
-                "//H1X+7+5z5/+Yiku7mUM3+1kX/Grv8q5M/ATd/747/39xeD8c" +
-                "kZf2nz75jzv8b7Ofz5Vzn8l5ryvzL5f2rYN3ikIPecTsnqHXb6" +
-                "b3frXwCA1qGQ8bPD5zeAvTa0+4NG/Q0OWv9j/dE/W1Sxn+f7Wx" +
-                "z7d7Qj9Zn3P2E/ds+lTA/wzrXKs2WBvc/fqvGdxkt/APUHCOcf" +
-                "1WbKvQ==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap3 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap3[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap4 = null;
-
-    protected static void sigmap4Init()
-    {
-        try
-        {
-            final int rows = 609;
-            final int cols = 16;
-            final int compressedBytes = 778;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtnVFy4yAMhmUP0/HuEw89AL3BHkFH2CN5d/bgrdM2TbdxjY" +
-                "2FJPi/h0zaGQUQEpKAOETbJPKNZP8DUVxep2srica3t8Pywpc/" +
-                "hr9Ec/hJfBXk4F6vvdDMPA2dT+Qgpamwvy/RdPsAaPBiyCO0cJ" +
-                "SoMmGH8h9+y3/2yP97l58/5Bte00b65AxR044QLUCu2ebmLgxd" +
-                "NRS29VreG3/itf4OKu3Tme0L9P8xt/9PPduvo4iYMP+WLa9F/W" +
-                "P/okb8uC8f7dkPb2thylu9uMOKJBUHtdCsbtb9hzfs/2Fj/yFP" +
-                "XnD+tO2n4oI8rrwHlc0kQQ0Wi5LQ0bAngc/gYsfofWEAAAAnyO" +
-                "8/VIXF9g/Oqd9V9BEs6B9J6qb9TbRv/2qXvPf8pYb/lo5fQX9D" +
-                "Lf+zoX/b+9/l8y8Xv+A/FuLXcfv1cX9ebv+gh/Fj/wMAAAAwya" +
-                "wY7IaS9o3en+rm/lMgvpe/8nIEd1HC78v//6x9f+Pb/Hdoo/6z" +
-                "z2f7m6gfSu1XW38z32nz6b81/Wspl5a+/0LcA13U/ywmj/hjn2" +
-                "b0N2Aua+Q/5+ffbLx9N9VpedkzK8uDDUfYvP+NC+KG6r9z6ifU" +
-                "r8AK2csLt+r/oKrmGzj/by5/zb5/5uH+kn6lqm0/0vZvG8N28m" +
-                "H/89X+D5zftR2/EoFMNUFVneU/GfK8I37G9aA0iDhm6fMTUX/0" +
-                "sbABV1T7/oq2/XioX8rbYbPjF4ifu/LvW/lZaPzJsP3XiV8sNn" +
-                "7t/QsP9of4XSt+JMLvp1RKSs46RR03P25eK7CMEJf1Nd4M4rXD" +
-                "P+4dJN6MZaJT1Dnuk8eD2FE/nJJ/YP+8vfp9UpbXxm//cx2k0b" +
-                "tPoen2Jesv4CF+MVQIgPXixtHvp327/vdZJCbCVluj9Y9c/BV6" +
-                "fkBT538H5E2NX2H+K6//fu9P4P5ss/HvtN8vSA7tN5GD3x+s47" +
-                "8T1T0/dnX+i/N3k/mLvyjaTvzG/Y/u7BcAALB/AApQOP/H8/d8" +
-                "56822redf57rMMryAEgR4f/Kw0SpXJtnKwHTnA==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap4 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap4[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap5 = null;
-
-    protected static void sigmap5Init()
-    {
-        try
-        {
-            final int rows = 213;
-            final int cols = 16;
-            final int compressedBytes = 306;
-            final int uncompressedBytes = 13633;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtmm1qwzAMhl8bU7JRRgo7gAc7iI7QI5n+2nF6xDZZUgjNoG" +
-                "vrWrLfJ+AmAQVZlq0PCjxGAPph7BCnNxF+unXDIOODOwApvEMu" +
-                "ghJGiRX5z1vlv1CeDPP/l3wG/U3Z3wKxsLxmZh9K58unrscG0c" +
-                "n3xTU99ufbjy3EwffYzcYIP5K2x6vP9UvX1mHYWLH/lT6/uP9U" +
-                "4paP0vT5zfVXvP5+8bNG+ivAEPvoyH+XqUrHZSHktacA9x95kv" +
-                "/Ul39KUf0LzP/m/NV6/09h/lW6/1ld/6Lm+q/S/UP7Ecvc579M" +
-                "vNvGbHMtNLtkNuKHqNVfqf1U9e9j4/I11y8t1M/R+PrVXP8Qoh" +
-                "3Gr7b7f63Hn8j5Z6665bf0nv4Ek8bxba0fk9isIYyftvQH9Sck" +
-                "Dyftkkx1");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap5 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap5[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        if (row <= 608)
-            return sigmap[row][col];
-        else if (row >= 609 && row <= 1217)
-            return sigmap1[row-609][col];
-        else if (row >= 1218 && row <= 1826)
-            return sigmap2[row-1218][col];
-        else if (row >= 1827 && row <= 2435)
-            return sigmap3[row-1827][col];
-        else if (row >= 2436 && row <= 3044)
-            return sigmap4[row-2436][col];
-        else if (row >= 3045)
-            return sigmap5[row-3045][col];
-        else
-            throw new IllegalArgumentException("Unexpected location requested in sigmap5 lookup");
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 40;
-            final int cols = 120;
-            final int compressedBytes = 4263;
-            final int uncompressedBytes = 19201;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrdWwmY1EQWfvWSVDrdAyswCIiwnLLCcIiggoLACoK34IUXoh" +
-                "weKCCKCIKAoiKoqKio6wHiCbreKKIC4rGuynqfKHiuJyoKiC69" +
-                "rypVObqTnvRMj7ib7+tOUp1UVerP/79Xr14b7YEBGg0hDRncCn" +
-                "WhnDeFxtACOkJraA8djC7Qxcyw7vYH0B2HQw/oaZZhm/QQ6IeD" +
-                "8Wx4EQ60OAwygC+FE2AYDDfawmlwOj7DLWuU8Y2zD5wD42EynM" +
-                "+XgAkpqG1twSvM5WwrNICG0NSoj7eYw1nL1FGwk3kBa2f8Au1w" +
-                "I+wCu6beSj/JfsOrYQ/ohgthb9gH9oUBxkb8DQ4zdsBx+AQcDc" +
-                "eYbdhSOJ4NdN4x6+Ns3GzWg9G4Cc6CCcYVcB4bwWwcYLwDZVAP" +
-                "l/NmsD3Uhx2gEY6HJsZsaAbNWStoAztDW6McTXMwdDLWw+6wGz" +
-                "qwF87n50If+Cv0xWF4THoZ7A8HsCz2MofCoXCkszscC0OMBnAS" +
-                "nGjMgX/CSDgZzoCxsBrG4bEwCabYQ8AACzh+ATY42M9AtgVqwX" +
-                "bGTvYaqAM7Yq3MYYYJLdnj0ApXmW1To+AvUAGdoat5EvZhD+De" +
-                "mMWfcALsyXpDL+htvgL9+TLYDw6Cg2EgHAGH2yfAUTAYjoOh7G" +
-                "gYAafAqTCKT4QxcCacbVTAuTCRP5nNWuOtvuYU+0drAlyIW/FU" +
-                "nOg8xfeAqdCR756lzeqHkwS+WbnhyVSSwTaZB+h4cDbLHs1mnS" +
-                "HZrAGpxdnQ5ix2hhK+/fQ5X6LKF+I8qzvvpsvtAXytNVFecSTV" +
-                "XZ9KVoiz1NuZD6jehX6NMI3OCV95V197pltqfUW9GJjNmnRnqq" +
-                "VZj/q1ia4lfKmc8KV71mYjNmO2+Gat9Lk5WZaul085ko6O4+er" +
-                "nj+fjdxgiHWVvGcOWxIs50+L7/SxasS+VO2h/j0te46jMkcYV6" +
-                "sxuIzfmvJa4WvwUGMUv0HcgNQr1tsbq++D7RC+090jdpp370Q1" +
-                "KvvABXRG+MJFuAjvhovxHqptq+zJQ/nPwrqnZ9H1L/B/mGi3Vz" +
-                "0frPr7mcTtF9Wq+315+qH05NBTe2OAz1F9W72n/V7wV97zJ9ZO" +
-                "4Isbs7Fbek/7zZyeLVXttvPql/jK30ZI5Fg8vt5YrU99xNcF8S" +
-                "X+zlD1DePL1TP0pNqGBupoIN/E/uGa8dhQO51y8bXXuPiWNTeI" +
-                "JU4TOl4VvIP4e4O6ciXeV2AsRnpjMCkXX+Iv9d6hUU4BfgqI61" +
-                "x95i9CuTUFLsG1MJP0+XLoQGN1NVzGumeegSsFf6EnzJFvr2Im" +
-                "HEifWfZb9H2CrFnqM7X+aHo6fkSlpM8S/y1gqudfI/AV+kxPsI" +
-                "H6tFbgCzul1rF2NrXnTBX6LHu7t2yBuC70WT7Tvi5/8zfBX3n1" +
-                "aBff1AAPXxphqKd+lVfhJy6+0Jw+s119Tq3V/CV9Fvxdx2cJff" +
-                "bYKvVZHl0KRwbxNWg84AqhzwFuT8lIPQNudPfxhVouvlBH4tvC" +
-                "eADEk3saAhX06co/xve9d+Uz2JPKenlXSH2mvdRn2rv6HMDX0+" +
-                "erQGJtfSjsr7mjb3+tj4X95Ytc++sMMhvTSC3m9CaZTYT9VS0F" +
-                "8R3kjEx/LeyvLJH4Zt7JPCnPgvZ3LtSm56Ox5otdfNX7J/GlPf" +
-                "EXiIcaX9WChy/Z3y+E/VXlZH/l/hqhz1aZxpc+18KE9ONwHtVI" +
-                "cmLVEvZX/ibtr89f3/56bJP4OvNhL+NTPjsXXzmCnwr765VK+0" +
-                "t7ZX/paBx9yP7StyHx7SHsr8YXtpN3kf11FlBZHr6u/U392Xtr" +
-                "m2r7S7/21/i69lfeEbC/dObZX9Ln6xS+XxC+89JDzfFwIx8Adc" +
-                "1zNL68D7Q3x5lnwfV8P/KvZsn6evDenEY6PZw+J3n9GkR4knV0" +
-                "8XW3zHuZp7hSLhdfeVTbPNtuIPANaWxLtW/H+0K7eEWCAWnxNu" +
-                "fgq95c+b7xfdVvpM/Cv5JlvUBjvz19bsips01ITder0r3MhnxW" +
-                "TC8ODRwTvoEzD195Zsgae7v4qiu2U/sd0yMEvnl1dyZFXZ5q7u" +
-                "E7QZUrfNXZwBwbNcnH17vmb2p/s7WH1meYT+flDqkB3AK3Qmva" +
-                "d3B6w02wgJHPIPQZbiN9Xpivz4Tnh64+a/6Wtc0sD+qz4K+yKu" +
-                "T5OH18/qZWBvkra4jhr9DnqBHX/pXmr7a/Ln+j9VmeCf7Ozudv" +
-                "RtQ3ho4i+Jta4etzoI95+qz23Aj02NVnwV8aL+IExyh9Jv62CO" +
-                "qz4G+UPgf5G2hD8pf2t7v85d8Qf+9MD4V74O98A+nz3fSbnB85" +
-                "K0ifiWd8E/9O+M/wINwHPWSrbdLD4f7MvXwj/9nj789h/pbNKN" +
-                "vR6hbmL9wh9fkxvtn3n8P8FfMjxceteWN4F/H37Tj+an3O56/Q" +
-                "5wB/F/n4FuTvedHsTa3S/IUhifh7cDx/+foo/hK+rXx8C/EX7s" +
-                "3j7xbvGqUNEl/MPCj4K/Eth4cFvs63rv21ptmvKXwfsaa69lfi" +
-                "S/wV+Lr2l/CsCNtfKpmWZ39TAl+6b3Oc/bU7aPvr4xu0v+lN+f" +
-                "jC8WH/Khdfs1PY/oI3P5D+VYT9FfhaDaP5m66Xa3/lPt7+Hu7j" +
-                "G7S/Lr7R9jfgNTZ1/atK7K/EFx4V+Hr8XQJKqwW+xF/Pv3L5S9" +
-                "8S30xHd35kjXTtL/S0Zgr7C/3KDvH9K+so4T+H8VW1K3zpyMM3" +
-                "rM/EsFNcfK3jaF/Qv8p0ifCvjg8xQPhXZxXEt1ESfPn4aHyF/U" +
-                "2KLzxG+B4V7V8JfO2PovAN6UndRPh+oOMbAX2+ztdnfi2fR/r8" +
-                "uOTv0kwnFb96QuizQzUH9dmaZdRB0jS4n1Bu4Ouz3A+L8Ugkvl" +
-                "qfBX+dPtH67OIbr89yH6nPOdfm4BvW5yT+FZ8bW3dx+jw0Wp/l" +
-                "M0bqcxjfKuvzMqXwzeBZeNI2eRk8g115HVgFz8NKWM4JCXiB+l" +
-                "CBu+Du2AMrAjP4NkizDGyCOyOxG8l/wb1QcgD35JLv2BibIrED" +
-                "fU+hG8i4Dm9Pxx3CT8HL80cRd8sm3tjAKHyD/lXsna1yxtMb8X" +
-                "h8i9uMMQUiFBfl9Pqp3Ct4B+FfVfr8pwXqWKH2zwXtr20LfU43" +
-                "FvqMY4LxZ14BXfh3OMh+HbrjaG1/tf/s219Xn2E471xYnwW+fD" +
-                "OdyfhzvD5r/sJrWp9F/DmKv/H6rGxYhD5DE/o0i9JnEX/W/C2s" +
-                "z0H+xuizRfo8Idr+uvwN6rOOP+fiG6/POv6MY7U+pxt5+nyu1m" +
-                "eciZfgRcTf99JNiL/v4DScDsJPfYuQnMorhD7jpXhhkL9qP8PV" +
-                "51CPDo7VtTc1fwW+lfE3X5+L2TR/dfwqbsPv4vhrty6yxTdCZx" +
-                "94NU6MvydXn+H1KP5W0u5xQf4Svu+q8veD/IU1Af/5Q8FffEjz" +
-                "N30+4fsIPqr9K5+/Qf9Z+1f8hOT89eYcbV3+yusL+s/J+Kvtbw" +
-                "x/P0riX9mdq+9fSf/52qT8jfKvCvNX+1fGFMnftSH/eV1g/ovw" +
-                "sY9v2H/mFZlehO/jqgeV43tiPL4ifhWFrz8/qhF8WQ6+nyTCt1" +
-                "tp8DV71Dy+Qf/Kw/dTjW+qC33Pk8cbkDQ5tSuuVur1mpzHNiF8" +
-                "38ZX6Pxlz796SV6/MV+fY5UwoF+5+pzqWj19zvWv4LPC/hX/1+" +
-                "/nX5m9k+tzxKhNCK4PVu5fBfznz9X+a/p8Y38C/4YvqL534Sv6" +
-                "Xg3fwQ/wrYuvbIfwhfUaXzp38X01+XMKfOHLmP4F5kdV3fLjV9" +
-                "4vtfL6Mj7W2y05vtaD1bkbJyR6vydF2GW1Vmx2Ffqcmi/jz1Kf" +
-                "8eugPtOTfkbtfJta4Otz/vqRr8+F4htCn73yoP29Pd/+Rsc3Sm" +
-                "J/f0ykz5+XRp+th+P1mY4q0WecnESfzS5anwPxjZ+UPjeCzbAF" +
-                "NjmnwK/wi5HhgsWkz/Cb1mec5PLX12fN36LexDcKvOMTsyXekv" +
-                "rP8fyt3H+GRLbJWlIt/k5OZAO6RPROZUnAf+iDtin4a5c5D4A3" +
-                "VyH+bgUViTCaifUjThhDT8hGrR/p9f0o/qojM9R+gL9ifqT5W3" +
-                "j9KAGyo6PwDa8fhfg7O4q/rj7H8Leo9SNrWfT6UTR/xfpRKK+k" +
-                "dvz6vs9fHJu/fsTA5a/zBNWyv22L/JyAop8OHQO5VEt1/lXNbM" +
-                "6yRMhNK5a/fv5G8fyt3P6K+EYC/q6oFn/vK9iD6QV+u0AhOdo+" +
-                "EO9mY8P45lnwGsW3FP5VqfEtNr4Ri++zNYdvIf+KBeKi2r+Sx0" +
-                "qfRf6VWN/nFWwcO5Mtdn4V6/tSn+cU0md7aGF95u0L+1d/FH02" +
-                "G5ZIn1+sjj7r+W9hfQ71RPtXKv8Km6UXGQuMWwjxiejVLfJjVQ" +
-                "tFri/YJ+r1BePW8PqCqi9ifSFq/pu/vlC8Ptewf5VMn1+qDn95" +
-                "h+rqc3olqPxRRr4ayPUod35EexFrqmDnOUuN23T8KrKuwPqgfV" +
-                "L8+qCOXxWyv4Xzr4pbH/TnR6q0iPyreHyLy7+yXo1fH4you3M0" +
-                "voXzr6jEmx95JV7+lbEIMP25m39l3Cf0GVez6SL/Cl+T60c3wQ" +
-                "IZ37gSX9b5V/hSrD4Pi9ZnfKOQPht3/t/q8+vbSJ9V/hW7INUF" +
-                "0HhJ4MsuNN6C8sxgNz4JrY3XBb50zQyNr7S/hfEdXgV8u/7x7C" +
-                "/OLxG+3ybD13iutPiyi1x8ib/vE75y/YhdYrwH5YZcX9H5k6TP" +
-                "F2dGiPVB4V+xmdCTXar9K5wRge+I4v0roc9/NHyFPpcE3++3LX" +
-                "9F/hW7gr7l/Mi3v8K/gvZsDpd+FfYI50/iDiI/B3eOsL8yT8tQ" +
-                "kWbXvwrm50T5V6H+tYv1r+6CAY5ZbfubMD/HYZXZ32T5OdZPNW" +
-                "d/dX5OpP1V+ZPYTMSf2TUyv66riD+zeeH1waD/rNcHCd9+rv8M" +
-                "B2InGCT8ZxF/Jv/5FPn/QeE/i5WKFjr+jN389V+Bb5C/suac+L" +
-                "OPbzD+7NSvfvyZzU0Sf3bqlib+zBtXJ/6cbH3QxZddG4w/s+v0" +
-                "/Ej+P/RnH1/jB4Gv8VMuvuz6RPie5uG7IQ/fudXFN3J94Zri8M" +
-                "3R57j1hdYlwrf574VvzvrCEo2vfC4ZK3fnv8YPclSc3PkvuzHR" +
-                "/HeUN//dkHT+Gxm5KSK/btvMf5NtKafm5r8FY1rePNCd/wr7K/" +
-                "5/xG7W9jdzv2t/cRe+n8DXtb/i/0eu/TW3c+2v4C99ixwbwd/T" +
-                "Nb5UX3/f/gp8K7e//v+PirW/Uf8/Ur/0qpL9nVca+5uqu43srx" +
-                "dTYCp2wRZw0j9YxRay+eK87H6dHyvw9VpU+EoMFL4BrpTbZ+Tj" +
-                "q1p8unL+8r6F+evUj70zD1/vl15V4a9zQ4n4e0gRqhOZH1ukcu" +
-                "Xkx7K74Fl2u9nCbM7uiBw3138O5U96GMzIL7NHx7b8dHB+VMWV" +
-                "JrN4fS5mC+DLSrQ2ds22wZfd6fnPz4L7T91nhP1189uZXLeoSn" +
-                "67PUbz12yZNL+9Zu1v1fA1G5YG3/SN25a/rn8lEV/mry+wJ9z8" +
-                "5yrgO9bDt3UOvm/+L+Fbqvzn9M1F1FHF/OfQeU7+s9lRzI/wID" +
-                "k/2l/Of5eH579ytBvp9QU3/wprx+Vf2WcWyH+e668vVDY/iopf" +
-                "VW1+REdVmB85q0szP8ocsI3mR+sgIuvJJF+ErQzmxyp8E+df2e" +
-                "Ni+PiGPz+q+e3352/NbNWYH2md/i90tDzO");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value1 = null;
-
-    protected static void value1Init()
-    {
-        try
-        {
-            final int rows = 40;
-            final int cols = 120;
-            final int compressedBytes = 2083;
-            final int uncompressedBytes = 19201;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtW2lwFEUUft3Ts0uyEJMQMHLJFVMICYcGCzkUUBSQW6XUwp" +
-                "MCFRC5EeSQI2igSlEuAQ8IAlWACv6wyh9S/PCHCoQAGrSkUiWg" +
-                "nKJV+kOhanzd29M7uzuz2ewuszshXdX9enpnenf6m++912/eGg" +
-                "YQoOQbyIaAYUA+FGDbGjpiWwQlUOrrZmBhgw1RoD8MkL0hUo7A" +
-                "Ok70noWJhuGfDVNgmqEKzIO5sAiWYI9hzfGVyPFbodCwFLhDyq" +
-                "5Ye8Jdlk/6YL0PHsB2qDh+VI4/CU8JuT5snuminY/1dTXWFJoL" +
-                "2RJaQCvLuR2wFkMXuNMc0a7iSG+s/fxF2A6Cwerc4fCI7I2B8W" +
-                "r0BXheyMnwIrwCM7A3C+tCWIythtWH1Q9Z8uxmkCtkHrSRI52w" +
-                "dlazdYNeUGa9G18p9MXx+2Egtg9jHQYjYRSMhcfhMXHFEzABnk" +
-                "M5CV7CdirWV2EmzEF5FhbwM2h77F/mPfItxbnhouh/Rw7DFfEN" +
-                "3WhPeg/tT7vBVfNbaTHFVaJtaRfaHWUPrP2oWCPa1z9HyNa0HR" +
-                "uLsqO6hqN0AedDfGmpUWehve1Gs2qNuArHN5GiqXvMOm1kQPGV" +
-                "Jnol+V7KE+QIqWZTSRU5Ro4zwTxaJdf4OMdX9GroUWyPqNU/7D" +
-                "Svf64DXiflLy5J5n6zO7iFb/bt7iLJpqQY36Nq5d+Cy7Sc/EAE" +
-                "AnCRvUaXkR/hL85fulTiW0FXhPirrlxpg++8GKt+IVl84y3J48" +
-                "sKGwZ/aXsmUSI1tMzmG5R+tuAaSz8vUPp5RaR+NvmbuH52D19u" +
-                "fz2N7yn5nK7n/hWuCPpXpNbRv9oQt3+18Eb6V9mz3PKvsmd43L" +
-                "/62/SvgLDNvk1sK/mNlkE+OUt+5fiyD/Gckkj+Qn87/sK4IH9h" +
-                "IvJ3keLvFpO/HN8gf4P4xuIvx9eJv/b+sxN/rfhK2RKf6zMRZx" +
-                "bb8Rf6+dY5zj3G0pf4yiOFrzjS5KjCF/u5UrZxmLuXPX9NfOXR" +
-                "2KjrFL6Kv+dM/Uwuwn8ELSNcs+pnuJ6gfl6s8P3Iy/o5u07/Gf" +
-                "7JaP18Xso/gFh+cz65ZOpnk79B/4p9TK6Y/I2603FScv28xOZz" +
-                "oZ9D/I25al1tsN7hPn/pNo/z97LyFCuBst3c/rLtbCcUsM/ZXr" +
-                "aD7YIicpXbX/YZnrMfr14rZhpA/sTjbWH2d3XQ/gq/ZKnV/rI9" +
-                "3P6K3j5uf0P+s5P9FX0H+xsXc6fb8Tdof1G2CBvl9neNnf1F/v" +
-                "7raH8rQvZXffo2t7+W48VS+sLOaiZlnhqJsL9Ybe2vOkPYX5QR" +
-                "9tfyHdL+EpD2N4/m0+a0gBbSW2w1RJC/t0UwKsdx/7usDo3jyv" +
-                "6ItkhaP1/ztv+sVmIEHYbtSDoa2+EpwHd5w8BXm9BA8G3PvhDy" +
-                "ENZU7H9XKP/qQOr9q4DPLXwDrGHgyy7JOxPamZ2LjE/KnopPar" +
-                "laXqz4pOOKn3RzXZLHN3Z8g/3uzn1o+UnP0EEXulbrxFu9wIqv" +
-                "nh+Nb13x5/Ci53oV30BuJvBX63xDVqeKTIPuYfa3Rm8Z5/uFlT" +
-                "fK/sIbmRWfhGfSrZ8hhi8Lyg/SW5vxSa2fXsDjk0H+QpGeb8Yn" +
-                "OX9hLccX90cVHF/H/VG5dX+k55r7I3rSW/ujQCuP74/KQ/FJE1" +
-                "8en4QCbWh4/Dk8Psnjz9y/giFB/wpGmPFJHn9G/2oVx5f7V3pb" +
-                "7l+Z8WfaBxisC8Un64o/h/yr9Lzf5/ErL8efycYgvnqR3t1iL+" +
-                "/Gexwey7+qn/1Nl3+VvH4OPJgJ9te/JmHLPUwiOoJUypHxzvEN" +
-                "fVTcv2iT45ofdG//mwJ8H3IfTfg62v5y/tZrjkMyPrnL3P/qY0" +
-                "P6GWWBOpNnIFn0sxmf1CZF6efVQf0s9r/blX4eY+rn4P43ZH9j" +
-                "6WfT/trpZzftb4z8K0/YX22y1M/L9WW6iEloi2Lwd2Xc/D2QCf" +
-                "Grxvf75vt9ckIvJ9X+r3j+lbY0tftfWpuu/W9sfOkZr8Sv6LmE" +
-                "7e8She9GUq1vIFWaA0eb4E5KF1aVtTU8UhoKf1m7ZPFF+1vJ82" +
-                "ObnNbKQ/mx2qpgfiybxWbXLz9WnsHt73a7/Fg2J6n480yHZ/CX" +
-                "lPtXGcFfNj/RK838OuTmJ1g34L292cRRb+mbMoOXgbmu+c8Zga" +
-                "8/J1n7y+Mb+qf6XtEvA7S42iZr/gaOhsU3slprebHyryz83WeX" +
-                "fyU+TWP+lfZ+xJkO+RvO+tnN/A3z/ULi+Vc4SgwjS+5vQcwXjq" +
-                "/g7378rg/iyc8J96/kuCU/p07mdY3x2dDAO6nA1+pfOeHrzF83" +
-                "8TX9q8Tzc/j/U9RsZbaWsF7vfy38Paj3sdpf9q7qpzm/Lh7/ub" +
-                "7+FVubWf4ze0/5V8f0LcjQrXXjmzWrPvja57e7g++Nfv+b+f5z" +
-                "2NMu41fZxdHxK7leFXpNKH4lpMP7I5RR+e2yF6bxEnt/FPjSrf" +
-                "gV18/pj1/5c5KNX5ETrJJUs918/6ufYjuRyT8F8yfVMyTzJ8Oe" +
-                "q23xPDd6H7ZHXbHPW/GNzOBv8vENSyyMZF939LbvNTxVgviSSV" +
-                "7Xz6nYH+kXBLplKfevzjfa34yw4ZVYd/tQn+tXuX4289uT1888" +
-                "vz09+rmh5E+mrvgse0nz/YKvhxrx2Pv9Rv5G4fu0aHta8c28/I" +
-                "3AhUb+1hNXYefoSP9A+/8vyPVS/1/wDxL5zznp+bWByzcXvsnn" +
-                "PyPCI3Ge0/6XxXw/Y621Wa8KusJmdGWmPrWN+lmthIxP+jen2n" +
-                "/2jU69/9y08Obibwp2iv8DxCSvTg==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value1 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value1[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value2 = null;
-
-    protected static void value2Init()
-    {
-        try
-        {
-            final int rows = 40;
-            final int cols = 120;
-            final int compressedBytes = 875;
-            final int uncompressedBytes = 19201;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtm0toE0EYx4fp5ktqVHziC6UqKhVRg1QRX6AnrY1PqoIiHh" +
-                "RfLfURqYIlSo00YLGKl1oEFdGbqBT14MWzD6jR+kBEqCcRbwpe" +
-                "1slkM92N2bi73aQ7u9/APDNTOvOb//fNbLKwRWWBxsN3WVqvmg" +
-                "Q6paA+WvV0oBOdjav6mS+F56i+CLCVzeU3jYd6ZOA7cn2l+EYV" +
-                "1Tch/Ae2ZfmWWK80bS/SeqHifOPI16Z+t+fsc+Qa2mdf8m1UVU" +
-                "IZ38ckaoUvWW3kSxoK+5IjpMlQP6XlhhUjk8hkQ32urhwjSwZr" +
-                "kV7WskbTb7O1WUWeFPxP44v1IjN5WkvmF+dL1pJ1om892SjKO4" +
-                "r8rYOGWpuWg6F1lJaPFS2z7dEiG1jcxGKjVt/F4j5DjxZynCTY" +
-                "CjwlZzipBtiZ1S/dLIX/TaB+bep3d84+87SsfCMDLvA9bXGftw" +
-                "adb+SbsV6d4rT3cHqvNYp9gmc/fcXSl6L+wrZHzLii3yTq16Z+" +
-                "9+b0O+Irnq/8ej/ifH8w1vs97387ka9tBR9g8/qsze8ji1/Kc/" +
-                "9VrrjA94ZX/a/S5S2qylXB91CWb/RXufnKZZ/9FPL3Xzjs9fuv" +
-                "5dPjkO+//BMf3H8t6iENR4d8Yh+o4I5tDbp+8/cjWgMtSjc0QT" +
-                "Mr1+nst/B0NEaXwTG6QEd7Hp3K0um0li5i+WIWV1KuAbpC6zGN" +
-                "zlCus3yWGLNcN36hhR21dDhWxZ/22ZJ+TwRhnv7jS2t0ZZ1+Ia" +
-                "HXL11lX79wEvXrMdZ1RVtjLJrw5TXGF87+y5fnyNej+tXzhTYn" +
-                "+kW+3uQLyUK+Du3zOeQrxQ7g9tnQwvmyXNhn4bXbzfRrGI98pe" +
-                "MLKbTPMvOFi6X5ov/1ZoAON87PeL6SeAekrftf0QP9r0T3I3P9" +
-                "wiXUr/T67UT9+v6MlYbLQZinH+2z9v1RF35/FFT/6/D5VQ/ylc" +
-                "YH3wzGPH1pn+/A7f/pF+450O8t1K8n+N6HR/CwDPb5AfL1DGX+" +
-                "fgr0mn4u2e/bka/Otz4fLIcmcHra+ymhcYKnw/dTQmPEiAzyHS" +
-                "b7/AnewFvIZO0zfIA+6HfJPr9D++yyEt/b7P+Mp9/ZaqZMVjmZ" +
-                "f74h1+/bUb/2Qpji/Uje5xtKNyNYVer5lRP7jM+vPEK4w2ifw9" +
-                "X0PNpnvwTyF9l0iXQ=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value2 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value2[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value3 = null;
-
-    protected static void value3Init()
-    {
-        try
-        {
-            final int rows = 40;
-            final int cols = 120;
-            final int compressedBytes = 507;
-            final int uncompressedBytes = 19201;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtmstKw1AQhmVscnauRLy1lG6kUrRdVBHtEwj1rogv4EbQvR" +
-                "u3XaqoqFTwhuDd4luoBRGLb+DOR4jhUGJiq6I2es7kH8g5SZoU" +
-                "+n/5ZzJJKWo5QWmrSlCKeilDCdeeDmq1xzDFqduek/YyQJ3yk/" +
-                "7yEW0UEY32HHPO6XOd32V9GdRj/UPUv1jMgqKiyR++xjP46hKi" +
-                "ORi/k6N/fcvP7fCvNldBToThX03rb8Qf/4au4F/W+TkGvqz5Jv" +
-                "Tjy7Cy+sc3Cb5aXAEpe8l49ki+9hyXY9LVR6Xf+Mo5VvUbwfcv" +
-                "e9usZRlrnx9jbEAnbe+fh/zJz8Yu8rMS/h2GfwPo64Jn61qMQB" +
-                "NN8/OUmBDjYkxMUtp8EqNmqTb52XxEflY4a097/QtFWNOegQaa" +
-                "kpuV/szKcfDDbNnybrsByulSf13rtX1+tYj6q5ybl6S2xbLG94" +
-                "7aJbqzx1tn++bb19ED1FWG8nIFHXlP/Ru+CIX4roBvwKq05CtW" +
-                "wVdz566j/gbArcVK/4pt5GfGxHMiDxX07H/N+dCmOSd2vP1vKO" +
-                "/uf82FH/y/bgv9rwIVd0+qiedXXPnugy9rvgfgy5rvIfiy5nsE" +
-                "vqz5HoMva74n4Mu7/3Wt1/b97yn6XwX8ewb/suZ7Dr4Bon0h6e" +
-                "H9ER+il/Ava74F8OUcda8kvflU");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value3 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value3[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value4 = null;
-
-    protected static void value4Init()
-    {
-        try
-        {
-            final int rows = 40;
-            final int cols = 120;
-            final int compressedBytes = 532;
-            final int uncompressedBytes = 19201;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtm8svQ0EUxmV6OzMLsbNohYiNEPFYlIjWYy2e1W6JsCRiJ5" +
-                "GwqKCsRUjEH+GxwMojNh7x7kL8BZWIvRpV1dZFW70xM/lO0ntv" +
-                "b89tm+93vzNnJrlsIyKCdEa37ZFvgjhS3hdEEEoE2wRfrfluga" +
-                "/WfLfBF8F2oIE2LHdN/BuGLmoGKWX7zMf6mJf5iYuGWC+9Tcmo" +
-                "Iw3EQ6oSzpQTp9gWkwpSI/a14uUmldFPmmIZRaSE3oh9Wfyaxo" +
-                "Trq9P4X/VgkyO+B/SSXtMrcSz40gvwlTXoXYb5e1G+h3FNXaZK" +
-                "Z8nX3gO+Mvg34TinfNkR+EpRn4/hX635nqC/0ng2dJpOlr0LSm" +
-                "H8TRl/z+BfKerzOeZHOs+PLPNvGHy1rs+P4Ks13xfw1Zkvt4Ov" +
-                "1nzzwVcGvtxhDV8jAL7K3AVB7oQKivq3CeuT+gZ3p5OF9Un0V1" +
-                "/6Kw/8K0V9bhUubnnnS0O8GfVZ2lrblln+x/ok91rhX9s6+Gpd" +
-                "n33gK4Xr/aJ/Wvqlv1qGTsqOv4N8gA//7F8+lIV/++FfCfh28N" +
-                "G351NIt07Pp5BC5aroiJXfbruP/cqYOH4w0StIAiZnZ+APTVwe" +
-                "5ONQQWu+E1AB86Ok/moS/ZUsfPnUJ1/bU47WN57BV6H6PA0VFJ" +
-                "3/zhsrwsFzyfXZWPtzfZ6Ff5WZnS1AA3XH36h/F3PtX2MV/v3/" +
-                "yHsFODhZ2A==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value4 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value4[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value5 = null;
-
-    protected static void value5Init()
-    {
-        try
-        {
-            final int rows = 40;
-            final int cols = 120;
-            final int compressedBytes = 598;
-            final int uncompressedBytes = 19201;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtm01rE0EYx8sweXYGJNZD6YsYShBKRDQBWyltzx5ai/Ttpt" +
-                "9AMN8hXgIVT22pRZAWPdgeUs/eBVuFNBrrwU/QWk9SfNtOlrjm" +
-                "zby0WZiZ/B/IzOzubEie3/yf59lNVjxylfGoWHTrGEuzVI29D1" +
-                "2YFSYewwdW812GD8w0NqjordG2Nx6uOSPBbrIJdrVkzxAbUO0l" +
-                "FmPXVR9Xr3F2xTsyVpxxkUXEE9VH/XNGS86/1sTnGgGbNmkz47" +
-                "qhpfpzQivwk6n6FW/oVRD6pQz0qwHf22JHtdPsjmon/zurv2I7" +
-                "rPm36jEuir4NLv/64/bm33fQrzGr6xN8YG79zFcVwc/l+uVPz6" +
-                "pfjvpZJ75fwNfS+vlAHDbKv+LrKfimwFcLvt8Cqq+OwFeP+BwQ" +
-                "3+/gqwdfcVzNF/kX+m2g3x/gazXfn+Cr0fXRL8RnS+vn38Hol2" +
-                "+Drw7G15V6/xTHz712k2/wF3+Pyy61J1NxzrMm3/ulP9qCp/U0" +
-                "GVJqmijTlqdf1ce8Nl5DfUq/Xh+tqU3oVye+DvhanaETzfOVAn" +
-                "w75fpIStRXVvM9B77G5OAwfGD2/Q15Hvc3EJ9bis/d4KsHX3mh" +
-                "mi/021H5txc+MFW/9ICv0n3ZV0+/lIR+kX8r8m8EfHXgK6PB8M" +
-                "X/6yzX72XwNWYVpOUteMHQ2njq3zh0w6P5vkg16/PNs8LTRLv+" +
-                "9k7LKyQHT1sWn2cQn7Wor+46886cM+sssGHad2Yo3x6+9BF8te" +
-                "B7j/boA+UK+qV9yoKvrkYtPsVJr0t+X0ji/qSN1nUCGD/1Cw==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value5 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value5[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value6 = null;
-
-    protected static void value6Init()
-    {
-        try
-        {
-            final int rows = 40;
-            final int cols = 120;
-            final int compressedBytes = 589;
-            final int uncompressedBytes = 19201;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtms9LHDEUxzVmM0naogh6UBTpxVZEXXQVsSr+C2p7rQfbcz" +
-                "0UavHkDxQ96ElEQfAHdqEVUfHoXyAKKrYsRdSb9tbWgye3cbXL" +
-                "7ro6ujujmfB9kJkwkwzD+/B9L28mvj7xMWxrvoEwzGATn+ADrx" +
-                "qdUy0YodhNF9TxM/1G5+mX6P0l1ZYT5szc8dlfo71FePoR9dlr" +
-                "E58n4CNvGimJ6QeSjvCTOtJIymOulJICdSwiL0mlOlep9oqURe" +
-                "40XI0oJMWiX52fR+fUx8yvuMN71YKNM3zFkEt8B8FXi9g8ouLv" +
-                "OOKzufFZjLqhX98i9Gt0/h0DXy3y76r12mq32qw3JMBCViv74Q" +
-                "xf9h18teC7Fg7z5kv9shBvAl9djbfcbzxb/9/L2r96wgfVP0ji" +
-                "7WHSn+SqNl8txQbo35x/6aTy0GZ8/qXT6eqXTkG/evDlZ2IrcX" +
-                "0Vz5d1ga+na+Btm/s78BHqo4T6aBf61Sj/7iH/Qr/34ct7Ho6v" +
-                "CIGkjX5/Qr8Gr68Obbytef0LS5P/EXxgNN9j+MCr+Vec2K+vWD" +
-                "CF78+zyL9G17+/wFcXvuKPC3x/g682fE9d4PsXfL1i0vLiW2e+" +
-                "B7nr+VcKZ/QrOfSrA1/5LJavfOJUfJZPwVc3/cocmY39OSbHZ5" +
-                "kL/Zpi4jwSn/PYKltxfv3MlsFXi/ybzzv4u9v58s4U/g++BV/P" +
-                "1Ecv4APP6rcsvj5yKj77jqFfHetfx9ZXleCrB9+L/RuyCvs3DI" +
-                "3Pfnf0S1fA1+j4XA2+RvOtAd/Ht4x/34fomQ==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value6 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value6[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value7 = null;
-
-    protected static void value7Init()
-    {
-        try
-        {
-            final int rows = 40;
-            final int cols = 120;
-            final int compressedBytes = 483;
-            final int uncompressedBytes = 19201;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtmr1Lw1AUxeWSPJI7OSuKdBFF/BhUiq2ok+IiDg4uLgqOjk" +
-                "5OugR0cFBREMS/QJ1dRREUrB8VF1EHZxXpFmOR0taSUvJa3ns9" +
-                "F9pA+rKcX8657yalNj9X1O+XKOqjQUpSV96ZdmoKvluog3qCY2" +
-                "/wSVBn9pehvxXN1Mrx4BjLXRPPu77bL1s04KMkFFWPbwJ8tbkL" +
-                "PE5CBfi3wL8j8K/RfEfBV5fiMWhgeP8dhwrI54J8nkA+a5PPk9" +
-                "AA/i3y7xT8qwJfnq4OX/sdfJXI3hnft7fC19g70MmUfGZXUj47" +
-                "8K82Hp+FBtr230VxIo7l919xBP+qkc/WbuDQpUK+1n5UvtYe+B" +
-                "o9Hy2DrxL5vCJS4k7c/vIVj+JGPEjK53vwlVsiXeH609z+ab2M" +
-                "2h6tlji7Bs0N2T9vQAP036L+u4l8NprvNvhqcxd4fAAVjOZ7CB" +
-                "XMyGc8fzaXLzc6w5h/63A+OoMG+vqXz52F8P2zM1+5f505+FeV" +
-                "fOYL+fMR+KrCN/v+6BLvj+p6PrqCClr79xr+NZpvCnzrOp/TUE" +
-                "H/5xtS98/f8K8afJ3Mf77R85mfwFeVsmL8HJ7P+P+GzvnsfsjP" +
-                "Z36pnX/5FSRD+X7J5+t+1pDvG0hGKc5AAz2r4QeiPoDA");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value7 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value7[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value8 = null;
-
-    protected static void value8Init()
-    {
-        try
-        {
-            final int rows = 40;
-            final int cols = 120;
-            final int compressedBytes = 414;
-            final int uncompressedBytes = 19201;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtmj1Lw1AUhuWY5sZcUNBJRSkuoojaodZSP2YnrV+jujqIg4" +
-                "KLbmJLNxcFBX+W4q9wd/AaRUoTBEUTmnt5DiSBJHd5n7znvQci" +
-                "RdMuKZtvSkpSkWWZ6bgzKSPReUymZC66zkfHkkx/Pql9vTEq4+" +
-                "FrdJ1or6l2rJ81P5YsGCqFkmL4lg3f4AW+ueBr4Osy36z6s+6F" +
-                "r9N8FXyt+QpaOkAF/Bvzbz/+dZrvAHwt6s+DqIB/Y/4dwr9O8x" +
-                "2Gbz74enfG6FKcr/fwX77ePXwtyt8yKtjpX11RO2pbbaldKfvP" +
-                "atN/Sqc/+4/4Nxd8F7PJ30Idvk7vr6rw7X7p2m/eKqyjlLX9eY" +
-                "X8ddi/q/iX/P1T/q7hX4vm3w1UcJpvHRWszN898tfx/fM++2eH" +
-                "/XuAfyl9iAbMR4n56Ij+bNH++RgV8G/Mvyf412m+p/C1qD+foY" +
-                "Kl8+/5x/9XQTPt/6+CBv61Zj66QAPyN5G/V/g3F/25kQ1f7xK+" +
-                "efRv2JcO3zCArzX520ID8jeRv9f412m+N/B1mu8tfLtfPe+qzF" +
-                "hP");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value8 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value8[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value9 = null;
-
-    protected static void value9Init()
-    {
-        try
-        {
-            final int rows = 40;
-            final int cols = 120;
-            final int compressedBytes = 399;
-            final int uncompressedBytes = 19201;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtmstKw0AUhusxwtTJE1TU4EYU8YK2VdRn0YW+jE/gDcHLwr" +
-                "Ur30DER/AFulKxIHhjjEVjCaK0NDBz+h1IMpBkc77+8/8nVBLn" +
-                "on3n7K5zUnVZRUffK1mQuqzLzM89mZRKeh6VKZlLr/PpsSbTrT" +
-                "urX0+MyFh0kF4nsndW2t6fdf+W1BzVg5LE7mXr6q9PdMv3Ar6h" +
-                "lD2kB6Hqt23dU/3aY/Srmu8JfP3g28pXp+QrpfnqjHylmu95MX" +
-                "yHGvAN5lewYy/pguL56IoeqOZ7TQ+Yj3Lz0Q3+q5rvLXw9mn8b" +
-                "zL+q+d7Bl/25E77mCb7B5OcHeoB+c/nqEf2q5tuErw987bPZNN" +
-                "t/8zVbXfjvBnxV6/cFvl7o97Wg/HwPX9X6fYOvar7v8NXMNy7B" +
-                "VzXfAfj6wffz+3MsfH/WyTceLEa//L8unIoNPcB/c/5bRr8e+e" +
-                "8w/qvUfy3+2wf6raDfPs5X4/RANd+EHpCfc/l5kf3ZI/9dwn/R" +
-                "b0f6rcFXNd86fD3an5fZnzVW6QPbLI0Z");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value9 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value9[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value10 = null;
-
-    protected static void value10Init()
-    {
-        try
-        {
-            final int rows = 23;
-            final int cols = 120;
-            final int compressedBytes = 240;
-            final int uncompressedBytes = 11041;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrt2c8KAVEUBnCdxu4+AZFsRPJngYSVB7CSpZW1PwsLL2CBnS" +
-                "LKmpRXPG7SNKQoNN2v76uZW3fu3ZxfpzvTSEr9SEVfRMpSk5bk" +
-                "AzMZidl7QrJStGPJXk3J3Z407ivikjRtO6b9PfXA/oK+jVSV+U" +
-                "HE+no7VdN99PUO3/p6e/qGH9P7ZFW0w0o56tunL2MGrIG75++f" +
-                "3q+GPH+hfUf0hfYd0xfad0JfaN8pfaF9Z/R15vtozhqwf5/6d8" +
-                "H+hfZd0hfad0VfaN81faF9N/SF9t3SF9qX//exfY/0hfY90Rfa" +
-                "90xfaN8LfcNP5ApjOfwQ");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value10 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value10[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        if (row <= 39)
-            return value[row][col];
-        else if (row >= 40 && row <= 79)
-            return value1[row-40][col];
-        else if (row >= 80 && row <= 119)
-            return value2[row-80][col];
-        else if (row >= 120 && row <= 159)
-            return value3[row-120][col];
-        else if (row >= 160 && row <= 199)
-            return value4[row-160][col];
-        else if (row >= 200 && row <= 239)
-            return value5[row-200][col];
-        else if (row >= 240 && row <= 279)
-            return value6[row-240][col];
-        else if (row >= 280 && row <= 319)
-            return value7[row-280][col];
-        else if (row >= 320 && row <= 359)
-            return value8[row-320][col];
-        else if (row >= 360 && row <= 399)
-            return value9[row-360][col];
-        else if (row >= 400)
-            return value10[row-400][col];
-        else
-            throw new IllegalArgumentException("Unexpected location requested in value10 lookup");
-    }
-
-    static
-    {
-        sigmapInit();
-        sigmap1Init();
-        sigmap2Init();
-        sigmap3Init();
-        sigmap4Init();
-        sigmap5Init();
-        valueInit();
-        value1Init();
-        value2Init();
-        value3Init();
-        value4Init();
-        value5Init();
-        value6Init();
-        value7Init();
-        value8Init();
-        value9Init();
-        value10Init();
-    }
-    }
-
-    /**
-     * The error recovery table.
-     * <p>
-     * See {@link #attemptToRecoverFromSyntaxError()} for a description of the
-     * error recovery algorithm.
-     * <p>
-     * This table takes the state on top of the stack and the current lookahead
-     * symbol and returns what action should be taken.  The result value should
-     * be interpreted as follows:
-     * <ul>
-     *   <li> If <code>result & ACTION_MASK == DISCARD_STATE_ACTION</code>,
-     *        pop a symbol from the parser stacks; a &quot;known&quot; sequence
-     *        of symbols has not been found.
-     *   <li> If <code>result & ACTION_MASK == DISCARD_TERMINAL_ACTION</code>,
-     *        a &quot;known&quot; sequence of symbols has been found, and we
-     *        are looking for the error lookahead symbol.  Shift the terminal.
-     *   <li> If <code>result & ACTION_MASK == RECOVER_ACTION</code>, we have
-     *        matched the error recovery production
-     *        <code>Production.values[result & VALUE_MASK]</code>, so reduce
-     *        by that production (including the lookahead symbol), and then
-     *        continue with normal parsing.
-     * </ul>
-     * If it is not possible to recover from a syntax error, either the state
-     * stack will be emptied or the end of input will be reached before a
-     * RECOVER_ACTION is found.
-     *
-     * @return a code for the action to take (see above)
-     */
-    protected static final class RecoveryTable
-    {
-        protected static int getRecoveryCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert lookahead != null;
-
-            Integer index = Parser.terminalIndices.get(lookahead.getTerminal());
-            if (index == null)
-                return 0;
-            else
-                return get(state, index);
-        }
-
-        protected static final int[] rowmap = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 23, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 33, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-    protected static final int[] columnmap = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return 0;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 1218;
-            final int cols = 8;
-            final int compressedBytes = 129;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrt3ckNwCAMBED6L5qlA/PEyDMF5MPiI4qUpLIXTBb3A/l1vw" +
-                "A+q3+356u/8gUAYL4EsP/ZP3G+AEzrT+Yn+fF+w/k7X+QD3F/1" +
-                "AfnSP0H+kS8A0F/1VwDA/AEAAOZfAPUTAAAAsL8DAAAAAAAAAA" +
-                "AAAEDt9f9b2n/ffwCvJDjd");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap1 = null;
-
-    protected static void sigmap1Init()
-    {
-        try
-        {
-            final int rows = 1218;
-            final int cols = 8;
-            final int compressedBytes = 71;
-            final int uncompressedBytes = 38977;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrt1DENAAAIBLH3LxpwQJhJK+GGSwAAAAAAAAAAAAAAAAAAAA" +
-                "AAAOCuVyUQgH8DAAAAAAAAAAAAAAAAAAAAAMAfA13BPcE=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap1 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap1[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] sigmap2 = null;
-
-    protected static void sigmap2Init()
-    {
-        try
-        {
-            final int rows = 822;
-            final int cols = 8;
-            final int compressedBytes = 60;
-            final int uncompressedBytes = 26305;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrt1LERAAAEADH7D40NFDouWeC7jwAAAACuq1G+7wP+BAAAAA" +
-                "AAAAAAAAAAAAAAAAAAAADAUgO0MVyh");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap2 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap2[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        if (row <= 1217)
-            return sigmap[row][col];
-        else if (row >= 1218 && row <= 2435)
-            return sigmap1[row-1218][col];
-        else if (row >= 2436)
-            return sigmap2[row-2436][col];
-        else
-            throw new IllegalArgumentException("Unexpected location requested in sigmap2 lookup");
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 39;
-            final int cols = 124;
-            final int compressedBytes = 179;
-            final int uncompressedBytes = 19345;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrt2ksOgjAARdHO/P9QBF0Q6+rS3YCJMmzfyZ0SBu8EEhpqqT" +
-                "9aNrWoj8of1/DmLd7iLd7iLd7iLd7iLd7izfuL97DunsvZrk17" +
-                "z3aK8t7ZKcr7aKco74Odorwfdory3topynuyk+db3Xrf7BTlfb" +
-                "GT83P5/hZvNef9slOU995OUd5PO0V5v+0U5X21U5L32vzP1Pjz" +
-                "fbJTlPfdTs5b1K33aKco78FO3udq07t8AJRXyng=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int[][] value1 = null;
-
-    protected static void value1Init()
-    {
-        try
-        {
-            final int rows = 1;
-            final int cols = 124;
-            final int compressedBytes = 22;
-            final int uncompressedBytes = 497;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNprYGggAN24GxhG4fCAQAAAym17Ug==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value1 = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value1[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        if (row <= 38)
-            return value[row][col];
-        else if (row >= 39)
-            return value1[row-39][col];
-        else
-            throw new IllegalArgumentException("Unexpected location requested in value1 lookup");
-    }
-
-    static
-    {
-        sigmapInit();
-        sigmap1Init();
-        sigmap2Init();
-        valueInit();
-        value1Init();
-    }
-    }
-
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ExprParsingTables.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ExprParsingTables.java
deleted file mode 100644
index 8f8b70c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ExprParsingTables.java
+++ /dev/null
@@ -1,658 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-import java.util.AbstractList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-
-
-import java.util.zip.Inflater;
-
-import org.eclipse.photran.internal.core.parser.Parser.Nonterminal;
-import org.eclipse.photran.internal.core.parser.Parser.Production;
-
-
-@SuppressWarnings("all")
-final class ExprParsingTables extends ParsingTables
-{
-    private static ExprParsingTables instance = null;
-
-    public static ExprParsingTables getInstance()
-    {
-        if (instance == null)
-            instance = new ExprParsingTables();
-        return instance;
-    }
-
-    @Override
-    public int getActionCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-    {
-        return ActionTable.getActionCode(state, lookahead);
-    }
-
-    @Override
-    public int getActionCode(int state, int lookaheadTokenIndex)
-    {
-        return ActionTable.get(state, lookaheadTokenIndex);
-    }
-
-    @Override
-    public int getGoTo(int state, Nonterminal nonterminal)
-    {
-        return GoToTable.getGoTo(state, nonterminal);
-    }
-
-    @Override
-    public int getRecoveryCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-    {
-        return RecoveryTable.getRecoveryCode(state, lookahead);
-    }
-
-    /**
-     * The ACTION table.
-     * <p>
-     * The ACTION table maps a state and an input symbol to one of four
-     * actions: shift, reduce, accept, or error.
-     */
-    protected static final class ActionTable
-    {
-        /**
-         * Returns the action the parser should take if it is in the given state
-         * and has the given symbol as its lookahead.
-         * <p>
-         * The result value should be interpreted as follows:
-         * <ul>
-         *   <li> If <code>result & ACTION_MASK == SHIFT_ACTION</code>,
-         *        shift the terminal and go to state number
-         *        <code>result & VALUE_MASK</code>.
-         *   <li> If <code>result & ACTION_MASK == REDUCE_ACTION</code>,
-         *        reduce by production number <code>result & VALUE_MASK</code>.
-         *   <li> If <code>result & ACTION_MASK == ACCEPT_ACTION</code>,
-         *        parsing has completed successfully.
-         *   <li> Otherwise, a syntax error has been found.
-         * </ul>
-         *
-         * @return a code for the action to take (see above)
-         */
-        protected static int getActionCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert lookahead != null;
-
-            Integer index = Parser.terminalIndices.get(lookahead.getTerminal());
-            if (index == null)
-                return 0;
-            else
-                return get(state, index);
-        }
-
-        protected static final int[] rowmap = { 0, 1, 2, 3, 4, 2, 5, 6, 7, 8, 9, 10, 3, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 1, 37, 38, 4, 39, 40, 41, 42, 43, 44, 0, 6, 0, 45, 46, 5, 7, 47, 48, 49, 50, 7, 11, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 8, 9, 70, 71, 72, 73, 74, 75, 76, 77, 78, 10, 79, 12, 17, 80, 24, 81, 26, 82, 83, 84, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 29, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 13, 109, 30, 31, 110, 36, 111, 112, 113, 114, 115, 116, 117, 0, 14, 118, 119, 120, 121, 15, 122, 37, 123, 124, 125, 126, 16, 127, 128, 129, 130, 131, 41, 132, 133, 18, 134, 42, 135, 0, 1, 136, 2, 137, 43, 138, 44, 139, 19, 140, 45, 3, 141, 48, 142, 143, 144, 145, 146, 147, 148, 49, 149, 150, 20, 151, 152, 153, 154, 2, 21, 155, 156, 157, 158, 159, 160, 161, 162, 22, 163, 164, 165, 166, 167, 50, 168, 169, 170, 51, 171, 172, 52, 173, 53, 174, 175, 176, 177, 178, 54, 55 };
-    protected static final int[] columnmap = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 5, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 20, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 24, 0, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 29, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return 0;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 231;
-            final int cols = 8;
-            final int compressedBytes = 551;
-            final int uncompressedBytes = 7393;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtWMtOwzAQnFgWMpxy5OhWHPgEPs/HfkKP/VTspA/FjT1rb6" +
-                "JKiEUUyGJnX56dNRwCrIGHQxIX8Jl+fscn8S8cxrPBF+wRbxh+" +
-                "gEMIA/zoHS4ePkT9aanHrEeud+v69I6oh4lf6dcB6dkYv4OfDU" +
-                "oPzPx/C/uuQuyn+yf5QlG4f/f4mGp8Sv4r/RPHP8sf5Pmb4nOM" +
-                "Nnbll9t/z89yfRDZd8tfKb/y+Oj8K+VPFx90+I/n82N5ffXVH2" +
-                "j82Pnj+HKu+1+07zK/26EuZH0p/u7x/lzGFvyYxKYPs74Fw7e9" +
-                "9aDxq/p/k5t3Q6t/1/gU12dS0pfW0/xsdH4q+qb4tdXHv/5v6+" +
-                "Xne7f6pPUr4Hc74hftTzufb0H/Evanj77+liHIKj7aNX2Q4Wtm" +
-                "3/tk3/iwj7y/uf9n+of9uYQqgsr5/Wv1Wv4vnX9K/FHEXxgEKP" +
-                "jNZvy9Pz/V+Qc4kfg64Xyyj/3y+ch04ZPofKKSf6LX7j+tt7D+" +
-                "Op/7Vnxh+EbnByl+FfCX8uOxlZ83zj999z+uOt9sYd9yPinz+7" +
-                "b8rvRXXX6156eb/1wW81N/fRH+IJzfKut3xZeG/mVEBGrNvid8" +
-                "QbTPy/Zn9beZf234Ksd/3ftF8bf9/UNdn0Sv5q+b3c/01Ycev3" +
-                "T79/fHai014Iv0fo7xW3Txlw3y03V/iZf3Jy+1j/c3LX9k+KLA" +
-                "H3X8trg/VfCjvvtrht/t/YPd/xb1v1GwuDc=");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        return sigmap[row][col];
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 179;
-            final int cols = 21;
-            final int compressedBytes = 2506;
-            final int uncompressedBytes = 15037;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrVmlusHXUVxo9WCh7AJvCkPhhf9MTEkBgUEaKzZ3Ja7UXbQh" +
-                "806oNvNNEnjcj174MPYgzGaAIqRo3QgsZEgbbQlp5eT4HEGI0Y" +
-                "23LxAaqhYkUE8Yb/77/2N99aM5u9d1tOTPfKmm/91vrOnH1m9s" +
-                "ye2fukt8/kR5rN+eOcFxe6IF2Ul28b3JBWZP3m/MmZ9pGW5e7y" +
-                "rG9ObwUPbsj1+enCvHwLPfXLiDSb8531y+SoaZcRO2kOSg/q9A" +
-                "7vaN6LSLM5f5Xz4iFfNNQVZbnbqNTLci7PmZ9n28vPU46ZmepI" +
-                "iceqI+ldpmRpumNI7Fg+5nqqj7RbaTOWzVpbmorpEjdr0zW+x+" +
-                "5wbe0+Khr2Uc4VM51HWpa+4PdR+nx/H/nnmd5dfuP6Zv3wd6/X" +
-                "MnKzvn2eziun1mmPhZl0iVWDL82MeFiX6xzlqZ9DpM31c6jJUU" +
-                "mskVinetFR3YlIm03JXVW0P3GNZtGV6SgizeZ8T3WUHJXE2lJd" +
-                "X4PG7fd07aj9nvPS8fu9OobIz/MYanJUEmtLdX0Nqk8g8vF+Aj" +
-                "U5Kol1Pt5PlP3S9jqOVxB5na+gJkclsbZU19egZiUibW1Woi6v" +
-                "3pWm6QNkumwSnXTndVxOqo4j8vY8nq6sjpOjklhbqutr0OTjvd" +
-                "4T93u9x+93TLv7PX0oNekjaTatzs9/dfkrVpuKs6tOq9LKZnX6" +
-                "oLFN0pq0NvcGdOW6Sh/Ov+dZRN5Hz6ImRyWxtlTX10b+by+/cW" +
-                "OzkZWWkdO62DNt68sQ+b3jMtRkaVov4sRSXV+X6RWIvM4rUJOl" +
-                "vsuJpbq+BlW/R0DTBlOylMTaUl1fG5XODq/Vjsj+Ue1IX0OXnn" +
-                "SL9w89zyCgaaMpWUpibamur40mvub3dV7z+/x7HKa965A/I6BM" +
-                "spQUner62qj7aK5urmalZXmOmyJ7gqYwqR7wWj0Queu0tFn6lv" +
-                "eHrTRie5Yqb8/5u3rvHW57Ymrbs/fbF71Wi1Bm+k7XaWnedLv3" +
-                "D7dDhYBapo8bp0+YcsKQU11fG7nt/VFbmoq7834vduu/IKDpk6" +
-                "ZkKal1fgqqbrmmdY5mFgFNnzYlS0msLdX1NWjye0f63rj9nr5r" +
-                "+z19xr13jFnn4LpR1yG56+8Rruuvs/4nAsokS0nRqW7Zns7RvA" +
-                "8BZZKlpOhU19dGI46qSwJ9bmbMI312xBF0WEsRlFkvRH+9YBPz" +
-                "Yir/tPcIaefY/X7LiGvF32kpgjJTfJ7txLzlvaP1T/s857eMPS" +
-                "9tGXFtM3mdW8ddJ2M6+v5o9H4fXD/yXub6V6fha/6HCCiTLCVF" +
-                "p7q+NipbfpvXapvndCDso21M85R91PqDc7vXarvn9GjXaWmess" +
-                "7WP+37UTo63euz9zwPeK0OQJnpqa7T0rzlebb+4NzvtdoPrfYP" +
-                "bmbfO61rnrzfb5a/49zttdoNrXYPbmTfO61rnrzOG+XvOA95rQ" +
-                "5Bq0ODxL53Wtc8eZ1J/o5zwWu1AK0WBjdVC711Drvmyeu8Sf6O" +
-                "8yGv1UNQZt9pqZn8k15Lr/Z5SHwtld7oz0OWYJ3VPq/VPiiz77" +
-                "TUTP7g3Om12gll9p2WmskfnHu8VnugzL7TUjP5g3Ov12ovlNl3" +
-                "Wmomf3A+6LV6EMrsOy01kz84d3mtdkGZfaelZvIH50Gv1UEos+" +
-                "+01Ez+IT+spQjK7KyznWgm/+l+rngmxxHP89Ous/cX3eu1ujdy" +
-                "12mpma97d3DrbNmsi9yd93uxWz2qpQjK7DzPdqKZ/EN+REsRlN" +
-                "lZZzvRTP6l2+/NAAG1zPdxhfN9XFFOGHKq62ujJXst3ee1ui9y" +
-                "12mpma+d836v1f2Ru05LzXxdtkMJaPpyE1hKYm0543rRMcU9wl" +
-                "em2Z7+Pm7y/VHdOX9HJqWvup+f/Pnn/s5nQfvDZ0H7h8/z6+5+" +
-                "818IaLrVlCwltc5vQNUt95vecRdivJLiRN2yTueYvD2ne/jt2Z" +
-                "yPgDLJUlJ0qutrUPUUAsokS0nRqa6vy/QXCCiTLCVFp7q+LtMn" +
-                "EFAmWUqKTnV9XaZ/QECZZCkpOtX1NWgpzsn1fxFQJllKik51fW" +
-                "3kXlcfs6WpuDvv97rd3jvypmYTKy3dZ6qbolvKz1SrJxFQJllK" +
-                "ik51fW10hp8FfXtE73T2+6Xj9/vgWgSUSZaSolNdX4OaGgG1zO" +
-                "/vhfP7e1FOGHKq62tQ9ScElEmWkqJTXV+DBl9EQJlkKSk61fU1" +
-                "qFmFgFpaZ/i94ZDpGuWku1mVLhcN9x2+T1tTpmtMxe3ru+Vur9" +
-                "t167Xv9Dc0G4a+DVpG7vZit3k/Asokm/pudKrra1D1OALKJEtJ" +
-                "0amur8v0jwgokywlRae6vjbqnZeuaq5ipWVk912k87b1lQgok2" +
-                "zqu9Gprq9B9fMIaL62ed6zlNQ6b4OqW65DnGP+NsR4JcWJun4O" +
-                "6n+HwtT3JOkO/w1JflaTvkO5AAFNt5qSpaTW+X2oulind0xx/X" +
-                "mwc/15MFx/Hhxef/7gVD6jnu79PXyHcgwxXklxoq6f22Ti9Xzn" +
-                "s9LIpPSjM3yPm3BtsyTb827EeCXFibp+XuhOBJRJlpKiU10/t8" +
-                "nE65Atp3y/YNvzntf0M4FlCGg+Npd5lpJa50+h6pZj0zmmuIf9" +
-                "2anu9yV5LZ1EQNPPTclSUuucq0/qZ1Hnc51zzN+OGK+kOFHXz0" +
-                "Fny7E5xXmp8z1GZFLafnacl6b9LnL413U+B4xcPzLiu8gtiPFK" +
-                "ihN1/RxUPY2AMslSUnSq6+sy7f1vJrMqZ0Lo/En/n5hxFn/COl" +
-                "OcQ/ac8vH+NwSUSZaSolNdX4Oa1yGgaa8pWUpqnXNQdX0Nqv+K" +
-                "gDLJUlJ0qutro0mvz/m7x72WR03/T8fR4c5RcnjcdMp1dr6biV" +
-                "w/POLYvAcxXklxoq6fF/o3ApoWTclSUuucg6pb3o+c42w5fzZv" +
-                "QECZZCkpOtX1Nah+AQHN2/MFz1JS65yDqlu2p3M0r0dAmWQpKT" +
-                "rV9TWofhEBzfeGL3qWklrnL6HqlufpHM2FCGhaNCVLSa1zrinf" +
-                "w6iXr+ucY4rjaLFzlCyOm5befxBQJllKik51fW10Zp/Pp1+fzj" +
-                "lkgvc3Iz6pOAcBzfvoHM9SUuucg6pb9pFz1H9HQJlkKSk61fU1" +
-                "qDkXAc33COd6lpJa52+h6pbn6RxLcf3ZvAkBZZKlpOhU19egei" +
-                "tivJLiRF0/B5015+TlCCiTLCVFp7q+Bi3JfdxPEOOVFCfq+rlN" +
-                "Jt6/Pz72eD92OueQ9ORY7xMjzp8vIaD5Pe4lz1JS65yDqlveO5" +
-                "zjrHl9noeA5vPneZ6lpNY5B1W3nJeco/4HAsokS0nRqa6vjSbu" +
-                "96dnXoNHZ53PnOrPN29EQJlkKSk61fV1of8BpgN2eg==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        return value[row][col];
-    }
-
-    static
-    {
-        sigmapInit();
-        valueInit();
-    }
-    }
-
-    /**
-     * The GOTO table.
-     * <p>
-     * The GOTO table maps a state and a nonterminal to a new state.
-     * It is used when the parser reduces.  Suppose, for example, the parser
-     * is reducing by the production <code>A ::= B C D</code>.  Then it
-     * will pop three symbols from the <code>stateStack</code> and three symbols
-     * from the <code>valueStack</code>.  It will look at the value now on top
-     * of the state stack (call it <i>n</i>), and look up the entry for
-     * <i>n</i> and <code>A</code> in the GOTO table to determine what state
-     * it should transition to.
-     */
-    protected static final class GoToTable
-    {
-        /**
-         * Returns the state the parser should transition to if the given
-         * state is on top of the <code>stateStack</code> after popping
-         * symbols corresponding to the right-hand side of the given production.
-         *
-         * @return the state to transition to (0 <= result < Parser.NUM_STATES)
-         */
-        protected static int getGoTo(int state, Nonterminal nonterminal)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert nonterminal != null;
-
-            return get(state, nonterminal.getIndex());
-        }
-
-        protected static final int[] rowmap = { 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 7, 8, 9, 2, 0, 0, 1, 0, 10, 0, 11, 0, 1, 0, 12, 2, 0, 0, 0, 0, 0, 13, 2, 0, 0, 0, 0, 0, 0, 0, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 16, 17, 0, 3, 4, 0, 0, 0, 18, 1, 19, 0, 0, 0, 20, 21, 22, 0, 3, 0, 23, 0, 3, 4, 4, 0, 0, 0, 0, 0, 0, 24, 0, 0, 1, 0, 0, 5, 25, 0, 2, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 26, 5, 0, 0, 0, 0, 6, 7, 27, 28, 0, 6, 29, 0, 30, 31, 0, 0, 7, 0, 32, 0, 8, 33, 34, 9, 35, 0, 36, 37, 8, 38, 0, 39, 9, 40, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 2, 42, 0, 0, 0, 10, 0, 43, 11, 12, 0, 10, 44, 45, 0, 0, 11, 46, 0, 12, 13, 13, 0, 47, 0, 14, 15, 14, 0, 15, 48, 0, 49, 0, 50, 51, 0, 52, 0, 0, 16, 17, 0, 16, 53, 0, 54, 0, 17, 0, 18, 19, 0, 0, 0 };
-    protected static final int[] columnmap = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 7, 0, 0, 9, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 14, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 24, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 28, 0, 29, 0, 0, 9, 0, 0, 4, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return -1;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 231;
-            final int cols = 16;
-            final int compressedBytes = 451;
-            final int uncompressedBytes = 14785;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtW0uOwjAMdaosoll1MQcIN/HRKk4wRx6FgZlUUyA/20nqt6" +
-                "ioUCj+vWcnYAFWAAsOPPzAw3J/acIFbzfmCrDZD0B4AO3vigOY" +
-                "/S3C3Aj+ixD7L/aS26/xt2tD/y801nlQPI98HL/lTfwcurT6qY" +
-                "WR9Mk2i/9d8ZuZqOfHVUuxkr//suEgf0JOB/4F4Klf5hLe23+k" +
-                "X6Gmd/YDtf2uo/xAQs//0//PVP2/xJ9SSBg1/ceFzX9elPOI+5" +
-                "81hX+uRPyTGX9G/uOJf579Dkvs1/55dP2S5R9FF/nzgv9e8HfS" +
-                "eoXuH9Tofxr/AWv/3pI/5+XfxPgX9F8u61v0nT8MUSifn77S5z" +
-                "dsPr+NPv9YmvOHzuZ/7Nb/ijPkbwnMNDHyyfF7f37AFz83rL83" +
-                "KRcscFKg8POp+xcERZ/9S63+Haxf258/cOmHlP7bmpUNzp/G1f" +
-                "/amnkefxxifqmNf179Ymr+ZP5+zDLxIAv/Na+/nvmL4/mekD8V" +
-                "083v0+kf/fDf9/7lmP3HSPwpZ39t/0Cg3zPs/xH1X1L1j8T2S+" +
-                "d/3/2LAH909v8Tuvlr9PwZnX91/+Tc+j9C/0av/5p/YvgGus9z" +
-                "1g==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        return sigmap[row][col];
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 55;
-            final int cols = 18;
-            final int compressedBytes = 589;
-            final int uncompressedBytes = 3961;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrNlM9rE0EUx7+RlthLsFBNDkkIJj1IJQglthC86TU9CCp4UL" +
-                "H+AAV/FFqq9gdVjAcplEI9liIKItKirdgeemgxWGkRQfx10/b/" +
-                "SF9mZ3dnd2c22WRoGnibGXb47Pd933uDMAqII4M+RBBDFknk0Y" +
-                "EEjuENLuAcQjiNFhzCCXTiFo4gijTacRQH0IqDSOEM2nAYt8tl" +
-                "FCgyFBGKLEWeIoFeenIOrSqci7hXtn7oslaMgzCt4gYHMXomKS" +
-                "p61iocihCFoecmhlx6jiNlc9DD8upmeZ00OdbXbM4kRlycnJJz" +
-                "yoczhVE1h5+28mI7N+esoYftoxScQyvOsU47OBWfRY7ps8mh53" +
-                "mDY/pMT+4zLrG8rth54arbH1o587ps60E/O32tXOVn5qV8r6r7" +
-                "e9xw6Vnw6Lnu9EfkmD7ji6deJcMf3JH57NFzl3M2ZRynHhkH95" +
-                "15yfrQk9dA9brjm6fuJaHug+66Kzk/1BwM19aHeCDtQ99+xkNF" +
-                "vf4p65WuOhePhLx2/Pyhf8Vc+M4p08N2YzXpGfebU75X6Zmobb" +
-                "6qzl8YTymvIp/3J3TPP5bNOz+tnvdnuvTI593ts1TPc585DcKZ" +
-                "FjmYse/5gJycwHmxD/yZldw/c25OwLo3ouelZy5e6fKH9/Nr/X" +
-                "nhbbD+ceh516Ceol0vzNfD4e8XBcc+7HkfLin9+diUPvykibPs" +
-                "8XlFcz+v1u3P+j64fz5r8nlDE+erwNnS4w//znfNdf9Zb935+1" +
-                "9NrftvTfX6o7w3/jbl3vivibMtcHYBaw0Tag==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        return value[row][col];
-    }
-
-    static
-    {
-        sigmapInit();
-        valueInit();
-    }
-    }
-
-    /**
-     * The error recovery table.
-     * <p>
-     * See {@link #attemptToRecoverFromSyntaxError()} for a description of the
-     * error recovery algorithm.
-     * <p>
-     * This table takes the state on top of the stack and the current lookahead
-     * symbol and returns what action should be taken.  The result value should
-     * be interpreted as follows:
-     * <ul>
-     *   <li> If <code>result & ACTION_MASK == DISCARD_STATE_ACTION</code>,
-     *        pop a symbol from the parser stacks; a &quot;known&quot; sequence
-     *        of symbols has not been found.
-     *   <li> If <code>result & ACTION_MASK == DISCARD_TERMINAL_ACTION</code>,
-     *        a &quot;known&quot; sequence of symbols has been found, and we
-     *        are looking for the error lookahead symbol.  Shift the terminal.
-     *   <li> If <code>result & ACTION_MASK == RECOVER_ACTION</code>, we have
-     *        matched the error recovery production
-     *        <code>Production.values[result & VALUE_MASK]</code>, so reduce
-     *        by that production (including the lookahead symbol), and then
-     *        continue with normal parsing.
-     * </ul>
-     * If it is not possible to recover from a syntax error, either the state
-     * stack will be emptied or the end of input will be reached before a
-     * RECOVER_ACTION is found.
-     *
-     * @return a code for the action to take (see above)
-     */
-    protected static final class RecoveryTable
-    {
-        protected static int getRecoveryCode(int state, org.eclipse.photran.internal.core.lexer.Token lookahead)
-        {
-            assert 0 <= state && state < Parser.NUM_STATES;
-            assert lookahead != null;
-
-            Integer index = Parser.terminalIndices.get(lookahead.getTerminal());
-            if (index == null)
-                return 0;
-            else
-                return get(state, index);
-        }
-
-        protected static final int[] rowmap = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-    protected static final int[] columnmap = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-
-    public static int get(int row, int col)
-    {
-        if (isErrorEntry(row, col))
-            return 0;
-        else if (columnmap[col] % 2 == 0)
-            return lookupValue(rowmap[row], columnmap[col]/2) >>> 16;
-        else
-            return lookupValue(rowmap[row], columnmap[col]/2) & 0xFFFF;
-    }
-
-    protected static boolean isErrorEntry(int row, int col)
-    {
-        final int INT_BITS = 32;
-        int sigmapRow = row;
-
-        int sigmapCol = col / INT_BITS;
-        int bitNumberFromLeft = col % INT_BITS;
-        int sigmapMask = 0x1 << (INT_BITS - bitNumberFromLeft - 1);
-
-        return (lookupSigmap(sigmapRow, sigmapCol) & sigmapMask) == 0;
-    }
-
-    protected static int[][] sigmap = null;
-
-    protected static void sigmapInit()
-    {
-        try
-        {
-            final int rows = 231;
-            final int cols = 8;
-            final int compressedBytes = 30;
-            final int uncompressedBytes = 7393;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNrtwQENAAAAwqD3T20ON6AAAAAAAAAATgwc4QAB");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            sigmap = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                sigmap[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupSigmap(int row, int col)
-    {
-        return sigmap[row][col];
-    }
-
-    protected static int[][] value = null;
-
-    protected static void valueInit()
-    {
-        try
-        {
-            final int rows = 1;
-            final int cols = 1;
-            final int compressedBytes = 7;
-            final int uncompressedBytes = 5;
-            
-            byte[] decoded = new byte[compressedBytes];
-            base64Decode(decoded,
-                "eNpjYAACAA==");
-            
-            byte[] buffer = new byte[uncompressedBytes];
-            Inflater inflater = new Inflater();
-            inflater.setInput(decoded, 0, compressedBytes);
-            inflater.inflate(buffer);
-            inflater.end();
-            
-            value = new int[rows][cols];
-            for (int index = 0; index < uncompressedBytes-1; index += 4)
-            {
-                int byte1 = 0x000000FF & (int)buffer[index + 0];
-                int byte2 = 0x000000FF & (int)buffer[index + 1];
-                int byte3 = 0x000000FF & (int)buffer[index + 2];
-                int byte4 = 0x000000FF & (int)buffer[index + 3];
-                
-                int element = index / 4;
-                int row = element / cols;
-                int col = element % cols;
-                value[row][col] = byte1 << 24 | byte2 << 16 | byte3 << 8 | byte4;
-            }
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    protected static int lookupValue(int row, int col)
-    {
-        return value[row][col];
-    }
-
-    static
-    {
-        sigmapInit();
-        valueInit();
-    }
-    }
-
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/GenericASTVisitor.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/GenericASTVisitor.java
deleted file mode 100644
index 4521a56..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/GenericASTVisitor.java
+++ /dev/null
@@ -1,440 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public class GenericASTVisitor implements IASTVisitor
-{
-    protected void traverseChildren(IASTNode node)
-    {
-        for (IASTNode child : node.getChildren())
-            child.accept(this);
-    }
-
-    public void visitASTNode(IASTNode node) { traverseChildren(node); }
-    public void visitToken(Token node) {}
-    public void visitASTListNode(IASTListNode<?> node) {}
-    public void visitASTAcImpliedDoNode(ASTAcImpliedDoNode node) {}
-    public void visitASTAcValueNode(ASTAcValueNode node) {}
-    public void visitASTAccessSpecNode(ASTAccessSpecNode node) {}
-    public void visitASTAccessStmtNode(ASTAccessStmtNode node) {}
-    public void visitASTAllStopStmtNode(ASTAllStopStmtNode node) {}
-    public void visitASTAllocatableStmtNode(ASTAllocatableStmtNode node) {}
-    public void visitASTAllocateCoarraySpecNode(ASTAllocateCoarraySpecNode node) {}
-    public void visitASTAllocateObjectNode(ASTAllocateObjectNode node) {}
-    public void visitASTAllocateStmtNode(ASTAllocateStmtNode node) {}
-    public void visitASTAllocatedShapeNode(ASTAllocatedShapeNode node) {}
-    public void visitASTAllocationNode(ASTAllocationNode node) {}
-    public void visitASTArithmeticIfStmtNode(ASTArithmeticIfStmtNode node) {}
-    public void visitASTArrayAllocationNode(ASTArrayAllocationNode node) {}
-    public void visitASTArrayConstructorNode(ASTArrayConstructorNode node) {}
-    public void visitASTArrayDeclaratorNode(ASTArrayDeclaratorNode node) {}
-    public void visitASTArrayElementNode(ASTArrayElementNode node) {}
-    public void visitASTArrayNameNode(ASTArrayNameNode node) {}
-    public void visitASTArraySpecNode(ASTArraySpecNode node) {}
-    public void visitASTAssignStmtNode(ASTAssignStmtNode node) {}
-    public void visitASTAssignedGotoStmtNode(ASTAssignedGotoStmtNode node) {}
-    public void visitASTAssignmentStmtNode(ASTAssignmentStmtNode node) {}
-    public void visitASTAssociateConstructNode(ASTAssociateConstructNode node) {}
-    public void visitASTAssociateStmtNode(ASTAssociateStmtNode node) {}
-    public void visitASTAssociationNode(ASTAssociationNode node) {}
-    public void visitASTAssumedShapeSpecListNode(ASTAssumedShapeSpecListNode node) {}
-    public void visitASTAssumedShapeSpecNode(ASTAssumedShapeSpecNode node) {}
-    public void visitASTAssumedSizeSpecNode(ASTAssumedSizeSpecNode node) {}
-    public void visitASTAsynchronousStmtNode(ASTAsynchronousStmtNode node) {}
-    public void visitASTAttrSpecNode(ASTAttrSpecNode node) {}
-    public void visitASTAttrSpecSeqNode(ASTAttrSpecSeqNode node) {}
-    public void visitASTBackspaceStmtNode(ASTBackspaceStmtNode node) {}
-    public void visitASTBinaryExprNode(ASTBinaryExprNode node) {}
-    public void visitASTBindStmtNode(ASTBindStmtNode node) {}
-    public void visitASTBindingAttrNode(ASTBindingAttrNode node) {}
-    public void visitASTBindingPrivateStmtNode(ASTBindingPrivateStmtNode node) {}
-    public void visitASTBlockConstructNode(ASTBlockConstructNode node) {}
-    public void visitASTBlockDataNameNode(ASTBlockDataNameNode node) {}
-    public void visitASTBlockDataStmtNode(ASTBlockDataStmtNode node) {}
-    public void visitASTBlockDataSubprogramNode(ASTBlockDataSubprogramNode node) {}
-    public void visitASTBlockDoConstructNode(ASTBlockDoConstructNode node) {}
-    public void visitASTBlockStmtNode(ASTBlockStmtNode node) {}
-    public void visitASTBodyPlusInternalsNode(ASTBodyPlusInternalsNode node) {}
-    public void visitASTBozLiteralConstNode(ASTBozLiteralConstNode node) {}
-    public void visitASTCExprNode(ASTCExprNode node) {}
-    public void visitASTCOperandNode(ASTCOperandNode node) {}
-    public void visitASTCPrimaryNode(ASTCPrimaryNode node) {}
-    public void visitASTCallStmtNode(ASTCallStmtNode node) {}
-    public void visitASTCaseConstructNode(ASTCaseConstructNode node) {}
-    public void visitASTCaseSelectorNode(ASTCaseSelectorNode node) {}
-    public void visitASTCaseStmtNode(ASTCaseStmtNode node) {}
-    public void visitASTCaseValueRangeNode(ASTCaseValueRangeNode node) {}
-    public void visitASTCharLenParamValueNode(ASTCharLenParamValueNode node) {}
-    public void visitASTCharLengthNode(ASTCharLengthNode node) {}
-    public void visitASTCharSelectorNode(ASTCharSelectorNode node) {}
-    public void visitASTCloseSpecListNode(ASTCloseSpecListNode node) {}
-    public void visitASTCloseSpecNode(ASTCloseSpecNode node) {}
-    public void visitASTCloseStmtNode(ASTCloseStmtNode node) {}
-    public void visitASTCoarraySpecNode(ASTCoarraySpecNode node) {}
-    public void visitASTCodimensionDeclNode(ASTCodimensionDeclNode node) {}
-    public void visitASTCodimensionStmtNode(ASTCodimensionStmtNode node) {}
-    public void visitASTCommaExpNode(ASTCommaExpNode node) {}
-    public void visitASTCommaLoopControlNode(ASTCommaLoopControlNode node) {}
-    public void visitASTCommonBlockBinding(ASTCommonBlockBinding node) {}
-    public void visitASTCommonBlockNameNode(ASTCommonBlockNameNode node) {}
-    public void visitASTCommonBlockNode(ASTCommonBlockNode node) {}
-    public void visitASTCommonBlockObjectNode(ASTCommonBlockObjectNode node) {}
-    public void visitASTCommonStmtNode(ASTCommonStmtNode node) {}
-    public void visitASTComplexConstNode(ASTComplexConstNode node) {}
-    public void visitASTComponentArraySpecNode(ASTComponentArraySpecNode node) {}
-    public void visitASTComponentAttrSpecNode(ASTComponentAttrSpecNode node) {}
-    public void visitASTComponentDeclNode(ASTComponentDeclNode node) {}
-    public void visitASTComponentInitializationNode(ASTComponentInitializationNode node) {}
-    public void visitASTComponentNameNode(ASTComponentNameNode node) {}
-    public void visitASTComputedGotoStmtNode(ASTComputedGotoStmtNode node) {}
-    public void visitASTConnectSpecNode(ASTConnectSpecNode node) {}
-    public void visitASTConstantNode(ASTConstantNode node) {}
-    public void visitASTContainsStmtNode(ASTContainsStmtNode node) {}
-    public void visitASTContiguousStmtNode(ASTContiguousStmtNode node) {}
-    public void visitASTContinueStmtNode(ASTContinueStmtNode node) {}
-    public void visitASTCrayPointerStmtNode(ASTCrayPointerStmtNode node) {}
-    public void visitASTCrayPointerStmtObjectNode(ASTCrayPointerStmtObjectNode node) {}
-    public void visitASTCriticalConstructNode(ASTCriticalConstructNode node) {}
-    public void visitASTCriticalStmtNode(ASTCriticalStmtNode node) {}
-    public void visitASTCycleStmtNode(ASTCycleStmtNode node) {}
-    public void visitASTDataComponentDefStmtNode(ASTDataComponentDefStmtNode node) {}
-    public void visitASTDataImpliedDoNode(ASTDataImpliedDoNode node) {}
-    public void visitASTDataRefNode(ASTDataRefNode node) {}
-    public void visitASTDataStmtConstantNode(ASTDataStmtConstantNode node) {}
-    public void visitASTDataStmtNode(ASTDataStmtNode node) {}
-    public void visitASTDataStmtSetNode(ASTDataStmtSetNode node) {}
-    public void visitASTDataStmtValueNode(ASTDataStmtValueNode node) {}
-    public void visitASTDatalistNode(ASTDatalistNode node) {}
-    public void visitASTDblConstNode(ASTDblConstNode node) {}
-    public void visitASTDeallocateStmtNode(ASTDeallocateStmtNode node) {}
-    public void visitASTDeferredCoshapeSpecListNode(ASTDeferredCoshapeSpecListNode node) {}
-    public void visitASTDeferredShapeSpecListNode(ASTDeferredShapeSpecListNode node) {}
-    public void visitASTDeferredShapeSpecNode(ASTDeferredShapeSpecNode node) {}
-    public void visitASTDerivedTypeDefNode(ASTDerivedTypeDefNode node) {}
-    public void visitASTDerivedTypeQualifiersNode(ASTDerivedTypeQualifiersNode node) {}
-    public void visitASTDerivedTypeSpecNode(ASTDerivedTypeSpecNode node) {}
-    public void visitASTDerivedTypeStmtNode(ASTDerivedTypeStmtNode node) {}
-    public void visitASTDimensionStmtNode(ASTDimensionStmtNode node) {}
-    public void visitASTDoConstructNode(ASTDoConstructNode node) {}
-    public void visitASTDummyArgNameNode(ASTDummyArgNameNode node) {}
-    public void visitASTEditElementNode(ASTEditElementNode node) {}
-    public void visitASTElseConstructNode(ASTElseConstructNode node) {}
-    public void visitASTElseIfConstructNode(ASTElseIfConstructNode node) {}
-    public void visitASTElseIfStmtNode(ASTElseIfStmtNode node) {}
-    public void visitASTElsePartNode(ASTElsePartNode node) {}
-    public void visitASTElseStmtNode(ASTElseStmtNode node) {}
-    public void visitASTElseWhereConstructNode(ASTElseWhereConstructNode node) {}
-    public void visitASTElseWherePartNode(ASTElseWherePartNode node) {}
-    public void visitASTElseWhereStmtNode(ASTElseWhereStmtNode node) {}
-    public void visitASTEmptyProgramNode(ASTEmptyProgramNode node) {}
-    public void visitASTEndAssociateStmtNode(ASTEndAssociateStmtNode node) {}
-    public void visitASTEndBlockDataStmtNode(ASTEndBlockDataStmtNode node) {}
-    public void visitASTEndBlockStmtNode(ASTEndBlockStmtNode node) {}
-    public void visitASTEndCriticalStmtNode(ASTEndCriticalStmtNode node) {}
-    public void visitASTEndDoStmtNode(ASTEndDoStmtNode node) {}
-    public void visitASTEndEnumStmtNode(ASTEndEnumStmtNode node) {}
-    public void visitASTEndForallStmtNode(ASTEndForallStmtNode node) {}
-    public void visitASTEndFunctionStmtNode(ASTEndFunctionStmtNode node) {}
-    public void visitASTEndIfStmtNode(ASTEndIfStmtNode node) {}
-    public void visitASTEndInterfaceStmtNode(ASTEndInterfaceStmtNode node) {}
-    public void visitASTEndModuleStmtNode(ASTEndModuleStmtNode node) {}
-    public void visitASTEndMpSubprogramStmtNode(ASTEndMpSubprogramStmtNode node) {}
-    public void visitASTEndNameNode(ASTEndNameNode node) {}
-    public void visitASTEndProgramStmtNode(ASTEndProgramStmtNode node) {}
-    public void visitASTEndSelectStmtNode(ASTEndSelectStmtNode node) {}
-    public void visitASTEndSelectTypeStmtNode(ASTEndSelectTypeStmtNode node) {}
-    public void visitASTEndSubmoduleStmtNode(ASTEndSubmoduleStmtNode node) {}
-    public void visitASTEndSubroutineStmtNode(ASTEndSubroutineStmtNode node) {}
-    public void visitASTEndTypeStmtNode(ASTEndTypeStmtNode node) {}
-    public void visitASTEndWhereStmtNode(ASTEndWhereStmtNode node) {}
-    public void visitASTEndfileStmtNode(ASTEndfileStmtNode node) {}
-    public void visitASTEntityDeclNode(ASTEntityDeclNode node) {}
-    public void visitASTEntryNameNode(ASTEntryNameNode node) {}
-    public void visitASTEntryStmtNode(ASTEntryStmtNode node) {}
-    public void visitASTEnumDefNode(ASTEnumDefNode node) {}
-    public void visitASTEnumDefStmtNode(ASTEnumDefStmtNode node) {}
-    public void visitASTEnumeratorDefStmtNode(ASTEnumeratorDefStmtNode node) {}
-    public void visitASTEnumeratorNode(ASTEnumeratorNode node) {}
-    public void visitASTEquivalenceObjectListNode(ASTEquivalenceObjectListNode node) {}
-    public void visitASTEquivalenceObjectNode(ASTEquivalenceObjectNode node) {}
-    public void visitASTEquivalenceSetNode(ASTEquivalenceSetNode node) {}
-    public void visitASTEquivalenceStmtNode(ASTEquivalenceStmtNode node) {}
-    public void visitASTErrorConstructNode(ASTErrorConstructNode node) {}
-    public void visitASTErrorProgramUnitNode(ASTErrorProgramUnitNode node) {}
-    public void visitASTExecutableProgramNode(ASTExecutableProgramNode node) {}
-    public void visitASTExitStmtNode(ASTExitStmtNode node) {}
-    public void visitASTExplicitCoshapeSpecNode(ASTExplicitCoshapeSpecNode node) {}
-    public void visitASTExplicitShapeSpecNode(ASTExplicitShapeSpecNode node) {}
-    public void visitASTExternalNameListNode(ASTExternalNameListNode node) {}
-    public void visitASTExternalNameNode(ASTExternalNameNode node) {}
-    public void visitASTExternalStmtNode(ASTExternalStmtNode node) {}
-    public void visitASTFieldSelectorNode(ASTFieldSelectorNode node) {}
-    public void visitASTFinalBindingNode(ASTFinalBindingNode node) {}
-    public void visitASTFmtSpecNode(ASTFmtSpecNode node) {}
-    public void visitASTForallConstructNode(ASTForallConstructNode node) {}
-    public void visitASTForallConstructStmtNode(ASTForallConstructStmtNode node) {}
-    public void visitASTForallHeaderNode(ASTForallHeaderNode node) {}
-    public void visitASTForallStmtNode(ASTForallStmtNode node) {}
-    public void visitASTForallTripletSpecListNode(ASTForallTripletSpecListNode node) {}
-    public void visitASTFormatEditNode(ASTFormatEditNode node) {}
-    public void visitASTFormatIdentifierNode(ASTFormatIdentifierNode node) {}
-    public void visitASTFormatStmtNode(ASTFormatStmtNode node) {}
-    public void visitASTFormatsepNode(ASTFormatsepNode node) {}
-    public void visitASTFunctionArgListNode(ASTFunctionArgListNode node) {}
-    public void visitASTFunctionArgNode(ASTFunctionArgNode node) {}
-    public void visitASTFunctionInterfaceRangeNode(ASTFunctionInterfaceRangeNode node) {}
-    public void visitASTFunctionNameNode(ASTFunctionNameNode node) {}
-    public void visitASTFunctionParNode(ASTFunctionParNode node) {}
-    public void visitASTFunctionPrefixNode(ASTFunctionPrefixNode node) {}
-    public void visitASTFunctionRangeNode(ASTFunctionRangeNode node) {}
-    public void visitASTFunctionReferenceNode(ASTFunctionReferenceNode node) {}
-    public void visitASTFunctionStmtNode(ASTFunctionStmtNode node) {}
-    public void visitASTFunctionSubprogramNode(ASTFunctionSubprogramNode node) {}
-    public void visitASTGenericBindingNode(ASTGenericBindingNode node) {}
-    public void visitASTGenericNameNode(ASTGenericNameNode node) {}
-    public void visitASTGenericSpecNode(ASTGenericSpecNode node) {}
-    public void visitASTGoToKwNode(ASTGoToKwNode node) {}
-    public void visitASTGotoStmtNode(ASTGotoStmtNode node) {}
-    public void visitASTIfConstructNode(ASTIfConstructNode node) {}
-    public void visitASTIfStmtNode(ASTIfStmtNode node) {}
-    public void visitASTIfThenErrorNode(ASTIfThenErrorNode node) {}
-    public void visitASTIfThenStmtNode(ASTIfThenStmtNode node) {}
-    public void visitASTImageSelectorNode(ASTImageSelectorNode node) {}
-    public void visitASTImageSetNode(ASTImageSetNode node) {}
-    public void visitASTImplicitSpecNode(ASTImplicitSpecNode node) {}
-    public void visitASTImplicitStmtNode(ASTImplicitStmtNode node) {}
-    public void visitASTImpliedDoVariableNode(ASTImpliedDoVariableNode node) {}
-    public void visitASTImportStmtNode(ASTImportStmtNode node) {}
-    public void visitASTInitializationNode(ASTInitializationNode node) {}
-    public void visitASTInputImpliedDoNode(ASTInputImpliedDoNode node) {}
-    public void visitASTInquireSpecListNode(ASTInquireSpecListNode node) {}
-    public void visitASTInquireSpecNode(ASTInquireSpecNode node) {}
-    public void visitASTInquireStmtNode(ASTInquireStmtNode node) {}
-    public void visitASTIntConstNode(ASTIntConstNode node) {}
-    public void visitASTIntentParListNode(ASTIntentParListNode node) {}
-    public void visitASTIntentParNode(ASTIntentParNode node) {}
-    public void visitASTIntentSpecNode(ASTIntentSpecNode node) {}
-    public void visitASTIntentStmtNode(ASTIntentStmtNode node) {}
-    public void visitASTInterfaceBlockNode(ASTInterfaceBlockNode node) {}
-    public void visitASTInterfaceBodyNode(ASTInterfaceBodyNode node) {}
-    public void visitASTInterfaceRangeNode(ASTInterfaceRangeNode node) {}
-    public void visitASTInterfaceStmtNode(ASTInterfaceStmtNode node) {}
-    public void visitASTIntrinsicListNode(ASTIntrinsicListNode node) {}
-    public void visitASTIntrinsicProcedureNameNode(ASTIntrinsicProcedureNameNode node) {}
-    public void visitASTIntrinsicStmtNode(ASTIntrinsicStmtNode node) {}
-    public void visitASTInvalidEntityDeclNode(ASTInvalidEntityDeclNode node) {}
-    public void visitASTIoControlSpecListNode(ASTIoControlSpecListNode node) {}
-    public void visitASTIoControlSpecNode(ASTIoControlSpecNode node) {}
-    public void visitASTKindParamNode(ASTKindParamNode node) {}
-    public void visitASTKindSelectorNode(ASTKindSelectorNode node) {}
-    public void visitASTLabelDoStmtNode(ASTLabelDoStmtNode node) {}
-    public void visitASTLabelNode(ASTLabelNode node) {}
-    public void visitASTLanguageBindingSpecNode(ASTLanguageBindingSpecNode node) {}
-    public void visitASTLblDefNode(ASTLblDefNode node) {}
-    public void visitASTLblRefListNode(ASTLblRefListNode node) {}
-    public void visitASTLblRefNode(ASTLblRefNode node) {}
-    public void visitASTLockStmtNode(ASTLockStmtNode node) {}
-    public void visitASTLogicalConstNode(ASTLogicalConstNode node) {}
-    public void visitASTLoopControlNode(ASTLoopControlNode node) {}
-    public void visitASTLowerBoundNode(ASTLowerBoundNode node) {}
-    public void visitASTMainProgramNode(ASTMainProgramNode node) {}
-    public void visitASTMainRangeNode(ASTMainRangeNode node) {}
-    public void visitASTMaskExprNode(ASTMaskExprNode node) {}
-    public void visitASTMaskedElseWhereConstructNode(ASTMaskedElseWhereConstructNode node) {}
-    public void visitASTMaskedElseWhereStmtNode(ASTMaskedElseWhereStmtNode node) {}
-    public void visitASTModuleBlockNode(ASTModuleBlockNode node) {}
-    public void visitASTModuleNameNode(ASTModuleNameNode node) {}
-    public void visitASTModuleNatureNode(ASTModuleNatureNode node) {}
-    public void visitASTModuleNode(ASTModuleNode node) {}
-    public void visitASTModuleProcedureStmtNode(ASTModuleProcedureStmtNode node) {}
-    public void visitASTModuleStmtNode(ASTModuleStmtNode node) {}
-    public void visitASTMpSubprogramRangeNode(ASTMpSubprogramRangeNode node) {}
-    public void visitASTMpSubprogramStmtNode(ASTMpSubprogramStmtNode node) {}
-    public void visitASTNameNode(ASTNameNode node) {}
-    public void visitASTNamedConstantDefNode(ASTNamedConstantDefNode node) {}
-    public void visitASTNamedConstantNode(ASTNamedConstantNode node) {}
-    public void visitASTNamedConstantUseNode(ASTNamedConstantUseNode node) {}
-    public void visitASTNamelistGroupNameNode(ASTNamelistGroupNameNode node) {}
-    public void visitASTNamelistGroupObjectNode(ASTNamelistGroupObjectNode node) {}
-    public void visitASTNamelistGroupsNode(ASTNamelistGroupsNode node) {}
-    public void visitASTNamelistStmtNode(ASTNamelistStmtNode node) {}
-    public void visitASTNestedExprNode(ASTNestedExprNode node) {}
-    public void visitASTNullifyStmtNode(ASTNullifyStmtNode node) {}
-    public void visitASTObjectNameListNode(ASTObjectNameListNode node) {}
-    public void visitASTObjectNameNode(ASTObjectNameNode node) {}
-    public void visitASTOnlyNode(ASTOnlyNode node) {}
-    public void visitASTOpenStmtNode(ASTOpenStmtNode node) {}
-    public void visitASTOperatorNode(ASTOperatorNode node) {}
-    public void visitASTOptionalParListNode(ASTOptionalParListNode node) {}
-    public void visitASTOptionalParNode(ASTOptionalParNode node) {}
-    public void visitASTOptionalStmtNode(ASTOptionalStmtNode node) {}
-    public void visitASTOutputImpliedDoNode(ASTOutputImpliedDoNode node) {}
-    public void visitASTOutputItemList1Node(ASTOutputItemList1Node node) {}
-    public void visitASTOutputItemListNode(ASTOutputItemListNode node) {}
-    public void visitASTParameterStmtNode(ASTParameterStmtNode node) {}
-    public void visitASTParentIdentifierNode(ASTParentIdentifierNode node) {}
-    public void visitASTParenthesizedSubroutineArgListNode(ASTParenthesizedSubroutineArgListNode node) {}
-    public void visitASTPauseStmtNode(ASTPauseStmtNode node) {}
-    public void visitASTPointerFieldNode(ASTPointerFieldNode node) {}
-    public void visitASTPointerNameNode(ASTPointerNameNode node) {}
-    public void visitASTPointerObjectNode(ASTPointerObjectNode node) {}
-    public void visitASTPointerStmtNode(ASTPointerStmtNode node) {}
-    public void visitASTPointerStmtObjectNode(ASTPointerStmtObjectNode node) {}
-    public void visitASTPositionSpecListNode(ASTPositionSpecListNode node) {}
-    public void visitASTPositionSpecNode(ASTPositionSpecNode node) {}
-    public void visitASTPrefixSpecNode(ASTPrefixSpecNode node) {}
-    public void visitASTPrintStmtNode(ASTPrintStmtNode node) {}
-    public void visitASTPrivateSequenceStmtNode(ASTPrivateSequenceStmtNode node) {}
-    public void visitASTProcComponentAttrSpecNode(ASTProcComponentAttrSpecNode node) {}
-    public void visitASTProcComponentDefStmtNode(ASTProcComponentDefStmtNode node) {}
-    public void visitASTProcDeclNode(ASTProcDeclNode node) {}
-    public void visitASTProcInterfaceNode(ASTProcInterfaceNode node) {}
-    public void visitASTProcedureDeclarationStmtNode(ASTProcedureDeclarationStmtNode node) {}
-    public void visitASTProcedureNameListNode(ASTProcedureNameListNode node) {}
-    public void visitASTProcedureNameNode(ASTProcedureNameNode node) {}
-    public void visitASTProgramNameNode(ASTProgramNameNode node) {}
-    public void visitASTProgramStmtNode(ASTProgramStmtNode node) {}
-    public void visitASTProtectedStmtNode(ASTProtectedStmtNode node) {}
-    public void visitASTRdCtlSpecNode(ASTRdCtlSpecNode node) {}
-    public void visitASTRdFmtIdExprNode(ASTRdFmtIdExprNode node) {}
-    public void visitASTRdFmtIdNode(ASTRdFmtIdNode node) {}
-    public void visitASTRdIoCtlSpecListNode(ASTRdIoCtlSpecListNode node) {}
-    public void visitASTRdUnitIdNode(ASTRdUnitIdNode node) {}
-    public void visitASTReadStmtNode(ASTReadStmtNode node) {}
-    public void visitASTRealConstNode(ASTRealConstNode node) {}
-    public void visitASTRenameNode(ASTRenameNode node) {}
-    public void visitASTReturnStmtNode(ASTReturnStmtNode node) {}
-    public void visitASTRewindStmtNode(ASTRewindStmtNode node) {}
-    public void visitASTSFDataRefNode(ASTSFDataRefNode node) {}
-    public void visitASTSFDummyArgNameListNode(ASTSFDummyArgNameListNode node) {}
-    public void visitASTSFDummyArgNameNode(ASTSFDummyArgNameNode node) {}
-    public void visitASTSFExprListNode(ASTSFExprListNode node) {}
-    public void visitASTSFExprNode(ASTSFExprNode node) {}
-    public void visitASTSFFactorNode(ASTSFFactorNode node) {}
-    public void visitASTSFPrimaryNode(ASTSFPrimaryNode node) {}
-    public void visitASTSFTermNode(ASTSFTermNode node) {}
-    public void visitASTSFVarNameNode(ASTSFVarNameNode node) {}
-    public void visitASTSaveStmtNode(ASTSaveStmtNode node) {}
-    public void visitASTSavedCommonBlockNode(ASTSavedCommonBlockNode node) {}
-    public void visitASTSavedEntityNode(ASTSavedEntityNode node) {}
-    public void visitASTScalarMaskExprNode(ASTScalarMaskExprNode node) {}
-    public void visitASTScalarVariableNode(ASTScalarVariableNode node) {}
-    public void visitASTSectionSubscriptNode(ASTSectionSubscriptNode node) {}
-    public void visitASTSelectCaseRangeNode(ASTSelectCaseRangeNode node) {}
-    public void visitASTSelectCaseStmtNode(ASTSelectCaseStmtNode node) {}
-    public void visitASTSelectTypeBodyNode(ASTSelectTypeBodyNode node) {}
-    public void visitASTSelectTypeConstructNode(ASTSelectTypeConstructNode node) {}
-    public void visitASTSelectTypeStmtNode(ASTSelectTypeStmtNode node) {}
-    public void visitASTSeparateModuleSubprogramNode(ASTSeparateModuleSubprogramNode node) {}
-    public void visitASTSignNode(ASTSignNode node) {}
-    public void visitASTSpecificBindingNode(ASTSpecificBindingNode node) {}
-    public void visitASTStmtFunctionRangeNode(ASTStmtFunctionRangeNode node) {}
-    public void visitASTStmtFunctionStmtNode(ASTStmtFunctionStmtNode node) {}
-    public void visitASTStopStmtNode(ASTStopStmtNode node) {}
-    public void visitASTStringConstNode(ASTStringConstNode node) {}
-    public void visitASTStructureComponentNode(ASTStructureComponentNode node) {}
-    public void visitASTStructureConstructorNode(ASTStructureConstructorNode node) {}
-    public void visitASTSubmoduleBlockNode(ASTSubmoduleBlockNode node) {}
-    public void visitASTSubmoduleNode(ASTSubmoduleNode node) {}
-    public void visitASTSubmoduleStmtNode(ASTSubmoduleStmtNode node) {}
-    public void visitASTSubroutineArgNode(ASTSubroutineArgNode node) {}
-    public void visitASTSubroutineInterfaceRangeNode(ASTSubroutineInterfaceRangeNode node) {}
-    public void visitASTSubroutineNameNode(ASTSubroutineNameNode node) {}
-    public void visitASTSubroutineNameUseNode(ASTSubroutineNameUseNode node) {}
-    public void visitASTSubroutineParNode(ASTSubroutineParNode node) {}
-    public void visitASTSubroutinePrefixNode(ASTSubroutinePrefixNode node) {}
-    public void visitASTSubroutineRangeNode(ASTSubroutineRangeNode node) {}
-    public void visitASTSubroutineStmtNode(ASTSubroutineStmtNode node) {}
-    public void visitASTSubroutineSubprogramNode(ASTSubroutineSubprogramNode node) {}
-    public void visitASTSubscriptNode(ASTSubscriptNode node) {}
-    public void visitASTSubscriptTripletNode(ASTSubscriptTripletNode node) {}
-    public void visitASTSubstrConstNode(ASTSubstrConstNode node) {}
-    public void visitASTSubstringRangeNode(ASTSubstringRangeNode node) {}
-    public void visitASTSyncAllStmtNode(ASTSyncAllStmtNode node) {}
-    public void visitASTSyncImagesStmtNode(ASTSyncImagesStmtNode node) {}
-    public void visitASTSyncMemoryStmtNode(ASTSyncMemoryStmtNode node) {}
-    public void visitASTSyncStatNode(ASTSyncStatNode node) {}
-    public void visitASTTargetNameNode(ASTTargetNameNode node) {}
-    public void visitASTTargetNode(ASTTargetNode node) {}
-    public void visitASTTargetObjectNode(ASTTargetObjectNode node) {}
-    public void visitASTTargetStmtNode(ASTTargetStmtNode node) {}
-    public void visitASTThenPartNode(ASTThenPartNode node) {}
-    public void visitASTTypeAttrSpecNode(ASTTypeAttrSpecNode node) {}
-    public void visitASTTypeBoundProcedurePartNode(ASTTypeBoundProcedurePartNode node) {}
-    public void visitASTTypeDeclarationStmtNode(ASTTypeDeclarationStmtNode node) {}
-    public void visitASTTypeGuardStmtNode(ASTTypeGuardStmtNode node) {}
-    public void visitASTTypeNameNode(ASTTypeNameNode node) {}
-    public void visitASTTypeParamAttrSpecNode(ASTTypeParamAttrSpecNode node) {}
-    public void visitASTTypeParamDeclNode(ASTTypeParamDeclNode node) {}
-    public void visitASTTypeParamDefStmtNode(ASTTypeParamDefStmtNode node) {}
-    public void visitASTTypeParamNameNode(ASTTypeParamNameNode node) {}
-    public void visitASTTypeParamSpecNode(ASTTypeParamSpecNode node) {}
-    public void visitASTTypeParamValueNode(ASTTypeParamValueNode node) {}
-    public void visitASTTypeSpecNode(ASTTypeSpecNode node) {}
-    public void visitASTUFExprNode(ASTUFExprNode node) {}
-    public void visitASTUFFactorNode(ASTUFFactorNode node) {}
-    public void visitASTUFPrimaryNode(ASTUFPrimaryNode node) {}
-    public void visitASTUFTermNode(ASTUFTermNode node) {}
-    public void visitASTUnaryExprNode(ASTUnaryExprNode node) {}
-    public void visitASTUnitIdentifierNode(ASTUnitIdentifierNode node) {}
-    public void visitASTUnlockStmtNode(ASTUnlockStmtNode node) {}
-    public void visitASTUnprocessedIncludeStmtNode(ASTUnprocessedIncludeStmtNode node) {}
-    public void visitASTUpperBoundNode(ASTUpperBoundNode node) {}
-    public void visitASTUseNameNode(ASTUseNameNode node) {}
-    public void visitASTUseStmtNode(ASTUseStmtNode node) {}
-    public void visitASTValueStmtNode(ASTValueStmtNode node) {}
-    public void visitASTVarOrFnRefNode(ASTVarOrFnRefNode node) {}
-    public void visitASTVariableCommaNode(ASTVariableCommaNode node) {}
-    public void visitASTVariableNameNode(ASTVariableNameNode node) {}
-    public void visitASTVariableNode(ASTVariableNode node) {}
-    public void visitASTVolatileStmtNode(ASTVolatileStmtNode node) {}
-    public void visitASTWaitSpecNode(ASTWaitSpecNode node) {}
-    public void visitASTWaitStmtNode(ASTWaitStmtNode node) {}
-    public void visitASTWhereConstructNode(ASTWhereConstructNode node) {}
-    public void visitASTWhereConstructStmtNode(ASTWhereConstructStmtNode node) {}
-    public void visitASTWhereRangeNode(ASTWhereRangeNode node) {}
-    public void visitASTWhereStmtNode(ASTWhereStmtNode node) {}
-    public void visitASTWriteStmtNode(ASTWriteStmtNode node) {}
-    public void visitIAccessId(IAccessId node) {}
-    public void visitIActionStmt(IActionStmt node) {}
-    public void visitIBindEntity(IBindEntity node) {}
-    public void visitIBlockDataBodyConstruct(IBlockDataBodyConstruct node) {}
-    public void visitIBodyConstruct(IBodyConstruct node) {}
-    public void visitICaseBodyConstruct(ICaseBodyConstruct node) {}
-    public void visitIComponentDefStmt(IComponentDefStmt node) {}
-    public void visitIDataIDoObject(IDataIDoObject node) {}
-    public void visitIDataStmtObject(IDataStmtObject node) {}
-    public void visitIDeclarationConstruct(IDeclarationConstruct node) {}
-    public void visitIDefinedOperator(IDefinedOperator node) {}
-    public void visitIDerivedTypeBodyConstruct(IDerivedTypeBodyConstruct node) {}
-    public void visitIExecutableConstruct(IExecutableConstruct node) {}
-    public void visitIExecutionPartConstruct(IExecutionPartConstruct node) {}
-    public void visitIExpr(IExpr node) {}
-    public void visitIForallBodyConstruct(IForallBodyConstruct node) {}
-    public void visitIInputItem(IInputItem node) {}
-    public void visitIInterfaceSpecification(IInterfaceSpecification node) {}
-    public void visitIInternalSubprogram(IInternalSubprogram node) {}
-    public void visitIModuleBodyConstruct(IModuleBodyConstruct node) {}
-    public void visitIModuleSubprogram(IModuleSubprogram node) {}
-    public void visitIModuleSubprogramPartConstruct(IModuleSubprogramPartConstruct node) {}
-    public void visitIObsoleteActionStmt(IObsoleteActionStmt node) {}
-    public void visitIObsoleteExecutionPartConstruct(IObsoleteExecutionPartConstruct node) {}
-    public void visitIProcBindingStmt(IProcBindingStmt node) {}
-    public void visitIProgramUnit(IProgramUnit node) {}
-    public void visitISelector(ISelector node) {}
-    public void visitISpecificationPartConstruct(ISpecificationPartConstruct node) {}
-    public void visitISpecificationStmt(ISpecificationStmt node) {}
-    public void visitIUnsignedArithmeticConst(IUnsignedArithmeticConst node) {}
-    public void visitIWhereBodyConstruct(IWhereBodyConstruct node) {}
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTListNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTListNode.java
deleted file mode 100644
index d067e4b..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTListNode.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-import java.util.List;
-
-@SuppressWarnings("all")
-public interface IASTListNode<T> extends List<T>, IASTNode
-{
-    void insertBefore(T insertBefore, T newElement);
-    void insertAfter(T insertAfter, T newElement);
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTNode.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTNode.java
deleted file mode 100644
index 25de1c4..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTNode.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-import java.io.PrintStream;
-import java.util.List;
-import java.util.Set;
-
-@SuppressWarnings("all")
-public interface IASTNode extends Cloneable
-{
-    Object clone();
-    IASTNode getParent();
-    void setParent(IASTNode parent);
-    Iterable<? extends IASTNode> getChildren();
-    void accept(IASTVisitor visitor);
-    void replaceChild(IASTNode node, IASTNode withNode);
-    void removeFromTree();
-    void replaceWith(IASTNode newNode);
-    void replaceWith(String literalString);
-    <T extends IASTNode> Set<T> findAll(Class<T> targetClass);
-    <T extends IASTNode> T findNearestAncestor(Class<T> targetClass);
-    <T extends IASTNode> T findFirst(Class<T> targetClass);
-    <T extends IASTNode> T findLast(Class<T> targetClass);
-    Token findFirstToken();
-    Token findLastToken();
-    boolean isFirstChildInList();
-    IPreprocessorReplacement printOn(PrintStream out, IPreprocessorReplacement currentPreprocessorDirective);
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTVisitor.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTVisitor.java
deleted file mode 100644
index a9d0c33..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IASTVisitor.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IASTVisitor
-{
-    void visitASTNode(IASTNode node);
-    void visitToken(Token node);
-    void visitASTListNode(IASTListNode<?> node);
-    void visitASTAcImpliedDoNode(ASTAcImpliedDoNode node);
-    void visitASTAcValueNode(ASTAcValueNode node);
-    void visitASTAccessSpecNode(ASTAccessSpecNode node);
-    void visitASTAccessStmtNode(ASTAccessStmtNode node);
-    void visitASTAllStopStmtNode(ASTAllStopStmtNode node);
-    void visitASTAllocatableStmtNode(ASTAllocatableStmtNode node);
-    void visitASTAllocateCoarraySpecNode(ASTAllocateCoarraySpecNode node);
-    void visitASTAllocateObjectNode(ASTAllocateObjectNode node);
-    void visitASTAllocateStmtNode(ASTAllocateStmtNode node);
-    void visitASTAllocatedShapeNode(ASTAllocatedShapeNode node);
-    void visitASTAllocationNode(ASTAllocationNode node);
-    void visitASTArithmeticIfStmtNode(ASTArithmeticIfStmtNode node);
-    void visitASTArrayAllocationNode(ASTArrayAllocationNode node);
-    void visitASTArrayConstructorNode(ASTArrayConstructorNode node);
-    void visitASTArrayDeclaratorNode(ASTArrayDeclaratorNode node);
-    void visitASTArrayElementNode(ASTArrayElementNode node);
-    void visitASTArrayNameNode(ASTArrayNameNode node);
-    void visitASTArraySpecNode(ASTArraySpecNode node);
-    void visitASTAssignStmtNode(ASTAssignStmtNode node);
-    void visitASTAssignedGotoStmtNode(ASTAssignedGotoStmtNode node);
-    void visitASTAssignmentStmtNode(ASTAssignmentStmtNode node);
-    void visitASTAssociateConstructNode(ASTAssociateConstructNode node);
-    void visitASTAssociateStmtNode(ASTAssociateStmtNode node);
-    void visitASTAssociationNode(ASTAssociationNode node);
-    void visitASTAssumedShapeSpecListNode(ASTAssumedShapeSpecListNode node);
-    void visitASTAssumedShapeSpecNode(ASTAssumedShapeSpecNode node);
-    void visitASTAssumedSizeSpecNode(ASTAssumedSizeSpecNode node);
-    void visitASTAsynchronousStmtNode(ASTAsynchronousStmtNode node);
-    void visitASTAttrSpecNode(ASTAttrSpecNode node);
-    void visitASTAttrSpecSeqNode(ASTAttrSpecSeqNode node);
-    void visitASTBackspaceStmtNode(ASTBackspaceStmtNode node);
-    void visitASTBinaryExprNode(ASTBinaryExprNode node);
-    void visitASTBindStmtNode(ASTBindStmtNode node);
-    void visitASTBindingAttrNode(ASTBindingAttrNode node);
-    void visitASTBindingPrivateStmtNode(ASTBindingPrivateStmtNode node);
-    void visitASTBlockConstructNode(ASTBlockConstructNode node);
-    void visitASTBlockDataNameNode(ASTBlockDataNameNode node);
-    void visitASTBlockDataStmtNode(ASTBlockDataStmtNode node);
-    void visitASTBlockDataSubprogramNode(ASTBlockDataSubprogramNode node);
-    void visitASTBlockDoConstructNode(ASTBlockDoConstructNode node);
-    void visitASTBlockStmtNode(ASTBlockStmtNode node);
-    void visitASTBodyPlusInternalsNode(ASTBodyPlusInternalsNode node);
-    void visitASTBozLiteralConstNode(ASTBozLiteralConstNode node);
-    void visitASTCExprNode(ASTCExprNode node);
-    void visitASTCOperandNode(ASTCOperandNode node);
-    void visitASTCPrimaryNode(ASTCPrimaryNode node);
-    void visitASTCallStmtNode(ASTCallStmtNode node);
-    void visitASTCaseConstructNode(ASTCaseConstructNode node);
-    void visitASTCaseSelectorNode(ASTCaseSelectorNode node);
-    void visitASTCaseStmtNode(ASTCaseStmtNode node);
-    void visitASTCaseValueRangeNode(ASTCaseValueRangeNode node);
-    void visitASTCharLenParamValueNode(ASTCharLenParamValueNode node);
-    void visitASTCharLengthNode(ASTCharLengthNode node);
-    void visitASTCharSelectorNode(ASTCharSelectorNode node);
-    void visitASTCloseSpecListNode(ASTCloseSpecListNode node);
-    void visitASTCloseSpecNode(ASTCloseSpecNode node);
-    void visitASTCloseStmtNode(ASTCloseStmtNode node);
-    void visitASTCoarraySpecNode(ASTCoarraySpecNode node);
-    void visitASTCodimensionDeclNode(ASTCodimensionDeclNode node);
-    void visitASTCodimensionStmtNode(ASTCodimensionStmtNode node);
-    void visitASTCommaExpNode(ASTCommaExpNode node);
-    void visitASTCommaLoopControlNode(ASTCommaLoopControlNode node);
-    void visitASTCommonBlockBinding(ASTCommonBlockBinding node);
-    void visitASTCommonBlockNameNode(ASTCommonBlockNameNode node);
-    void visitASTCommonBlockNode(ASTCommonBlockNode node);
-    void visitASTCommonBlockObjectNode(ASTCommonBlockObjectNode node);
-    void visitASTCommonStmtNode(ASTCommonStmtNode node);
-    void visitASTComplexConstNode(ASTComplexConstNode node);
-    void visitASTComponentArraySpecNode(ASTComponentArraySpecNode node);
-    void visitASTComponentAttrSpecNode(ASTComponentAttrSpecNode node);
-    void visitASTComponentDeclNode(ASTComponentDeclNode node);
-    void visitASTComponentInitializationNode(ASTComponentInitializationNode node);
-    void visitASTComponentNameNode(ASTComponentNameNode node);
-    void visitASTComputedGotoStmtNode(ASTComputedGotoStmtNode node);
-    void visitASTConnectSpecNode(ASTConnectSpecNode node);
-    void visitASTConstantNode(ASTConstantNode node);
-    void visitASTContainsStmtNode(ASTContainsStmtNode node);
-    void visitASTContiguousStmtNode(ASTContiguousStmtNode node);
-    void visitASTContinueStmtNode(ASTContinueStmtNode node);
-    void visitASTCrayPointerStmtNode(ASTCrayPointerStmtNode node);
-    void visitASTCrayPointerStmtObjectNode(ASTCrayPointerStmtObjectNode node);
-    void visitASTCriticalConstructNode(ASTCriticalConstructNode node);
-    void visitASTCriticalStmtNode(ASTCriticalStmtNode node);
-    void visitASTCycleStmtNode(ASTCycleStmtNode node);
-    void visitASTDataComponentDefStmtNode(ASTDataComponentDefStmtNode node);
-    void visitASTDataImpliedDoNode(ASTDataImpliedDoNode node);
-    void visitASTDataRefNode(ASTDataRefNode node);
-    void visitASTDataStmtConstantNode(ASTDataStmtConstantNode node);
-    void visitASTDataStmtNode(ASTDataStmtNode node);
-    void visitASTDataStmtSetNode(ASTDataStmtSetNode node);
-    void visitASTDataStmtValueNode(ASTDataStmtValueNode node);
-    void visitASTDatalistNode(ASTDatalistNode node);
-    void visitASTDblConstNode(ASTDblConstNode node);
-    void visitASTDeallocateStmtNode(ASTDeallocateStmtNode node);
-    void visitASTDeferredCoshapeSpecListNode(ASTDeferredCoshapeSpecListNode node);
-    void visitASTDeferredShapeSpecListNode(ASTDeferredShapeSpecListNode node);
-    void visitASTDeferredShapeSpecNode(ASTDeferredShapeSpecNode node);
-    void visitASTDerivedTypeDefNode(ASTDerivedTypeDefNode node);
-    void visitASTDerivedTypeQualifiersNode(ASTDerivedTypeQualifiersNode node);
-    void visitASTDerivedTypeSpecNode(ASTDerivedTypeSpecNode node);
-    void visitASTDerivedTypeStmtNode(ASTDerivedTypeStmtNode node);
-    void visitASTDimensionStmtNode(ASTDimensionStmtNode node);
-    void visitASTDoConstructNode(ASTDoConstructNode node);
-    void visitASTDummyArgNameNode(ASTDummyArgNameNode node);
-    void visitASTEditElementNode(ASTEditElementNode node);
-    void visitASTElseConstructNode(ASTElseConstructNode node);
-    void visitASTElseIfConstructNode(ASTElseIfConstructNode node);
-    void visitASTElseIfStmtNode(ASTElseIfStmtNode node);
-    void visitASTElsePartNode(ASTElsePartNode node);
-    void visitASTElseStmtNode(ASTElseStmtNode node);
-    void visitASTElseWhereConstructNode(ASTElseWhereConstructNode node);
-    void visitASTElseWherePartNode(ASTElseWherePartNode node);
-    void visitASTElseWhereStmtNode(ASTElseWhereStmtNode node);
-    void visitASTEmptyProgramNode(ASTEmptyProgramNode node);
-    void visitASTEndAssociateStmtNode(ASTEndAssociateStmtNode node);
-    void visitASTEndBlockDataStmtNode(ASTEndBlockDataStmtNode node);
-    void visitASTEndBlockStmtNode(ASTEndBlockStmtNode node);
-    void visitASTEndCriticalStmtNode(ASTEndCriticalStmtNode node);
-    void visitASTEndDoStmtNode(ASTEndDoStmtNode node);
-    void visitASTEndEnumStmtNode(ASTEndEnumStmtNode node);
-    void visitASTEndForallStmtNode(ASTEndForallStmtNode node);
-    void visitASTEndFunctionStmtNode(ASTEndFunctionStmtNode node);
-    void visitASTEndIfStmtNode(ASTEndIfStmtNode node);
-    void visitASTEndInterfaceStmtNode(ASTEndInterfaceStmtNode node);
-    void visitASTEndModuleStmtNode(ASTEndModuleStmtNode node);
-    void visitASTEndMpSubprogramStmtNode(ASTEndMpSubprogramStmtNode node);
-    void visitASTEndNameNode(ASTEndNameNode node);
-    void visitASTEndProgramStmtNode(ASTEndProgramStmtNode node);
-    void visitASTEndSelectStmtNode(ASTEndSelectStmtNode node);
-    void visitASTEndSelectTypeStmtNode(ASTEndSelectTypeStmtNode node);
-    void visitASTEndSubmoduleStmtNode(ASTEndSubmoduleStmtNode node);
-    void visitASTEndSubroutineStmtNode(ASTEndSubroutineStmtNode node);
-    void visitASTEndTypeStmtNode(ASTEndTypeStmtNode node);
-    void visitASTEndWhereStmtNode(ASTEndWhereStmtNode node);
-    void visitASTEndfileStmtNode(ASTEndfileStmtNode node);
-    void visitASTEntityDeclNode(ASTEntityDeclNode node);
-    void visitASTEntryNameNode(ASTEntryNameNode node);
-    void visitASTEntryStmtNode(ASTEntryStmtNode node);
-    void visitASTEnumDefNode(ASTEnumDefNode node);
-    void visitASTEnumDefStmtNode(ASTEnumDefStmtNode node);
-    void visitASTEnumeratorDefStmtNode(ASTEnumeratorDefStmtNode node);
-    void visitASTEnumeratorNode(ASTEnumeratorNode node);
-    void visitASTEquivalenceObjectListNode(ASTEquivalenceObjectListNode node);
-    void visitASTEquivalenceObjectNode(ASTEquivalenceObjectNode node);
-    void visitASTEquivalenceSetNode(ASTEquivalenceSetNode node);
-    void visitASTEquivalenceStmtNode(ASTEquivalenceStmtNode node);
-    void visitASTErrorConstructNode(ASTErrorConstructNode node);
-    void visitASTErrorProgramUnitNode(ASTErrorProgramUnitNode node);
-    void visitASTExecutableProgramNode(ASTExecutableProgramNode node);
-    void visitASTExitStmtNode(ASTExitStmtNode node);
-    void visitASTExplicitCoshapeSpecNode(ASTExplicitCoshapeSpecNode node);
-    void visitASTExplicitShapeSpecNode(ASTExplicitShapeSpecNode node);
-    void visitASTExternalNameListNode(ASTExternalNameListNode node);
-    void visitASTExternalNameNode(ASTExternalNameNode node);
-    void visitASTExternalStmtNode(ASTExternalStmtNode node);
-    void visitASTFieldSelectorNode(ASTFieldSelectorNode node);
-    void visitASTFinalBindingNode(ASTFinalBindingNode node);
-    void visitASTFmtSpecNode(ASTFmtSpecNode node);
-    void visitASTForallConstructNode(ASTForallConstructNode node);
-    void visitASTForallConstructStmtNode(ASTForallConstructStmtNode node);
-    void visitASTForallHeaderNode(ASTForallHeaderNode node);
-    void visitASTForallStmtNode(ASTForallStmtNode node);
-    void visitASTForallTripletSpecListNode(ASTForallTripletSpecListNode node);
-    void visitASTFormatEditNode(ASTFormatEditNode node);
-    void visitASTFormatIdentifierNode(ASTFormatIdentifierNode node);
-    void visitASTFormatStmtNode(ASTFormatStmtNode node);
-    void visitASTFormatsepNode(ASTFormatsepNode node);
-    void visitASTFunctionArgListNode(ASTFunctionArgListNode node);
-    void visitASTFunctionArgNode(ASTFunctionArgNode node);
-    void visitASTFunctionInterfaceRangeNode(ASTFunctionInterfaceRangeNode node);
-    void visitASTFunctionNameNode(ASTFunctionNameNode node);
-    void visitASTFunctionParNode(ASTFunctionParNode node);
-    void visitASTFunctionPrefixNode(ASTFunctionPrefixNode node);
-    void visitASTFunctionRangeNode(ASTFunctionRangeNode node);
-    void visitASTFunctionReferenceNode(ASTFunctionReferenceNode node);
-    void visitASTFunctionStmtNode(ASTFunctionStmtNode node);
-    void visitASTFunctionSubprogramNode(ASTFunctionSubprogramNode node);
-    void visitASTGenericBindingNode(ASTGenericBindingNode node);
-    void visitASTGenericNameNode(ASTGenericNameNode node);
-    void visitASTGenericSpecNode(ASTGenericSpecNode node);
-    void visitASTGoToKwNode(ASTGoToKwNode node);
-    void visitASTGotoStmtNode(ASTGotoStmtNode node);
-    void visitASTIfConstructNode(ASTIfConstructNode node);
-    void visitASTIfStmtNode(ASTIfStmtNode node);
-    void visitASTIfThenErrorNode(ASTIfThenErrorNode node);
-    void visitASTIfThenStmtNode(ASTIfThenStmtNode node);
-    void visitASTImageSelectorNode(ASTImageSelectorNode node);
-    void visitASTImageSetNode(ASTImageSetNode node);
-    void visitASTImplicitSpecNode(ASTImplicitSpecNode node);
-    void visitASTImplicitStmtNode(ASTImplicitStmtNode node);
-    void visitASTImpliedDoVariableNode(ASTImpliedDoVariableNode node);
-    void visitASTImportStmtNode(ASTImportStmtNode node);
-    void visitASTInitializationNode(ASTInitializationNode node);
-    void visitASTInputImpliedDoNode(ASTInputImpliedDoNode node);
-    void visitASTInquireSpecListNode(ASTInquireSpecListNode node);
-    void visitASTInquireSpecNode(ASTInquireSpecNode node);
-    void visitASTInquireStmtNode(ASTInquireStmtNode node);
-    void visitASTIntConstNode(ASTIntConstNode node);
-    void visitASTIntentParListNode(ASTIntentParListNode node);
-    void visitASTIntentParNode(ASTIntentParNode node);
-    void visitASTIntentSpecNode(ASTIntentSpecNode node);
-    void visitASTIntentStmtNode(ASTIntentStmtNode node);
-    void visitASTInterfaceBlockNode(ASTInterfaceBlockNode node);
-    void visitASTInterfaceBodyNode(ASTInterfaceBodyNode node);
-    void visitASTInterfaceRangeNode(ASTInterfaceRangeNode node);
-    void visitASTInterfaceStmtNode(ASTInterfaceStmtNode node);
-    void visitASTIntrinsicListNode(ASTIntrinsicListNode node);
-    void visitASTIntrinsicProcedureNameNode(ASTIntrinsicProcedureNameNode node);
-    void visitASTIntrinsicStmtNode(ASTIntrinsicStmtNode node);
-    void visitASTInvalidEntityDeclNode(ASTInvalidEntityDeclNode node);
-    void visitASTIoControlSpecListNode(ASTIoControlSpecListNode node);
-    void visitASTIoControlSpecNode(ASTIoControlSpecNode node);
-    void visitASTKindParamNode(ASTKindParamNode node);
-    void visitASTKindSelectorNode(ASTKindSelectorNode node);
-    void visitASTLabelDoStmtNode(ASTLabelDoStmtNode node);
-    void visitASTLabelNode(ASTLabelNode node);
-    void visitASTLanguageBindingSpecNode(ASTLanguageBindingSpecNode node);
-    void visitASTLblDefNode(ASTLblDefNode node);
-    void visitASTLblRefListNode(ASTLblRefListNode node);
-    void visitASTLblRefNode(ASTLblRefNode node);
-    void visitASTLockStmtNode(ASTLockStmtNode node);
-    void visitASTLogicalConstNode(ASTLogicalConstNode node);
-    void visitASTLoopControlNode(ASTLoopControlNode node);
-    void visitASTLowerBoundNode(ASTLowerBoundNode node);
-    void visitASTMainProgramNode(ASTMainProgramNode node);
-    void visitASTMainRangeNode(ASTMainRangeNode node);
-    void visitASTMaskExprNode(ASTMaskExprNode node);
-    void visitASTMaskedElseWhereConstructNode(ASTMaskedElseWhereConstructNode node);
-    void visitASTMaskedElseWhereStmtNode(ASTMaskedElseWhereStmtNode node);
-    void visitASTModuleBlockNode(ASTModuleBlockNode node);
-    void visitASTModuleNameNode(ASTModuleNameNode node);
-    void visitASTModuleNatureNode(ASTModuleNatureNode node);
-    void visitASTModuleNode(ASTModuleNode node);
-    void visitASTModuleProcedureStmtNode(ASTModuleProcedureStmtNode node);
-    void visitASTModuleStmtNode(ASTModuleStmtNode node);
-    void visitASTMpSubprogramRangeNode(ASTMpSubprogramRangeNode node);
-    void visitASTMpSubprogramStmtNode(ASTMpSubprogramStmtNode node);
-    void visitASTNameNode(ASTNameNode node);
-    void visitASTNamedConstantDefNode(ASTNamedConstantDefNode node);
-    void visitASTNamedConstantNode(ASTNamedConstantNode node);
-    void visitASTNamedConstantUseNode(ASTNamedConstantUseNode node);
-    void visitASTNamelistGroupNameNode(ASTNamelistGroupNameNode node);
-    void visitASTNamelistGroupObjectNode(ASTNamelistGroupObjectNode node);
-    void visitASTNamelistGroupsNode(ASTNamelistGroupsNode node);
-    void visitASTNamelistStmtNode(ASTNamelistStmtNode node);
-    void visitASTNestedExprNode(ASTNestedExprNode node);
-    void visitASTNullifyStmtNode(ASTNullifyStmtNode node);
-    void visitASTObjectNameListNode(ASTObjectNameListNode node);
-    void visitASTObjectNameNode(ASTObjectNameNode node);
-    void visitASTOnlyNode(ASTOnlyNode node);
-    void visitASTOpenStmtNode(ASTOpenStmtNode node);
-    void visitASTOperatorNode(ASTOperatorNode node);
-    void visitASTOptionalParListNode(ASTOptionalParListNode node);
-    void visitASTOptionalParNode(ASTOptionalParNode node);
-    void visitASTOptionalStmtNode(ASTOptionalStmtNode node);
-    void visitASTOutputImpliedDoNode(ASTOutputImpliedDoNode node);
-    void visitASTOutputItemList1Node(ASTOutputItemList1Node node);
-    void visitASTOutputItemListNode(ASTOutputItemListNode node);
-    void visitASTParameterStmtNode(ASTParameterStmtNode node);
-    void visitASTParentIdentifierNode(ASTParentIdentifierNode node);
-    void visitASTParenthesizedSubroutineArgListNode(ASTParenthesizedSubroutineArgListNode node);
-    void visitASTPauseStmtNode(ASTPauseStmtNode node);
-    void visitASTPointerFieldNode(ASTPointerFieldNode node);
-    void visitASTPointerNameNode(ASTPointerNameNode node);
-    void visitASTPointerObjectNode(ASTPointerObjectNode node);
-    void visitASTPointerStmtNode(ASTPointerStmtNode node);
-    void visitASTPointerStmtObjectNode(ASTPointerStmtObjectNode node);
-    void visitASTPositionSpecListNode(ASTPositionSpecListNode node);
-    void visitASTPositionSpecNode(ASTPositionSpecNode node);
-    void visitASTPrefixSpecNode(ASTPrefixSpecNode node);
-    void visitASTPrintStmtNode(ASTPrintStmtNode node);
-    void visitASTPrivateSequenceStmtNode(ASTPrivateSequenceStmtNode node);
-    void visitASTProcComponentAttrSpecNode(ASTProcComponentAttrSpecNode node);
-    void visitASTProcComponentDefStmtNode(ASTProcComponentDefStmtNode node);
-    void visitASTProcDeclNode(ASTProcDeclNode node);
-    void visitASTProcInterfaceNode(ASTProcInterfaceNode node);
-    void visitASTProcedureDeclarationStmtNode(ASTProcedureDeclarationStmtNode node);
-    void visitASTProcedureNameListNode(ASTProcedureNameListNode node);
-    void visitASTProcedureNameNode(ASTProcedureNameNode node);
-    void visitASTProgramNameNode(ASTProgramNameNode node);
-    void visitASTProgramStmtNode(ASTProgramStmtNode node);
-    void visitASTProtectedStmtNode(ASTProtectedStmtNode node);
-    void visitASTRdCtlSpecNode(ASTRdCtlSpecNode node);
-    void visitASTRdFmtIdExprNode(ASTRdFmtIdExprNode node);
-    void visitASTRdFmtIdNode(ASTRdFmtIdNode node);
-    void visitASTRdIoCtlSpecListNode(ASTRdIoCtlSpecListNode node);
-    void visitASTRdUnitIdNode(ASTRdUnitIdNode node);
-    void visitASTReadStmtNode(ASTReadStmtNode node);
-    void visitASTRealConstNode(ASTRealConstNode node);
-    void visitASTRenameNode(ASTRenameNode node);
-    void visitASTReturnStmtNode(ASTReturnStmtNode node);
-    void visitASTRewindStmtNode(ASTRewindStmtNode node);
-    void visitASTSFDataRefNode(ASTSFDataRefNode node);
-    void visitASTSFDummyArgNameListNode(ASTSFDummyArgNameListNode node);
-    void visitASTSFDummyArgNameNode(ASTSFDummyArgNameNode node);
-    void visitASTSFExprListNode(ASTSFExprListNode node);
-    void visitASTSFExprNode(ASTSFExprNode node);
-    void visitASTSFFactorNode(ASTSFFactorNode node);
-    void visitASTSFPrimaryNode(ASTSFPrimaryNode node);
-    void visitASTSFTermNode(ASTSFTermNode node);
-    void visitASTSFVarNameNode(ASTSFVarNameNode node);
-    void visitASTSaveStmtNode(ASTSaveStmtNode node);
-    void visitASTSavedCommonBlockNode(ASTSavedCommonBlockNode node);
-    void visitASTSavedEntityNode(ASTSavedEntityNode node);
-    void visitASTScalarMaskExprNode(ASTScalarMaskExprNode node);
-    void visitASTScalarVariableNode(ASTScalarVariableNode node);
-    void visitASTSectionSubscriptNode(ASTSectionSubscriptNode node);
-    void visitASTSelectCaseRangeNode(ASTSelectCaseRangeNode node);
-    void visitASTSelectCaseStmtNode(ASTSelectCaseStmtNode node);
-    void visitASTSelectTypeBodyNode(ASTSelectTypeBodyNode node);
-    void visitASTSelectTypeConstructNode(ASTSelectTypeConstructNode node);
-    void visitASTSelectTypeStmtNode(ASTSelectTypeStmtNode node);
-    void visitASTSeparateModuleSubprogramNode(ASTSeparateModuleSubprogramNode node);
-    void visitASTSignNode(ASTSignNode node);
-    void visitASTSpecificBindingNode(ASTSpecificBindingNode node);
-    void visitASTStmtFunctionRangeNode(ASTStmtFunctionRangeNode node);
-    void visitASTStmtFunctionStmtNode(ASTStmtFunctionStmtNode node);
-    void visitASTStopStmtNode(ASTStopStmtNode node);
-    void visitASTStringConstNode(ASTStringConstNode node);
-    void visitASTStructureComponentNode(ASTStructureComponentNode node);
-    void visitASTStructureConstructorNode(ASTStructureConstructorNode node);
-    void visitASTSubmoduleBlockNode(ASTSubmoduleBlockNode node);
-    void visitASTSubmoduleNode(ASTSubmoduleNode node);
-    void visitASTSubmoduleStmtNode(ASTSubmoduleStmtNode node);
-    void visitASTSubroutineArgNode(ASTSubroutineArgNode node);
-    void visitASTSubroutineInterfaceRangeNode(ASTSubroutineInterfaceRangeNode node);
-    void visitASTSubroutineNameNode(ASTSubroutineNameNode node);
-    void visitASTSubroutineNameUseNode(ASTSubroutineNameUseNode node);
-    void visitASTSubroutineParNode(ASTSubroutineParNode node);
-    void visitASTSubroutinePrefixNode(ASTSubroutinePrefixNode node);
-    void visitASTSubroutineRangeNode(ASTSubroutineRangeNode node);
-    void visitASTSubroutineStmtNode(ASTSubroutineStmtNode node);
-    void visitASTSubroutineSubprogramNode(ASTSubroutineSubprogramNode node);
-    void visitASTSubscriptNode(ASTSubscriptNode node);
-    void visitASTSubscriptTripletNode(ASTSubscriptTripletNode node);
-    void visitASTSubstrConstNode(ASTSubstrConstNode node);
-    void visitASTSubstringRangeNode(ASTSubstringRangeNode node);
-    void visitASTSyncAllStmtNode(ASTSyncAllStmtNode node);
-    void visitASTSyncImagesStmtNode(ASTSyncImagesStmtNode node);
-    void visitASTSyncMemoryStmtNode(ASTSyncMemoryStmtNode node);
-    void visitASTSyncStatNode(ASTSyncStatNode node);
-    void visitASTTargetNameNode(ASTTargetNameNode node);
-    void visitASTTargetNode(ASTTargetNode node);
-    void visitASTTargetObjectNode(ASTTargetObjectNode node);
-    void visitASTTargetStmtNode(ASTTargetStmtNode node);
-    void visitASTThenPartNode(ASTThenPartNode node);
-    void visitASTTypeAttrSpecNode(ASTTypeAttrSpecNode node);
-    void visitASTTypeBoundProcedurePartNode(ASTTypeBoundProcedurePartNode node);
-    void visitASTTypeDeclarationStmtNode(ASTTypeDeclarationStmtNode node);
-    void visitASTTypeGuardStmtNode(ASTTypeGuardStmtNode node);
-    void visitASTTypeNameNode(ASTTypeNameNode node);
-    void visitASTTypeParamAttrSpecNode(ASTTypeParamAttrSpecNode node);
-    void visitASTTypeParamDeclNode(ASTTypeParamDeclNode node);
-    void visitASTTypeParamDefStmtNode(ASTTypeParamDefStmtNode node);
-    void visitASTTypeParamNameNode(ASTTypeParamNameNode node);
-    void visitASTTypeParamSpecNode(ASTTypeParamSpecNode node);
-    void visitASTTypeParamValueNode(ASTTypeParamValueNode node);
-    void visitASTTypeSpecNode(ASTTypeSpecNode node);
-    void visitASTUFExprNode(ASTUFExprNode node);
-    void visitASTUFFactorNode(ASTUFFactorNode node);
-    void visitASTUFPrimaryNode(ASTUFPrimaryNode node);
-    void visitASTUFTermNode(ASTUFTermNode node);
-    void visitASTUnaryExprNode(ASTUnaryExprNode node);
-    void visitASTUnitIdentifierNode(ASTUnitIdentifierNode node);
-    void visitASTUnlockStmtNode(ASTUnlockStmtNode node);
-    void visitASTUnprocessedIncludeStmtNode(ASTUnprocessedIncludeStmtNode node);
-    void visitASTUpperBoundNode(ASTUpperBoundNode node);
-    void visitASTUseNameNode(ASTUseNameNode node);
-    void visitASTUseStmtNode(ASTUseStmtNode node);
-    void visitASTValueStmtNode(ASTValueStmtNode node);
-    void visitASTVarOrFnRefNode(ASTVarOrFnRefNode node);
-    void visitASTVariableCommaNode(ASTVariableCommaNode node);
-    void visitASTVariableNameNode(ASTVariableNameNode node);
-    void visitASTVariableNode(ASTVariableNode node);
-    void visitASTVolatileStmtNode(ASTVolatileStmtNode node);
-    void visitASTWaitSpecNode(ASTWaitSpecNode node);
-    void visitASTWaitStmtNode(ASTWaitStmtNode node);
-    void visitASTWhereConstructNode(ASTWhereConstructNode node);
-    void visitASTWhereConstructStmtNode(ASTWhereConstructStmtNode node);
-    void visitASTWhereRangeNode(ASTWhereRangeNode node);
-    void visitASTWhereStmtNode(ASTWhereStmtNode node);
-    void visitASTWriteStmtNode(ASTWriteStmtNode node);
-    void visitIAccessId(IAccessId node);
-    void visitIActionStmt(IActionStmt node);
-    void visitIBindEntity(IBindEntity node);
-    void visitIBlockDataBodyConstruct(IBlockDataBodyConstruct node);
-    void visitIBodyConstruct(IBodyConstruct node);
-    void visitICaseBodyConstruct(ICaseBodyConstruct node);
-    void visitIComponentDefStmt(IComponentDefStmt node);
-    void visitIDataIDoObject(IDataIDoObject node);
-    void visitIDataStmtObject(IDataStmtObject node);
-    void visitIDeclarationConstruct(IDeclarationConstruct node);
-    void visitIDefinedOperator(IDefinedOperator node);
-    void visitIDerivedTypeBodyConstruct(IDerivedTypeBodyConstruct node);
-    void visitIExecutableConstruct(IExecutableConstruct node);
-    void visitIExecutionPartConstruct(IExecutionPartConstruct node);
-    void visitIExpr(IExpr node);
-    void visitIForallBodyConstruct(IForallBodyConstruct node);
-    void visitIInputItem(IInputItem node);
-    void visitIInterfaceSpecification(IInterfaceSpecification node);
-    void visitIInternalSubprogram(IInternalSubprogram node);
-    void visitIModuleBodyConstruct(IModuleBodyConstruct node);
-    void visitIModuleSubprogram(IModuleSubprogram node);
-    void visitIModuleSubprogramPartConstruct(IModuleSubprogramPartConstruct node);
-    void visitIObsoleteActionStmt(IObsoleteActionStmt node);
-    void visitIObsoleteExecutionPartConstruct(IObsoleteExecutionPartConstruct node);
-    void visitIProcBindingStmt(IProcBindingStmt node);
-    void visitIProgramUnit(IProgramUnit node);
-    void visitISelector(ISelector node);
-    void visitISpecificationPartConstruct(ISpecificationPartConstruct node);
-    void visitISpecificationStmt(ISpecificationStmt node);
-    void visitIUnsignedArithmeticConst(IUnsignedArithmeticConst node);
-    void visitIWhereBodyConstruct(IWhereBodyConstruct node);
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IAccessId.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IAccessId.java
deleted file mode 100644
index c8a5049..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IAccessId.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IAccessId extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IActionStmt.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IActionStmt.java
deleted file mode 100644
index 7efab8e..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IActionStmt.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IActionStmt extends IASTNode, IExecutableConstruct
-{
-
-
-/////////////////////////////////// User Code //////////////////////////////////
-
-    Token getLabel(); void setLabel(Token label);
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBindEntity.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBindEntity.java
deleted file mode 100644
index e93b2a3..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBindEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IBindEntity extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBlockDataBodyConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBlockDataBodyConstruct.java
deleted file mode 100644
index c2e7202..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBlockDataBodyConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IBlockDataBodyConstruct extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBodyConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBodyConstruct.java
deleted file mode 100644
index 7043f3a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IBodyConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IBodyConstruct extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ICaseBodyConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ICaseBodyConstruct.java
deleted file mode 100644
index fa171fb..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ICaseBodyConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface ICaseBodyConstruct extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IComponentDefStmt.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IComponentDefStmt.java
deleted file mode 100644
index 20d1fd6..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IComponentDefStmt.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IComponentDefStmt extends IASTNode, IDerivedTypeBodyConstruct
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDataIDoObject.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDataIDoObject.java
deleted file mode 100644
index d6d43fe..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDataIDoObject.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IDataIDoObject extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDataStmtObject.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDataStmtObject.java
deleted file mode 100644
index 5a2527a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDataStmtObject.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IDataStmtObject extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDeclarationConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDeclarationConstruct.java
deleted file mode 100644
index fd7a89a..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDeclarationConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IDeclarationConstruct extends IASTNode, ISpecificationPartConstruct
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDefinedOperator.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDefinedOperator.java
deleted file mode 100644
index 9308bce..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDefinedOperator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IDefinedOperator extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDerivedTypeBodyConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDerivedTypeBodyConstruct.java
deleted file mode 100644
index 1cab15f..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IDerivedTypeBodyConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IDerivedTypeBodyConstruct extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExecutableConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExecutableConstruct.java
deleted file mode 100644
index 98986b6..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExecutableConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IExecutableConstruct extends IASTNode, IBodyConstruct, ICaseBodyConstruct, IExecutionPartConstruct
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExecutionPartConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExecutionPartConstruct.java
deleted file mode 100644
index ac074f9..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExecutionPartConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IExecutionPartConstruct extends IASTNode, ICaseBodyConstruct
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExpr.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExpr.java
deleted file mode 100644
index 2037b19..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IExpr.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IExpr extends IASTNode, ISelector
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IForallBodyConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IForallBodyConstruct.java
deleted file mode 100644
index 4ed276b..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IForallBodyConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IForallBodyConstruct extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInputItem.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInputItem.java
deleted file mode 100644
index e8d938f..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInputItem.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IInputItem extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInterfaceSpecification.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInterfaceSpecification.java
deleted file mode 100644
index 5657d3b..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInterfaceSpecification.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IInterfaceSpecification extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInternalSubprogram.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInternalSubprogram.java
deleted file mode 100644
index 8963ada..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IInternalSubprogram.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IInternalSubprogram extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleBodyConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleBodyConstruct.java
deleted file mode 100644
index ebbcb77..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleBodyConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IModuleBodyConstruct extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleSubprogram.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleSubprogram.java
deleted file mode 100644
index 4ccc4e1..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleSubprogram.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IModuleSubprogram extends IASTNode, IModuleSubprogramPartConstruct
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleSubprogramPartConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleSubprogramPartConstruct.java
deleted file mode 100644
index 8bd7b8b..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IModuleSubprogramPartConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IModuleSubprogramPartConstruct extends IASTNode, IModuleBodyConstruct
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IObsoleteActionStmt.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IObsoleteActionStmt.java
deleted file mode 100644
index 834129c..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IObsoleteActionStmt.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IObsoleteActionStmt extends IASTNode, IActionStmt
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IObsoleteExecutionPartConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IObsoleteExecutionPartConstruct.java
deleted file mode 100644
index 3eedab0..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IObsoleteExecutionPartConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IObsoleteExecutionPartConstruct extends IASTNode, IExecutionPartConstruct
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IProcBindingStmt.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IProcBindingStmt.java
deleted file mode 100644
index c8aeb38..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IProcBindingStmt.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IProcBindingStmt extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IProgramUnit.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IProgramUnit.java
deleted file mode 100644
index 3b16f7d..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IProgramUnit.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IProgramUnit extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISelector.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISelector.java
deleted file mode 100644
index 197596f..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISelector.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface ISelector extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISpecificationPartConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISpecificationPartConstruct.java
deleted file mode 100644
index c04dec4..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISpecificationPartConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface ISpecificationPartConstruct extends IASTNode, IBlockDataBodyConstruct, IBodyConstruct, IModuleBodyConstruct
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISpecificationStmt.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISpecificationStmt.java
deleted file mode 100644
index 5f5b648..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/ISpecificationStmt.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface ISpecificationStmt extends IASTNode, IDeclarationConstruct
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IUnsignedArithmeticConst.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IUnsignedArithmeticConst.java
deleted file mode 100644
index 46ef75b..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IUnsignedArithmeticConst.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IUnsignedArithmeticConst extends IASTNode, IExpr
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IWhereBodyConstruct.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IWhereBodyConstruct.java
deleted file mode 100644
index 9780dee..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/IWhereBodyConstruct.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import java.io.PrintStream;
-import java.util.Iterator;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-@SuppressWarnings("all")
-public interface IWhereBodyConstruct extends IASTNode
-{
-}
-
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/Parser.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/Parser.java
deleted file mode 100644
index c2dabaf..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/Parser.java
+++ /dev/null
@@ -1,6576 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-import java.util.AbstractList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Stack;
-import org.eclipse.photran.internal.core.parser.ParsingTables.*;
-
-/**
- * An LALR(1) parser for Fortran 2008
- */
-@SuppressWarnings("all")
-public class Parser
-{
-    /** Set this to <code>System.out</code> or another <code>OutputStream</code>
-        to view debugging information */
-    public OutputStream DEBUG = new OutputStream() { @Override public void write(int b) {} };
-
-    protected static final int NUM_STATES = 3258;
-    protected static final int NUM_PRODUCTIONS = 1563;
-    protected static final int NUM_TERMINALS = 247;
-    protected static final int NUM_NONTERMINALS = 494;
-
-    /**
-     * When the parser uses an error production to recover from a syntax error,
-     * an instance of this class is used to hold information about the error
-     * and the recovery.
-     */
-    public static final class ErrorRecoveryInfo
-    {
-        /**
-         * The symbols that were discarded in order to recover
-         * from the syntax error.
-         */
-        public final LinkedList<? extends Object> discardedSymbols;
-
-        /**
-         * The (lookahead) token that caused the syntax error.
-         * recovery is being performed.
-         */
-        public final org.eclipse.photran.internal.core.lexer.Token errorLookahead;
-
-        /**
-         * A list of terminal symbols were expected at the point where
-         * the syntax error occurred.
-         */
-        public final List<Terminal> expectedLookaheadSymbols;
-
-        /**
-         * Which state the parser was in when it encountered the syntax error.
-         */
-        public final int errorState;
-
-        protected ErrorRecoveryInfo(int errorState,
-                                    org.eclipse.photran.internal.core.lexer.Token errorLookahead,
-                                    List<Terminal> expectedLookaheadSymbols)
-        {
-            this.errorState = errorState;
-            this.errorLookahead = errorLookahead;
-            this.expectedLookaheadSymbols = expectedLookaheadSymbols;
-            this.discardedSymbols = new LinkedList<Object>();
-        }
-
-        public final <T> LinkedList<T> getDiscardedSymbols()
-        {
-            return (LinkedList<T>)discardedSymbols;
-        }
-
-        protected void prependDiscardedSymbol(Object symbol)
-        {
-            this.<Object>getDiscardedSymbols().addFirst(symbol);
-        }
-
-        protected void appendDiscardedSymbol(Object symbol)
-        {
-            this.<Object>getDiscardedSymbols().addLast(symbol);
-        }
-
-        /**
-         * A human-readable description of the terminal symbols were
-         * expected at the point where the syntax error occurred.
-         *
-         * @return a <code>String</code> (non-<code>null</code>)
-         */
-        public final String describeExpectedSymbols()
-        {
-            return describe(expectedLookaheadSymbols);
-        }
-    }
-
-    /** The lexical analyzer. */
-    protected IAccumulatingLexer lexer;
-
-    /** This becomes set to true when we finish parsing, successfully or not. */
-    protected boolean doneParsing;
-
-    /** The parser stack, which contains states as well as values returned from user code. */
-    protected ParserStack parserStack;
-
-    /**
-     * LR parsing tables.
-     * <p>
-     * This is an interface to the ACTION, GOTO, and error recovery tables
-     * to use.  If a parser's underlying grammar has only one start symbol,
-     * there will be only one set of parsing tables.  If there are multiple
-     * start symbols, each one will have a different set of parsing tables.
-     */
-    protected ParsingTables parsingTables;
-
-    /**
-     * Information about the parser's successful recovery from a syntax error,
-     * including what symbol caused the error and what tokens were discarded to
-     * recover from that error.
-     * <p>
-     * This field is set to a non-<code>null</code> value only while error
-     * recovery is being performed.
-     */
-    protected ErrorRecoveryInfo errorInfo;
-
-    /**
-     * Semantic actions to invoke after reduce actions.
-     */
-    protected SemanticActions semanticActions;
-
-    /**
-     * Parses a file using the given lexical analyzer (tokenizer).
-     *
-     * @param lexicalAnalyzer the lexical analyzer to read tokens from
-     */
-    public ASTExecutableProgramNode parse(IAccumulatingLexer lexicalAnalyzer) throws IOException, LexerException, SyntaxException
-    {
-        return parseExecutableProgram(lexicalAnalyzer);
-    }
-
-    public ASTExecutableProgramNode parseExecutableProgram(IAccumulatingLexer lexicalAnalyzer) throws IOException, LexerException, SyntaxException
-    {
-        return (ASTExecutableProgramNode)parse(lexicalAnalyzer, ExecutableProgramParsingTables.getInstance());
-    }
-
-    public List<IBodyConstruct> parseBody(IAccumulatingLexer lexicalAnalyzer) throws IOException, LexerException, SyntaxException
-    {
-        return (List<IBodyConstruct>)parse(lexicalAnalyzer, BodyParsingTables.getInstance());
-    }
-
-    public IExpr parseExpr(IAccumulatingLexer lexicalAnalyzer) throws IOException, LexerException, SyntaxException
-    {
-        return (IExpr)parse(lexicalAnalyzer, ExprParsingTables.getInstance());
-    }
-
-    public ASTContainsStmtNode parseContainsStmt(IAccumulatingLexer lexicalAnalyzer) throws IOException, LexerException, SyntaxException
-    {
-        return (ASTContainsStmtNode)parse(lexicalAnalyzer, ContainsStmtParsingTables.getInstance());
-    }
-
-    protected Object parse(IAccumulatingLexer lexicalAnalyzer, ParsingTables parsingTables) throws IOException, LexerException, SyntaxException
-    {
-        if (lexicalAnalyzer == null)
-            throw new IllegalArgumentException("Lexer cannot be null");
-
-        this.lexer = lexicalAnalyzer;
-        this.parsingTables = parsingTables;
-        this.semanticActions = new SemanticActions();
-
-        this.parserStack = new ParserStack();
-        this.errorInfo = null;
-
-        semanticActions.initialize();
-
-        readNextToken();
-        doneParsing = false;
-
-            assert DEBUG("Parser is starting in state " + currentState() +
-                " with lookahead " + lookahead().toString().replaceAll("\\r", "\\\\r").replaceAll("\\n", "\\\\n") + "\n");
-
-        // Repeatedly determine the next action based on the current state
-        while (!doneParsing)
-        {
-            assert parserStack.invariants();
-
-            int code = parsingTables.getActionCode(currentState(), lookahead());
-
-            int action = code & ParsingTables.ACTION_MASK;
-            int value  = code & ParsingTables.VALUE_MASK;
-
-            switch (action)
-            {
-                case ParsingTables.SHIFT_ACTION:
-                    shiftAndGoToState(value);
-                    break;
-
-                case ParsingTables.REDUCE_ACTION:
-                    reduce(value);
-                    break;
-
-                case ParsingTables.ACCEPT_ACTION:
-                    accept();
-                    break;
-
-                default:
-                    if (!attemptToRecoverFromSyntaxError())
-                        syntaxError();
-             }
-        }
-
-        semanticActions.deinitialize();
-
-        // Return the value from the last piece of user code
-        // executed in a completed parse
-        return parserStack.topValue();
-    }
-
-    public void readNextToken() throws IOException, LexerException, SyntaxException
-    {
-        parserStack.setLookahead(lexer.yylex());
-    }
-
-    /**
-     * Shifts the next input symbol and changes the parser to the given state.
-     *
-     * @param state the state to transition to
-     */
-    protected void shiftAndGoToState(int state) throws IOException, LexerException, SyntaxException
-    {
-        assert 0 <= state && state < NUM_STATES;
-
-        assert DEBUG("Shifting " + lookahead().toString().replaceAll("\\r", "\\\\r").replaceAll("\\n", "\\\\n"));
-
-        parserStack.push(state, lookahead());
-        readNextToken();
-
-        assert DEBUG("; parser is now in state " + currentState() +
-            " with lookahead " + lookahead().toString().replaceAll("\\r", "\\\\r").replaceAll("\\n", "\\\\n") + "\n");
-
-        assert parserStack.invariants();
-    }
-
-    /**
-     * Reduces the top several symbols on the stack and transitions the parser
-     * to a new state.
-     * <p>
-     * The number of symbols to reduce and the nonterminal to reduce to are
-     * determined by the given production.  After that has been done, the next
-     * state is determined by the top state on the <code>parserStack</code>.
-     */
-    protected void reduce(int productionIndex)
-    {
-        assert 0 <= productionIndex && productionIndex < NUM_PRODUCTIONS;
-
-        assert DEBUG("Reducing by " + Production.get(productionIndex));
-
-        int symbolsToPop = Production.get(productionIndex).length();
-
-        assert parserStack.numValues() >= symbolsToPop;
-
-        Stack<Object> valueStack = parserStack.getValueStack();
-        int valueStackSize = valueStack.size();
-        int valueStackOffset = valueStackSize - symbolsToPop;
-        Object reduceToObject = semanticActions.handle(productionIndex,
-                                                       valueStack,
-                                                       valueStackOffset,
-                                                       valueStackSize,
-                                                       errorInfo);
-
-        for (int i = 0; i < symbolsToPop; i++)
-            parserStack.pop();
-
-        Nonterminal reduceToNonterm = Production.get(productionIndex).getLHS();
-        int nextState = parsingTables.getGoTo(currentState(), reduceToNonterm);
-
-        assert DEBUG("; parser is now in state " + currentState() +
-            " with lookahead " + lookahead().toString().replaceAll("\\r", "\\\\r").replaceAll("\\n", "\\\\n") + "\n");
-
-        parserStack.push(nextState, reduceToObject);
-        assert parserStack.invariants();
-    }
-
-    /**
-     * Halts the parser, indicating that parsing has completed successfully.
-     */
-    protected void accept()
-    {
-        assert parserStack.invariants();
-
-        assert DEBUG("Parsing completed successfully\n");
-
-        doneParsing = true;
-    }
-
-    /**
-     * Halts the parser, indicating that a syntax error was found and error
-     * recovery did not succeed.
-     */
-    protected void syntaxError() throws IOException, LexerException, SyntaxException
-    {
-        throw new SyntaxException(parserStack.getLookahead(), describeTerminalsExpectedInCurrentState());
-    }
-
-    /**
-     * Returns a list of terminal symbols that would not immediately lead the
-     * parser to an error state if they were to appear as the next token,
-     * given the current state of the parser.
-     * <p>
-     * This method may be used to produce an informative error message (see
-     * {@link #describeTerminalsExpectedInCurrentState()}.
-     *
-     * @return a list of <code>Terminal</code> symbols (possibly empty, but
-     *         never <code>null</code>)
-     */
-    public List<Terminal> getTerminalsExpectedInCurrentState()
-    {
-        List<Terminal> result = new ArrayList<Terminal>();
-        for (int i = 0; i < NUM_TERMINALS; i++)
-            if (parsingTables.getActionCode(currentState(), i) != 0)
-                result.add(terminals.get(i));
-        return result;
-    }
-
-    /**
-     * Returns a human-readable description of the terminal symbols that
-     * would not immediately lead the parser to an error state if they
-     * were to appear as the next token, given the current state of the
-     * parser.
-     * <p>
-     * This method is generally used to produce an informative error message.
-     * For other purposes, see {@link #getTerminalsExpectedInCurrentState()}.
-     *
-     * @return a (non-<code>null</code>) <code>String</code>
-     */
-    public String describeTerminalsExpectedInCurrentState()
-    {
-        return describe(getTerminalsExpectedInCurrentState());
-    }
-
-    /**
-     * Returns a human-readable description of the terminal symbols that
-     * are passed as an argument.
-     * <p>
-     * The terminal descriptions are determined by {@link Terminal#toString}
-     * and are separated by commas.  If the list is empty (or <code>null</code>),
-     * returns "(none)".
-     *
-     * @return a (non-<code>null</code>) <code>String</code>
-     */
-    public static String describe(List<Terminal> terminals)
-    {
-        if (terminals == null || terminals.isEmpty()) return "(none)";
-
-        StringBuilder sb = new StringBuilder();
-        for (Terminal t : terminals)
-        {
-            sb.append(", ");
-            sb.append(t);
-        }
-        return sb.substring(2);
-    }
-
-    /**
-     * Returns the current state (the state on top of the parser stack).
-     *
-     * @return the current state, 0 <= result < NUM_STATES
-     */
-    protected int currentState()
-    {
-        return parserStack.topState();
-    }
-
-    protected org.eclipse.photran.internal.core.lexer.Token lookahead()
-    {
-        return parserStack.getLookahead();
-    }
-
-    /**
-     * Uses error productions in the grammar to attempt to recover from a
-     * syntax error.
-     * <p>
-     * States are popped from the stack until a &quot;known&quot; sequence
-     * of symbols (those to the left of the &quot;(error)&quot; symbol in
-     * an error production) is found.  Then, tokens are discarded until
-     * the lookahead token for that production (the terminal following the
-     * &quot;(error)&quot; symbol) is discovered.  Then all of the discarded
-     * symbols and the lookahead are passed to the semantic action handler
-     * for that error production, and parsing continues normally.
-     *
-     * @return true if, and only if, recovery was successful
-     */
-    protected boolean attemptToRecoverFromSyntaxError() throws IOException, LexerException, SyntaxException
-    {
-        assert DEBUG("Syntax error detected; attempting to recover\n");
-
-        errorInfo = new ErrorRecoveryInfo(currentState(), lookahead(), getTerminalsExpectedInCurrentState());
-        org.eclipse.photran.internal.core.lexer.Token originalLookahead = lookahead();
-
-        while (!doneParsing)
-        {
-            int code = parsingTables.getRecoveryCode(currentState(), lookahead());
-
-            int action = code & ParsingTables.ACTION_MASK;
-            int value  = code & ParsingTables.VALUE_MASK;
-
-            switch (action)
-            {
-               case ParsingTables.DISCARD_STATE_ACTION:
-                   if (parserStack.numStates() > 1)
-                       errorInfo.prependDiscardedSymbol(parserStack.pop());
-                   doneParsing = parserStack.numStates() <= 1;
-                   break;
-
-                case ParsingTables.DISCARD_TERMINAL_ACTION:
-                    errorInfo.appendDiscardedSymbol(lookahead());
-                    readNextToken();
-                    doneParsing = (lookahead().getTerminal() == Terminal.END_OF_INPUT);
-                    break;
-
-                case ParsingTables.RECOVER_ACTION:
-                    errorInfo.appendDiscardedSymbol(lookahead());
-                    semanticActions.onErrorRecovery(errorInfo);
-                    reduce(value);
-                    if (lookahead().getTerminal() != Terminal.END_OF_INPUT)
-                        readNextToken(); // Skip past error production lookahead
-                    errorInfo = null;
-                    assert parserStack.numValues() >= 1;
-                    assert parserStack.invariants();
-
-                    assert DEBUG("Successfully recovered from syntax error\n");
-
-                    return true;
-
-                default:
-                    throw new IllegalStateException();
-            }
-        }
-
-        // Recovery failed
-        parserStack.setLookahead(originalLookahead);
-        errorInfo = null;
-        doneParsing = true;
-
-        assert DEBUG("Unable to recover from syntax error\n");
-
-        return false;
-    }
-
-    /** Prints the given message to the {@link #DEBUG} <code>OutputStream</code> and
-        returns <code>true</code> (so this may be used in <code>assert</code> statement) */
-    protected boolean DEBUG(String message)
-    {
-        try
-        {
-            DEBUG.write(message.getBytes());
-            DEBUG.flush();
-        }
-        catch (IOException e)
-        {
-            throw new Error(e);
-        }
-        return true;
-    }
-
-    /**
-     * The parser stack, which contains states as well as values returned from user code.
-     */
-    protected static final class ParserStack
-    {
-        /** The next token to process (the lookahead). */
-        protected org.eclipse.photran.internal.core.lexer.Token lookahead;
-
-        /**
-         * A stack holding parser states.  Parser states are non-negative integers.
-         * <p>
-         * This stack operates in parallel with <code>valueStack</code> and always
-         * contains exactly one more symbol than <code>valueStack</code>.
-         */
-        protected IntStack stateStack;
-
-        /**
-         * A stack holding objects returned from user code.
-         * <p>
-         * Textbook descriptions of LR parsers often show terminal and nonterminal
-         * bothsymbols on the parser stack.  In actuality, terminals and
-         * nonterminals are not stored: The objects returned from the
-         * user's semantic actions are stored instead.  So when a reduce action is
-         * made and the user's code, perhaps <code>return lhs + rhs</code>, is run,
-         * this is where that result is stored.
-         */
-        protected Stack<Object> valueStack;
-
-        /** Class invariants */
-        public boolean invariants() { return stateStack.size() == valueStack.size() + 1; }
-
-        public ParserStack()
-        {
-            this.stateStack = new IntStack();
-            this.valueStack = new Stack<Object>();
-
-            // The parser starts in state 0
-            stateStack.push(0);
-        }
-
-        public ParserStack(ParserStack copyFrom)
-        {
-            this.stateStack = new IntStack(copyFrom.stateStack);
-
-            this.valueStack = new Stack<Object>();
-            this.valueStack.addAll(copyFrom.valueStack);
-        }
-
-        public void push(int state, Object lookahead)
-        {
-            stateStack.push(state);
-            valueStack.push(lookahead);
-        }
-
-        public Stack<Object> getValueStack()
-        {
-            return valueStack;
-        }
-
-        public int numStates()
-        {
-            return stateStack.size();
-        }
-
-        public int numValues()
-        {
-            return valueStack.size();
-        }
-
-        public Object pop()
-        {
-            stateStack.pop();
-            return valueStack.pop();
-        }
-
-        public int topState()
-        {
-            assert !stateStack.isEmpty();
-
-            return stateStack.top();
-        }
-
-        public Object topValue()
-        {
-            assert !valueStack.isEmpty();
-
-            return valueStack.peek();
-        }
-
-        public void setLookahead(org.eclipse.photran.internal.core.lexer.Token lookahead)
-        {
-            this.lookahead = lookahead;
-        }
-
-        public org.eclipse.photran.internal.core.lexer.Token getLookahead()
-        {
-            return this.lookahead;
-        }
-
-        @Override public String toString()
-        {
-            return this.valueStack.toString() + " with lookahead " + this.lookahead;
-        }
-    }
-
-
-    protected static HashMap<Integer, Terminal> terminals = new HashMap<Integer, Terminal>();
-    static HashMap<Terminal, Integer> terminalIndices = new HashMap<Terminal, Integer>();
-
-    static
-    {
-        terminals.put(0, Terminal.T_BLOCK);
-        terminalIndices.put(Terminal.T_BLOCK, 0);
-        terminals.put(1, Terminal.T_CLOSE);
-        terminalIndices.put(Terminal.T_CLOSE, 1);
-        terminals.put(2, Terminal.T_GE);
-        terminalIndices.put(Terminal.T_GE, 2);
-        terminals.put(3, Terminal.T_CONTAINS);
-        terminalIndices.put(Terminal.T_CONTAINS, 3);
-        terminals.put(4, Terminal.T_ABSTRACT);
-        terminalIndices.put(Terminal.T_ABSTRACT, 4);
-        terminals.put(5, Terminal.T_NOPASS);
-        terminalIndices.put(Terminal.T_NOPASS, 5);
-        terminals.put(6, Terminal.T_CLASS);
-        terminalIndices.put(Terminal.T_CLASS, 6);
-        terminals.put(7, Terminal.T_LESSTHAN);
-        terminalIndices.put(Terminal.T_LESSTHAN, 7);
-        terminals.put(8, Terminal.T_KINDEQ);
-        terminalIndices.put(Terminal.T_KINDEQ, 8);
-        terminals.put(9, Terminal.T_ENDSUBROUTINE);
-        terminalIndices.put(Terminal.T_ENDSUBROUTINE, 9);
-        terminals.put(10, Terminal.T_ASYNCHRONOUSEQ);
-        terminalIndices.put(Terminal.T_ASYNCHRONOUSEQ, 10);
-        terminals.put(11, Terminal.T_GT);
-        terminalIndices.put(Terminal.T_GT, 11);
-        terminals.put(12, Terminal.T_IDENT);
-        terminalIndices.put(Terminal.T_IDENT, 12);
-        terminals.put(13, Terminal.T_RETURN);
-        terminalIndices.put(Terminal.T_RETURN, 13);
-        terminals.put(14, Terminal.T_INTERFACE);
-        terminalIndices.put(Terminal.T_INTERFACE, 14);
-        terminals.put(15, Terminal.T_CALL);
-        terminalIndices.put(Terminal.T_CALL, 15);
-        terminals.put(16, Terminal.T_SLASHSLASH);
-        terminalIndices.put(Terminal.T_SLASHSLASH, 16);
-        terminals.put(17, Terminal.T_EOS);
-        terminalIndices.put(Terminal.T_EOS, 17);
-        terminals.put(18, Terminal.T_GO);
-        terminalIndices.put(Terminal.T_GO, 18);
-        terminals.put(19, Terminal.T_PERCENT);
-        terminalIndices.put(Terminal.T_PERCENT, 19);
-        terminals.put(20, Terminal.T_AND);
-        terminalIndices.put(Terminal.T_AND, 20);
-        terminals.put(21, Terminal.T_PRINT);
-        terminalIndices.put(Terminal.T_PRINT, 21);
-        terminals.put(22, Terminal.T_SUBROUTINE);
-        terminalIndices.put(Terminal.T_SUBROUTINE, 22);
-        terminals.put(23, Terminal.T_ENUMERATOR);
-        terminalIndices.put(Terminal.T_ENUMERATOR, 23);
-        terminals.put(24, Terminal.T_LPARENSLASH);
-        terminalIndices.put(Terminal.T_LPARENSLASH, 24);
-        terminals.put(25, Terminal.T_STOP);
-        terminalIndices.put(Terminal.T_STOP, 25);
-        terminals.put(26, Terminal.T_KIND);
-        terminalIndices.put(Terminal.T_KIND, 26);
-        terminals.put(27, Terminal.T_ALLOCATABLE);
-        terminalIndices.put(Terminal.T_ALLOCATABLE, 27);
-        terminals.put(28, Terminal.T_ENDINTERFACE);
-        terminalIndices.put(Terminal.T_ENDINTERFACE, 28);
-        terminals.put(29, Terminal.T_END);
-        terminalIndices.put(Terminal.T_END, 29);
-        terminals.put(30, Terminal.T_ASTERISK);
-        terminalIndices.put(Terminal.T_ASTERISK, 30);
-        terminals.put(31, Terminal.T_PRIVATE);
-        terminalIndices.put(Terminal.T_PRIVATE, 31);
-        terminals.put(32, Terminal.T_NAMEEQ);
-        terminalIndices.put(Terminal.T_NAMEEQ, 32);
-        terminals.put(33, Terminal.T_STATUSEQ);
-        terminalIndices.put(Terminal.T_STATUSEQ, 33);
-        terminals.put(34, Terminal.T_LENEQ);
-        terminalIndices.put(Terminal.T_LENEQ, 34);
-        terminals.put(35, Terminal.T_DOUBLEPRECISION);
-        terminalIndices.put(Terminal.T_DOUBLEPRECISION, 35);
-        terminals.put(36, Terminal.T_HCON);
-        terminalIndices.put(Terminal.T_HCON, 36);
-        terminals.put(37, Terminal.T_ALL);
-        terminalIndices.put(Terminal.T_ALL, 37);
-        terminals.put(38, Terminal.T_IMPLICIT);
-        terminalIndices.put(Terminal.T_IMPLICIT, 38);
-        terminals.put(39, Terminal.T_CASE);
-        terminalIndices.put(Terminal.T_CASE, 39);
-        terminals.put(40, Terminal.T_IF);
-        terminalIndices.put(Terminal.T_IF, 40);
-        terminals.put(41, Terminal.T_THEN);
-        terminalIndices.put(Terminal.T_THEN, 41);
-        terminals.put(42, Terminal.END_OF_INPUT);
-        terminalIndices.put(Terminal.END_OF_INPUT, 42);
-        terminals.put(43, Terminal.T_X_IMPL);
-        terminalIndices.put(Terminal.T_X_IMPL, 43);
-        terminals.put(44, Terminal.T_DIMENSION);
-        terminalIndices.put(Terminal.T_DIMENSION, 44);
-        terminals.put(45, Terminal.T_XDOP);
-        terminalIndices.put(Terminal.T_XDOP, 45);
-        terminals.put(46, Terminal.T_STATEQ);
-        terminalIndices.put(Terminal.T_STATEQ, 46);
-        terminals.put(47, Terminal.T_GOTO);
-        terminalIndices.put(Terminal.T_GOTO, 47);
-        terminals.put(48, Terminal.T_IS);
-        terminalIndices.put(Terminal.T_IS, 48);
-        terminals.put(49, Terminal.T_ENDMODULE);
-        terminalIndices.put(Terminal.T_ENDMODULE, 49);
-        terminals.put(50, Terminal.T_WRITE);
-        terminalIndices.put(Terminal.T_WRITE, 50);
-        terminals.put(51, Terminal.T_IN);
-        terminalIndices.put(Terminal.T_IN, 51);
-        terminals.put(52, Terminal.T_DATA);
-        terminalIndices.put(Terminal.T_DATA, 52);
-        terminals.put(53, Terminal.T_SUBMODULE);
-        terminalIndices.put(Terminal.T_SUBMODULE, 53);
-        terminals.put(54, Terminal.T_FALSE);
-        terminalIndices.put(Terminal.T_FALSE, 54);
-        terminals.put(55, Terminal.T_DIRECTEQ);
-        terminalIndices.put(Terminal.T_DIRECTEQ, 55);
-        terminals.put(56, Terminal.T_RECLEQ);
-        terminalIndices.put(Terminal.T_RECLEQ, 56);
-        terminals.put(57, Terminal.T_ENDCRITICAL);
-        terminalIndices.put(Terminal.T_ENDCRITICAL, 57);
-        terminals.put(58, Terminal.T_ACTIONEQ);
-        terminalIndices.put(Terminal.T_ACTIONEQ, 58);
-        terminals.put(59, Terminal.T_ENDIF);
-        terminalIndices.put(Terminal.T_ENDIF, 59);
-        terminals.put(60, Terminal.T_WHERE);
-        terminalIndices.put(Terminal.T_WHERE, 60);
-        terminals.put(61, Terminal.T_SLASH);
-        terminalIndices.put(Terminal.T_SLASH, 61);
-        terminals.put(62, Terminal.T_GENERIC);
-        terminalIndices.put(Terminal.T_GENERIC, 62);
-        terminals.put(63, Terminal.T_RECURSIVE);
-        terminalIndices.put(Terminal.T_RECURSIVE, 63);
-        terminals.put(64, Terminal.T_ELSEIF);
-        terminalIndices.put(Terminal.T_ELSEIF, 64);
-        terminals.put(65, Terminal.T_BLOCKDATA);
-        terminalIndices.put(Terminal.T_BLOCKDATA, 65);
-        terminals.put(66, Terminal.T_MINUS);
-        terminalIndices.put(Terminal.T_MINUS, 66);
-        terminals.put(67, Terminal.T_SELECT);
-        terminalIndices.put(Terminal.T_SELECT, 67);
-        terminals.put(68, Terminal.T_READEQ);
-        terminalIndices.put(Terminal.T_READEQ, 68);
-        terminals.put(69, Terminal.T_ALLSTOP);
-        terminalIndices.put(Terminal.T_ALLSTOP, 69);
-        terminals.put(70, Terminal.T_SLASHRPAREN);
-        terminalIndices.put(Terminal.T_SLASHRPAREN, 70);
-        terminals.put(71, Terminal.T_IOMSGEQ);
-        terminalIndices.put(Terminal.T_IOMSGEQ, 71);
-        terminals.put(72, Terminal.T_WRITEEQ);
-        terminalIndices.put(Terminal.T_WRITEEQ, 72);
-        terminals.put(73, Terminal.T_BCON);
-        terminalIndices.put(Terminal.T_BCON, 73);
-        terminals.put(74, Terminal.T_FINAL);
-        terminalIndices.put(Terminal.T_FINAL, 74);
-        terminals.put(75, Terminal.T_EQGREATERTHAN);
-        terminalIndices.put(Terminal.T_EQGREATERTHAN, 75);
-        terminals.put(76, Terminal.T_UNDERSCORE);
-        terminalIndices.put(Terminal.T_UNDERSCORE, 76);
-        terminals.put(77, Terminal.T_CODIMENSION);
-        terminalIndices.put(Terminal.T_CODIMENSION, 77);
-        terminals.put(78, Terminal.T_PENDINGEQ);
-        terminalIndices.put(Terminal.T_PENDINGEQ, 78);
-        terminals.put(79, Terminal.T_IMPORT);
-        terminalIndices.put(Terminal.T_IMPORT, 79);
-        terminals.put(80, Terminal.T_USE);
-        terminalIndices.put(Terminal.T_USE, 80);
-        terminals.put(81, Terminal.T_ACCESSEQ);
-        terminalIndices.put(Terminal.T_ACCESSEQ, 81);
-        terminals.put(82, Terminal.T_ERREQ);
-        terminalIndices.put(Terminal.T_ERREQ, 82);
-        terminals.put(83, Terminal.T_FILE);
-        terminalIndices.put(Terminal.T_FILE, 83);
-        terminals.put(84, Terminal.T_SCON);
-        terminalIndices.put(Terminal.T_SCON, 84);
-        terminals.put(85, Terminal.T_POW);
-        terminalIndices.put(Terminal.T_POW, 85);
-        terminals.put(86, Terminal.T_RPAREN);
-        terminalIndices.put(Terminal.T_RPAREN, 86);
-        terminals.put(87, Terminal.T_INTENT);
-        terminalIndices.put(Terminal.T_INTENT, 87);
-        terminals.put(88, Terminal.T_FMTEQ);
-        terminalIndices.put(Terminal.T_FMTEQ, 88);
-        terminals.put(89, Terminal.T_ENDBLOCK);
-        terminalIndices.put(Terminal.T_ENDBLOCK, 89);
-        terminals.put(90, Terminal.T_PAUSE);
-        terminalIndices.put(Terminal.T_PAUSE, 90);
-        terminals.put(91, Terminal.T_IMAGES);
-        terminalIndices.put(Terminal.T_IMAGES, 91);
-        terminals.put(92, Terminal.T_BACKSPACE);
-        terminalIndices.put(Terminal.T_BACKSPACE, 92);
-        terminals.put(93, Terminal.T_ENDFILE);
-        terminalIndices.put(Terminal.T_ENDFILE, 93);
-        terminals.put(94, Terminal.T_EQUALS);
-        terminalIndices.put(Terminal.T_EQUALS, 94);
-        terminals.put(95, Terminal.T_NON_INTRINSIC);
-        terminalIndices.put(Terminal.T_NON_INTRINSIC, 95);
-        terminals.put(96, Terminal.T_SELECTCASE);
-        terminalIndices.put(Terminal.T_SELECTCASE, 96);
-        terminals.put(97, Terminal.T_NON_OVERRIDABLE);
-        terminalIndices.put(Terminal.T_NON_OVERRIDABLE, 97);
-        terminals.put(98, Terminal.T_OPEN);
-        terminalIndices.put(Terminal.T_OPEN, 98);
-        terminals.put(99, Terminal.T_ASSOCIATE);
-        terminalIndices.put(Terminal.T_ASSOCIATE, 99);
-        terminals.put(100, Terminal.T_OPERATOR);
-        terminalIndices.put(Terminal.T_OPERATOR, 100);
-        terminals.put(101, Terminal.T_ADVANCEEQ);
-        terminalIndices.put(Terminal.T_ADVANCEEQ, 101);
-        terminals.put(102, Terminal.T_TO);
-        terminalIndices.put(Terminal.T_TO, 102);
-        terminals.put(103, Terminal.T_LESSTHANEQ);
-        terminalIndices.put(Terminal.T_LESSTHANEQ, 103);
-        terminals.put(104, Terminal.T_SIZEEQ);
-        terminalIndices.put(Terminal.T_SIZEEQ, 104);
-        terminals.put(105, Terminal.T_ENDBEFORESELECT);
-        terminalIndices.put(Terminal.T_ENDBEFORESELECT, 105);
-        terminals.put(106, Terminal.T_EQ);
-        terminalIndices.put(Terminal.T_EQ, 106);
-        terminals.put(107, Terminal.T_GREATERTHAN);
-        terminalIndices.put(Terminal.T_GREATERTHAN, 107);
-        terminals.put(108, Terminal.T_EQV);
-        terminalIndices.put(Terminal.T_EQV, 108);
-        terminals.put(109, Terminal.T_ELEMENTAL);
-        terminalIndices.put(Terminal.T_ELEMENTAL, 109);
-        terminals.put(110, Terminal.T_CHARACTER);
-        terminalIndices.put(Terminal.T_CHARACTER, 110);
-        terminals.put(111, Terminal.T_NULLIFY);
-        terminalIndices.put(Terminal.T_NULLIFY, 111);
-        terminals.put(112, Terminal.T_REWIND);
-        terminalIndices.put(Terminal.T_REWIND, 112);
-        terminals.put(113, Terminal.T_UNFORMATTEDEQ);
-        terminalIndices.put(Terminal.T_UNFORMATTEDEQ, 113);
-        terminals.put(114, Terminal.T_BIND);
-        terminalIndices.put(Terminal.T_BIND, 114);
-        terminals.put(115, Terminal.T_POSEQ);
-        terminalIndices.put(Terminal.T_POSEQ, 115);
-        terminals.put(116, Terminal.T_POSITIONEQ);
-        terminalIndices.put(Terminal.T_POSITIONEQ, 116);
-        terminals.put(117, Terminal.T_ENDFORALL);
-        terminalIndices.put(Terminal.T_ENDFORALL, 117);
-        terminals.put(118, Terminal.T_DO);
-        terminalIndices.put(Terminal.T_DO, 118);
-        terminals.put(119, Terminal.T_DELIMEQ);
-        terminalIndices.put(Terminal.T_DELIMEQ, 119);
-        terminals.put(120, Terminal.T_IDEQ);
-        terminalIndices.put(Terminal.T_IDEQ, 120);
-        terminals.put(121, Terminal.T_POINTER);
-        terminalIndices.put(Terminal.T_POINTER, 121);
-        terminals.put(122, Terminal.T_CONVERTEQ);
-        terminalIndices.put(Terminal.T_CONVERTEQ, 122);
-        terminals.put(123, Terminal.T_SYNCALL);
-        terminalIndices.put(Terminal.T_SYNCALL, 123);
-        terminals.put(124, Terminal.T_PROGRAM);
-        terminalIndices.put(Terminal.T_PROGRAM, 124);
-        terminals.put(125, Terminal.T_SYNCIMAGES);
-        terminalIndices.put(Terminal.T_SYNCIMAGES, 125);
-        terminals.put(126, Terminal.T_ENDTYPE);
-        terminalIndices.put(Terminal.T_ENDTYPE, 126);
-        terminals.put(127, Terminal.T_SYNCMEMORY);
-        terminalIndices.put(Terminal.T_SYNCMEMORY, 127);
-        terminals.put(128, Terminal.T_WAIT);
-        terminalIndices.put(Terminal.T_WAIT, 128);
-        terminals.put(129, Terminal.T_UNLOCK);
-        terminalIndices.put(Terminal.T_UNLOCK, 129);
-        terminals.put(130, Terminal.T_GREATERTHANEQ);
-        terminalIndices.put(Terminal.T_GREATERTHANEQ, 130);
-        terminals.put(131, Terminal.T_EXISTEQ);
-        terminalIndices.put(Terminal.T_EXISTEQ, 131);
-        terminals.put(132, Terminal.T_RCON);
-        terminalIndices.put(Terminal.T_RCON, 132);
-        terminals.put(133, Terminal.T_ELSE);
-        terminalIndices.put(Terminal.T_ELSE, 133);
-        terminals.put(134, Terminal.T_IOLENGTHEQ);
-        terminalIndices.put(Terminal.T_IOLENGTHEQ, 134);
-        terminals.put(135, Terminal.T_RBRACKET);
-        terminalIndices.put(Terminal.T_RBRACKET, 135);
-        terminals.put(136, Terminal.T_LPAREN);
-        terminalIndices.put(Terminal.T_LPAREN, 136);
-        terminals.put(137, Terminal.T_EXTENDS);
-        terminalIndices.put(Terminal.T_EXTENDS, 137);
-        terminals.put(138, Terminal.T_OPTIONAL);
-        terminalIndices.put(Terminal.T_OPTIONAL, 138);
-        terminals.put(139, Terminal.T_DOUBLE);
-        terminalIndices.put(Terminal.T_DOUBLE, 139);
-        terminals.put(140, Terminal.T_MODULE);
-        terminalIndices.put(Terminal.T_MODULE, 140);
-        terminals.put(141, Terminal.T_READ);
-        terminalIndices.put(Terminal.T_READ, 141);
-        terminals.put(142, Terminal.T_ALLOCATE);
-        terminalIndices.put(Terminal.T_ALLOCATE, 142);
-        terminals.put(143, Terminal.T_EQUIVALENCE);
-        terminalIndices.put(Terminal.T_EQUIVALENCE, 143);
-        terminals.put(144, Terminal.T_OR);
-        terminalIndices.put(Terminal.T_OR, 144);
-        terminals.put(145, Terminal.T_INTEGER);
-        terminalIndices.put(Terminal.T_INTEGER, 145);
-        terminals.put(146, Terminal.T_ENTRY);
-        terminalIndices.put(Terminal.T_ENTRY, 146);
-        terminals.put(147, Terminal.T_REAL);
-        terminalIndices.put(Terminal.T_REAL, 147);
-        terminals.put(148, Terminal.T_CYCLE);
-        terminalIndices.put(Terminal.T_CYCLE, 148);
-        terminals.put(149, Terminal.T_PROCEDURE);
-        terminalIndices.put(Terminal.T_PROCEDURE, 149);
-        terminals.put(150, Terminal.T_NMLEQ);
-        terminalIndices.put(Terminal.T_NMLEQ, 150);
-        terminals.put(151, Terminal.T_FORMATTEDEQ);
-        terminalIndices.put(Terminal.T_FORMATTEDEQ, 151);
-        terminals.put(152, Terminal.T_ENCODINGEQ);
-        terminalIndices.put(Terminal.T_ENCODINGEQ, 152);
-        terminals.put(153, Terminal.T_ENDSELECT);
-        terminalIndices.put(Terminal.T_ENDSELECT, 153);
-        terminals.put(154, Terminal.T_PURE);
-        terminalIndices.put(Terminal.T_PURE, 154);
-        terminals.put(155, Terminal.T_ICON);
-        terminalIndices.put(Terminal.T_ICON, 155);
-        terminals.put(156, Terminal.T_TRUE);
-        terminalIndices.put(Terminal.T_TRUE, 156);
-        terminals.put(157, Terminal.T_SEQUENTIALEQ);
-        terminalIndices.put(Terminal.T_SEQUENTIALEQ, 157);
-        terminals.put(158, Terminal.T_LOCK);
-        terminalIndices.put(Terminal.T_LOCK, 158);
-        terminals.put(159, Terminal.T_NE);
-        terminalIndices.put(Terminal.T_NE, 159);
-        terminals.put(160, Terminal.T_BLANKEQ);
-        terminalIndices.put(Terminal.T_BLANKEQ, 160);
-        terminals.put(161, Terminal.T_INTRINSIC);
-        terminalIndices.put(Terminal.T_INTRINSIC, 161);
-        terminals.put(162, Terminal.T_READWRITEEQ);
-        terminalIndices.put(Terminal.T_READWRITEEQ, 162);
-        terminals.put(163, Terminal.T_PASS);
-        terminalIndices.put(Terminal.T_PASS, 163);
-        terminals.put(164, Terminal.T_RECEQ);
-        terminalIndices.put(Terminal.T_RECEQ, 164);
-        terminals.put(165, Terminal.T_ZCON);
-        terminalIndices.put(Terminal.T_ZCON, 165);
-        terminals.put(166, Terminal.T_ENDWHERE);
-        terminalIndices.put(Terminal.T_ENDWHERE, 166);
-        terminals.put(167, Terminal.T_ENDSUBMODULE);
-        terminalIndices.put(Terminal.T_ENDSUBMODULE, 167);
-        terminals.put(168, Terminal.T_FORMAT);
-        terminalIndices.put(Terminal.T_FORMAT, 168);
-        terminals.put(169, Terminal.T_DEFAULT);
-        terminalIndices.put(Terminal.T_DEFAULT, 169);
-        terminals.put(170, Terminal.T_EQEQ);
-        terminalIndices.put(Terminal.T_EQEQ, 170);
-        terminals.put(171, Terminal.T_ROUNDEQ);
-        terminalIndices.put(Terminal.T_ROUNDEQ, 171);
-        terminals.put(172, Terminal.T_NONE);
-        terminalIndices.put(Terminal.T_NONE, 172);
-        terminals.put(173, Terminal.T_NAMELIST);
-        terminalIndices.put(Terminal.T_NAMELIST, 173);
-        terminals.put(174, Terminal.T_SEQUENCE);
-        terminalIndices.put(Terminal.T_SEQUENCE, 174);
-        terminals.put(175, Terminal.T_PRECISION);
-        terminalIndices.put(Terminal.T_PRECISION, 175);
-        terminals.put(176, Terminal.T_NAMEDEQ);
-        terminalIndices.put(Terminal.T_NAMEDEQ, 176);
-        terminals.put(177, Terminal.T_ASYNCHRONOUS);
-        terminalIndices.put(Terminal.T_ASYNCHRONOUS, 177);
-        terminals.put(178, Terminal.T_DECIMALEQ);
-        terminalIndices.put(Terminal.T_DECIMALEQ, 178);
-        terminals.put(179, Terminal.T_COMMA);
-        terminalIndices.put(Terminal.T_COMMA, 179);
-        terminals.put(180, Terminal.T_CRITICAL);
-        terminalIndices.put(Terminal.T_CRITICAL, 180);
-        terminals.put(181, Terminal.T_ENDBLOCKDATA);
-        terminalIndices.put(Terminal.T_ENDBLOCKDATA, 181);
-        terminals.put(182, Terminal.T_RESULT);
-        terminalIndices.put(Terminal.T_RESULT, 182);
-        terminals.put(183, Terminal.T_VALUE);
-        terminalIndices.put(Terminal.T_VALUE, 183);
-        terminals.put(184, Terminal.T_LOGICAL);
-        terminalIndices.put(Terminal.T_LOGICAL, 184);
-        terminals.put(185, Terminal.T_FORALL);
-        terminalIndices.put(Terminal.T_FORALL, 185);
-        terminals.put(186, Terminal.T_SLASHEQ);
-        terminalIndices.put(Terminal.T_SLASHEQ, 186);
-        terminals.put(187, Terminal.T_SAVE);
-        terminalIndices.put(Terminal.T_SAVE, 187);
-        terminals.put(188, Terminal.T_SIGNEQ);
-        terminalIndices.put(Terminal.T_SIGNEQ, 188);
-        terminals.put(189, Terminal.T_SYNC);
-        terminalIndices.put(Terminal.T_SYNC, 189);
-        terminals.put(190, Terminal.T_WHILE);
-        terminalIndices.put(Terminal.T_WHILE, 190);
-        terminals.put(191, Terminal.T_INQUIRE);
-        terminalIndices.put(Terminal.T_INQUIRE, 191);
-        terminals.put(192, Terminal.T_DEFERRED);
-        terminalIndices.put(Terminal.T_DEFERRED, 192);
-        terminals.put(193, Terminal.T_FILEEQ);
-        terminalIndices.put(Terminal.T_FILEEQ, 193);
-        terminals.put(194, Terminal.T_DCON);
-        terminalIndices.put(Terminal.T_DCON, 194);
-        terminals.put(195, Terminal.T_ASSIGN);
-        terminalIndices.put(Terminal.T_ASSIGN, 195);
-        terminals.put(196, Terminal.T_LBRACKET);
-        terminalIndices.put(Terminal.T_LBRACKET, 196);
-        terminals.put(197, Terminal.T_NUMBEREQ);
-        terminalIndices.put(Terminal.T_NUMBEREQ, 197);
-        terminals.put(198, Terminal.T_NEXTRECEQ);
-        terminalIndices.put(Terminal.T_NEXTRECEQ, 198);
-        terminals.put(199, Terminal.T_EXTERNAL);
-        terminalIndices.put(Terminal.T_EXTERNAL, 199);
-        terminals.put(200, Terminal.T_VOLATILE);
-        terminalIndices.put(Terminal.T_VOLATILE, 200);
-        terminals.put(201, Terminal.T_OUT);
-        terminalIndices.put(Terminal.T_OUT, 201);
-        terminals.put(202, Terminal.T_FORMEQ);
-        terminalIndices.put(Terminal.T_FORMEQ, 202);
-        terminals.put(203, Terminal.T_ENDPROCEDURE);
-        terminalIndices.put(Terminal.T_ENDPROCEDURE, 203);
-        terminals.put(204, Terminal.T_PADEQ);
-        terminalIndices.put(Terminal.T_PADEQ, 204);
-        terminals.put(205, Terminal.T_FCON);
-        terminalIndices.put(Terminal.T_FCON, 205);
-        terminals.put(206, Terminal.T_NULL);
-        terminalIndices.put(Terminal.T_NULL, 206);
-        terminals.put(207, Terminal.T_EOREQ);
-        terminalIndices.put(Terminal.T_EOREQ, 207);
-        terminals.put(208, Terminal.T_COLON);
-        terminalIndices.put(Terminal.T_COLON, 208);
-        terminals.put(209, Terminal.T_COMPLEX);
-        terminalIndices.put(Terminal.T_COMPLEX, 209);
-        terminals.put(210, Terminal.T_PLUS);
-        terminalIndices.put(Terminal.T_PLUS, 210);
-        terminals.put(211, Terminal.T_PROTECTED);
-        terminalIndices.put(Terminal.T_PROTECTED, 211);
-        terminals.put(212, Terminal.T_ONLY);
-        terminalIndices.put(Terminal.T_ONLY, 212);
-        terminals.put(213, Terminal.T_INOUT);
-        terminalIndices.put(Terminal.T_INOUT, 213);
-        terminals.put(214, Terminal.T_COMMON);
-        terminalIndices.put(Terminal.T_COMMON, 214);
-        terminals.put(215, Terminal.T_ENDPROGRAM);
-        terminalIndices.put(Terminal.T_ENDPROGRAM, 215);
-        terminals.put(216, Terminal.T_PUBLIC);
-        terminalIndices.put(Terminal.T_PUBLIC, 216);
-        terminals.put(217, Terminal.T_ENDDO);
-        terminalIndices.put(Terminal.T_ENDDO, 217);
-        terminals.put(218, Terminal.T_NEQV);
-        terminalIndices.put(Terminal.T_NEQV, 218);
-        terminals.put(219, Terminal.T_ENDFUNCTION);
-        terminalIndices.put(Terminal.T_ENDFUNCTION, 219);
-        terminals.put(220, Terminal.T_CONTIGUOUS);
-        terminalIndices.put(Terminal.T_CONTIGUOUS, 220);
-        terminals.put(221, Terminal.T_OPENEDEQ);
-        terminalIndices.put(Terminal.T_OPENEDEQ, 221);
-        terminals.put(222, Terminal.T_IMPURE);
-        terminalIndices.put(Terminal.T_IMPURE, 222);
-        terminals.put(223, Terminal.T_XCON);
-        terminalIndices.put(Terminal.T_XCON, 223);
-        terminals.put(224, Terminal.T_STREAMEQ);
-        terminalIndices.put(Terminal.T_STREAMEQ, 224);
-        terminals.put(225, Terminal.T_ELSEWHERE);
-        terminalIndices.put(Terminal.T_ELSEWHERE, 225);
-        terminals.put(226, Terminal.T_ENUM);
-        terminalIndices.put(Terminal.T_ENUM, 226);
-        terminals.put(227, Terminal.T_PARAMETER);
-        terminalIndices.put(Terminal.T_PARAMETER, 227);
-        terminals.put(228, Terminal.T_TARGET);
-        terminalIndices.put(Terminal.T_TARGET, 228);
-        terminals.put(229, Terminal.T_DOUBLECOMPLEX);
-        terminalIndices.put(Terminal.T_DOUBLECOMPLEX, 229);
-        terminals.put(230, Terminal.T_MEMORY);
-        terminalIndices.put(Terminal.T_MEMORY, 230);
-        terminals.put(231, Terminal.T_TYPE);
-        terminalIndices.put(Terminal.T_TYPE, 231);
-        terminals.put(232, Terminal.T_PCON);
-        terminalIndices.put(Terminal.T_PCON, 232);
-        terminals.put(233, Terminal.T_DEALLOCATE);
-        terminalIndices.put(Terminal.T_DEALLOCATE, 233);
-        terminals.put(234, Terminal.T_LT);
-        terminalIndices.put(Terminal.T_LT, 234);
-        terminals.put(235, Terminal.SKIP);
-        terminalIndices.put(Terminal.SKIP, 235);
-        terminals.put(236, Terminal.T_ENDEQ);
-        terminalIndices.put(Terminal.T_ENDEQ, 236);
-        terminals.put(237, Terminal.T_FUNCTION);
-        terminalIndices.put(Terminal.T_FUNCTION, 237);
-        terminals.put(238, Terminal.T_UNITEQ);
-        terminalIndices.put(Terminal.T_UNITEQ, 238);
-        terminals.put(239, Terminal.T_IOSTATEQ);
-        terminalIndices.put(Terminal.T_IOSTATEQ, 239);
-        terminals.put(240, Terminal.T_LE);
-        terminalIndices.put(Terminal.T_LE, 240);
-        terminals.put(241, Terminal.T_OCON);
-        terminalIndices.put(Terminal.T_OCON, 241);
-        terminals.put(242, Terminal.T_LEN);
-        terminalIndices.put(Terminal.T_LEN, 242);
-        terminals.put(243, Terminal.T_CONTINUE);
-        terminalIndices.put(Terminal.T_CONTINUE, 243);
-        terminals.put(244, Terminal.T_NOT);
-        terminalIndices.put(Terminal.T_NOT, 244);
-        terminals.put(245, Terminal.T_ASSIGNMENT);
-        terminalIndices.put(Terminal.T_ASSIGNMENT, 245);
-        terminals.put(246, Terminal.T_EXIT);
-        terminalIndices.put(Terminal.T_EXIT, 246);
-    }
-
-
-    /**
-     * A nonterminal symbol in the grammar.
-     * <p>
-     * This class enumerates all of the nonterminal symbols in the grammar as
-     * constant <code>Nonterminal</code> objects,
-     */
-    public static final class Nonterminal
-    {
-        public static final Nonterminal CONSTANT = new Nonterminal(0, "<Constant>");
-        public static final Nonterminal INTERFACE_BLOCK = new Nonterminal(1, "<Interface Block>");
-        public static final Nonterminal STMT_FUNCTION_STMT = new Nonterminal(2, "<Stmt Function Stmt>");
-        public static final Nonterminal TYPE_SPEC_NO_PREFIX = new Nonterminal(3, "<Type Spec No Prefix>");
-        public static final Nonterminal FUNCTION_RANGE = new Nonterminal(4, "<Function Range>");
-        public static final Nonterminal OR_OPERAND = new Nonterminal(5, "<Or Operand>");
-        public static final Nonterminal BLOCK_DO_CONSTRUCT = new Nonterminal(6, "<Block Do Construct>");
-        public static final Nonterminal CLOSE_STMT = new Nonterminal(7, "<Close Stmt>");
-        public static final Nonterminal BLOCK_DATA_BODY = new Nonterminal(8, "<Block Data Body>");
-        public static final Nonterminal DATA_STMT_CONSTANT = new Nonterminal(9, "<Data Stmt Constant>");
-        public static final Nonterminal FIELD_SELECTOR = new Nonterminal(10, "<Field Selector>");
-        public static final Nonterminal CASE_VALUE_RANGE = new Nonterminal(11, "<Case Value Range>");
-        public static final Nonterminal GENERIC_BINDING = new Nonterminal(12, "<Generic Binding>");
-        public static final Nonterminal END_BLOCK_STMT = new Nonterminal(13, "<End Block Stmt>");
-        public static final Nonterminal ONLY = new Nonterminal(14, "<Only>");
-        public static final Nonterminal DECLARATION_CONSTRUCT = new Nonterminal(15, "<Declaration Construct>");
-        public static final Nonterminal SELECT_CASE_STMT = new Nonterminal(16, "<Select Case Stmt>");
-        public static final Nonterminal COARRAY_SPEC = new Nonterminal(17, "<Coarray Spec>");
-        public static final Nonterminal END_FUNCTION_STMT = new Nonterminal(18, "<End Function Stmt>");
-        public static final Nonterminal POSITION_SPEC_LIST = new Nonterminal(19, "<Position Spec List>");
-        public static final Nonterminal ALLOCATED_SHAPE = new Nonterminal(20, "<Allocated Shape>");
-        public static final Nonterminal ENUMERATOR_LIST = new Nonterminal(21, "<Enumerator List>");
-        public static final Nonterminal SEPARATE_MODULE_SUBPROGRAM = new Nonterminal(22, "<Separate Module Subprogram>");
-        public static final Nonterminal ACCESS_STMT = new Nonterminal(23, "<Access Stmt>");
-        public static final Nonterminal FUNCTION_ARG_LIST = new Nonterminal(24, "<Function Arg List>");
-        public static final Nonterminal OBJECT_NAME = new Nonterminal(25, "<Object Name>");
-        public static final Nonterminal SUBROUTINE_RANGE = new Nonterminal(26, "<Subroutine Range>");
-        public static final Nonterminal NOT_OP = new Nonterminal(27, "<Not Op>");
-        public static final Nonterminal SYNC_STAT_LIST = new Nonterminal(28, "<Sync Stat List>");
-        public static final Nonterminal PROC_INTERFACE = new Nonterminal(29, "<Proc Interface>");
-        public static final Nonterminal UNIT_IDENTIFIER = new Nonterminal(30, "<Unit Identifier>");
-        public static final Nonterminal INTENT_PAR_LIST = new Nonterminal(31, "<Intent Par List>");
-        public static final Nonterminal SAVE_STMT = new Nonterminal(32, "<Save Stmt>");
-        public static final Nonterminal MODULE_BODY = new Nonterminal(33, "<Module Body>");
-        public static final Nonterminal SUBROUTINE_PAR = new Nonterminal(34, "<Subroutine Par>");
-        public static final Nonterminal SFTERM = new Nonterminal(35, "<SFTerm>");
-        public static final Nonterminal FORALL_CONSTRUCT = new Nonterminal(36, "<Forall Construct>");
-        public static final Nonterminal SFEXPR = new Nonterminal(37, "<SFExpr>");
-        public static final Nonterminal COMMON_BLOCK = new Nonterminal(38, "<Common Block>");
-        public static final Nonterminal DATA_STMT_OBJECT = new Nonterminal(39, "<Data Stmt Object>");
-        public static final Nonterminal CRAY_POINTER_STMT_OBJECT = new Nonterminal(40, "<Cray Pointer Stmt Object>");
-        public static final Nonterminal COMPONENT_ATTR_SPEC = new Nonterminal(41, "<Component Attr Spec>");
-        public static final Nonterminal FORALL_TRIPLET_SPEC_LIST = new Nonterminal(42, "<Forall Triplet Spec List>");
-        public static final Nonterminal USE_STMT = new Nonterminal(43, "<Use Stmt>");
-        public static final Nonterminal CRITICAL_CONSTRUCT = new Nonterminal(44, "<Critical Construct>");
-        public static final Nonterminal STRUCTURE_COMPONENT = new Nonterminal(45, "<Structure Component>");
-        public static final Nonterminal SUBROUTINE_STMT = new Nonterminal(46, "<Subroutine Stmt>");
-        public static final Nonterminal PROCEDURE_NAME = new Nonterminal(47, "<Procedure Name>");
-        public static final Nonterminal PROGRAM_STMT = new Nonterminal(48, "<Program Stmt>");
-        public static final Nonterminal OR_OP = new Nonterminal(49, "<Or Op>");
-        public static final Nonterminal COMMON_BLOCK_OBJECT_LIST = new Nonterminal(50, "<Common Block Object List>");
-        public static final Nonterminal DATALIST = new Nonterminal(51, "<Datalist>");
-        public static final Nonterminal CASE_SELECTOR = new Nonterminal(52, "<Case Selector>");
-        public static final Nonterminal NAME = new Nonterminal(53, "<Name>");
-        public static final Nonterminal PROC_ATTR_SPEC = new Nonterminal(54, "<Proc Attr Spec>");
-        public static final Nonterminal SFDUMMY_ARG_NAME_LIST = new Nonterminal(55, "<SFDummy Arg Name List>");
-        public static final Nonterminal INTENT_PAR = new Nonterminal(56, "<Intent Par>");
-        public static final Nonterminal TYPE_PARAM_NAME_LIST = new Nonterminal(57, "<Type Param Name List>");
-        public static final Nonterminal COMPONENT_ATTR_SPEC_LIST = new Nonterminal(58, "<Component Attr Spec List>");
-        public static final Nonterminal DERIVED_TYPE_SPEC = new Nonterminal(59, "<Derived Type Spec>");
-        public static final Nonterminal SFFACTOR = new Nonterminal(60, "<SFFactor>");
-        public static final Nonterminal SUBMODULE_STMT = new Nonterminal(61, "<Submodule Stmt>");
-        public static final Nonterminal INTRINSIC_LIST = new Nonterminal(62, "<Intrinsic List>");
-        public static final Nonterminal ENUM_DEF = new Nonterminal(63, "<Enum Def>");
-        public static final Nonterminal UNLOCK_STMT = new Nonterminal(64, "<Unlock Stmt>");
-        public static final Nonterminal IMAGE_SET = new Nonterminal(65, "<Image Set>");
-        public static final Nonterminal ELSE_IF_STMT = new Nonterminal(66, "<Else If Stmt>");
-        public static final Nonterminal POWER_OP = new Nonterminal(67, "<Power Op>");
-        public static final Nonterminal COMPLEX_CONST = new Nonterminal(68, "<Complex Const>");
-        public static final Nonterminal FINAL_BINDING = new Nonterminal(69, "<Final Binding>");
-        public static final Nonterminal USE_NAME = new Nonterminal(70, "<Use Name>");
-        public static final Nonterminal END_DO_STMT = new Nonterminal(71, "<End Do Stmt>");
-        public static final Nonterminal ALLOCATE_COARRAY_SPEC = new Nonterminal(72, "<Allocate Coarray Spec>");
-        public static final Nonterminal ARRAY_NAME = new Nonterminal(73, "<Array Name>");
-        public static final Nonterminal ARRAY_DECLARATOR_LIST = new Nonterminal(74, "<Array Declarator List>");
-        public static final Nonterminal ASSOCIATE_BODY = new Nonterminal(75, "<Associate Body>");
-        public static final Nonterminal VARIABLE = new Nonterminal(76, "<Variable>");
-        public static final Nonterminal TYPE_GUARD_STMT = new Nonterminal(77, "<Type Guard Stmt>");
-        public static final Nonterminal ALLOCATE_OBJECT_LIST = new Nonterminal(78, "<Allocate Object List>");
-        public static final Nonterminal COMPONENT_DEF_STMT = new Nonterminal(79, "<Component Def Stmt>");
-        public static final Nonterminal WRITE_STMT = new Nonterminal(80, "<Write Stmt>");
-        public static final Nonterminal END_ENUM_STMT = new Nonterminal(81, "<End Enum Stmt>");
-        public static final Nonterminal MULT_OPERAND = new Nonterminal(82, "<Mult Operand>");
-        public static final Nonterminal INTENT_SPEC = new Nonterminal(83, "<Intent Spec>");
-        public static final Nonterminal DATA_STMT = new Nonterminal(84, "<Data Stmt>");
-        public static final Nonterminal CODIMENSION_DECL = new Nonterminal(85, "<Codimension Decl>");
-        public static final Nonterminal INTERFACE_BLOCK_BODY = new Nonterminal(86, "<Interface Block Body>");
-        public static final Nonterminal ELSE_WHERE_PART = new Nonterminal(87, "<Else Where Part>");
-        public static final Nonterminal END_SUBMODULE_STMT = new Nonterminal(88, "<End Submodule Stmt>");
-        public static final Nonterminal ENTITY_DECL_LIST = new Nonterminal(89, "<Entity Decl List>");
-        public static final Nonterminal PROC_DECL_LIST = new Nonterminal(90, "<Proc Decl List>");
-        public static final Nonterminal NAMED_CONSTANT_DEF = new Nonterminal(91, "<Named Constant Def>");
-        public static final Nonterminal WHERE_BODY_CONSTRUCT = new Nonterminal(92, "<Where Body Construct>");
-        public static final Nonterminal BLOCK_STMT = new Nonterminal(93, "<Block Stmt>");
-        public static final Nonterminal PROCEDURE_DECLARATION_STMT = new Nonterminal(94, "<Procedure Declaration Stmt>");
-        public static final Nonterminal DATA_IDO_OBJECT = new Nonterminal(95, "<Data IDo Object>");
-        public static final Nonterminal TARGET = new Nonterminal(96, "<Target>");
-        public static final Nonterminal SUBMODULE = new Nonterminal(97, "<Submodule>");
-        public static final Nonterminal SUBROUTINE_ARG = new Nonterminal(98, "<Subroutine Arg>");
-        public static final Nonterminal END_TYPE_STMT = new Nonterminal(99, "<End Type Stmt>");
-        public static final Nonterminal END_IF_STMT = new Nonterminal(100, "<End If Stmt>");
-        public static final Nonterminal ENUMERATOR = new Nonterminal(101, "<Enumerator>");
-        public static final Nonterminal ASSIGNED_GOTO_STMT = new Nonterminal(102, "<Assigned Goto Stmt>");
-        public static final Nonterminal END_CRITICAL_STMT = new Nonterminal(103, "<End Critical Stmt>");
-        public static final Nonterminal SYNC_MEMORY_STMT = new Nonterminal(104, "<Sync Memory Stmt>");
-        public static final Nonterminal EXTERNAL_NAME_LIST = new Nonterminal(105, "<External Name List>");
-        public static final Nonterminal SUBMODULE_BLOCK = new Nonterminal(106, "<Submodule Block>");
-        public static final Nonterminal COMPONENT_INITIALIZATION = new Nonterminal(107, "<Component Initialization>");
-        public static final Nonterminal INITIALIZATION = new Nonterminal(108, "<Initialization>");
-        public static final Nonterminal MODULE_PROCEDURE_STMT = new Nonterminal(109, "<Module Procedure Stmt>");
-        public static final Nonterminal AND_OP = new Nonterminal(110, "<And Op>");
-        public static final Nonterminal ASSUMED_SHAPE_SPEC = new Nonterminal(111, "<Assumed Shape Spec>");
-        public static final Nonterminal POSITION_SPEC = new Nonterminal(112, "<Position Spec>");
-        public static final Nonterminal SELECTOR = new Nonterminal(114, "<Selector>");
-        public static final Nonterminal ASSOCIATE_STMT = new Nonterminal(115, "<Associate Stmt>");
-        public static final Nonterminal ASSIGN_STMT = new Nonterminal(116, "<Assign Stmt>");
-        public static final Nonterminal INTERFACE_SPECIFICATION = new Nonterminal(117, "<Interface Specification>");
-        public static final Nonterminal AC_VALUE = new Nonterminal(118, "<Ac Value>");
-        public static final Nonterminal DERIVED_TYPE_DEF = new Nonterminal(119, "<Derived Type Def>");
-        public static final Nonterminal SFEXPR_LIST = new Nonterminal(120, "<SFExpr List>");
-        public static final Nonterminal IMPLICIT_STMT = new Nonterminal(121, "<Implicit Stmt>");
-        public static final Nonterminal PROC_DECL = new Nonterminal(122, "<Proc Decl>");
-        public static final Nonterminal ASSIGNMENT_STMT = new Nonterminal(123, "<Assignment Stmt>");
-        public static final Nonterminal CONTAINS_STMT = new Nonterminal(124, "<Contains Stmt>");
-        public static final Nonterminal BINDING_ATTR = new Nonterminal(125, "<Binding Attr>");
-        public static final Nonterminal OUTPUT_ITEM_LIST = new Nonterminal(126, "<Output Item List>");
-        public static final Nonterminal ALLOCATION_LIST = new Nonterminal(127, "<Allocation List>");
-        public static final Nonterminal SAVED_ENTITY_LIST = new Nonterminal(128, "<Saved Entity List>");
-        public static final Nonterminal PROTECTED_STMT = new Nonterminal(129, "<Protected Stmt>");
-        public static final Nonterminal FINAL_SUBROUTINE_NAME_LIST = new Nonterminal(130, "<Final Subroutine Name List>");
-        public static final Nonterminal ACCESS_ID_LIST = new Nonterminal(131, "<Access Id List>");
-        public static final Nonterminal TYPE_ATTR_SPEC = new Nonterminal(132, "<Type Attr Spec>");
-        public static final Nonterminal INTERFACE_BODY = new Nonterminal(133, "<Interface Body>");
-        public static final Nonterminal END_INTERFACE_STMT = new Nonterminal(134, "<End Interface Stmt>");
-        public static final Nonterminal OBJECT_LIST = new Nonterminal(135, "<Object List>");
-        public static final Nonterminal TYPE_ATTR_SPEC_LIST = new Nonterminal(136, "<Type Attr Spec List>");
-        public static final Nonterminal COMMON_BLOCK_NAME = new Nonterminal(137, "<Common Block Name>");
-        public static final Nonterminal DUMMY_ARG_NAME = new Nonterminal(138, "<Dummy Arg Name>");
-        public static final Nonterminal UFFACTOR = new Nonterminal(139, "<UFFactor>");
-        public static final Nonterminal PRIVATE_SEQUENCE_STMT = new Nonterminal(140, "<Private Sequence Stmt>");
-        public static final Nonterminal RETURN_STMT = new Nonterminal(141, "<Return Stmt>");
-        public static final Nonterminal CYCLE_STMT = new Nonterminal(142, "<Cycle Stmt>");
-        public static final Nonterminal BLOCK_DATA_STMT = new Nonterminal(143, "<Block Data Stmt>");
-        public static final Nonterminal POINTER_STMT_OBJECT_LIST = new Nonterminal(144, "<Pointer Stmt Object List>");
-        public static final Nonterminal WAIT_SPEC = new Nonterminal(145, "<Wait Spec>");
-        public static final Nonterminal LEVEL_5_EXPR = new Nonterminal(146, "<Level 5 Expr>");
-        public static final Nonterminal MODULE_BODY_CONSTRUCT = new Nonterminal(147, "<Module Body Construct>");
-        public static final Nonterminal FORALL_HEADER = new Nonterminal(148, "<Forall Header>");
-        public static final Nonterminal FORMATSEP = new Nonterminal(149, "<Formatsep>");
-        public static final Nonterminal ACCESS_SPEC = new Nonterminal(150, "<Access Spec>");
-        public static final Nonterminal ALLOCATION = new Nonterminal(151, "<Allocation>");
-        public static final Nonterminal CLOSE_SPEC = new Nonterminal(152, "<Close Spec>");
-        public static final Nonterminal SUBROUTINE_PARS = new Nonterminal(153, "<Subroutine Pars>");
-        public static final Nonterminal STOP_STMT = new Nonterminal(154, "<Stop Stmt>");
-        public static final Nonterminal SECTION_SUBSCRIPT = new Nonterminal(155, "<Section Subscript>");
-        public static final Nonterminal NAMELIST_GROUP_NAME = new Nonterminal(156, "<Namelist Group Name>");
-        public static final Nonterminal SECTION_SUBSCRIPT_LIST = new Nonterminal(157, "<Section Subscript List>");
-        public static final Nonterminal LANGUAGE_BINDING_SPEC = new Nonterminal(158, "<Language Binding Spec>");
-        public static final Nonterminal PROC_COMPONENT_ATTR_SPEC_LIST = new Nonterminal(159, "<Proc Component Attr Spec List>");
-        public static final Nonterminal ADD_OP = new Nonterminal(160, "<Add Op>");
-        public static final Nonterminal CONTIGUOUS_STMT = new Nonterminal(161, "<Contiguous Stmt>");
-        public static final Nonterminal TARGET_OBJECT = new Nonterminal(162, "<Target Object>");
-        public static final Nonterminal CONNECT_SPEC_LIST = new Nonterminal(163, "<Connect Spec List>");
-        public static final Nonterminal CHAR_LENGTH = new Nonterminal(164, "<Char Length>");
-        public static final Nonterminal BINDING_PRIVATE_STMT = new Nonterminal(165, "<Binding Private Stmt>");
-        public static final Nonterminal LEVEL_3_EXPR = new Nonterminal(166, "<Level 3 Expr>");
-        public static final Nonterminal REWIND_STMT = new Nonterminal(167, "<Rewind Stmt>");
-        public static final Nonterminal SAVED_ENTITY = new Nonterminal(168, "<Saved Entity>");
-        public static final Nonterminal NULLIFY_STMT = new Nonterminal(169, "<Nullify Stmt>");
-        public static final Nonterminal UNSIGNED_ARITHMETIC_CONSTANT = new Nonterminal(170, "<Unsigned Arithmetic Constant>");
-        public static final Nonterminal TYPE_PARAM_DECL = new Nonterminal(171, "<Type Param Decl>");
-        public static final Nonterminal MP_SUBPROGRAM_STMT = new Nonterminal(172, "<Mp Subprogram Stmt>");
-        public static final Nonterminal FUNCTION_INTERFACE_RANGE = new Nonterminal(173, "<Function Interface Range>");
-        public static final Nonterminal OPTIONAL_PAR_LIST = new Nonterminal(174, "<Optional Par List>");
-        public static final Nonterminal STRUCTURE_CONSTRUCTOR = new Nonterminal(175, "<Structure Constructor>");
-        public static final Nonterminal BLOCK_DATA_NAME = new Nonterminal(176, "<Block Data Name>");
-        public static final Nonterminal PROGRAM_UNIT = new Nonterminal(177, "<Program Unit>");
-        public static final Nonterminal ACTION_STMT = new Nonterminal(178, "<Action Stmt>");
-        public static final Nonterminal MP_SUBPROGRAM_RANGE = new Nonterminal(179, "<Mp Subprogram Range>");
-        public static final Nonterminal STMT_FUNCTION_RANGE = new Nonterminal(180, "<Stmt Function Range>");
-        public static final Nonterminal CALL_STMT = new Nonterminal(181, "<Call Stmt>");
-        public static final Nonterminal SELECT_CASE_BODY = new Nonterminal(182, "<Select Case Body>");
-        public static final Nonterminal INTERFACE_RANGE = new Nonterminal(183, "<Interface Range>");
-        public static final Nonterminal COMMON_BLOCK_LIST = new Nonterminal(184, "<Common Block List>");
-        public static final Nonterminal EXPLICIT_COSHAPE_SPEC = new Nonterminal(185, "<Explicit Coshape Spec>");
-        public static final Nonterminal CASE_CONSTRUCT = new Nonterminal(186, "<Case Construct>");
-        public static final Nonterminal ENUMERATOR_DEF_STMT = new Nonterminal(187, "<Enumerator Def Stmt>");
-        public static final Nonterminal FUNCTION_SUBPROGRAM = new Nonterminal(188, "<Function Subprogram>");
-        public static final Nonterminal DIMENSION_STMT = new Nonterminal(189, "<Dimension Stmt>");
-        public static final Nonterminal INTERNAL_SUBPROGRAMS = new Nonterminal(190, "<Internal Subprograms>");
-        public static final Nonterminal SUBSTRING_RANGE = new Nonterminal(191, "<Substring Range>");
-        public static final Nonterminal COMMA_EXP = new Nonterminal(192, "<Comma Exp>");
-        public static final Nonterminal ENTITY_DECL = new Nonterminal(193, "<Entity Decl>");
-        public static final Nonterminal TYPE_PARAM_SPEC_LIST = new Nonterminal(194, "<Type Param Spec List>");
-        public static final Nonterminal TYPE_DECLARATION_STMT = new Nonterminal(195, "<Type Declaration Stmt>");
-        public static final Nonterminal CRAY_POINTER_STMT_OBJECT_LIST = new Nonterminal(196, "<Cray Pointer Stmt Object List>");
-        public static final Nonterminal IF_THEN_ERROR = new Nonterminal(197, "<If Then Error>");
-        public static final Nonterminal IMPORT_LIST = new Nonterminal(198, "<Import List>");
-        public static final Nonterminal MODULE_SUBPROGRAM = new Nonterminal(199, "<Module Subprogram>");
-        public static final Nonterminal CODIMENSION_STMT = new Nonterminal(200, "<Codimension Stmt>");
-        public static final Nonterminal ASYNCHRONOUS_STMT = new Nonterminal(201, "<Asynchronous Stmt>");
-        public static final Nonterminal DERIVED_TYPE_QUALIFIERS = new Nonterminal(202, "<Derived Type Qualifiers>");
-        public static final Nonterminal ASSOCIATION = new Nonterminal(203, "<Association>");
-        public static final Nonterminal EXPLICIT_SHAPE_SPEC_LIST = new Nonterminal(204, "<Explicit Shape Spec List>");
-        public static final Nonterminal BODY_CONSTRUCT = new Nonterminal(205, "<Body Construct>");
-        public static final Nonterminal PREFIX_SPEC_LIST = new Nonterminal(206, "<Prefix Spec List>");
-        public static final Nonterminal INPUT_ITEM_LIST = new Nonterminal(207, "<Input Item List>");
-        public static final Nonterminal THEN_PART = new Nonterminal(208, "<Then Part>");
-        public static final Nonterminal IMPLIED_DO_VARIABLE = new Nonterminal(209, "<Implied Do Variable>");
-        public static final Nonterminal ELSE_STMT = new Nonterminal(210, "<Else Stmt>");
-        public static final Nonterminal WHERE_BODY_CONSTRUCT_BLOCK = new Nonterminal(211, "<Where Body Construct Block>");
-        public static final Nonterminal MULT_OP = new Nonterminal(212, "<Mult Op>");
-        public static final Nonterminal NAMELIST_GROUPS = new Nonterminal(213, "<Namelist Groups>");
-        public static final Nonterminal CHAR_SELECTOR = new Nonterminal(214, "<Char Selector>");
-        public static final Nonterminal EQUIV_OP = new Nonterminal(215, "<Equiv Op>");
-        public static final Nonterminal DATA_STMT_VALUE_LIST = new Nonterminal(216, "<Data Stmt Value List>");
-        public static final Nonterminal CRITICAL_STMT = new Nonterminal(217, "<Critical Stmt>");
-        public static final Nonterminal TARGET_NAME = new Nonterminal(218, "<Target Name>");
-        public static final Nonterminal END_PROGRAM_STMT = new Nonterminal(219, "<End Program Stmt>");
-        public static final Nonterminal RD_UNIT_ID = new Nonterminal(220, "<Rd Unit Id>");
-        public static final Nonterminal LABEL = new Nonterminal(221, "<Label>");
-        public static final Nonterminal COMPONENT_DECL_LIST = new Nonterminal(222, "<Component Decl List>");
-        public static final Nonterminal SPECIFIC_BINDING = new Nonterminal(223, "<Specific Binding>");
-        public static final Nonterminal ALLOCATABLE_STMT = new Nonterminal(224, "<Allocatable Stmt>");
-        public static final Nonterminal POINTER_FIELD = new Nonterminal(225, "<Pointer Field>");
-        public static final Nonterminal GO_TO_KW = new Nonterminal(226, "<Go To Kw>");
-        public static final Nonterminal LOOP_CONTROL = new Nonterminal(227, "<Loop Control>");
-        public static final Nonterminal BIND_ENTITY_LIST = new Nonterminal(228, "<Bind Entity List>");
-        public static final Nonterminal DATA_STMT_SET = new Nonterminal(229, "<Data Stmt Set>");
-        public static final Nonterminal WAIT_SPEC_LIST = new Nonterminal(230, "<Wait Spec List>");
-        public static final Nonterminal FUNCTION_REFERENCE = new Nonterminal(231, "<Function Reference>");
-        public static final Nonterminal FUNCTION_PREFIX = new Nonterminal(232, "<Function Prefix>");
-        public static final Nonterminal ENTRY_NAME = new Nonterminal(233, "<Entry Name>");
-        public static final Nonterminal OBJECT_NAME_LIST = new Nonterminal(234, "<Object Name List>");
-        public static final Nonterminal PROC_BINDING_STMT = new Nonterminal(235, "<Proc Binding Stmt>");
-        public static final Nonterminal CONCAT_OP = new Nonterminal(236, "<Concat Op>");
-        public static final Nonterminal CASE_VALUE_RANGE_LIST = new Nonterminal(237, "<Case Value Range List>");
-        public static final Nonterminal SYNC_STAT = new Nonterminal(238, "<Sync Stat>");
-        public static final Nonterminal CHAR_LEN_PARAM_VALUE = new Nonterminal(239, "<Char Len Param Value>");
-        public static final Nonterminal BIND_STMT = new Nonterminal(240, "<Bind Stmt>");
-        public static final Nonterminal END_MODULE_STMT = new Nonterminal(241, "<End Module Stmt>");
-        public static final Nonterminal CASE_STMT = new Nonterminal(242, "<Case Stmt>");
-        public static final Nonterminal PAUSE_STMT = new Nonterminal(243, "<Pause Stmt>");
-        public static final Nonterminal SUBROUTINE_NAME = new Nonterminal(244, "<Subroutine Name>");
-        public static final Nonterminal VARIABLE_COMMA = new Nonterminal(245, "<Variable Comma>");
-        public static final Nonterminal PROCEDURE_NAME_LIST = new Nonterminal(246, "<Procedure Name List>");
-        public static final Nonterminal SAVED_COMMON_BLOCK = new Nonterminal(247, "<Saved Common Block>");
-        public static final Nonterminal PARAMETER_STMT = new Nonterminal(248, "<Parameter Stmt>");
-        public static final Nonterminal BLOCK_CONSTRUCT = new Nonterminal(249, "<Block Construct>");
-        public static final Nonterminal SPECIFICATION_PART_CONSTRUCT = new Nonterminal(250, "<Specification Part Construct>");
-        public static final Nonterminal BODY = new Nonterminal(251, "<Body>");
-        public static final Nonterminal ARRAY_DECLARATOR = new Nonterminal(252, "<Array Declarator>");
-        public static final Nonterminal MAIN_PROGRAM = new Nonterminal(253, "<Main Program>");
-        public static final Nonterminal COMPONENT_NAME = new Nonterminal(254, "<Component Name>");
-        public static final Nonterminal IMPLICIT_SPEC_LIST = new Nonterminal(255, "<Implicit Spec List>");
-        public static final Nonterminal UFEXPR = new Nonterminal(256, "<UFExpr>");
-        public static final Nonterminal CEXPR = new Nonterminal(257, "<CExpr>");
-        public static final Nonterminal BLOCK_DATA_SUBPROGRAM = new Nonterminal(258, "<Block Data Subprogram>");
-        public static final Nonterminal TYPE_BOUND_PROCEDURE_PART = new Nonterminal(259, "<Type Bound Procedure Part>");
-        public static final Nonterminal POINTER_OBJECT = new Nonterminal(260, "<Pointer Object>");
-        public static final Nonterminal ARRAY_SPEC = new Nonterminal(261, "<Array Spec>");
-        public static final Nonterminal IF_STMT = new Nonterminal(262, "<If Stmt>");
-        public static final Nonterminal PREFIX_SPEC = new Nonterminal(263, "<Prefix Spec>");
-        public static final Nonterminal ASSUMED_SHAPE_SPEC_LIST = new Nonterminal(264, "<Assumed Shape Spec List>");
-        public static final Nonterminal LEVEL_4_EXPR = new Nonterminal(265, "<Level 4 Expr>");
-        public static final Nonterminal ELSE_PART = new Nonterminal(266, "<Else Part>");
-        public static final Nonterminal ASSUMED_SIZE_SPEC = new Nonterminal(267, "<Assumed Size Spec>");
-        public static final Nonterminal TYPE_PARAM_DEF_STMT = new Nonterminal(268, "<Type Param Def Stmt>");
-        public static final Nonterminal FORMAT_STMT = new Nonterminal(269, "<Format Stmt>");
-        public static final Nonterminal SFDATA_REF = new Nonterminal(270, "<SFData Ref>");
-        public static final Nonterminal OUTPUT_ITEM_LIST_1 = new Nonterminal(271, "<Output Item List 1>");
-        public static final Nonterminal SELECT_CASE_RANGE = new Nonterminal(272, "<Select Case Range>");
-        public static final Nonterminal WAIT_STMT = new Nonterminal(273, "<Wait Stmt>");
-        public static final Nonterminal SUBSTR_CONST = new Nonterminal(274, "<Substr Const>");
-        public static final Nonterminal ALLOCATE_STMT = new Nonterminal(275, "<Allocate Stmt>");
-        public static final Nonterminal POINTER_STMT_OBJECT = new Nonterminal(276, "<Pointer Stmt Object>");
-        public static final Nonterminal MODULE_NAME = new Nonterminal(277, "<Module Name>");
-        public static final Nonterminal RD_IO_CTL_SPEC_LIST = new Nonterminal(278, "<Rd Io Ctl Spec List>");
-        public static final Nonterminal FUNCTION_PAR = new Nonterminal(279, "<Function Par>");
-        public static final Nonterminal ONLY_LIST = new Nonterminal(280, "<Only List>");
-        public static final Nonterminal MASK_EXPR = new Nonterminal(281, "<Mask Expr>");
-        public static final Nonterminal FMT_SPEC = new Nonterminal(282, "<Fmt Spec>");
-        public static final Nonterminal SFVAR_NAME = new Nonterminal(283, "<SFVar Name>");
-        public static final Nonterminal SUBSCRIPT = new Nonterminal(284, "<Subscript>");
-        public static final Nonterminal EMPTY_PROGRAM = new Nonterminal(285, "<Empty Program>");
-        public static final Nonterminal END_WHERE_STMT = new Nonterminal(286, "<End Where Stmt>");
-        public static final Nonterminal OBSOLETE_EXECUTION_PART_CONSTRUCT = new Nonterminal(287, "<Obsolete Execution Part Construct>");
-        public static final Nonterminal BLOCK_DATA_BODY_CONSTRUCT = new Nonterminal(288, "<Block Data Body Construct>");
-        public static final Nonterminal NAMED_CONSTANT_DEF_LIST = new Nonterminal(289, "<Named Constant Def List>");
-        public static final Nonterminal DEFINED_BINARY_OP = new Nonterminal(290, "<Defined Binary Op>");
-        public static final Nonterminal END_SUBROUTINE_STMT = new Nonterminal(291, "<End Subroutine Stmt>");
-        public static final Nonterminal END_SELECT_STMT = new Nonterminal(292, "<End Select Stmt>");
-        public static final Nonterminal INPUT_ITEM = new Nonterminal(293, "<Input Item>");
-        public static final Nonterminal MODULE = new Nonterminal(294, "<Module>");
-        public static final Nonterminal IF_CONSTRUCT = new Nonterminal(295, "<If Construct>");
-        public static final Nonterminal GENERIC_NAME = new Nonterminal(296, "<Generic Name>");
-        public static final Nonterminal ACCESS_ID = new Nonterminal(297, "<Access Id>");
-        public static final Nonterminal UFTERM = new Nonterminal(298, "<UFTerm>");
-        public static final Nonterminal SFPRIMARY = new Nonterminal(299, "<SFPrimary>");
-        public static final Nonterminal FORALL_BODY_CONSTRUCT = new Nonterminal(300, "<Forall Body Construct>");
-        public static final Nonterminal ELSE_CONSTRUCT = new Nonterminal(301, "<Else Construct>");
-        public static final Nonterminal COMMON_STMT = new Nonterminal(302, "<Common Stmt>");
-        public static final Nonterminal RD_FMT_ID_EXPR = new Nonterminal(303, "<Rd Fmt Id Expr>");
-        public static final Nonterminal ELSE_WHERE_STMT = new Nonterminal(304, "<Else Where Stmt>");
-        public static final Nonterminal IMAGE_SELECTOR = new Nonterminal(305, "<Image Selector>");
-        public static final Nonterminal KIND_PARAM = new Nonterminal(306, "<Kind Param>");
-        public static final Nonterminal ALLOCATE_OBJECT = new Nonterminal(307, "<Allocate Object>");
-        public static final Nonterminal ARITHMETIC_IF_STMT = new Nonterminal(308, "<Arithmetic If Stmt>");
-        public static final Nonterminal LBL_REF = new Nonterminal(309, "<Lbl Ref>");
-        public static final Nonterminal OBSOLETE_ACTION_STMT = new Nonterminal(310, "<Obsolete Action Stmt>");
-        public static final Nonterminal EXECUTABLE_PROGRAM = new Nonterminal(311, "<Executable Program>");
-        public static final Nonterminal DEFERRED_COSHAPE_SPEC_LIST = new Nonterminal(312, "<Deferred Coshape Spec List>");
-        public static final Nonterminal INTRINSIC_PROCEDURE_NAME = new Nonterminal(313, "<Intrinsic Procedure Name>");
-        public static final Nonterminal ARRAY_ALLOCATION_LIST = new Nonterminal(314, "<Array Allocation List>");
-        public static final Nonterminal TYPE_PARAM_DECL_LIST = new Nonterminal(315, "<Type Param Decl List>");
-        public static final Nonterminal CONTINUE_STMT = new Nonterminal(316, "<Continue Stmt>");
-        public static final Nonterminal PRINT_STMT = new Nonterminal(317, "<Print Stmt>");
-        public static final Nonterminal OPTIONAL_PAR = new Nonterminal(318, "<Optional Par>");
-        public static final Nonterminal EQUIV_OPERAND = new Nonterminal(319, "<Equiv Operand>");
-        public static final Nonterminal LEVEL_1_EXPR = new Nonterminal(320, "<Level 1 Expr>");
-        public static final Nonterminal EQUIVALENCE_SET_LIST = new Nonterminal(321, "<Equivalence Set List>");
-        public static final Nonterminal FORMAT_EDIT = new Nonterminal(322, "<Format Edit>");
-        public static final Nonterminal MASKED_ELSE_WHERE_CONSTRUCT = new Nonterminal(323, "<Masked Else Where Construct>");
-        public static final Nonterminal DERIVED_TYPE_BODY_CONSTRUCT = new Nonterminal(324, "<Derived Type Body Construct>");
-        public static final Nonterminal ENTRY_STMT = new Nonterminal(325, "<Entry Stmt>");
-        public static final Nonterminal AND_OPERAND = new Nonterminal(326, "<And Operand>");
-        public static final Nonterminal COMMA_LOOP_CONTROL = new Nonterminal(327, "<Comma Loop Control>");
-        public static final Nonterminal DATA_IDO_OBJECT_LIST = new Nonterminal(328, "<Data IDo Object List>");
-        public static final Nonterminal ENDFILE_STMT = new Nonterminal(329, "<Endfile Stmt>");
-        public static final Nonterminal INQUIRE_SPEC = new Nonterminal(330, "<Inquire Spec>");
-        public static final Nonterminal DERIVED_TYPE_BODY = new Nonterminal(331, "<Derived Type Body>");
-        public static final Nonterminal PROGRAM_UNIT_LIST = new Nonterminal(332, "<Program Unit List>");
-        public static final Nonterminal PROC_BINDING_STMTS = new Nonterminal(333, "<Proc Binding Stmts>");
-        public static final Nonterminal FUNCTION_STMT = new Nonterminal(334, "<Function Stmt>");
-        public static final Nonterminal POINTER_NAME = new Nonterminal(335, "<Pointer Name>");
-        public static final Nonterminal IMPORT_STMT = new Nonterminal(336, "<Import Stmt>");
-        public static final Nonterminal CRAY_POINTER_STMT = new Nonterminal(337, "<Cray Pointer Stmt>");
-        public static final Nonterminal END_ASSOCIATE_STMT = new Nonterminal(338, "<End Associate Stmt>");
-        public static final Nonterminal COMPONENT_DECL = new Nonterminal(339, "<Component Decl>");
-        public static final Nonterminal POINTER_OBJECT_LIST = new Nonterminal(340, "<Pointer Object List>");
-        public static final Nonterminal END_SELECT_TYPE_STMT = new Nonterminal(341, "<End Select Type Stmt>");
-        public static final Nonterminal EXECUTABLE_CONSTRUCT = new Nonterminal(342, "<Executable Construct>");
-        public static final Nonterminal POINTER_ASSIGNMENT_STMT = new Nonterminal(343, "<Pointer Assignment Stmt>");
-        public static final Nonterminal LEVEL_2_EXPR = new Nonterminal(344, "<Level 2 Expr>");
-        public static final Nonterminal CONDITIONAL_BODY = new Nonterminal(345, "<Conditional Body>");
-        public static final Nonterminal ASSOCIATE_CONSTRUCT = new Nonterminal(346, "<Associate Construct>");
-        public static final Nonterminal INTRINSIC_STMT = new Nonterminal(347, "<Intrinsic Stmt>");
-        public static final Nonterminal SELECT_TYPE_BODY = new Nonterminal(348, "<Select Type Body>");
-        public static final Nonterminal SCALAR_VARIABLE = new Nonterminal(349, "<Scalar Variable>");
-        public static final Nonterminal INTERFACE_STMT = new Nonterminal(350, "<Interface Stmt>");
-        public static final Nonterminal RD_CTL_SPEC = new Nonterminal(351, "<Rd Ctl Spec>");
-        public static final Nonterminal EXPLICIT_SHAPE_SPEC = new Nonterminal(352, "<Explicit Shape Spec>");
-        public static final Nonterminal SUBPROGRAM_INTERFACE_BODY = new Nonterminal(353, "<Subprogram Interface Body>");
-        public static final Nonterminal ARRAY_ALLOCATION = new Nonterminal(354, "<Array Allocation>");
-        public static final Nonterminal EXTERNAL_STMT = new Nonterminal(355, "<External Stmt>");
-        public static final Nonterminal END_MP_SUBPROGRAM_STMT = new Nonterminal(356, "<End Mp Subprogram Stmt>");
-        public static final Nonterminal ADD_OPERAND = new Nonterminal(357, "<Add Operand>");
-        public static final Nonterminal FORALL_STMT = new Nonterminal(358, "<Forall Stmt>");
-        public static final Nonterminal RENAME_LIST = new Nonterminal(359, "<Rename List>");
-        public static final Nonterminal SUBROUTINE_INTERFACE_RANGE = new Nonterminal(360, "<Subroutine Interface Range>");
-        public static final Nonterminal POINTER_STMT = new Nonterminal(361, "<Pointer Stmt>");
-        public static final Nonterminal MAIN_RANGE = new Nonterminal(362, "<Main Range>");
-        public static final Nonterminal GOTO_STMT = new Nonterminal(363, "<Goto Stmt>");
-        public static final Nonterminal PRIMARY = new Nonterminal(364, "<Primary>");
-        public static final Nonterminal UFPRIMARY = new Nonterminal(365, "<UFPrimary>");
-        public static final Nonterminal DEFINED_UNARY_OP = new Nonterminal(366, "<Defined Unary Op>");
-        public static final Nonterminal END_NAME = new Nonterminal(367, "<End Name>");
-        public static final Nonterminal TARGET_STMT = new Nonterminal(368, "<Target Stmt>");
-        public static final Nonterminal FUNCTION_ARG = new Nonterminal(369, "<Function Arg>");
-        public static final Nonterminal NAMELIST_STMT = new Nonterminal(370, "<Namelist Stmt>");
-        public static final Nonterminal ARRAY_ELEMENT = new Nonterminal(371, "<Array Element>");
-        public static final Nonterminal AC_IMPLIED_DO = new Nonterminal(372, "<Ac Implied Do>");
-        public static final Nonterminal ELSE_WHERE_CONSTRUCT = new Nonterminal(373, "<Else Where Construct>");
-        public static final Nonterminal SUBROUTINE_NAME_USE = new Nonterminal(374, "<Subroutine Name Use>");
-        public static final Nonterminal INVALID_ENTITY_DECL = new Nonterminal(375, "<Invalid Entity Decl>");
-        public static final Nonterminal DEFINED_OPERATOR = new Nonterminal(376, "<Defined Operator>");
-        public static final Nonterminal EXPR = new Nonterminal(377, "<Expr>");
-        public static final Nonterminal FUNCTION_NAME = new Nonterminal(378, "<Function Name>");
-        public static final Nonterminal SYNC_ALL_STMT = new Nonterminal(379, "<Sync All Stmt>");
-        public static final Nonterminal ENUM_DEF_STMT = new Nonterminal(380, "<Enum Def Stmt>");
-        public static final Nonterminal PROGRAM_NAME = new Nonterminal(381, "<Program Name>");
-        public static final Nonterminal TYPE_PARAM_NAME = new Nonterminal(382, "<Type Param Name>");
-        public static final Nonterminal SYNC_IMAGES_STMT = new Nonterminal(383, "<Sync Images Stmt>");
-        public static final Nonterminal DATA_IMPLIED_DO = new Nonterminal(384, "<Data Implied Do>");
-        public static final Nonterminal EQUIVALENCE_OBJECT = new Nonterminal(385, "<Equivalence Object>");
-        public static final Nonterminal VALUE_STMT = new Nonterminal(386, "<Value Stmt>");
-        public static final Nonterminal GENERIC_SPEC = new Nonterminal(387, "<Generic Spec>");
-        public static final Nonterminal AC_VALUE_LIST = new Nonterminal(388, "<Ac Value List>");
-        public static final Nonterminal COPERAND = new Nonterminal(389, "<COperand>");
-        public static final Nonterminal CLOSE_SPEC_LIST = new Nonterminal(390, "<Close Spec List>");
-        public static final Nonterminal ATTR_SPEC = new Nonterminal(391, "<Attr Spec>");
-        public static final Nonterminal BINDING_NAME_LIST = new Nonterminal(392, "<Binding Name List>");
-        public static final Nonterminal TYPE_NAME = new Nonterminal(393, "<Type Name>");
-        public static final Nonterminal COMPUTED_GOTO_STMT = new Nonterminal(394, "<Computed Goto Stmt>");
-        public static final Nonterminal DATA_STMT_OBJECT_LIST = new Nonterminal(395, "<Data Stmt Object List>");
-        public static final Nonterminal ASSOCIATION_LIST = new Nonterminal(396, "<Association List>");
-        public static final Nonterminal IF_THEN_STMT = new Nonterminal(397, "<If Then Stmt>");
-        public static final Nonterminal WHERE_RANGE = new Nonterminal(398, "<Where Range>");
-        public static final Nonterminal COMPONENT_ARRAY_SPEC = new Nonterminal(399, "<Component Array Spec>");
-        public static final Nonterminal EXTERNAL_NAME = new Nonterminal(400, "<External Name>");
-        public static final Nonterminal PARENTHESIZED_SUBROUTINE_ARG_LIST = new Nonterminal(401, "<Parenthesized Subroutine Arg List>");
-        public static final Nonterminal IO_CONTROL_SPEC = new Nonterminal(402, "<Io Control Spec>");
-        public static final Nonterminal CASE_BODY_CONSTRUCT = new Nonterminal(403, "<Case Body Construct>");
-        public static final Nonterminal INQUIRE_SPEC_LIST = new Nonterminal(404, "<Inquire Spec List>");
-        public static final Nonterminal PARENT_IDENTIFIER = new Nonterminal(405, "<Parent Identifier>");
-        public static final Nonterminal BIND_ENTITY = new Nonterminal(406, "<Bind Entity>");
-        public static final Nonterminal MODULE_STMT = new Nonterminal(407, "<Module Stmt>");
-        public static final Nonterminal MODULE_SUBPROGRAM_PART_CONSTRUCT = new Nonterminal(408, "<Module Subprogram Part Construct>");
-        public static final Nonterminal SFDUMMY_ARG_NAME = new Nonterminal(409, "<SFDummy Arg Name>");
-        public static final Nonterminal WHERE_CONSTRUCT = new Nonterminal(410, "<Where Construct>");
-        public static final Nonterminal TYPE_PARAM_SPEC = new Nonterminal(411, "<Type Param Spec>");
-        public static final Nonterminal PROC_ATTR_SPEC_LIST = new Nonterminal(412, "<Proc Attr Spec List>");
-        public static final Nonterminal ELSE_IF_CONSTRUCT = new Nonterminal(413, "<Else If Construct>");
-        public static final Nonterminal BINDING_ATTR_LIST = new Nonterminal(414, "<Binding Attr List>");
-        public static final Nonterminal RD_FMT_ID = new Nonterminal(415, "<Rd Fmt Id>");
-        public static final Nonterminal FORALL_BODY = new Nonterminal(416, "<Forall Body>");
-        public static final Nonterminal EXECUTION_PART_CONSTRUCT = new Nonterminal(417, "<Execution Part Construct>");
-        public static final Nonterminal EQUIVALENCE_OBJECT_LIST = new Nonterminal(418, "<Equivalence Object List>");
-        public static final Nonterminal VOLATILE_STMT = new Nonterminal(419, "<Volatile Stmt>");
-        public static final Nonterminal DATA_COMPONENT_DEF_STMT = new Nonterminal(420, "<Data Component Def Stmt>");
-        public static final Nonterminal SELECT_TYPE_CONSTRUCT = new Nonterminal(421, "<Select Type Construct>");
-        public static final Nonterminal EDIT_ELEMENT = new Nonterminal(422, "<Edit Element>");
-        public static final Nonterminal ENUMERATOR_DEF_STMTS = new Nonterminal(423, "<Enumerator Def Stmts>");
-        public static final Nonterminal LOWER_BOUND = new Nonterminal(424, "<Lower Bound>");
-        public static final Nonterminal INTERNAL_SUBPROGRAM = new Nonterminal(425, "<Internal Subprogram>");
-        public static final Nonterminal KIND_SELECTOR = new Nonterminal(426, "<Kind Selector>");
-        public static final Nonterminal TYPE_GUARD_BLOCK = new Nonterminal(427, "<Type Guard Block>");
-        public static final Nonterminal EQUIVALENCE_SET = new Nonterminal(428, "<Equivalence Set>");
-        public static final Nonterminal CPRIMARY = new Nonterminal(429, "<CPrimary>");
-        public static final Nonterminal ATTR_SPEC_SEQ = new Nonterminal(430, "<Attr Spec Seq>");
-        public static final Nonterminal TARGET_OBJECT_LIST = new Nonterminal(431, "<Target Object List>");
-        public static final Nonterminal TYPE_PARAM_ATTR_SPEC = new Nonterminal(432, "<Type Param Attr Spec>");
-        public static final Nonterminal VARIABLE_NAME = new Nonterminal(433, "<Variable Name>");
-        public static final Nonterminal IMPLICIT_SPEC = new Nonterminal(434, "<Implicit Spec>");
-        public static final Nonterminal WHERE_CONSTRUCT_STMT = new Nonterminal(435, "<Where Construct Stmt>");
-        public static final Nonterminal SUBROUTINE_PREFIX = new Nonterminal(436, "<Subroutine Prefix>");
-        public static final Nonterminal SUBROUTINE_ARG_LIST = new Nonterminal(437, "<Subroutine Arg List>");
-        public static final Nonterminal IO_CONTROL_SPEC_LIST = new Nonterminal(438, "<Io Control Spec List>");
-        public static final Nonterminal SELECT_TYPE_STMT = new Nonterminal(439, "<Select Type Stmt>");
-        public static final Nonterminal EQUIVALENCE_STMT = new Nonterminal(440, "<Equivalence Stmt>");
-        public static final Nonterminal MODULE_NATURE = new Nonterminal(441, "<Module Nature>");
-        public static final Nonterminal BOZ_LITERAL_CONSTANT = new Nonterminal(442, "<Boz Literal Constant>");
-        public static final Nonterminal END_BLOCK_DATA_STMT = new Nonterminal(443, "<End Block Data Stmt>");
-        public static final Nonterminal CODIMENSION_DECL_LIST = new Nonterminal(444, "<Codimension Decl List>");
-        public static final Nonterminal MODULE_BLOCK = new Nonterminal(445, "<Module Block>");
-        public static final Nonterminal LBL_REF_LIST = new Nonterminal(446, "<Lbl Ref List>");
-        public static final Nonterminal FORMAT_IDENTIFIER = new Nonterminal(447, "<Format Identifier>");
-        public static final Nonterminal SPECIFICATION_STMT = new Nonterminal(448, "<Specification Stmt>");
-        public static final Nonterminal UPPER_BOUND = new Nonterminal(449, "<Upper Bound>");
-        public static final Nonterminal DATA_STMT_VALUE = new Nonterminal(450, "<Data Stmt Value>");
-        public static final Nonterminal FUNCTION_PARS = new Nonterminal(451, "<Function Pars>");
-        public static final Nonterminal DEFERRED_SHAPE_SPEC_LIST = new Nonterminal(452, "<Deferred Shape Spec List>");
-        public static final Nonterminal READ_STMT = new Nonterminal(453, "<Read Stmt>");
-        public static final Nonterminal INPUT_IMPLIED_DO = new Nonterminal(454, "<Input Implied Do>");
-        public static final Nonterminal LABEL_DO_STMT = new Nonterminal(455, "<Label Do Stmt>");
-        public static final Nonterminal DEALLOCATE_STMT = new Nonterminal(456, "<Deallocate Stmt>");
-        public static final Nonterminal SIGN = new Nonterminal(457, "<Sign>");
-        public static final Nonterminal OPTIONAL_STMT = new Nonterminal(458, "<Optional Stmt>");
-        public static final Nonterminal DATA_REF = new Nonterminal(459, "<Data Ref>");
-        public static final Nonterminal EXIT_STMT = new Nonterminal(460, "<Exit Stmt>");
-        public static final Nonterminal DO_CONSTRUCT = new Nonterminal(461, "<Do Construct>");
-        public static final Nonterminal RENAME = new Nonterminal(462, "<Rename>");
-        public static final Nonterminal SCALAR_MASK_EXPR = new Nonterminal(463, "<Scalar Mask Expr>");
-        public static final Nonterminal SUBROUTINE_SUBPROGRAM = new Nonterminal(464, "<Subroutine Subprogram>");
-        public static final Nonterminal ALL_STOP_STMT = new Nonterminal(465, "<All Stop Stmt>");
-        public static final Nonterminal FORALL_CONSTRUCT_STMT = new Nonterminal(466, "<Forall Construct Stmt>");
-        public static final Nonterminal END_FORALL_STMT = new Nonterminal(467, "<End Forall Stmt>");
-        public static final Nonterminal REL_OP = new Nonterminal(468, "<Rel Op>");
-        public static final Nonterminal ARRAY_CONSTRUCTOR = new Nonterminal(469, "<Array Constructor>");
-        public static final Nonterminal OUTPUT_IMPLIED_DO = new Nonterminal(470, "<Output Implied Do>");
-        public static final Nonterminal PROC_COMPONENT_DEF_STMT = new Nonterminal(471, "<Proc Component Def Stmt>");
-        public static final Nonterminal LOCK_STMT = new Nonterminal(472, "<Lock Stmt>");
-        public static final Nonterminal PROC_COMPONENT_ATTR_SPEC = new Nonterminal(473, "<Proc Component Attr Spec>");
-        public static final Nonterminal MASKED_ELSE_WHERE_STMT = new Nonterminal(474, "<Masked Else Where Stmt>");
-        public static final Nonterminal TYPE_SPEC = new Nonterminal(475, "<Type Spec>");
-        public static final Nonterminal UNPROCESSED_INCLUDE_STMT = new Nonterminal(476, "<Unprocessed Include Stmt>");
-        public static final Nonterminal NAMELIST_GROUP_OBJECT = new Nonterminal(477, "<Namelist Group Object>");
-        public static final Nonterminal INTENT_STMT = new Nonterminal(478, "<Intent Stmt>");
-        public static final Nonterminal BODY_PLUS_INTERNALS = new Nonterminal(479, "<Body Plus Internals>");
-        public static final Nonterminal COMMON_BLOCK_OBJECT = new Nonterminal(480, "<Common Block Object>");
-        public static final Nonterminal DERIVED_TYPE_STMT = new Nonterminal(481, "<Derived Type Stmt>");
-        public static final Nonterminal LOGICAL_CONSTANT = new Nonterminal(482, "<Logical Constant>");
-        public static final Nonterminal NAMED_CONSTANT_USE = new Nonterminal(483, "<Named Constant Use>");
-        public static final Nonterminal WHERE_STMT = new Nonterminal(484, "<Where Stmt>");
-        public static final Nonterminal OPEN_STMT = new Nonterminal(485, "<Open Stmt>");
-        public static final Nonterminal CONNECT_SPEC = new Nonterminal(486, "<Connect Spec>");
-        public static final Nonterminal SUBSCRIPT_TRIPLET = new Nonterminal(487, "<Subscript Triplet>");
-        public static final Nonterminal BACKSPACE_STMT = new Nonterminal(488, "<Backspace Stmt>");
-        public static final Nonterminal NAMED_CONSTANT = new Nonterminal(489, "<Named Constant>");
-        public static final Nonterminal LBL_DEF = new Nonterminal(490, "<Lbl Def>");
-        public static final Nonterminal INQUIRE_STMT = new Nonterminal(491, "<Inquire Stmt>");
-        public static final Nonterminal DEFERRED_SHAPE_SPEC = new Nonterminal(492, "<Deferred Shape Spec>");
-        public static final Nonterminal TYPE_PARAM_VALUE = new Nonterminal(493, "<Type Param Value>");
-
-        protected int index;
-        protected String description;
-
-        protected Nonterminal(int index, String description)
-        {
-            assert 0 <= index && index < NUM_NONTERMINALS;
-
-            this.index = index;
-            this.description = description;
-        }
-
-        protected int getIndex()
-        {
-            return index;
-        }
-
-        @Override public String toString()
-        {
-            return description;
-        }
-    }
-
-    /**
-     * A production in the grammar.
-     * <p>
-     * This class enumerates all of the productions (including error recovery
-     * productions) in the grammar as constant <code>Production</code> objects.
-     */
-    public static final class Production
-    {
-        protected Nonterminal lhs;
-        protected int length;
-        protected String description;
-
-        protected Production(Nonterminal lhs, int length, String description)
-        {
-            assert lhs != null && length >= 0;
-
-            this.lhs = lhs;
-            this.length = length;
-            this.description = description;
-        }
-
-        /**
-         * Returns the nonterminal on the left-hand side of this production.
-         *
-         * @return the nonterminal on the left-hand side of this production
-         */
-        public Nonterminal getLHS()
-        {
-            return lhs;
-        }
-
-        /**
-         * Returns the number of symbols on the right-hand side of this
-         * production.  If it is an error recovery production, returns the
-         * number of symbols preceding the lookahead symbol.
-         *
-         * @return the length of the production (non-negative)
-         */
-        public int length()
-        {
-            return length;
-        }
-
-        @Override public String toString()
-        {
-            return description;
-        }
-
-        public static Production get(int index)
-        {
-            assert 0 <= index && index < NUM_PRODUCTIONS;
-
-            return Production.values[index];
-        }
-
-        public static final Production EXECUTABLE_PROGRAM_1 = new Production(Nonterminal.EXECUTABLE_PROGRAM, 1, "<ExecutableProgram> ::= <ProgramUnitList>");
-        public static final Production EXECUTABLE_PROGRAM_2 = new Production(Nonterminal.EXECUTABLE_PROGRAM, 1, "<ExecutableProgram> ::= <EmptyProgram>");
-        public static final Production EMPTY_PROGRAM_3 = new Production(Nonterminal.EMPTY_PROGRAM, 0, "<EmptyProgram> ::= (empty)");
-        public static final Production EMPTY_PROGRAM_4 = new Production(Nonterminal.EMPTY_PROGRAM, 1, "<EmptyProgram> ::= T_EOS");
-        public static final Production PROGRAM_UNIT_LIST_5 = new Production(Nonterminal.PROGRAM_UNIT_LIST, 1, "<ProgramUnitList> ::= <ProgramUnit>");
-        public static final Production PROGRAM_UNIT_LIST_6 = new Production(Nonterminal.PROGRAM_UNIT_LIST, 2, "<ProgramUnitList> ::= <ProgramUnitList> <ProgramUnit>");
-        public static final Production PROGRAM_UNIT_7 = new Production(Nonterminal.PROGRAM_UNIT, 1, "<ProgramUnit> ::= <MainProgram>");
-        public static final Production PROGRAM_UNIT_8 = new Production(Nonterminal.PROGRAM_UNIT, 1, "<ProgramUnit> ::= <FunctionSubprogram>");
-        public static final Production PROGRAM_UNIT_9 = new Production(Nonterminal.PROGRAM_UNIT, 1, "<ProgramUnit> ::= <SubroutineSubprogram>");
-        public static final Production PROGRAM_UNIT_10 = new Production(Nonterminal.PROGRAM_UNIT, 1, "<ProgramUnit> ::= <Module>");
-        public static final Production PROGRAM_UNIT_11 = new Production(Nonterminal.PROGRAM_UNIT, 1, "<ProgramUnit> ::= <Submodule>");
-        public static final Production PROGRAM_UNIT_12 = new Production(Nonterminal.PROGRAM_UNIT, 1, "<ProgramUnit> ::= <BlockDataSubprogram>");
-        public static final Production MAIN_PROGRAM_13 = new Production(Nonterminal.MAIN_PROGRAM, 1, "<MainProgram> ::= <MainRange>");
-        public static final Production MAIN_PROGRAM_14 = new Production(Nonterminal.MAIN_PROGRAM, 2, "<MainProgram> ::= <ProgramStmt> <MainRange>");
-        public static final Production MAIN_RANGE_15 = new Production(Nonterminal.MAIN_RANGE, 2, "<MainRange> ::= <Body> <EndProgramStmt>");
-        public static final Production MAIN_RANGE_16 = new Production(Nonterminal.MAIN_RANGE, 2, "<MainRange> ::= <BodyPlusInternals> <EndProgramStmt>");
-        public static final Production MAIN_RANGE_17 = new Production(Nonterminal.MAIN_RANGE, 1, "<MainRange> ::= <EndProgramStmt>");
-        public static final Production BODY_18 = new Production(Nonterminal.BODY, 1, "<Body> ::= <BodyConstruct>");
-        public static final Production BODY_19 = new Production(Nonterminal.BODY, 2, "<Body> ::= <Body> <BodyConstruct>");
-        public static final Production BODY_CONSTRUCT_20 = new Production(Nonterminal.BODY_CONSTRUCT, 1, "<BodyConstruct> ::= <SpecificationPartConstruct>");
-        public static final Production BODY_CONSTRUCT_21 = new Production(Nonterminal.BODY_CONSTRUCT, 1, "<BodyConstruct> ::= <ExecutableConstruct>");
-        public static final Production FUNCTION_SUBPROGRAM_22 = new Production(Nonterminal.FUNCTION_SUBPROGRAM, 2, "<FunctionSubprogram> ::= <FunctionStmt> <FunctionRange>");
-        public static final Production FUNCTION_RANGE_23 = new Production(Nonterminal.FUNCTION_RANGE, 2, "<FunctionRange> ::= <Body> <EndFunctionStmt>");
-        public static final Production FUNCTION_RANGE_24 = new Production(Nonterminal.FUNCTION_RANGE, 1, "<FunctionRange> ::= <EndFunctionStmt>");
-        public static final Production FUNCTION_RANGE_25 = new Production(Nonterminal.FUNCTION_RANGE, 2, "<FunctionRange> ::= <BodyPlusInternals> <EndFunctionStmt>");
-        public static final Production SUBROUTINE_SUBPROGRAM_26 = new Production(Nonterminal.SUBROUTINE_SUBPROGRAM, 2, "<SubroutineSubprogram> ::= <SubroutineStmt> <SubroutineRange>");
-        public static final Production SUBROUTINE_RANGE_27 = new Production(Nonterminal.SUBROUTINE_RANGE, 2, "<SubroutineRange> ::= <Body> <EndSubroutineStmt>");
-        public static final Production SUBROUTINE_RANGE_28 = new Production(Nonterminal.SUBROUTINE_RANGE, 1, "<SubroutineRange> ::= <EndSubroutineStmt>");
-        public static final Production SUBROUTINE_RANGE_29 = new Production(Nonterminal.SUBROUTINE_RANGE, 2, "<SubroutineRange> ::= <BodyPlusInternals> <EndSubroutineStmt>");
-        public static final Production SEPARATE_MODULE_SUBPROGRAM_30 = new Production(Nonterminal.SEPARATE_MODULE_SUBPROGRAM, 2, "<SeparateModuleSubprogram> ::= <MpSubprogramStmt> <MpSubprogramRange>");
-        public static final Production MP_SUBPROGRAM_RANGE_31 = new Production(Nonterminal.MP_SUBPROGRAM_RANGE, 2, "<MpSubprogramRange> ::= <Body> <EndMpSubprogramStmt>");
-        public static final Production MP_SUBPROGRAM_RANGE_32 = new Production(Nonterminal.MP_SUBPROGRAM_RANGE, 1, "<MpSubprogramRange> ::= <EndMpSubprogramStmt>");
-        public static final Production MP_SUBPROGRAM_RANGE_33 = new Production(Nonterminal.MP_SUBPROGRAM_RANGE, 2, "<MpSubprogramRange> ::= <BodyPlusInternals> <EndMpSubprogramStmt>");
-        public static final Production MP_SUBPROGRAM_STMT_34 = new Production(Nonterminal.MP_SUBPROGRAM_STMT, 5, "<MpSubprogramStmt> ::= <LblDef> T_MODULE T_PROCEDURE T_IDENT T_EOS");
-        public static final Production END_MP_SUBPROGRAM_STMT_35 = new Production(Nonterminal.END_MP_SUBPROGRAM_STMT, 3, "<EndMpSubprogramStmt> ::= <LblDef> T_END T_EOS");
-        public static final Production END_MP_SUBPROGRAM_STMT_36 = new Production(Nonterminal.END_MP_SUBPROGRAM_STMT, 3, "<EndMpSubprogramStmt> ::= <LblDef> T_ENDPROCEDURE T_EOS");
-        public static final Production END_MP_SUBPROGRAM_STMT_37 = new Production(Nonterminal.END_MP_SUBPROGRAM_STMT, 4, "<EndMpSubprogramStmt> ::= <LblDef> T_ENDPROCEDURE <EndName> T_EOS");
-        public static final Production END_MP_SUBPROGRAM_STMT_38 = new Production(Nonterminal.END_MP_SUBPROGRAM_STMT, 4, "<EndMpSubprogramStmt> ::= <LblDef> T_END T_PROCEDURE T_EOS");
-        public static final Production END_MP_SUBPROGRAM_STMT_39 = new Production(Nonterminal.END_MP_SUBPROGRAM_STMT, 5, "<EndMpSubprogramStmt> ::= <LblDef> T_END T_PROCEDURE <EndName> T_EOS");
-        public static final Production MODULE_40 = new Production(Nonterminal.MODULE, 2, "<Module> ::= <ModuleStmt> <ModuleBlock>");
-        public static final Production MODULE_BLOCK_41 = new Production(Nonterminal.MODULE_BLOCK, 2, "<ModuleBlock> ::= <ModuleBody> <EndModuleStmt>");
-        public static final Production MODULE_BLOCK_42 = new Production(Nonterminal.MODULE_BLOCK, 1, "<ModuleBlock> ::= <EndModuleStmt>");
-        public static final Production MODULE_BODY_43 = new Production(Nonterminal.MODULE_BODY, 2, "<ModuleBody> ::= <ModuleBody> <ModuleBodyConstruct>");
-        public static final Production MODULE_BODY_44 = new Production(Nonterminal.MODULE_BODY, 1, "<ModuleBody> ::= <ModuleBodyConstruct>");
-        public static final Production MODULE_BODY_CONSTRUCT_45 = new Production(Nonterminal.MODULE_BODY_CONSTRUCT, 1, "<ModuleBodyConstruct> ::= <SpecificationPartConstruct>");
-        public static final Production MODULE_BODY_CONSTRUCT_46 = new Production(Nonterminal.MODULE_BODY_CONSTRUCT, 1, "<ModuleBodyConstruct> ::= <ModuleSubprogramPartConstruct>");
-        public static final Production SUBMODULE_47 = new Production(Nonterminal.SUBMODULE, 2, "<Submodule> ::= <SubmoduleStmt> <SubmoduleBlock>");
-        public static final Production SUBMODULE_BLOCK_48 = new Production(Nonterminal.SUBMODULE_BLOCK, 2, "<SubmoduleBlock> ::= <ModuleBody> <EndSubmoduleStmt>");
-        public static final Production SUBMODULE_BLOCK_49 = new Production(Nonterminal.SUBMODULE_BLOCK, 1, "<SubmoduleBlock> ::= <EndSubmoduleStmt>");
-        public static final Production SUBMODULE_STMT_50 = new Production(Nonterminal.SUBMODULE_STMT, 7, "<SubmoduleStmt> ::= <LblDef> T_SUBMODULE T_LPAREN <ParentIdentifier> T_RPAREN <ModuleName> T_EOS");
-        public static final Production PARENT_IDENTIFIER_51 = new Production(Nonterminal.PARENT_IDENTIFIER, 1, "<ParentIdentifier> ::= <ModuleName>");
-        public static final Production PARENT_IDENTIFIER_52 = new Production(Nonterminal.PARENT_IDENTIFIER, 3, "<ParentIdentifier> ::= <ModuleName> T_COLON <ModuleName>");
-        public static final Production END_SUBMODULE_STMT_53 = new Production(Nonterminal.END_SUBMODULE_STMT, 3, "<EndSubmoduleStmt> ::= <LblDef> T_END T_EOS");
-        public static final Production END_SUBMODULE_STMT_54 = new Production(Nonterminal.END_SUBMODULE_STMT, 3, "<EndSubmoduleStmt> ::= <LblDef> T_ENDSUBMODULE T_EOS");
-        public static final Production END_SUBMODULE_STMT_55 = new Production(Nonterminal.END_SUBMODULE_STMT, 4, "<EndSubmoduleStmt> ::= <LblDef> T_ENDSUBMODULE <EndName> T_EOS");
-        public static final Production END_SUBMODULE_STMT_56 = new Production(Nonterminal.END_SUBMODULE_STMT, 4, "<EndSubmoduleStmt> ::= <LblDef> T_END T_SUBMODULE T_EOS");
-        public static final Production END_SUBMODULE_STMT_57 = new Production(Nonterminal.END_SUBMODULE_STMT, 5, "<EndSubmoduleStmt> ::= <LblDef> T_END T_SUBMODULE <EndName> T_EOS");
-        public static final Production BLOCK_DATA_SUBPROGRAM_58 = new Production(Nonterminal.BLOCK_DATA_SUBPROGRAM, 3, "<BlockDataSubprogram> ::= <BlockDataStmt> <BlockDataBody> <EndBlockDataStmt>");
-        public static final Production BLOCK_DATA_SUBPROGRAM_59 = new Production(Nonterminal.BLOCK_DATA_SUBPROGRAM, 2, "<BlockDataSubprogram> ::= <BlockDataStmt> <EndBlockDataStmt>");
-        public static final Production BLOCK_DATA_BODY_60 = new Production(Nonterminal.BLOCK_DATA_BODY, 1, "<BlockDataBody> ::= <BlockDataBodyConstruct>");
-        public static final Production BLOCK_DATA_BODY_61 = new Production(Nonterminal.BLOCK_DATA_BODY, 2, "<BlockDataBody> ::= <BlockDataBody> <BlockDataBodyConstruct>");
-        public static final Production BLOCK_DATA_BODY_CONSTRUCT_62 = new Production(Nonterminal.BLOCK_DATA_BODY_CONSTRUCT, 1, "<BlockDataBodyConstruct> ::= <SpecificationPartConstruct>");
-        public static final Production SPECIFICATION_PART_CONSTRUCT_63 = new Production(Nonterminal.SPECIFICATION_PART_CONSTRUCT, 1, "<SpecificationPartConstruct> ::= <UseStmt>");
-        public static final Production SPECIFICATION_PART_CONSTRUCT_64 = new Production(Nonterminal.SPECIFICATION_PART_CONSTRUCT, 1, "<SpecificationPartConstruct> ::= <ImportStmt>");
-        public static final Production SPECIFICATION_PART_CONSTRUCT_65 = new Production(Nonterminal.SPECIFICATION_PART_CONSTRUCT, 1, "<SpecificationPartConstruct> ::= <ImplicitStmt>");
-        public static final Production SPECIFICATION_PART_CONSTRUCT_66 = new Production(Nonterminal.SPECIFICATION_PART_CONSTRUCT, 1, "<SpecificationPartConstruct> ::= <ParameterStmt>");
-        public static final Production SPECIFICATION_PART_CONSTRUCT_67 = new Production(Nonterminal.SPECIFICATION_PART_CONSTRUCT, 1, "<SpecificationPartConstruct> ::= <FormatStmt>");
-        public static final Production SPECIFICATION_PART_CONSTRUCT_68 = new Production(Nonterminal.SPECIFICATION_PART_CONSTRUCT, 1, "<SpecificationPartConstruct> ::= <EntryStmt>");
-        public static final Production SPECIFICATION_PART_CONSTRUCT_69 = new Production(Nonterminal.SPECIFICATION_PART_CONSTRUCT, 1, "<SpecificationPartConstruct> ::= <DeclarationConstruct>");
-        public static final Production DECLARATION_CONSTRUCT_70 = new Production(Nonterminal.DECLARATION_CONSTRUCT, 1, "<DeclarationConstruct> ::= <DerivedTypeDef>");
-        public static final Production DECLARATION_CONSTRUCT_71 = new Production(Nonterminal.DECLARATION_CONSTRUCT, 1, "<DeclarationConstruct> ::= <EnumDef>");
-        public static final Production DECLARATION_CONSTRUCT_72 = new Production(Nonterminal.DECLARATION_CONSTRUCT, 1, "<DeclarationConstruct> ::= <InterfaceBlock>");
-        public static final Production DECLARATION_CONSTRUCT_73 = new Production(Nonterminal.DECLARATION_CONSTRUCT, 1, "<DeclarationConstruct> ::= <TypeDeclarationStmt>");
-        public static final Production DECLARATION_CONSTRUCT_74 = new Production(Nonterminal.DECLARATION_CONSTRUCT, 1, "<DeclarationConstruct> ::= <SpecificationStmt>");
-        public static final Production DECLARATION_CONSTRUCT_75 = new Production(Nonterminal.DECLARATION_CONSTRUCT, 1, "<DeclarationConstruct> ::= <ProcedureDeclarationStmt>");
-        public static final Production EXECUTION_PART_CONSTRUCT_76 = new Production(Nonterminal.EXECUTION_PART_CONSTRUCT, 1, "<ExecutionPartConstruct> ::= <ObsoleteExecutionPartConstruct>");
-        public static final Production EXECUTION_PART_CONSTRUCT_77 = new Production(Nonterminal.EXECUTION_PART_CONSTRUCT, 1, "<ExecutionPartConstruct> ::= <ExecutableConstruct>");
-        public static final Production EXECUTION_PART_CONSTRUCT_78 = new Production(Nonterminal.EXECUTION_PART_CONSTRUCT, 1, "<ExecutionPartConstruct> ::= <FormatStmt>");
-        public static final Production EXECUTION_PART_CONSTRUCT_79 = new Production(Nonterminal.EXECUTION_PART_CONSTRUCT, 1, "<ExecutionPartConstruct> ::= <EntryStmt>");
-        public static final Production OBSOLETE_EXECUTION_PART_CONSTRUCT_80 = new Production(Nonterminal.OBSOLETE_EXECUTION_PART_CONSTRUCT, 1, "<ObsoleteExecutionPartConstruct> ::= <DataStmt>");
-        public static final Production BODY_PLUS_INTERNALS_81 = new Production(Nonterminal.BODY_PLUS_INTERNALS, 3, "<BodyPlusInternals> ::= <Body> <ContainsStmt> <InternalSubprograms>");
-        public static final Production BODY_PLUS_INTERNALS_82 = new Production(Nonterminal.BODY_PLUS_INTERNALS, 2, "<BodyPlusInternals> ::= <ContainsStmt> <InternalSubprograms>");
-        public static final Production INTERNAL_SUBPROGRAMS_83 = new Production(Nonterminal.INTERNAL_SUBPROGRAMS, 1, "<InternalSubprograms> ::= <InternalSubprogram>");
-        public static final Production INTERNAL_SUBPROGRAMS_84 = new Production(Nonterminal.INTERNAL_SUBPROGRAMS, 2, "<InternalSubprograms> ::= <InternalSubprograms> <InternalSubprogram>");
-        public static final Production INTERNAL_SUBPROGRAM_85 = new Production(Nonterminal.INTERNAL_SUBPROGRAM, 1, "<InternalSubprogram> ::= <FunctionSubprogram>");
-        public static final Production INTERNAL_SUBPROGRAM_86 = new Production(Nonterminal.INTERNAL_SUBPROGRAM, 1, "<InternalSubprogram> ::= <SubroutineSubprogram>");
-        public static final Production MODULE_SUBPROGRAM_PART_CONSTRUCT_87 = new Production(Nonterminal.MODULE_SUBPROGRAM_PART_CONSTRUCT, 1, "<ModuleSubprogramPartConstruct> ::= <ContainsStmt>");
-        public static final Production MODULE_SUBPROGRAM_PART_CONSTRUCT_88 = new Production(Nonterminal.MODULE_SUBPROGRAM_PART_CONSTRUCT, 1, "<ModuleSubprogramPartConstruct> ::= <ModuleSubprogram>");
-        public static final Production MODULE_SUBPROGRAM_PART_CONSTRUCT_89 = new Production(Nonterminal.MODULE_SUBPROGRAM_PART_CONSTRUCT, 1, "<ModuleSubprogramPartConstruct> ::= <SeparateModuleSubprogram>");
-        public static final Production MODULE_SUBPROGRAM_90 = new Production(Nonterminal.MODULE_SUBPROGRAM, 1, "<ModuleSubprogram> ::= <FunctionSubprogram>");
-        public static final Production MODULE_SUBPROGRAM_91 = new Production(Nonterminal.MODULE_SUBPROGRAM, 1, "<ModuleSubprogram> ::= <SubroutineSubprogram>");
-        public static final Production SPECIFICATION_STMT_92 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <AccessStmt>");
-        public static final Production SPECIFICATION_STMT_93 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <AllocatableStmt>");
-        public static final Production SPECIFICATION_STMT_94 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <AsynchronousStmt>");
-        public static final Production SPECIFICATION_STMT_95 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <BindStmt>");
-        public static final Production SPECIFICATION_STMT_96 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <CodimensionStmt>");
-        public static final Production SPECIFICATION_STMT_97 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <CommonStmt>");
-        public static final Production SPECIFICATION_STMT_98 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <ContiguousStmt>");
-        public static final Production SPECIFICATION_STMT_99 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <DataStmt>");
-        public static final Production SPECIFICATION_STMT_100 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <DimensionStmt>");
-        public static final Production SPECIFICATION_STMT_101 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <EquivalenceStmt>");
-        public static final Production SPECIFICATION_STMT_102 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <ExternalStmt>");
-        public static final Production SPECIFICATION_STMT_103 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <IntentStmt>");
-        public static final Production SPECIFICATION_STMT_104 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <IntrinsicStmt>");
-        public static final Production SPECIFICATION_STMT_105 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <NamelistStmt>");
-        public static final Production SPECIFICATION_STMT_106 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <OptionalStmt>");
-        public static final Production SPECIFICATION_STMT_107 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <PointerStmt>");
-        public static final Production SPECIFICATION_STMT_108 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <CrayPointerStmt>");
-        public static final Production SPECIFICATION_STMT_109 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <ProtectedStmt>");
-        public static final Production SPECIFICATION_STMT_110 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <SaveStmt>");
-        public static final Production SPECIFICATION_STMT_111 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <TargetStmt>");
-        public static final Production SPECIFICATION_STMT_112 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <VolatileStmt>");
-        public static final Production SPECIFICATION_STMT_113 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <ValueStmt>");
-        public static final Production SPECIFICATION_STMT_114 = new Production(Nonterminal.SPECIFICATION_STMT, 1, "<SpecificationStmt> ::= <UnprocessedIncludeStmt>");
-        public static final Production UNPROCESSED_INCLUDE_STMT_115 = new Production(Nonterminal.UNPROCESSED_INCLUDE_STMT, 4, "<UnprocessedIncludeStmt> ::= <LblDef> T_IDENT T_SCON T_EOS");
-        public static final Production EXECUTABLE_CONSTRUCT_116 = new Production(Nonterminal.EXECUTABLE_CONSTRUCT, 1, "<ExecutableConstruct> ::= <ActionStmt>");
-        public static final Production EXECUTABLE_CONSTRUCT_117 = new Production(Nonterminal.EXECUTABLE_CONSTRUCT, 1, "<ExecutableConstruct> ::= <AssociateConstruct>");
-        public static final Production EXECUTABLE_CONSTRUCT_118 = new Production(Nonterminal.EXECUTABLE_CONSTRUCT, 1, "<ExecutableConstruct> ::= <BlockConstruct>");
-        public static final Production EXECUTABLE_CONSTRUCT_119 = new Production(Nonterminal.EXECUTABLE_CONSTRUCT, 1, "<ExecutableConstruct> ::= <CaseConstruct>");
-        public static final Production EXECUTABLE_CONSTRUCT_120 = new Production(Nonterminal.EXECUTABLE_CONSTRUCT, 1, "<ExecutableConstruct> ::= <CriticalConstruct>");
-        public static final Production EXECUTABLE_CONSTRUCT_121 = new Production(Nonterminal.EXECUTABLE_CONSTRUCT, 1, "<ExecutableConstruct> ::= <DoConstruct>");
-        public static final Production EXECUTABLE_CONSTRUCT_122 = new Production(Nonterminal.EXECUTABLE_CONSTRUCT, 1, "<ExecutableConstruct> ::= <ForallConstruct>");
-        public static final Production EXECUTABLE_CONSTRUCT_123 = new Production(Nonterminal.EXECUTABLE_CONSTRUCT, 1, "<ExecutableConstruct> ::= <IfConstruct>");
-        public static final Production EXECUTABLE_CONSTRUCT_124 = new Production(Nonterminal.EXECUTABLE_CONSTRUCT, 1, "<ExecutableConstruct> ::= <SelectTypeConstruct>");
-        public static final Production EXECUTABLE_CONSTRUCT_125 = new Production(Nonterminal.EXECUTABLE_CONSTRUCT, 1, "<ExecutableConstruct> ::= <WhereConstruct>");
-        public static final Production EXECUTABLE_CONSTRUCT_126 = new Production(Nonterminal.EXECUTABLE_CONSTRUCT, 1, "<ExecutableConstruct> ::= <EndDoStmt>");
-        public static final Production ACTION_STMT_127 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <ObsoleteActionStmt>");
-        public static final Production ACTION_STMT_128 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <AllocateStmt>");
-        public static final Production ACTION_STMT_129 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <AllStopStmt>");
-        public static final Production ACTION_STMT_130 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <AssignmentStmt>");
-        public static final Production ACTION_STMT_131 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <BackspaceStmt>");
-        public static final Production ACTION_STMT_132 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <CallStmt>");
-        public static final Production ACTION_STMT_133 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <CloseStmt>");
-        public static final Production ACTION_STMT_134 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <ContinueStmt>");
-        public static final Production ACTION_STMT_135 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <CycleStmt>");
-        public static final Production ACTION_STMT_136 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <DeallocateStmt>");
-        public static final Production ACTION_STMT_137 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <EndfileStmt>");
-        public static final Production ACTION_STMT_138 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <ExitStmt>");
-        public static final Production ACTION_STMT_139 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <ForallStmt>");
-        public static final Production ACTION_STMT_140 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <GotoStmt>");
-        public static final Production ACTION_STMT_141 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <IfStmt>");
-        public static final Production ACTION_STMT_142 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <InquireStmt>");
-        public static final Production ACTION_STMT_143 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <LockStmt>");
-        public static final Production ACTION_STMT_144 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <NullifyStmt>");
-        public static final Production ACTION_STMT_145 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <OpenStmt>");
-        public static final Production ACTION_STMT_146 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <PointerAssignmentStmt>");
-        public static final Production ACTION_STMT_147 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <PrintStmt>");
-        public static final Production ACTION_STMT_148 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <ReadStmt>");
-        public static final Production ACTION_STMT_149 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <ReturnStmt>");
-        public static final Production ACTION_STMT_150 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <RewindStmt>");
-        public static final Production ACTION_STMT_151 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <StopStmt>");
-        public static final Production ACTION_STMT_152 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <SyncAllStmt>");
-        public static final Production ACTION_STMT_153 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <SyncImagesStmt>");
-        public static final Production ACTION_STMT_154 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <SyncMemoryStmt>");
-        public static final Production ACTION_STMT_155 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <UnlockStmt>");
-        public static final Production ACTION_STMT_156 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <WaitStmt>");
-        public static final Production ACTION_STMT_157 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <WhereStmt>");
-        public static final Production ACTION_STMT_158 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <WriteStmt>");
-        public static final Production ACTION_STMT_159 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <AssignStmt>");
-        public static final Production ACTION_STMT_160 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <AssignedGotoStmt>");
-        public static final Production ACTION_STMT_161 = new Production(Nonterminal.ACTION_STMT, 1, "<ActionStmt> ::= <PauseStmt>");
-        public static final Production OBSOLETE_ACTION_STMT_162 = new Production(Nonterminal.OBSOLETE_ACTION_STMT, 1, "<ObsoleteActionStmt> ::= <StmtFunctionStmt>");
-        public static final Production OBSOLETE_ACTION_STMT_163 = new Production(Nonterminal.OBSOLETE_ACTION_STMT, 1, "<ObsoleteActionStmt> ::= <ArithmeticIfStmt>");
-        public static final Production OBSOLETE_ACTION_STMT_164 = new Production(Nonterminal.OBSOLETE_ACTION_STMT, 1, "<ObsoleteActionStmt> ::= <ComputedGotoStmt>");
-        public static final Production NAME_165 = new Production(Nonterminal.NAME, 1, "<Name> ::= T_IDENT");
-        public static final Production CONSTANT_166 = new Production(Nonterminal.CONSTANT, 1, "<Constant> ::= <NamedConstantUse>");
-        public static final Production CONSTANT_167 = new Production(Nonterminal.CONSTANT, 1, "<Constant> ::= <UnsignedArithmeticConstant>");
-        public static final Production CONSTANT_168 = new Production(Nonterminal.CONSTANT, 2, "<Constant> ::= T_PLUS <UnsignedArithmeticConstant>");
-        public static final Production CONSTANT_169 = new Production(Nonterminal.CONSTANT, 2, "<Constant> ::= T_MINUS <UnsignedArithmeticConstant>");
-        public static final Production CONSTANT_170 = new Production(Nonterminal.CONSTANT, 1, "<Constant> ::= T_SCON");
-        public static final Production CONSTANT_171 = new Production(Nonterminal.CONSTANT, 3, "<Constant> ::= T_ICON T_UNDERSCORE T_SCON");
-        public static final Production CONSTANT_172 = new Production(Nonterminal.CONSTANT, 3, "<Constant> ::= <NamedConstantUse> T_UNDERSCORE T_SCON");
-        public static final Production CONSTANT_173 = new Production(Nonterminal.CONSTANT, 1, "<Constant> ::= <LogicalConstant>");
-        public static final Production CONSTANT_174 = new Production(Nonterminal.CONSTANT, 1, "<Constant> ::= <StructureConstructor>");
-        public static final Production CONSTANT_175 = new Production(Nonterminal.CONSTANT, 1, "<Constant> ::= <BozLiteralConstant>");
-        public static final Production CONSTANT_176 = new Production(Nonterminal.CONSTANT, 1, "<Constant> ::= T_HCON");
-        public static final Production NAMED_CONSTANT_177 = new Production(Nonterminal.NAMED_CONSTANT, 1, "<NamedConstant> ::= T_IDENT");
-        public static final Production NAMED_CONSTANT_USE_178 = new Production(Nonterminal.NAMED_CONSTANT_USE, 1, "<NamedConstantUse> ::= T_IDENT");
-        public static final Production POWER_OP_179 = new Production(Nonterminal.POWER_OP, 1, "<PowerOp> ::= T_POW");
-        public static final Production MULT_OP_180 = new Production(Nonterminal.MULT_OP, 1, "<MultOp> ::= T_ASTERISK");
-        public static final Production MULT_OP_181 = new Production(Nonterminal.MULT_OP, 1, "<MultOp> ::= T_SLASH");
-        public static final Production ADD_OP_182 = new Production(Nonterminal.ADD_OP, 1, "<AddOp> ::= T_PLUS");
-        public static final Production ADD_OP_183 = new Production(Nonterminal.ADD_OP, 1, "<AddOp> ::= T_MINUS");
-        public static final Production SIGN_184 = new Production(Nonterminal.SIGN, 1, "<Sign> ::= T_PLUS");
-        public static final Production SIGN_185 = new Production(Nonterminal.SIGN, 1, "<Sign> ::= T_MINUS");
-        public static final Production CONCAT_OP_186 = new Production(Nonterminal.CONCAT_OP, 1, "<ConcatOp> ::= T_SLASHSLASH");
-        public static final Production REL_OP_187 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_EQ");
-        public static final Production REL_OP_188 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_NE");
-        public static final Production REL_OP_189 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_LT");
-        public static final Production REL_OP_190 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_LESSTHAN");
-        public static final Production REL_OP_191 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_LE");
-        public static final Production REL_OP_192 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_LESSTHANEQ");
-        public static final Production REL_OP_193 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_GT");
-        public static final Production REL_OP_194 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_GREATERTHAN");
-        public static final Production REL_OP_195 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_GE");
-        public static final Production REL_OP_196 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_GREATERTHANEQ");
-        public static final Production REL_OP_197 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_EQEQ");
-        public static final Production REL_OP_198 = new Production(Nonterminal.REL_OP, 1, "<RelOp> ::= T_SLASHEQ");
-        public static final Production NOT_OP_199 = new Production(Nonterminal.NOT_OP, 1, "<NotOp> ::= T_NOT");
-        public static final Production AND_OP_200 = new Production(Nonterminal.AND_OP, 1, "<AndOp> ::= T_AND");
-        public static final Production OR_OP_201 = new Production(Nonterminal.OR_OP, 1, "<OrOp> ::= T_OR");
-        public static final Production EQUIV_OP_202 = new Production(Nonterminal.EQUIV_OP, 1, "<EquivOp> ::= T_EQV");
-        public static final Production EQUIV_OP_203 = new Production(Nonterminal.EQUIV_OP, 1, "<EquivOp> ::= T_NEQV");
-        public static final Production DEFINED_OPERATOR_204 = new Production(Nonterminal.DEFINED_OPERATOR, 1, "<DefinedOperator> ::= T_XDOP");
-        public static final Production DEFINED_OPERATOR_205 = new Production(Nonterminal.DEFINED_OPERATOR, 1, "<DefinedOperator> ::= <ConcatOp>");
-        public static final Production DEFINED_OPERATOR_206 = new Production(Nonterminal.DEFINED_OPERATOR, 1, "<DefinedOperator> ::= <PowerOp>");
-        public static final Production DEFINED_OPERATOR_207 = new Production(Nonterminal.DEFINED_OPERATOR, 1, "<DefinedOperator> ::= <MultOp>");
-        public static final Production DEFINED_OPERATOR_208 = new Production(Nonterminal.DEFINED_OPERATOR, 1, "<DefinedOperator> ::= <AddOp>");
-        public static final Production DEFINED_OPERATOR_209 = new Production(Nonterminal.DEFINED_OPERATOR, 1, "<DefinedOperator> ::= <RelOp>");
-        public static final Production DEFINED_OPERATOR_210 = new Production(Nonterminal.DEFINED_OPERATOR, 1, "<DefinedOperator> ::= <NotOp>");
-        public static final Production DEFINED_OPERATOR_211 = new Production(Nonterminal.DEFINED_OPERATOR, 1, "<DefinedOperator> ::= <AndOp>");
-        public static final Production DEFINED_OPERATOR_212 = new Production(Nonterminal.DEFINED_OPERATOR, 1, "<DefinedOperator> ::= <OrOp>");
-        public static final Production DEFINED_OPERATOR_213 = new Production(Nonterminal.DEFINED_OPERATOR, 1, "<DefinedOperator> ::= <EquivOp>");
-        public static final Production DEFINED_UNARY_OP_214 = new Production(Nonterminal.DEFINED_UNARY_OP, 1, "<DefinedUnaryOp> ::= T_XDOP");
-        public static final Production DEFINED_BINARY_OP_215 = new Production(Nonterminal.DEFINED_BINARY_OP, 1, "<DefinedBinaryOp> ::= T_XDOP");
-        public static final Production LABEL_216 = new Production(Nonterminal.LABEL, 1, "<Label> ::= T_ICON");
-        public static final Production UNSIGNED_ARITHMETIC_CONSTANT_217 = new Production(Nonterminal.UNSIGNED_ARITHMETIC_CONSTANT, 1, "<UnsignedArithmeticConstant> ::= T_ICON");
-        public static final Production UNSIGNED_ARITHMETIC_CONSTANT_218 = new Production(Nonterminal.UNSIGNED_ARITHMETIC_CONSTANT, 1, "<UnsignedArithmeticConstant> ::= T_RCON");
-        public static final Production UNSIGNED_ARITHMETIC_CONSTANT_219 = new Production(Nonterminal.UNSIGNED_ARITHMETIC_CONSTANT, 1, "<UnsignedArithmeticConstant> ::= T_DCON");
-        public static final Production UNSIGNED_ARITHMETIC_CONSTANT_220 = new Production(Nonterminal.UNSIGNED_ARITHMETIC_CONSTANT, 1, "<UnsignedArithmeticConstant> ::= <ComplexConst>");
-        public static final Production UNSIGNED_ARITHMETIC_CONSTANT_221 = new Production(Nonterminal.UNSIGNED_ARITHMETIC_CONSTANT, 3, "<UnsignedArithmeticConstant> ::= T_ICON T_UNDERSCORE <KindParam>");
-        public static final Production UNSIGNED_ARITHMETIC_CONSTANT_222 = new Production(Nonterminal.UNSIGNED_ARITHMETIC_CONSTANT, 3, "<UnsignedArithmeticConstant> ::= T_RCON T_UNDERSCORE <KindParam>");
-        public static final Production UNSIGNED_ARITHMETIC_CONSTANT_223 = new Production(Nonterminal.UNSIGNED_ARITHMETIC_CONSTANT, 3, "<UnsignedArithmeticConstant> ::= T_DCON T_UNDERSCORE <KindParam>");
-        public static final Production KIND_PARAM_224 = new Production(Nonterminal.KIND_PARAM, 1, "<KindParam> ::= T_ICON");
-        public static final Production KIND_PARAM_225 = new Production(Nonterminal.KIND_PARAM, 1, "<KindParam> ::= <NamedConstantUse>");
-        public static final Production BOZ_LITERAL_CONSTANT_226 = new Production(Nonterminal.BOZ_LITERAL_CONSTANT, 1, "<BozLiteralConstant> ::= T_BCON");
-        public static final Production BOZ_LITERAL_CONSTANT_227 = new Production(Nonterminal.BOZ_LITERAL_CONSTANT, 1, "<BozLiteralConstant> ::= T_OCON");
-        public static final Production BOZ_LITERAL_CONSTANT_228 = new Production(Nonterminal.BOZ_LITERAL_CONSTANT, 1, "<BozLiteralConstant> ::= T_ZCON");
-        public static final Production COMPLEX_CONST_229 = new Production(Nonterminal.COMPLEX_CONST, 5, "<ComplexConst> ::= T_LPAREN <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production LOGICAL_CONSTANT_230 = new Production(Nonterminal.LOGICAL_CONSTANT, 1, "<LogicalConstant> ::= T_TRUE");
-        public static final Production LOGICAL_CONSTANT_231 = new Production(Nonterminal.LOGICAL_CONSTANT, 1, "<LogicalConstant> ::= T_FALSE");
-        public static final Production LOGICAL_CONSTANT_232 = new Production(Nonterminal.LOGICAL_CONSTANT, 3, "<LogicalConstant> ::= T_TRUE T_UNDERSCORE <KindParam>");
-        public static final Production LOGICAL_CONSTANT_233 = new Production(Nonterminal.LOGICAL_CONSTANT, 3, "<LogicalConstant> ::= T_FALSE T_UNDERSCORE <KindParam>");
-        public static final Production DERIVED_TYPE_DEF_234 = new Production(Nonterminal.DERIVED_TYPE_DEF, 2, "<DerivedTypeDef> ::= <DerivedTypeStmt> <EndTypeStmt>");
-        public static final Production DERIVED_TYPE_DEF_235 = new Production(Nonterminal.DERIVED_TYPE_DEF, 3, "<DerivedTypeDef> ::= <DerivedTypeStmt> <TypeBoundProcedurePart> <EndTypeStmt>");
-        public static final Production DERIVED_TYPE_DEF_236 = new Production(Nonterminal.DERIVED_TYPE_DEF, 3, "<DerivedTypeDef> ::= <DerivedTypeStmt> <DerivedTypeBody> <EndTypeStmt>");
-        public static final Production DERIVED_TYPE_DEF_237 = new Production(Nonterminal.DERIVED_TYPE_DEF, 4, "<DerivedTypeDef> ::= <DerivedTypeStmt> <DerivedTypeBody> <TypeBoundProcedurePart> <EndTypeStmt>");
-        public static final Production DERIVED_TYPE_DEF_238 = new Production(Nonterminal.DERIVED_TYPE_DEF, 3, "<DerivedTypeDef> ::= <DerivedTypeStmt> <TypeParamDefStmt> <EndTypeStmt>");
-        public static final Production DERIVED_TYPE_DEF_239 = new Production(Nonterminal.DERIVED_TYPE_DEF, 4, "<DerivedTypeDef> ::= <DerivedTypeStmt> <TypeParamDefStmt> <TypeBoundProcedurePart> <EndTypeStmt>");
-        public static final Production DERIVED_TYPE_DEF_240 = new Production(Nonterminal.DERIVED_TYPE_DEF, 4, "<DerivedTypeDef> ::= <DerivedTypeStmt> <TypeParamDefStmt> <DerivedTypeBody> <EndTypeStmt>");
-        public static final Production DERIVED_TYPE_DEF_241 = new Production(Nonterminal.DERIVED_TYPE_DEF, 5, "<DerivedTypeDef> ::= <DerivedTypeStmt> <TypeParamDefStmt> <DerivedTypeBody> <TypeBoundProcedurePart> <EndTypeStmt>");
-        public static final Production DERIVED_TYPE_BODY_242 = new Production(Nonterminal.DERIVED_TYPE_BODY, 1, "<DerivedTypeBody> ::= <DerivedTypeBodyConstruct>");
-        public static final Production DERIVED_TYPE_BODY_243 = new Production(Nonterminal.DERIVED_TYPE_BODY, 2, "<DerivedTypeBody> ::= <DerivedTypeBody> <DerivedTypeBodyConstruct>");
-        public static final Production DERIVED_TYPE_BODY_CONSTRUCT_244 = new Production(Nonterminal.DERIVED_TYPE_BODY_CONSTRUCT, 1, "<DerivedTypeBodyConstruct> ::= <PrivateSequenceStmt>");
-        public static final Production DERIVED_TYPE_BODY_CONSTRUCT_245 = new Production(Nonterminal.DERIVED_TYPE_BODY_CONSTRUCT, 1, "<DerivedTypeBodyConstruct> ::= <ComponentDefStmt>");
-        public static final Production DERIVED_TYPE_STMT_246 = new Production(Nonterminal.DERIVED_TYPE_STMT, 4, "<DerivedTypeStmt> ::= <LblDef> T_TYPE <TypeName> T_EOS");
-        public static final Production DERIVED_TYPE_STMT_247 = new Production(Nonterminal.DERIVED_TYPE_STMT, 6, "<DerivedTypeStmt> ::= <LblDef> T_TYPE T_COLON T_COLON <TypeName> T_EOS");
-        public static final Production DERIVED_TYPE_STMT_248 = new Production(Nonterminal.DERIVED_TYPE_STMT, 8, "<DerivedTypeStmt> ::= <LblDef> T_TYPE T_COMMA <TypeAttrSpecList> T_COLON T_COLON <TypeName> T_EOS");
-        public static final Production DERIVED_TYPE_STMT_249 = new Production(Nonterminal.DERIVED_TYPE_STMT, 7, "<DerivedTypeStmt> ::= <LblDef> T_TYPE <TypeName> T_LPAREN <TypeParamNameList> T_RPAREN T_EOS");
-        public static final Production DERIVED_TYPE_STMT_250 = new Production(Nonterminal.DERIVED_TYPE_STMT, 9, "<DerivedTypeStmt> ::= <LblDef> T_TYPE T_COLON T_COLON <TypeName> T_LPAREN <TypeParamNameList> T_RPAREN T_EOS");
-        public static final Production DERIVED_TYPE_STMT_251 = new Production(Nonterminal.DERIVED_TYPE_STMT, 11, "<DerivedTypeStmt> ::= <LblDef> T_TYPE T_COMMA <TypeAttrSpecList> T_COLON T_COLON <TypeName> T_LPAREN <TypeParamNameList> T_RPAREN T_EOS");
-        public static final Production TYPE_PARAM_NAME_LIST_252 = new Production(Nonterminal.TYPE_PARAM_NAME_LIST, 3, "<TypeParamNameList> ::= <TypeParamNameList> T_COMMA <TypeParamName>");
-        public static final Production TYPE_PARAM_NAME_LIST_253 = new Production(Nonterminal.TYPE_PARAM_NAME_LIST, 1, "<TypeParamNameList> ::= <TypeParamName>");
-        public static final Production TYPE_ATTR_SPEC_LIST_254 = new Production(Nonterminal.TYPE_ATTR_SPEC_LIST, 3, "<TypeAttrSpecList> ::= <TypeAttrSpecList> T_COMMA <TypeAttrSpec>");
-        public static final Production TYPE_ATTR_SPEC_LIST_255 = new Production(Nonterminal.TYPE_ATTR_SPEC_LIST, 1, "<TypeAttrSpecList> ::= <TypeAttrSpec>");
-        public static final Production TYPE_ATTR_SPEC_256 = new Production(Nonterminal.TYPE_ATTR_SPEC, 1, "<TypeAttrSpec> ::= <AccessSpec>");
-        public static final Production TYPE_ATTR_SPEC_257 = new Production(Nonterminal.TYPE_ATTR_SPEC, 4, "<TypeAttrSpec> ::= T_EXTENDS T_LPAREN T_IDENT T_RPAREN");
-        public static final Production TYPE_ATTR_SPEC_258 = new Production(Nonterminal.TYPE_ATTR_SPEC, 1, "<TypeAttrSpec> ::= T_ABSTRACT");
-        public static final Production TYPE_ATTR_SPEC_259 = new Production(Nonterminal.TYPE_ATTR_SPEC, 4, "<TypeAttrSpec> ::= T_BIND T_LPAREN T_IDENT T_RPAREN");
-        public static final Production TYPE_PARAM_NAME_260 = new Production(Nonterminal.TYPE_PARAM_NAME, 1, "<TypeParamName> ::= T_IDENT");
-        public static final Production PRIVATE_SEQUENCE_STMT_261 = new Production(Nonterminal.PRIVATE_SEQUENCE_STMT, 3, "<PrivateSequenceStmt> ::= <LblDef> T_PRIVATE T_EOS");
-        public static final Production PRIVATE_SEQUENCE_STMT_262 = new Production(Nonterminal.PRIVATE_SEQUENCE_STMT, 3, "<PrivateSequenceStmt> ::= <LblDef> T_SEQUENCE T_EOS");
-        public static final Production TYPE_PARAM_DEF_STMT_263 = new Production(Nonterminal.TYPE_PARAM_DEF_STMT, 8, "<TypeParamDefStmt> ::= <LblDef> <TypeSpec> T_COMMA <TypeParamAttrSpec> T_COLON T_COLON <TypeParamDeclList> T_EOS");
-        public static final Production TYPE_PARAM_DECL_LIST_264 = new Production(Nonterminal.TYPE_PARAM_DECL_LIST, 3, "<TypeParamDeclList> ::= <TypeParamDeclList> T_COMMA <TypeParamDecl>");
-        public static final Production TYPE_PARAM_DECL_LIST_265 = new Production(Nonterminal.TYPE_PARAM_DECL_LIST, 1, "<TypeParamDeclList> ::= <TypeParamDecl>");
-        public static final Production TYPE_PARAM_DECL_266 = new Production(Nonterminal.TYPE_PARAM_DECL, 1, "<TypeParamDecl> ::= T_IDENT");
-        public static final Production TYPE_PARAM_DECL_267 = new Production(Nonterminal.TYPE_PARAM_DECL, 3, "<TypeParamDecl> ::= T_IDENT T_EQUALS <Expr>");
-        public static final Production TYPE_PARAM_ATTR_SPEC_268 = new Production(Nonterminal.TYPE_PARAM_ATTR_SPEC, 1, "<TypeParamAttrSpec> ::= T_KIND");
-        public static final Production TYPE_PARAM_ATTR_SPEC_269 = new Production(Nonterminal.TYPE_PARAM_ATTR_SPEC, 1, "<TypeParamAttrSpec> ::= T_LEN");
-        public static final Production COMPONENT_DEF_STMT_270 = new Production(Nonterminal.COMPONENT_DEF_STMT, 1, "<ComponentDefStmt> ::= <DataComponentDefStmt>");
-        public static final Production COMPONENT_DEF_STMT_271 = new Production(Nonterminal.COMPONENT_DEF_STMT, 1, "<ComponentDefStmt> ::= <ProcComponentDefStmt>");
-        public static final Production DATA_COMPONENT_DEF_STMT_272 = new Production(Nonterminal.DATA_COMPONENT_DEF_STMT, 8, "<DataComponentDefStmt> ::= <LblDef> <TypeSpec> T_COMMA <ComponentAttrSpecList> T_COLON T_COLON <ComponentDeclList> T_EOS");
-        public static final Production DATA_COMPONENT_DEF_STMT_273 = new Production(Nonterminal.DATA_COMPONENT_DEF_STMT, 6, "<DataComponentDefStmt> ::= <LblDef> <TypeSpec> T_COLON T_COLON <ComponentDeclList> T_EOS");
-        public static final Production DATA_COMPONENT_DEF_STMT_274 = new Production(Nonterminal.DATA_COMPONENT_DEF_STMT, 4, "<DataComponentDefStmt> ::= <LblDef> <TypeSpec> <ComponentDeclList> T_EOS");
-        public static final Production COMPONENT_ATTR_SPEC_LIST_275 = new Production(Nonterminal.COMPONENT_ATTR_SPEC_LIST, 1, "<ComponentAttrSpecList> ::= <ComponentAttrSpec>");
-        public static final Production COMPONENT_ATTR_SPEC_LIST_276 = new Production(Nonterminal.COMPONENT_ATTR_SPEC_LIST, 3, "<ComponentAttrSpecList> ::= <ComponentAttrSpecList> T_COMMA <ComponentAttrSpec>");
-        public static final Production COMPONENT_ATTR_SPEC_277 = new Production(Nonterminal.COMPONENT_ATTR_SPEC, 1, "<ComponentAttrSpec> ::= T_POINTER");
-        public static final Production COMPONENT_ATTR_SPEC_278 = new Production(Nonterminal.COMPONENT_ATTR_SPEC, 4, "<ComponentAttrSpec> ::= T_DIMENSION T_LPAREN <ComponentArraySpec> T_RPAREN");
-        public static final Production COMPONENT_ATTR_SPEC_279 = new Production(Nonterminal.COMPONENT_ATTR_SPEC, 1, "<ComponentAttrSpec> ::= T_ALLOCATABLE");
-        public static final Production COMPONENT_ATTR_SPEC_280 = new Production(Nonterminal.COMPONENT_ATTR_SPEC, 1, "<ComponentAttrSpec> ::= <AccessSpec>");
-        public static final Production COMPONENT_ATTR_SPEC_281 = new Production(Nonterminal.COMPONENT_ATTR_SPEC, 4, "<ComponentAttrSpec> ::= T_CODIMENSION T_LBRACKET <CoarraySpec> T_RBRACKET");
-        public static final Production COMPONENT_ATTR_SPEC_282 = new Production(Nonterminal.COMPONENT_ATTR_SPEC, 1, "<ComponentAttrSpec> ::= T_CONTIGUOUS");
-        public static final Production COMPONENT_ARRAY_SPEC_283 = new Production(Nonterminal.COMPONENT_ARRAY_SPEC, 1, "<ComponentArraySpec> ::= <ExplicitShapeSpecList>");
-        public static final Production COMPONENT_ARRAY_SPEC_284 = new Production(Nonterminal.COMPONENT_ARRAY_SPEC, 1, "<ComponentArraySpec> ::= <DeferredShapeSpecList>");
-        public static final Production COMPONENT_DECL_LIST_285 = new Production(Nonterminal.COMPONENT_DECL_LIST, 1, "<ComponentDeclList> ::= <ComponentDecl>");
-        public static final Production COMPONENT_DECL_LIST_286 = new Production(Nonterminal.COMPONENT_DECL_LIST, 3, "<ComponentDeclList> ::= <ComponentDeclList> T_COMMA <ComponentDecl>");
-        public static final Production COMPONENT_DECL_287 = new Production(Nonterminal.COMPONENT_DECL, 7, "<ComponentDecl> ::= <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN T_ASTERISK <CharLength> <ComponentInitialization>");
-        public static final Production COMPONENT_DECL_288 = new Production(Nonterminal.COMPONENT_DECL, 6, "<ComponentDecl> ::= <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN T_ASTERISK <CharLength>");
-        public static final Production COMPONENT_DECL_289 = new Production(Nonterminal.COMPONENT_DECL, 5, "<ComponentDecl> ::= <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN <ComponentInitialization>");
-        public static final Production COMPONENT_DECL_290 = new Production(Nonterminal.COMPONENT_DECL, 4, "<ComponentDecl> ::= <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN");
-        public static final Production COMPONENT_DECL_291 = new Production(Nonterminal.COMPONENT_DECL, 4, "<ComponentDecl> ::= <ComponentName> T_ASTERISK <CharLength> <ComponentInitialization>");
-        public static final Production COMPONENT_DECL_292 = new Production(Nonterminal.COMPONENT_DECL, 3, "<ComponentDecl> ::= <ComponentName> T_ASTERISK <CharLength>");
-        public static final Production COMPONENT_DECL_293 = new Production(Nonterminal.COMPONENT_DECL, 2, "<ComponentDecl> ::= <ComponentName> <ComponentInitialization>");
-        public static final Production COMPONENT_DECL_294 = new Production(Nonterminal.COMPONENT_DECL, 1, "<ComponentDecl> ::= <ComponentName>");
-        public static final Production COMPONENT_DECL_295 = new Production(Nonterminal.COMPONENT_DECL, 10, "<ComponentDecl> ::= <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN T_LBRACKET <CoarraySpec> T_RBRACKET T_ASTERISK <CharLength> <ComponentInitialization>");
-        public static final Production COMPONENT_DECL_296 = new Production(Nonterminal.COMPONENT_DECL, 9, "<ComponentDecl> ::= <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN T_LBRACKET <CoarraySpec> T_RBRACKET T_ASTERISK <CharLength>");
-        public static final Production COMPONENT_DECL_297 = new Production(Nonterminal.COMPONENT_DECL, 8, "<ComponentDecl> ::= <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN T_LBRACKET <CoarraySpec> T_RBRACKET <ComponentInitialization>");
-        public static final Production COMPONENT_DECL_298 = new Production(Nonterminal.COMPONENT_DECL, 7, "<ComponentDecl> ::= <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN T_LBRACKET <CoarraySpec> T_RBRACKET");
-        public static final Production COMPONENT_DECL_299 = new Production(Nonterminal.COMPONENT_DECL, 7, "<ComponentDecl> ::= <ComponentName> T_LBRACKET <CoarraySpec> T_RBRACKET T_ASTERISK <CharLength> <ComponentInitialization>");
-        public static final Production COMPONENT_DECL_300 = new Production(Nonterminal.COMPONENT_DECL, 6, "<ComponentDecl> ::= <ComponentName> T_LBRACKET <CoarraySpec> T_RBRACKET T_ASTERISK <CharLength>");
-        public static final Production COMPONENT_DECL_301 = new Production(Nonterminal.COMPONENT_DECL, 5, "<ComponentDecl> ::= <ComponentName> T_LBRACKET <CoarraySpec> T_RBRACKET <ComponentInitialization>");
-        public static final Production COMPONENT_DECL_302 = new Production(Nonterminal.COMPONENT_DECL, 4, "<ComponentDecl> ::= <ComponentName> T_LBRACKET <CoarraySpec> T_RBRACKET");
-        public static final Production COMPONENT_INITIALIZATION_303 = new Production(Nonterminal.COMPONENT_INITIALIZATION, 2, "<ComponentInitialization> ::= T_EQUALS <Expr>");
-        public static final Production COMPONENT_INITIALIZATION_304 = new Production(Nonterminal.COMPONENT_INITIALIZATION, 4, "<ComponentInitialization> ::= T_EQGREATERTHAN T_NULL T_LPAREN T_RPAREN");
-        public static final Production END_TYPE_STMT_305 = new Production(Nonterminal.END_TYPE_STMT, 4, "<EndTypeStmt> ::= <LblDef> T_ENDTYPE <TypeName> T_EOS");
-        public static final Production END_TYPE_STMT_306 = new Production(Nonterminal.END_TYPE_STMT, 5, "<EndTypeStmt> ::= <LblDef> T_END T_TYPE <TypeName> T_EOS");
-        public static final Production END_TYPE_STMT_307 = new Production(Nonterminal.END_TYPE_STMT, 3, "<EndTypeStmt> ::= <LblDef> T_ENDTYPE T_EOS");
-        public static final Production END_TYPE_STMT_308 = new Production(Nonterminal.END_TYPE_STMT, 4, "<EndTypeStmt> ::= <LblDef> T_END T_TYPE T_EOS");
-        public static final Production PROC_COMPONENT_DEF_STMT_309 = new Production(Nonterminal.PROC_COMPONENT_DEF_STMT, 11, "<ProcComponentDefStmt> ::= <LblDef> T_PROCEDURE T_LPAREN <ProcInterface> T_RPAREN T_COMMA <ProcComponentAttrSpecList> T_COLON T_COLON <ProcDeclList> T_EOS");
-        public static final Production PROC_COMPONENT_DEF_STMT_310 = new Production(Nonterminal.PROC_COMPONENT_DEF_STMT, 10, "<ProcComponentDefStmt> ::= <LblDef> T_PROCEDURE T_LPAREN T_RPAREN T_COMMA <ProcComponentAttrSpecList> T_COLON T_COLON <ProcDeclList> T_EOS");
-        public static final Production PROC_INTERFACE_311 = new Production(Nonterminal.PROC_INTERFACE, 1, "<ProcInterface> ::= T_IDENT");
-        public static final Production PROC_INTERFACE_312 = new Production(Nonterminal.PROC_INTERFACE, 1, "<ProcInterface> ::= <TypeSpec>");
-        public static final Production PROC_DECL_LIST_313 = new Production(Nonterminal.PROC_DECL_LIST, 3, "<ProcDeclList> ::= <ProcDeclList> T_COMMA <ProcDecl>");
-        public static final Production PROC_DECL_LIST_314 = new Production(Nonterminal.PROC_DECL_LIST, 1, "<ProcDeclList> ::= <ProcDecl>");
-        public static final Production PROC_DECL_315 = new Production(Nonterminal.PROC_DECL, 1, "<ProcDecl> ::= T_IDENT");
-        public static final Production PROC_DECL_316 = new Production(Nonterminal.PROC_DECL, 5, "<ProcDecl> ::= T_IDENT T_EQGREATERTHAN T_NULL T_LPAREN T_RPAREN");
-        public static final Production PROC_COMPONENT_ATTR_SPEC_LIST_317 = new Production(Nonterminal.PROC_COMPONENT_ATTR_SPEC_LIST, 3, "<ProcComponentAttrSpecList> ::= <ProcComponentAttrSpecList> T_COMMA <ProcComponentAttrSpec>");
-        public static final Production PROC_COMPONENT_ATTR_SPEC_LIST_318 = new Production(Nonterminal.PROC_COMPONENT_ATTR_SPEC_LIST, 1, "<ProcComponentAttrSpecList> ::= <ProcComponentAttrSpec>");
-        public static final Production PROC_COMPONENT_ATTR_SPEC_319 = new Production(Nonterminal.PROC_COMPONENT_ATTR_SPEC, 1, "<ProcComponentAttrSpec> ::= T_POINTER");
-        public static final Production PROC_COMPONENT_ATTR_SPEC_320 = new Production(Nonterminal.PROC_COMPONENT_ATTR_SPEC, 1, "<ProcComponentAttrSpec> ::= T_PASS");
-        public static final Production PROC_COMPONENT_ATTR_SPEC_321 = new Production(Nonterminal.PROC_COMPONENT_ATTR_SPEC, 4, "<ProcComponentAttrSpec> ::= T_PASS T_LPAREN T_IDENT T_RPAREN");
-        public static final Production PROC_COMPONENT_ATTR_SPEC_322 = new Production(Nonterminal.PROC_COMPONENT_ATTR_SPEC, 1, "<ProcComponentAttrSpec> ::= T_NOPASS");
-        public static final Production PROC_COMPONENT_ATTR_SPEC_323 = new Production(Nonterminal.PROC_COMPONENT_ATTR_SPEC, 1, "<ProcComponentAttrSpec> ::= <AccessSpec>");
-        public static final Production TYPE_BOUND_PROCEDURE_PART_324 = new Production(Nonterminal.TYPE_BOUND_PROCEDURE_PART, 3, "<TypeBoundProcedurePart> ::= <ContainsStmt> <BindingPrivateStmt> <ProcBindingStmts>");
-        public static final Production TYPE_BOUND_PROCEDURE_PART_325 = new Production(Nonterminal.TYPE_BOUND_PROCEDURE_PART, 2, "<TypeBoundProcedurePart> ::= <ContainsStmt> <ProcBindingStmts>");
-        public static final Production BINDING_PRIVATE_STMT_326 = new Production(Nonterminal.BINDING_PRIVATE_STMT, 3, "<BindingPrivateStmt> ::= <LblDef> T_PRIVATE T_EOS");
-        public static final Production PROC_BINDING_STMTS_327 = new Production(Nonterminal.PROC_BINDING_STMTS, 2, "<ProcBindingStmts> ::= <ProcBindingStmts> <ProcBindingStmt>");
-        public static final Production PROC_BINDING_STMTS_328 = new Production(Nonterminal.PROC_BINDING_STMTS, 1, "<ProcBindingStmts> ::= <ProcBindingStmt>");
-        public static final Production PROC_BINDING_STMT_329 = new Production(Nonterminal.PROC_BINDING_STMT, 1, "<ProcBindingStmt> ::= <SpecificBinding>");
-        public static final Production PROC_BINDING_STMT_330 = new Production(Nonterminal.PROC_BINDING_STMT, 1, "<ProcBindingStmt> ::= <GenericBinding>");
-        public static final Production PROC_BINDING_STMT_331 = new Production(Nonterminal.PROC_BINDING_STMT, 1, "<ProcBindingStmt> ::= <FinalBinding>");
-        public static final Production SPECIFIC_BINDING_332 = new Production(Nonterminal.SPECIFIC_BINDING, 4, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_IDENT T_EOS");
-        public static final Production SPECIFIC_BINDING_333 = new Production(Nonterminal.SPECIFIC_BINDING, 6, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_IDENT T_EQGREATERTHAN T_IDENT T_EOS");
-        public static final Production SPECIFIC_BINDING_334 = new Production(Nonterminal.SPECIFIC_BINDING, 6, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_COLON T_COLON T_IDENT T_EOS");
-        public static final Production SPECIFIC_BINDING_335 = new Production(Nonterminal.SPECIFIC_BINDING, 8, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_COLON T_COLON T_IDENT T_EQGREATERTHAN T_IDENT T_EOS");
-        public static final Production SPECIFIC_BINDING_336 = new Production(Nonterminal.SPECIFIC_BINDING, 8, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_COMMA <BindingAttrList> T_COLON T_COLON T_IDENT T_EOS");
-        public static final Production SPECIFIC_BINDING_337 = new Production(Nonterminal.SPECIFIC_BINDING, 10, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_COMMA <BindingAttrList> T_COLON T_COLON T_IDENT T_EQGREATERTHAN T_IDENT T_EOS");
-        public static final Production SPECIFIC_BINDING_338 = new Production(Nonterminal.SPECIFIC_BINDING, 7, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_LPAREN T_IDENT T_RPAREN T_IDENT T_EOS");
-        public static final Production SPECIFIC_BINDING_339 = new Production(Nonterminal.SPECIFIC_BINDING, 9, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_LPAREN T_IDENT T_RPAREN T_IDENT T_EQGREATERTHAN T_IDENT T_EOS");
-        public static final Production SPECIFIC_BINDING_340 = new Production(Nonterminal.SPECIFIC_BINDING, 9, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_LPAREN T_IDENT T_RPAREN T_COLON T_COLON T_IDENT T_EOS");
-        public static final Production SPECIFIC_BINDING_341 = new Production(Nonterminal.SPECIFIC_BINDING, 11, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_LPAREN T_IDENT T_RPAREN T_COLON T_COLON T_IDENT T_EQGREATERTHAN T_IDENT T_EOS");
-        public static final Production SPECIFIC_BINDING_342 = new Production(Nonterminal.SPECIFIC_BINDING, 11, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_LPAREN T_IDENT T_RPAREN T_COMMA <BindingAttrList> T_COLON T_COLON T_IDENT T_EOS");
-        public static final Production SPECIFIC_BINDING_343 = new Production(Nonterminal.SPECIFIC_BINDING, 13, "<SpecificBinding> ::= <LblDef> T_PROCEDURE T_LPAREN T_IDENT T_RPAREN T_COMMA <BindingAttrList> T_COLON T_COLON T_IDENT T_EQGREATERTHAN T_IDENT T_EOS");
-        public static final Production GENERIC_BINDING_344 = new Production(Nonterminal.GENERIC_BINDING, 10, "<GenericBinding> ::= <LblDef> T_GENERIC T_COMMA <AccessSpec> T_COLON T_COLON <GenericSpec> T_EQGREATERTHAN <BindingNameList> T_EOS");
-        public static final Production GENERIC_BINDING_345 = new Production(Nonterminal.GENERIC_BINDING, 8, "<GenericBinding> ::= <LblDef> T_GENERIC T_COLON T_COLON <GenericSpec> T_EQGREATERTHAN <BindingNameList> T_EOS");
-        public static final Production GENERIC_BINDING_346 = new Production(Nonterminal.GENERIC_BINDING, 10, "<GenericBinding> ::= <LblDef> T_GENERIC T_COMMA <AccessSpec> T_COLON T_COLON <GenericName> T_EQGREATERTHAN <BindingNameList> T_EOS");
-        public static final Production GENERIC_BINDING_347 = new Production(Nonterminal.GENERIC_BINDING, 8, "<GenericBinding> ::= <LblDef> T_GENERIC T_COLON T_COLON <GenericName> T_EQGREATERTHAN <BindingNameList> T_EOS");
-        public static final Production BINDING_NAME_LIST_348 = new Production(Nonterminal.BINDING_NAME_LIST, 3, "<BindingNameList> ::= <BindingNameList> T_COMMA T_IDENT");
-        public static final Production BINDING_NAME_LIST_349 = new Production(Nonterminal.BINDING_NAME_LIST, 1, "<BindingNameList> ::= T_IDENT");
-        public static final Production BINDING_ATTR_LIST_350 = new Production(Nonterminal.BINDING_ATTR_LIST, 3, "<BindingAttrList> ::= <BindingAttrList> T_COMMA <BindingAttr>");
-        public static final Production BINDING_ATTR_LIST_351 = new Production(Nonterminal.BINDING_ATTR_LIST, 1, "<BindingAttrList> ::= <BindingAttr>");
-        public static final Production BINDING_ATTR_352 = new Production(Nonterminal.BINDING_ATTR, 1, "<BindingAttr> ::= T_PASS");
-        public static final Production BINDING_ATTR_353 = new Production(Nonterminal.BINDING_ATTR, 4, "<BindingAttr> ::= T_PASS T_LPAREN T_IDENT T_RPAREN");
-        public static final Production BINDING_ATTR_354 = new Production(Nonterminal.BINDING_ATTR, 1, "<BindingAttr> ::= T_NOPASS");
-        public static final Production BINDING_ATTR_355 = new Production(Nonterminal.BINDING_ATTR, 1, "<BindingAttr> ::= T_NON_OVERRIDABLE");
-        public static final Production BINDING_ATTR_356 = new Production(Nonterminal.BINDING_ATTR, 1, "<BindingAttr> ::= T_DEFERRED");
-        public static final Production BINDING_ATTR_357 = new Production(Nonterminal.BINDING_ATTR, 1, "<BindingAttr> ::= <AccessSpec>");
-        public static final Production FINAL_BINDING_358 = new Production(Nonterminal.FINAL_BINDING, 6, "<FinalBinding> ::= <LblDef> T_FINAL T_COLON T_COLON <FinalSubroutineNameList> T_EOS");
-        public static final Production FINAL_BINDING_359 = new Production(Nonterminal.FINAL_BINDING, 4, "<FinalBinding> ::= <LblDef> T_FINAL <FinalSubroutineNameList> T_EOS");
-        public static final Production FINAL_SUBROUTINE_NAME_LIST_360 = new Production(Nonterminal.FINAL_SUBROUTINE_NAME_LIST, 3, "<FinalSubroutineNameList> ::= <FinalSubroutineNameList> T_COMMA T_IDENT");
-        public static final Production FINAL_SUBROUTINE_NAME_LIST_361 = new Production(Nonterminal.FINAL_SUBROUTINE_NAME_LIST, 1, "<FinalSubroutineNameList> ::= T_IDENT");
-        public static final Production STRUCTURE_CONSTRUCTOR_362 = new Production(Nonterminal.STRUCTURE_CONSTRUCTOR, 4, "<StructureConstructor> ::= <TypeName> T_LPAREN <TypeParamSpecList> T_RPAREN");
-        public static final Production STRUCTURE_CONSTRUCTOR_363 = new Production(Nonterminal.STRUCTURE_CONSTRUCTOR, 7, "<StructureConstructor> ::= <TypeName> T_LPAREN <TypeParamSpecList> T_RPAREN T_LPAREN <TypeParamSpecList> T_RPAREN");
-        public static final Production ENUM_DEF_364 = new Production(Nonterminal.ENUM_DEF, 3, "<EnumDef> ::= <EnumDefStmt> <EnumeratorDefStmts> <EndEnumStmt>");
-        public static final Production ENUMERATOR_DEF_STMTS_365 = new Production(Nonterminal.ENUMERATOR_DEF_STMTS, 2, "<EnumeratorDefStmts> ::= <EnumeratorDefStmts> <EnumeratorDefStmt>");
-        public static final Production ENUMERATOR_DEF_STMTS_366 = new Production(Nonterminal.ENUMERATOR_DEF_STMTS, 1, "<EnumeratorDefStmts> ::= <EnumeratorDefStmt>");
-        public static final Production ENUM_DEF_STMT_367 = new Production(Nonterminal.ENUM_DEF_STMT, 8, "<EnumDefStmt> ::= <LblDef> T_ENUM T_COMMA T_BIND T_LPAREN T_IDENT T_RPAREN T_EOS");
-        public static final Production ENUMERATOR_DEF_STMT_368 = new Production(Nonterminal.ENUMERATOR_DEF_STMT, 4, "<EnumeratorDefStmt> ::= <LblDef> T_ENUMERATOR <EnumeratorList> T_EOS");
-        public static final Production ENUMERATOR_DEF_STMT_369 = new Production(Nonterminal.ENUMERATOR_DEF_STMT, 6, "<EnumeratorDefStmt> ::= <LblDef> T_ENUMERATOR T_COLON T_COLON <EnumeratorList> T_EOS");
-        public static final Production ENUMERATOR_370 = new Production(Nonterminal.ENUMERATOR, 1, "<Enumerator> ::= <NamedConstant>");
-        public static final Production ENUMERATOR_371 = new Production(Nonterminal.ENUMERATOR, 3, "<Enumerator> ::= <NamedConstant> T_EQUALS <Expr>");
-        public static final Production ENUMERATOR_LIST_372 = new Production(Nonterminal.ENUMERATOR_LIST, 3, "<EnumeratorList> ::= <EnumeratorList> T_COMMA <Enumerator>");
-        public static final Production ENUMERATOR_LIST_373 = new Production(Nonterminal.ENUMERATOR_LIST, 1, "<EnumeratorList> ::= <Enumerator>");
-        public static final Production END_ENUM_STMT_374 = new Production(Nonterminal.END_ENUM_STMT, 4, "<EndEnumStmt> ::= <LblDef> T_END T_ENUM T_EOS");
-        public static final Production ARRAY_CONSTRUCTOR_375 = new Production(Nonterminal.ARRAY_CONSTRUCTOR, 3, "<ArrayConstructor> ::= T_LPARENSLASH <AcValueList> T_SLASHRPAREN");
-        public static final Production ARRAY_CONSTRUCTOR_376 = new Production(Nonterminal.ARRAY_CONSTRUCTOR, 3, "<ArrayConstructor> ::= T_LBRACKET <AcValueList> T_RBRACKET");
-        public static final Production AC_VALUE_LIST_377 = new Production(Nonterminal.AC_VALUE_LIST, 1, "<AcValueList> ::= <AcValue>");
-        public static final Production AC_VALUE_LIST_378 = new Production(Nonterminal.AC_VALUE_LIST, 3, "<AcValueList> ::= <AcValueList> T_COMMA <AcValue>");
-        public static final Production AC_VALUE_379 = new Production(Nonterminal.AC_VALUE, 1, "<AcValue> ::= <Expr>");
-        public static final Production AC_VALUE_380 = new Production(Nonterminal.AC_VALUE, 1, "<AcValue> ::= <AcImpliedDo>");
-        public static final Production AC_IMPLIED_DO_381 = new Production(Nonterminal.AC_IMPLIED_DO, 9, "<AcImpliedDo> ::= T_LPAREN <Expr> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production AC_IMPLIED_DO_382 = new Production(Nonterminal.AC_IMPLIED_DO, 11, "<AcImpliedDo> ::= T_LPAREN <Expr> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production AC_IMPLIED_DO_383 = new Production(Nonterminal.AC_IMPLIED_DO, 9, "<AcImpliedDo> ::= T_LPAREN <AcImpliedDo> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production AC_IMPLIED_DO_384 = new Production(Nonterminal.AC_IMPLIED_DO, 11, "<AcImpliedDo> ::= T_LPAREN <AcImpliedDo> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production TYPE_DECLARATION_STMT_385 = new Production(Nonterminal.TYPE_DECLARATION_STMT, 7, "<TypeDeclarationStmt> ::= <LblDef> <TypeSpec> <AttrSpecSeq> T_COLON T_COLON <EntityDeclList> T_EOS");
-        public static final Production TYPE_DECLARATION_STMT_386 = new Production(Nonterminal.TYPE_DECLARATION_STMT, 6, "<TypeDeclarationStmt> ::= <LblDef> <TypeSpec> T_COLON T_COLON <EntityDeclList> T_EOS");
-        public static final Production TYPE_DECLARATION_STMT_387 = new Production(Nonterminal.TYPE_DECLARATION_STMT, 4, "<TypeDeclarationStmt> ::= <LblDef> <TypeSpec> <EntityDeclList> T_EOS");
-        public static final Production TYPE_DECLARATION_STMT_388 = new Production(Nonterminal.TYPE_DECLARATION_STMT, 5, "<TypeDeclarationStmt> ::= <LblDef> <TypeSpec> T_COMMA <EntityDeclList> T_EOS");
-        public static final Production ATTR_SPEC_SEQ_389 = new Production(Nonterminal.ATTR_SPEC_SEQ, 2, "<AttrSpecSeq> ::= T_COMMA <AttrSpec>");
-        public static final Production ATTR_SPEC_SEQ_390 = new Production(Nonterminal.ATTR_SPEC_SEQ, 3, "<AttrSpecSeq> ::= <AttrSpecSeq> T_COMMA <AttrSpec>");
-        public static final Production TYPE_SPEC_391 = new Production(Nonterminal.TYPE_SPEC, 1, "<TypeSpec> ::= T_INTEGER");
-        public static final Production TYPE_SPEC_392 = new Production(Nonterminal.TYPE_SPEC, 1, "<TypeSpec> ::= T_REAL");
-        public static final Production TYPE_SPEC_393 = new Production(Nonterminal.TYPE_SPEC, 1, "<TypeSpec> ::= T_DOUBLECOMPLEX");
-        public static final Production TYPE_SPEC_394 = new Production(Nonterminal.TYPE_SPEC, 1, "<TypeSpec> ::= T_DOUBLEPRECISION");
-        public static final Production TYPE_SPEC_395 = new Production(Nonterminal.TYPE_SPEC, 1, "<TypeSpec> ::= T_COMPLEX");
-        public static final Production TYPE_SPEC_396 = new Production(Nonterminal.TYPE_SPEC, 1, "<TypeSpec> ::= T_LOGICAL");
-        public static final Production TYPE_SPEC_397 = new Production(Nonterminal.TYPE_SPEC, 1, "<TypeSpec> ::= T_CHARACTER");
-        public static final Production TYPE_SPEC_398 = new Production(Nonterminal.TYPE_SPEC, 2, "<TypeSpec> ::= T_INTEGER <KindSelector>");
-        public static final Production TYPE_SPEC_399 = new Production(Nonterminal.TYPE_SPEC, 2, "<TypeSpec> ::= T_REAL <KindSelector>");
-        public static final Production TYPE_SPEC_400 = new Production(Nonterminal.TYPE_SPEC, 2, "<TypeSpec> ::= T_DOUBLE T_PRECISION");
-        public static final Production TYPE_SPEC_401 = new Production(Nonterminal.TYPE_SPEC, 2, "<TypeSpec> ::= T_COMPLEX <KindSelector>");
-        public static final Production TYPE_SPEC_402 = new Production(Nonterminal.TYPE_SPEC, 2, "<TypeSpec> ::= T_DOUBLE T_COMPLEX");
-        public static final Production TYPE_SPEC_403 = new Production(Nonterminal.TYPE_SPEC, 2, "<TypeSpec> ::= T_CHARACTER <CharSelector>");
-        public static final Production TYPE_SPEC_404 = new Production(Nonterminal.TYPE_SPEC, 2, "<TypeSpec> ::= T_LOGICAL <KindSelector>");
-        public static final Production TYPE_SPEC_405 = new Production(Nonterminal.TYPE_SPEC, 4, "<TypeSpec> ::= T_TYPE T_LPAREN <DerivedTypeSpec> T_RPAREN");
-        public static final Production TYPE_SPEC_406 = new Production(Nonterminal.TYPE_SPEC, 4, "<TypeSpec> ::= T_CLASS T_LPAREN <DerivedTypeSpec> T_RPAREN");
-        public static final Production TYPE_SPEC_407 = new Production(Nonterminal.TYPE_SPEC, 4, "<TypeSpec> ::= T_CLASS T_LPAREN T_ASTERISK T_RPAREN");
-        public static final Production TYPE_SPEC_NO_PREFIX_408 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 1, "<TypeSpecNoPrefix> ::= T_INTEGER");
-        public static final Production TYPE_SPEC_NO_PREFIX_409 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 1, "<TypeSpecNoPrefix> ::= T_REAL");
-        public static final Production TYPE_SPEC_NO_PREFIX_410 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 1, "<TypeSpecNoPrefix> ::= T_DOUBLECOMPLEX");
-        public static final Production TYPE_SPEC_NO_PREFIX_411 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 1, "<TypeSpecNoPrefix> ::= T_DOUBLEPRECISION");
-        public static final Production TYPE_SPEC_NO_PREFIX_412 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 1, "<TypeSpecNoPrefix> ::= T_COMPLEX");
-        public static final Production TYPE_SPEC_NO_PREFIX_413 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 1, "<TypeSpecNoPrefix> ::= T_LOGICAL");
-        public static final Production TYPE_SPEC_NO_PREFIX_414 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 1, "<TypeSpecNoPrefix> ::= T_CHARACTER");
-        public static final Production TYPE_SPEC_NO_PREFIX_415 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 2, "<TypeSpecNoPrefix> ::= T_INTEGER <KindSelector>");
-        public static final Production TYPE_SPEC_NO_PREFIX_416 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 2, "<TypeSpecNoPrefix> ::= T_REAL <KindSelector>");
-        public static final Production TYPE_SPEC_NO_PREFIX_417 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 2, "<TypeSpecNoPrefix> ::= T_DOUBLE T_COMPLEX");
-        public static final Production TYPE_SPEC_NO_PREFIX_418 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 2, "<TypeSpecNoPrefix> ::= T_DOUBLE T_PRECISION");
-        public static final Production TYPE_SPEC_NO_PREFIX_419 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 2, "<TypeSpecNoPrefix> ::= T_COMPLEX <KindSelector>");
-        public static final Production TYPE_SPEC_NO_PREFIX_420 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 2, "<TypeSpecNoPrefix> ::= T_CHARACTER <CharSelector>");
-        public static final Production TYPE_SPEC_NO_PREFIX_421 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 2, "<TypeSpecNoPrefix> ::= T_LOGICAL <KindSelector>");
-        public static final Production TYPE_SPEC_NO_PREFIX_422 = new Production(Nonterminal.TYPE_SPEC_NO_PREFIX, 1, "<TypeSpecNoPrefix> ::= <DerivedTypeSpec>");
-        public static final Production DERIVED_TYPE_SPEC_423 = new Production(Nonterminal.DERIVED_TYPE_SPEC, 1, "<DerivedTypeSpec> ::= <TypeName>");
-        public static final Production DERIVED_TYPE_SPEC_424 = new Production(Nonterminal.DERIVED_TYPE_SPEC, 4, "<DerivedTypeSpec> ::= <TypeName> T_LPAREN <TypeParamSpecList> T_RPAREN");
-        public static final Production TYPE_PARAM_SPEC_LIST_425 = new Production(Nonterminal.TYPE_PARAM_SPEC_LIST, 1, "<TypeParamSpecList> ::= <TypeParamSpec>");
-        public static final Production TYPE_PARAM_SPEC_LIST_426 = new Production(Nonterminal.TYPE_PARAM_SPEC_LIST, 3, "<TypeParamSpecList> ::= <TypeParamSpecList> T_COMMA <TypeParamSpec>");
-        public static final Production TYPE_PARAM_SPEC_427 = new Production(Nonterminal.TYPE_PARAM_SPEC, 3, "<TypeParamSpec> ::= <Name> T_EQUALS <TypeParamValue>");
-        public static final Production TYPE_PARAM_SPEC_428 = new Production(Nonterminal.TYPE_PARAM_SPEC, 1, "<TypeParamSpec> ::= <TypeParamValue>");
-        public static final Production TYPE_PARAM_VALUE_429 = new Production(Nonterminal.TYPE_PARAM_VALUE, 1, "<TypeParamValue> ::= <Expr>");
-        public static final Production TYPE_PARAM_VALUE_430 = new Production(Nonterminal.TYPE_PARAM_VALUE, 1, "<TypeParamValue> ::= T_ASTERISK");
-        public static final Production TYPE_PARAM_VALUE_431 = new Production(Nonterminal.TYPE_PARAM_VALUE, 1, "<TypeParamValue> ::= T_COLON");
-        public static final Production ATTR_SPEC_432 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= <AccessSpec>");
-        public static final Production ATTR_SPEC_433 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_PARAMETER");
-        public static final Production ATTR_SPEC_434 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_ALLOCATABLE");
-        public static final Production ATTR_SPEC_435 = new Production(Nonterminal.ATTR_SPEC, 4, "<AttrSpec> ::= T_DIMENSION T_LPAREN <ArraySpec> T_RPAREN");
-        public static final Production ATTR_SPEC_436 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_EXTERNAL");
-        public static final Production ATTR_SPEC_437 = new Production(Nonterminal.ATTR_SPEC, 4, "<AttrSpec> ::= T_INTENT T_LPAREN <IntentSpec> T_RPAREN");
-        public static final Production ATTR_SPEC_438 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_INTRINSIC");
-        public static final Production ATTR_SPEC_439 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_OPTIONAL");
-        public static final Production ATTR_SPEC_440 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_POINTER");
-        public static final Production ATTR_SPEC_441 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_SAVE");
-        public static final Production ATTR_SPEC_442 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_TARGET");
-        public static final Production ATTR_SPEC_443 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_ASYNCHRONOUS");
-        public static final Production ATTR_SPEC_444 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_PROTECTED");
-        public static final Production ATTR_SPEC_445 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_VALUE");
-        public static final Production ATTR_SPEC_446 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_VOLATILE");
-        public static final Production ATTR_SPEC_447 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= <LanguageBindingSpec>");
-        public static final Production ATTR_SPEC_448 = new Production(Nonterminal.ATTR_SPEC, 4, "<AttrSpec> ::= T_CODIMENSION T_LBRACKET <CoarraySpec> T_RBRACKET");
-        public static final Production ATTR_SPEC_449 = new Production(Nonterminal.ATTR_SPEC, 1, "<AttrSpec> ::= T_CONTIGUOUS");
-        public static final Production LANGUAGE_BINDING_SPEC_450 = new Production(Nonterminal.LANGUAGE_BINDING_SPEC, 4, "<LanguageBindingSpec> ::= T_BIND T_LPAREN T_IDENT T_RPAREN");
-        public static final Production LANGUAGE_BINDING_SPEC_451 = new Production(Nonterminal.LANGUAGE_BINDING_SPEC, 8, "<LanguageBindingSpec> ::= T_BIND T_LPAREN T_IDENT T_COMMA T_IDENT T_EQUALS <Expr> T_RPAREN");
-        public static final Production ENTITY_DECL_LIST_452 = new Production(Nonterminal.ENTITY_DECL_LIST, 1, "<EntityDeclList> ::= <EntityDecl>");
-        public static final Production ENTITY_DECL_LIST_453 = new Production(Nonterminal.ENTITY_DECL_LIST, 3, "<EntityDeclList> ::= <EntityDeclList> T_COMMA <EntityDecl>");
-        public static final Production ENTITY_DECL_454 = new Production(Nonterminal.ENTITY_DECL, 1, "<EntityDecl> ::= <ObjectName>");
-        public static final Production ENTITY_DECL_455 = new Production(Nonterminal.ENTITY_DECL, 2, "<EntityDecl> ::= <ObjectName> <Initialization>");
-        public static final Production ENTITY_DECL_456 = new Production(Nonterminal.ENTITY_DECL, 3, "<EntityDecl> ::= <ObjectName> T_ASTERISK <CharLength>");
-        public static final Production ENTITY_DECL_457 = new Production(Nonterminal.ENTITY_DECL, 4, "<EntityDecl> ::= <ObjectName> T_ASTERISK <CharLength> <Initialization>");
-        public static final Production ENTITY_DECL_458 = new Production(Nonterminal.ENTITY_DECL, 4, "<EntityDecl> ::= <ObjectName> T_LPAREN <ArraySpec> T_RPAREN");
-        public static final Production ENTITY_DECL_459 = new Production(Nonterminal.ENTITY_DECL, 5, "<EntityDecl> ::= <ObjectName> T_LPAREN <ArraySpec> T_RPAREN <Initialization>");
-        public static final Production ENTITY_DECL_460 = new Production(Nonterminal.ENTITY_DECL, 6, "<EntityDecl> ::= <ObjectName> T_LPAREN <ArraySpec> T_RPAREN T_ASTERISK <CharLength>");
-        public static final Production ENTITY_DECL_461 = new Production(Nonterminal.ENTITY_DECL, 7, "<EntityDecl> ::= <ObjectName> T_LPAREN <ArraySpec> T_RPAREN T_ASTERISK <CharLength> <Initialization>");
-        public static final Production ENTITY_DECL_462 = new Production(Nonterminal.ENTITY_DECL, 1, "<EntityDecl> ::= <InvalidEntityDecl>");
-        public static final Production ENTITY_DECL_463 = new Production(Nonterminal.ENTITY_DECL, 4, "<EntityDecl> ::= <ObjectName> T_LBRACKET <CoarraySpec> T_RBRACKET");
-        public static final Production ENTITY_DECL_464 = new Production(Nonterminal.ENTITY_DECL, 5, "<EntityDecl> ::= <ObjectName> T_LBRACKET <CoarraySpec> T_RBRACKET <Initialization>");
-        public static final Production ENTITY_DECL_465 = new Production(Nonterminal.ENTITY_DECL, 6, "<EntityDecl> ::= <ObjectName> T_LBRACKET <CoarraySpec> T_RBRACKET T_ASTERISK <CharLength>");
-        public static final Production ENTITY_DECL_466 = new Production(Nonterminal.ENTITY_DECL, 7, "<EntityDecl> ::= <ObjectName> T_LBRACKET <CoarraySpec> T_RBRACKET T_ASTERISK <CharLength> <Initialization>");
-        public static final Production ENTITY_DECL_467 = new Production(Nonterminal.ENTITY_DECL, 7, "<EntityDecl> ::= <ObjectName> T_LPAREN <ArraySpec> T_RPAREN T_LBRACKET <CoarraySpec> T_RBRACKET");
-        public static final Production ENTITY_DECL_468 = new Production(Nonterminal.ENTITY_DECL, 8, "<EntityDecl> ::= <ObjectName> T_LPAREN <ArraySpec> T_RPAREN T_LBRACKET <CoarraySpec> T_RBRACKET <Initialization>");
-        public static final Production ENTITY_DECL_469 = new Production(Nonterminal.ENTITY_DECL, 9, "<EntityDecl> ::= <ObjectName> T_LPAREN <ArraySpec> T_RPAREN T_LBRACKET <CoarraySpec> T_RBRACKET T_ASTERISK <CharLength>");
-        public static final Production ENTITY_DECL_470 = new Production(Nonterminal.ENTITY_DECL, 10, "<EntityDecl> ::= <ObjectName> T_LPAREN <ArraySpec> T_RPAREN T_LBRACKET <CoarraySpec> T_RBRACKET T_ASTERISK <CharLength> <Initialization>");
-        public static final Production ENTITY_DECL_471 = new Production(Nonterminal.ENTITY_DECL, 4, "<EntityDecl> ::= <ObjectName> T_SLASH <DataStmtValueList> T_SLASH");
-        public static final Production ENTITY_DECL_472 = new Production(Nonterminal.ENTITY_DECL, 7, "<EntityDecl> ::= <ObjectName> T_LPAREN <ArraySpec> T_RPAREN T_SLASH <DataStmtValueList> T_SLASH");
-        public static final Production ENTITY_DECL_473 = new Production(Nonterminal.ENTITY_DECL, 6, "<EntityDecl> ::= <ObjectName> T_ASTERISK <CharLength> T_SLASH <DataStmtValueList> T_SLASH");
-        public static final Production ENTITY_DECL_474 = new Production(Nonterminal.ENTITY_DECL, 9, "<EntityDecl> ::= <ObjectName> T_LPAREN <ArraySpec> T_RPAREN T_ASTERISK <CharLength> T_SLASH <DataStmtValueList> T_SLASH");
-        public static final Production INVALID_ENTITY_DECL_475 = new Production(Nonterminal.INVALID_ENTITY_DECL, 6, "<InvalidEntityDecl> ::= <ObjectName> T_ASTERISK <CharLength> T_LPAREN <ArraySpec> T_RPAREN");
-        public static final Production INVALID_ENTITY_DECL_476 = new Production(Nonterminal.INVALID_ENTITY_DECL, 7, "<InvalidEntityDecl> ::= <ObjectName> T_ASTERISK <CharLength> T_LPAREN <ArraySpec> T_RPAREN <Initialization>");
-        public static final Production INITIALIZATION_477 = new Production(Nonterminal.INITIALIZATION, 2, "<Initialization> ::= T_EQUALS <Expr>");
-        public static final Production INITIALIZATION_478 = new Production(Nonterminal.INITIALIZATION, 4, "<Initialization> ::= T_EQGREATERTHAN T_NULL T_LPAREN T_RPAREN");
-        public static final Production KIND_SELECTOR_479 = new Production(Nonterminal.KIND_SELECTOR, 4, "<KindSelector> ::= T_LPAREN T_KINDEQ <Expr> T_RPAREN");
-        public static final Production KIND_SELECTOR_480 = new Production(Nonterminal.KIND_SELECTOR, 3, "<KindSelector> ::= T_LPAREN <Expr> T_RPAREN");
-        public static final Production KIND_SELECTOR_481 = new Production(Nonterminal.KIND_SELECTOR, 2, "<KindSelector> ::= T_ASTERISK <Expr>");
-        public static final Production CHAR_SELECTOR_482 = new Production(Nonterminal.CHAR_SELECTOR, 2, "<CharSelector> ::= T_ASTERISK <CharLength>");
-        public static final Production CHAR_SELECTOR_483 = new Production(Nonterminal.CHAR_SELECTOR, 7, "<CharSelector> ::= T_LPAREN T_LENEQ <CharLenParamValue> T_COMMA T_KINDEQ <Expr> T_RPAREN");
-        public static final Production CHAR_SELECTOR_484 = new Production(Nonterminal.CHAR_SELECTOR, 6, "<CharSelector> ::= T_LPAREN T_LENEQ <CharLenParamValue> T_COMMA <Expr> T_RPAREN");
-        public static final Production CHAR_SELECTOR_485 = new Production(Nonterminal.CHAR_SELECTOR, 4, "<CharSelector> ::= T_LPAREN T_KINDEQ <Expr> T_RPAREN");
-        public static final Production CHAR_SELECTOR_486 = new Production(Nonterminal.CHAR_SELECTOR, 4, "<CharSelector> ::= T_LPAREN T_LENEQ <CharLenParamValue> T_RPAREN");
-        public static final Production CHAR_SELECTOR_487 = new Production(Nonterminal.CHAR_SELECTOR, 3, "<CharSelector> ::= T_LPAREN <CharLenParamValue> T_RPAREN");
-        public static final Production CHAR_SELECTOR_488 = new Production(Nonterminal.CHAR_SELECTOR, 7, "<CharSelector> ::= T_LPAREN T_KINDEQ <Expr> T_COMMA T_LENEQ <CharLenParamValue> T_RPAREN");
-        public static final Production CHAR_LEN_PARAM_VALUE_489 = new Production(Nonterminal.CHAR_LEN_PARAM_VALUE, 1, "<CharLenParamValue> ::= <Expr>");
-        public static final Production CHAR_LEN_PARAM_VALUE_490 = new Production(Nonterminal.CHAR_LEN_PARAM_VALUE, 1, "<CharLenParamValue> ::= T_ASTERISK");
-        public static final Production CHAR_LEN_PARAM_VALUE_491 = new Production(Nonterminal.CHAR_LEN_PARAM_VALUE, 1, "<CharLenParamValue> ::= T_COLON");
-        public static final Production CHAR_LENGTH_492 = new Production(Nonterminal.CHAR_LENGTH, 3, "<CharLength> ::= T_LPAREN <CharLenParamValue> T_RPAREN");
-        public static final Production CHAR_LENGTH_493 = new Production(Nonterminal.CHAR_LENGTH, 1, "<CharLength> ::= T_ICON");
-        public static final Production CHAR_LENGTH_494 = new Production(Nonterminal.CHAR_LENGTH, 1, "<CharLength> ::= <Name>");
-        public static final Production ACCESS_SPEC_495 = new Production(Nonterminal.ACCESS_SPEC, 1, "<AccessSpec> ::= T_PUBLIC");
-        public static final Production ACCESS_SPEC_496 = new Production(Nonterminal.ACCESS_SPEC, 1, "<AccessSpec> ::= T_PRIVATE");
-        public static final Production COARRAY_SPEC_497 = new Production(Nonterminal.COARRAY_SPEC, 1, "<CoarraySpec> ::= <DeferredCoshapeSpecList>");
-        public static final Production COARRAY_SPEC_498 = new Production(Nonterminal.COARRAY_SPEC, 1, "<CoarraySpec> ::= <ExplicitCoshapeSpec>");
-        public static final Production DEFERRED_COSHAPE_SPEC_LIST_499 = new Production(Nonterminal.DEFERRED_COSHAPE_SPEC_LIST, 1, "<DeferredCoshapeSpecList> ::= T_COLON");
-        public static final Production DEFERRED_COSHAPE_SPEC_LIST_500 = new Production(Nonterminal.DEFERRED_COSHAPE_SPEC_LIST, 3, "<DeferredCoshapeSpecList> ::= <DeferredCoshapeSpecList> T_COMMA T_COLON");
-        public static final Production EXPLICIT_COSHAPE_SPEC_501 = new Production(Nonterminal.EXPLICIT_COSHAPE_SPEC, 1, "<ExplicitCoshapeSpec> ::= <AssumedSizeSpec>");
-        public static final Production INTENT_SPEC_502 = new Production(Nonterminal.INTENT_SPEC, 1, "<IntentSpec> ::= T_IN");
-        public static final Production INTENT_SPEC_503 = new Production(Nonterminal.INTENT_SPEC, 1, "<IntentSpec> ::= T_OUT");
-        public static final Production INTENT_SPEC_504 = new Production(Nonterminal.INTENT_SPEC, 1, "<IntentSpec> ::= T_INOUT");
-        public static final Production INTENT_SPEC_505 = new Production(Nonterminal.INTENT_SPEC, 2, "<IntentSpec> ::= T_IN T_OUT");
-        public static final Production ARRAY_SPEC_506 = new Production(Nonterminal.ARRAY_SPEC, 1, "<ArraySpec> ::= <ExplicitShapeSpecList>");
-        public static final Production ARRAY_SPEC_507 = new Production(Nonterminal.ARRAY_SPEC, 1, "<ArraySpec> ::= <AssumedSizeSpec>");
-        public static final Production ARRAY_SPEC_508 = new Production(Nonterminal.ARRAY_SPEC, 1, "<ArraySpec> ::= <AssumedShapeSpecList>");
-        public static final Production ARRAY_SPEC_509 = new Production(Nonterminal.ARRAY_SPEC, 1, "<ArraySpec> ::= <DeferredShapeSpecList>");
-        public static final Production ASSUMED_SHAPE_SPEC_LIST_510 = new Production(Nonterminal.ASSUMED_SHAPE_SPEC_LIST, 2, "<AssumedShapeSpecList> ::= <LowerBound> T_COLON");
-        public static final Production ASSUMED_SHAPE_SPEC_LIST_511 = new Production(Nonterminal.ASSUMED_SHAPE_SPEC_LIST, 4, "<AssumedShapeSpecList> ::= <DeferredShapeSpecList> T_COMMA <LowerBound> T_COLON");
-        public static final Production ASSUMED_SHAPE_SPEC_LIST_512 = new Production(Nonterminal.ASSUMED_SHAPE_SPEC_LIST, 3, "<AssumedShapeSpecList> ::= <AssumedShapeSpecList> T_COMMA <AssumedShapeSpec>");
-        public static final Production EXPLICIT_SHAPE_SPEC_LIST_513 = new Production(Nonterminal.EXPLICIT_SHAPE_SPEC_LIST, 1, "<ExplicitShapeSpecList> ::= <ExplicitShapeSpec>");
-        public static final Production EXPLICIT_SHAPE_SPEC_LIST_514 = new Production(Nonterminal.EXPLICIT_SHAPE_SPEC_LIST, 3, "<ExplicitShapeSpecList> ::= <ExplicitShapeSpecList> T_COMMA <ExplicitShapeSpec>");
-        public static final Production EXPLICIT_SHAPE_SPEC_515 = new Production(Nonterminal.EXPLICIT_SHAPE_SPEC, 3, "<ExplicitShapeSpec> ::= <LowerBound> T_COLON <UpperBound>");
-        public static final Production EXPLICIT_SHAPE_SPEC_516 = new Production(Nonterminal.EXPLICIT_SHAPE_SPEC, 1, "<ExplicitShapeSpec> ::= <UpperBound>");
-        public static final Production LOWER_BOUND_517 = new Production(Nonterminal.LOWER_BOUND, 1, "<LowerBound> ::= <Expr>");
-        public static final Production UPPER_BOUND_518 = new Production(Nonterminal.UPPER_BOUND, 1, "<UpperBound> ::= <Expr>");
-        public static final Production ASSUMED_SHAPE_SPEC_519 = new Production(Nonterminal.ASSUMED_SHAPE_SPEC, 2, "<AssumedShapeSpec> ::= <LowerBound> T_COLON");
-        public static final Production ASSUMED_SHAPE_SPEC_520 = new Production(Nonterminal.ASSUMED_SHAPE_SPEC, 1, "<AssumedShapeSpec> ::= T_COLON");
-        public static final Production DEFERRED_SHAPE_SPEC_LIST_521 = new Production(Nonterminal.DEFERRED_SHAPE_SPEC_LIST, 1, "<DeferredShapeSpecList> ::= <DeferredShapeSpec>");
-        public static final Production DEFERRED_SHAPE_SPEC_LIST_522 = new Production(Nonterminal.DEFERRED_SHAPE_SPEC_LIST, 3, "<DeferredShapeSpecList> ::= <DeferredShapeSpecList> T_COMMA <DeferredShapeSpec>");
-        public static final Production DEFERRED_SHAPE_SPEC_523 = new Production(Nonterminal.DEFERRED_SHAPE_SPEC, 1, "<DeferredShapeSpec> ::= T_COLON");
-        public static final Production ASSUMED_SIZE_SPEC_524 = new Production(Nonterminal.ASSUMED_SIZE_SPEC, 1, "<AssumedSizeSpec> ::= T_ASTERISK");
-        public static final Production ASSUMED_SIZE_SPEC_525 = new Production(Nonterminal.ASSUMED_SIZE_SPEC, 3, "<AssumedSizeSpec> ::= <LowerBound> T_COLON T_ASTERISK");
-        public static final Production ASSUMED_SIZE_SPEC_526 = new Production(Nonterminal.ASSUMED_SIZE_SPEC, 3, "<AssumedSizeSpec> ::= <ExplicitShapeSpecList> T_COMMA T_ASTERISK");
-        public static final Production ASSUMED_SIZE_SPEC_527 = new Production(Nonterminal.ASSUMED_SIZE_SPEC, 5, "<AssumedSizeSpec> ::= <ExplicitShapeSpecList> T_COMMA <LowerBound> T_COLON T_ASTERISK");
-        public static final Production INTENT_STMT_528 = new Production(Nonterminal.INTENT_STMT, 7, "<IntentStmt> ::= <LblDef> T_INTENT T_LPAREN <IntentSpec> T_RPAREN <IntentParList> T_EOS");
-        public static final Production INTENT_STMT_529 = new Production(Nonterminal.INTENT_STMT, 9, "<IntentStmt> ::= <LblDef> T_INTENT T_LPAREN <IntentSpec> T_RPAREN T_COLON T_COLON <IntentParList> T_EOS");
-        public static final Production INTENT_PAR_LIST_530 = new Production(Nonterminal.INTENT_PAR_LIST, 1, "<IntentParList> ::= <IntentPar>");
-        public static final Production INTENT_PAR_LIST_531 = new Production(Nonterminal.INTENT_PAR_LIST, 3, "<IntentParList> ::= <IntentParList> T_COMMA <IntentPar>");
-        public static final Production INTENT_PAR_532 = new Production(Nonterminal.INTENT_PAR, 1, "<IntentPar> ::= <DummyArgName>");
-        public static final Production OPTIONAL_STMT_533 = new Production(Nonterminal.OPTIONAL_STMT, 4, "<OptionalStmt> ::= <LblDef> T_OPTIONAL <OptionalParList> T_EOS");
-        public static final Production OPTIONAL_STMT_534 = new Production(Nonterminal.OPTIONAL_STMT, 6, "<OptionalStmt> ::= <LblDef> T_OPTIONAL T_COLON T_COLON <OptionalParList> T_EOS");
-        public static final Production OPTIONAL_PAR_LIST_535 = new Production(Nonterminal.OPTIONAL_PAR_LIST, 1, "<OptionalParList> ::= <OptionalPar>");
-        public static final Production OPTIONAL_PAR_LIST_536 = new Production(Nonterminal.OPTIONAL_PAR_LIST, 3, "<OptionalParList> ::= <OptionalParList> T_COMMA <OptionalPar>");
-        public static final Production OPTIONAL_PAR_537 = new Production(Nonterminal.OPTIONAL_PAR, 1, "<OptionalPar> ::= <DummyArgName>");
-        public static final Production ACCESS_STMT_538 = new Production(Nonterminal.ACCESS_STMT, 6, "<AccessStmt> ::= <LblDef> <AccessSpec> T_COLON T_COLON <AccessIdList> T_EOS");
-        public static final Production ACCESS_STMT_539 = new Production(Nonterminal.ACCESS_STMT, 4, "<AccessStmt> ::= <LblDef> <AccessSpec> <AccessIdList> T_EOS");
-        public static final Production ACCESS_STMT_540 = new Production(Nonterminal.ACCESS_STMT, 3, "<AccessStmt> ::= <LblDef> <AccessSpec> T_EOS");
-        public static final Production ACCESS_ID_LIST_541 = new Production(Nonterminal.ACCESS_ID_LIST, 1, "<AccessIdList> ::= <AccessId>");
-        public static final Production ACCESS_ID_LIST_542 = new Production(Nonterminal.ACCESS_ID_LIST, 3, "<AccessIdList> ::= <AccessIdList> T_COMMA <AccessId>");
-        public static final Production ACCESS_ID_543 = new Production(Nonterminal.ACCESS_ID, 1, "<AccessId> ::= <GenericName>");
-        public static final Production ACCESS_ID_544 = new Production(Nonterminal.ACCESS_ID, 1, "<AccessId> ::= <GenericSpec>");
-        public static final Production SAVE_STMT_545 = new Production(Nonterminal.SAVE_STMT, 3, "<SaveStmt> ::= <LblDef> T_SAVE T_EOS");
-        public static final Production SAVE_STMT_546 = new Production(Nonterminal.SAVE_STMT, 4, "<SaveStmt> ::= <LblDef> T_SAVE <SavedEntityList> T_EOS");
-        public static final Production SAVE_STMT_547 = new Production(Nonterminal.SAVE_STMT, 6, "<SaveStmt> ::= <LblDef> T_SAVE T_COLON T_COLON <SavedEntityList> T_EOS");
-        public static final Production SAVED_ENTITY_LIST_548 = new Production(Nonterminal.SAVED_ENTITY_LIST, 1, "<SavedEntityList> ::= <SavedEntity>");
-        public static final Production SAVED_ENTITY_LIST_549 = new Production(Nonterminal.SAVED_ENTITY_LIST, 3, "<SavedEntityList> ::= <SavedEntityList> T_COMMA <SavedEntity>");
-        public static final Production SAVED_ENTITY_550 = new Production(Nonterminal.SAVED_ENTITY, 1, "<SavedEntity> ::= <VariableName>");
-        public static final Production SAVED_ENTITY_551 = new Production(Nonterminal.SAVED_ENTITY, 1, "<SavedEntity> ::= <SavedCommonBlock>");
-        public static final Production SAVED_COMMON_BLOCK_552 = new Production(Nonterminal.SAVED_COMMON_BLOCK, 3, "<SavedCommonBlock> ::= T_SLASH <CommonBlockName> T_SLASH");
-        public static final Production DIMENSION_STMT_553 = new Production(Nonterminal.DIMENSION_STMT, 6, "<DimensionStmt> ::= <LblDef> T_DIMENSION T_COLON T_COLON <ArrayDeclaratorList> T_EOS");
-        public static final Production DIMENSION_STMT_554 = new Production(Nonterminal.DIMENSION_STMT, 4, "<DimensionStmt> ::= <LblDef> T_DIMENSION <ArrayDeclaratorList> T_EOS");
-        public static final Production ARRAY_DECLARATOR_LIST_555 = new Production(Nonterminal.ARRAY_DECLARATOR_LIST, 1, "<ArrayDeclaratorList> ::= <ArrayDeclarator>");
-        public static final Production ARRAY_DECLARATOR_LIST_556 = new Production(Nonterminal.ARRAY_DECLARATOR_LIST, 3, "<ArrayDeclaratorList> ::= <ArrayDeclaratorList> T_COMMA <ArrayDeclarator>");
-        public static final Production ARRAY_DECLARATOR_557 = new Production(Nonterminal.ARRAY_DECLARATOR, 4, "<ArrayDeclarator> ::= <VariableName> T_LPAREN <ArraySpec> T_RPAREN");
-        public static final Production ALLOCATABLE_STMT_558 = new Production(Nonterminal.ALLOCATABLE_STMT, 6, "<AllocatableStmt> ::= <LblDef> T_ALLOCATABLE T_COLON T_COLON <ArrayAllocationList> T_EOS");
-        public static final Production ALLOCATABLE_STMT_559 = new Production(Nonterminal.ALLOCATABLE_STMT, 4, "<AllocatableStmt> ::= <LblDef> T_ALLOCATABLE <ArrayAllocationList> T_EOS");
-        public static final Production ARRAY_ALLOCATION_LIST_560 = new Production(Nonterminal.ARRAY_ALLOCATION_LIST, 1, "<ArrayAllocationList> ::= <ArrayAllocation>");
-        public static final Production ARRAY_ALLOCATION_LIST_561 = new Production(Nonterminal.ARRAY_ALLOCATION_LIST, 3, "<ArrayAllocationList> ::= <ArrayAllocationList> T_COMMA <ArrayAllocation>");
-        public static final Production ARRAY_ALLOCATION_562 = new Production(Nonterminal.ARRAY_ALLOCATION, 1, "<ArrayAllocation> ::= <ArrayName>");
-        public static final Production ARRAY_ALLOCATION_563 = new Production(Nonterminal.ARRAY_ALLOCATION, 4, "<ArrayAllocation> ::= <ArrayName> T_LPAREN <DeferredShapeSpecList> T_RPAREN");
-        public static final Production ASYNCHRONOUS_STMT_564 = new Production(Nonterminal.ASYNCHRONOUS_STMT, 6, "<AsynchronousStmt> ::= <LblDef> T_ASYNCHRONOUS T_COLON T_COLON <ObjectList> T_EOS");
-        public static final Production ASYNCHRONOUS_STMT_565 = new Production(Nonterminal.ASYNCHRONOUS_STMT, 4, "<AsynchronousStmt> ::= <LblDef> T_ASYNCHRONOUS <ObjectList> T_EOS");
-        public static final Production OBJECT_LIST_566 = new Production(Nonterminal.OBJECT_LIST, 1, "<ObjectList> ::= T_IDENT");
-        public static final Production OBJECT_LIST_567 = new Production(Nonterminal.OBJECT_LIST, 3, "<ObjectList> ::= <ObjectList> T_COMMA T_IDENT");
-        public static final Production BIND_STMT_568 = new Production(Nonterminal.BIND_STMT, 6, "<BindStmt> ::= <LblDef> <LanguageBindingSpec> T_COLON T_COLON <BindEntityList> T_EOS");
-        public static final Production BIND_STMT_569 = new Production(Nonterminal.BIND_STMT, 4, "<BindStmt> ::= <LblDef> <LanguageBindingSpec> <BindEntityList> T_EOS");
-        public static final Production BIND_ENTITY_570 = new Production(Nonterminal.BIND_ENTITY, 1, "<BindEntity> ::= <VariableName>");
-        public static final Production BIND_ENTITY_571 = new Production(Nonterminal.BIND_ENTITY, 3, "<BindEntity> ::= T_SLASH T_IDENT T_SLASH");
-        public static final Production BIND_ENTITY_LIST_572 = new Production(Nonterminal.BIND_ENTITY_LIST, 1, "<BindEntityList> ::= <BindEntity>");
-        public static final Production BIND_ENTITY_LIST_573 = new Production(Nonterminal.BIND_ENTITY_LIST, 3, "<BindEntityList> ::= <BindEntityList> T_COMMA <BindEntity>");
-        public static final Production POINTER_STMT_574 = new Production(Nonterminal.POINTER_STMT, 6, "<PointerStmt> ::= <LblDef> T_POINTER T_COLON T_COLON <PointerStmtObjectList> T_EOS");
-        public static final Production POINTER_STMT_575 = new Production(Nonterminal.POINTER_STMT, 4, "<PointerStmt> ::= <LblDef> T_POINTER <PointerStmtObjectList> T_EOS");
-        public static final Production POINTER_STMT_OBJECT_LIST_576 = new Production(Nonterminal.POINTER_STMT_OBJECT_LIST, 1, "<PointerStmtObjectList> ::= <PointerStmtObject>");
-        public static final Production POINTER_STMT_OBJECT_LIST_577 = new Production(Nonterminal.POINTER_STMT_OBJECT_LIST, 3, "<PointerStmtObjectList> ::= <PointerStmtObjectList> T_COMMA <PointerStmtObject>");
-        public static final Production POINTER_STMT_OBJECT_578 = new Production(Nonterminal.POINTER_STMT_OBJECT, 1, "<PointerStmtObject> ::= <PointerName>");
-        public static final Production POINTER_STMT_OBJECT_579 = new Production(Nonterminal.POINTER_STMT_OBJECT, 4, "<PointerStmtObject> ::= <PointerName> T_LPAREN <DeferredShapeSpecList> T_RPAREN");
-        public static final Production POINTER_NAME_580 = new Production(Nonterminal.POINTER_NAME, 1, "<PointerName> ::= T_IDENT");
-        public static final Production CRAY_POINTER_STMT_581 = new Production(Nonterminal.CRAY_POINTER_STMT, 4, "<CrayPointerStmt> ::= <LblDef> T_POINTER <CrayPointerStmtObjectList> T_EOS");
-        public static final Production CRAY_POINTER_STMT_OBJECT_LIST_582 = new Production(Nonterminal.CRAY_POINTER_STMT_OBJECT_LIST, 1, "<CrayPointerStmtObjectList> ::= <CrayPointerStmtObject>");
-        public static final Production CRAY_POINTER_STMT_OBJECT_LIST_583 = new Production(Nonterminal.CRAY_POINTER_STMT_OBJECT_LIST, 3, "<CrayPointerStmtObjectList> ::= <CrayPointerStmtObjectList> T_COMMA <CrayPointerStmtObject>");
-        public static final Production CRAY_POINTER_STMT_OBJECT_584 = new Production(Nonterminal.CRAY_POINTER_STMT_OBJECT, 5, "<CrayPointerStmtObject> ::= T_LPAREN <PointerName> T_COMMA <TargetObject> T_RPAREN");
-        public static final Production CODIMENSION_STMT_585 = new Production(Nonterminal.CODIMENSION_STMT, 6, "<CodimensionStmt> ::= <LblDef> T_CODIMENSION T_COLON T_COLON <CodimensionDeclList> T_EOS");
-        public static final Production CODIMENSION_STMT_586 = new Production(Nonterminal.CODIMENSION_STMT, 4, "<CodimensionStmt> ::= <LblDef> T_CODIMENSION <CodimensionDeclList> T_EOS");
-        public static final Production CODIMENSION_DECL_LIST_587 = new Production(Nonterminal.CODIMENSION_DECL_LIST, 1, "<CodimensionDeclList> ::= <CodimensionDecl>");
-        public static final Production CODIMENSION_DECL_LIST_588 = new Production(Nonterminal.CODIMENSION_DECL_LIST, 3, "<CodimensionDeclList> ::= <CodimensionDeclList> T_COMMA <CodimensionDecl>");
-        public static final Production CODIMENSION_DECL_589 = new Production(Nonterminal.CODIMENSION_DECL, 4, "<CodimensionDecl> ::= <Name> T_LBRACKET <CoarraySpec> T_RBRACKET");
-        public static final Production CONTIGUOUS_STMT_590 = new Production(Nonterminal.CONTIGUOUS_STMT, 6, "<ContiguousStmt> ::= <LblDef> T_CONTIGUOUS T_COLON T_COLON <ObjectNameList> T_EOS");
-        public static final Production CONTIGUOUS_STMT_591 = new Production(Nonterminal.CONTIGUOUS_STMT, 4, "<ContiguousStmt> ::= <LblDef> T_CONTIGUOUS <ObjectNameList> T_EOS");
-        public static final Production OBJECT_NAME_LIST_592 = new Production(Nonterminal.OBJECT_NAME_LIST, 1, "<ObjectNameList> ::= <Name>");
-        public static final Production OBJECT_NAME_LIST_593 = new Production(Nonterminal.OBJECT_NAME_LIST, 3, "<ObjectNameList> ::= <ObjectNameList> T_COMMA <Name>");
-        public static final Production PROTECTED_STMT_594 = new Production(Nonterminal.PROTECTED_STMT, 6, "<ProtectedStmt> ::= <LblDef> T_PROTECTED T_COLON T_COLON <ObjectList> T_EOS");
-        public static final Production PROTECTED_STMT_595 = new Production(Nonterminal.PROTECTED_STMT, 4, "<ProtectedStmt> ::= <LblDef> T_PROTECTED <ObjectList> T_EOS");
-        public static final Production TARGET_STMT_596 = new Production(Nonterminal.TARGET_STMT, 6, "<TargetStmt> ::= <LblDef> T_TARGET T_COLON T_COLON <TargetObjectList> T_EOS");
-        public static final Production TARGET_STMT_597 = new Production(Nonterminal.TARGET_STMT, 4, "<TargetStmt> ::= <LblDef> T_TARGET <TargetObjectList> T_EOS");
-        public static final Production TARGET_OBJECT_LIST_598 = new Production(Nonterminal.TARGET_OBJECT_LIST, 1, "<TargetObjectList> ::= <TargetObject>");
-        public static final Production TARGET_OBJECT_LIST_599 = new Production(Nonterminal.TARGET_OBJECT_LIST, 3, "<TargetObjectList> ::= <TargetObjectList> T_COMMA <TargetObject>");
-        public static final Production TARGET_OBJECT_600 = new Production(Nonterminal.TARGET_OBJECT, 1, "<TargetObject> ::= <TargetName>");
-        public static final Production TARGET_OBJECT_601 = new Production(Nonterminal.TARGET_OBJECT, 4, "<TargetObject> ::= <TargetName> T_LPAREN <ArraySpec> T_RPAREN");
-        public static final Production TARGET_OBJECT_602 = new Production(Nonterminal.TARGET_OBJECT, 4, "<TargetObject> ::= <TargetName> T_LBRACKET <CoarraySpec> T_RBRACKET");
-        public static final Production TARGET_OBJECT_603 = new Production(Nonterminal.TARGET_OBJECT, 7, "<TargetObject> ::= <TargetName> T_LPAREN <ArraySpec> T_RPAREN T_LBRACKET <CoarraySpec> T_RBRACKET");
-        public static final Production TARGET_NAME_604 = new Production(Nonterminal.TARGET_NAME, 1, "<TargetName> ::= T_IDENT");
-        public static final Production VALUE_STMT_605 = new Production(Nonterminal.VALUE_STMT, 6, "<ValueStmt> ::= <LblDef> T_VALUE T_COLON T_COLON <ObjectList> T_EOS");
-        public static final Production VALUE_STMT_606 = new Production(Nonterminal.VALUE_STMT, 4, "<ValueStmt> ::= <LblDef> T_VALUE <ObjectList> T_EOS");
-        public static final Production VOLATILE_STMT_607 = new Production(Nonterminal.VOLATILE_STMT, 6, "<VolatileStmt> ::= <LblDef> T_VOLATILE T_COLON T_COLON <ObjectList> T_EOS");
-        public static final Production VOLATILE_STMT_608 = new Production(Nonterminal.VOLATILE_STMT, 4, "<VolatileStmt> ::= <LblDef> T_VOLATILE <ObjectList> T_EOS");
-        public static final Production PARAMETER_STMT_609 = new Production(Nonterminal.PARAMETER_STMT, 6, "<ParameterStmt> ::= <LblDef> T_PARAMETER T_LPAREN <NamedConstantDefList> T_RPAREN T_EOS");
-        public static final Production NAMED_CONSTANT_DEF_LIST_610 = new Production(Nonterminal.NAMED_CONSTANT_DEF_LIST, 1, "<NamedConstantDefList> ::= <NamedConstantDef>");
-        public static final Production NAMED_CONSTANT_DEF_LIST_611 = new Production(Nonterminal.NAMED_CONSTANT_DEF_LIST, 3, "<NamedConstantDefList> ::= <NamedConstantDefList> T_COMMA <NamedConstantDef>");
-        public static final Production NAMED_CONSTANT_DEF_612 = new Production(Nonterminal.NAMED_CONSTANT_DEF, 3, "<NamedConstantDef> ::= <NamedConstant> T_EQUALS <Expr>");
-        public static final Production DATA_STMT_613 = new Production(Nonterminal.DATA_STMT, 4, "<DataStmt> ::= <LblDef> T_DATA <Datalist> T_EOS");
-        public static final Production DATALIST_614 = new Production(Nonterminal.DATALIST, 1, "<Datalist> ::= <DataStmtSet>");
-        public static final Production DATALIST_615 = new Production(Nonterminal.DATALIST, 2, "<Datalist> ::= <Datalist> <DataStmtSet>");
-        public static final Production DATALIST_616 = new Production(Nonterminal.DATALIST, 3, "<Datalist> ::= <Datalist> T_COMMA <DataStmtSet>");
-        public static final Production DATA_STMT_SET_617 = new Production(Nonterminal.DATA_STMT_SET, 4, "<DataStmtSet> ::= <DataStmtObjectList> T_SLASH <DataStmtValueList> T_SLASH");
-        public static final Production DATA_STMT_OBJECT_LIST_618 = new Production(Nonterminal.DATA_STMT_OBJECT_LIST, 1, "<DataStmtObjectList> ::= <DataStmtObject>");
-        public static final Production DATA_STMT_OBJECT_LIST_619 = new Production(Nonterminal.DATA_STMT_OBJECT_LIST, 3, "<DataStmtObjectList> ::= <DataStmtObjectList> T_COMMA <DataStmtObject>");
-        public static final Production DATA_STMT_OBJECT_620 = new Production(Nonterminal.DATA_STMT_OBJECT, 1, "<DataStmtObject> ::= <Variable>");
-        public static final Production DATA_STMT_OBJECT_621 = new Production(Nonterminal.DATA_STMT_OBJECT, 1, "<DataStmtObject> ::= <DataImpliedDo>");
-        public static final Production DATA_IMPLIED_DO_622 = new Production(Nonterminal.DATA_IMPLIED_DO, 9, "<DataImpliedDo> ::= T_LPAREN <DataIDoObjectList> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production DATA_IMPLIED_DO_623 = new Production(Nonterminal.DATA_IMPLIED_DO, 11, "<DataImpliedDo> ::= T_LPAREN <DataIDoObjectList> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production DATA_IDO_OBJECT_LIST_624 = new Production(Nonterminal.DATA_IDO_OBJECT_LIST, 1, "<DataIDoObjectList> ::= <DataIDoObject>");
-        public static final Production DATA_IDO_OBJECT_LIST_625 = new Production(Nonterminal.DATA_IDO_OBJECT_LIST, 3, "<DataIDoObjectList> ::= <DataIDoObjectList> T_COMMA <DataIDoObject>");
-        public static final Production DATA_IDO_OBJECT_626 = new Production(Nonterminal.DATA_IDO_OBJECT, 1, "<DataIDoObject> ::= <ArrayElement>");
-        public static final Production DATA_IDO_OBJECT_627 = new Production(Nonterminal.DATA_IDO_OBJECT, 1, "<DataIDoObject> ::= <DataImpliedDo>");
-        public static final Production DATA_IDO_OBJECT_628 = new Production(Nonterminal.DATA_IDO_OBJECT, 1, "<DataIDoObject> ::= <StructureComponent>");
-        public static final Production DATA_STMT_VALUE_LIST_629 = new Production(Nonterminal.DATA_STMT_VALUE_LIST, 1, "<DataStmtValueList> ::= <DataStmtValue>");
-        public static final Production DATA_STMT_VALUE_LIST_630 = new Production(Nonterminal.DATA_STMT_VALUE_LIST, 3, "<DataStmtValueList> ::= <DataStmtValueList> T_COMMA <DataStmtValue>");
-        public static final Production DATA_STMT_VALUE_631 = new Production(Nonterminal.DATA_STMT_VALUE, 1, "<DataStmtValue> ::= <DataStmtConstant>");
-        public static final Production DATA_STMT_VALUE_632 = new Production(Nonterminal.DATA_STMT_VALUE, 3, "<DataStmtValue> ::= T_ICON T_ASTERISK <DataStmtConstant>");
-        public static final Production DATA_STMT_VALUE_633 = new Production(Nonterminal.DATA_STMT_VALUE, 3, "<DataStmtValue> ::= <NamedConstantUse> T_ASTERISK <DataStmtConstant>");
-        public static final Production DATA_STMT_CONSTANT_634 = new Production(Nonterminal.DATA_STMT_CONSTANT, 1, "<DataStmtConstant> ::= <Constant>");
-        public static final Production DATA_STMT_CONSTANT_635 = new Production(Nonterminal.DATA_STMT_CONSTANT, 3, "<DataStmtConstant> ::= T_NULL T_LPAREN T_RPAREN");
-        public static final Production IMPLICIT_STMT_636 = new Production(Nonterminal.IMPLICIT_STMT, 4, "<ImplicitStmt> ::= <LblDef> T_IMPLICIT <ImplicitSpecList> T_EOS");
-        public static final Production IMPLICIT_STMT_637 = new Production(Nonterminal.IMPLICIT_STMT, 4, "<ImplicitStmt> ::= <LblDef> T_IMPLICIT T_NONE T_EOS");
-        public static final Production IMPLICIT_SPEC_LIST_638 = new Production(Nonterminal.IMPLICIT_SPEC_LIST, 1, "<ImplicitSpecList> ::= <ImplicitSpec>");
-        public static final Production IMPLICIT_SPEC_LIST_639 = new Production(Nonterminal.IMPLICIT_SPEC_LIST, 3, "<ImplicitSpecList> ::= <ImplicitSpecList> T_COMMA <ImplicitSpec>");
-        public static final Production IMPLICIT_SPEC_640 = new Production(Nonterminal.IMPLICIT_SPEC, 2, "<ImplicitSpec> ::= <TypeSpec> T_xImpl");
-        public static final Production NAMELIST_STMT_641 = new Production(Nonterminal.NAMELIST_STMT, 4, "<NamelistStmt> ::= <LblDef> T_NAMELIST <NamelistGroups> T_EOS");
-        public static final Production NAMELIST_GROUPS_642 = new Production(Nonterminal.NAMELIST_GROUPS, 4, "<NamelistGroups> ::= T_SLASH <NamelistGroupName> T_SLASH <NamelistGroupObject>");
-        public static final Production NAMELIST_GROUPS_643 = new Production(Nonterminal.NAMELIST_GROUPS, 5, "<NamelistGroups> ::= <NamelistGroups> T_SLASH <NamelistGroupName> T_SLASH <NamelistGroupObject>");
-        public static final Production NAMELIST_GROUPS_644 = new Production(Nonterminal.NAMELIST_GROUPS, 6, "<NamelistGroups> ::= <NamelistGroups> T_COMMA T_SLASH <NamelistGroupName> T_SLASH <NamelistGroupObject>");
-        public static final Production NAMELIST_GROUPS_645 = new Production(Nonterminal.NAMELIST_GROUPS, 3, "<NamelistGroups> ::= <NamelistGroups> T_COMMA <NamelistGroupObject>");
-        public static final Production NAMELIST_GROUP_OBJECT_646 = new Production(Nonterminal.NAMELIST_GROUP_OBJECT, 1, "<NamelistGroupObject> ::= <VariableName>");
-        public static final Production EQUIVALENCE_STMT_647 = new Production(Nonterminal.EQUIVALENCE_STMT, 4, "<EquivalenceStmt> ::= <LblDef> T_EQUIVALENCE <EquivalenceSetList> T_EOS");
-        public static final Production EQUIVALENCE_SET_LIST_648 = new Production(Nonterminal.EQUIVALENCE_SET_LIST, 1, "<EquivalenceSetList> ::= <EquivalenceSet>");
-        public static final Production EQUIVALENCE_SET_LIST_649 = new Production(Nonterminal.EQUIVALENCE_SET_LIST, 3, "<EquivalenceSetList> ::= <EquivalenceSetList> T_COMMA <EquivalenceSet>");
-        public static final Production EQUIVALENCE_SET_650 = new Production(Nonterminal.EQUIVALENCE_SET, 5, "<EquivalenceSet> ::= T_LPAREN <EquivalenceObject> T_COMMA <EquivalenceObjectList> T_RPAREN");
-        public static final Production EQUIVALENCE_OBJECT_LIST_651 = new Production(Nonterminal.EQUIVALENCE_OBJECT_LIST, 1, "<EquivalenceObjectList> ::= <EquivalenceObject>");
-        public static final Production EQUIVALENCE_OBJECT_LIST_652 = new Production(Nonterminal.EQUIVALENCE_OBJECT_LIST, 3, "<EquivalenceObjectList> ::= <EquivalenceObjectList> T_COMMA <EquivalenceObject>");
-        public static final Production EQUIVALENCE_OBJECT_653 = new Production(Nonterminal.EQUIVALENCE_OBJECT, 1, "<EquivalenceObject> ::= <Variable>");
-        public static final Production COMMON_STMT_654 = new Production(Nonterminal.COMMON_STMT, 4, "<CommonStmt> ::= <LblDef> T_COMMON <CommonBlockList> T_EOS");
-        public static final Production COMMON_BLOCK_LIST_655 = new Production(Nonterminal.COMMON_BLOCK_LIST, 1, "<CommonBlockList> ::= <CommonBlock>");
-        public static final Production COMMON_BLOCK_LIST_656 = new Production(Nonterminal.COMMON_BLOCK_LIST, 2, "<CommonBlockList> ::= <CommonBlockList> <CommonBlock>");
-        public static final Production COMMON_BLOCK_657 = new Production(Nonterminal.COMMON_BLOCK, 1, "<CommonBlock> ::= <CommonBlockObjectList>");
-        public static final Production COMMON_BLOCK_658 = new Production(Nonterminal.COMMON_BLOCK, 3, "<CommonBlock> ::= T_SLASH T_SLASH <CommonBlockObjectList>");
-        public static final Production COMMON_BLOCK_659 = new Production(Nonterminal.COMMON_BLOCK, 4, "<CommonBlock> ::= T_SLASH <CommonBlockName> T_SLASH <CommonBlockObjectList>");
-        public static final Production COMMON_BLOCK_OBJECT_LIST_660 = new Production(Nonterminal.COMMON_BLOCK_OBJECT_LIST, 1, "<CommonBlockObjectList> ::= <CommonBlockObject>");
-        public static final Production COMMON_BLOCK_OBJECT_LIST_661 = new Production(Nonterminal.COMMON_BLOCK_OBJECT_LIST, 2, "<CommonBlockObjectList> ::= <CommonBlockObjectList> <CommonBlockObject>");
-        public static final Production COMMON_BLOCK_OBJECT_662 = new Production(Nonterminal.COMMON_BLOCK_OBJECT, 1, "<CommonBlockObject> ::= <VariableName>");
-        public static final Production COMMON_BLOCK_OBJECT_663 = new Production(Nonterminal.COMMON_BLOCK_OBJECT, 1, "<CommonBlockObject> ::= <ArrayDeclarator>");
-        public static final Production COMMON_BLOCK_OBJECT_664 = new Production(Nonterminal.COMMON_BLOCK_OBJECT, 2, "<CommonBlockObject> ::= <VariableName> T_COMMA");
-        public static final Production COMMON_BLOCK_OBJECT_665 = new Production(Nonterminal.COMMON_BLOCK_OBJECT, 2, "<CommonBlockObject> ::= <ArrayDeclarator> T_COMMA");
-        public static final Production VARIABLE_666 = new Production(Nonterminal.VARIABLE, 1, "<Variable> ::= <DataRef>");
-        public static final Production VARIABLE_667 = new Production(Nonterminal.VARIABLE, 4, "<Variable> ::= <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production VARIABLE_668 = new Production(Nonterminal.VARIABLE, 5, "<Variable> ::= <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production VARIABLE_669 = new Production(Nonterminal.VARIABLE, 1, "<Variable> ::= <SubstrConst>");
-        public static final Production VARIABLE_670 = new Production(Nonterminal.VARIABLE, 2, "<Variable> ::= <DataRef> <ImageSelector>");
-        public static final Production VARIABLE_671 = new Production(Nonterminal.VARIABLE, 5, "<Variable> ::= <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector>");
-        public static final Production VARIABLE_672 = new Production(Nonterminal.VARIABLE, 6, "<Variable> ::= <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> <SubstringRange>");
-        public static final Production SUBSTR_CONST_673 = new Production(Nonterminal.SUBSTR_CONST, 2, "<SubstrConst> ::= T_SCON <SubstringRange>");
-        public static final Production VARIABLE_NAME_674 = new Production(Nonterminal.VARIABLE_NAME, 1, "<VariableName> ::= T_IDENT");
-        public static final Production SCALAR_VARIABLE_675 = new Production(Nonterminal.SCALAR_VARIABLE, 1, "<ScalarVariable> ::= <VariableName>");
-        public static final Production SCALAR_VARIABLE_676 = new Production(Nonterminal.SCALAR_VARIABLE, 1, "<ScalarVariable> ::= <ArrayElement>");
-        public static final Production SUBSTRING_RANGE_677 = new Production(Nonterminal.SUBSTRING_RANGE, 3, "<SubstringRange> ::= T_LPAREN <SubscriptTriplet> T_RPAREN");
-        public static final Production DATA_REF_678 = new Production(Nonterminal.DATA_REF, 1, "<DataRef> ::= <Name>");
-        public static final Production DATA_REF_679 = new Production(Nonterminal.DATA_REF, 3, "<DataRef> ::= <DataRef> T_PERCENT <Name>");
-        public static final Production DATA_REF_680 = new Production(Nonterminal.DATA_REF, 6, "<DataRef> ::= <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <Name>");
-        public static final Production DATA_REF_681 = new Production(Nonterminal.DATA_REF, 2, "<DataRef> ::= <Name> <ImageSelector>");
-        public static final Production DATA_REF_682 = new Production(Nonterminal.DATA_REF, 4, "<DataRef> ::= <DataRef> <ImageSelector> T_PERCENT <Name>");
-        public static final Production DATA_REF_683 = new Production(Nonterminal.DATA_REF, 7, "<DataRef> ::= <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> T_PERCENT <Name>");
-        public static final Production SFDATA_REF_684 = new Production(Nonterminal.SFDATA_REF, 3, "<SFDataRef> ::= <Name> T_PERCENT <Name>");
-        public static final Production SFDATA_REF_685 = new Production(Nonterminal.SFDATA_REF, 4, "<SFDataRef> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production SFDATA_REF_686 = new Production(Nonterminal.SFDATA_REF, 3, "<SFDataRef> ::= <SFDataRef> T_PERCENT <Name>");
-        public static final Production SFDATA_REF_687 = new Production(Nonterminal.SFDATA_REF, 6, "<SFDataRef> ::= <SFDataRef> T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <Name>");
-        public static final Production SFDATA_REF_688 = new Production(Nonterminal.SFDATA_REF, 4, "<SFDataRef> ::= <Name> <ImageSelector> T_PERCENT <Name>");
-        public static final Production SFDATA_REF_689 = new Production(Nonterminal.SFDATA_REF, 5, "<SFDataRef> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector>");
-        public static final Production SFDATA_REF_690 = new Production(Nonterminal.SFDATA_REF, 4, "<SFDataRef> ::= <SFDataRef> <ImageSelector> T_PERCENT <Name>");
-        public static final Production SFDATA_REF_691 = new Production(Nonterminal.SFDATA_REF, 7, "<SFDataRef> ::= <SFDataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> T_PERCENT <Name>");
-        public static final Production STRUCTURE_COMPONENT_692 = new Production(Nonterminal.STRUCTURE_COMPONENT, 2, "<StructureComponent> ::= <VariableName> <FieldSelector>");
-        public static final Production STRUCTURE_COMPONENT_693 = new Production(Nonterminal.STRUCTURE_COMPONENT, 2, "<StructureComponent> ::= <StructureComponent> <FieldSelector>");
-        public static final Production FIELD_SELECTOR_694 = new Production(Nonterminal.FIELD_SELECTOR, 5, "<FieldSelector> ::= T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <Name>");
-        public static final Production FIELD_SELECTOR_695 = new Production(Nonterminal.FIELD_SELECTOR, 2, "<FieldSelector> ::= T_PERCENT <Name>");
-        public static final Production FIELD_SELECTOR_696 = new Production(Nonterminal.FIELD_SELECTOR, 6, "<FieldSelector> ::= T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> T_PERCENT <Name>");
-        public static final Production FIELD_SELECTOR_697 = new Production(Nonterminal.FIELD_SELECTOR, 3, "<FieldSelector> ::= <ImageSelector> T_PERCENT <Name>");
-        public static final Production ARRAY_ELEMENT_698 = new Production(Nonterminal.ARRAY_ELEMENT, 4, "<ArrayElement> ::= <VariableName> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production ARRAY_ELEMENT_699 = new Production(Nonterminal.ARRAY_ELEMENT, 4, "<ArrayElement> ::= <StructureComponent> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production ARRAY_ELEMENT_700 = new Production(Nonterminal.ARRAY_ELEMENT, 5, "<ArrayElement> ::= <VariableName> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector>");
-        public static final Production ARRAY_ELEMENT_701 = new Production(Nonterminal.ARRAY_ELEMENT, 5, "<ArrayElement> ::= <StructureComponent> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector>");
-        public static final Production SUBSCRIPT_702 = new Production(Nonterminal.SUBSCRIPT, 1, "<Subscript> ::= <Expr>");
-        public static final Production SECTION_SUBSCRIPT_LIST_703 = new Production(Nonterminal.SECTION_SUBSCRIPT_LIST, 1, "<SectionSubscriptList> ::= <SectionSubscript>");
-        public static final Production SECTION_SUBSCRIPT_LIST_704 = new Production(Nonterminal.SECTION_SUBSCRIPT_LIST, 3, "<SectionSubscriptList> ::= <SectionSubscriptList> T_COMMA <SectionSubscript>");
-        public static final Production SECTION_SUBSCRIPT_705 = new Production(Nonterminal.SECTION_SUBSCRIPT, 1, "<SectionSubscript> ::= <Expr>");
-        public static final Production SECTION_SUBSCRIPT_706 = new Production(Nonterminal.SECTION_SUBSCRIPT, 1, "<SectionSubscript> ::= <SubscriptTriplet>");
-        public static final Production SUBSCRIPT_TRIPLET_707 = new Production(Nonterminal.SUBSCRIPT_TRIPLET, 1, "<SubscriptTriplet> ::= T_COLON");
-        public static final Production SUBSCRIPT_TRIPLET_708 = new Production(Nonterminal.SUBSCRIPT_TRIPLET, 2, "<SubscriptTriplet> ::= T_COLON <Expr>");
-        public static final Production SUBSCRIPT_TRIPLET_709 = new Production(Nonterminal.SUBSCRIPT_TRIPLET, 2, "<SubscriptTriplet> ::= <Expr> T_COLON");
-        public static final Production SUBSCRIPT_TRIPLET_710 = new Production(Nonterminal.SUBSCRIPT_TRIPLET, 3, "<SubscriptTriplet> ::= <Expr> T_COLON <Expr>");
-        public static final Production SUBSCRIPT_TRIPLET_711 = new Production(Nonterminal.SUBSCRIPT_TRIPLET, 5, "<SubscriptTriplet> ::= <Expr> T_COLON <Expr> T_COLON <Expr>");
-        public static final Production SUBSCRIPT_TRIPLET_712 = new Production(Nonterminal.SUBSCRIPT_TRIPLET, 4, "<SubscriptTriplet> ::= <Expr> T_COLON T_COLON <Expr>");
-        public static final Production SUBSCRIPT_TRIPLET_713 = new Production(Nonterminal.SUBSCRIPT_TRIPLET, 4, "<SubscriptTriplet> ::= T_COLON <Expr> T_COLON <Expr>");
-        public static final Production SUBSCRIPT_TRIPLET_714 = new Production(Nonterminal.SUBSCRIPT_TRIPLET, 3, "<SubscriptTriplet> ::= T_COLON T_COLON <Expr>");
-        public static final Production ALLOCATE_STMT_715 = new Production(Nonterminal.ALLOCATE_STMT, 9, "<AllocateStmt> ::= <LblDef> T_ALLOCATE T_LPAREN <AllocationList> T_COMMA T_STATEQ <Variable> T_RPAREN T_EOS");
-        public static final Production ALLOCATE_STMT_716 = new Production(Nonterminal.ALLOCATE_STMT, 6, "<AllocateStmt> ::= <LblDef> T_ALLOCATE T_LPAREN <AllocationList> T_RPAREN T_EOS");
-        public static final Production ALLOCATION_LIST_717 = new Production(Nonterminal.ALLOCATION_LIST, 1, "<AllocationList> ::= <Allocation>");
-        public static final Production ALLOCATION_LIST_718 = new Production(Nonterminal.ALLOCATION_LIST, 3, "<AllocationList> ::= <AllocationList> T_COMMA <Allocation>");
-        public static final Production ALLOCATION_719 = new Production(Nonterminal.ALLOCATION, 1, "<Allocation> ::= <AllocateObject>");
-        public static final Production ALLOCATION_720 = new Production(Nonterminal.ALLOCATION, 2, "<Allocation> ::= <AllocateObject> <AllocatedShape>");
-        public static final Production ALLOCATED_SHAPE_721 = new Production(Nonterminal.ALLOCATED_SHAPE, 3, "<AllocatedShape> ::= T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production ALLOCATED_SHAPE_722 = new Production(Nonterminal.ALLOCATED_SHAPE, 6, "<AllocatedShape> ::= T_LPAREN <SectionSubscriptList> T_RPAREN T_LBRACKET <AllocateCoarraySpec> T_RBRACKET");
-        public static final Production ALLOCATED_SHAPE_723 = new Production(Nonterminal.ALLOCATED_SHAPE, 3, "<AllocatedShape> ::= T_LBRACKET <AllocateCoarraySpec> T_RBRACKET");
-        public static final Production ALLOCATE_OBJECT_LIST_724 = new Production(Nonterminal.ALLOCATE_OBJECT_LIST, 1, "<AllocateObjectList> ::= <AllocateObject>");
-        public static final Production ALLOCATE_OBJECT_LIST_725 = new Production(Nonterminal.ALLOCATE_OBJECT_LIST, 3, "<AllocateObjectList> ::= <AllocateObjectList> T_COMMA <AllocateObject>");
-        public static final Production ALLOCATE_OBJECT_726 = new Production(Nonterminal.ALLOCATE_OBJECT, 1, "<AllocateObject> ::= <VariableName>");
-        public static final Production ALLOCATE_OBJECT_727 = new Production(Nonterminal.ALLOCATE_OBJECT, 2, "<AllocateObject> ::= <AllocateObject> <FieldSelector>");
-        public static final Production ALLOCATE_COARRAY_SPEC_728 = new Production(Nonterminal.ALLOCATE_COARRAY_SPEC, 5, "<AllocateCoarraySpec> ::= <SectionSubscriptList> T_COMMA <Expr> T_COLON T_ASTERISK");
-        public static final Production ALLOCATE_COARRAY_SPEC_729 = new Production(Nonterminal.ALLOCATE_COARRAY_SPEC, 3, "<AllocateCoarraySpec> ::= <SectionSubscriptList> T_COMMA T_ASTERISK");
-        public static final Production ALLOCATE_COARRAY_SPEC_730 = new Production(Nonterminal.ALLOCATE_COARRAY_SPEC, 3, "<AllocateCoarraySpec> ::= <Expr> T_COLON T_ASTERISK");
-        public static final Production ALLOCATE_COARRAY_SPEC_731 = new Production(Nonterminal.ALLOCATE_COARRAY_SPEC, 1, "<AllocateCoarraySpec> ::= T_ASTERISK");
-        public static final Production IMAGE_SELECTOR_732 = new Production(Nonterminal.IMAGE_SELECTOR, 3, "<ImageSelector> ::= T_LBRACKET <SectionSubscriptList> T_RBRACKET");
-        public static final Production NULLIFY_STMT_733 = new Production(Nonterminal.NULLIFY_STMT, 6, "<NullifyStmt> ::= <LblDef> T_NULLIFY T_LPAREN <PointerObjectList> T_RPAREN T_EOS");
-        public static final Production POINTER_OBJECT_LIST_734 = new Production(Nonterminal.POINTER_OBJECT_LIST, 1, "<PointerObjectList> ::= <PointerObject>");
-        public static final Production POINTER_OBJECT_LIST_735 = new Production(Nonterminal.POINTER_OBJECT_LIST, 3, "<PointerObjectList> ::= <PointerObjectList> T_COMMA <PointerObject>");
-        public static final Production POINTER_OBJECT_736 = new Production(Nonterminal.POINTER_OBJECT, 1, "<PointerObject> ::= <Name>");
-        public static final Production POINTER_OBJECT_737 = new Production(Nonterminal.POINTER_OBJECT, 1, "<PointerObject> ::= <PointerField>");
-        public static final Production POINTER_FIELD_738 = new Production(Nonterminal.POINTER_FIELD, 6, "<PointerField> ::= <Name> T_LPAREN <SFExprList> T_RPAREN T_PERCENT <Name>");
-        public static final Production POINTER_FIELD_739 = new Production(Nonterminal.POINTER_FIELD, 6, "<PointerField> ::= <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN T_PERCENT <Name>");
-        public static final Production POINTER_FIELD_740 = new Production(Nonterminal.POINTER_FIELD, 3, "<PointerField> ::= <Name> T_PERCENT <Name>");
-        public static final Production POINTER_FIELD_741 = new Production(Nonterminal.POINTER_FIELD, 2, "<PointerField> ::= <PointerField> <FieldSelector>");
-        public static final Production POINTER_FIELD_742 = new Production(Nonterminal.POINTER_FIELD, 7, "<PointerField> ::= <Name> T_LPAREN <SFExprList> T_RPAREN <ImageSelector> T_PERCENT <Name>");
-        public static final Production POINTER_FIELD_743 = new Production(Nonterminal.POINTER_FIELD, 7, "<PointerField> ::= <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN <ImageSelector> T_PERCENT <Name>");
-        public static final Production POINTER_FIELD_744 = new Production(Nonterminal.POINTER_FIELD, 4, "<PointerField> ::= <Name> <ImageSelector> T_PERCENT <Name>");
-        public static final Production DEALLOCATE_STMT_745 = new Production(Nonterminal.DEALLOCATE_STMT, 9, "<DeallocateStmt> ::= <LblDef> T_DEALLOCATE T_LPAREN <AllocateObjectList> T_COMMA T_STATEQ <Variable> T_RPAREN T_EOS");
-        public static final Production DEALLOCATE_STMT_746 = new Production(Nonterminal.DEALLOCATE_STMT, 6, "<DeallocateStmt> ::= <LblDef> T_DEALLOCATE T_LPAREN <AllocateObjectList> T_RPAREN T_EOS");
-        public static final Production PRIMARY_747 = new Production(Nonterminal.PRIMARY, 1, "<Primary> ::= <LogicalConstant>");
-        public static final Production PRIMARY_748 = new Production(Nonterminal.PRIMARY, 1, "<Primary> ::= T_SCON");
-        public static final Production PRIMARY_749 = new Production(Nonterminal.PRIMARY, 1, "<Primary> ::= <UnsignedArithmeticConstant>");
-        public static final Production PRIMARY_750 = new Production(Nonterminal.PRIMARY, 1, "<Primary> ::= <ArrayConstructor>");
-        public static final Production PRIMARY_751 = new Production(Nonterminal.PRIMARY, 1, "<Primary> ::= <Name>");
-        public static final Production PRIMARY_752 = new Production(Nonterminal.PRIMARY, 4, "<Primary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production PRIMARY_753 = new Production(Nonterminal.PRIMARY, 5, "<Primary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production PRIMARY_754 = new Production(Nonterminal.PRIMARY, 3, "<Primary> ::= <Name> T_PERCENT <DataRef>");
-        public static final Production PRIMARY_755 = new Production(Nonterminal.PRIMARY, 5, "<Primary> ::= <Name> T_PERCENT <DataRef> T_LPAREN T_RPAREN");
-        public static final Production PRIMARY_756 = new Production(Nonterminal.PRIMARY, 6, "<Primary> ::= <Name> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production PRIMARY_757 = new Production(Nonterminal.PRIMARY, 7, "<Primary> ::= <Name> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production PRIMARY_758 = new Production(Nonterminal.PRIMARY, 6, "<Primary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <DataRef>");
-        public static final Production PRIMARY_759 = new Production(Nonterminal.PRIMARY, 9, "<Primary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production PRIMARY_760 = new Production(Nonterminal.PRIMARY, 10, "<Primary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production PRIMARY_761 = new Production(Nonterminal.PRIMARY, 1, "<Primary> ::= <FunctionReference>");
-        public static final Production PRIMARY_762 = new Production(Nonterminal.PRIMARY, 2, "<Primary> ::= <FunctionReference> <SubstringRange>");
-        public static final Production PRIMARY_763 = new Production(Nonterminal.PRIMARY, 3, "<Primary> ::= <FunctionReference> T_PERCENT <DataRef>");
-        public static final Production PRIMARY_764 = new Production(Nonterminal.PRIMARY, 6, "<Primary> ::= <FunctionReference> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production PRIMARY_765 = new Production(Nonterminal.PRIMARY, 7, "<Primary> ::= <FunctionReference> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production PRIMARY_766 = new Production(Nonterminal.PRIMARY, 3, "<Primary> ::= T_LPAREN <Expr> T_RPAREN");
-        public static final Production PRIMARY_767 = new Production(Nonterminal.PRIMARY, 1, "<Primary> ::= <SubstrConst>");
-        public static final Production PRIMARY_768 = new Production(Nonterminal.PRIMARY, 2, "<Primary> ::= <Name> <ImageSelector>");
-        public static final Production PRIMARY_769 = new Production(Nonterminal.PRIMARY, 5, "<Primary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector>");
-        public static final Production PRIMARY_770 = new Production(Nonterminal.PRIMARY, 6, "<Primary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> <SubstringRange>");
-        public static final Production PRIMARY_771 = new Production(Nonterminal.PRIMARY, 4, "<Primary> ::= <Name> <ImageSelector> T_PERCENT <DataRef>");
-        public static final Production PRIMARY_772 = new Production(Nonterminal.PRIMARY, 6, "<Primary> ::= <Name> <ImageSelector> T_PERCENT <DataRef> T_LPAREN T_RPAREN");
-        public static final Production PRIMARY_773 = new Production(Nonterminal.PRIMARY, 7, "<Primary> ::= <Name> <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production PRIMARY_774 = new Production(Nonterminal.PRIMARY, 8, "<Primary> ::= <Name> <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production PRIMARY_775 = new Production(Nonterminal.PRIMARY, 7, "<Primary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> T_PERCENT <DataRef>");
-        public static final Production PRIMARY_776 = new Production(Nonterminal.PRIMARY, 10, "<Primary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production PRIMARY_777 = new Production(Nonterminal.PRIMARY, 11, "<Primary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production PRIMARY_778 = new Production(Nonterminal.PRIMARY, 2, "<Primary> ::= <FunctionReference> <ImageSelector>");
-        public static final Production PRIMARY_779 = new Production(Nonterminal.PRIMARY, 3, "<Primary> ::= <FunctionReference> <SubstringRange> <ImageSelector>");
-        public static final Production PRIMARY_780 = new Production(Nonterminal.PRIMARY, 4, "<Primary> ::= <FunctionReference> <ImageSelector> T_PERCENT <DataRef>");
-        public static final Production PRIMARY_781 = new Production(Nonterminal.PRIMARY, 7, "<Primary> ::= <FunctionReference> <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production PRIMARY_782 = new Production(Nonterminal.PRIMARY, 8, "<Primary> ::= <FunctionReference> <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production CPRIMARY_783 = new Production(Nonterminal.CPRIMARY, 1, "<CPrimary> ::= <COperand>");
-        public static final Production CPRIMARY_784 = new Production(Nonterminal.CPRIMARY, 3, "<CPrimary> ::= T_LPAREN <CExpr> T_RPAREN");
-        public static final Production COPERAND_785 = new Production(Nonterminal.COPERAND, 1, "<COperand> ::= T_SCON");
-        public static final Production COPERAND_786 = new Production(Nonterminal.COPERAND, 1, "<COperand> ::= <Name>");
-        public static final Production COPERAND_787 = new Production(Nonterminal.COPERAND, 4, "<COperand> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production COPERAND_788 = new Production(Nonterminal.COPERAND, 3, "<COperand> ::= <Name> T_PERCENT <DataRef>");
-        public static final Production COPERAND_789 = new Production(Nonterminal.COPERAND, 6, "<COperand> ::= <Name> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production COPERAND_790 = new Production(Nonterminal.COPERAND, 6, "<COperand> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <DataRef>");
-        public static final Production COPERAND_791 = new Production(Nonterminal.COPERAND, 9, "<COperand> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production COPERAND_792 = new Production(Nonterminal.COPERAND, 1, "<COperand> ::= <FunctionReference>");
-        public static final Production COPERAND_793 = new Production(Nonterminal.COPERAND, 2, "<COperand> ::= <Name> <ImageSelector>");
-        public static final Production COPERAND_794 = new Production(Nonterminal.COPERAND, 5, "<COperand> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector>");
-        public static final Production COPERAND_795 = new Production(Nonterminal.COPERAND, 4, "<COperand> ::= <Name> <ImageSelector> T_PERCENT <DataRef>");
-        public static final Production COPERAND_796 = new Production(Nonterminal.COPERAND, 7, "<COperand> ::= <Name> <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production COPERAND_797 = new Production(Nonterminal.COPERAND, 7, "<COperand> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> T_PERCENT <DataRef>");
-        public static final Production COPERAND_798 = new Production(Nonterminal.COPERAND, 10, "<COperand> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production UFPRIMARY_799 = new Production(Nonterminal.UFPRIMARY, 1, "<UFPrimary> ::= T_ICON");
-        public static final Production UFPRIMARY_800 = new Production(Nonterminal.UFPRIMARY, 1, "<UFPrimary> ::= T_SCON");
-        public static final Production UFPRIMARY_801 = new Production(Nonterminal.UFPRIMARY, 1, "<UFPrimary> ::= <FunctionReference>");
-        public static final Production UFPRIMARY_802 = new Production(Nonterminal.UFPRIMARY, 1, "<UFPrimary> ::= <Name>");
-        public static final Production UFPRIMARY_803 = new Production(Nonterminal.UFPRIMARY, 4, "<UFPrimary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production UFPRIMARY_804 = new Production(Nonterminal.UFPRIMARY, 5, "<UFPrimary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production UFPRIMARY_805 = new Production(Nonterminal.UFPRIMARY, 3, "<UFPrimary> ::= <Name> T_PERCENT <DataRef>");
-        public static final Production UFPRIMARY_806 = new Production(Nonterminal.UFPRIMARY, 6, "<UFPrimary> ::= <Name> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production UFPRIMARY_807 = new Production(Nonterminal.UFPRIMARY, 7, "<UFPrimary> ::= <Name> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production UFPRIMARY_808 = new Production(Nonterminal.UFPRIMARY, 6, "<UFPrimary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <DataRef>");
-        public static final Production UFPRIMARY_809 = new Production(Nonterminal.UFPRIMARY, 9, "<UFPrimary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production UFPRIMARY_810 = new Production(Nonterminal.UFPRIMARY, 10, "<UFPrimary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production UFPRIMARY_811 = new Production(Nonterminal.UFPRIMARY, 3, "<UFPrimary> ::= T_LPAREN <UFExpr> T_RPAREN");
-        public static final Production UFPRIMARY_812 = new Production(Nonterminal.UFPRIMARY, 2, "<UFPrimary> ::= <Name> <ImageSelector>");
-        public static final Production UFPRIMARY_813 = new Production(Nonterminal.UFPRIMARY, 5, "<UFPrimary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector>");
-        public static final Production UFPRIMARY_814 = new Production(Nonterminal.UFPRIMARY, 6, "<UFPrimary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> <SubstringRange>");
-        public static final Production UFPRIMARY_815 = new Production(Nonterminal.UFPRIMARY, 4, "<UFPrimary> ::= <Name> <ImageSelector> T_PERCENT <DataRef>");
-        public static final Production UFPRIMARY_816 = new Production(Nonterminal.UFPRIMARY, 7, "<UFPrimary> ::= <Name> <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production UFPRIMARY_817 = new Production(Nonterminal.UFPRIMARY, 8, "<UFPrimary> ::= <Name> <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production UFPRIMARY_818 = new Production(Nonterminal.UFPRIMARY, 7, "<UFPrimary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> T_PERCENT <DataRef>");
-        public static final Production UFPRIMARY_819 = new Production(Nonterminal.UFPRIMARY, 10, "<UFPrimary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN");
-        public static final Production UFPRIMARY_820 = new Production(Nonterminal.UFPRIMARY, 11, "<UFPrimary> ::= <Name> T_LPAREN <SectionSubscriptList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange>");
-        public static final Production LEVEL_1_EXPR_821 = new Production(Nonterminal.LEVEL_1_EXPR, 1, "<Level1Expr> ::= <Primary>");
-        public static final Production LEVEL_1_EXPR_822 = new Production(Nonterminal.LEVEL_1_EXPR, 2, "<Level1Expr> ::= <DefinedUnaryOp> <Primary>");
-        public static final Production MULT_OPERAND_823 = new Production(Nonterminal.MULT_OPERAND, 1, "<MultOperand> ::= <Level1Expr>");
-        public static final Production MULT_OPERAND_824 = new Production(Nonterminal.MULT_OPERAND, 3, "<MultOperand> ::= <Level1Expr> <PowerOp> <MultOperand>");
-        public static final Production UFFACTOR_825 = new Production(Nonterminal.UFFACTOR, 1, "<UFFactor> ::= <UFPrimary>");
-        public static final Production UFFACTOR_826 = new Production(Nonterminal.UFFACTOR, 3, "<UFFactor> ::= <UFPrimary> <PowerOp> <UFFactor>");
-        public static final Production ADD_OPERAND_827 = new Production(Nonterminal.ADD_OPERAND, 1, "<AddOperand> ::= <MultOperand>");
-        public static final Production ADD_OPERAND_828 = new Production(Nonterminal.ADD_OPERAND, 3, "<AddOperand> ::= <AddOperand> <MultOp> <MultOperand>");
-        public static final Production UFTERM_829 = new Production(Nonterminal.UFTERM, 1, "<UFTerm> ::= <UFFactor>");
-        public static final Production UFTERM_830 = new Production(Nonterminal.UFTERM, 3, "<UFTerm> ::= <UFTerm> <MultOp> <UFFactor>");
-        public static final Production UFTERM_831 = new Production(Nonterminal.UFTERM, 3, "<UFTerm> ::= <UFTerm> <ConcatOp> <UFPrimary>");
-        public static final Production LEVEL_2_EXPR_832 = new Production(Nonterminal.LEVEL_2_EXPR, 1, "<Level2Expr> ::= <AddOperand>");
-        public static final Production LEVEL_2_EXPR_833 = new Production(Nonterminal.LEVEL_2_EXPR, 2, "<Level2Expr> ::= <Sign> <AddOperand>");
-        public static final Production LEVEL_2_EXPR_834 = new Production(Nonterminal.LEVEL_2_EXPR, 3, "<Level2Expr> ::= <Level2Expr> <AddOp> <AddOperand>");
-        public static final Production UFEXPR_835 = new Production(Nonterminal.UFEXPR, 1, "<UFExpr> ::= <UFTerm>");
-        public static final Production UFEXPR_836 = new Production(Nonterminal.UFEXPR, 2, "<UFExpr> ::= <Sign> <UFTerm>");
-        public static final Production UFEXPR_837 = new Production(Nonterminal.UFEXPR, 3, "<UFExpr> ::= <UFExpr> <AddOp> <UFTerm>");
-        public static final Production LEVEL_3_EXPR_838 = new Production(Nonterminal.LEVEL_3_EXPR, 1, "<Level3Expr> ::= <Level2Expr>");
-        public static final Production LEVEL_3_EXPR_839 = new Production(Nonterminal.LEVEL_3_EXPR, 3, "<Level3Expr> ::= <Level3Expr> <ConcatOp> <Level2Expr>");
-        public static final Production CEXPR_840 = new Production(Nonterminal.CEXPR, 1, "<CExpr> ::= <CPrimary>");
-        public static final Production CEXPR_841 = new Production(Nonterminal.CEXPR, 3, "<CExpr> ::= <CExpr> <ConcatOp> <CPrimary>");
-        public static final Production LEVEL_4_EXPR_842 = new Production(Nonterminal.LEVEL_4_EXPR, 1, "<Level4Expr> ::= <Level3Expr>");
-        public static final Production LEVEL_4_EXPR_843 = new Production(Nonterminal.LEVEL_4_EXPR, 3, "<Level4Expr> ::= <Level3Expr> <RelOp> <Level3Expr>");
-        public static final Production AND_OPERAND_844 = new Production(Nonterminal.AND_OPERAND, 1, "<AndOperand> ::= <Level4Expr>");
-        public static final Production AND_OPERAND_845 = new Production(Nonterminal.AND_OPERAND, 2, "<AndOperand> ::= <NotOp> <Level4Expr>");
-        public static final Production OR_OPERAND_846 = new Production(Nonterminal.OR_OPERAND, 1, "<OrOperand> ::= <AndOperand>");
-        public static final Production OR_OPERAND_847 = new Production(Nonterminal.OR_OPERAND, 3, "<OrOperand> ::= <OrOperand> <AndOp> <AndOperand>");
-        public static final Production EQUIV_OPERAND_848 = new Production(Nonterminal.EQUIV_OPERAND, 1, "<EquivOperand> ::= <OrOperand>");
-        public static final Production EQUIV_OPERAND_849 = new Production(Nonterminal.EQUIV_OPERAND, 3, "<EquivOperand> ::= <EquivOperand> <OrOp> <OrOperand>");
-        public static final Production LEVEL_5_EXPR_850 = new Production(Nonterminal.LEVEL_5_EXPR, 1, "<Level5Expr> ::= <EquivOperand>");
-        public static final Production LEVEL_5_EXPR_851 = new Production(Nonterminal.LEVEL_5_EXPR, 3, "<Level5Expr> ::= <Level5Expr> <EquivOp> <EquivOperand>");
-        public static final Production EXPR_852 = new Production(Nonterminal.EXPR, 1, "<Expr> ::= <Level5Expr>");
-        public static final Production EXPR_853 = new Production(Nonterminal.EXPR, 3, "<Expr> ::= <Expr> <DefinedBinaryOp> <Level5Expr>");
-        public static final Production SFEXPR_LIST_854 = new Production(Nonterminal.SFEXPR_LIST, 5, "<SFExprList> ::= <SFExpr> T_COLON <Expr> T_COLON <Expr>");
-        public static final Production SFEXPR_LIST_855 = new Production(Nonterminal.SFEXPR_LIST, 4, "<SFExprList> ::= <SFExpr> T_COLON T_COLON <Expr>");
-        public static final Production SFEXPR_LIST_856 = new Production(Nonterminal.SFEXPR_LIST, 4, "<SFExprList> ::= T_COLON <Expr> T_COLON <Expr>");
-        public static final Production SFEXPR_LIST_857 = new Production(Nonterminal.SFEXPR_LIST, 3, "<SFExprList> ::= T_COLON T_COLON <Expr>");
-        public static final Production SFEXPR_LIST_858 = new Production(Nonterminal.SFEXPR_LIST, 1, "<SFExprList> ::= T_COLON");
-        public static final Production SFEXPR_LIST_859 = new Production(Nonterminal.SFEXPR_LIST, 2, "<SFExprList> ::= T_COLON <Expr>");
-        public static final Production SFEXPR_LIST_860 = new Production(Nonterminal.SFEXPR_LIST, 1, "<SFExprList> ::= <SFExpr>");
-        public static final Production SFEXPR_LIST_861 = new Production(Nonterminal.SFEXPR_LIST, 2, "<SFExprList> ::= <SFExpr> T_COLON");
-        public static final Production SFEXPR_LIST_862 = new Production(Nonterminal.SFEXPR_LIST, 3, "<SFExprList> ::= <SFExpr> T_COLON <Expr>");
-        public static final Production SFEXPR_LIST_863 = new Production(Nonterminal.SFEXPR_LIST, 3, "<SFExprList> ::= <SFExprList> T_COMMA <SectionSubscript>");
-        public static final Production SFEXPR_LIST_864 = new Production(Nonterminal.SFEXPR_LIST, 3, "<SFExprList> ::= <SFDummyArgNameList> T_COMMA T_COLON");
-        public static final Production SFEXPR_LIST_865 = new Production(Nonterminal.SFEXPR_LIST, 4, "<SFExprList> ::= <SFDummyArgNameList> T_COMMA T_COLON <Expr>");
-        public static final Production SFEXPR_LIST_866 = new Production(Nonterminal.SFEXPR_LIST, 3, "<SFExprList> ::= <SFDummyArgNameList> T_COMMA <SFExpr>");
-        public static final Production SFEXPR_LIST_867 = new Production(Nonterminal.SFEXPR_LIST, 4, "<SFExprList> ::= <SFDummyArgNameList> T_COMMA <SFExpr> T_COLON");
-        public static final Production SFEXPR_LIST_868 = new Production(Nonterminal.SFEXPR_LIST, 5, "<SFExprList> ::= <SFDummyArgNameList> T_COMMA <SFExpr> T_COLON <Expr>");
-        public static final Production ASSIGNMENT_STMT_869 = new Production(Nonterminal.ASSIGNMENT_STMT, 5, "<AssignmentStmt> ::= <LblDef> <Name> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_870 = new Production(Nonterminal.ASSIGNMENT_STMT, 8, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_871 = new Production(Nonterminal.ASSIGNMENT_STMT, 9, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN <SubstringRange> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_872 = new Production(Nonterminal.ASSIGNMENT_STMT, 9, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN <SubstringRange> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_873 = new Production(Nonterminal.ASSIGNMENT_STMT, 7, "<AssignmentStmt> ::= <LblDef> <Name> T_PERCENT <DataRef> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_874 = new Production(Nonterminal.ASSIGNMENT_STMT, 10, "<AssignmentStmt> ::= <LblDef> <Name> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_875 = new Production(Nonterminal.ASSIGNMENT_STMT, 11, "<AssignmentStmt> ::= <LblDef> <Name> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_876 = new Production(Nonterminal.ASSIGNMENT_STMT, 10, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN T_PERCENT <DataRef> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_877 = new Production(Nonterminal.ASSIGNMENT_STMT, 13, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_878 = new Production(Nonterminal.ASSIGNMENT_STMT, 14, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_879 = new Production(Nonterminal.ASSIGNMENT_STMT, 10, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN T_PERCENT <DataRef> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_880 = new Production(Nonterminal.ASSIGNMENT_STMT, 13, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_881 = new Production(Nonterminal.ASSIGNMENT_STMT, 14, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_882 = new Production(Nonterminal.ASSIGNMENT_STMT, 6, "<AssignmentStmt> ::= <LblDef> <Name> <ImageSelector> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_883 = new Production(Nonterminal.ASSIGNMENT_STMT, 9, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN <ImageSelector> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_884 = new Production(Nonterminal.ASSIGNMENT_STMT, 10, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN <ImageSelector> <SubstringRange> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_885 = new Production(Nonterminal.ASSIGNMENT_STMT, 10, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN <ImageSelector> <SubstringRange> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_886 = new Production(Nonterminal.ASSIGNMENT_STMT, 8, "<AssignmentStmt> ::= <LblDef> <Name> <ImageSelector> T_PERCENT <DataRef> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_887 = new Production(Nonterminal.ASSIGNMENT_STMT, 11, "<AssignmentStmt> ::= <LblDef> <Name> <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_888 = new Production(Nonterminal.ASSIGNMENT_STMT, 12, "<AssignmentStmt> ::= <LblDef> <Name> <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_889 = new Production(Nonterminal.ASSIGNMENT_STMT, 11, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_890 = new Production(Nonterminal.ASSIGNMENT_STMT, 14, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_891 = new Production(Nonterminal.ASSIGNMENT_STMT, 15, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_892 = new Production(Nonterminal.ASSIGNMENT_STMT, 11, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_893 = new Production(Nonterminal.ASSIGNMENT_STMT, 14, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN T_EQUALS <Expr> T_EOS");
-        public static final Production ASSIGNMENT_STMT_894 = new Production(Nonterminal.ASSIGNMENT_STMT, 15, "<AssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_LPAREN <SectionSubscriptList> T_RPAREN <SubstringRange> T_EQUALS <Expr> T_EOS");
-        public static final Production SFEXPR_895 = new Production(Nonterminal.SFEXPR, 1, "<SFExpr> ::= <SFTerm>");
-        public static final Production SFEXPR_896 = new Production(Nonterminal.SFEXPR, 2, "<SFExpr> ::= <Sign> <AddOperand>");
-        public static final Production SFEXPR_897 = new Production(Nonterminal.SFEXPR, 3, "<SFExpr> ::= <SFExpr> <AddOp> <AddOperand>");
-        public static final Production SFTERM_898 = new Production(Nonterminal.SFTERM, 1, "<SFTerm> ::= <SFFactor>");
-        public static final Production SFTERM_899 = new Production(Nonterminal.SFTERM, 3, "<SFTerm> ::= <SFTerm> <MultOp> <MultOperand>");
-        public static final Production SFFACTOR_900 = new Production(Nonterminal.SFFACTOR, 1, "<SFFactor> ::= <SFPrimary>");
-        public static final Production SFFACTOR_901 = new Production(Nonterminal.SFFACTOR, 3, "<SFFactor> ::= <SFPrimary> <PowerOp> <MultOperand>");
-        public static final Production SFPRIMARY_902 = new Production(Nonterminal.SFPRIMARY, 1, "<SFPrimary> ::= <ArrayConstructor>");
-        public static final Production SFPRIMARY_903 = new Production(Nonterminal.SFPRIMARY, 1, "<SFPrimary> ::= T_ICON");
-        public static final Production SFPRIMARY_904 = new Production(Nonterminal.SFPRIMARY, 1, "<SFPrimary> ::= <SFVarName>");
-        public static final Production SFPRIMARY_905 = new Production(Nonterminal.SFPRIMARY, 1, "<SFPrimary> ::= <SFDataRef>");
-        public static final Production SFPRIMARY_906 = new Production(Nonterminal.SFPRIMARY, 1, "<SFPrimary> ::= <FunctionReference>");
-        public static final Production SFPRIMARY_907 = new Production(Nonterminal.SFPRIMARY, 3, "<SFPrimary> ::= T_LPAREN <Expr> T_RPAREN");
-        public static final Production POINTER_ASSIGNMENT_STMT_908 = new Production(Nonterminal.POINTER_ASSIGNMENT_STMT, 5, "<PointerAssignmentStmt> ::= <LblDef> <Name> T_EQGREATERTHAN <Target> T_EOS");
-        public static final Production POINTER_ASSIGNMENT_STMT_909 = new Production(Nonterminal.POINTER_ASSIGNMENT_STMT, 7, "<PointerAssignmentStmt> ::= <LblDef> <Name> T_PERCENT <DataRef> T_EQGREATERTHAN <Target> T_EOS");
-        public static final Production POINTER_ASSIGNMENT_STMT_910 = new Production(Nonterminal.POINTER_ASSIGNMENT_STMT, 10, "<PointerAssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN T_PERCENT <DataRef> T_EQGREATERTHAN <Target> T_EOS");
-        public static final Production POINTER_ASSIGNMENT_STMT_911 = new Production(Nonterminal.POINTER_ASSIGNMENT_STMT, 10, "<PointerAssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN T_PERCENT <DataRef> T_EQGREATERTHAN <Target> T_EOS");
-        public static final Production POINTER_ASSIGNMENT_STMT_912 = new Production(Nonterminal.POINTER_ASSIGNMENT_STMT, 6, "<PointerAssignmentStmt> ::= <LblDef> <Name> <ImageSelector> T_EQGREATERTHAN <Target> T_EOS");
-        public static final Production POINTER_ASSIGNMENT_STMT_913 = new Production(Nonterminal.POINTER_ASSIGNMENT_STMT, 8, "<PointerAssignmentStmt> ::= <LblDef> <Name> <ImageSelector> T_PERCENT <DataRef> T_EQGREATERTHAN <Target> T_EOS");
-        public static final Production POINTER_ASSIGNMENT_STMT_914 = new Production(Nonterminal.POINTER_ASSIGNMENT_STMT, 11, "<PointerAssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_EQGREATERTHAN <Target> T_EOS");
-        public static final Production POINTER_ASSIGNMENT_STMT_915 = new Production(Nonterminal.POINTER_ASSIGNMENT_STMT, 11, "<PointerAssignmentStmt> ::= <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN <ImageSelector> T_PERCENT <DataRef> T_EQGREATERTHAN <Target> T_EOS");
-        public static final Production TARGET_916 = new Production(Nonterminal.TARGET, 1, "<Target> ::= <Expr>");
-        public static final Production TARGET_917 = new Production(Nonterminal.TARGET, 3, "<Target> ::= T_NULL T_LPAREN T_RPAREN");
-        public static final Production WHERE_STMT_918 = new Production(Nonterminal.WHERE_STMT, 6, "<WhereStmt> ::= <LblDef> T_WHERE T_LPAREN <MaskExpr> T_RPAREN <AssignmentStmt>");
-        public static final Production WHERE_CONSTRUCT_919 = new Production(Nonterminal.WHERE_CONSTRUCT, 2, "<WhereConstruct> ::= <WhereConstructStmt> <WhereRange>");
-        public static final Production WHERE_RANGE_920 = new Production(Nonterminal.WHERE_RANGE, 1, "<WhereRange> ::= <EndWhereStmt>");
-        public static final Production WHERE_RANGE_921 = new Production(Nonterminal.WHERE_RANGE, 2, "<WhereRange> ::= <WhereBodyConstructBlock> <EndWhereStmt>");
-        public static final Production WHERE_RANGE_922 = new Production(Nonterminal.WHERE_RANGE, 1, "<WhereRange> ::= <MaskedElseWhereConstruct>");
-        public static final Production WHERE_RANGE_923 = new Production(Nonterminal.WHERE_RANGE, 2, "<WhereRange> ::= <WhereBodyConstructBlock> <MaskedElseWhereConstruct>");
-        public static final Production WHERE_RANGE_924 = new Production(Nonterminal.WHERE_RANGE, 1, "<WhereRange> ::= <ElseWhereConstruct>");
-        public static final Production WHERE_RANGE_925 = new Production(Nonterminal.WHERE_RANGE, 2, "<WhereRange> ::= <WhereBodyConstructBlock> <ElseWhereConstruct>");
-        public static final Production MASKED_ELSE_WHERE_CONSTRUCT_926 = new Production(Nonterminal.MASKED_ELSE_WHERE_CONSTRUCT, 2, "<MaskedElseWhereConstruct> ::= <MaskedElseWhereStmt> <WhereRange>");
-        public static final Production ELSE_WHERE_CONSTRUCT_927 = new Production(Nonterminal.ELSE_WHERE_CONSTRUCT, 2, "<ElseWhereConstruct> ::= <ElseWhereStmt> <ElseWherePart>");
-        public static final Production ELSE_WHERE_PART_928 = new Production(Nonterminal.ELSE_WHERE_PART, 1, "<ElseWherePart> ::= <EndWhereStmt>");
-        public static final Production ELSE_WHERE_PART_929 = new Production(Nonterminal.ELSE_WHERE_PART, 2, "<ElseWherePart> ::= <WhereBodyConstructBlock> <EndWhereStmt>");
-        public static final Production WHERE_BODY_CONSTRUCT_BLOCK_930 = new Production(Nonterminal.WHERE_BODY_CONSTRUCT_BLOCK, 1, "<WhereBodyConstructBlock> ::= <WhereBodyConstruct>");
-        public static final Production WHERE_BODY_CONSTRUCT_BLOCK_931 = new Production(Nonterminal.WHERE_BODY_CONSTRUCT_BLOCK, 2, "<WhereBodyConstructBlock> ::= <WhereBodyConstructBlock> <WhereBodyConstruct>");
-        public static final Production WHERE_CONSTRUCT_STMT_932 = new Production(Nonterminal.WHERE_CONSTRUCT_STMT, 8, "<WhereConstructStmt> ::= <LblDef> <Name> T_COLON T_WHERE T_LPAREN <MaskExpr> T_RPAREN T_EOS");
-        public static final Production WHERE_CONSTRUCT_STMT_933 = new Production(Nonterminal.WHERE_CONSTRUCT_STMT, 6, "<WhereConstructStmt> ::= <LblDef> T_WHERE T_LPAREN <MaskExpr> T_RPAREN T_EOS");
-        public static final Production WHERE_BODY_CONSTRUCT_934 = new Production(Nonterminal.WHERE_BODY_CONSTRUCT, 1, "<WhereBodyConstruct> ::= <AssignmentStmt>");
-        public static final Production WHERE_BODY_CONSTRUCT_935 = new Production(Nonterminal.WHERE_BODY_CONSTRUCT, 1, "<WhereBodyConstruct> ::= <WhereStmt>");
-        public static final Production WHERE_BODY_CONSTRUCT_936 = new Production(Nonterminal.WHERE_BODY_CONSTRUCT, 1, "<WhereBodyConstruct> ::= <WhereConstruct>");
-        public static final Production MASK_EXPR_937 = new Production(Nonterminal.MASK_EXPR, 1, "<MaskExpr> ::= <Expr>");
-        public static final Production MASKED_ELSE_WHERE_STMT_938 = new Production(Nonterminal.MASKED_ELSE_WHERE_STMT, 6, "<MaskedElseWhereStmt> ::= <LblDef> T_ELSEWHERE T_LPAREN <MaskExpr> T_RPAREN T_EOS");
-        public static final Production MASKED_ELSE_WHERE_STMT_939 = new Production(Nonterminal.MASKED_ELSE_WHERE_STMT, 7, "<MaskedElseWhereStmt> ::= <LblDef> T_ELSEWHERE T_LPAREN <MaskExpr> T_RPAREN <EndName> T_EOS");
-        public static final Production MASKED_ELSE_WHERE_STMT_940 = new Production(Nonterminal.MASKED_ELSE_WHERE_STMT, 7, "<MaskedElseWhereStmt> ::= <LblDef> T_ELSE T_WHERE T_LPAREN <MaskExpr> T_RPAREN T_EOS");
-        public static final Production MASKED_ELSE_WHERE_STMT_941 = new Production(Nonterminal.MASKED_ELSE_WHERE_STMT, 8, "<MaskedElseWhereStmt> ::= <LblDef> T_ELSE T_WHERE T_LPAREN <MaskExpr> T_RPAREN <EndName> T_EOS");
-        public static final Production ELSE_WHERE_STMT_942 = new Production(Nonterminal.ELSE_WHERE_STMT, 3, "<ElseWhereStmt> ::= <LblDef> T_ELSEWHERE T_EOS");
-        public static final Production ELSE_WHERE_STMT_943 = new Production(Nonterminal.ELSE_WHERE_STMT, 4, "<ElseWhereStmt> ::= <LblDef> T_ELSEWHERE <EndName> T_EOS");
-        public static final Production ELSE_WHERE_STMT_944 = new Production(Nonterminal.ELSE_WHERE_STMT, 4, "<ElseWhereStmt> ::= <LblDef> T_ELSE T_WHERE T_EOS");
-        public static final Production ELSE_WHERE_STMT_945 = new Production(Nonterminal.ELSE_WHERE_STMT, 5, "<ElseWhereStmt> ::= <LblDef> T_ELSE T_WHERE <EndName> T_EOS");
-        public static final Production END_WHERE_STMT_946 = new Production(Nonterminal.END_WHERE_STMT, 3, "<EndWhereStmt> ::= <LblDef> T_ENDWHERE T_EOS");
-        public static final Production END_WHERE_STMT_947 = new Production(Nonterminal.END_WHERE_STMT, 4, "<EndWhereStmt> ::= <LblDef> T_ENDWHERE <EndName> T_EOS");
-        public static final Production END_WHERE_STMT_948 = new Production(Nonterminal.END_WHERE_STMT, 4, "<EndWhereStmt> ::= <LblDef> T_END T_WHERE T_EOS");
-        public static final Production END_WHERE_STMT_949 = new Production(Nonterminal.END_WHERE_STMT, 5, "<EndWhereStmt> ::= <LblDef> T_END T_WHERE <EndName> T_EOS");
-        public static final Production FORALL_CONSTRUCT_950 = new Production(Nonterminal.FORALL_CONSTRUCT, 2, "<ForallConstruct> ::= <ForallConstructStmt> <EndForallStmt>");
-        public static final Production FORALL_CONSTRUCT_951 = new Production(Nonterminal.FORALL_CONSTRUCT, 3, "<ForallConstruct> ::= <ForallConstructStmt> <ForallBody> <EndForallStmt>");
-        public static final Production FORALL_BODY_952 = new Production(Nonterminal.FORALL_BODY, 1, "<ForallBody> ::= <ForallBodyConstruct>");
-        public static final Production FORALL_BODY_953 = new Production(Nonterminal.FORALL_BODY, 2, "<ForallBody> ::= <ForallBody> <ForallBodyConstruct>");
-        public static final Production FORALL_CONSTRUCT_STMT_954 = new Production(Nonterminal.FORALL_CONSTRUCT_STMT, 4, "<ForallConstructStmt> ::= <LblDef> T_FORALL <ForallHeader> T_EOS");
-        public static final Production FORALL_CONSTRUCT_STMT_955 = new Production(Nonterminal.FORALL_CONSTRUCT_STMT, 6, "<ForallConstructStmt> ::= <LblDef> <Name> T_COLON T_FORALL <ForallHeader> T_EOS");
-        public static final Production FORALL_HEADER_956 = new Production(Nonterminal.FORALL_HEADER, 3, "<ForallHeader> ::= T_LPAREN <ForallTripletSpecList> T_RPAREN");
-        public static final Production FORALL_HEADER_957 = new Production(Nonterminal.FORALL_HEADER, 5, "<ForallHeader> ::= T_LPAREN <ForallTripletSpecList> T_COMMA <ScalarMaskExpr> T_RPAREN");
-        public static final Production SCALAR_MASK_EXPR_958 = new Production(Nonterminal.SCALAR_MASK_EXPR, 1, "<ScalarMaskExpr> ::= <MaskExpr>");
-        public static final Production FORALL_TRIPLET_SPEC_LIST_959 = new Production(Nonterminal.FORALL_TRIPLET_SPEC_LIST, 5, "<ForallTripletSpecList> ::= <Name> T_EQUALS <Subscript> T_COLON <Subscript>");
-        public static final Production FORALL_TRIPLET_SPEC_LIST_960 = new Production(Nonterminal.FORALL_TRIPLET_SPEC_LIST, 7, "<ForallTripletSpecList> ::= <Name> T_EQUALS <Subscript> T_COLON <Subscript> T_COLON <Expr>");
-        public static final Production FORALL_TRIPLET_SPEC_LIST_961 = new Production(Nonterminal.FORALL_TRIPLET_SPEC_LIST, 7, "<ForallTripletSpecList> ::= <ForallTripletSpecList> T_COMMA <Name> T_EQUALS <Subscript> T_COLON <Subscript>");
-        public static final Production FORALL_TRIPLET_SPEC_LIST_962 = new Production(Nonterminal.FORALL_TRIPLET_SPEC_LIST, 9, "<ForallTripletSpecList> ::= <ForallTripletSpecList> T_COMMA <Name> T_EQUALS <Subscript> T_COLON <Subscript> T_COLON <Expr>");
-        public static final Production FORALL_BODY_CONSTRUCT_963 = new Production(Nonterminal.FORALL_BODY_CONSTRUCT, 1, "<ForallBodyConstruct> ::= <AssignmentStmt>");
-        public static final Production FORALL_BODY_CONSTRUCT_964 = new Production(Nonterminal.FORALL_BODY_CONSTRUCT, 1, "<ForallBodyConstruct> ::= <PointerAssignmentStmt>");
-        public static final Production FORALL_BODY_CONSTRUCT_965 = new Production(Nonterminal.FORALL_BODY_CONSTRUCT, 1, "<ForallBodyConstruct> ::= <WhereStmt>");
-        public static final Production FORALL_BODY_CONSTRUCT_966 = new Production(Nonterminal.FORALL_BODY_CONSTRUCT, 1, "<ForallBodyConstruct> ::= <WhereConstruct>");
-        public static final Production FORALL_BODY_CONSTRUCT_967 = new Production(Nonterminal.FORALL_BODY_CONSTRUCT, 1, "<ForallBodyConstruct> ::= <ForallConstruct>");
-        public static final Production FORALL_BODY_CONSTRUCT_968 = new Production(Nonterminal.FORALL_BODY_CONSTRUCT, 1, "<ForallBodyConstruct> ::= <ForallStmt>");
-        public static final Production END_FORALL_STMT_969 = new Production(Nonterminal.END_FORALL_STMT, 4, "<EndForallStmt> ::= <LblDef> T_END T_FORALL T_EOS");
-        public static final Production END_FORALL_STMT_970 = new Production(Nonterminal.END_FORALL_STMT, 5, "<EndForallStmt> ::= <LblDef> T_END T_FORALL <EndName> T_EOS");
-        public static final Production END_FORALL_STMT_971 = new Production(Nonterminal.END_FORALL_STMT, 3, "<EndForallStmt> ::= <LblDef> T_ENDFORALL T_EOS");
-        public static final Production END_FORALL_STMT_972 = new Production(Nonterminal.END_FORALL_STMT, 4, "<EndForallStmt> ::= <LblDef> T_ENDFORALL <EndName> T_EOS");
-        public static final Production FORALL_STMT_973 = new Production(Nonterminal.FORALL_STMT, 4, "<ForallStmt> ::= <LblDef> T_FORALL <ForallHeader> <AssignmentStmt>");
-        public static final Production FORALL_STMT_974 = new Production(Nonterminal.FORALL_STMT, 4, "<ForallStmt> ::= <LblDef> T_FORALL <ForallHeader> <PointerAssignmentStmt>");
-        public static final Production IF_CONSTRUCT_975 = new Production(Nonterminal.IF_CONSTRUCT, 2, "<IfConstruct> ::= <IfThenStmt> <ThenPart>");
-        public static final Production THEN_PART_976 = new Production(Nonterminal.THEN_PART, 1, "<ThenPart> ::= <EndIfStmt>");
-        public static final Production THEN_PART_977 = new Production(Nonterminal.THEN_PART, 2, "<ThenPart> ::= <ConditionalBody> <EndIfStmt>");
-        public static final Production THEN_PART_978 = new Production(Nonterminal.THEN_PART, 1, "<ThenPart> ::= <ElseIfConstruct>");
-        public static final Production THEN_PART_979 = new Production(Nonterminal.THEN_PART, 2, "<ThenPart> ::= <ConditionalBody> <ElseIfConstruct>");
-        public static final Production THEN_PART_980 = new Production(Nonterminal.THEN_PART, 1, "<ThenPart> ::= <ElseConstruct>");
-        public static final Production THEN_PART_981 = new Production(Nonterminal.THEN_PART, 2, "<ThenPart> ::= <ConditionalBody> <ElseConstruct>");
-        public static final Production ELSE_IF_CONSTRUCT_982 = new Production(Nonterminal.ELSE_IF_CONSTRUCT, 2, "<ElseIfConstruct> ::= <ElseIfStmt> <ThenPart>");
-        public static final Production ELSE_CONSTRUCT_983 = new Production(Nonterminal.ELSE_CONSTRUCT, 2, "<ElseConstruct> ::= <ElseStmt> <ElsePart>");
-        public static final Production ELSE_PART_984 = new Production(Nonterminal.ELSE_PART, 1, "<ElsePart> ::= <EndIfStmt>");
-        public static final Production ELSE_PART_985 = new Production(Nonterminal.ELSE_PART, 2, "<ElsePart> ::= <ConditionalBody> <EndIfStmt>");
-        public static final Production CONDITIONAL_BODY_986 = new Production(Nonterminal.CONDITIONAL_BODY, 1, "<ConditionalBody> ::= <ExecutionPartConstruct>");
-        public static final Production CONDITIONAL_BODY_987 = new Production(Nonterminal.CONDITIONAL_BODY, 2, "<ConditionalBody> ::= <ConditionalBody> <ExecutionPartConstruct>");
-        public static final Production IF_THEN_STMT_988 = new Production(Nonterminal.IF_THEN_STMT, 7, "<IfThenStmt> ::= <LblDef> T_IF T_LPAREN <Expr> T_RPAREN T_THEN T_EOS");
-        public static final Production IF_THEN_STMT_989 = new Production(Nonterminal.IF_THEN_STMT, 9, "<IfThenStmt> ::= <LblDef> <Name> T_COLON T_IF T_LPAREN <Expr> T_RPAREN T_THEN T_EOS");
-        public static final Production IF_THEN_STMT_990 = new Production(Nonterminal.IF_THEN_STMT, 4, "<IfThenStmt> ::= <LblDef> T_IF <IfThenError> T_EOS");
-        public static final Production IF_THEN_STMT_991 = new Production(Nonterminal.IF_THEN_STMT, 6, "<IfThenStmt> ::= <LblDef> <Name> T_COLON T_IF <IfThenError> T_EOS");
-        public static final Production ELSE_IF_STMT_992 = new Production(Nonterminal.ELSE_IF_STMT, 7, "<ElseIfStmt> ::= <LblDef> T_ELSEIF T_LPAREN <Expr> T_RPAREN T_THEN T_EOS");
-        public static final Production ELSE_IF_STMT_993 = new Production(Nonterminal.ELSE_IF_STMT, 8, "<ElseIfStmt> ::= <LblDef> T_ELSEIF T_LPAREN <Expr> T_RPAREN T_THEN <EndName> T_EOS");
-        public static final Production ELSE_IF_STMT_994 = new Production(Nonterminal.ELSE_IF_STMT, 8, "<ElseIfStmt> ::= <LblDef> T_ELSE T_IF T_LPAREN <Expr> T_RPAREN T_THEN T_EOS");
-        public static final Production ELSE_IF_STMT_995 = new Production(Nonterminal.ELSE_IF_STMT, 9, "<ElseIfStmt> ::= <LblDef> T_ELSE T_IF T_LPAREN <Expr> T_RPAREN T_THEN <EndName> T_EOS");
-        public static final Production ELSE_STMT_996 = new Production(Nonterminal.ELSE_STMT, 3, "<ElseStmt> ::= <LblDef> T_ELSE T_EOS");
-        public static final Production ELSE_STMT_997 = new Production(Nonterminal.ELSE_STMT, 4, "<ElseStmt> ::= <LblDef> T_ELSE <EndName> T_EOS");
-        public static final Production END_IF_STMT_998 = new Production(Nonterminal.END_IF_STMT, 3, "<EndIfStmt> ::= <LblDef> T_ENDIF T_EOS");
-        public static final Production END_IF_STMT_999 = new Production(Nonterminal.END_IF_STMT, 4, "<EndIfStmt> ::= <LblDef> T_ENDIF <EndName> T_EOS");
-        public static final Production END_IF_STMT_1000 = new Production(Nonterminal.END_IF_STMT, 4, "<EndIfStmt> ::= <LblDef> T_END T_IF T_EOS");
-        public static final Production END_IF_STMT_1001 = new Production(Nonterminal.END_IF_STMT, 5, "<EndIfStmt> ::= <LblDef> T_END T_IF <EndName> T_EOS");
-        public static final Production IF_STMT_1002 = new Production(Nonterminal.IF_STMT, 6, "<IfStmt> ::= <LblDef> T_IF T_LPAREN <Expr> T_RPAREN <ActionStmt>");
-        public static final Production BLOCK_CONSTRUCT_1003 = new Production(Nonterminal.BLOCK_CONSTRUCT, 2, "<BlockConstruct> ::= <BlockStmt> <EndBlockStmt>");
-        public static final Production BLOCK_CONSTRUCT_1004 = new Production(Nonterminal.BLOCK_CONSTRUCT, 3, "<BlockConstruct> ::= <BlockStmt> <Body> <EndBlockStmt>");
-        public static final Production BLOCK_STMT_1005 = new Production(Nonterminal.BLOCK_STMT, 3, "<BlockStmt> ::= <LblDef> T_BLOCK T_EOS");
-        public static final Production BLOCK_STMT_1006 = new Production(Nonterminal.BLOCK_STMT, 5, "<BlockStmt> ::= <LblDef> <Name> T_COLON T_BLOCK T_EOS");
-        public static final Production END_BLOCK_STMT_1007 = new Production(Nonterminal.END_BLOCK_STMT, 3, "<EndBlockStmt> ::= <LblDef> T_ENDBLOCK T_EOS");
-        public static final Production END_BLOCK_STMT_1008 = new Production(Nonterminal.END_BLOCK_STMT, 4, "<EndBlockStmt> ::= <LblDef> T_ENDBLOCK <EndName> T_EOS");
-        public static final Production END_BLOCK_STMT_1009 = new Production(Nonterminal.END_BLOCK_STMT, 4, "<EndBlockStmt> ::= <LblDef> T_END T_BLOCK T_EOS");
-        public static final Production END_BLOCK_STMT_1010 = new Production(Nonterminal.END_BLOCK_STMT, 5, "<EndBlockStmt> ::= <LblDef> T_END T_BLOCK <EndName> T_EOS");
-        public static final Production CRITICAL_CONSTRUCT_1011 = new Production(Nonterminal.CRITICAL_CONSTRUCT, 2, "<CriticalConstruct> ::= <CriticalStmt> <EndCriticalStmt>");
-        public static final Production CRITICAL_CONSTRUCT_1012 = new Production(Nonterminal.CRITICAL_CONSTRUCT, 3, "<CriticalConstruct> ::= <CriticalStmt> <Body> <EndCriticalStmt>");
-        public static final Production CRITICAL_STMT_1013 = new Production(Nonterminal.CRITICAL_STMT, 3, "<CriticalStmt> ::= <LblDef> T_CRITICAL T_EOS");
-        public static final Production CRITICAL_STMT_1014 = new Production(Nonterminal.CRITICAL_STMT, 5, "<CriticalStmt> ::= <LblDef> <Name> T_COLON T_CRITICAL T_EOS");
-        public static final Production END_CRITICAL_STMT_1015 = new Production(Nonterminal.END_CRITICAL_STMT, 3, "<EndCriticalStmt> ::= <LblDef> T_ENDCRITICAL T_EOS");
-        public static final Production END_CRITICAL_STMT_1016 = new Production(Nonterminal.END_CRITICAL_STMT, 4, "<EndCriticalStmt> ::= <LblDef> T_ENDCRITICAL <EndName> T_EOS");
-        public static final Production END_CRITICAL_STMT_1017 = new Production(Nonterminal.END_CRITICAL_STMT, 4, "<EndCriticalStmt> ::= <LblDef> T_END T_CRITICAL T_EOS");
-        public static final Production END_CRITICAL_STMT_1018 = new Production(Nonterminal.END_CRITICAL_STMT, 5, "<EndCriticalStmt> ::= <LblDef> T_END T_CRITICAL <EndName> T_EOS");
-        public static final Production CASE_CONSTRUCT_1019 = new Production(Nonterminal.CASE_CONSTRUCT, 2, "<CaseConstruct> ::= <SelectCaseStmt> <SelectCaseRange>");
-        public static final Production SELECT_CASE_RANGE_1020 = new Production(Nonterminal.SELECT_CASE_RANGE, 2, "<SelectCaseRange> ::= <SelectCaseBody> <EndSelectStmt>");
-        public static final Production SELECT_CASE_RANGE_1021 = new Production(Nonterminal.SELECT_CASE_RANGE, 1, "<SelectCaseRange> ::= <EndSelectStmt>");
-        public static final Production SELECT_CASE_BODY_1022 = new Production(Nonterminal.SELECT_CASE_BODY, 1, "<SelectCaseBody> ::= <CaseBodyConstruct>");
-        public static final Production SELECT_CASE_BODY_1023 = new Production(Nonterminal.SELECT_CASE_BODY, 2, "<SelectCaseBody> ::= <SelectCaseBody> <CaseBodyConstruct>");
-        public static final Production CASE_BODY_CONSTRUCT_1024 = new Production(Nonterminal.CASE_BODY_CONSTRUCT, 1, "<CaseBodyConstruct> ::= <CaseStmt>");
-        public static final Production CASE_BODY_CONSTRUCT_1025 = new Production(Nonterminal.CASE_BODY_CONSTRUCT, 1, "<CaseBodyConstruct> ::= <ExecutionPartConstruct>");
-        public static final Production SELECT_CASE_STMT_1026 = new Production(Nonterminal.SELECT_CASE_STMT, 8, "<SelectCaseStmt> ::= <LblDef> <Name> T_COLON T_SELECTCASE T_LPAREN <Expr> T_RPAREN T_EOS");
-        public static final Production SELECT_CASE_STMT_1027 = new Production(Nonterminal.SELECT_CASE_STMT, 6, "<SelectCaseStmt> ::= <LblDef> T_SELECTCASE T_LPAREN <Expr> T_RPAREN T_EOS");
-        public static final Production SELECT_CASE_STMT_1028 = new Production(Nonterminal.SELECT_CASE_STMT, 9, "<SelectCaseStmt> ::= <LblDef> <Name> T_COLON T_SELECT T_CASE T_LPAREN <Expr> T_RPAREN T_EOS");
-        public static final Production SELECT_CASE_STMT_1029 = new Production(Nonterminal.SELECT_CASE_STMT, 7, "<SelectCaseStmt> ::= <LblDef> T_SELECT T_CASE T_LPAREN <Expr> T_RPAREN T_EOS");
-        public static final Production CASE_STMT_1030 = new Production(Nonterminal.CASE_STMT, 4, "<CaseStmt> ::= <LblDef> T_CASE <CaseSelector> T_EOS");
-        public static final Production CASE_STMT_1031 = new Production(Nonterminal.CASE_STMT, 5, "<CaseStmt> ::= <LblDef> T_CASE <CaseSelector> <Name> T_EOS");
-        public static final Production END_SELECT_STMT_1032 = new Production(Nonterminal.END_SELECT_STMT, 3, "<EndSelectStmt> ::= <LblDef> T_ENDSELECT T_EOS");
-        public static final Production END_SELECT_STMT_1033 = new Production(Nonterminal.END_SELECT_STMT, 4, "<EndSelectStmt> ::= <LblDef> T_ENDSELECT <EndName> T_EOS");
-        public static final Production END_SELECT_STMT_1034 = new Production(Nonterminal.END_SELECT_STMT, 4, "<EndSelectStmt> ::= <LblDef> T_ENDBEFORESELECT T_SELECT T_EOS");
-        public static final Production END_SELECT_STMT_1035 = new Production(Nonterminal.END_SELECT_STMT, 5, "<EndSelectStmt> ::= <LblDef> T_ENDBEFORESELECT T_SELECT <EndName> T_EOS");
-        public static final Production CASE_SELECTOR_1036 = new Production(Nonterminal.CASE_SELECTOR, 3, "<CaseSelector> ::= T_LPAREN <CaseValueRangeList> T_RPAREN");
-        public static final Production CASE_SELECTOR_1037 = new Production(Nonterminal.CASE_SELECTOR, 1, "<CaseSelector> ::= T_DEFAULT");
-        public static final Production CASE_VALUE_RANGE_LIST_1038 = new Production(Nonterminal.CASE_VALUE_RANGE_LIST, 1, "<CaseValueRangeList> ::= <CaseValueRange>");
-        public static final Production CASE_VALUE_RANGE_LIST_1039 = new Production(Nonterminal.CASE_VALUE_RANGE_LIST, 3, "<CaseValueRangeList> ::= <CaseValueRangeList> T_COMMA <CaseValueRange>");
-        public static final Production CASE_VALUE_RANGE_1040 = new Production(Nonterminal.CASE_VALUE_RANGE, 1, "<CaseValueRange> ::= <Expr>");
-        public static final Production CASE_VALUE_RANGE_1041 = new Production(Nonterminal.CASE_VALUE_RANGE, 2, "<CaseValueRange> ::= <Expr> T_COLON");
-        public static final Production CASE_VALUE_RANGE_1042 = new Production(Nonterminal.CASE_VALUE_RANGE, 2, "<CaseValueRange> ::= T_COLON <Expr>");
-        public static final Production CASE_VALUE_RANGE_1043 = new Production(Nonterminal.CASE_VALUE_RANGE, 3, "<CaseValueRange> ::= <Expr> T_COLON <Expr>");
-        public static final Production ASSOCIATE_CONSTRUCT_1044 = new Production(Nonterminal.ASSOCIATE_CONSTRUCT, 3, "<AssociateConstruct> ::= <AssociateStmt> <AssociateBody> <EndAssociateStmt>");
-        public static final Production ASSOCIATE_CONSTRUCT_1045 = new Production(Nonterminal.ASSOCIATE_CONSTRUCT, 2, "<AssociateConstruct> ::= <AssociateStmt> <EndAssociateStmt>");
-        public static final Production ASSOCIATE_STMT_1046 = new Production(Nonterminal.ASSOCIATE_STMT, 8, "<AssociateStmt> ::= <LblDef> <Name> T_COLON T_ASSOCIATE T_LPAREN <AssociationList> T_RPAREN T_EOS");
-        public static final Production ASSOCIATE_STMT_1047 = new Production(Nonterminal.ASSOCIATE_STMT, 5, "<AssociateStmt> ::= T_ASSOCIATE T_LPAREN <AssociationList> T_RPAREN T_EOS");
-        public static final Production ASSOCIATION_LIST_1048 = new Production(Nonterminal.ASSOCIATION_LIST, 1, "<AssociationList> ::= <Association>");
-        public static final Production ASSOCIATION_LIST_1049 = new Production(Nonterminal.ASSOCIATION_LIST, 3, "<AssociationList> ::= <AssociationList> T_COMMA <Association>");
-        public static final Production ASSOCIATION_1050 = new Production(Nonterminal.ASSOCIATION, 3, "<Association> ::= T_IDENT T_EQGREATERTHAN <Selector>");
-        public static final Production SELECTOR_1051 = new Production(Nonterminal.SELECTOR, 1, "<Selector> ::= <Expr>");
-        public static final Production ASSOCIATE_BODY_1052 = new Production(Nonterminal.ASSOCIATE_BODY, 1, "<AssociateBody> ::= <ExecutionPartConstruct>");
-        public static final Production ASSOCIATE_BODY_1053 = new Production(Nonterminal.ASSOCIATE_BODY, 2, "<AssociateBody> ::= <AssociateBody> <ExecutionPartConstruct>");
-        public static final Production END_ASSOCIATE_STMT_1054 = new Production(Nonterminal.END_ASSOCIATE_STMT, 4, "<EndAssociateStmt> ::= <LblDef> T_END T_ASSOCIATE T_EOS");
-        public static final Production END_ASSOCIATE_STMT_1055 = new Production(Nonterminal.END_ASSOCIATE_STMT, 5, "<EndAssociateStmt> ::= <LblDef> T_END T_ASSOCIATE T_IDENT T_EOS");
-        public static final Production SELECT_TYPE_CONSTRUCT_1056 = new Production(Nonterminal.SELECT_TYPE_CONSTRUCT, 3, "<SelectTypeConstruct> ::= <SelectTypeStmt> <SelectTypeBody> <EndSelectTypeStmt>");
-        public static final Production SELECT_TYPE_CONSTRUCT_1057 = new Production(Nonterminal.SELECT_TYPE_CONSTRUCT, 2, "<SelectTypeConstruct> ::= <SelectTypeStmt> <EndSelectTypeStmt>");
-        public static final Production SELECT_TYPE_BODY_1058 = new Production(Nonterminal.SELECT_TYPE_BODY, 2, "<SelectTypeBody> ::= <TypeGuardStmt> <TypeGuardBlock>");
-        public static final Production SELECT_TYPE_BODY_1059 = new Production(Nonterminal.SELECT_TYPE_BODY, 3, "<SelectTypeBody> ::= <SelectTypeBody> <TypeGuardStmt> <TypeGuardBlock>");
-        public static final Production TYPE_GUARD_BLOCK_1060 = new Production(Nonterminal.TYPE_GUARD_BLOCK, 0, "<TypeGuardBlock> ::= (empty)");
-        public static final Production TYPE_GUARD_BLOCK_1061 = new Production(Nonterminal.TYPE_GUARD_BLOCK, 2, "<TypeGuardBlock> ::= <TypeGuardBlock> <ExecutionPartConstruct>");
-        public static final Production SELECT_TYPE_STMT_1062 = new Production(Nonterminal.SELECT_TYPE_STMT, 11, "<SelectTypeStmt> ::= <LblDef> <Name> T_COLON T_SELECT T_TYPE T_LPAREN T_IDENT T_EQGREATERTHAN <Selector> T_RPAREN T_EOS");
-        public static final Production SELECT_TYPE_STMT_1063 = new Production(Nonterminal.SELECT_TYPE_STMT, 9, "<SelectTypeStmt> ::= <LblDef> <Name> T_COLON T_SELECT T_TYPE T_LPAREN <Selector> T_RPAREN T_EOS");
-        public static final Production SELECT_TYPE_STMT_1064 = new Production(Nonterminal.SELECT_TYPE_STMT, 9, "<SelectTypeStmt> ::= <LblDef> T_SELECT T_TYPE T_LPAREN T_IDENT T_EQGREATERTHAN <Selector> T_RPAREN T_EOS");
-        public static final Production SELECT_TYPE_STMT_1065 = new Production(Nonterminal.SELECT_TYPE_STMT, 7, "<SelectTypeStmt> ::= <LblDef> T_SELECT T_TYPE T_LPAREN <Selector> T_RPAREN T_EOS");
-        public static final Production TYPE_GUARD_STMT_1066 = new Production(Nonterminal.TYPE_GUARD_STMT, 6, "<TypeGuardStmt> ::= T_TYPE T_IS T_LPAREN <TypeSpecNoPrefix> T_RPAREN T_EOS");
-        public static final Production TYPE_GUARD_STMT_1067 = new Production(Nonterminal.TYPE_GUARD_STMT, 7, "<TypeGuardStmt> ::= T_TYPE T_IS T_LPAREN <TypeSpecNoPrefix> T_RPAREN T_IDENT T_EOS");
-        public static final Production TYPE_GUARD_STMT_1068 = new Production(Nonterminal.TYPE_GUARD_STMT, 6, "<TypeGuardStmt> ::= T_CLASS T_IS T_LPAREN <TypeSpecNoPrefix> T_RPAREN T_EOS");
-        public static final Production TYPE_GUARD_STMT_1069 = new Production(Nonterminal.TYPE_GUARD_STMT, 7, "<TypeGuardStmt> ::= T_CLASS T_IS T_LPAREN <TypeSpecNoPrefix> T_RPAREN T_IDENT T_EOS");
-        public static final Production TYPE_GUARD_STMT_1070 = new Production(Nonterminal.TYPE_GUARD_STMT, 3, "<TypeGuardStmt> ::= T_CLASS T_DEFAULT T_EOS");
-        public static final Production TYPE_GUARD_STMT_1071 = new Production(Nonterminal.TYPE_GUARD_STMT, 4, "<TypeGuardStmt> ::= T_CLASS T_DEFAULT T_IDENT T_EOS");
-        public static final Production END_SELECT_TYPE_STMT_1072 = new Production(Nonterminal.END_SELECT_TYPE_STMT, 2, "<EndSelectTypeStmt> ::= T_ENDSELECT T_EOS");
-        public static final Production END_SELECT_TYPE_STMT_1073 = new Production(Nonterminal.END_SELECT_TYPE_STMT, 3, "<EndSelectTypeStmt> ::= T_ENDSELECT T_IDENT T_EOS");
-        public static final Production END_SELECT_TYPE_STMT_1074 = new Production(Nonterminal.END_SELECT_TYPE_STMT, 3, "<EndSelectTypeStmt> ::= T_ENDBEFORESELECT T_SELECT T_EOS");
-        public static final Production END_SELECT_TYPE_STMT_1075 = new Production(Nonterminal.END_SELECT_TYPE_STMT, 4, "<EndSelectTypeStmt> ::= T_ENDBEFORESELECT T_SELECT T_IDENT T_EOS");
-        public static final Production DO_CONSTRUCT_1076 = new Production(Nonterminal.DO_CONSTRUCT, 1, "<DoConstruct> ::= <BlockDoConstruct>");
-        public static final Production BLOCK_DO_CONSTRUCT_1077 = new Production(Nonterminal.BLOCK_DO_CONSTRUCT, 1, "<BlockDoConstruct> ::= <LabelDoStmt>");
-        public static final Production LABEL_DO_STMT_1078 = new Production(Nonterminal.LABEL_DO_STMT, 5, "<LabelDoStmt> ::= <LblDef> T_DO <LblRef> <CommaLoopControl> T_EOS");
-        public static final Production LABEL_DO_STMT_1079 = new Production(Nonterminal.LABEL_DO_STMT, 4, "<LabelDoStmt> ::= <LblDef> T_DO <LblRef> T_EOS");
-        public static final Production LABEL_DO_STMT_1080 = new Production(Nonterminal.LABEL_DO_STMT, 4, "<LabelDoStmt> ::= <LblDef> T_DO <CommaLoopControl> T_EOS");
-        public static final Production LABEL_DO_STMT_1081 = new Production(Nonterminal.LABEL_DO_STMT, 3, "<LabelDoStmt> ::= <LblDef> T_DO T_EOS");
-        public static final Production LABEL_DO_STMT_1082 = new Production(Nonterminal.LABEL_DO_STMT, 7, "<LabelDoStmt> ::= <LblDef> <Name> T_COLON T_DO <LblRef> <CommaLoopControl> T_EOS");
-        public static final Production LABEL_DO_STMT_1083 = new Production(Nonterminal.LABEL_DO_STMT, 6, "<LabelDoStmt> ::= <LblDef> <Name> T_COLON T_DO <LblRef> T_EOS");
-        public static final Production LABEL_DO_STMT_1084 = new Production(Nonterminal.LABEL_DO_STMT, 6, "<LabelDoStmt> ::= <LblDef> <Name> T_COLON T_DO <CommaLoopControl> T_EOS");
-        public static final Production LABEL_DO_STMT_1085 = new Production(Nonterminal.LABEL_DO_STMT, 5, "<LabelDoStmt> ::= <LblDef> <Name> T_COLON T_DO T_EOS");
-        public static final Production COMMA_LOOP_CONTROL_1086 = new Production(Nonterminal.COMMA_LOOP_CONTROL, 2, "<CommaLoopControl> ::= T_COMMA <LoopControl>");
-        public static final Production COMMA_LOOP_CONTROL_1087 = new Production(Nonterminal.COMMA_LOOP_CONTROL, 1, "<CommaLoopControl> ::= <LoopControl>");
-        public static final Production LOOP_CONTROL_1088 = new Production(Nonterminal.LOOP_CONTROL, 5, "<LoopControl> ::= <VariableName> T_EQUALS <Expr> T_COMMA <Expr>");
-        public static final Production LOOP_CONTROL_1089 = new Production(Nonterminal.LOOP_CONTROL, 7, "<LoopControl> ::= <VariableName> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr>");
-        public static final Production LOOP_CONTROL_1090 = new Production(Nonterminal.LOOP_CONTROL, 4, "<LoopControl> ::= T_WHILE T_LPAREN <Expr> T_RPAREN");
-        public static final Production END_DO_STMT_1091 = new Production(Nonterminal.END_DO_STMT, 3, "<EndDoStmt> ::= <LblDef> T_ENDDO T_EOS");
-        public static final Production END_DO_STMT_1092 = new Production(Nonterminal.END_DO_STMT, 4, "<EndDoStmt> ::= <LblDef> T_ENDDO <EndName> T_EOS");
-        public static final Production END_DO_STMT_1093 = new Production(Nonterminal.END_DO_STMT, 4, "<EndDoStmt> ::= <LblDef> T_END T_DO T_EOS");
-        public static final Production END_DO_STMT_1094 = new Production(Nonterminal.END_DO_STMT, 5, "<EndDoStmt> ::= <LblDef> T_END T_DO <EndName> T_EOS");
-        public static final Production CYCLE_STMT_1095 = new Production(Nonterminal.CYCLE_STMT, 3, "<CycleStmt> ::= <LblDef> T_CYCLE T_EOS");
-        public static final Production CYCLE_STMT_1096 = new Production(Nonterminal.CYCLE_STMT, 4, "<CycleStmt> ::= <LblDef> T_CYCLE <Name> T_EOS");
-        public static final Production EXIT_STMT_1097 = new Production(Nonterminal.EXIT_STMT, 3, "<ExitStmt> ::= <LblDef> T_EXIT T_EOS");
-        public static final Production EXIT_STMT_1098 = new Production(Nonterminal.EXIT_STMT, 4, "<ExitStmt> ::= <LblDef> T_EXIT <Name> T_EOS");
-        public static final Production GOTO_STMT_1099 = new Production(Nonterminal.GOTO_STMT, 4, "<GotoStmt> ::= <LblDef> <GoToKw> <LblRef> T_EOS");
-        public static final Production GO_TO_KW_1100 = new Production(Nonterminal.GO_TO_KW, 1, "<GoToKw> ::= T_GOTO");
-        public static final Production GO_TO_KW_1101 = new Production(Nonterminal.GO_TO_KW, 2, "<GoToKw> ::= T_GO T_TO");
-        public static final Production COMPUTED_GOTO_STMT_1102 = new Production(Nonterminal.COMPUTED_GOTO_STMT, 7, "<ComputedGotoStmt> ::= <LblDef> <GoToKw> T_LPAREN <LblRefList> T_RPAREN <Expr> T_EOS");
-        public static final Production COMPUTED_GOTO_STMT_1103 = new Production(Nonterminal.COMPUTED_GOTO_STMT, 7, "<ComputedGotoStmt> ::= <LblDef> <GoToKw> T_LPAREN <LblRefList> T_RPAREN <CommaExp> T_EOS");
-        public static final Production COMMA_EXP_1104 = new Production(Nonterminal.COMMA_EXP, 2, "<CommaExp> ::= T_COMMA <Expr>");
-        public static final Production LBL_REF_LIST_1105 = new Production(Nonterminal.LBL_REF_LIST, 1, "<LblRefList> ::= <LblRef>");
-        public static final Production LBL_REF_LIST_1106 = new Production(Nonterminal.LBL_REF_LIST, 3, "<LblRefList> ::= <LblRefList> T_COMMA <LblRef>");
-        public static final Production LBL_REF_1107 = new Production(Nonterminal.LBL_REF, 1, "<LblRef> ::= <Label>");
-        public static final Production ARITHMETIC_IF_STMT_1108 = new Production(Nonterminal.ARITHMETIC_IF_STMT, 11, "<ArithmeticIfStmt> ::= <LblDef> T_IF T_LPAREN <Expr> T_RPAREN <LblRef> T_COMMA <LblRef> T_COMMA <LblRef> T_EOS");
-        public static final Production CONTINUE_STMT_1109 = new Production(Nonterminal.CONTINUE_STMT, 3, "<ContinueStmt> ::= <LblDef> T_CONTINUE T_EOS");
-        public static final Production STOP_STMT_1110 = new Production(Nonterminal.STOP_STMT, 3, "<StopStmt> ::= <LblDef> T_STOP T_EOS");
-        public static final Production STOP_STMT_1111 = new Production(Nonterminal.STOP_STMT, 4, "<StopStmt> ::= <LblDef> T_STOP T_ICON T_EOS");
-        public static final Production STOP_STMT_1112 = new Production(Nonterminal.STOP_STMT, 4, "<StopStmt> ::= <LblDef> T_STOP T_SCON T_EOS");
-        public static final Production STOP_STMT_1113 = new Production(Nonterminal.STOP_STMT, 4, "<StopStmt> ::= <LblDef> T_STOP T_IDENT T_EOS");
-        public static final Production ALL_STOP_STMT_1114 = new Production(Nonterminal.ALL_STOP_STMT, 4, "<AllStopStmt> ::= <LblDef> T_ALL T_STOP T_EOS");
-        public static final Production ALL_STOP_STMT_1115 = new Production(Nonterminal.ALL_STOP_STMT, 5, "<AllStopStmt> ::= <LblDef> T_ALL T_STOP T_ICON T_EOS");
-        public static final Production ALL_STOP_STMT_1116 = new Production(Nonterminal.ALL_STOP_STMT, 5, "<AllStopStmt> ::= <LblDef> T_ALL T_STOP T_SCON T_EOS");
-        public static final Production ALL_STOP_STMT_1117 = new Production(Nonterminal.ALL_STOP_STMT, 5, "<AllStopStmt> ::= <LblDef> T_ALL T_STOP T_IDENT T_EOS");
-        public static final Production ALL_STOP_STMT_1118 = new Production(Nonterminal.ALL_STOP_STMT, 3, "<AllStopStmt> ::= <LblDef> T_ALLSTOP T_EOS");
-        public static final Production ALL_STOP_STMT_1119 = new Production(Nonterminal.ALL_STOP_STMT, 4, "<AllStopStmt> ::= <LblDef> T_ALLSTOP T_ICON T_EOS");
-        public static final Production ALL_STOP_STMT_1120 = new Production(Nonterminal.ALL_STOP_STMT, 4, "<AllStopStmt> ::= <LblDef> T_ALLSTOP T_SCON T_EOS");
-        public static final Production ALL_STOP_STMT_1121 = new Production(Nonterminal.ALL_STOP_STMT, 4, "<AllStopStmt> ::= <LblDef> T_ALLSTOP T_IDENT T_EOS");
-        public static final Production SYNC_ALL_STMT_1122 = new Production(Nonterminal.SYNC_ALL_STMT, 7, "<SyncAllStmt> ::= <LblDef> T_SYNC T_ALL T_LPAREN <SyncStatList> T_RPAREN T_EOS");
-        public static final Production SYNC_ALL_STMT_1123 = new Production(Nonterminal.SYNC_ALL_STMT, 4, "<SyncAllStmt> ::= <LblDef> T_SYNC T_ALL T_EOS");
-        public static final Production SYNC_ALL_STMT_1124 = new Production(Nonterminal.SYNC_ALL_STMT, 6, "<SyncAllStmt> ::= <LblDef> T_SYNCALL T_LPAREN <SyncStatList> T_RPAREN T_EOS");
-        public static final Production SYNC_ALL_STMT_1125 = new Production(Nonterminal.SYNC_ALL_STMT, 3, "<SyncAllStmt> ::= <LblDef> T_SYNCALL T_EOS");
-        public static final Production SYNC_STAT_LIST_1126 = new Production(Nonterminal.SYNC_STAT_LIST, 1, "<SyncStatList> ::= <SyncStat>");
-        public static final Production SYNC_STAT_LIST_1127 = new Production(Nonterminal.SYNC_STAT_LIST, 3, "<SyncStatList> ::= <SyncStatList> T_COMMA <SyncStat>");
-        public static final Production SYNC_STAT_1128 = new Production(Nonterminal.SYNC_STAT, 3, "<SyncStat> ::= <Name> T_EQUALS <Expr>");
-        public static final Production SYNC_IMAGES_STMT_1129 = new Production(Nonterminal.SYNC_IMAGES_STMT, 9, "<SyncImagesStmt> ::= <LblDef> T_SYNC T_IMAGES T_LPAREN <ImageSet> T_COMMA <SyncStatList> T_RPAREN T_EOS");
-        public static final Production SYNC_IMAGES_STMT_1130 = new Production(Nonterminal.SYNC_IMAGES_STMT, 7, "<SyncImagesStmt> ::= <LblDef> T_SYNC T_IMAGES T_LPAREN <ImageSet> T_RPAREN T_EOS");
-        public static final Production SYNC_IMAGES_STMT_1131 = new Production(Nonterminal.SYNC_IMAGES_STMT, 8, "<SyncImagesStmt> ::= <LblDef> T_SYNCIMAGES T_LPAREN <ImageSet> T_COMMA <SyncStatList> T_RPAREN T_EOS");
-        public static final Production SYNC_IMAGES_STMT_1132 = new Production(Nonterminal.SYNC_IMAGES_STMT, 6, "<SyncImagesStmt> ::= <LblDef> T_SYNCIMAGES T_LPAREN <ImageSet> T_RPAREN T_EOS");
-        public static final Production IMAGE_SET_1133 = new Production(Nonterminal.IMAGE_SET, 1, "<ImageSet> ::= <Expr>");
-        public static final Production IMAGE_SET_1134 = new Production(Nonterminal.IMAGE_SET, 1, "<ImageSet> ::= T_ASTERISK");
-        public static final Production SYNC_MEMORY_STMT_1135 = new Production(Nonterminal.SYNC_MEMORY_STMT, 7, "<SyncMemoryStmt> ::= <LblDef> T_SYNC T_MEMORY T_LPAREN <SyncStatList> T_RPAREN T_EOS");
-        public static final Production SYNC_MEMORY_STMT_1136 = new Production(Nonterminal.SYNC_MEMORY_STMT, 4, "<SyncMemoryStmt> ::= <LblDef> T_SYNC T_MEMORY T_EOS");
-        public static final Production SYNC_MEMORY_STMT_1137 = new Production(Nonterminal.SYNC_MEMORY_STMT, 6, "<SyncMemoryStmt> ::= <LblDef> T_SYNCMEMORY T_LPAREN <SyncStatList> T_RPAREN T_EOS");
-        public static final Production SYNC_MEMORY_STMT_1138 = new Production(Nonterminal.SYNC_MEMORY_STMT, 3, "<SyncMemoryStmt> ::= <LblDef> T_SYNCMEMORY T_EOS");
-        public static final Production LOCK_STMT_1139 = new Production(Nonterminal.LOCK_STMT, 8, "<LockStmt> ::= <LblDef> T_LOCK T_LPAREN <Name> T_COMMA <SyncStatList> T_RPAREN T_EOS");
-        public static final Production LOCK_STMT_1140 = new Production(Nonterminal.LOCK_STMT, 6, "<LockStmt> ::= <LblDef> T_LOCK T_LPAREN <Name> T_RPAREN T_EOS");
-        public static final Production UNLOCK_STMT_1141 = new Production(Nonterminal.UNLOCK_STMT, 8, "<UnlockStmt> ::= <LblDef> T_UNLOCK T_LPAREN <Name> T_COMMA <SyncStatList> T_RPAREN T_EOS");
-        public static final Production UNLOCK_STMT_1142 = new Production(Nonterminal.UNLOCK_STMT, 6, "<UnlockStmt> ::= <LblDef> T_UNLOCK T_LPAREN <Name> T_RPAREN T_EOS");
-        public static final Production UNIT_IDENTIFIER_1143 = new Production(Nonterminal.UNIT_IDENTIFIER, 1, "<UnitIdentifier> ::= <UFExpr>");
-        public static final Production UNIT_IDENTIFIER_1144 = new Production(Nonterminal.UNIT_IDENTIFIER, 1, "<UnitIdentifier> ::= T_ASTERISK");
-        public static final Production OPEN_STMT_1145 = new Production(Nonterminal.OPEN_STMT, 6, "<OpenStmt> ::= <LblDef> T_OPEN T_LPAREN <ConnectSpecList> T_RPAREN T_EOS");
-        public static final Production CONNECT_SPEC_LIST_1146 = new Production(Nonterminal.CONNECT_SPEC_LIST, 1, "<ConnectSpecList> ::= <ConnectSpec>");
-        public static final Production CONNECT_SPEC_LIST_1147 = new Production(Nonterminal.CONNECT_SPEC_LIST, 3, "<ConnectSpecList> ::= <ConnectSpecList> T_COMMA <ConnectSpec>");
-        public static final Production CONNECT_SPEC_1148 = new Production(Nonterminal.CONNECT_SPEC, 1, "<ConnectSpec> ::= <UnitIdentifier>");
-        public static final Production CONNECT_SPEC_1149 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_UNITEQ <UnitIdentifier>");
-        public static final Production CONNECT_SPEC_1150 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_ERREQ <LblRef>");
-        public static final Production CONNECT_SPEC_1151 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_FILEEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1152 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_STATUSEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1153 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_ACCESSEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1154 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_FORMEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1155 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_RECLEQ <Expr>");
-        public static final Production CONNECT_SPEC_1156 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_BLANKEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1157 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_IOSTATEQ <ScalarVariable>");
-        public static final Production CONNECT_SPEC_1158 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_POSITIONEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1159 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_ACTIONEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1160 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_DELIMEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1161 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_PADEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1162 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_ASYNCHRONOUSEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1163 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_DECIMALEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1164 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_ENCODINGEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1165 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_IOMSGEQ <ScalarVariable>");
-        public static final Production CONNECT_SPEC_1166 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_ROUNDEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1167 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_SIGNEQ <CExpr>");
-        public static final Production CONNECT_SPEC_1168 = new Production(Nonterminal.CONNECT_SPEC, 2, "<ConnectSpec> ::= T_CONVERTEQ <CExpr>");
-        public static final Production CLOSE_STMT_1169 = new Production(Nonterminal.CLOSE_STMT, 6, "<CloseStmt> ::= <LblDef> T_CLOSE T_LPAREN <CloseSpecList> T_RPAREN T_EOS");
-        public static final Production CLOSE_SPEC_LIST_1170 = new Production(Nonterminal.CLOSE_SPEC_LIST, 1, "<CloseSpecList> ::= <UnitIdentifier>");
-        public static final Production CLOSE_SPEC_LIST_1171 = new Production(Nonterminal.CLOSE_SPEC_LIST, 1, "<CloseSpecList> ::= <CloseSpec>");
-        public static final Production CLOSE_SPEC_LIST_1172 = new Production(Nonterminal.CLOSE_SPEC_LIST, 3, "<CloseSpecList> ::= <CloseSpecList> T_COMMA <CloseSpec>");
-        public static final Production CLOSE_SPEC_1173 = new Production(Nonterminal.CLOSE_SPEC, 2, "<CloseSpec> ::= T_UNITEQ <UnitIdentifier>");
-        public static final Production CLOSE_SPEC_1174 = new Production(Nonterminal.CLOSE_SPEC, 2, "<CloseSpec> ::= T_ERREQ <LblRef>");
-        public static final Production CLOSE_SPEC_1175 = new Production(Nonterminal.CLOSE_SPEC, 2, "<CloseSpec> ::= T_STATUSEQ <CExpr>");
-        public static final Production CLOSE_SPEC_1176 = new Production(Nonterminal.CLOSE_SPEC, 2, "<CloseSpec> ::= T_IOSTATEQ <ScalarVariable>");
-        public static final Production CLOSE_SPEC_1177 = new Production(Nonterminal.CLOSE_SPEC, 2, "<CloseSpec> ::= T_IOMSGEQ <ScalarVariable>");
-        public static final Production READ_STMT_1178 = new Production(Nonterminal.READ_STMT, 6, "<ReadStmt> ::= <LblDef> T_READ <RdCtlSpec> T_COMMA <InputItemList> T_EOS");
-        public static final Production READ_STMT_1179 = new Production(Nonterminal.READ_STMT, 5, "<ReadStmt> ::= <LblDef> T_READ <RdCtlSpec> <InputItemList> T_EOS");
-        public static final Production READ_STMT_1180 = new Production(Nonterminal.READ_STMT, 4, "<ReadStmt> ::= <LblDef> T_READ <RdCtlSpec> T_EOS");
-        public static final Production READ_STMT_1181 = new Production(Nonterminal.READ_STMT, 6, "<ReadStmt> ::= <LblDef> T_READ <RdFmtId> T_COMMA <InputItemList> T_EOS");
-        public static final Production READ_STMT_1182 = new Production(Nonterminal.READ_STMT, 4, "<ReadStmt> ::= <LblDef> T_READ <RdFmtId> T_EOS");
-        public static final Production RD_CTL_SPEC_1183 = new Production(Nonterminal.RD_CTL_SPEC, 1, "<RdCtlSpec> ::= <RdUnitId>");
-        public static final Production RD_CTL_SPEC_1184 = new Production(Nonterminal.RD_CTL_SPEC, 3, "<RdCtlSpec> ::= T_LPAREN <RdIoCtlSpecList> T_RPAREN");
-        public static final Production RD_UNIT_ID_1185 = new Production(Nonterminal.RD_UNIT_ID, 3, "<RdUnitId> ::= T_LPAREN <UFExpr> T_RPAREN");
-        public static final Production RD_UNIT_ID_1186 = new Production(Nonterminal.RD_UNIT_ID, 3, "<RdUnitId> ::= T_LPAREN T_ASTERISK T_RPAREN");
-        public static final Production RD_IO_CTL_SPEC_LIST_1187 = new Production(Nonterminal.RD_IO_CTL_SPEC_LIST, 3, "<RdIoCtlSpecList> ::= <UnitIdentifier> T_COMMA <IoControlSpec>");
-        public static final Production RD_IO_CTL_SPEC_LIST_1188 = new Production(Nonterminal.RD_IO_CTL_SPEC_LIST, 3, "<RdIoCtlSpecList> ::= <UnitIdentifier> T_COMMA <FormatIdentifier>");
-        public static final Production RD_IO_CTL_SPEC_LIST_1189 = new Production(Nonterminal.RD_IO_CTL_SPEC_LIST, 1, "<RdIoCtlSpecList> ::= <IoControlSpec>");
-        public static final Production RD_IO_CTL_SPEC_LIST_1190 = new Production(Nonterminal.RD_IO_CTL_SPEC_LIST, 3, "<RdIoCtlSpecList> ::= <RdIoCtlSpecList> T_COMMA <IoControlSpec>");
-        public static final Production RD_FMT_ID_1191 = new Production(Nonterminal.RD_FMT_ID, 1, "<RdFmtId> ::= <LblRef>");
-        public static final Production RD_FMT_ID_1192 = new Production(Nonterminal.RD_FMT_ID, 1, "<RdFmtId> ::= T_ASTERISK");
-        public static final Production RD_FMT_ID_1193 = new Production(Nonterminal.RD_FMT_ID, 1, "<RdFmtId> ::= <COperand>");
-        public static final Production RD_FMT_ID_1194 = new Production(Nonterminal.RD_FMT_ID, 3, "<RdFmtId> ::= <COperand> <ConcatOp> <CPrimary>");
-        public static final Production RD_FMT_ID_1195 = new Production(Nonterminal.RD_FMT_ID, 3, "<RdFmtId> ::= <RdFmtIdExpr> <ConcatOp> <CPrimary>");
-        public static final Production RD_FMT_ID_EXPR_1196 = new Production(Nonterminal.RD_FMT_ID_EXPR, 3, "<RdFmtIdExpr> ::= T_LPAREN <UFExpr> T_RPAREN");
-        public static final Production WRITE_STMT_1197 = new Production(Nonterminal.WRITE_STMT, 8, "<WriteStmt> ::= <LblDef> T_WRITE T_LPAREN <IoControlSpecList> T_RPAREN T_COMMA <OutputItemList> T_EOS");
-        public static final Production WRITE_STMT_1198 = new Production(Nonterminal.WRITE_STMT, 7, "<WriteStmt> ::= <LblDef> T_WRITE T_LPAREN <IoControlSpecList> T_RPAREN <OutputItemList> T_EOS");
-        public static final Production WRITE_STMT_1199 = new Production(Nonterminal.WRITE_STMT, 6, "<WriteStmt> ::= <LblDef> T_WRITE T_LPAREN <IoControlSpecList> T_RPAREN T_EOS");
-        public static final Production PRINT_STMT_1200 = new Production(Nonterminal.PRINT_STMT, 6, "<PrintStmt> ::= <LblDef> T_PRINT <FormatIdentifier> T_COMMA <OutputItemList> T_EOS");
-        public static final Production PRINT_STMT_1201 = new Production(Nonterminal.PRINT_STMT, 4, "<PrintStmt> ::= <LblDef> T_PRINT <FormatIdentifier> T_EOS");
-        public static final Production IO_CONTROL_SPEC_LIST_1202 = new Production(Nonterminal.IO_CONTROL_SPEC_LIST, 1, "<IoControlSpecList> ::= <UnitIdentifier>");
-        public static final Production IO_CONTROL_SPEC_LIST_1203 = new Production(Nonterminal.IO_CONTROL_SPEC_LIST, 3, "<IoControlSpecList> ::= <UnitIdentifier> T_COMMA <FormatIdentifier>");
-        public static final Production IO_CONTROL_SPEC_LIST_1204 = new Production(Nonterminal.IO_CONTROL_SPEC_LIST, 3, "<IoControlSpecList> ::= <UnitIdentifier> T_COMMA <IoControlSpec>");
-        public static final Production IO_CONTROL_SPEC_LIST_1205 = new Production(Nonterminal.IO_CONTROL_SPEC_LIST, 1, "<IoControlSpecList> ::= <IoControlSpec>");
-        public static final Production IO_CONTROL_SPEC_LIST_1206 = new Production(Nonterminal.IO_CONTROL_SPEC_LIST, 3, "<IoControlSpecList> ::= <IoControlSpecList> T_COMMA <IoControlSpec>");
-        public static final Production IO_CONTROL_SPEC_1207 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_FMTEQ <FormatIdentifier>");
-        public static final Production IO_CONTROL_SPEC_1208 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_UNITEQ <UnitIdentifier>");
-        public static final Production IO_CONTROL_SPEC_1209 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_RECEQ <Expr>");
-        public static final Production IO_CONTROL_SPEC_1210 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_ENDEQ <LblRef>");
-        public static final Production IO_CONTROL_SPEC_1211 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_ERREQ <LblRef>");
-        public static final Production IO_CONTROL_SPEC_1212 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_IOSTATEQ <ScalarVariable>");
-        public static final Production IO_CONTROL_SPEC_1213 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_NMLEQ <NamelistGroupName>");
-        public static final Production IO_CONTROL_SPEC_1214 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_ADVANCEEQ <CExpr>");
-        public static final Production IO_CONTROL_SPEC_1215 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_SIZEEQ <Variable>");
-        public static final Production IO_CONTROL_SPEC_1216 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_EOREQ <LblRef>");
-        public static final Production IO_CONTROL_SPEC_1217 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_ASYNCHRONOUSEQ <CExpr>");
-        public static final Production IO_CONTROL_SPEC_1218 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_DECIMALEQ <CExpr>");
-        public static final Production IO_CONTROL_SPEC_1219 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_IDEQ <ScalarVariable>");
-        public static final Production IO_CONTROL_SPEC_1220 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_IOMSGEQ <ScalarVariable>");
-        public static final Production IO_CONTROL_SPEC_1221 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_POSEQ <CExpr>");
-        public static final Production IO_CONTROL_SPEC_1222 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_ROUNDEQ <CExpr>");
-        public static final Production IO_CONTROL_SPEC_1223 = new Production(Nonterminal.IO_CONTROL_SPEC, 2, "<IoControlSpec> ::= T_SIGNEQ <CExpr>");
-        public static final Production FORMAT_IDENTIFIER_1224 = new Production(Nonterminal.FORMAT_IDENTIFIER, 1, "<FormatIdentifier> ::= <LblRef>");
-        public static final Production FORMAT_IDENTIFIER_1225 = new Production(Nonterminal.FORMAT_IDENTIFIER, 1, "<FormatIdentifier> ::= <CExpr>");
-        public static final Production FORMAT_IDENTIFIER_1226 = new Production(Nonterminal.FORMAT_IDENTIFIER, 1, "<FormatIdentifier> ::= T_ASTERISK");
-        public static final Production INPUT_ITEM_LIST_1227 = new Production(Nonterminal.INPUT_ITEM_LIST, 1, "<InputItemList> ::= <InputItem>");
-        public static final Production INPUT_ITEM_LIST_1228 = new Production(Nonterminal.INPUT_ITEM_LIST, 3, "<InputItemList> ::= <InputItemList> T_COMMA <InputItem>");
-        public static final Production INPUT_ITEM_1229 = new Production(Nonterminal.INPUT_ITEM, 1, "<InputItem> ::= <Variable>");
-        public static final Production INPUT_ITEM_1230 = new Production(Nonterminal.INPUT_ITEM, 1, "<InputItem> ::= <InputImpliedDo>");
-        public static final Production OUTPUT_ITEM_LIST_1231 = new Production(Nonterminal.OUTPUT_ITEM_LIST, 1, "<OutputItemList> ::= <Expr>");
-        public static final Production OUTPUT_ITEM_LIST_1232 = new Production(Nonterminal.OUTPUT_ITEM_LIST, 1, "<OutputItemList> ::= <OutputItemList1>");
-        public static final Production OUTPUT_ITEM_LIST_1_1233 = new Production(Nonterminal.OUTPUT_ITEM_LIST_1, 3, "<OutputItemList1> ::= <Expr> T_COMMA <Expr>");
-        public static final Production OUTPUT_ITEM_LIST_1_1234 = new Production(Nonterminal.OUTPUT_ITEM_LIST_1, 3, "<OutputItemList1> ::= <Expr> T_COMMA <OutputImpliedDo>");
-        public static final Production OUTPUT_ITEM_LIST_1_1235 = new Production(Nonterminal.OUTPUT_ITEM_LIST_1, 1, "<OutputItemList1> ::= <OutputImpliedDo>");
-        public static final Production OUTPUT_ITEM_LIST_1_1236 = new Production(Nonterminal.OUTPUT_ITEM_LIST_1, 3, "<OutputItemList1> ::= <OutputItemList1> T_COMMA <Expr>");
-        public static final Production OUTPUT_ITEM_LIST_1_1237 = new Production(Nonterminal.OUTPUT_ITEM_LIST_1, 3, "<OutputItemList1> ::= <OutputItemList1> T_COMMA <OutputImpliedDo>");
-        public static final Production INPUT_IMPLIED_DO_1238 = new Production(Nonterminal.INPUT_IMPLIED_DO, 9, "<InputImpliedDo> ::= T_LPAREN <InputItemList> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production INPUT_IMPLIED_DO_1239 = new Production(Nonterminal.INPUT_IMPLIED_DO, 11, "<InputImpliedDo> ::= T_LPAREN <InputItemList> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production OUTPUT_IMPLIED_DO_1240 = new Production(Nonterminal.OUTPUT_IMPLIED_DO, 9, "<OutputImpliedDo> ::= T_LPAREN <Expr> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production OUTPUT_IMPLIED_DO_1241 = new Production(Nonterminal.OUTPUT_IMPLIED_DO, 11, "<OutputImpliedDo> ::= T_LPAREN <Expr> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production OUTPUT_IMPLIED_DO_1242 = new Production(Nonterminal.OUTPUT_IMPLIED_DO, 9, "<OutputImpliedDo> ::= T_LPAREN <OutputItemList1> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production OUTPUT_IMPLIED_DO_1243 = new Production(Nonterminal.OUTPUT_IMPLIED_DO, 11, "<OutputImpliedDo> ::= T_LPAREN <OutputItemList1> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN");
-        public static final Production WAIT_STMT_1244 = new Production(Nonterminal.WAIT_STMT, 6, "<WaitStmt> ::= <LblDef> T_WAIT T_LPAREN <WaitSpecList> T_RPAREN T_EOS");
-        public static final Production WAIT_SPEC_LIST_1245 = new Production(Nonterminal.WAIT_SPEC_LIST, 1, "<WaitSpecList> ::= <WaitSpec>");
-        public static final Production WAIT_SPEC_LIST_1246 = new Production(Nonterminal.WAIT_SPEC_LIST, 3, "<WaitSpecList> ::= <WaitSpecList> T_COMMA <WaitSpec>");
-        public static final Production WAIT_SPEC_1247 = new Production(Nonterminal.WAIT_SPEC, 1, "<WaitSpec> ::= <Expr>");
-        public static final Production WAIT_SPEC_1248 = new Production(Nonterminal.WAIT_SPEC, 3, "<WaitSpec> ::= T_IDENT T_EQUALS <Expr>");
-        public static final Production BACKSPACE_STMT_1249 = new Production(Nonterminal.BACKSPACE_STMT, 4, "<BackspaceStmt> ::= <LblDef> T_BACKSPACE <UnitIdentifier> T_EOS");
-        public static final Production BACKSPACE_STMT_1250 = new Production(Nonterminal.BACKSPACE_STMT, 6, "<BackspaceStmt> ::= <LblDef> T_BACKSPACE T_LPAREN <PositionSpecList> T_RPAREN T_EOS");
-        public static final Production ENDFILE_STMT_1251 = new Production(Nonterminal.ENDFILE_STMT, 4, "<EndfileStmt> ::= <LblDef> T_ENDFILE <UnitIdentifier> T_EOS");
-        public static final Production ENDFILE_STMT_1252 = new Production(Nonterminal.ENDFILE_STMT, 6, "<EndfileStmt> ::= <LblDef> T_ENDFILE T_LPAREN <PositionSpecList> T_RPAREN T_EOS");
-        public static final Production ENDFILE_STMT_1253 = new Production(Nonterminal.ENDFILE_STMT, 5, "<EndfileStmt> ::= <LblDef> T_END T_FILE <UnitIdentifier> T_EOS");
-        public static final Production ENDFILE_STMT_1254 = new Production(Nonterminal.ENDFILE_STMT, 7, "<EndfileStmt> ::= <LblDef> T_END T_FILE T_LPAREN <PositionSpecList> T_RPAREN T_EOS");
-        public static final Production REWIND_STMT_1255 = new Production(Nonterminal.REWIND_STMT, 4, "<RewindStmt> ::= <LblDef> T_REWIND <UnitIdentifier> T_EOS");
-        public static final Production REWIND_STMT_1256 = new Production(Nonterminal.REWIND_STMT, 6, "<RewindStmt> ::= <LblDef> T_REWIND T_LPAREN <PositionSpecList> T_RPAREN T_EOS");
-        public static final Production POSITION_SPEC_LIST_1257 = new Production(Nonterminal.POSITION_SPEC_LIST, 3, "<PositionSpecList> ::= <UnitIdentifier> T_COMMA <PositionSpec>");
-        public static final Production POSITION_SPEC_LIST_1258 = new Production(Nonterminal.POSITION_SPEC_LIST, 1, "<PositionSpecList> ::= <PositionSpec>");
-        public static final Production POSITION_SPEC_LIST_1259 = new Production(Nonterminal.POSITION_SPEC_LIST, 3, "<PositionSpecList> ::= <PositionSpecList> T_COMMA <PositionSpec>");
-        public static final Production POSITION_SPEC_1260 = new Production(Nonterminal.POSITION_SPEC, 2, "<PositionSpec> ::= T_UNITEQ <UnitIdentifier>");
-        public static final Production POSITION_SPEC_1261 = new Production(Nonterminal.POSITION_SPEC, 2, "<PositionSpec> ::= T_ERREQ <LblRef>");
-        public static final Production POSITION_SPEC_1262 = new Production(Nonterminal.POSITION_SPEC, 2, "<PositionSpec> ::= T_IOSTATEQ <ScalarVariable>");
-        public static final Production INQUIRE_STMT_1263 = new Production(Nonterminal.INQUIRE_STMT, 6, "<InquireStmt> ::= <LblDef> T_INQUIRE T_LPAREN <InquireSpecList> T_RPAREN T_EOS");
-        public static final Production INQUIRE_STMT_1264 = new Production(Nonterminal.INQUIRE_STMT, 8, "<InquireStmt> ::= <LblDef> T_INQUIRE T_LPAREN T_IOLENGTHEQ <ScalarVariable> T_RPAREN <OutputItemList> T_EOS");
-        public static final Production INQUIRE_SPEC_LIST_1265 = new Production(Nonterminal.INQUIRE_SPEC_LIST, 1, "<InquireSpecList> ::= <UnitIdentifier>");
-        public static final Production INQUIRE_SPEC_LIST_1266 = new Production(Nonterminal.INQUIRE_SPEC_LIST, 1, "<InquireSpecList> ::= <InquireSpec>");
-        public static final Production INQUIRE_SPEC_LIST_1267 = new Production(Nonterminal.INQUIRE_SPEC_LIST, 3, "<InquireSpecList> ::= <InquireSpecList> T_COMMA <InquireSpec>");
-        public static final Production INQUIRE_SPEC_1268 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_UNITEQ <UnitIdentifier>");
-        public static final Production INQUIRE_SPEC_1269 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_FILEEQ <CExpr>");
-        public static final Production INQUIRE_SPEC_1270 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_ERREQ <LblRef>");
-        public static final Production INQUIRE_SPEC_1271 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_IOSTATEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1272 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_EXISTEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1273 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_OPENEDEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1274 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_NUMBEREQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1275 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_NAMEDEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1276 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_NAMEEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1277 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_ACCESSEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1278 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_SEQUENTIALEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1279 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_DIRECTEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1280 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_FORMEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1281 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_FORMATTEDEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1282 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_UNFORMATTEDEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1283 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_RECLEQ <Expr>");
-        public static final Production INQUIRE_SPEC_1284 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_NEXTRECEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1285 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_BLANKEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1286 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_POSITIONEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1287 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_ACTIONEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1288 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_READEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1289 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_WRITEEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1290 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_READWRITEEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1291 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_DELIMEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1292 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_PADEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1293 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_ASYNCHRONOUSEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1294 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_DECIMALEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1295 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_ENCODINGEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1296 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_IDEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1297 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_IOMSGEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1298 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_PENDINGEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1299 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_POSEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1300 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_ROUNDEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1301 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_SIGNEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1302 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_SIZEEQ <ScalarVariable>");
-        public static final Production INQUIRE_SPEC_1303 = new Production(Nonterminal.INQUIRE_SPEC, 2, "<InquireSpec> ::= T_STREAMEQ <ScalarVariable>");
-        public static final Production FORMAT_STMT_1304 = new Production(Nonterminal.FORMAT_STMT, 5, "<FormatStmt> ::= <LblDef> T_FORMAT T_LPAREN T_RPAREN T_EOS");
-        public static final Production FORMAT_STMT_1305 = new Production(Nonterminal.FORMAT_STMT, 6, "<FormatStmt> ::= <LblDef> T_FORMAT T_LPAREN <FmtSpec> T_RPAREN T_EOS");
-        public static final Production FMT_SPEC_1306 = new Production(Nonterminal.FMT_SPEC, 1, "<FmtSpec> ::= <FormatEdit>");
-        public static final Production FMT_SPEC_1307 = new Production(Nonterminal.FMT_SPEC, 1, "<FmtSpec> ::= <Formatsep>");
-        public static final Production FMT_SPEC_1308 = new Production(Nonterminal.FMT_SPEC, 2, "<FmtSpec> ::= <Formatsep> <FormatEdit>");
-        public static final Production FMT_SPEC_1309 = new Production(Nonterminal.FMT_SPEC, 2, "<FmtSpec> ::= <FmtSpec> <Formatsep>");
-        public static final Production FMT_SPEC_1310 = new Production(Nonterminal.FMT_SPEC, 3, "<FmtSpec> ::= <FmtSpec> <Formatsep> <FormatEdit>");
-        public static final Production FMT_SPEC_1311 = new Production(Nonterminal.FMT_SPEC, 3, "<FmtSpec> ::= <FmtSpec> T_COMMA <FormatEdit>");
-        public static final Production FMT_SPEC_1312 = new Production(Nonterminal.FMT_SPEC, 3, "<FmtSpec> ::= <FmtSpec> T_COMMA <Formatsep>");
-        public static final Production FMT_SPEC_1313 = new Production(Nonterminal.FMT_SPEC, 4, "<FmtSpec> ::= <FmtSpec> T_COMMA <Formatsep> <FormatEdit>");
-        public static final Production FORMAT_EDIT_1314 = new Production(Nonterminal.FORMAT_EDIT, 1, "<FormatEdit> ::= <EditElement>");
-        public static final Production FORMAT_EDIT_1315 = new Production(Nonterminal.FORMAT_EDIT, 2, "<FormatEdit> ::= T_ICON <EditElement>");
-        public static final Production FORMAT_EDIT_1316 = new Production(Nonterminal.FORMAT_EDIT, 1, "<FormatEdit> ::= T_XCON");
-        public static final Production FORMAT_EDIT_1317 = new Production(Nonterminal.FORMAT_EDIT, 1, "<FormatEdit> ::= T_PCON");
-        public static final Production FORMAT_EDIT_1318 = new Production(Nonterminal.FORMAT_EDIT, 2, "<FormatEdit> ::= T_PCON <EditElement>");
-        public static final Production FORMAT_EDIT_1319 = new Production(Nonterminal.FORMAT_EDIT, 3, "<FormatEdit> ::= T_PCON T_ICON <EditElement>");
-        public static final Production EDIT_ELEMENT_1320 = new Production(Nonterminal.EDIT_ELEMENT, 1, "<EditElement> ::= T_FCON");
-        public static final Production EDIT_ELEMENT_1321 = new Production(Nonterminal.EDIT_ELEMENT, 1, "<EditElement> ::= T_SCON");
-        public static final Production EDIT_ELEMENT_1322 = new Production(Nonterminal.EDIT_ELEMENT, 1, "<EditElement> ::= T_IDENT");
-        public static final Production EDIT_ELEMENT_1323 = new Production(Nonterminal.EDIT_ELEMENT, 1, "<EditElement> ::= T_HCON");
-        public static final Production EDIT_ELEMENT_1324 = new Production(Nonterminal.EDIT_ELEMENT, 3, "<EditElement> ::= T_LPAREN <FmtSpec> T_RPAREN");
-        public static final Production FORMATSEP_1325 = new Production(Nonterminal.FORMATSEP, 1, "<Formatsep> ::= T_SLASH");
-        public static final Production FORMATSEP_1326 = new Production(Nonterminal.FORMATSEP, 1, "<Formatsep> ::= T_COLON");
-        public static final Production PROGRAM_STMT_1327 = new Production(Nonterminal.PROGRAM_STMT, 4, "<ProgramStmt> ::= <LblDef> T_PROGRAM <ProgramName> T_EOS");
-        public static final Production END_PROGRAM_STMT_1328 = new Production(Nonterminal.END_PROGRAM_STMT, 3, "<EndProgramStmt> ::= <LblDef> T_END T_EOS");
-        public static final Production END_PROGRAM_STMT_1329 = new Production(Nonterminal.END_PROGRAM_STMT, 3, "<EndProgramStmt> ::= <LblDef> T_ENDPROGRAM T_EOS");
-        public static final Production END_PROGRAM_STMT_1330 = new Production(Nonterminal.END_PROGRAM_STMT, 4, "<EndProgramStmt> ::= <LblDef> T_ENDPROGRAM <EndName> T_EOS");
-        public static final Production END_PROGRAM_STMT_1331 = new Production(Nonterminal.END_PROGRAM_STMT, 4, "<EndProgramStmt> ::= <LblDef> T_END T_PROGRAM T_EOS");
-        public static final Production END_PROGRAM_STMT_1332 = new Production(Nonterminal.END_PROGRAM_STMT, 5, "<EndProgramStmt> ::= <LblDef> T_END T_PROGRAM <EndName> T_EOS");
-        public static final Production MODULE_STMT_1333 = new Production(Nonterminal.MODULE_STMT, 4, "<ModuleStmt> ::= <LblDef> T_MODULE <ModuleName> T_EOS");
-        public static final Production END_MODULE_STMT_1334 = new Production(Nonterminal.END_MODULE_STMT, 3, "<EndModuleStmt> ::= <LblDef> T_END T_EOS");
-        public static final Production END_MODULE_STMT_1335 = new Production(Nonterminal.END_MODULE_STMT, 3, "<EndModuleStmt> ::= <LblDef> T_ENDMODULE T_EOS");
-        public static final Production END_MODULE_STMT_1336 = new Production(Nonterminal.END_MODULE_STMT, 4, "<EndModuleStmt> ::= <LblDef> T_ENDMODULE <EndName> T_EOS");
-        public static final Production END_MODULE_STMT_1337 = new Production(Nonterminal.END_MODULE_STMT, 4, "<EndModuleStmt> ::= <LblDef> T_END T_MODULE T_EOS");
-        public static final Production END_MODULE_STMT_1338 = new Production(Nonterminal.END_MODULE_STMT, 5, "<EndModuleStmt> ::= <LblDef> T_END T_MODULE <EndName> T_EOS");
-        public static final Production USE_STMT_1339 = new Production(Nonterminal.USE_STMT, 8, "<UseStmt> ::= <LblDef> T_USE T_COMMA <ModuleNature> T_COLON T_COLON <Name> T_EOS");
-        public static final Production USE_STMT_1340 = new Production(Nonterminal.USE_STMT, 10, "<UseStmt> ::= <LblDef> T_USE T_COMMA <ModuleNature> T_COLON T_COLON <Name> T_COMMA <RenameList> T_EOS");
-        public static final Production USE_STMT_1341 = new Production(Nonterminal.USE_STMT, 11, "<UseStmt> ::= <LblDef> T_USE T_COMMA <ModuleNature> T_COLON T_COLON <Name> T_COMMA T_ONLY T_COLON T_EOS");
-        public static final Production USE_STMT_1342 = new Production(Nonterminal.USE_STMT, 12, "<UseStmt> ::= <LblDef> T_USE T_COMMA <ModuleNature> T_COLON T_COLON <Name> T_COMMA T_ONLY T_COLON <OnlyList> T_EOS");
-        public static final Production USE_STMT_1343 = new Production(Nonterminal.USE_STMT, 6, "<UseStmt> ::= <LblDef> T_USE T_COLON T_COLON <Name> T_EOS");
-        public static final Production USE_STMT_1344 = new Production(Nonterminal.USE_STMT, 8, "<UseStmt> ::= <LblDef> T_USE T_COLON T_COLON <Name> T_COMMA <RenameList> T_EOS");
-        public static final Production USE_STMT_1345 = new Production(Nonterminal.USE_STMT, 9, "<UseStmt> ::= <LblDef> T_USE T_COLON T_COLON <Name> T_COMMA T_ONLY T_COLON T_EOS");
-        public static final Production USE_STMT_1346 = new Production(Nonterminal.USE_STMT, 10, "<UseStmt> ::= <LblDef> T_USE T_COLON T_COLON <Name> T_COMMA T_ONLY T_COLON <OnlyList> T_EOS");
-        public static final Production USE_STMT_1347 = new Production(Nonterminal.USE_STMT, 4, "<UseStmt> ::= <LblDef> T_USE <Name> T_EOS");
-        public static final Production USE_STMT_1348 = new Production(Nonterminal.USE_STMT, 6, "<UseStmt> ::= <LblDef> T_USE <Name> T_COMMA <RenameList> T_EOS");
-        public static final Production USE_STMT_1349 = new Production(Nonterminal.USE_STMT, 7, "<UseStmt> ::= <LblDef> T_USE <Name> T_COMMA T_ONLY T_COLON T_EOS");
-        public static final Production USE_STMT_1350 = new Production(Nonterminal.USE_STMT, 8, "<UseStmt> ::= <LblDef> T_USE <Name> T_COMMA T_ONLY T_COLON <OnlyList> T_EOS");
-        public static final Production MODULE_NATURE_1351 = new Production(Nonterminal.MODULE_NATURE, 1, "<ModuleNature> ::= T_INTRINSIC");
-        public static final Production MODULE_NATURE_1352 = new Production(Nonterminal.MODULE_NATURE, 1, "<ModuleNature> ::= T_NON_INTRINSIC");
-        public static final Production RENAME_LIST_1353 = new Production(Nonterminal.RENAME_LIST, 1, "<RenameList> ::= <Rename>");
-        public static final Production RENAME_LIST_1354 = new Production(Nonterminal.RENAME_LIST, 3, "<RenameList> ::= <RenameList> T_COMMA <Rename>");
-        public static final Production ONLY_LIST_1355 = new Production(Nonterminal.ONLY_LIST, 1, "<OnlyList> ::= <Only>");
-        public static final Production ONLY_LIST_1356 = new Production(Nonterminal.ONLY_LIST, 3, "<OnlyList> ::= <OnlyList> T_COMMA <Only>");
-        public static final Production RENAME_1357 = new Production(Nonterminal.RENAME, 3, "<Rename> ::= T_IDENT T_EQGREATERTHAN <UseName>");
-        public static final Production RENAME_1358 = new Production(Nonterminal.RENAME, 9, "<Rename> ::= T_OPERATOR T_LPAREN T_XDOP T_RPAREN T_EQGREATERTHAN T_OPERATOR T_LPAREN T_XDOP T_RPAREN");
-        public static final Production ONLY_1359 = new Production(Nonterminal.ONLY, 1, "<Only> ::= <GenericSpec>");
-        public static final Production ONLY_1360 = new Production(Nonterminal.ONLY, 1, "<Only> ::= <UseName>");
-        public static final Production ONLY_1361 = new Production(Nonterminal.ONLY, 3, "<Only> ::= T_IDENT T_EQGREATERTHAN <UseName>");
-        public static final Production ONLY_1362 = new Production(Nonterminal.ONLY, 9, "<Only> ::= T_OPERATOR T_LPAREN <DefinedOperator> T_RPAREN T_EQGREATERTHAN T_OPERATOR T_LPAREN <DefinedOperator> T_RPAREN");
-        public static final Production BLOCK_DATA_STMT_1363 = new Production(Nonterminal.BLOCK_DATA_STMT, 4, "<BlockDataStmt> ::= <LblDef> T_BLOCKDATA <BlockDataName> T_EOS");
-        public static final Production BLOCK_DATA_STMT_1364 = new Production(Nonterminal.BLOCK_DATA_STMT, 3, "<BlockDataStmt> ::= <LblDef> T_BLOCKDATA T_EOS");
-        public static final Production BLOCK_DATA_STMT_1365 = new Production(Nonterminal.BLOCK_DATA_STMT, 5, "<BlockDataStmt> ::= <LblDef> T_BLOCK T_DATA <BlockDataName> T_EOS");
-        public static final Production BLOCK_DATA_STMT_1366 = new Production(Nonterminal.BLOCK_DATA_STMT, 4, "<BlockDataStmt> ::= <LblDef> T_BLOCK T_DATA T_EOS");
-        public static final Production END_BLOCK_DATA_STMT_1367 = new Production(Nonterminal.END_BLOCK_DATA_STMT, 3, "<EndBlockDataStmt> ::= <LblDef> T_END T_EOS");
-        public static final Production END_BLOCK_DATA_STMT_1368 = new Production(Nonterminal.END_BLOCK_DATA_STMT, 3, "<EndBlockDataStmt> ::= <LblDef> T_ENDBLOCKDATA T_EOS");
-        public static final Production END_BLOCK_DATA_STMT_1369 = new Production(Nonterminal.END_BLOCK_DATA_STMT, 4, "<EndBlockDataStmt> ::= <LblDef> T_ENDBLOCKDATA <EndName> T_EOS");
-        public static final Production END_BLOCK_DATA_STMT_1370 = new Production(Nonterminal.END_BLOCK_DATA_STMT, 4, "<EndBlockDataStmt> ::= <LblDef> T_END T_BLOCKDATA T_EOS");
-        public static final Production END_BLOCK_DATA_STMT_1371 = new Production(Nonterminal.END_BLOCK_DATA_STMT, 5, "<EndBlockDataStmt> ::= <LblDef> T_END T_BLOCKDATA <EndName> T_EOS");
-        public static final Production END_BLOCK_DATA_STMT_1372 = new Production(Nonterminal.END_BLOCK_DATA_STMT, 4, "<EndBlockDataStmt> ::= <LblDef> T_ENDBLOCK T_DATA T_EOS");
-        public static final Production END_BLOCK_DATA_STMT_1373 = new Production(Nonterminal.END_BLOCK_DATA_STMT, 5, "<EndBlockDataStmt> ::= <LblDef> T_ENDBLOCK T_DATA <EndName> T_EOS");
-        public static final Production END_BLOCK_DATA_STMT_1374 = new Production(Nonterminal.END_BLOCK_DATA_STMT, 5, "<EndBlockDataStmt> ::= <LblDef> T_END T_BLOCK T_DATA T_EOS");
-        public static final Production END_BLOCK_DATA_STMT_1375 = new Production(Nonterminal.END_BLOCK_DATA_STMT, 6, "<EndBlockDataStmt> ::= <LblDef> T_END T_BLOCK T_DATA <EndName> T_EOS");
-        public static final Production INTERFACE_BLOCK_1376 = new Production(Nonterminal.INTERFACE_BLOCK, 2, "<InterfaceBlock> ::= <InterfaceStmt> <InterfaceRange>");
-        public static final Production INTERFACE_RANGE_1377 = new Production(Nonterminal.INTERFACE_RANGE, 2, "<InterfaceRange> ::= <InterfaceBlockBody> <EndInterfaceStmt>");
-        public static final Production INTERFACE_BLOCK_BODY_1378 = new Production(Nonterminal.INTERFACE_BLOCK_BODY, 1, "<InterfaceBlockBody> ::= <InterfaceSpecification>");
-        public static final Production INTERFACE_BLOCK_BODY_1379 = new Production(Nonterminal.INTERFACE_BLOCK_BODY, 2, "<InterfaceBlockBody> ::= <InterfaceBlockBody> <InterfaceSpecification>");
-        public static final Production INTERFACE_SPECIFICATION_1380 = new Production(Nonterminal.INTERFACE_SPECIFICATION, 1, "<InterfaceSpecification> ::= <InterfaceBody>");
-        public static final Production INTERFACE_SPECIFICATION_1381 = new Production(Nonterminal.INTERFACE_SPECIFICATION, 1, "<InterfaceSpecification> ::= <ModuleProcedureStmt>");
-        public static final Production INTERFACE_STMT_1382 = new Production(Nonterminal.INTERFACE_STMT, 4, "<InterfaceStmt> ::= <LblDef> T_INTERFACE <GenericName> T_EOS");
-        public static final Production INTERFACE_STMT_1383 = new Production(Nonterminal.INTERFACE_STMT, 4, "<InterfaceStmt> ::= <LblDef> T_INTERFACE <GenericSpec> T_EOS");
-        public static final Production INTERFACE_STMT_1384 = new Production(Nonterminal.INTERFACE_STMT, 3, "<InterfaceStmt> ::= <LblDef> T_INTERFACE T_EOS");
-        public static final Production INTERFACE_STMT_1385 = new Production(Nonterminal.INTERFACE_STMT, 4, "<InterfaceStmt> ::= <LblDef> T_ABSTRACT T_INTERFACE T_EOS");
-        public static final Production END_INTERFACE_STMT_1386 = new Production(Nonterminal.END_INTERFACE_STMT, 3, "<EndInterfaceStmt> ::= <LblDef> T_ENDINTERFACE T_EOS");
-        public static final Production END_INTERFACE_STMT_1387 = new Production(Nonterminal.END_INTERFACE_STMT, 4, "<EndInterfaceStmt> ::= <LblDef> T_ENDINTERFACE <EndName> T_EOS");
-        public static final Production END_INTERFACE_STMT_1388 = new Production(Nonterminal.END_INTERFACE_STMT, 4, "<EndInterfaceStmt> ::= <LblDef> T_END T_INTERFACE T_EOS");
-        public static final Production END_INTERFACE_STMT_1389 = new Production(Nonterminal.END_INTERFACE_STMT, 5, "<EndInterfaceStmt> ::= <LblDef> T_END T_INTERFACE <EndName> T_EOS");
-        public static final Production INTERFACE_BODY_1390 = new Production(Nonterminal.INTERFACE_BODY, 2, "<InterfaceBody> ::= <FunctionStmt> <FunctionInterfaceRange>");
-        public static final Production INTERFACE_BODY_1391 = new Production(Nonterminal.INTERFACE_BODY, 2, "<InterfaceBody> ::= <SubroutineStmt> <SubroutineInterfaceRange>");
-        public static final Production FUNCTION_INTERFACE_RANGE_1392 = new Production(Nonterminal.FUNCTION_INTERFACE_RANGE, 2, "<FunctionInterfaceRange> ::= <SubprogramInterfaceBody> <EndFunctionStmt>");
-        public static final Production FUNCTION_INTERFACE_RANGE_1393 = new Production(Nonterminal.FUNCTION_INTERFACE_RANGE, 1, "<FunctionInterfaceRange> ::= <EndFunctionStmt>");
-        public static final Production SUBROUTINE_INTERFACE_RANGE_1394 = new Production(Nonterminal.SUBROUTINE_INTERFACE_RANGE, 2, "<SubroutineInterfaceRange> ::= <SubprogramInterfaceBody> <EndSubroutineStmt>");
-        public static final Production SUBROUTINE_INTERFACE_RANGE_1395 = new Production(Nonterminal.SUBROUTINE_INTERFACE_RANGE, 1, "<SubroutineInterfaceRange> ::= <EndSubroutineStmt>");
-        public static final Production SUBPROGRAM_INTERFACE_BODY_1396 = new Production(Nonterminal.SUBPROGRAM_INTERFACE_BODY, 1, "<SubprogramInterfaceBody> ::= <SpecificationPartConstruct>");
-        public static final Production SUBPROGRAM_INTERFACE_BODY_1397 = new Production(Nonterminal.SUBPROGRAM_INTERFACE_BODY, 2, "<SubprogramInterfaceBody> ::= <SubprogramInterfaceBody> <SpecificationPartConstruct>");
-        public static final Production MODULE_PROCEDURE_STMT_1398 = new Production(Nonterminal.MODULE_PROCEDURE_STMT, 5, "<ModuleProcedureStmt> ::= <LblDef> T_MODULE T_PROCEDURE <ProcedureNameList> T_EOS");
-        public static final Production PROCEDURE_NAME_LIST_1399 = new Production(Nonterminal.PROCEDURE_NAME_LIST, 1, "<ProcedureNameList> ::= <ProcedureName>");
-        public static final Production PROCEDURE_NAME_LIST_1400 = new Production(Nonterminal.PROCEDURE_NAME_LIST, 3, "<ProcedureNameList> ::= <ProcedureNameList> T_COMMA <ProcedureName>");
-        public static final Production PROCEDURE_NAME_1401 = new Production(Nonterminal.PROCEDURE_NAME, 1, "<ProcedureName> ::= T_IDENT");
-        public static final Production GENERIC_SPEC_1402 = new Production(Nonterminal.GENERIC_SPEC, 4, "<GenericSpec> ::= T_OPERATOR T_LPAREN <DefinedOperator> T_RPAREN");
-        public static final Production GENERIC_SPEC_1403 = new Production(Nonterminal.GENERIC_SPEC, 4, "<GenericSpec> ::= T_ASSIGNMENT T_LPAREN T_EQUALS T_RPAREN");
-        public static final Production GENERIC_SPEC_1404 = new Production(Nonterminal.GENERIC_SPEC, 4, "<GenericSpec> ::= T_READ T_LPAREN T_IDENT T_RPAREN");
-        public static final Production GENERIC_SPEC_1405 = new Production(Nonterminal.GENERIC_SPEC, 4, "<GenericSpec> ::= T_WRITE T_LPAREN T_IDENT T_RPAREN");
-        public static final Production IMPORT_STMT_1406 = new Production(Nonterminal.IMPORT_STMT, 3, "<ImportStmt> ::= <LblDef> T_IMPORT T_EOS");
-        public static final Production IMPORT_STMT_1407 = new Production(Nonterminal.IMPORT_STMT, 4, "<ImportStmt> ::= <LblDef> T_IMPORT <ImportList> T_EOS");
-        public static final Production IMPORT_STMT_1408 = new Production(Nonterminal.IMPORT_STMT, 6, "<ImportStmt> ::= <LblDef> T_IMPORT T_COLON T_COLON <ImportList> T_EOS");
-        public static final Production IMPORT_LIST_1409 = new Production(Nonterminal.IMPORT_LIST, 1, "<ImportList> ::= T_IDENT");
-        public static final Production IMPORT_LIST_1410 = new Production(Nonterminal.IMPORT_LIST, 3, "<ImportList> ::= <ImportList> T_COMMA T_IDENT");
-        public static final Production PROCEDURE_DECLARATION_STMT_1411 = new Production(Nonterminal.PROCEDURE_DECLARATION_STMT, 11, "<ProcedureDeclarationStmt> ::= <LblDef> T_PROCEDURE T_LPAREN <ProcInterface> T_RPAREN T_COMMA <ProcAttrSpecList> T_COLON T_COLON <ProcDeclList> T_EOS");
-        public static final Production PROCEDURE_DECLARATION_STMT_1412 = new Production(Nonterminal.PROCEDURE_DECLARATION_STMT, 9, "<ProcedureDeclarationStmt> ::= <LblDef> T_PROCEDURE T_LPAREN <ProcInterface> T_RPAREN T_COLON T_COLON <ProcDeclList> T_EOS");
-        public static final Production PROCEDURE_DECLARATION_STMT_1413 = new Production(Nonterminal.PROCEDURE_DECLARATION_STMT, 7, "<ProcedureDeclarationStmt> ::= <LblDef> T_PROCEDURE T_LPAREN <ProcInterface> T_RPAREN <ProcDeclList> T_EOS");
-        public static final Production PROCEDURE_DECLARATION_STMT_1414 = new Production(Nonterminal.PROCEDURE_DECLARATION_STMT, 10, "<ProcedureDeclarationStmt> ::= <LblDef> T_PROCEDURE T_LPAREN T_RPAREN T_COMMA <ProcAttrSpecList> T_COLON T_COLON <ProcDeclList> T_EOS");
-        public static final Production PROCEDURE_DECLARATION_STMT_1415 = new Production(Nonterminal.PROCEDURE_DECLARATION_STMT, 8, "<ProcedureDeclarationStmt> ::= <LblDef> T_PROCEDURE T_LPAREN T_RPAREN T_COLON T_COLON <ProcDeclList> T_EOS");
-        public static final Production PROCEDURE_DECLARATION_STMT_1416 = new Production(Nonterminal.PROCEDURE_DECLARATION_STMT, 6, "<ProcedureDeclarationStmt> ::= <LblDef> T_PROCEDURE T_LPAREN T_RPAREN <ProcDeclList> T_EOS");
-        public static final Production PROC_ATTR_SPEC_LIST_1417 = new Production(Nonterminal.PROC_ATTR_SPEC_LIST, 1, "<ProcAttrSpecList> ::= <ProcAttrSpec>");
-        public static final Production PROC_ATTR_SPEC_LIST_1418 = new Production(Nonterminal.PROC_ATTR_SPEC_LIST, 3, "<ProcAttrSpecList> ::= <ProcAttrSpecList> T_COMMA <ProcAttrSpec>");
-        public static final Production PROC_ATTR_SPEC_1419 = new Production(Nonterminal.PROC_ATTR_SPEC, 1, "<ProcAttrSpec> ::= <AccessSpec>");
-        public static final Production PROC_ATTR_SPEC_1420 = new Production(Nonterminal.PROC_ATTR_SPEC, 4, "<ProcAttrSpec> ::= T_INTENT T_LPAREN <IntentSpec> T_RPAREN");
-        public static final Production PROC_ATTR_SPEC_1421 = new Production(Nonterminal.PROC_ATTR_SPEC, 1, "<ProcAttrSpec> ::= T_OPTIONAL");
-        public static final Production PROC_ATTR_SPEC_1422 = new Production(Nonterminal.PROC_ATTR_SPEC, 1, "<ProcAttrSpec> ::= T_POINTER");
-        public static final Production PROC_ATTR_SPEC_1423 = new Production(Nonterminal.PROC_ATTR_SPEC, 1, "<ProcAttrSpec> ::= T_SAVE");
-        public static final Production EXTERNAL_STMT_1424 = new Production(Nonterminal.EXTERNAL_STMT, 4, "<ExternalStmt> ::= <LblDef> T_EXTERNAL <ExternalNameList> T_EOS");
-        public static final Production EXTERNAL_STMT_1425 = new Production(Nonterminal.EXTERNAL_STMT, 6, "<ExternalStmt> ::= <LblDef> T_EXTERNAL T_COLON T_COLON <ExternalNameList> T_EOS");
-        public static final Production EXTERNAL_NAME_LIST_1426 = new Production(Nonterminal.EXTERNAL_NAME_LIST, 1, "<ExternalNameList> ::= <ExternalName>");
-        public static final Production EXTERNAL_NAME_LIST_1427 = new Production(Nonterminal.EXTERNAL_NAME_LIST, 3, "<ExternalNameList> ::= <ExternalNameList> T_COMMA <ExternalName>");
-        public static final Production INTRINSIC_STMT_1428 = new Production(Nonterminal.INTRINSIC_STMT, 4, "<IntrinsicStmt> ::= <LblDef> T_INTRINSIC <IntrinsicList> T_EOS");
-        public static final Production INTRINSIC_STMT_1429 = new Production(Nonterminal.INTRINSIC_STMT, 6, "<IntrinsicStmt> ::= <LblDef> T_INTRINSIC T_COLON T_COLON <IntrinsicList> T_EOS");
-        public static final Production INTRINSIC_LIST_1430 = new Production(Nonterminal.INTRINSIC_LIST, 1, "<IntrinsicList> ::= <IntrinsicProcedureName>");
-        public static final Production INTRINSIC_LIST_1431 = new Production(Nonterminal.INTRINSIC_LIST, 3, "<IntrinsicList> ::= <IntrinsicList> T_COMMA <IntrinsicProcedureName>");
-        public static final Production FUNCTION_REFERENCE_1432 = new Production(Nonterminal.FUNCTION_REFERENCE, 3, "<FunctionReference> ::= <Name> T_LPAREN T_RPAREN");
-        public static final Production FUNCTION_REFERENCE_1433 = new Production(Nonterminal.FUNCTION_REFERENCE, 4, "<FunctionReference> ::= <Name> T_LPAREN <FunctionArgList> T_RPAREN");
-        public static final Production CALL_STMT_1434 = new Production(Nonterminal.CALL_STMT, 4, "<CallStmt> ::= <LblDef> T_CALL <SubroutineNameUse> T_EOS");
-        public static final Production CALL_STMT_1435 = new Production(Nonterminal.CALL_STMT, 5, "<CallStmt> ::= <LblDef> T_CALL <SubroutineNameUse> <DerivedTypeQualifiers> T_EOS");
-        public static final Production CALL_STMT_1436 = new Production(Nonterminal.CALL_STMT, 5, "<CallStmt> ::= <LblDef> T_CALL <SubroutineNameUse> <ParenthesizedSubroutineArgList> T_EOS");
-        public static final Production CALL_STMT_1437 = new Production(Nonterminal.CALL_STMT, 6, "<CallStmt> ::= <LblDef> T_CALL <SubroutineNameUse> <DerivedTypeQualifiers> <ParenthesizedSubroutineArgList> T_EOS");
-        public static final Production DERIVED_TYPE_QUALIFIERS_1438 = new Production(Nonterminal.DERIVED_TYPE_QUALIFIERS, 2, "<DerivedTypeQualifiers> ::= T_PERCENT <Name>");
-        public static final Production DERIVED_TYPE_QUALIFIERS_1439 = new Production(Nonterminal.DERIVED_TYPE_QUALIFIERS, 3, "<DerivedTypeQualifiers> ::= <ParenthesizedSubroutineArgList> T_PERCENT <Name>");
-        public static final Production DERIVED_TYPE_QUALIFIERS_1440 = new Production(Nonterminal.DERIVED_TYPE_QUALIFIERS, 3, "<DerivedTypeQualifiers> ::= <DerivedTypeQualifiers> T_PERCENT <Name>");
-        public static final Production DERIVED_TYPE_QUALIFIERS_1441 = new Production(Nonterminal.DERIVED_TYPE_QUALIFIERS, 4, "<DerivedTypeQualifiers> ::= <DerivedTypeQualifiers> <ParenthesizedSubroutineArgList> T_PERCENT <Name>");
-        public static final Production PARENTHESIZED_SUBROUTINE_ARG_LIST_1442 = new Production(Nonterminal.PARENTHESIZED_SUBROUTINE_ARG_LIST, 2, "<ParenthesizedSubroutineArgList> ::= T_LPAREN T_RPAREN");
-        public static final Production PARENTHESIZED_SUBROUTINE_ARG_LIST_1443 = new Production(Nonterminal.PARENTHESIZED_SUBROUTINE_ARG_LIST, 3, "<ParenthesizedSubroutineArgList> ::= T_LPAREN <SubroutineArgList> T_RPAREN");
-        public static final Production SUBROUTINE_ARG_LIST_1444 = new Production(Nonterminal.SUBROUTINE_ARG_LIST, 1, "<SubroutineArgList> ::= <SubroutineArg>");
-        public static final Production SUBROUTINE_ARG_LIST_1445 = new Production(Nonterminal.SUBROUTINE_ARG_LIST, 3, "<SubroutineArgList> ::= <SubroutineArgList> T_COMMA <SubroutineArg>");
-        public static final Production FUNCTION_ARG_LIST_1446 = new Production(Nonterminal.FUNCTION_ARG_LIST, 1, "<FunctionArgList> ::= <FunctionArg>");
-        public static final Production FUNCTION_ARG_LIST_1447 = new Production(Nonterminal.FUNCTION_ARG_LIST, 3, "<FunctionArgList> ::= <SectionSubscriptList> T_COMMA <FunctionArg>");
-        public static final Production FUNCTION_ARG_LIST_1448 = new Production(Nonterminal.FUNCTION_ARG_LIST, 3, "<FunctionArgList> ::= <FunctionArgList> T_COMMA <FunctionArg>");
-        public static final Production FUNCTION_ARG_1449 = new Production(Nonterminal.FUNCTION_ARG, 3, "<FunctionArg> ::= <Name> T_EQUALS <Expr>");
-        public static final Production SUBROUTINE_ARG_1450 = new Production(Nonterminal.SUBROUTINE_ARG, 1, "<SubroutineArg> ::= <Expr>");
-        public static final Production SUBROUTINE_ARG_1451 = new Production(Nonterminal.SUBROUTINE_ARG, 2, "<SubroutineArg> ::= T_ASTERISK <LblRef>");
-        public static final Production SUBROUTINE_ARG_1452 = new Production(Nonterminal.SUBROUTINE_ARG, 3, "<SubroutineArg> ::= <Name> T_EQUALS <Expr>");
-        public static final Production SUBROUTINE_ARG_1453 = new Production(Nonterminal.SUBROUTINE_ARG, 4, "<SubroutineArg> ::= <Name> T_EQUALS T_ASTERISK <LblRef>");
-        public static final Production SUBROUTINE_ARG_1454 = new Production(Nonterminal.SUBROUTINE_ARG, 1, "<SubroutineArg> ::= T_HCON");
-        public static final Production SUBROUTINE_ARG_1455 = new Production(Nonterminal.SUBROUTINE_ARG, 3, "<SubroutineArg> ::= <Name> T_EQUALS T_HCON");
-        public static final Production FUNCTION_STMT_1456 = new Production(Nonterminal.FUNCTION_STMT, 6, "<FunctionStmt> ::= <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN T_RPAREN T_EOS");
-        public static final Production FUNCTION_STMT_1457 = new Production(Nonterminal.FUNCTION_STMT, 10, "<FunctionStmt> ::= <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN T_RPAREN T_RESULT T_LPAREN <Name> T_RPAREN T_EOS");
-        public static final Production FUNCTION_STMT_1458 = new Production(Nonterminal.FUNCTION_STMT, 7, "<FunctionStmt> ::= <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN <FunctionPars> T_RPAREN T_EOS");
-        public static final Production FUNCTION_STMT_1459 = new Production(Nonterminal.FUNCTION_STMT, 11, "<FunctionStmt> ::= <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN <FunctionPars> T_RPAREN T_RESULT T_LPAREN <Name> T_RPAREN T_EOS");
-        public static final Production FUNCTION_STMT_1460 = new Production(Nonterminal.FUNCTION_STMT, 10, "<FunctionStmt> ::= <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN T_RPAREN T_BIND T_LPAREN T_IDENT T_RPAREN T_EOS");
-        public static final Production FUNCTION_STMT_1461 = new Production(Nonterminal.FUNCTION_STMT, 14, "<FunctionStmt> ::= <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN T_RPAREN T_BIND T_LPAREN T_IDENT T_RPAREN T_RESULT T_LPAREN <Name> T_RPAREN T_EOS");
-        public static final Production FUNCTION_STMT_1462 = new Production(Nonterminal.FUNCTION_STMT, 15, "<FunctionStmt> ::= <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN <FunctionPars> T_RPAREN T_BIND T_LPAREN T_IDENT T_RPAREN T_RESULT T_LPAREN <Name> T_RPAREN T_EOS");
-        public static final Production FUNCTION_STMT_1463 = new Production(Nonterminal.FUNCTION_STMT, 14, "<FunctionStmt> ::= <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN T_RPAREN T_RESULT T_LPAREN <Name> T_RPAREN T_BIND T_LPAREN T_IDENT T_RPAREN T_EOS");
-        public static final Production FUNCTION_STMT_1464 = new Production(Nonterminal.FUNCTION_STMT, 15, "<FunctionStmt> ::= <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN <FunctionPars> T_RPAREN T_BIND T_LPAREN T_IDENT T_RPAREN T_BIND T_LPAREN T_IDENT T_RPAREN T_EOS");
-        public static final Production FUNCTION_STMT_1465 = new Production(Nonterminal.FUNCTION_STMT, 15, "<FunctionStmt> ::= <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN <FunctionPars> T_RPAREN T_RESULT T_LPAREN <Name> T_RPAREN T_BIND T_LPAREN T_IDENT T_RPAREN T_EOS");
-        public static final Production FUNCTION_PARS_1466 = new Production(Nonterminal.FUNCTION_PARS, 1, "<FunctionPars> ::= <FunctionPar>");
-        public static final Production FUNCTION_PARS_1467 = new Production(Nonterminal.FUNCTION_PARS, 3, "<FunctionPars> ::= <FunctionPars> T_COMMA <FunctionPar>");
-        public static final Production FUNCTION_PAR_1468 = new Production(Nonterminal.FUNCTION_PAR, 1, "<FunctionPar> ::= <DummyArgName>");
-        public static final Production FUNCTION_PREFIX_1469 = new Production(Nonterminal.FUNCTION_PREFIX, 1, "<FunctionPrefix> ::= T_FUNCTION");
-        public static final Production FUNCTION_PREFIX_1470 = new Production(Nonterminal.FUNCTION_PREFIX, 2, "<FunctionPrefix> ::= <PrefixSpecList> T_FUNCTION");
-        public static final Production PREFIX_SPEC_LIST_1471 = new Production(Nonterminal.PREFIX_SPEC_LIST, 1, "<PrefixSpecList> ::= <PrefixSpec>");
-        public static final Production PREFIX_SPEC_LIST_1472 = new Production(Nonterminal.PREFIX_SPEC_LIST, 2, "<PrefixSpecList> ::= <PrefixSpecList> <PrefixSpec>");
-        public static final Production PREFIX_SPEC_1473 = new Production(Nonterminal.PREFIX_SPEC, 1, "<PrefixSpec> ::= <TypeSpec>");
-        public static final Production PREFIX_SPEC_1474 = new Production(Nonterminal.PREFIX_SPEC, 1, "<PrefixSpec> ::= T_RECURSIVE");
-        public static final Production PREFIX_SPEC_1475 = new Production(Nonterminal.PREFIX_SPEC, 1, "<PrefixSpec> ::= T_PURE");
-        public static final Production PREFIX_SPEC_1476 = new Production(Nonterminal.PREFIX_SPEC, 1, "<PrefixSpec> ::= T_ELEMENTAL");
-        public static final Production PREFIX_SPEC_1477 = new Production(Nonterminal.PREFIX_SPEC, 1, "<PrefixSpec> ::= T_IMPURE");
-        public static final Production PREFIX_SPEC_1478 = new Production(Nonterminal.PREFIX_SPEC, 1, "<PrefixSpec> ::= T_MODULE");
-        public static final Production END_FUNCTION_STMT_1479 = new Production(Nonterminal.END_FUNCTION_STMT, 3, "<EndFunctionStmt> ::= <LblDef> T_END T_EOS");
-        public static final Production END_FUNCTION_STMT_1480 = new Production(Nonterminal.END_FUNCTION_STMT, 3, "<EndFunctionStmt> ::= <LblDef> T_ENDFUNCTION T_EOS");
-        public static final Production END_FUNCTION_STMT_1481 = new Production(Nonterminal.END_FUNCTION_STMT, 4, "<EndFunctionStmt> ::= <LblDef> T_ENDFUNCTION <EndName> T_EOS");
-        public static final Production END_FUNCTION_STMT_1482 = new Production(Nonterminal.END_FUNCTION_STMT, 4, "<EndFunctionStmt> ::= <LblDef> T_END T_FUNCTION T_EOS");
-        public static final Production END_FUNCTION_STMT_1483 = new Production(Nonterminal.END_FUNCTION_STMT, 5, "<EndFunctionStmt> ::= <LblDef> T_END T_FUNCTION <EndName> T_EOS");
-        public static final Production SUBROUTINE_STMT_1484 = new Production(Nonterminal.SUBROUTINE_STMT, 4, "<SubroutineStmt> ::= <LblDef> <SubroutinePrefix> <SubroutineName> T_EOS");
-        public static final Production SUBROUTINE_STMT_1485 = new Production(Nonterminal.SUBROUTINE_STMT, 6, "<SubroutineStmt> ::= <LblDef> <SubroutinePrefix> <SubroutineName> T_LPAREN T_RPAREN T_EOS");
-        public static final Production SUBROUTINE_STMT_1486 = new Production(Nonterminal.SUBROUTINE_STMT, 7, "<SubroutineStmt> ::= <LblDef> <SubroutinePrefix> <SubroutineName> T_LPAREN <SubroutinePars> T_RPAREN T_EOS");
-        public static final Production SUBROUTINE_STMT_1487 = new Production(Nonterminal.SUBROUTINE_STMT, 10, "<SubroutineStmt> ::= <LblDef> <SubroutinePrefix> <SubroutineName> T_LPAREN T_RPAREN T_BIND T_LPAREN T_IDENT T_RPAREN T_EOS");
-        public static final Production SUBROUTINE_STMT_1488 = new Production(Nonterminal.SUBROUTINE_STMT, 11, "<SubroutineStmt> ::= <LblDef> <SubroutinePrefix> <SubroutineName> T_LPAREN <SubroutinePars> T_RPAREN T_BIND T_LPAREN T_IDENT T_RPAREN T_EOS");
-        public static final Production SUBROUTINE_PREFIX_1489 = new Production(Nonterminal.SUBROUTINE_PREFIX, 1, "<SubroutinePrefix> ::= T_SUBROUTINE");
-        public static final Production SUBROUTINE_PREFIX_1490 = new Production(Nonterminal.SUBROUTINE_PREFIX, 2, "<SubroutinePrefix> ::= <PrefixSpecList> T_SUBROUTINE");
-        public static final Production SUBROUTINE_PARS_1491 = new Production(Nonterminal.SUBROUTINE_PARS, 1, "<SubroutinePars> ::= <SubroutinePar>");
-        public static final Production SUBROUTINE_PARS_1492 = new Production(Nonterminal.SUBROUTINE_PARS, 3, "<SubroutinePars> ::= <SubroutinePars> T_COMMA <SubroutinePar>");
-        public static final Production SUBROUTINE_PAR_1493 = new Production(Nonterminal.SUBROUTINE_PAR, 1, "<SubroutinePar> ::= <DummyArgName>");
-        public static final Production SUBROUTINE_PAR_1494 = new Production(Nonterminal.SUBROUTINE_PAR, 1, "<SubroutinePar> ::= T_ASTERISK");
-        public static final Production END_SUBROUTINE_STMT_1495 = new Production(Nonterminal.END_SUBROUTINE_STMT, 3, "<EndSubroutineStmt> ::= <LblDef> T_END T_EOS");
-        public static final Production END_SUBROUTINE_STMT_1496 = new Production(Nonterminal.END_SUBROUTINE_STMT, 3, "<EndSubroutineStmt> ::= <LblDef> T_ENDSUBROUTINE T_EOS");
-        public static final Production END_SUBROUTINE_STMT_1497 = new Production(Nonterminal.END_SUBROUTINE_STMT, 4, "<EndSubroutineStmt> ::= <LblDef> T_ENDSUBROUTINE <EndName> T_EOS");
-        public static final Production END_SUBROUTINE_STMT_1498 = new Production(Nonterminal.END_SUBROUTINE_STMT, 4, "<EndSubroutineStmt> ::= <LblDef> T_END T_SUBROUTINE T_EOS");
-        public static final Production END_SUBROUTINE_STMT_1499 = new Production(Nonterminal.END_SUBROUTINE_STMT, 5, "<EndSubroutineStmt> ::= <LblDef> T_END T_SUBROUTINE <EndName> T_EOS");
-        public static final Production ENTRY_STMT_1500 = new Production(Nonterminal.ENTRY_STMT, 4, "<EntryStmt> ::= <LblDef> T_ENTRY <EntryName> T_EOS");
-        public static final Production ENTRY_STMT_1501 = new Production(Nonterminal.ENTRY_STMT, 7, "<EntryStmt> ::= <LblDef> T_ENTRY <EntryName> T_LPAREN <SubroutinePars> T_RPAREN T_EOS");
-        public static final Production RETURN_STMT_1502 = new Production(Nonterminal.RETURN_STMT, 3, "<ReturnStmt> ::= <LblDef> T_RETURN T_EOS");
-        public static final Production RETURN_STMT_1503 = new Production(Nonterminal.RETURN_STMT, 4, "<ReturnStmt> ::= <LblDef> T_RETURN <Expr> T_EOS");
-        public static final Production CONTAINS_STMT_1504 = new Production(Nonterminal.CONTAINS_STMT, 3, "<ContainsStmt> ::= <LblDef> T_CONTAINS T_EOS");
-        public static final Production STMT_FUNCTION_STMT_1505 = new Production(Nonterminal.STMT_FUNCTION_STMT, 3, "<StmtFunctionStmt> ::= <LblDef> <Name> <StmtFunctionRange>");
-        public static final Production STMT_FUNCTION_RANGE_1506 = new Production(Nonterminal.STMT_FUNCTION_RANGE, 5, "<StmtFunctionRange> ::= T_LPAREN T_RPAREN T_EQUALS <Expr> T_EOS");
-        public static final Production STMT_FUNCTION_RANGE_1507 = new Production(Nonterminal.STMT_FUNCTION_RANGE, 6, "<StmtFunctionRange> ::= T_LPAREN <SFDummyArgNameList> T_RPAREN T_EQUALS <Expr> T_EOS");
-        public static final Production SFDUMMY_ARG_NAME_LIST_1508 = new Production(Nonterminal.SFDUMMY_ARG_NAME_LIST, 1, "<SFDummyArgNameList> ::= <SFDummyArgName>");
-        public static final Production SFDUMMY_ARG_NAME_LIST_1509 = new Production(Nonterminal.SFDUMMY_ARG_NAME_LIST, 3, "<SFDummyArgNameList> ::= <SFDummyArgNameList> T_COMMA <SFDummyArgName>");
-        public static final Production ARRAY_NAME_1510 = new Production(Nonterminal.ARRAY_NAME, 1, "<ArrayName> ::= T_IDENT");
-        public static final Production BLOCK_DATA_NAME_1511 = new Production(Nonterminal.BLOCK_DATA_NAME, 1, "<BlockDataName> ::= T_IDENT");
-        public static final Production COMMON_BLOCK_NAME_1512 = new Production(Nonterminal.COMMON_BLOCK_NAME, 1, "<CommonBlockName> ::= T_IDENT");
-        public static final Production COMPONENT_NAME_1513 = new Production(Nonterminal.COMPONENT_NAME, 1, "<ComponentName> ::= T_IDENT");
-        public static final Production DUMMY_ARG_NAME_1514 = new Production(Nonterminal.DUMMY_ARG_NAME, 1, "<DummyArgName> ::= T_IDENT");
-        public static final Production END_NAME_1515 = new Production(Nonterminal.END_NAME, 1, "<EndName> ::= T_IDENT");
-        public static final Production ENTRY_NAME_1516 = new Production(Nonterminal.ENTRY_NAME, 1, "<EntryName> ::= T_IDENT");
-        public static final Production EXTERNAL_NAME_1517 = new Production(Nonterminal.EXTERNAL_NAME, 1, "<ExternalName> ::= T_IDENT");
-        public static final Production FUNCTION_NAME_1518 = new Production(Nonterminal.FUNCTION_NAME, 1, "<FunctionName> ::= T_IDENT");
-        public static final Production GENERIC_NAME_1519 = new Production(Nonterminal.GENERIC_NAME, 1, "<GenericName> ::= T_IDENT");
-        public static final Production IMPLIED_DO_VARIABLE_1520 = new Production(Nonterminal.IMPLIED_DO_VARIABLE, 1, "<ImpliedDoVariable> ::= T_IDENT");
-        public static final Production INTRINSIC_PROCEDURE_NAME_1521 = new Production(Nonterminal.INTRINSIC_PROCEDURE_NAME, 1, "<IntrinsicProcedureName> ::= T_IDENT");
-        public static final Production MODULE_NAME_1522 = new Production(Nonterminal.MODULE_NAME, 1, "<ModuleName> ::= T_IDENT");
-        public static final Production NAMELIST_GROUP_NAME_1523 = new Production(Nonterminal.NAMELIST_GROUP_NAME, 1, "<NamelistGroupName> ::= T_IDENT");
-        public static final Production OBJECT_NAME_1524 = new Production(Nonterminal.OBJECT_NAME, 1, "<ObjectName> ::= T_IDENT");
-        public static final Production PROGRAM_NAME_1525 = new Production(Nonterminal.PROGRAM_NAME, 1, "<ProgramName> ::= T_IDENT");
-        public static final Production SFDUMMY_ARG_NAME_1526 = new Production(Nonterminal.SFDUMMY_ARG_NAME, 1, "<SFDummyArgName> ::= <Name>");
-        public static final Production SFVAR_NAME_1527 = new Production(Nonterminal.SFVAR_NAME, 1, "<SFVarName> ::= <Name>");
-        public static final Production SUBROUTINE_NAME_1528 = new Production(Nonterminal.SUBROUTINE_NAME, 1, "<SubroutineName> ::= T_IDENT");
-        public static final Production SUBROUTINE_NAME_USE_1529 = new Production(Nonterminal.SUBROUTINE_NAME_USE, 1, "<SubroutineNameUse> ::= T_IDENT");
-        public static final Production TYPE_NAME_1530 = new Production(Nonterminal.TYPE_NAME, 1, "<TypeName> ::= T_IDENT");
-        public static final Production USE_NAME_1531 = new Production(Nonterminal.USE_NAME, 1, "<UseName> ::= T_IDENT");
-        public static final Production LBL_DEF_1532 = new Production(Nonterminal.LBL_DEF, 0, "<LblDef> ::= (empty)");
-        public static final Production LBL_DEF_1533 = new Production(Nonterminal.LBL_DEF, 1, "<LblDef> ::= <Label>");
-        public static final Production PAUSE_STMT_1534 = new Production(Nonterminal.PAUSE_STMT, 3, "<PauseStmt> ::= <LblDef> T_PAUSE T_EOS");
-        public static final Production PAUSE_STMT_1535 = new Production(Nonterminal.PAUSE_STMT, 4, "<PauseStmt> ::= <LblDef> T_PAUSE T_ICON T_EOS");
-        public static final Production PAUSE_STMT_1536 = new Production(Nonterminal.PAUSE_STMT, 4, "<PauseStmt> ::= <LblDef> T_PAUSE T_SCON T_EOS");
-        public static final Production ASSIGN_STMT_1537 = new Production(Nonterminal.ASSIGN_STMT, 6, "<AssignStmt> ::= <LblDef> T_ASSIGN <LblRef> T_TO <VariableName> T_EOS");
-        public static final Production ASSIGNED_GOTO_STMT_1538 = new Production(Nonterminal.ASSIGNED_GOTO_STMT, 4, "<AssignedGotoStmt> ::= <LblDef> <GoToKw> <VariableName> T_EOS");
-        public static final Production ASSIGNED_GOTO_STMT_1539 = new Production(Nonterminal.ASSIGNED_GOTO_STMT, 7, "<AssignedGotoStmt> ::= <LblDef> <GoToKw> <VariableName> T_LPAREN <LblRefList> T_RPAREN T_EOS");
-        public static final Production ASSIGNED_GOTO_STMT_1540 = new Production(Nonterminal.ASSIGNED_GOTO_STMT, 7, "<AssignedGotoStmt> ::= <LblDef> <GoToKw> <VariableComma> T_LPAREN <LblRefList> T_RPAREN T_EOS");
-        public static final Production VARIABLE_COMMA_1541 = new Production(Nonterminal.VARIABLE_COMMA, 2, "<VariableComma> ::= <VariableName> T_COMMA");
-        public static final Production PROGRAM_UNIT_ERROR_0 = new Production(Nonterminal.PROGRAM_UNIT, 0, "<ProgramUnit> ::= (empty)");
-        public static final Production BODY_CONSTRUCT_ERROR_1 = new Production(Nonterminal.BODY_CONSTRUCT, 0, "<BodyConstruct> ::= (empty)");
-        public static final Production TYPE_DECLARATION_STMT_ERROR_2 = new Production(Nonterminal.TYPE_DECLARATION_STMT, 2, "<TypeDeclarationStmt> ::= <LblDef> <TypeSpec>");
-        public static final Production DATA_STMT_ERROR_3 = new Production(Nonterminal.DATA_STMT, 2, "<DataStmt> ::= <LblDef> T_DATA");
-        public static final Production ALLOCATE_STMT_ERROR_4 = new Production(Nonterminal.ALLOCATE_STMT, 3, "<AllocateStmt> ::= <LblDef> T_ALLOCATE T_LPAREN");
-        public static final Production ASSIGNMENT_STMT_ERROR_5 = new Production(Nonterminal.ASSIGNMENT_STMT, 2, "<AssignmentStmt> ::= <LblDef> <Name>");
-        public static final Production FORALL_CONSTRUCT_STMT_ERROR_6 = new Production(Nonterminal.FORALL_CONSTRUCT_STMT, 2, "<ForallConstructStmt> ::= <LblDef> T_FORALL");
-        public static final Production FORALL_CONSTRUCT_STMT_ERROR_7 = new Production(Nonterminal.FORALL_CONSTRUCT_STMT, 4, "<ForallConstructStmt> ::= <LblDef> <Name> T_COLON T_FORALL");
-        public static final Production IF_THEN_ERROR_ERROR_8 = new Production(Nonterminal.IF_THEN_ERROR, 0, "<IfThenError> ::= (empty)");
-        public static final Production ELSE_IF_STMT_ERROR_9 = new Production(Nonterminal.ELSE_IF_STMT, 2, "<ElseIfStmt> ::= <LblDef> T_ELSEIF");
-        public static final Production ELSE_IF_STMT_ERROR_10 = new Production(Nonterminal.ELSE_IF_STMT, 3, "<ElseIfStmt> ::= <LblDef> T_ELSE T_IF");
-        public static final Production ELSE_STMT_ERROR_11 = new Production(Nonterminal.ELSE_STMT, 2, "<ElseStmt> ::= <LblDef> T_ELSE");
-        public static final Production IF_STMT_ERROR_12 = new Production(Nonterminal.IF_STMT, 2, "<IfStmt> ::= <LblDef> T_IF");
-        public static final Production SELECT_CASE_STMT_ERROR_13 = new Production(Nonterminal.SELECT_CASE_STMT, 4, "<SelectCaseStmt> ::= <LblDef> <Name> T_COLON T_SELECTCASE");
-        public static final Production SELECT_CASE_STMT_ERROR_14 = new Production(Nonterminal.SELECT_CASE_STMT, 2, "<SelectCaseStmt> ::= <LblDef> T_SELECTCASE");
-        public static final Production SELECT_CASE_STMT_ERROR_15 = new Production(Nonterminal.SELECT_CASE_STMT, 5, "<SelectCaseStmt> ::= <LblDef> <Name> T_COLON T_SELECT T_CASE");
-        public static final Production SELECT_CASE_STMT_ERROR_16 = new Production(Nonterminal.SELECT_CASE_STMT, 3, "<SelectCaseStmt> ::= <LblDef> T_SELECT T_CASE");
-        public static final Production CASE_STMT_ERROR_17 = new Production(Nonterminal.CASE_STMT, 2, "<CaseStmt> ::= <LblDef> T_CASE");
-        public static final Production FORMAT_STMT_ERROR_18 = new Production(Nonterminal.FORMAT_STMT, 2, "<FormatStmt> ::= <LblDef> T_FORMAT");
-        public static final Production FUNCTION_STMT_ERROR_19 = new Production(Nonterminal.FUNCTION_STMT, 3, "<FunctionStmt> ::= <LblDef> <FunctionPrefix> <FunctionName>");
-        public static final Production SUBROUTINE_STMT_ERROR_20 = new Production(Nonterminal.SUBROUTINE_STMT, 3, "<SubroutineStmt> ::= <LblDef> <SubroutinePrefix> <SubroutineName>");
-
-        protected static final int EXECUTABLE_PROGRAM_1_INDEX = 1;
-        protected static final int EXECUTABLE_PROGRAM_2_INDEX = 2;
-        protected static final int EMPTY_PROGRAM_3_INDEX = 3;
-        protected static final int EMPTY_PROGRAM_4_INDEX = 4;
-        protected static final int PROGRAM_UNIT_LIST_5_INDEX = 5;
-        protected static final int PROGRAM_UNIT_LIST_6_INDEX = 6;
-        protected static final int PROGRAM_UNIT_7_INDEX = 7;
-        protected static final int PROGRAM_UNIT_8_INDEX = 8;
-        protected static final int PROGRAM_UNIT_9_INDEX = 9;
-        protected static final int PROGRAM_UNIT_10_INDEX = 10;
-        protected static final int PROGRAM_UNIT_11_INDEX = 11;
-        protected static final int PROGRAM_UNIT_12_INDEX = 12;
-        protected static final int MAIN_PROGRAM_13_INDEX = 13;
-        protected static final int MAIN_PROGRAM_14_INDEX = 14;
-        protected static final int MAIN_RANGE_15_INDEX = 15;
-        protected static final int MAIN_RANGE_16_INDEX = 16;
-        protected static final int MAIN_RANGE_17_INDEX = 17;
-        protected static final int BODY_18_INDEX = 18;
-        protected static final int BODY_19_INDEX = 19;
-        protected static final int BODY_CONSTRUCT_20_INDEX = 20;
-        protected static final int BODY_CONSTRUCT_21_INDEX = 21;
-        protected static final int FUNCTION_SUBPROGRAM_22_INDEX = 22;
-        protected static final int FUNCTION_RANGE_23_INDEX = 23;
-        protected static final int FUNCTION_RANGE_24_INDEX = 24;
-        protected static final int FUNCTION_RANGE_25_INDEX = 25;
-        protected static final int SUBROUTINE_SUBPROGRAM_26_INDEX = 26;
-        protected static final int SUBROUTINE_RANGE_27_INDEX = 27;
-        protected static final int SUBROUTINE_RANGE_28_INDEX = 28;
-        protected static final int SUBROUTINE_RANGE_29_INDEX = 29;
-        protected static final int SEPARATE_MODULE_SUBPROGRAM_30_INDEX = 30;
-        protected static final int MP_SUBPROGRAM_RANGE_31_INDEX = 31;
-        protected static final int MP_SUBPROGRAM_RANGE_32_INDEX = 32;
-        protected static final int MP_SUBPROGRAM_RANGE_33_INDEX = 33;
-        protected static final int MP_SUBPROGRAM_STMT_34_INDEX = 34;
-        protected static final int END_MP_SUBPROGRAM_STMT_35_INDEX = 35;
-        protected static final int END_MP_SUBPROGRAM_STMT_36_INDEX = 36;
-        protected static final int END_MP_SUBPROGRAM_STMT_37_INDEX = 37;
-        protected static final int END_MP_SUBPROGRAM_STMT_38_INDEX = 38;
-        protected static final int END_MP_SUBPROGRAM_STMT_39_INDEX = 39;
-        protected static final int MODULE_40_INDEX = 40;
-        protected static final int MODULE_BLOCK_41_INDEX = 41;
-        protected static final int MODULE_BLOCK_42_INDEX = 42;
-        protected static final int MODULE_BODY_43_INDEX = 43;
-        protected static final int MODULE_BODY_44_INDEX = 44;
-        protected static final int MODULE_BODY_CONSTRUCT_45_INDEX = 45;
-        protected static final int MODULE_BODY_CONSTRUCT_46_INDEX = 46;
-        protected static final int SUBMODULE_47_INDEX = 47;
-        protected static final int SUBMODULE_BLOCK_48_INDEX = 48;
-        protected static final int SUBMODULE_BLOCK_49_INDEX = 49;
-        protected static final int SUBMODULE_STMT_50_INDEX = 50;
-        protected static final int PARENT_IDENTIFIER_51_INDEX = 51;
-        protected static final int PARENT_IDENTIFIER_52_INDEX = 52;
-        protected static final int END_SUBMODULE_STMT_53_INDEX = 53;
-        protected static final int END_SUBMODULE_STMT_54_INDEX = 54;
-        protected static final int END_SUBMODULE_STMT_55_INDEX = 55;
-        protected static final int END_SUBMODULE_STMT_56_INDEX = 56;
-        protected static final int END_SUBMODULE_STMT_57_INDEX = 57;
-        protected static final int BLOCK_DATA_SUBPROGRAM_58_INDEX = 58;
-        protected static final int BLOCK_DATA_SUBPROGRAM_59_INDEX = 59;
-        protected static final int BLOCK_DATA_BODY_60_INDEX = 60;
-        protected static final int BLOCK_DATA_BODY_61_INDEX = 61;
-        protected static final int BLOCK_DATA_BODY_CONSTRUCT_62_INDEX = 62;
-        protected static final int SPECIFICATION_PART_CONSTRUCT_63_INDEX = 63;
-        protected static final int SPECIFICATION_PART_CONSTRUCT_64_INDEX = 64;
-        protected static final int SPECIFICATION_PART_CONSTRUCT_65_INDEX = 65;
-        protected static final int SPECIFICATION_PART_CONSTRUCT_66_INDEX = 66;
-        protected static final int SPECIFICATION_PART_CONSTRUCT_67_INDEX = 67;
-        protected static final int SPECIFICATION_PART_CONSTRUCT_68_INDEX = 68;
-        protected static final int SPECIFICATION_PART_CONSTRUCT_69_INDEX = 69;
-        protected static final int DECLARATION_CONSTRUCT_70_INDEX = 70;
-        protected static final int DECLARATION_CONSTRUCT_71_INDEX = 71;
-        protected static final int DECLARATION_CONSTRUCT_72_INDEX = 72;
-        protected static final int DECLARATION_CONSTRUCT_73_INDEX = 73;
-        protected static final int DECLARATION_CONSTRUCT_74_INDEX = 74;
-        protected static final int DECLARATION_CONSTRUCT_75_INDEX = 75;
-        protected static final int EXECUTION_PART_CONSTRUCT_76_INDEX = 76;
-        protected static final int EXECUTION_PART_CONSTRUCT_77_INDEX = 77;
-        protected static final int EXECUTION_PART_CONSTRUCT_78_INDEX = 78;
-        protected static final int EXECUTION_PART_CONSTRUCT_79_INDEX = 79;
-        protected static final int OBSOLETE_EXECUTION_PART_CONSTRUCT_80_INDEX = 80;
-        protected static final int BODY_PLUS_INTERNALS_81_INDEX = 81;
-        protected static final int BODY_PLUS_INTERNALS_82_INDEX = 82;
-        protected static final int INTERNAL_SUBPROGRAMS_83_INDEX = 83;
-        protected static final int INTERNAL_SUBPROGRAMS_84_INDEX = 84;
-        protected static final int INTERNAL_SUBPROGRAM_85_INDEX = 85;
-        protected static final int INTERNAL_SUBPROGRAM_86_INDEX = 86;
-        protected static final int MODULE_SUBPROGRAM_PART_CONSTRUCT_87_INDEX = 87;
-        protected static final int MODULE_SUBPROGRAM_PART_CONSTRUCT_88_INDEX = 88;
-        protected static final int MODULE_SUBPROGRAM_PART_CONSTRUCT_89_INDEX = 89;
-        protected static final int MODULE_SUBPROGRAM_90_INDEX = 90;
-        protected static final int MODULE_SUBPROGRAM_91_INDEX = 91;
-        protected static final int SPECIFICATION_STMT_92_INDEX = 92;
-        protected static final int SPECIFICATION_STMT_93_INDEX = 93;
-        protected static final int SPECIFICATION_STMT_94_INDEX = 94;
-        protected static final int SPECIFICATION_STMT_95_INDEX = 95;
-        protected static final int SPECIFICATION_STMT_96_INDEX = 96;
-        protected static final int SPECIFICATION_STMT_97_INDEX = 97;
-        protected static final int SPECIFICATION_STMT_98_INDEX = 98;
-        protected static final int SPECIFICATION_STMT_99_INDEX = 99;
-        protected static final int SPECIFICATION_STMT_100_INDEX = 100;
-        protected static final int SPECIFICATION_STMT_101_INDEX = 101;
-        protected static final int SPECIFICATION_STMT_102_INDEX = 102;
-        protected static final int SPECIFICATION_STMT_103_INDEX = 103;
-        protected static final int SPECIFICATION_STMT_104_INDEX = 104;
-        protected static final int SPECIFICATION_STMT_105_INDEX = 105;
-        protected static final int SPECIFICATION_STMT_106_INDEX = 106;
-        protected static final int SPECIFICATION_STMT_107_INDEX = 107;
-        protected static final int SPECIFICATION_STMT_108_INDEX = 108;
-        protected static final int SPECIFICATION_STMT_109_INDEX = 109;
-        protected static final int SPECIFICATION_STMT_110_INDEX = 110;
-        protected static final int SPECIFICATION_STMT_111_INDEX = 111;
-        protected static final int SPECIFICATION_STMT_112_INDEX = 112;
-        protected static final int SPECIFICATION_STMT_113_INDEX = 113;
-        protected static final int SPECIFICATION_STMT_114_INDEX = 114;
-        protected static final int UNPROCESSED_INCLUDE_STMT_115_INDEX = 115;
-        protected static final int EXECUTABLE_CONSTRUCT_116_INDEX = 116;
-        protected static final int EXECUTABLE_CONSTRUCT_117_INDEX = 117;
-        protected static final int EXECUTABLE_CONSTRUCT_118_INDEX = 118;
-        protected static final int EXECUTABLE_CONSTRUCT_119_INDEX = 119;
-        protected static final int EXECUTABLE_CONSTRUCT_120_INDEX = 120;
-        protected static final int EXECUTABLE_CONSTRUCT_121_INDEX = 121;
-        protected static final int EXECUTABLE_CONSTRUCT_122_INDEX = 122;
-        protected static final int EXECUTABLE_CONSTRUCT_123_INDEX = 123;
-        protected static final int EXECUTABLE_CONSTRUCT_124_INDEX = 124;
-        protected static final int EXECUTABLE_CONSTRUCT_125_INDEX = 125;
-        protected static final int EXECUTABLE_CONSTRUCT_126_INDEX = 126;
-        protected static final int ACTION_STMT_127_INDEX = 127;
-        protected static final int ACTION_STMT_128_INDEX = 128;
-        protected static final int ACTION_STMT_129_INDEX = 129;
-        protected static final int ACTION_STMT_130_INDEX = 130;
-        protected static final int ACTION_STMT_131_INDEX = 131;
-        protected static final int ACTION_STMT_132_INDEX = 132;
-        protected static final int ACTION_STMT_133_INDEX = 133;
-        protected static final int ACTION_STMT_134_INDEX = 134;
-        protected static final int ACTION_STMT_135_INDEX = 135;
-        protected static final int ACTION_STMT_136_INDEX = 136;
-        protected static final int ACTION_STMT_137_INDEX = 137;
-        protected static final int ACTION_STMT_138_INDEX = 138;
-        protected static final int ACTION_STMT_139_INDEX = 139;
-        protected static final int ACTION_STMT_140_INDEX = 140;
-        protected static final int ACTION_STMT_141_INDEX = 141;
-        protected static final int ACTION_STMT_142_INDEX = 142;
-        protected static final int ACTION_STMT_143_INDEX = 143;
-        protected static final int ACTION_STMT_144_INDEX = 144;
-        protected static final int ACTION_STMT_145_INDEX = 145;
-        protected static final int ACTION_STMT_146_INDEX = 146;
-        protected static final int ACTION_STMT_147_INDEX = 147;
-        protected static final int ACTION_STMT_148_INDEX = 148;
-        protected static final int ACTION_STMT_149_INDEX = 149;
-        protected static final int ACTION_STMT_150_INDEX = 150;
-        protected static final int ACTION_STMT_151_INDEX = 151;
-        protected static final int ACTION_STMT_152_INDEX = 152;
-        protected static final int ACTION_STMT_153_INDEX = 153;
-        protected static final int ACTION_STMT_154_INDEX = 154;
-        protected static final int ACTION_STMT_155_INDEX = 155;
-        protected static final int ACTION_STMT_156_INDEX = 156;
-        protected static final int ACTION_STMT_157_INDEX = 157;
-        protected static final int ACTION_STMT_158_INDEX = 158;
-        protected static final int ACTION_STMT_159_INDEX = 159;
-        protected static final int ACTION_STMT_160_INDEX = 160;
-        protected static final int ACTION_STMT_161_INDEX = 161;
-        protected static final int OBSOLETE_ACTION_STMT_162_INDEX = 162;
-        protected static final int OBSOLETE_ACTION_STMT_163_INDEX = 163;
-        protected static final int OBSOLETE_ACTION_STMT_164_INDEX = 164;
-        protected static final int NAME_165_INDEX = 165;
-        protected static final int CONSTANT_166_INDEX = 166;
-        protected static final int CONSTANT_167_INDEX = 167;
-        protected static final int CONSTANT_168_INDEX = 168;
-        protected static final int CONSTANT_169_INDEX = 169;
-        protected static final int CONSTANT_170_INDEX = 170;
-        protected static final int CONSTANT_171_INDEX = 171;
-        protected static final int CONSTANT_172_INDEX = 172;
-        protected static final int CONSTANT_173_INDEX = 173;
-        protected static final int CONSTANT_174_INDEX = 174;
-        protected static final int CONSTANT_175_INDEX = 175;
-        protected static final int CONSTANT_176_INDEX = 176;
-        protected static final int NAMED_CONSTANT_177_INDEX = 177;
-        protected static final int NAMED_CONSTANT_USE_178_INDEX = 178;
-        protected static final int POWER_OP_179_INDEX = 179;
-        protected static final int MULT_OP_180_INDEX = 180;
-        protected static final int MULT_OP_181_INDEX = 181;
-        protected static final int ADD_OP_182_INDEX = 182;
-        protected static final int ADD_OP_183_INDEX = 183;
-        protected static final int SIGN_184_INDEX = 184;
-        protected static final int SIGN_185_INDEX = 185;
-        protected static final int CONCAT_OP_186_INDEX = 186;
-        protected static final int REL_OP_187_INDEX = 187;
-        protected static final int REL_OP_188_INDEX = 188;
-        protected static final int REL_OP_189_INDEX = 189;
-        protected static final int REL_OP_190_INDEX = 190;
-        protected static final int REL_OP_191_INDEX = 191;
-        protected static final int REL_OP_192_INDEX = 192;
-        protected static final int REL_OP_193_INDEX = 193;
-        protected static final int REL_OP_194_INDEX = 194;
-        protected static final int REL_OP_195_INDEX = 195;
-        protected static final int REL_OP_196_INDEX = 196;
-        protected static final int REL_OP_197_INDEX = 197;
-        protected static final int REL_OP_198_INDEX = 198;
-        protected static final int NOT_OP_199_INDEX = 199;
-        protected static final int AND_OP_200_INDEX = 200;
-        protected static final int OR_OP_201_INDEX = 201;
-        protected static final int EQUIV_OP_202_INDEX = 202;
-        protected static final int EQUIV_OP_203_INDEX = 203;
-        protected static final int DEFINED_OPERATOR_204_INDEX = 204;
-        protected static final int DEFINED_OPERATOR_205_INDEX = 205;
-        protected static final int DEFINED_OPERATOR_206_INDEX = 206;
-        protected static final int DEFINED_OPERATOR_207_INDEX = 207;
-        protected static final int DEFINED_OPERATOR_208_INDEX = 208;
-        protected static final int DEFINED_OPERATOR_209_INDEX = 209;
-        protected static final int DEFINED_OPERATOR_210_INDEX = 210;
-        protected static final int DEFINED_OPERATOR_211_INDEX = 211;
-        protected static final int DEFINED_OPERATOR_212_INDEX = 212;
-        protected static final int DEFINED_OPERATOR_213_INDEX = 213;
-        protected static final int DEFINED_UNARY_OP_214_INDEX = 214;
-        protected static final int DEFINED_BINARY_OP_215_INDEX = 215;
-        protected static final int LABEL_216_INDEX = 216;
-        protected static final int UNSIGNED_ARITHMETIC_CONSTANT_217_INDEX = 217;
-        protected static final int UNSIGNED_ARITHMETIC_CONSTANT_218_INDEX = 218;
-        protected static final int UNSIGNED_ARITHMETIC_CONSTANT_219_INDEX = 219;
-        protected static final int UNSIGNED_ARITHMETIC_CONSTANT_220_INDEX = 220;
-        protected static final int UNSIGNED_ARITHMETIC_CONSTANT_221_INDEX = 221;
-        protected static final int UNSIGNED_ARITHMETIC_CONSTANT_222_INDEX = 222;
-        protected static final int UNSIGNED_ARITHMETIC_CONSTANT_223_INDEX = 223;
-        protected static final int KIND_PARAM_224_INDEX = 224;
-        protected static final int KIND_PARAM_225_INDEX = 225;
-        protected static final int BOZ_LITERAL_CONSTANT_226_INDEX = 226;
-        protected static final int BOZ_LITERAL_CONSTANT_227_INDEX = 227;
-        protected static final int BOZ_LITERAL_CONSTANT_228_INDEX = 228;
-        protected static final int COMPLEX_CONST_229_INDEX = 229;
-        protected static final int LOGICAL_CONSTANT_230_INDEX = 230;
-        protected static final int LOGICAL_CONSTANT_231_INDEX = 231;
-        protected static final int LOGICAL_CONSTANT_232_INDEX = 232;
-        protected static final int LOGICAL_CONSTANT_233_INDEX = 233;
-        protected static final int DERIVED_TYPE_DEF_234_INDEX = 234;
-        protected static final int DERIVED_TYPE_DEF_235_INDEX = 235;
-        protected static final int DERIVED_TYPE_DEF_236_INDEX = 236;
-        protected static final int DERIVED_TYPE_DEF_237_INDEX = 237;
-        protected static final int DERIVED_TYPE_DEF_238_INDEX = 238;
-        protected static final int DERIVED_TYPE_DEF_239_INDEX = 239;
-        protected static final int DERIVED_TYPE_DEF_240_INDEX = 240;
-        protected static final int DERIVED_TYPE_DEF_241_INDEX = 241;
-        protected static final int DERIVED_TYPE_BODY_242_INDEX = 242;
-        protected static final int DERIVED_TYPE_BODY_243_INDEX = 243;
-        protected static final int DERIVED_TYPE_BODY_CONSTRUCT_244_INDEX = 244;
-        protected static final int DERIVED_TYPE_BODY_CONSTRUCT_245_INDEX = 245;
-        protected static final int DERIVED_TYPE_STMT_246_INDEX = 246;
-        protected static final int DERIVED_TYPE_STMT_247_INDEX = 247;
-        protected static final int DERIVED_TYPE_STMT_248_INDEX = 248;
-        protected static final int DERIVED_TYPE_STMT_249_INDEX = 249;
-        protected static final int DERIVED_TYPE_STMT_250_INDEX = 250;
-        protected static final int DERIVED_TYPE_STMT_251_INDEX = 251;
-        protected static final int TYPE_PARAM_NAME_LIST_252_INDEX = 252;
-        protected static final int TYPE_PARAM_NAME_LIST_253_INDEX = 253;
-        protected static final int TYPE_ATTR_SPEC_LIST_254_INDEX = 254;
-        protected static final int TYPE_ATTR_SPEC_LIST_255_INDEX = 255;
-        protected static final int TYPE_ATTR_SPEC_256_INDEX = 256;
-        protected static final int TYPE_ATTR_SPEC_257_INDEX = 257;
-        protected static final int TYPE_ATTR_SPEC_258_INDEX = 258;
-        protected static final int TYPE_ATTR_SPEC_259_INDEX = 259;
-        protected static final int TYPE_PARAM_NAME_260_INDEX = 260;
-        protected static final int PRIVATE_SEQUENCE_STMT_261_INDEX = 261;
-        protected static final int PRIVATE_SEQUENCE_STMT_262_INDEX = 262;
-        protected static final int TYPE_PARAM_DEF_STMT_263_INDEX = 263;
-        protected static final int TYPE_PARAM_DECL_LIST_264_INDEX = 264;
-        protected static final int TYPE_PARAM_DECL_LIST_265_INDEX = 265;
-        protected static final int TYPE_PARAM_DECL_266_INDEX = 266;
-        protected static final int TYPE_PARAM_DECL_267_INDEX = 267;
-        protected static final int TYPE_PARAM_ATTR_SPEC_268_INDEX = 268;
-        protected static final int TYPE_PARAM_ATTR_SPEC_269_INDEX = 269;
-        protected static final int COMPONENT_DEF_STMT_270_INDEX = 270;
-        protected static final int COMPONENT_DEF_STMT_271_INDEX = 271;
-        protected static final int DATA_COMPONENT_DEF_STMT_272_INDEX = 272;
-        protected static final int DATA_COMPONENT_DEF_STMT_273_INDEX = 273;
-        protected static final int DATA_COMPONENT_DEF_STMT_274_INDEX = 274;
-        protected static final int COMPONENT_ATTR_SPEC_LIST_275_INDEX = 275;
-        protected static final int COMPONENT_ATTR_SPEC_LIST_276_INDEX = 276;
-        protected static final int COMPONENT_ATTR_SPEC_277_INDEX = 277;
-        protected static final int COMPONENT_ATTR_SPEC_278_INDEX = 278;
-        protected static final int COMPONENT_ATTR_SPEC_279_INDEX = 279;
-        protected static final int COMPONENT_ATTR_SPEC_280_INDEX = 280;
-        protected static final int COMPONENT_ATTR_SPEC_281_INDEX = 281;
-        protected static final int COMPONENT_ATTR_SPEC_282_INDEX = 282;
-        protected static final int COMPONENT_ARRAY_SPEC_283_INDEX = 283;
-        protected static final int COMPONENT_ARRAY_SPEC_284_INDEX = 284;
-        protected static final int COMPONENT_DECL_LIST_285_INDEX = 285;
-        protected static final int COMPONENT_DECL_LIST_286_INDEX = 286;
-        protected static final int COMPONENT_DECL_287_INDEX = 287;
-        protected static final int COMPONENT_DECL_288_INDEX = 288;
-        protected static final int COMPONENT_DECL_289_INDEX = 289;
-        protected static final int COMPONENT_DECL_290_INDEX = 290;
-        protected static final int COMPONENT_DECL_291_INDEX = 291;
-        protected static final int COMPONENT_DECL_292_INDEX = 292;
-        protected static final int COMPONENT_DECL_293_INDEX = 293;
-        protected static final int COMPONENT_DECL_294_INDEX = 294;
-        protected static final int COMPONENT_DECL_295_INDEX = 295;
-        protected static final int COMPONENT_DECL_296_INDEX = 296;
-        protected static final int COMPONENT_DECL_297_INDEX = 297;
-        protected static final int COMPONENT_DECL_298_INDEX = 298;
-        protected static final int COMPONENT_DECL_299_INDEX = 299;
-        protected static final int COMPONENT_DECL_300_INDEX = 300;
-        protected static final int COMPONENT_DECL_301_INDEX = 301;
-        protected static final int COMPONENT_DECL_302_INDEX = 302;
-        protected static final int COMPONENT_INITIALIZATION_303_INDEX = 303;
-        protected static final int COMPONENT_INITIALIZATION_304_INDEX = 304;
-        protected static final int END_TYPE_STMT_305_INDEX = 305;
-        protected static final int END_TYPE_STMT_306_INDEX = 306;
-        protected static final int END_TYPE_STMT_307_INDEX = 307;
-        protected static final int END_TYPE_STMT_308_INDEX = 308;
-        protected static final int PROC_COMPONENT_DEF_STMT_309_INDEX = 309;
-        protected static final int PROC_COMPONENT_DEF_STMT_310_INDEX = 310;
-        protected static final int PROC_INTERFACE_311_INDEX = 311;
-        protected static final int PROC_INTERFACE_312_INDEX = 312;
-        protected static final int PROC_DECL_LIST_313_INDEX = 313;
-        protected static final int PROC_DECL_LIST_314_INDEX = 314;
-        protected static final int PROC_DECL_315_INDEX = 315;
-        protected static final int PROC_DECL_316_INDEX = 316;
-        protected static final int PROC_COMPONENT_ATTR_SPEC_LIST_317_INDEX = 317;
-        protected static final int PROC_COMPONENT_ATTR_SPEC_LIST_318_INDEX = 318;
-        protected static final int PROC_COMPONENT_ATTR_SPEC_319_INDEX = 319;
-        protected static final int PROC_COMPONENT_ATTR_SPEC_320_INDEX = 320;
-        protected static final int PROC_COMPONENT_ATTR_SPEC_321_INDEX = 321;
-        protected static final int PROC_COMPONENT_ATTR_SPEC_322_INDEX = 322;
-        protected static final int PROC_COMPONENT_ATTR_SPEC_323_INDEX = 323;
-        protected static final int TYPE_BOUND_PROCEDURE_PART_324_INDEX = 324;
-        protected static final int TYPE_BOUND_PROCEDURE_PART_325_INDEX = 325;
-        protected static final int BINDING_PRIVATE_STMT_326_INDEX = 326;
-        protected static final int PROC_BINDING_STMTS_327_INDEX = 327;
-        protected static final int PROC_BINDING_STMTS_328_INDEX = 328;
-        protected static final int PROC_BINDING_STMT_329_INDEX = 329;
-        protected static final int PROC_BINDING_STMT_330_INDEX = 330;
-        protected static final int PROC_BINDING_STMT_331_INDEX = 331;
-        protected static final int SPECIFIC_BINDING_332_INDEX = 332;
-        protected static final int SPECIFIC_BINDING_333_INDEX = 333;
-        protected static final int SPECIFIC_BINDING_334_INDEX = 334;
-        protected static final int SPECIFIC_BINDING_335_INDEX = 335;
-        protected static final int SPECIFIC_BINDING_336_INDEX = 336;
-        protected static final int SPECIFIC_BINDING_337_INDEX = 337;
-        protected static final int SPECIFIC_BINDING_338_INDEX = 338;
-        protected static final int SPECIFIC_BINDING_339_INDEX = 339;
-        protected static final int SPECIFIC_BINDING_340_INDEX = 340;
-        protected static final int SPECIFIC_BINDING_341_INDEX = 341;
-        protected static final int SPECIFIC_BINDING_342_INDEX = 342;
-        protected static final int SPECIFIC_BINDING_343_INDEX = 343;
-        protected static final int GENERIC_BINDING_344_INDEX = 344;
-        protected static final int GENERIC_BINDING_345_INDEX = 345;
-        protected static final int GENERIC_BINDING_346_INDEX = 346;
-        protected static final int GENERIC_BINDING_347_INDEX = 347;
-        protected static final int BINDING_NAME_LIST_348_INDEX = 348;
-        protected static final int BINDING_NAME_LIST_349_INDEX = 349;
-        protected static final int BINDING_ATTR_LIST_350_INDEX = 350;
-        protected static final int BINDING_ATTR_LIST_351_INDEX = 351;
-        protected static final int BINDING_ATTR_352_INDEX = 352;
-        protected static final int BINDING_ATTR_353_INDEX = 353;
-        protected static final int BINDING_ATTR_354_INDEX = 354;
-        protected static final int BINDING_ATTR_355_INDEX = 355;
-        protected static final int BINDING_ATTR_356_INDEX = 356;
-        protected static final int BINDING_ATTR_357_INDEX = 357;
-        protected static final int FINAL_BINDING_358_INDEX = 358;
-        protected static final int FINAL_BINDING_359_INDEX = 359;
-        protected static final int FINAL_SUBROUTINE_NAME_LIST_360_INDEX = 360;
-        protected static final int FINAL_SUBROUTINE_NAME_LIST_361_INDEX = 361;
-        protected static final int STRUCTURE_CONSTRUCTOR_362_INDEX = 362;
-        protected static final int STRUCTURE_CONSTRUCTOR_363_INDEX = 363;
-        protected static final int ENUM_DEF_364_INDEX = 364;
-        protected static final int ENUMERATOR_DEF_STMTS_365_INDEX = 365;
-        protected static final int ENUMERATOR_DEF_STMTS_366_INDEX = 366;
-        protected static final int ENUM_DEF_STMT_367_INDEX = 367;
-        protected static final int ENUMERATOR_DEF_STMT_368_INDEX = 368;
-        protected static final int ENUMERATOR_DEF_STMT_369_INDEX = 369;
-        protected static final int ENUMERATOR_370_INDEX = 370;
-        protected static final int ENUMERATOR_371_INDEX = 371;
-        protected static final int ENUMERATOR_LIST_372_INDEX = 372;
-        protected static final int ENUMERATOR_LIST_373_INDEX = 373;
-        protected static final int END_ENUM_STMT_374_INDEX = 374;
-        protected static final int ARRAY_CONSTRUCTOR_375_INDEX = 375;
-        protected static final int ARRAY_CONSTRUCTOR_376_INDEX = 376;
-        protected static final int AC_VALUE_LIST_377_INDEX = 377;
-        protected static final int AC_VALUE_LIST_378_INDEX = 378;
-        protected static final int AC_VALUE_379_INDEX = 379;
-        protected static final int AC_VALUE_380_INDEX = 380;
-        protected static final int AC_IMPLIED_DO_381_INDEX = 381;
-        protected static final int AC_IMPLIED_DO_382_INDEX = 382;
-        protected static final int AC_IMPLIED_DO_383_INDEX = 383;
-        protected static final int AC_IMPLIED_DO_384_INDEX = 384;
-        protected static final int TYPE_DECLARATION_STMT_385_INDEX = 385;
-        protected static final int TYPE_DECLARATION_STMT_386_INDEX = 386;
-        protected static final int TYPE_DECLARATION_STMT_387_INDEX = 387;
-        protected static final int TYPE_DECLARATION_STMT_388_INDEX = 388;
-        protected static final int ATTR_SPEC_SEQ_389_INDEX = 389;
-        protected static final int ATTR_SPEC_SEQ_390_INDEX = 390;
-        protected static final int TYPE_SPEC_391_INDEX = 391;
-        protected static final int TYPE_SPEC_392_INDEX = 392;
-        protected static final int TYPE_SPEC_393_INDEX = 393;
-        protected static final int TYPE_SPEC_394_INDEX = 394;
-        protected static final int TYPE_SPEC_395_INDEX = 395;
-        protected static final int TYPE_SPEC_396_INDEX = 396;
-        protected static final int TYPE_SPEC_397_INDEX = 397;
-        protected static final int TYPE_SPEC_398_INDEX = 398;
-        protected static final int TYPE_SPEC_399_INDEX = 399;
-        protected static final int TYPE_SPEC_400_INDEX = 400;
-        protected static final int TYPE_SPEC_401_INDEX = 401;
-        protected static final int TYPE_SPEC_402_INDEX = 402;
-        protected static final int TYPE_SPEC_403_INDEX = 403;
-        protected static final int TYPE_SPEC_404_INDEX = 404;
-        protected static final int TYPE_SPEC_405_INDEX = 405;
-        protected static final int TYPE_SPEC_406_INDEX = 406;
-        protected static final int TYPE_SPEC_407_INDEX = 407;
-        protected static final int TYPE_SPEC_NO_PREFIX_408_INDEX = 408;
-        protected static final int TYPE_SPEC_NO_PREFIX_409_INDEX = 409;
-        protected static final int TYPE_SPEC_NO_PREFIX_410_INDEX = 410;
-        protected static final int TYPE_SPEC_NO_PREFIX_411_INDEX = 411;
-        protected static final int TYPE_SPEC_NO_PREFIX_412_INDEX = 412;
-        protected static final int TYPE_SPEC_NO_PREFIX_413_INDEX = 413;
-        protected static final int TYPE_SPEC_NO_PREFIX_414_INDEX = 414;
-        protected static final int TYPE_SPEC_NO_PREFIX_415_INDEX = 415;
-        protected static final int TYPE_SPEC_NO_PREFIX_416_INDEX = 416;
-        protected static final int TYPE_SPEC_NO_PREFIX_417_INDEX = 417;
-        protected static final int TYPE_SPEC_NO_PREFIX_418_INDEX = 418;
-        protected static final int TYPE_SPEC_NO_PREFIX_419_INDEX = 419;
-        protected static final int TYPE_SPEC_NO_PREFIX_420_INDEX = 420;
-        protected static final int TYPE_SPEC_NO_PREFIX_421_INDEX = 421;
-        protected static final int TYPE_SPEC_NO_PREFIX_422_INDEX = 422;
-        protected static final int DERIVED_TYPE_SPEC_423_INDEX = 423;
-        protected static final int DERIVED_TYPE_SPEC_424_INDEX = 424;
-        protected static final int TYPE_PARAM_SPEC_LIST_425_INDEX = 425;
-        protected static final int TYPE_PARAM_SPEC_LIST_426_INDEX = 426;
-        protected static final int TYPE_PARAM_SPEC_427_INDEX = 427;
-        protected static final int TYPE_PARAM_SPEC_428_INDEX = 428;
-        protected static final int TYPE_PARAM_VALUE_429_INDEX = 429;
-        protected static final int TYPE_PARAM_VALUE_430_INDEX = 430;
-        protected static final int TYPE_PARAM_VALUE_431_INDEX = 431;
-        protected static final int ATTR_SPEC_432_INDEX = 432;
-        protected static final int ATTR_SPEC_433_INDEX = 433;
-        protected static final int ATTR_SPEC_434_INDEX = 434;
-        protected static final int ATTR_SPEC_435_INDEX = 435;
-        protected static final int ATTR_SPEC_436_INDEX = 436;
-        protected static final int ATTR_SPEC_437_INDEX = 437;
-        protected static final int ATTR_SPEC_438_INDEX = 438;
-        protected static final int ATTR_SPEC_439_INDEX = 439;
-        protected static final int ATTR_SPEC_440_INDEX = 440;
-        protected static final int ATTR_SPEC_441_INDEX = 441;
-        protected static final int ATTR_SPEC_442_INDEX = 442;
-        protected static final int ATTR_SPEC_443_INDEX = 443;
-        protected static final int ATTR_SPEC_444_INDEX = 444;
-        protected static final int ATTR_SPEC_445_INDEX = 445;
-        protected static final int ATTR_SPEC_446_INDEX = 446;
-        protected static final int ATTR_SPEC_447_INDEX = 447;
-        protected static final int ATTR_SPEC_448_INDEX = 448;
-        protected static final int ATTR_SPEC_449_INDEX = 449;
-        protected static final int LANGUAGE_BINDING_SPEC_450_INDEX = 450;
-        protected static final int LANGUAGE_BINDING_SPEC_451_INDEX = 451;
-        protected static final int ENTITY_DECL_LIST_452_INDEX = 452;
-        protected static final int ENTITY_DECL_LIST_453_INDEX = 453;
-        protected static final int ENTITY_DECL_454_INDEX = 454;
-        protected static final int ENTITY_DECL_455_INDEX = 455;
-        protected static final int ENTITY_DECL_456_INDEX = 456;
-        protected static final int ENTITY_DECL_457_INDEX = 457;
-        protected static final int ENTITY_DECL_458_INDEX = 458;
-        protected static final int ENTITY_DECL_459_INDEX = 459;
-        protected static final int ENTITY_DECL_460_INDEX = 460;
-        protected static final int ENTITY_DECL_461_INDEX = 461;
-        protected static final int ENTITY_DECL_462_INDEX = 462;
-        protected static final int ENTITY_DECL_463_INDEX = 463;
-        protected static final int ENTITY_DECL_464_INDEX = 464;
-        protected static final int ENTITY_DECL_465_INDEX = 465;
-        protected static final int ENTITY_DECL_466_INDEX = 466;
-        protected static final int ENTITY_DECL_467_INDEX = 467;
-        protected static final int ENTITY_DECL_468_INDEX = 468;
-        protected static final int ENTITY_DECL_469_INDEX = 469;
-        protected static final int ENTITY_DECL_470_INDEX = 470;
-        protected static final int ENTITY_DECL_471_INDEX = 471;
-        protected static final int ENTITY_DECL_472_INDEX = 472;
-        protected static final int ENTITY_DECL_473_INDEX = 473;
-        protected static final int ENTITY_DECL_474_INDEX = 474;
-        protected static final int INVALID_ENTITY_DECL_475_INDEX = 475;
-        protected static final int INVALID_ENTITY_DECL_476_INDEX = 476;
-        protected static final int INITIALIZATION_477_INDEX = 477;
-        protected static final int INITIALIZATION_478_INDEX = 478;
-        protected static final int KIND_SELECTOR_479_INDEX = 479;
-        protected static final int KIND_SELECTOR_480_INDEX = 480;
-        protected static final int KIND_SELECTOR_481_INDEX = 481;
-        protected static final int CHAR_SELECTOR_482_INDEX = 482;
-        protected static final int CHAR_SELECTOR_483_INDEX = 483;
-        protected static final int CHAR_SELECTOR_484_INDEX = 484;
-        protected static final int CHAR_SELECTOR_485_INDEX = 485;
-        protected static final int CHAR_SELECTOR_486_INDEX = 486;
-        protected static final int CHAR_SELECTOR_487_INDEX = 487;
-        protected static final int CHAR_SELECTOR_488_INDEX = 488;
-        protected static final int CHAR_LEN_PARAM_VALUE_489_INDEX = 489;
-        protected static final int CHAR_LEN_PARAM_VALUE_490_INDEX = 490;
-        protected static final int CHAR_LEN_PARAM_VALUE_491_INDEX = 491;
-        protected static final int CHAR_LENGTH_492_INDEX = 492;
-        protected static final int CHAR_LENGTH_493_INDEX = 493;
-        protected static final int CHAR_LENGTH_494_INDEX = 494;
-        protected static final int ACCESS_SPEC_495_INDEX = 495;
-        protected static final int ACCESS_SPEC_496_INDEX = 496;
-        protected static final int COARRAY_SPEC_497_INDEX = 497;
-        protected static final int COARRAY_SPEC_498_INDEX = 498;
-        protected static final int DEFERRED_COSHAPE_SPEC_LIST_499_INDEX = 499;
-        protected static final int DEFERRED_COSHAPE_SPEC_LIST_500_INDEX = 500;
-        protected static final int EXPLICIT_COSHAPE_SPEC_501_INDEX = 501;
-        protected static final int INTENT_SPEC_502_INDEX = 502;
-        protected static final int INTENT_SPEC_503_INDEX = 503;
-        protected static final int INTENT_SPEC_504_INDEX = 504;
-        protected static final int INTENT_SPEC_505_INDEX = 505;
-        protected static final int ARRAY_SPEC_506_INDEX = 506;
-        protected static final int ARRAY_SPEC_507_INDEX = 507;
-        protected static final int ARRAY_SPEC_508_INDEX = 508;
-        protected static final int ARRAY_SPEC_509_INDEX = 509;
-        protected static final int ASSUMED_SHAPE_SPEC_LIST_510_INDEX = 510;
-        protected static final int ASSUMED_SHAPE_SPEC_LIST_511_INDEX = 511;
-        protected static final int ASSUMED_SHAPE_SPEC_LIST_512_INDEX = 512;
-        protected static final int EXPLICIT_SHAPE_SPEC_LIST_513_INDEX = 513;
-        protected static final int EXPLICIT_SHAPE_SPEC_LIST_514_INDEX = 514;
-        protected static final int EXPLICIT_SHAPE_SPEC_515_INDEX = 515;
-        protected static final int EXPLICIT_SHAPE_SPEC_516_INDEX = 516;
-        protected static final int LOWER_BOUND_517_INDEX = 517;
-        protected static final int UPPER_BOUND_518_INDEX = 518;
-        protected static final int ASSUMED_SHAPE_SPEC_519_INDEX = 519;
-        protected static final int ASSUMED_SHAPE_SPEC_520_INDEX = 520;
-        protected static final int DEFERRED_SHAPE_SPEC_LIST_521_INDEX = 521;
-        protected static final int DEFERRED_SHAPE_SPEC_LIST_522_INDEX = 522;
-        protected static final int DEFERRED_SHAPE_SPEC_523_INDEX = 523;
-        protected static final int ASSUMED_SIZE_SPEC_524_INDEX = 524;
-        protected static final int ASSUMED_SIZE_SPEC_525_INDEX = 525;
-        protected static final int ASSUMED_SIZE_SPEC_526_INDEX = 526;
-        protected static final int ASSUMED_SIZE_SPEC_527_INDEX = 527;
-        protected static final int INTENT_STMT_528_INDEX = 528;
-        protected static final int INTENT_STMT_529_INDEX = 529;
-        protected static final int INTENT_PAR_LIST_530_INDEX = 530;
-        protected static final int INTENT_PAR_LIST_531_INDEX = 531;
-        protected static final int INTENT_PAR_532_INDEX = 532;
-        protected static final int OPTIONAL_STMT_533_INDEX = 533;
-        protected static final int OPTIONAL_STMT_534_INDEX = 534;
-        protected static final int OPTIONAL_PAR_LIST_535_INDEX = 535;
-        protected static final int OPTIONAL_PAR_LIST_536_INDEX = 536;
-        protected static final int OPTIONAL_PAR_537_INDEX = 537;
-        protected static final int ACCESS_STMT_538_INDEX = 538;
-        protected static final int ACCESS_STMT_539_INDEX = 539;
-        protected static final int ACCESS_STMT_540_INDEX = 540;
-        protected static final int ACCESS_ID_LIST_541_INDEX = 541;
-        protected static final int ACCESS_ID_LIST_542_INDEX = 542;
-        protected static final int ACCESS_ID_543_INDEX = 543;
-        protected static final int ACCESS_ID_544_INDEX = 544;
-        protected static final int SAVE_STMT_545_INDEX = 545;
-        protected static final int SAVE_STMT_546_INDEX = 546;
-        protected static final int SAVE_STMT_547_INDEX = 547;
-        protected static final int SAVED_ENTITY_LIST_548_INDEX = 548;
-        protected static final int SAVED_ENTITY_LIST_549_INDEX = 549;
-        protected static final int SAVED_ENTITY_550_INDEX = 550;
-        protected static final int SAVED_ENTITY_551_INDEX = 551;
-        protected static final int SAVED_COMMON_BLOCK_552_INDEX = 552;
-        protected static final int DIMENSION_STMT_553_INDEX = 553;
-        protected static final int DIMENSION_STMT_554_INDEX = 554;
-        protected static final int ARRAY_DECLARATOR_LIST_555_INDEX = 555;
-        protected static final int ARRAY_DECLARATOR_LIST_556_INDEX = 556;
-        protected static final int ARRAY_DECLARATOR_557_INDEX = 557;
-        protected static final int ALLOCATABLE_STMT_558_INDEX = 558;
-        protected static final int ALLOCATABLE_STMT_559_INDEX = 559;
-        protected static final int ARRAY_ALLOCATION_LIST_560_INDEX = 560;
-        protected static final int ARRAY_ALLOCATION_LIST_561_INDEX = 561;
-        protected static final int ARRAY_ALLOCATION_562_INDEX = 562;
-        protected static final int ARRAY_ALLOCATION_563_INDEX = 563;
-        protected static final int ASYNCHRONOUS_STMT_564_INDEX = 564;
-        protected static final int ASYNCHRONOUS_STMT_565_INDEX = 565;
-        protected static final int OBJECT_LIST_566_INDEX = 566;
-        protected static final int OBJECT_LIST_567_INDEX = 567;
-        protected static final int BIND_STMT_568_INDEX = 568;
-        protected static final int BIND_STMT_569_INDEX = 569;
-        protected static final int BIND_ENTITY_570_INDEX = 570;
-        protected static final int BIND_ENTITY_571_INDEX = 571;
-        protected static final int BIND_ENTITY_LIST_572_INDEX = 572;
-        protected static final int BIND_ENTITY_LIST_573_INDEX = 573;
-        protected static final int POINTER_STMT_574_INDEX = 574;
-        protected static final int POINTER_STMT_575_INDEX = 575;
-        protected static final int POINTER_STMT_OBJECT_LIST_576_INDEX = 576;
-        protected static final int POINTER_STMT_OBJECT_LIST_577_INDEX = 577;
-        protected static final int POINTER_STMT_OBJECT_578_INDEX = 578;
-        protected static final int POINTER_STMT_OBJECT_579_INDEX = 579;
-        protected static final int POINTER_NAME_580_INDEX = 580;
-        protected static final int CRAY_POINTER_STMT_581_INDEX = 581;
-        protected static final int CRAY_POINTER_STMT_OBJECT_LIST_582_INDEX = 582;
-        protected static final int CRAY_POINTER_STMT_OBJECT_LIST_583_INDEX = 583;
-        protected static final int CRAY_POINTER_STMT_OBJECT_584_INDEX = 584;
-        protected static final int CODIMENSION_STMT_585_INDEX = 585;
-        protected static final int CODIMENSION_STMT_586_INDEX = 586;
-        protected static final int CODIMENSION_DECL_LIST_587_INDEX = 587;
-        protected static final int CODIMENSION_DECL_LIST_588_INDEX = 588;
-        protected static final int CODIMENSION_DECL_589_INDEX = 589;
-        protected static final int CONTIGUOUS_STMT_590_INDEX = 590;
-        protected static final int CONTIGUOUS_STMT_591_INDEX = 591;
-        protected static final int OBJECT_NAME_LIST_592_INDEX = 592;
-        protected static final int OBJECT_NAME_LIST_593_INDEX = 593;
-        protected static final int PROTECTED_STMT_594_INDEX = 594;
-        protected static final int PROTECTED_STMT_595_INDEX = 595;
-        protected static final int TARGET_STMT_596_INDEX = 596;
-        protected static final int TARGET_STMT_597_INDEX = 597;
-        protected static final int TARGET_OBJECT_LIST_598_INDEX = 598;
-        protected static final int TARGET_OBJECT_LIST_599_INDEX = 599;
-        protected static final int TARGET_OBJECT_600_INDEX = 600;
-        protected static final int TARGET_OBJECT_601_INDEX = 601;
-        protected static final int TARGET_OBJECT_602_INDEX = 602;
-        protected static final int TARGET_OBJECT_603_INDEX = 603;
-        protected static final int TARGET_NAME_604_INDEX = 604;
-        protected static final int VALUE_STMT_605_INDEX = 605;
-        protected static final int VALUE_STMT_606_INDEX = 606;
-        protected static final int VOLATILE_STMT_607_INDEX = 607;
-        protected static final int VOLATILE_STMT_608_INDEX = 608;
-        protected static final int PARAMETER_STMT_609_INDEX = 609;
-        protected static final int NAMED_CONSTANT_DEF_LIST_610_INDEX = 610;
-        protected static final int NAMED_CONSTANT_DEF_LIST_611_INDEX = 611;
-        protected static final int NAMED_CONSTANT_DEF_612_INDEX = 612;
-        protected static final int DATA_STMT_613_INDEX = 613;
-        protected static final int DATALIST_614_INDEX = 614;
-        protected static final int DATALIST_615_INDEX = 615;
-        protected static final int DATALIST_616_INDEX = 616;
-        protected static final int DATA_STMT_SET_617_INDEX = 617;
-        protected static final int DATA_STMT_OBJECT_LIST_618_INDEX = 618;
-        protected static final int DATA_STMT_OBJECT_LIST_619_INDEX = 619;
-        protected static final int DATA_STMT_OBJECT_620_INDEX = 620;
-        protected static final int DATA_STMT_OBJECT_621_INDEX = 621;
-        protected static final int DATA_IMPLIED_DO_622_INDEX = 622;
-        protected static final int DATA_IMPLIED_DO_623_INDEX = 623;
-        protected static final int DATA_IDO_OBJECT_LIST_624_INDEX = 624;
-        protected static final int DATA_IDO_OBJECT_LIST_625_INDEX = 625;
-        protected static final int DATA_IDO_OBJECT_626_INDEX = 626;
-        protected static final int DATA_IDO_OBJECT_627_INDEX = 627;
-        protected static final int DATA_IDO_OBJECT_628_INDEX = 628;
-        protected static final int DATA_STMT_VALUE_LIST_629_INDEX = 629;
-        protected static final int DATA_STMT_VALUE_LIST_630_INDEX = 630;
-        protected static final int DATA_STMT_VALUE_631_INDEX = 631;
-        protected static final int DATA_STMT_VALUE_632_INDEX = 632;
-        protected static final int DATA_STMT_VALUE_633_INDEX = 633;
-        protected static final int DATA_STMT_CONSTANT_634_INDEX = 634;
-        protected static final int DATA_STMT_CONSTANT_635_INDEX = 635;
-        protected static final int IMPLICIT_STMT_636_INDEX = 636;
-        protected static final int IMPLICIT_STMT_637_INDEX = 637;
-        protected static final int IMPLICIT_SPEC_LIST_638_INDEX = 638;
-        protected static final int IMPLICIT_SPEC_LIST_639_INDEX = 639;
-        protected static final int IMPLICIT_SPEC_640_INDEX = 640;
-        protected static final int NAMELIST_STMT_641_INDEX = 641;
-        protected static final int NAMELIST_GROUPS_642_INDEX = 642;
-        protected static final int NAMELIST_GROUPS_643_INDEX = 643;
-        protected static final int NAMELIST_GROUPS_644_INDEX = 644;
-        protected static final int NAMELIST_GROUPS_645_INDEX = 645;
-        protected static final int NAMELIST_GROUP_OBJECT_646_INDEX = 646;
-        protected static final int EQUIVALENCE_STMT_647_INDEX = 647;
-        protected static final int EQUIVALENCE_SET_LIST_648_INDEX = 648;
-        protected static final int EQUIVALENCE_SET_LIST_649_INDEX = 649;
-        protected static final int EQUIVALENCE_SET_650_INDEX = 650;
-        protected static final int EQUIVALENCE_OBJECT_LIST_651_INDEX = 651;
-        protected static final int EQUIVALENCE_OBJECT_LIST_652_INDEX = 652;
-        protected static final int EQUIVALENCE_OBJECT_653_INDEX = 653;
-        protected static final int COMMON_STMT_654_INDEX = 654;
-        protected static final int COMMON_BLOCK_LIST_655_INDEX = 655;
-        protected static final int COMMON_BLOCK_LIST_656_INDEX = 656;
-        protected static final int COMMON_BLOCK_657_INDEX = 657;
-        protected static final int COMMON_BLOCK_658_INDEX = 658;
-        protected static final int COMMON_BLOCK_659_INDEX = 659;
-        protected static final int COMMON_BLOCK_OBJECT_LIST_660_INDEX = 660;
-        protected static final int COMMON_BLOCK_OBJECT_LIST_661_INDEX = 661;
-        protected static final int COMMON_BLOCK_OBJECT_662_INDEX = 662;
-        protected static final int COMMON_BLOCK_OBJECT_663_INDEX = 663;
-        protected static final int COMMON_BLOCK_OBJECT_664_INDEX = 664;
-        protected static final int COMMON_BLOCK_OBJECT_665_INDEX = 665;
-        protected static final int VARIABLE_666_INDEX = 666;
-        protected static final int VARIABLE_667_INDEX = 667;
-        protected static final int VARIABLE_668_INDEX = 668;
-        protected static final int VARIABLE_669_INDEX = 669;
-        protected static final int VARIABLE_670_INDEX = 670;
-        protected static final int VARIABLE_671_INDEX = 671;
-        protected static final int VARIABLE_672_INDEX = 672;
-        protected static final int SUBSTR_CONST_673_INDEX = 673;
-        protected static final int VARIABLE_NAME_674_INDEX = 674;
-        protected static final int SCALAR_VARIABLE_675_INDEX = 675;
-        protected static final int SCALAR_VARIABLE_676_INDEX = 676;
-        protected static final int SUBSTRING_RANGE_677_INDEX = 677;
-        protected static final int DATA_REF_678_INDEX = 678;
-        protected static final int DATA_REF_679_INDEX = 679;
-        protected static final int DATA_REF_680_INDEX = 680;
-        protected static final int DATA_REF_681_INDEX = 681;
-        protected static final int DATA_REF_682_INDEX = 682;
-        protected static final int DATA_REF_683_INDEX = 683;
-        protected static final int SFDATA_REF_684_INDEX = 684;
-        protected static final int SFDATA_REF_685_INDEX = 685;
-        protected static final int SFDATA_REF_686_INDEX = 686;
-        protected static final int SFDATA_REF_687_INDEX = 687;
-        protected static final int SFDATA_REF_688_INDEX = 688;
-        protected static final int SFDATA_REF_689_INDEX = 689;
-        protected static final int SFDATA_REF_690_INDEX = 690;
-        protected static final int SFDATA_REF_691_INDEX = 691;
-        protected static final int STRUCTURE_COMPONENT_692_INDEX = 692;
-        protected static final int STRUCTURE_COMPONENT_693_INDEX = 693;
-        protected static final int FIELD_SELECTOR_694_INDEX = 694;
-        protected static final int FIELD_SELECTOR_695_INDEX = 695;
-        protected static final int FIELD_SELECTOR_696_INDEX = 696;
-        protected static final int FIELD_SELECTOR_697_INDEX = 697;
-        protected static final int ARRAY_ELEMENT_698_INDEX = 698;
-        protected static final int ARRAY_ELEMENT_699_INDEX = 699;
-        protected static final int ARRAY_ELEMENT_700_INDEX = 700;
-        protected static final int ARRAY_ELEMENT_701_INDEX = 701;
-        protected static final int SUBSCRIPT_702_INDEX = 702;
-        protected static final int SECTION_SUBSCRIPT_LIST_703_INDEX = 703;
-        protected static final int SECTION_SUBSCRIPT_LIST_704_INDEX = 704;
-        protected static final int SECTION_SUBSCRIPT_705_INDEX = 705;
-        protected static final int SECTION_SUBSCRIPT_706_INDEX = 706;
-        protected static final int SUBSCRIPT_TRIPLET_707_INDEX = 707;
-        protected static final int SUBSCRIPT_TRIPLET_708_INDEX = 708;
-        protected static final int SUBSCRIPT_TRIPLET_709_INDEX = 709;
-        protected static final int SUBSCRIPT_TRIPLET_710_INDEX = 710;
-        protected static final int SUBSCRIPT_TRIPLET_711_INDEX = 711;
-        protected static final int SUBSCRIPT_TRIPLET_712_INDEX = 712;
-        protected static final int SUBSCRIPT_TRIPLET_713_INDEX = 713;
-        protected static final int SUBSCRIPT_TRIPLET_714_INDEX = 714;
-        protected static final int ALLOCATE_STMT_715_INDEX = 715;
-        protected static final int ALLOCATE_STMT_716_INDEX = 716;
-        protected static final int ALLOCATION_LIST_717_INDEX = 717;
-        protected static final int ALLOCATION_LIST_718_INDEX = 718;
-        protected static final int ALLOCATION_719_INDEX = 719;
-        protected static final int ALLOCATION_720_INDEX = 720;
-        protected static final int ALLOCATED_SHAPE_721_INDEX = 721;
-        protected static final int ALLOCATED_SHAPE_722_INDEX = 722;
-        protected static final int ALLOCATED_SHAPE_723_INDEX = 723;
-        protected static final int ALLOCATE_OBJECT_LIST_724_INDEX = 724;
-        protected static final int ALLOCATE_OBJECT_LIST_725_INDEX = 725;
-        protected static final int ALLOCATE_OBJECT_726_INDEX = 726;
-        protected static final int ALLOCATE_OBJECT_727_INDEX = 727;
-        protected static final int ALLOCATE_COARRAY_SPEC_728_INDEX = 728;
-        protected static final int ALLOCATE_COARRAY_SPEC_729_INDEX = 729;
-        protected static final int ALLOCATE_COARRAY_SPEC_730_INDEX = 730;
-        protected static final int ALLOCATE_COARRAY_SPEC_731_INDEX = 731;
-        protected static final int IMAGE_SELECTOR_732_INDEX = 732;
-        protected static final int NULLIFY_STMT_733_INDEX = 733;
-        protected static final int POINTER_OBJECT_LIST_734_INDEX = 734;
-        protected static final int POINTER_OBJECT_LIST_735_INDEX = 735;
-        protected static final int POINTER_OBJECT_736_INDEX = 736;
-        protected static final int POINTER_OBJECT_737_INDEX = 737;
-        protected static final int POINTER_FIELD_738_INDEX = 738;
-        protected static final int POINTER_FIELD_739_INDEX = 739;
-        protected static final int POINTER_FIELD_740_INDEX = 740;
-        protected static final int POINTER_FIELD_741_INDEX = 741;
-        protected static final int POINTER_FIELD_742_INDEX = 742;
-        protected static final int POINTER_FIELD_743_INDEX = 743;
-        protected static final int POINTER_FIELD_744_INDEX = 744;
-        protected static final int DEALLOCATE_STMT_745_INDEX = 745;
-        protected static final int DEALLOCATE_STMT_746_INDEX = 746;
-        protected static final int PRIMARY_747_INDEX = 747;
-        protected static final int PRIMARY_748_INDEX = 748;
-        protected static final int PRIMARY_749_INDEX = 749;
-        protected static final int PRIMARY_750_INDEX = 750;
-        protected static final int PRIMARY_751_INDEX = 751;
-        protected static final int PRIMARY_752_INDEX = 752;
-        protected static final int PRIMARY_753_INDEX = 753;
-        protected static final int PRIMARY_754_INDEX = 754;
-        protected static final int PRIMARY_755_INDEX = 755;
-        protected static final int PRIMARY_756_INDEX = 756;
-        protected static final int PRIMARY_757_INDEX = 757;
-        protected static final int PRIMARY_758_INDEX = 758;
-        protected static final int PRIMARY_759_INDEX = 759;
-        protected static final int PRIMARY_760_INDEX = 760;
-        protected static final int PRIMARY_761_INDEX = 761;
-        protected static final int PRIMARY_762_INDEX = 762;
-        protected static final int PRIMARY_763_INDEX = 763;
-        protected static final int PRIMARY_764_INDEX = 764;
-        protected static final int PRIMARY_765_INDEX = 765;
-        protected static final int PRIMARY_766_INDEX = 766;
-        protected static final int PRIMARY_767_INDEX = 767;
-        protected static final int PRIMARY_768_INDEX = 768;
-        protected static final int PRIMARY_769_INDEX = 769;
-        protected static final int PRIMARY_770_INDEX = 770;
-        protected static final int PRIMARY_771_INDEX = 771;
-        protected static final int PRIMARY_772_INDEX = 772;
-        protected static final int PRIMARY_773_INDEX = 773;
-        protected static final int PRIMARY_774_INDEX = 774;
-        protected static final int PRIMARY_775_INDEX = 775;
-        protected static final int PRIMARY_776_INDEX = 776;
-        protected static final int PRIMARY_777_INDEX = 777;
-        protected static final int PRIMARY_778_INDEX = 778;
-        protected static final int PRIMARY_779_INDEX = 779;
-        protected static final int PRIMARY_780_INDEX = 780;
-        protected static final int PRIMARY_781_INDEX = 781;
-        protected static final int PRIMARY_782_INDEX = 782;
-        protected static final int CPRIMARY_783_INDEX = 783;
-        protected static final int CPRIMARY_784_INDEX = 784;
-        protected static final int COPERAND_785_INDEX = 785;
-        protected static final int COPERAND_786_INDEX = 786;
-        protected static final int COPERAND_787_INDEX = 787;
-        protected static final int COPERAND_788_INDEX = 788;
-        protected static final int COPERAND_789_INDEX = 789;
-        protected static final int COPERAND_790_INDEX = 790;
-        protected static final int COPERAND_791_INDEX = 791;
-        protected static final int COPERAND_792_INDEX = 792;
-        protected static final int COPERAND_793_INDEX = 793;
-        protected static final int COPERAND_794_INDEX = 794;
-        protected static final int COPERAND_795_INDEX = 795;
-        protected static final int COPERAND_796_INDEX = 796;
-        protected static final int COPERAND_797_INDEX = 797;
-        protected static final int COPERAND_798_INDEX = 798;
-        protected static final int UFPRIMARY_799_INDEX = 799;
-        protected static final int UFPRIMARY_800_INDEX = 800;
-        protected static final int UFPRIMARY_801_INDEX = 801;
-        protected static final int UFPRIMARY_802_INDEX = 802;
-        protected static final int UFPRIMARY_803_INDEX = 803;
-        protected static final int UFPRIMARY_804_INDEX = 804;
-        protected static final int UFPRIMARY_805_INDEX = 805;
-        protected static final int UFPRIMARY_806_INDEX = 806;
-        protected static final int UFPRIMARY_807_INDEX = 807;
-        protected static final int UFPRIMARY_808_INDEX = 808;
-        protected static final int UFPRIMARY_809_INDEX = 809;
-        protected static final int UFPRIMARY_810_INDEX = 810;
-        protected static final int UFPRIMARY_811_INDEX = 811;
-        protected static final int UFPRIMARY_812_INDEX = 812;
-        protected static final int UFPRIMARY_813_INDEX = 813;
-        protected static final int UFPRIMARY_814_INDEX = 814;
-        protected static final int UFPRIMARY_815_INDEX = 815;
-        protected static final int UFPRIMARY_816_INDEX = 816;
-        protected static final int UFPRIMARY_817_INDEX = 817;
-        protected static final int UFPRIMARY_818_INDEX = 818;
-        protected static final int UFPRIMARY_819_INDEX = 819;
-        protected static final int UFPRIMARY_820_INDEX = 820;
-        protected static final int LEVEL_1_EXPR_821_INDEX = 821;
-        protected static final int LEVEL_1_EXPR_822_INDEX = 822;
-        protected static final int MULT_OPERAND_823_INDEX = 823;
-        protected static final int MULT_OPERAND_824_INDEX = 824;
-        protected static final int UFFACTOR_825_INDEX = 825;
-        protected static final int UFFACTOR_826_INDEX = 826;
-        protected static final int ADD_OPERAND_827_INDEX = 827;
-        protected static final int ADD_OPERAND_828_INDEX = 828;
-        protected static final int UFTERM_829_INDEX = 829;
-        protected static final int UFTERM_830_INDEX = 830;
-        protected static final int UFTERM_831_INDEX = 831;
-        protected static final int LEVEL_2_EXPR_832_INDEX = 832;
-        protected static final int LEVEL_2_EXPR_833_INDEX = 833;
-        protected static final int LEVEL_2_EXPR_834_INDEX = 834;
-        protected static final int UFEXPR_835_INDEX = 835;
-        protected static final int UFEXPR_836_INDEX = 836;
-        protected static final int UFEXPR_837_INDEX = 837;
-        protected static final int LEVEL_3_EXPR_838_INDEX = 838;
-        protected static final int LEVEL_3_EXPR_839_INDEX = 839;
-        protected static final int CEXPR_840_INDEX = 840;
-        protected static final int CEXPR_841_INDEX = 841;
-        protected static final int LEVEL_4_EXPR_842_INDEX = 842;
-        protected static final int LEVEL_4_EXPR_843_INDEX = 843;
-        protected static final int AND_OPERAND_844_INDEX = 844;
-        protected static final int AND_OPERAND_845_INDEX = 845;
-        protected static final int OR_OPERAND_846_INDEX = 846;
-        protected static final int OR_OPERAND_847_INDEX = 847;
-        protected static final int EQUIV_OPERAND_848_INDEX = 848;
-        protected static final int EQUIV_OPERAND_849_INDEX = 849;
-        protected static final int LEVEL_5_EXPR_850_INDEX = 850;
-        protected static final int LEVEL_5_EXPR_851_INDEX = 851;
-        protected static final int EXPR_852_INDEX = 852;
-        protected static final int EXPR_853_INDEX = 853;
-        protected static final int SFEXPR_LIST_854_INDEX = 854;
-        protected static final int SFEXPR_LIST_855_INDEX = 855;
-        protected static final int SFEXPR_LIST_856_INDEX = 856;
-        protected static final int SFEXPR_LIST_857_INDEX = 857;
-        protected static final int SFEXPR_LIST_858_INDEX = 858;
-        protected static final int SFEXPR_LIST_859_INDEX = 859;
-        protected static final int SFEXPR_LIST_860_INDEX = 860;
-        protected static final int SFEXPR_LIST_861_INDEX = 861;
-        protected static final int SFEXPR_LIST_862_INDEX = 862;
-        protected static final int SFEXPR_LIST_863_INDEX = 863;
-        protected static final int SFEXPR_LIST_864_INDEX = 864;
-        protected static final int SFEXPR_LIST_865_INDEX = 865;
-        protected static final int SFEXPR_LIST_866_INDEX = 866;
-        protected static final int SFEXPR_LIST_867_INDEX = 867;
-        protected static final int SFEXPR_LIST_868_INDEX = 868;
-        protected static final int ASSIGNMENT_STMT_869_INDEX = 869;
-        protected static final int ASSIGNMENT_STMT_870_INDEX = 870;
-        protected static final int ASSIGNMENT_STMT_871_INDEX = 871;
-        protected static final int ASSIGNMENT_STMT_872_INDEX = 872;
-        protected static final int ASSIGNMENT_STMT_873_INDEX = 873;
-        protected static final int ASSIGNMENT_STMT_874_INDEX = 874;
-        protected static final int ASSIGNMENT_STMT_875_INDEX = 875;
-        protected static final int ASSIGNMENT_STMT_876_INDEX = 876;
-        protected static final int ASSIGNMENT_STMT_877_INDEX = 877;
-        protected static final int ASSIGNMENT_STMT_878_INDEX = 878;
-        protected static final int ASSIGNMENT_STMT_879_INDEX = 879;
-        protected static final int ASSIGNMENT_STMT_880_INDEX = 880;
-        protected static final int ASSIGNMENT_STMT_881_INDEX = 881;
-        protected static final int ASSIGNMENT_STMT_882_INDEX = 882;
-        protected static final int ASSIGNMENT_STMT_883_INDEX = 883;
-        protected static final int ASSIGNMENT_STMT_884_INDEX = 884;
-        protected static final int ASSIGNMENT_STMT_885_INDEX = 885;
-        protected static final int ASSIGNMENT_STMT_886_INDEX = 886;
-        protected static final int ASSIGNMENT_STMT_887_INDEX = 887;
-        protected static final int ASSIGNMENT_STMT_888_INDEX = 888;
-        protected static final int ASSIGNMENT_STMT_889_INDEX = 889;
-        protected static final int ASSIGNMENT_STMT_890_INDEX = 890;
-        protected static final int ASSIGNMENT_STMT_891_INDEX = 891;
-        protected static final int ASSIGNMENT_STMT_892_INDEX = 892;
-        protected static final int ASSIGNMENT_STMT_893_INDEX = 893;
-        protected static final int ASSIGNMENT_STMT_894_INDEX = 894;
-        protected static final int SFEXPR_895_INDEX = 895;
-        protected static final int SFEXPR_896_INDEX = 896;
-        protected static final int SFEXPR_897_INDEX = 897;
-        protected static final int SFTERM_898_INDEX = 898;
-        protected static final int SFTERM_899_INDEX = 899;
-        protected static final int SFFACTOR_900_INDEX = 900;
-        protected static final int SFFACTOR_901_INDEX = 901;
-        protected static final int SFPRIMARY_902_INDEX = 902;
-        protected static final int SFPRIMARY_903_INDEX = 903;
-        protected static final int SFPRIMARY_904_INDEX = 904;
-        protected static final int SFPRIMARY_905_INDEX = 905;
-        protected static final int SFPRIMARY_906_INDEX = 906;
-        protected static final int SFPRIMARY_907_INDEX = 907;
-        protected static final int POINTER_ASSIGNMENT_STMT_908_INDEX = 908;
-        protected static final int POINTER_ASSIGNMENT_STMT_909_INDEX = 909;
-        protected static final int POINTER_ASSIGNMENT_STMT_910_INDEX = 910;
-        protected static final int POINTER_ASSIGNMENT_STMT_911_INDEX = 911;
-        protected static final int POINTER_ASSIGNMENT_STMT_912_INDEX = 912;
-        protected static final int POINTER_ASSIGNMENT_STMT_913_INDEX = 913;
-        protected static final int POINTER_ASSIGNMENT_STMT_914_INDEX = 914;
-        protected static final int POINTER_ASSIGNMENT_STMT_915_INDEX = 915;
-        protected static final int TARGET_916_INDEX = 916;
-        protected static final int TARGET_917_INDEX = 917;
-        protected static final int WHERE_STMT_918_INDEX = 918;
-        protected static final int WHERE_CONSTRUCT_919_INDEX = 919;
-        protected static final int WHERE_RANGE_920_INDEX = 920;
-        protected static final int WHERE_RANGE_921_INDEX = 921;
-        protected static final int WHERE_RANGE_922_INDEX = 922;
-        protected static final int WHERE_RANGE_923_INDEX = 923;
-        protected static final int WHERE_RANGE_924_INDEX = 924;
-        protected static final int WHERE_RANGE_925_INDEX = 925;
-        protected static final int MASKED_ELSE_WHERE_CONSTRUCT_926_INDEX = 926;
-        protected static final int ELSE_WHERE_CONSTRUCT_927_INDEX = 927;
-        protected static final int ELSE_WHERE_PART_928_INDEX = 928;
-        protected static final int ELSE_WHERE_PART_929_INDEX = 929;
-        protected static final int WHERE_BODY_CONSTRUCT_BLOCK_930_INDEX = 930;
-        protected static final int WHERE_BODY_CONSTRUCT_BLOCK_931_INDEX = 931;
-        protected static final int WHERE_CONSTRUCT_STMT_932_INDEX = 932;
-        protected static final int WHERE_CONSTRUCT_STMT_933_INDEX = 933;
-        protected static final int WHERE_BODY_CONSTRUCT_934_INDEX = 934;
-        protected static final int WHERE_BODY_CONSTRUCT_935_INDEX = 935;
-        protected static final int WHERE_BODY_CONSTRUCT_936_INDEX = 936;
-        protected static final int MASK_EXPR_937_INDEX = 937;
-        protected static final int MASKED_ELSE_WHERE_STMT_938_INDEX = 938;
-        protected static final int MASKED_ELSE_WHERE_STMT_939_INDEX = 939;
-        protected static final int MASKED_ELSE_WHERE_STMT_940_INDEX = 940;
-        protected static final int MASKED_ELSE_WHERE_STMT_941_INDEX = 941;
-        protected static final int ELSE_WHERE_STMT_942_INDEX = 942;
-        protected static final int ELSE_WHERE_STMT_943_INDEX = 943;
-        protected static final int ELSE_WHERE_STMT_944_INDEX = 944;
-        protected static final int ELSE_WHERE_STMT_945_INDEX = 945;
-        protected static final int END_WHERE_STMT_946_INDEX = 946;
-        protected static final int END_WHERE_STMT_947_INDEX = 947;
-        protected static final int END_WHERE_STMT_948_INDEX = 948;
-        protected static final int END_WHERE_STMT_949_INDEX = 949;
-        protected static final int FORALL_CONSTRUCT_950_INDEX = 950;
-        protected static final int FORALL_CONSTRUCT_951_INDEX = 951;
-        protected static final int FORALL_BODY_952_INDEX = 952;
-        protected static final int FORALL_BODY_953_INDEX = 953;
-        protected static final int FORALL_CONSTRUCT_STMT_954_INDEX = 954;
-        protected static final int FORALL_CONSTRUCT_STMT_955_INDEX = 955;
-        protected static final int FORALL_HEADER_956_INDEX = 956;
-        protected static final int FORALL_HEADER_957_INDEX = 957;
-        protected static final int SCALAR_MASK_EXPR_958_INDEX = 958;
-        protected static final int FORALL_TRIPLET_SPEC_LIST_959_INDEX = 959;
-        protected static final int FORALL_TRIPLET_SPEC_LIST_960_INDEX = 960;
-        protected static final int FORALL_TRIPLET_SPEC_LIST_961_INDEX = 961;
-        protected static final int FORALL_TRIPLET_SPEC_LIST_962_INDEX = 962;
-        protected static final int FORALL_BODY_CONSTRUCT_963_INDEX = 963;
-        protected static final int FORALL_BODY_CONSTRUCT_964_INDEX = 964;
-        protected static final int FORALL_BODY_CONSTRUCT_965_INDEX = 965;
-        protected static final int FORALL_BODY_CONSTRUCT_966_INDEX = 966;
-        protected static final int FORALL_BODY_CONSTRUCT_967_INDEX = 967;
-        protected static final int FORALL_BODY_CONSTRUCT_968_INDEX = 968;
-        protected static final int END_FORALL_STMT_969_INDEX = 969;
-        protected static final int END_FORALL_STMT_970_INDEX = 970;
-        protected static final int END_FORALL_STMT_971_INDEX = 971;
-        protected static final int END_FORALL_STMT_972_INDEX = 972;
-        protected static final int FORALL_STMT_973_INDEX = 973;
-        protected static final int FORALL_STMT_974_INDEX = 974;
-        protected static final int IF_CONSTRUCT_975_INDEX = 975;
-        protected static final int THEN_PART_976_INDEX = 976;
-        protected static final int THEN_PART_977_INDEX = 977;
-        protected static final int THEN_PART_978_INDEX = 978;
-        protected static final int THEN_PART_979_INDEX = 979;
-        protected static final int THEN_PART_980_INDEX = 980;
-        protected static final int THEN_PART_981_INDEX = 981;
-        protected static final int ELSE_IF_CONSTRUCT_982_INDEX = 982;
-        protected static final int ELSE_CONSTRUCT_983_INDEX = 983;
-        protected static final int ELSE_PART_984_INDEX = 984;
-        protected static final int ELSE_PART_985_INDEX = 985;
-        protected static final int CONDITIONAL_BODY_986_INDEX = 986;
-        protected static final int CONDITIONAL_BODY_987_INDEX = 987;
-        protected static final int IF_THEN_STMT_988_INDEX = 988;
-        protected static final int IF_THEN_STMT_989_INDEX = 989;
-        protected static final int IF_THEN_STMT_990_INDEX = 990;
-        protected static final int IF_THEN_STMT_991_INDEX = 991;
-        protected static final int ELSE_IF_STMT_992_INDEX = 992;
-        protected static final int ELSE_IF_STMT_993_INDEX = 993;
-        protected static final int ELSE_IF_STMT_994_INDEX = 994;
-        protected static final int ELSE_IF_STMT_995_INDEX = 995;
-        protected static final int ELSE_STMT_996_INDEX = 996;
-        protected static final int ELSE_STMT_997_INDEX = 997;
-        protected static final int END_IF_STMT_998_INDEX = 998;
-        protected static final int END_IF_STMT_999_INDEX = 999;
-        protected static final int END_IF_STMT_1000_INDEX = 1000;
-        protected static final int END_IF_STMT_1001_INDEX = 1001;
-        protected static final int IF_STMT_1002_INDEX = 1002;
-        protected static final int BLOCK_CONSTRUCT_1003_INDEX = 1003;
-        protected static final int BLOCK_CONSTRUCT_1004_INDEX = 1004;
-        protected static final int BLOCK_STMT_1005_INDEX = 1005;
-        protected static final int BLOCK_STMT_1006_INDEX = 1006;
-        protected static final int END_BLOCK_STMT_1007_INDEX = 1007;
-        protected static final int END_BLOCK_STMT_1008_INDEX = 1008;
-        protected static final int END_BLOCK_STMT_1009_INDEX = 1009;
-        protected static final int END_BLOCK_STMT_1010_INDEX = 1010;
-        protected static final int CRITICAL_CONSTRUCT_1011_INDEX = 1011;
-        protected static final int CRITICAL_CONSTRUCT_1012_INDEX = 1012;
-        protected static final int CRITICAL_STMT_1013_INDEX = 1013;
-        protected static final int CRITICAL_STMT_1014_INDEX = 1014;
-        protected static final int END_CRITICAL_STMT_1015_INDEX = 1015;
-        protected static final int END_CRITICAL_STMT_1016_INDEX = 1016;
-        protected static final int END_CRITICAL_STMT_1017_INDEX = 1017;
-        protected static final int END_CRITICAL_STMT_1018_INDEX = 1018;
-        protected static final int CASE_CONSTRUCT_1019_INDEX = 1019;
-        protected static final int SELECT_CASE_RANGE_1020_INDEX = 1020;
-        protected static final int SELECT_CASE_RANGE_1021_INDEX = 1021;
-        protected static final int SELECT_CASE_BODY_1022_INDEX = 1022;
-        protected static final int SELECT_CASE_BODY_1023_INDEX = 1023;
-        protected static final int CASE_BODY_CONSTRUCT_1024_INDEX = 1024;
-        protected static final int CASE_BODY_CONSTRUCT_1025_INDEX = 1025;
-        protected static final int SELECT_CASE_STMT_1026_INDEX = 1026;
-        protected static final int SELECT_CASE_STMT_1027_INDEX = 1027;
-        protected static final int SELECT_CASE_STMT_1028_INDEX = 1028;
-        protected static final int SELECT_CASE_STMT_1029_INDEX = 1029;
-        protected static final int CASE_STMT_1030_INDEX = 1030;
-        protected static final int CASE_STMT_1031_INDEX = 1031;
-        protected static final int END_SELECT_STMT_1032_INDEX = 1032;
-        protected static final int END_SELECT_STMT_1033_INDEX = 1033;
-        protected static final int END_SELECT_STMT_1034_INDEX = 1034;
-        protected static final int END_SELECT_STMT_1035_INDEX = 1035;
-        protected static final int CASE_SELECTOR_1036_INDEX = 1036;
-        protected static final int CASE_SELECTOR_1037_INDEX = 1037;
-        protected static final int CASE_VALUE_RANGE_LIST_1038_INDEX = 1038;
-        protected static final int CASE_VALUE_RANGE_LIST_1039_INDEX = 1039;
-        protected static final int CASE_VALUE_RANGE_1040_INDEX = 1040;
-        protected static final int CASE_VALUE_RANGE_1041_INDEX = 1041;
-        protected static final int CASE_VALUE_RANGE_1042_INDEX = 1042;
-        protected static final int CASE_VALUE_RANGE_1043_INDEX = 1043;
-        protected static final int ASSOCIATE_CONSTRUCT_1044_INDEX = 1044;
-        protected static final int ASSOCIATE_CONSTRUCT_1045_INDEX = 1045;
-        protected static final int ASSOCIATE_STMT_1046_INDEX = 1046;
-        protected static final int ASSOCIATE_STMT_1047_INDEX = 1047;
-        protected static final int ASSOCIATION_LIST_1048_INDEX = 1048;
-        protected static final int ASSOCIATION_LIST_1049_INDEX = 1049;
-        protected static final int ASSOCIATION_1050_INDEX = 1050;
-        protected static final int SELECTOR_1051_INDEX = 1051;
-        protected static final int ASSOCIATE_BODY_1052_INDEX = 1052;
-        protected static final int ASSOCIATE_BODY_1053_INDEX = 1053;
-        protected static final int END_ASSOCIATE_STMT_1054_INDEX = 1054;
-        protected static final int END_ASSOCIATE_STMT_1055_INDEX = 1055;
-        protected static final int SELECT_TYPE_CONSTRUCT_1056_INDEX = 1056;
-        protected static final int SELECT_TYPE_CONSTRUCT_1057_INDEX = 1057;
-        protected static final int SELECT_TYPE_BODY_1058_INDEX = 1058;
-        protected static final int SELECT_TYPE_BODY_1059_INDEX = 1059;
-        protected static final int TYPE_GUARD_BLOCK_1060_INDEX = 1060;
-        protected static final int TYPE_GUARD_BLOCK_1061_INDEX = 1061;
-        protected static final int SELECT_TYPE_STMT_1062_INDEX = 1062;
-        protected static final int SELECT_TYPE_STMT_1063_INDEX = 1063;
-        protected static final int SELECT_TYPE_STMT_1064_INDEX = 1064;
-        protected static final int SELECT_TYPE_STMT_1065_INDEX = 1065;
-        protected static final int TYPE_GUARD_STMT_1066_INDEX = 1066;
-        protected static final int TYPE_GUARD_STMT_1067_INDEX = 1067;
-        protected static final int TYPE_GUARD_STMT_1068_INDEX = 1068;
-        protected static final int TYPE_GUARD_STMT_1069_INDEX = 1069;
-        protected static final int TYPE_GUARD_STMT_1070_INDEX = 1070;
-        protected static final int TYPE_GUARD_STMT_1071_INDEX = 1071;
-        protected static final int END_SELECT_TYPE_STMT_1072_INDEX = 1072;
-        protected static final int END_SELECT_TYPE_STMT_1073_INDEX = 1073;
-        protected static final int END_SELECT_TYPE_STMT_1074_INDEX = 1074;
-        protected static final int END_SELECT_TYPE_STMT_1075_INDEX = 1075;
-        protected static final int DO_CONSTRUCT_1076_INDEX = 1076;
-        protected static final int BLOCK_DO_CONSTRUCT_1077_INDEX = 1077;
-        protected static final int LABEL_DO_STMT_1078_INDEX = 1078;
-        protected static final int LABEL_DO_STMT_1079_INDEX = 1079;
-        protected static final int LABEL_DO_STMT_1080_INDEX = 1080;
-        protected static final int LABEL_DO_STMT_1081_INDEX = 1081;
-        protected static final int LABEL_DO_STMT_1082_INDEX = 1082;
-        protected static final int LABEL_DO_STMT_1083_INDEX = 1083;
-        protected static final int LABEL_DO_STMT_1084_INDEX = 1084;
-        protected static final int LABEL_DO_STMT_1085_INDEX = 1085;
-        protected static final int COMMA_LOOP_CONTROL_1086_INDEX = 1086;
-        protected static final int COMMA_LOOP_CONTROL_1087_INDEX = 1087;
-        protected static final int LOOP_CONTROL_1088_INDEX = 1088;
-        protected static final int LOOP_CONTROL_1089_INDEX = 1089;
-        protected static final int LOOP_CONTROL_1090_INDEX = 1090;
-        protected static final int END_DO_STMT_1091_INDEX = 1091;
-        protected static final int END_DO_STMT_1092_INDEX = 1092;
-        protected static final int END_DO_STMT_1093_INDEX = 1093;
-        protected static final int END_DO_STMT_1094_INDEX = 1094;
-        protected static final int CYCLE_STMT_1095_INDEX = 1095;
-        protected static final int CYCLE_STMT_1096_INDEX = 1096;
-        protected static final int EXIT_STMT_1097_INDEX = 1097;
-        protected static final int EXIT_STMT_1098_INDEX = 1098;
-        protected static final int GOTO_STMT_1099_INDEX = 1099;
-        protected static final int GO_TO_KW_1100_INDEX = 1100;
-        protected static final int GO_TO_KW_1101_INDEX = 1101;
-        protected static final int COMPUTED_GOTO_STMT_1102_INDEX = 1102;
-        protected static final int COMPUTED_GOTO_STMT_1103_INDEX = 1103;
-        protected static final int COMMA_EXP_1104_INDEX = 1104;
-        protected static final int LBL_REF_LIST_1105_INDEX = 1105;
-        protected static final int LBL_REF_LIST_1106_INDEX = 1106;
-        protected static final int LBL_REF_1107_INDEX = 1107;
-        protected static final int ARITHMETIC_IF_STMT_1108_INDEX = 1108;
-        protected static final int CONTINUE_STMT_1109_INDEX = 1109;
-        protected static final int STOP_STMT_1110_INDEX = 1110;
-        protected static final int STOP_STMT_1111_INDEX = 1111;
-        protected static final int STOP_STMT_1112_INDEX = 1112;
-        protected static final int STOP_STMT_1113_INDEX = 1113;
-        protected static final int ALL_STOP_STMT_1114_INDEX = 1114;
-        protected static final int ALL_STOP_STMT_1115_INDEX = 1115;
-        protected static final int ALL_STOP_STMT_1116_INDEX = 1116;
-        protected static final int ALL_STOP_STMT_1117_INDEX = 1117;
-        protected static final int ALL_STOP_STMT_1118_INDEX = 1118;
-        protected static final int ALL_STOP_STMT_1119_INDEX = 1119;
-        protected static final int ALL_STOP_STMT_1120_INDEX = 1120;
-        protected static final int ALL_STOP_STMT_1121_INDEX = 1121;
-        protected static final int SYNC_ALL_STMT_1122_INDEX = 1122;
-        protected static final int SYNC_ALL_STMT_1123_INDEX = 1123;
-        protected static final int SYNC_ALL_STMT_1124_INDEX = 1124;
-        protected static final int SYNC_ALL_STMT_1125_INDEX = 1125;
-        protected static final int SYNC_STAT_LIST_1126_INDEX = 1126;
-        protected static final int SYNC_STAT_LIST_1127_INDEX = 1127;
-        protected static final int SYNC_STAT_1128_INDEX = 1128;
-        protected static final int SYNC_IMAGES_STMT_1129_INDEX = 1129;
-        protected static final int SYNC_IMAGES_STMT_1130_INDEX = 1130;
-        protected static final int SYNC_IMAGES_STMT_1131_INDEX = 1131;
-        protected static final int SYNC_IMAGES_STMT_1132_INDEX = 1132;
-        protected static final int IMAGE_SET_1133_INDEX = 1133;
-        protected static final int IMAGE_SET_1134_INDEX = 1134;
-        protected static final int SYNC_MEMORY_STMT_1135_INDEX = 1135;
-        protected static final int SYNC_MEMORY_STMT_1136_INDEX = 1136;
-        protected static final int SYNC_MEMORY_STMT_1137_INDEX = 1137;
-        protected static final int SYNC_MEMORY_STMT_1138_INDEX = 1138;
-        protected static final int LOCK_STMT_1139_INDEX = 1139;
-        protected static final int LOCK_STMT_1140_INDEX = 1140;
-        protected static final int UNLOCK_STMT_1141_INDEX = 1141;
-        protected static final int UNLOCK_STMT_1142_INDEX = 1142;
-        protected static final int UNIT_IDENTIFIER_1143_INDEX = 1143;
-        protected static final int UNIT_IDENTIFIER_1144_INDEX = 1144;
-        protected static final int OPEN_STMT_1145_INDEX = 1145;
-        protected static final int CONNECT_SPEC_LIST_1146_INDEX = 1146;
-        protected static final int CONNECT_SPEC_LIST_1147_INDEX = 1147;
-        protected static final int CONNECT_SPEC_1148_INDEX = 1148;
-        protected static final int CONNECT_SPEC_1149_INDEX = 1149;
-        protected static final int CONNECT_SPEC_1150_INDEX = 1150;
-        protected static final int CONNECT_SPEC_1151_INDEX = 1151;
-        protected static final int CONNECT_SPEC_1152_INDEX = 1152;
-        protected static final int CONNECT_SPEC_1153_INDEX = 1153;
-        protected static final int CONNECT_SPEC_1154_INDEX = 1154;
-        protected static final int CONNECT_SPEC_1155_INDEX = 1155;
-        protected static final int CONNECT_SPEC_1156_INDEX = 1156;
-        protected static final int CONNECT_SPEC_1157_INDEX = 1157;
-        protected static final int CONNECT_SPEC_1158_INDEX = 1158;
-        protected static final int CONNECT_SPEC_1159_INDEX = 1159;
-        protected static final int CONNECT_SPEC_1160_INDEX = 1160;
-        protected static final int CONNECT_SPEC_1161_INDEX = 1161;
-        protected static final int CONNECT_SPEC_1162_INDEX = 1162;
-        protected static final int CONNECT_SPEC_1163_INDEX = 1163;
-        protected static final int CONNECT_SPEC_1164_INDEX = 1164;
-        protected static final int CONNECT_SPEC_1165_INDEX = 1165;
-        protected static final int CONNECT_SPEC_1166_INDEX = 1166;
-        protected static final int CONNECT_SPEC_1167_INDEX = 1167;
-        protected static final int CONNECT_SPEC_1168_INDEX = 1168;
-        protected static final int CLOSE_STMT_1169_INDEX = 1169;
-        protected static final int CLOSE_SPEC_LIST_1170_INDEX = 1170;
-        protected static final int CLOSE_SPEC_LIST_1171_INDEX = 1171;
-        protected static final int CLOSE_SPEC_LIST_1172_INDEX = 1172;
-        protected static final int CLOSE_SPEC_1173_INDEX = 1173;
-        protected static final int CLOSE_SPEC_1174_INDEX = 1174;
-        protected static final int CLOSE_SPEC_1175_INDEX = 1175;
-        protected static final int CLOSE_SPEC_1176_INDEX = 1176;
-        protected static final int CLOSE_SPEC_1177_INDEX = 1177;
-        protected static final int READ_STMT_1178_INDEX = 1178;
-        protected static final int READ_STMT_1179_INDEX = 1179;
-        protected static final int READ_STMT_1180_INDEX = 1180;
-        protected static final int READ_STMT_1181_INDEX = 1181;
-        protected static final int READ_STMT_1182_INDEX = 1182;
-        protected static final int RD_CTL_SPEC_1183_INDEX = 1183;
-        protected static final int RD_CTL_SPEC_1184_INDEX = 1184;
-        protected static final int RD_UNIT_ID_1185_INDEX = 1185;
-        protected static final int RD_UNIT_ID_1186_INDEX = 1186;
-        protected static final int RD_IO_CTL_SPEC_LIST_1187_INDEX = 1187;
-        protected static final int RD_IO_CTL_SPEC_LIST_1188_INDEX = 1188;
-        protected static final int RD_IO_CTL_SPEC_LIST_1189_INDEX = 1189;
-        protected static final int RD_IO_CTL_SPEC_LIST_1190_INDEX = 1190;
-        protected static final int RD_FMT_ID_1191_INDEX = 1191;
-        protected static final int RD_FMT_ID_1192_INDEX = 1192;
-        protected static final int RD_FMT_ID_1193_INDEX = 1193;
-        protected static final int RD_FMT_ID_1194_INDEX = 1194;
-        protected static final int RD_FMT_ID_1195_INDEX = 1195;
-        protected static final int RD_FMT_ID_EXPR_1196_INDEX = 1196;
-        protected static final int WRITE_STMT_1197_INDEX = 1197;
-        protected static final int WRITE_STMT_1198_INDEX = 1198;
-        protected static final int WRITE_STMT_1199_INDEX = 1199;
-        protected static final int PRINT_STMT_1200_INDEX = 1200;
-        protected static final int PRINT_STMT_1201_INDEX = 1201;
-        protected static final int IO_CONTROL_SPEC_LIST_1202_INDEX = 1202;
-        protected static final int IO_CONTROL_SPEC_LIST_1203_INDEX = 1203;
-        protected static final int IO_CONTROL_SPEC_LIST_1204_INDEX = 1204;
-        protected static final int IO_CONTROL_SPEC_LIST_1205_INDEX = 1205;
-        protected static final int IO_CONTROL_SPEC_LIST_1206_INDEX = 1206;
-        protected static final int IO_CONTROL_SPEC_1207_INDEX = 1207;
-        protected static final int IO_CONTROL_SPEC_1208_INDEX = 1208;
-        protected static final int IO_CONTROL_SPEC_1209_INDEX = 1209;
-        protected static final int IO_CONTROL_SPEC_1210_INDEX = 1210;
-        protected static final int IO_CONTROL_SPEC_1211_INDEX = 1211;
-        protected static final int IO_CONTROL_SPEC_1212_INDEX = 1212;
-        protected static final int IO_CONTROL_SPEC_1213_INDEX = 1213;
-        protected static final int IO_CONTROL_SPEC_1214_INDEX = 1214;
-        protected static final int IO_CONTROL_SPEC_1215_INDEX = 1215;
-        protected static final int IO_CONTROL_SPEC_1216_INDEX = 1216;
-        protected static final int IO_CONTROL_SPEC_1217_INDEX = 1217;
-        protected static final int IO_CONTROL_SPEC_1218_INDEX = 1218;
-        protected static final int IO_CONTROL_SPEC_1219_INDEX = 1219;
-        protected static final int IO_CONTROL_SPEC_1220_INDEX = 1220;
-        protected static final int IO_CONTROL_SPEC_1221_INDEX = 1221;
-        protected static final int IO_CONTROL_SPEC_1222_INDEX = 1222;
-        protected static final int IO_CONTROL_SPEC_1223_INDEX = 1223;
-        protected static final int FORMAT_IDENTIFIER_1224_INDEX = 1224;
-        protected static final int FORMAT_IDENTIFIER_1225_INDEX = 1225;
-        protected static final int FORMAT_IDENTIFIER_1226_INDEX = 1226;
-        protected static final int INPUT_ITEM_LIST_1227_INDEX = 1227;
-        protected static final int INPUT_ITEM_LIST_1228_INDEX = 1228;
-        protected static final int INPUT_ITEM_1229_INDEX = 1229;
-        protected static final int INPUT_ITEM_1230_INDEX = 1230;
-        protected static final int OUTPUT_ITEM_LIST_1231_INDEX = 1231;
-        protected static final int OUTPUT_ITEM_LIST_1232_INDEX = 1232;
-        protected static final int OUTPUT_ITEM_LIST_1_1233_INDEX = 1233;
-        protected static final int OUTPUT_ITEM_LIST_1_1234_INDEX = 1234;
-        protected static final int OUTPUT_ITEM_LIST_1_1235_INDEX = 1235;
-        protected static final int OUTPUT_ITEM_LIST_1_1236_INDEX = 1236;
-        protected static final int OUTPUT_ITEM_LIST_1_1237_INDEX = 1237;
-        protected static final int INPUT_IMPLIED_DO_1238_INDEX = 1238;
-        protected static final int INPUT_IMPLIED_DO_1239_INDEX = 1239;
-        protected static final int OUTPUT_IMPLIED_DO_1240_INDEX = 1240;
-        protected static final int OUTPUT_IMPLIED_DO_1241_INDEX = 1241;
-        protected static final int OUTPUT_IMPLIED_DO_1242_INDEX = 1242;
-        protected static final int OUTPUT_IMPLIED_DO_1243_INDEX = 1243;
-        protected static final int WAIT_STMT_1244_INDEX = 1244;
-        protected static final int WAIT_SPEC_LIST_1245_INDEX = 1245;
-        protected static final int WAIT_SPEC_LIST_1246_INDEX = 1246;
-        protected static final int WAIT_SPEC_1247_INDEX = 1247;
-        protected static final int WAIT_SPEC_1248_INDEX = 1248;
-        protected static final int BACKSPACE_STMT_1249_INDEX = 1249;
-        protected static final int BACKSPACE_STMT_1250_INDEX = 1250;
-        protected static final int ENDFILE_STMT_1251_INDEX = 1251;
-        protected static final int ENDFILE_STMT_1252_INDEX = 1252;
-        protected static final int ENDFILE_STMT_1253_INDEX = 1253;
-        protected static final int ENDFILE_STMT_1254_INDEX = 1254;
-        protected static final int REWIND_STMT_1255_INDEX = 1255;
-        protected static final int REWIND_STMT_1256_INDEX = 1256;
-        protected static final int POSITION_SPEC_LIST_1257_INDEX = 1257;
-        protected static final int POSITION_SPEC_LIST_1258_INDEX = 1258;
-        protected static final int POSITION_SPEC_LIST_1259_INDEX = 1259;
-        protected static final int POSITION_SPEC_1260_INDEX = 1260;
-        protected static final int POSITION_SPEC_1261_INDEX = 1261;
-        protected static final int POSITION_SPEC_1262_INDEX = 1262;
-        protected static final int INQUIRE_STMT_1263_INDEX = 1263;
-        protected static final int INQUIRE_STMT_1264_INDEX = 1264;
-        protected static final int INQUIRE_SPEC_LIST_1265_INDEX = 1265;
-        protected static final int INQUIRE_SPEC_LIST_1266_INDEX = 1266;
-        protected static final int INQUIRE_SPEC_LIST_1267_INDEX = 1267;
-        protected static final int INQUIRE_SPEC_1268_INDEX = 1268;
-        protected static final int INQUIRE_SPEC_1269_INDEX = 1269;
-        protected static final int INQUIRE_SPEC_1270_INDEX = 1270;
-        protected static final int INQUIRE_SPEC_1271_INDEX = 1271;
-        protected static final int INQUIRE_SPEC_1272_INDEX = 1272;
-        protected static final int INQUIRE_SPEC_1273_INDEX = 1273;
-        protected static final int INQUIRE_SPEC_1274_INDEX = 1274;
-        protected static final int INQUIRE_SPEC_1275_INDEX = 1275;
-        protected static final int INQUIRE_SPEC_1276_INDEX = 1276;
-        protected static final int INQUIRE_SPEC_1277_INDEX = 1277;
-        protected static final int INQUIRE_SPEC_1278_INDEX = 1278;
-        protected static final int INQUIRE_SPEC_1279_INDEX = 1279;
-        protected static final int INQUIRE_SPEC_1280_INDEX = 1280;
-        protected static final int INQUIRE_SPEC_1281_INDEX = 1281;
-        protected static final int INQUIRE_SPEC_1282_INDEX = 1282;
-        protected static final int INQUIRE_SPEC_1283_INDEX = 1283;
-        protected static final int INQUIRE_SPEC_1284_INDEX = 1284;
-        protected static final int INQUIRE_SPEC_1285_INDEX = 1285;
-        protected static final int INQUIRE_SPEC_1286_INDEX = 1286;
-        protected static final int INQUIRE_SPEC_1287_INDEX = 1287;
-        protected static final int INQUIRE_SPEC_1288_INDEX = 1288;
-        protected static final int INQUIRE_SPEC_1289_INDEX = 1289;
-        protected static final int INQUIRE_SPEC_1290_INDEX = 1290;
-        protected static final int INQUIRE_SPEC_1291_INDEX = 1291;
-        protected static final int INQUIRE_SPEC_1292_INDEX = 1292;
-        protected static final int INQUIRE_SPEC_1293_INDEX = 1293;
-        protected static final int INQUIRE_SPEC_1294_INDEX = 1294;
-        protected static final int INQUIRE_SPEC_1295_INDEX = 1295;
-        protected static final int INQUIRE_SPEC_1296_INDEX = 1296;
-        protected static final int INQUIRE_SPEC_1297_INDEX = 1297;
-        protected static final int INQUIRE_SPEC_1298_INDEX = 1298;
-        protected static final int INQUIRE_SPEC_1299_INDEX = 1299;
-        protected static final int INQUIRE_SPEC_1300_INDEX = 1300;
-        protected static final int INQUIRE_SPEC_1301_INDEX = 1301;
-        protected static final int INQUIRE_SPEC_1302_INDEX = 1302;
-        protected static final int INQUIRE_SPEC_1303_INDEX = 1303;
-        protected static final int FORMAT_STMT_1304_INDEX = 1304;
-        protected static final int FORMAT_STMT_1305_INDEX = 1305;
-        protected static final int FMT_SPEC_1306_INDEX = 1306;
-        protected static final int FMT_SPEC_1307_INDEX = 1307;
-        protected static final int FMT_SPEC_1308_INDEX = 1308;
-        protected static final int FMT_SPEC_1309_INDEX = 1309;
-        protected static final int FMT_SPEC_1310_INDEX = 1310;
-        protected static final int FMT_SPEC_1311_INDEX = 1311;
-        protected static final int FMT_SPEC_1312_INDEX = 1312;
-        protected static final int FMT_SPEC_1313_INDEX = 1313;
-        protected static final int FORMAT_EDIT_1314_INDEX = 1314;
-        protected static final int FORMAT_EDIT_1315_INDEX = 1315;
-        protected static final int FORMAT_EDIT_1316_INDEX = 1316;
-        protected static final int FORMAT_EDIT_1317_INDEX = 1317;
-        protected static final int FORMAT_EDIT_1318_INDEX = 1318;
-        protected static final int FORMAT_EDIT_1319_INDEX = 1319;
-        protected static final int EDIT_ELEMENT_1320_INDEX = 1320;
-        protected static final int EDIT_ELEMENT_1321_INDEX = 1321;
-        protected static final int EDIT_ELEMENT_1322_INDEX = 1322;
-        protected static final int EDIT_ELEMENT_1323_INDEX = 1323;
-        protected static final int EDIT_ELEMENT_1324_INDEX = 1324;
-        protected static final int FORMATSEP_1325_INDEX = 1325;
-        protected static final int FORMATSEP_1326_INDEX = 1326;
-        protected static final int PROGRAM_STMT_1327_INDEX = 1327;
-        protected static final int END_PROGRAM_STMT_1328_INDEX = 1328;
-        protected static final int END_PROGRAM_STMT_1329_INDEX = 1329;
-        protected static final int END_PROGRAM_STMT_1330_INDEX = 1330;
-        protected static final int END_PROGRAM_STMT_1331_INDEX = 1331;
-        protected static final int END_PROGRAM_STMT_1332_INDEX = 1332;
-        protected static final int MODULE_STMT_1333_INDEX = 1333;
-        protected static final int END_MODULE_STMT_1334_INDEX = 1334;
-        protected static final int END_MODULE_STMT_1335_INDEX = 1335;
-        protected static final int END_MODULE_STMT_1336_INDEX = 1336;
-        protected static final int END_MODULE_STMT_1337_INDEX = 1337;
-        protected static final int END_MODULE_STMT_1338_INDEX = 1338;
-        protected static final int USE_STMT_1339_INDEX = 1339;
-        protected static final int USE_STMT_1340_INDEX = 1340;
-        protected static final int USE_STMT_1341_INDEX = 1341;
-        protected static final int USE_STMT_1342_INDEX = 1342;
-        protected static final int USE_STMT_1343_INDEX = 1343;
-        protected static final int USE_STMT_1344_INDEX = 1344;
-        protected static final int USE_STMT_1345_INDEX = 1345;
-        protected static final int USE_STMT_1346_INDEX = 1346;
-        protected static final int USE_STMT_1347_INDEX = 1347;
-        protected static final int USE_STMT_1348_INDEX = 1348;
-        protected static final int USE_STMT_1349_INDEX = 1349;
-        protected static final int USE_STMT_1350_INDEX = 1350;
-        protected static final int MODULE_NATURE_1351_INDEX = 1351;
-        protected static final int MODULE_NATURE_1352_INDEX = 1352;
-        protected static final int RENAME_LIST_1353_INDEX = 1353;
-        protected static final int RENAME_LIST_1354_INDEX = 1354;
-        protected static final int ONLY_LIST_1355_INDEX = 1355;
-        protected static final int ONLY_LIST_1356_INDEX = 1356;
-        protected static final int RENAME_1357_INDEX = 1357;
-        protected static final int RENAME_1358_INDEX = 1358;
-        protected static final int ONLY_1359_INDEX = 1359;
-        protected static final int ONLY_1360_INDEX = 1360;
-        protected static final int ONLY_1361_INDEX = 1361;
-        protected static final int ONLY_1362_INDEX = 1362;
-        protected static final int BLOCK_DATA_STMT_1363_INDEX = 1363;
-        protected static final int BLOCK_DATA_STMT_1364_INDEX = 1364;
-        protected static final int BLOCK_DATA_STMT_1365_INDEX = 1365;
-        protected static final int BLOCK_DATA_STMT_1366_INDEX = 1366;
-        protected static final int END_BLOCK_DATA_STMT_1367_INDEX = 1367;
-        protected static final int END_BLOCK_DATA_STMT_1368_INDEX = 1368;
-        protected static final int END_BLOCK_DATA_STMT_1369_INDEX = 1369;
-        protected static final int END_BLOCK_DATA_STMT_1370_INDEX = 1370;
-        protected static final int END_BLOCK_DATA_STMT_1371_INDEX = 1371;
-        protected static final int END_BLOCK_DATA_STMT_1372_INDEX = 1372;
-        protected static final int END_BLOCK_DATA_STMT_1373_INDEX = 1373;
-        protected static final int END_BLOCK_DATA_STMT_1374_INDEX = 1374;
-        protected static final int END_BLOCK_DATA_STMT_1375_INDEX = 1375;
-        protected static final int INTERFACE_BLOCK_1376_INDEX = 1376;
-        protected static final int INTERFACE_RANGE_1377_INDEX = 1377;
-        protected static final int INTERFACE_BLOCK_BODY_1378_INDEX = 1378;
-        protected static final int INTERFACE_BLOCK_BODY_1379_INDEX = 1379;
-        protected static final int INTERFACE_SPECIFICATION_1380_INDEX = 1380;
-        protected static final int INTERFACE_SPECIFICATION_1381_INDEX = 1381;
-        protected static final int INTERFACE_STMT_1382_INDEX = 1382;
-        protected static final int INTERFACE_STMT_1383_INDEX = 1383;
-        protected static final int INTERFACE_STMT_1384_INDEX = 1384;
-        protected static final int INTERFACE_STMT_1385_INDEX = 1385;
-        protected static final int END_INTERFACE_STMT_1386_INDEX = 1386;
-        protected static final int END_INTERFACE_STMT_1387_INDEX = 1387;
-        protected static final int END_INTERFACE_STMT_1388_INDEX = 1388;
-        protected static final int END_INTERFACE_STMT_1389_INDEX = 1389;
-        protected static final int INTERFACE_BODY_1390_INDEX = 1390;
-        protected static final int INTERFACE_BODY_1391_INDEX = 1391;
-        protected static final int FUNCTION_INTERFACE_RANGE_1392_INDEX = 1392;
-        protected static final int FUNCTION_INTERFACE_RANGE_1393_INDEX = 1393;
-        protected static final int SUBROUTINE_INTERFACE_RANGE_1394_INDEX = 1394;
-        protected static final int SUBROUTINE_INTERFACE_RANGE_1395_INDEX = 1395;
-        protected static final int SUBPROGRAM_INTERFACE_BODY_1396_INDEX = 1396;
-        protected static final int SUBPROGRAM_INTERFACE_BODY_1397_INDEX = 1397;
-        protected static final int MODULE_PROCEDURE_STMT_1398_INDEX = 1398;
-        protected static final int PROCEDURE_NAME_LIST_1399_INDEX = 1399;
-        protected static final int PROCEDURE_NAME_LIST_1400_INDEX = 1400;
-        protected static final int PROCEDURE_NAME_1401_INDEX = 1401;
-        protected static final int GENERIC_SPEC_1402_INDEX = 1402;
-        protected static final int GENERIC_SPEC_1403_INDEX = 1403;
-        protected static final int GENERIC_SPEC_1404_INDEX = 1404;
-        protected static final int GENERIC_SPEC_1405_INDEX = 1405;
-        protected static final int IMPORT_STMT_1406_INDEX = 1406;
-        protected static final int IMPORT_STMT_1407_INDEX = 1407;
-        protected static final int IMPORT_STMT_1408_INDEX = 1408;
-        protected static final int IMPORT_LIST_1409_INDEX = 1409;
-        protected static final int IMPORT_LIST_1410_INDEX = 1410;
-        protected static final int PROCEDURE_DECLARATION_STMT_1411_INDEX = 1411;
-        protected static final int PROCEDURE_DECLARATION_STMT_1412_INDEX = 1412;
-        protected static final int PROCEDURE_DECLARATION_STMT_1413_INDEX = 1413;
-        protected static final int PROCEDURE_DECLARATION_STMT_1414_INDEX = 1414;
-        protected static final int PROCEDURE_DECLARATION_STMT_1415_INDEX = 1415;
-        protected static final int PROCEDURE_DECLARATION_STMT_1416_INDEX = 1416;
-        protected static final int PROC_ATTR_SPEC_LIST_1417_INDEX = 1417;
-        protected static final int PROC_ATTR_SPEC_LIST_1418_INDEX = 1418;
-        protected static final int PROC_ATTR_SPEC_1419_INDEX = 1419;
-        protected static final int PROC_ATTR_SPEC_1420_INDEX = 1420;
-        protected static final int PROC_ATTR_SPEC_1421_INDEX = 1421;
-        protected static final int PROC_ATTR_SPEC_1422_INDEX = 1422;
-        protected static final int PROC_ATTR_SPEC_1423_INDEX = 1423;
-        protected static final int EXTERNAL_STMT_1424_INDEX = 1424;
-        protected static final int EXTERNAL_STMT_1425_INDEX = 1425;
-        protected static final int EXTERNAL_NAME_LIST_1426_INDEX = 1426;
-        protected static final int EXTERNAL_NAME_LIST_1427_INDEX = 1427;
-        protected static final int INTRINSIC_STMT_1428_INDEX = 1428;
-        protected static final int INTRINSIC_STMT_1429_INDEX = 1429;
-        protected static final int INTRINSIC_LIST_1430_INDEX = 1430;
-        protected static final int INTRINSIC_LIST_1431_INDEX = 1431;
-        protected static final int FUNCTION_REFERENCE_1432_INDEX = 1432;
-        protected static final int FUNCTION_REFERENCE_1433_INDEX = 1433;
-        protected static final int CALL_STMT_1434_INDEX = 1434;
-        protected static final int CALL_STMT_1435_INDEX = 1435;
-        protected static final int CALL_STMT_1436_INDEX = 1436;
-        protected static final int CALL_STMT_1437_INDEX = 1437;
-        protected static final int DERIVED_TYPE_QUALIFIERS_1438_INDEX = 1438;
-        protected static final int DERIVED_TYPE_QUALIFIERS_1439_INDEX = 1439;
-        protected static final int DERIVED_TYPE_QUALIFIERS_1440_INDEX = 1440;
-        protected static final int DERIVED_TYPE_QUALIFIERS_1441_INDEX = 1441;
-        protected static final int PARENTHESIZED_SUBROUTINE_ARG_LIST_1442_INDEX = 1442;
-        protected static final int PARENTHESIZED_SUBROUTINE_ARG_LIST_1443_INDEX = 1443;
-        protected static final int SUBROUTINE_ARG_LIST_1444_INDEX = 1444;
-        protected static final int SUBROUTINE_ARG_LIST_1445_INDEX = 1445;
-        protected static final int FUNCTION_ARG_LIST_1446_INDEX = 1446;
-        protected static final int FUNCTION_ARG_LIST_1447_INDEX = 1447;
-        protected static final int FUNCTION_ARG_LIST_1448_INDEX = 1448;
-        protected static final int FUNCTION_ARG_1449_INDEX = 1449;
-        protected static final int SUBROUTINE_ARG_1450_INDEX = 1450;
-        protected static final int SUBROUTINE_ARG_1451_INDEX = 1451;
-        protected static final int SUBROUTINE_ARG_1452_INDEX = 1452;
-        protected static final int SUBROUTINE_ARG_1453_INDEX = 1453;
-        protected static final int SUBROUTINE_ARG_1454_INDEX = 1454;
-        protected static final int SUBROUTINE_ARG_1455_INDEX = 1455;
-        protected static final int FUNCTION_STMT_1456_INDEX = 1456;
-        protected static final int FUNCTION_STMT_1457_INDEX = 1457;
-        protected static final int FUNCTION_STMT_1458_INDEX = 1458;
-        protected static final int FUNCTION_STMT_1459_INDEX = 1459;
-        protected static final int FUNCTION_STMT_1460_INDEX = 1460;
-        protected static final int FUNCTION_STMT_1461_INDEX = 1461;
-        protected static final int FUNCTION_STMT_1462_INDEX = 1462;
-        protected static final int FUNCTION_STMT_1463_INDEX = 1463;
-        protected static final int FUNCTION_STMT_1464_INDEX = 1464;
-        protected static final int FUNCTION_STMT_1465_INDEX = 1465;
-        protected static final int FUNCTION_PARS_1466_INDEX = 1466;
-        protected static final int FUNCTION_PARS_1467_INDEX = 1467;
-        protected static final int FUNCTION_PAR_1468_INDEX = 1468;
-        protected static final int FUNCTION_PREFIX_1469_INDEX = 1469;
-        protected static final int FUNCTION_PREFIX_1470_INDEX = 1470;
-        protected static final int PREFIX_SPEC_LIST_1471_INDEX = 1471;
-        protected static final int PREFIX_SPEC_LIST_1472_INDEX = 1472;
-        protected static final int PREFIX_SPEC_1473_INDEX = 1473;
-        protected static final int PREFIX_SPEC_1474_INDEX = 1474;
-        protected static final int PREFIX_SPEC_1475_INDEX = 1475;
-        protected static final int PREFIX_SPEC_1476_INDEX = 1476;
-        protected static final int PREFIX_SPEC_1477_INDEX = 1477;
-        protected static final int PREFIX_SPEC_1478_INDEX = 1478;
-        protected static final int END_FUNCTION_STMT_1479_INDEX = 1479;
-        protected static final int END_FUNCTION_STMT_1480_INDEX = 1480;
-        protected static final int END_FUNCTION_STMT_1481_INDEX = 1481;
-        protected static final int END_FUNCTION_STMT_1482_INDEX = 1482;
-        protected static final int END_FUNCTION_STMT_1483_INDEX = 1483;
-        protected static final int SUBROUTINE_STMT_1484_INDEX = 1484;
-        protected static final int SUBROUTINE_STMT_1485_INDEX = 1485;
-        protected static final int SUBROUTINE_STMT_1486_INDEX = 1486;
-        protected static final int SUBROUTINE_STMT_1487_INDEX = 1487;
-        protected static final int SUBROUTINE_STMT_1488_INDEX = 1488;
-        protected static final int SUBROUTINE_PREFIX_1489_INDEX = 1489;
-        protected static final int SUBROUTINE_PREFIX_1490_INDEX = 1490;
-        protected static final int SUBROUTINE_PARS_1491_INDEX = 1491;
-        protected static final int SUBROUTINE_PARS_1492_INDEX = 1492;
-        protected static final int SUBROUTINE_PAR_1493_INDEX = 1493;
-        protected static final int SUBROUTINE_PAR_1494_INDEX = 1494;
-        protected static final int END_SUBROUTINE_STMT_1495_INDEX = 1495;
-        protected static final int END_SUBROUTINE_STMT_1496_INDEX = 1496;
-        protected static final int END_SUBROUTINE_STMT_1497_INDEX = 1497;
-        protected static final int END_SUBROUTINE_STMT_1498_INDEX = 1498;
-        protected static final int END_SUBROUTINE_STMT_1499_INDEX = 1499;
-        protected static final int ENTRY_STMT_1500_INDEX = 1500;
-        protected static final int ENTRY_STMT_1501_INDEX = 1501;
-        protected static final int RETURN_STMT_1502_INDEX = 1502;
-        protected static final int RETURN_STMT_1503_INDEX = 1503;
-        protected static final int CONTAINS_STMT_1504_INDEX = 1504;
-        protected static final int STMT_FUNCTION_STMT_1505_INDEX = 1505;
-        protected static final int STMT_FUNCTION_RANGE_1506_INDEX = 1506;
-        protected static final int STMT_FUNCTION_RANGE_1507_INDEX = 1507;
-        protected static final int SFDUMMY_ARG_NAME_LIST_1508_INDEX = 1508;
-        protected static final int SFDUMMY_ARG_NAME_LIST_1509_INDEX = 1509;
-        protected static final int ARRAY_NAME_1510_INDEX = 1510;
-        protected static final int BLOCK_DATA_NAME_1511_INDEX = 1511;
-        protected static final int COMMON_BLOCK_NAME_1512_INDEX = 1512;
-        protected static final int COMPONENT_NAME_1513_INDEX = 1513;
-        protected static final int DUMMY_ARG_NAME_1514_INDEX = 1514;
-        protected static final int END_NAME_1515_INDEX = 1515;
-        protected static final int ENTRY_NAME_1516_INDEX = 1516;
-        protected static final int EXTERNAL_NAME_1517_INDEX = 1517;
-        protected static final int FUNCTION_NAME_1518_INDEX = 1518;
-        protected static final int GENERIC_NAME_1519_INDEX = 1519;
-        protected static final int IMPLIED_DO_VARIABLE_1520_INDEX = 1520;
-        protected static final int INTRINSIC_PROCEDURE_NAME_1521_INDEX = 1521;
-        protected static final int MODULE_NAME_1522_INDEX = 1522;
-        protected static final int NAMELIST_GROUP_NAME_1523_INDEX = 1523;
-        protected static final int OBJECT_NAME_1524_INDEX = 1524;
-        protected static final int PROGRAM_NAME_1525_INDEX = 1525;
-        protected static final int SFDUMMY_ARG_NAME_1526_INDEX = 1526;
-        protected static final int SFVAR_NAME_1527_INDEX = 1527;
-        protected static final int SUBROUTINE_NAME_1528_INDEX = 1528;
-        protected static final int SUBROUTINE_NAME_USE_1529_INDEX = 1529;
-        protected static final int TYPE_NAME_1530_INDEX = 1530;
-        protected static final int USE_NAME_1531_INDEX = 1531;
-        protected static final int LBL_DEF_1532_INDEX = 1532;
-        protected static final int LBL_DEF_1533_INDEX = 1533;
-        protected static final int PAUSE_STMT_1534_INDEX = 1534;
-        protected static final int PAUSE_STMT_1535_INDEX = 1535;
-        protected static final int PAUSE_STMT_1536_INDEX = 1536;
-        protected static final int ASSIGN_STMT_1537_INDEX = 1537;
-        protected static final int ASSIGNED_GOTO_STMT_1538_INDEX = 1538;
-        protected static final int ASSIGNED_GOTO_STMT_1539_INDEX = 1539;
-        protected static final int ASSIGNED_GOTO_STMT_1540_INDEX = 1540;
-        protected static final int VARIABLE_COMMA_1541_INDEX = 1541;
-        protected static final int PROGRAM_UNIT_ERROR_0_INDEX = 1542;
-        protected static final int BODY_CONSTRUCT_ERROR_1_INDEX = 1543;
-        protected static final int TYPE_DECLARATION_STMT_ERROR_2_INDEX = 1544;
-        protected static final int DATA_STMT_ERROR_3_INDEX = 1545;
-        protected static final int ALLOCATE_STMT_ERROR_4_INDEX = 1546;
-        protected static final int ASSIGNMENT_STMT_ERROR_5_INDEX = 1547;
-        protected static final int FORALL_CONSTRUCT_STMT_ERROR_6_INDEX = 1548;
-        protected static final int FORALL_CONSTRUCT_STMT_ERROR_7_INDEX = 1549;
-        protected static final int IF_THEN_ERROR_ERROR_8_INDEX = 1550;
-        protected static final int ELSE_IF_STMT_ERROR_9_INDEX = 1551;
-        protected static final int ELSE_IF_STMT_ERROR_10_INDEX = 1552;
-        protected static final int ELSE_STMT_ERROR_11_INDEX = 1553;
-        protected static final int IF_STMT_ERROR_12_INDEX = 1554;
-        protected static final int SELECT_CASE_STMT_ERROR_13_INDEX = 1555;
-        protected static final int SELECT_CASE_STMT_ERROR_14_INDEX = 1556;
-        protected static final int SELECT_CASE_STMT_ERROR_15_INDEX = 1557;
-        protected static final int SELECT_CASE_STMT_ERROR_16_INDEX = 1558;
-        protected static final int CASE_STMT_ERROR_17_INDEX = 1559;
-        protected static final int FORMAT_STMT_ERROR_18_INDEX = 1560;
-        protected static final int FUNCTION_STMT_ERROR_19_INDEX = 1561;
-        protected static final int SUBROUTINE_STMT_ERROR_20_INDEX = 1562;
-
-        protected static final Production[] values = new Production[]
-        {
-            null, // Start production for augmented grammar
-            EXECUTABLE_PROGRAM_1,
-            EXECUTABLE_PROGRAM_2,
-            EMPTY_PROGRAM_3,
-            EMPTY_PROGRAM_4,
-            PROGRAM_UNIT_LIST_5,
-            PROGRAM_UNIT_LIST_6,
-            PROGRAM_UNIT_7,
-            PROGRAM_UNIT_8,
-            PROGRAM_UNIT_9,
-            PROGRAM_UNIT_10,
-            PROGRAM_UNIT_11,
-            PROGRAM_UNIT_12,
-            MAIN_PROGRAM_13,
-            MAIN_PROGRAM_14,
-            MAIN_RANGE_15,
-            MAIN_RANGE_16,
-            MAIN_RANGE_17,
-            BODY_18,
-            BODY_19,
-            BODY_CONSTRUCT_20,
-            BODY_CONSTRUCT_21,
-            FUNCTION_SUBPROGRAM_22,
-            FUNCTION_RANGE_23,
-            FUNCTION_RANGE_24,
-            FUNCTION_RANGE_25,
-            SUBROUTINE_SUBPROGRAM_26,
-            SUBROUTINE_RANGE_27,
-            SUBROUTINE_RANGE_28,
-            SUBROUTINE_RANGE_29,
-            SEPARATE_MODULE_SUBPROGRAM_30,
-            MP_SUBPROGRAM_RANGE_31,
-            MP_SUBPROGRAM_RANGE_32,
-            MP_SUBPROGRAM_RANGE_33,
-            MP_SUBPROGRAM_STMT_34,
-            END_MP_SUBPROGRAM_STMT_35,
-            END_MP_SUBPROGRAM_STMT_36,
-            END_MP_SUBPROGRAM_STMT_37,
-            END_MP_SUBPROGRAM_STMT_38,
-            END_MP_SUBPROGRAM_STMT_39,
-            MODULE_40,
-            MODULE_BLOCK_41,
-            MODULE_BLOCK_42,
-            MODULE_BODY_43,
-            MODULE_BODY_44,
-            MODULE_BODY_CONSTRUCT_45,
-            MODULE_BODY_CONSTRUCT_46,
-            SUBMODULE_47,
-            SUBMODULE_BLOCK_48,
-            SUBMODULE_BLOCK_49,
-            SUBMODULE_STMT_50,
-            PARENT_IDENTIFIER_51,
-            PARENT_IDENTIFIER_52,
-            END_SUBMODULE_STMT_53,
-            END_SUBMODULE_STMT_54,
-            END_SUBMODULE_STMT_55,
-            END_SUBMODULE_STMT_56,
-            END_SUBMODULE_STMT_57,
-            BLOCK_DATA_SUBPROGRAM_58,
-            BLOCK_DATA_SUBPROGRAM_59,
-            BLOCK_DATA_BODY_60,
-            BLOCK_DATA_BODY_61,
-            BLOCK_DATA_BODY_CONSTRUCT_62,
-            SPECIFICATION_PART_CONSTRUCT_63,
-            SPECIFICATION_PART_CONSTRUCT_64,
-            SPECIFICATION_PART_CONSTRUCT_65,
-            SPECIFICATION_PART_CONSTRUCT_66,
-            SPECIFICATION_PART_CONSTRUCT_67,
-            SPECIFICATION_PART_CONSTRUCT_68,
-            SPECIFICATION_PART_CONSTRUCT_69,
-            DECLARATION_CONSTRUCT_70,
-            DECLARATION_CONSTRUCT_71,
-            DECLARATION_CONSTRUCT_72,
-            DECLARATION_CONSTRUCT_73,
-            DECLARATION_CONSTRUCT_74,
-            DECLARATION_CONSTRUCT_75,
-            EXECUTION_PART_CONSTRUCT_76,
-            EXECUTION_PART_CONSTRUCT_77,
-            EXECUTION_PART_CONSTRUCT_78,
-            EXECUTION_PART_CONSTRUCT_79,
-            OBSOLETE_EXECUTION_PART_CONSTRUCT_80,
-            BODY_PLUS_INTERNALS_81,
-            BODY_PLUS_INTERNALS_82,
-            INTERNAL_SUBPROGRAMS_83,
-            INTERNAL_SUBPROGRAMS_84,
-            INTERNAL_SUBPROGRAM_85,
-            INTERNAL_SUBPROGRAM_86,
-            MODULE_SUBPROGRAM_PART_CONSTRUCT_87,
-            MODULE_SUBPROGRAM_PART_CONSTRUCT_88,
-            MODULE_SUBPROGRAM_PART_CONSTRUCT_89,
-            MODULE_SUBPROGRAM_90,
-            MODULE_SUBPROGRAM_91,
-            SPECIFICATION_STMT_92,
-            SPECIFICATION_STMT_93,
-            SPECIFICATION_STMT_94,
-            SPECIFICATION_STMT_95,
-            SPECIFICATION_STMT_96,
-            SPECIFICATION_STMT_97,
-            SPECIFICATION_STMT_98,
-            SPECIFICATION_STMT_99,
-            SPECIFICATION_STMT_100,
-            SPECIFICATION_STMT_101,
-            SPECIFICATION_STMT_102,
-            SPECIFICATION_STMT_103,
-            SPECIFICATION_STMT_104,
-            SPECIFICATION_STMT_105,
-            SPECIFICATION_STMT_106,
-            SPECIFICATION_STMT_107,
-            SPECIFICATION_STMT_108,
-            SPECIFICATION_STMT_109,
-            SPECIFICATION_STMT_110,
-            SPECIFICATION_STMT_111,
-            SPECIFICATION_STMT_112,
-            SPECIFICATION_STMT_113,
-            SPECIFICATION_STMT_114,
-            UNPROCESSED_INCLUDE_STMT_115,
-            EXECUTABLE_CONSTRUCT_116,
-            EXECUTABLE_CONSTRUCT_117,
-            EXECUTABLE_CONSTRUCT_118,
-            EXECUTABLE_CONSTRUCT_119,
-            EXECUTABLE_CONSTRUCT_120,
-            EXECUTABLE_CONSTRUCT_121,
-            EXECUTABLE_CONSTRUCT_122,
-            EXECUTABLE_CONSTRUCT_123,
-            EXECUTABLE_CONSTRUCT_124,
-            EXECUTABLE_CONSTRUCT_125,
-            EXECUTABLE_CONSTRUCT_126,
-            ACTION_STMT_127,
-            ACTION_STMT_128,
-            ACTION_STMT_129,
-            ACTION_STMT_130,
-            ACTION_STMT_131,
-            ACTION_STMT_132,
-            ACTION_STMT_133,
-            ACTION_STMT_134,
-            ACTION_STMT_135,
-            ACTION_STMT_136,
-            ACTION_STMT_137,
-            ACTION_STMT_138,
-            ACTION_STMT_139,
-            ACTION_STMT_140,
-            ACTION_STMT_141,
-            ACTION_STMT_142,
-            ACTION_STMT_143,
-            ACTION_STMT_144,
-            ACTION_STMT_145,
-            ACTION_STMT_146,
-            ACTION_STMT_147,
-            ACTION_STMT_148,
-            ACTION_STMT_149,
-            ACTION_STMT_150,
-            ACTION_STMT_151,
-            ACTION_STMT_152,
-            ACTION_STMT_153,
-            ACTION_STMT_154,
-            ACTION_STMT_155,
-            ACTION_STMT_156,
-            ACTION_STMT_157,
-            ACTION_STMT_158,
-            ACTION_STMT_159,
-            ACTION_STMT_160,
-            ACTION_STMT_161,
-            OBSOLETE_ACTION_STMT_162,
-            OBSOLETE_ACTION_STMT_163,
-            OBSOLETE_ACTION_STMT_164,
-            NAME_165,
-            CONSTANT_166,
-            CONSTANT_167,
-            CONSTANT_168,
-            CONSTANT_169,
-            CONSTANT_170,
-            CONSTANT_171,
-            CONSTANT_172,
-            CONSTANT_173,
-            CONSTANT_174,
-            CONSTANT_175,
-            CONSTANT_176,
-            NAMED_CONSTANT_177,
-            NAMED_CONSTANT_USE_178,
-            POWER_OP_179,
-            MULT_OP_180,
-            MULT_OP_181,
-            ADD_OP_182,
-            ADD_OP_183,
-            SIGN_184,
-            SIGN_185,
-            CONCAT_OP_186,
-            REL_OP_187,
-            REL_OP_188,
-            REL_OP_189,
-            REL_OP_190,
-            REL_OP_191,
-            REL_OP_192,
-            REL_OP_193,
-            REL_OP_194,
-            REL_OP_195,
-            REL_OP_196,
-            REL_OP_197,
-            REL_OP_198,
-            NOT_OP_199,
-            AND_OP_200,
-            OR_OP_201,
-            EQUIV_OP_202,
-            EQUIV_OP_203,
-            DEFINED_OPERATOR_204,
-            DEFINED_OPERATOR_205,
-            DEFINED_OPERATOR_206,
-            DEFINED_OPERATOR_207,
-            DEFINED_OPERATOR_208,
-            DEFINED_OPERATOR_209,
-            DEFINED_OPERATOR_210,
-            DEFINED_OPERATOR_211,
-            DEFINED_OPERATOR_212,
-            DEFINED_OPERATOR_213,
-            DEFINED_UNARY_OP_214,
-            DEFINED_BINARY_OP_215,
-            LABEL_216,
-            UNSIGNED_ARITHMETIC_CONSTANT_217,
-            UNSIGNED_ARITHMETIC_CONSTANT_218,
-            UNSIGNED_ARITHMETIC_CONSTANT_219,
-            UNSIGNED_ARITHMETIC_CONSTANT_220,
-            UNSIGNED_ARITHMETIC_CONSTANT_221,
-            UNSIGNED_ARITHMETIC_CONSTANT_222,
-            UNSIGNED_ARITHMETIC_CONSTANT_223,
-            KIND_PARAM_224,
-            KIND_PARAM_225,
-            BOZ_LITERAL_CONSTANT_226,
-            BOZ_LITERAL_CONSTANT_227,
-            BOZ_LITERAL_CONSTANT_228,
-            COMPLEX_CONST_229,
-            LOGICAL_CONSTANT_230,
-            LOGICAL_CONSTANT_231,
-            LOGICAL_CONSTANT_232,
-            LOGICAL_CONSTANT_233,
-            DERIVED_TYPE_DEF_234,
-            DERIVED_TYPE_DEF_235,
-            DERIVED_TYPE_DEF_236,
-            DERIVED_TYPE_DEF_237,
-            DERIVED_TYPE_DEF_238,
-            DERIVED_TYPE_DEF_239,
-            DERIVED_TYPE_DEF_240,
-            DERIVED_TYPE_DEF_241,
-            DERIVED_TYPE_BODY_242,
-            DERIVED_TYPE_BODY_243,
-            DERIVED_TYPE_BODY_CONSTRUCT_244,
-            DERIVED_TYPE_BODY_CONSTRUCT_245,
-            DERIVED_TYPE_STMT_246,
-            DERIVED_TYPE_STMT_247,
-            DERIVED_TYPE_STMT_248,
-            DERIVED_TYPE_STMT_249,
-            DERIVED_TYPE_STMT_250,
-            DERIVED_TYPE_STMT_251,
-            TYPE_PARAM_NAME_LIST_252,
-            TYPE_PARAM_NAME_LIST_253,
-            TYPE_ATTR_SPEC_LIST_254,
-            TYPE_ATTR_SPEC_LIST_255,
-            TYPE_ATTR_SPEC_256,
-            TYPE_ATTR_SPEC_257,
-            TYPE_ATTR_SPEC_258,
-            TYPE_ATTR_SPEC_259,
-            TYPE_PARAM_NAME_260,
-            PRIVATE_SEQUENCE_STMT_261,
-            PRIVATE_SEQUENCE_STMT_262,
-            TYPE_PARAM_DEF_STMT_263,
-            TYPE_PARAM_DECL_LIST_264,
-            TYPE_PARAM_DECL_LIST_265,
-            TYPE_PARAM_DECL_266,
-            TYPE_PARAM_DECL_267,
-            TYPE_PARAM_ATTR_SPEC_268,
-            TYPE_PARAM_ATTR_SPEC_269,
-            COMPONENT_DEF_STMT_270,
-            COMPONENT_DEF_STMT_271,
-            DATA_COMPONENT_DEF_STMT_272,
-            DATA_COMPONENT_DEF_STMT_273,
-            DATA_COMPONENT_DEF_STMT_274,
-            COMPONENT_ATTR_SPEC_LIST_275,
-            COMPONENT_ATTR_SPEC_LIST_276,
-            COMPONENT_ATTR_SPEC_277,
-            COMPONENT_ATTR_SPEC_278,
-            COMPONENT_ATTR_SPEC_279,
-            COMPONENT_ATTR_SPEC_280,
-            COMPONENT_ATTR_SPEC_281,
-            COMPONENT_ATTR_SPEC_282,
-            COMPONENT_ARRAY_SPEC_283,
-            COMPONENT_ARRAY_SPEC_284,
-            COMPONENT_DECL_LIST_285,
-            COMPONENT_DECL_LIST_286,
-            COMPONENT_DECL_287,
-            COMPONENT_DECL_288,
-            COMPONENT_DECL_289,
-            COMPONENT_DECL_290,
-            COMPONENT_DECL_291,
-            COMPONENT_DECL_292,
-            COMPONENT_DECL_293,
-            COMPONENT_DECL_294,
-            COMPONENT_DECL_295,
-            COMPONENT_DECL_296,
-            COMPONENT_DECL_297,
-            COMPONENT_DECL_298,
-            COMPONENT_DECL_299,
-            COMPONENT_DECL_300,
-            COMPONENT_DECL_301,
-            COMPONENT_DECL_302,
-            COMPONENT_INITIALIZATION_303,
-            COMPONENT_INITIALIZATION_304,
-            END_TYPE_STMT_305,
-            END_TYPE_STMT_306,
-            END_TYPE_STMT_307,
-            END_TYPE_STMT_308,
-            PROC_COMPONENT_DEF_STMT_309,
-            PROC_COMPONENT_DEF_STMT_310,
-            PROC_INTERFACE_311,
-            PROC_INTERFACE_312,
-            PROC_DECL_LIST_313,
-            PROC_DECL_LIST_314,
-            PROC_DECL_315,
-            PROC_DECL_316,
-            PROC_COMPONENT_ATTR_SPEC_LIST_317,
-            PROC_COMPONENT_ATTR_SPEC_LIST_318,
-            PROC_COMPONENT_ATTR_SPEC_319,
-            PROC_COMPONENT_ATTR_SPEC_320,
-            PROC_COMPONENT_ATTR_SPEC_321,
-            PROC_COMPONENT_ATTR_SPEC_322,
-            PROC_COMPONENT_ATTR_SPEC_323,
-            TYPE_BOUND_PROCEDURE_PART_324,
-            TYPE_BOUND_PROCEDURE_PART_325,
-            BINDING_PRIVATE_STMT_326,
-            PROC_BINDING_STMTS_327,
-            PROC_BINDING_STMTS_328,
-            PROC_BINDING_STMT_329,
-            PROC_BINDING_STMT_330,
-            PROC_BINDING_STMT_331,
-            SPECIFIC_BINDING_332,
-            SPECIFIC_BINDING_333,
-            SPECIFIC_BINDING_334,
-            SPECIFIC_BINDING_335,
-            SPECIFIC_BINDING_336,
-            SPECIFIC_BINDING_337,
-            SPECIFIC_BINDING_338,
-            SPECIFIC_BINDING_339,
-            SPECIFIC_BINDING_340,
-            SPECIFIC_BINDING_341,
-            SPECIFIC_BINDING_342,
-            SPECIFIC_BINDING_343,
-            GENERIC_BINDING_344,
-            GENERIC_BINDING_345,
-            GENERIC_BINDING_346,
-            GENERIC_BINDING_347,
-            BINDING_NAME_LIST_348,
-            BINDING_NAME_LIST_349,
-            BINDING_ATTR_LIST_350,
-            BINDING_ATTR_LIST_351,
-            BINDING_ATTR_352,
-            BINDING_ATTR_353,
-            BINDING_ATTR_354,
-            BINDING_ATTR_355,
-            BINDING_ATTR_356,
-            BINDING_ATTR_357,
-            FINAL_BINDING_358,
-            FINAL_BINDING_359,
-            FINAL_SUBROUTINE_NAME_LIST_360,
-            FINAL_SUBROUTINE_NAME_LIST_361,
-            STRUCTURE_CONSTRUCTOR_362,
-            STRUCTURE_CONSTRUCTOR_363,
-            ENUM_DEF_364,
-            ENUMERATOR_DEF_STMTS_365,
-            ENUMERATOR_DEF_STMTS_366,
-            ENUM_DEF_STMT_367,
-            ENUMERATOR_DEF_STMT_368,
-            ENUMERATOR_DEF_STMT_369,
-            ENUMERATOR_370,
-            ENUMERATOR_371,
-            ENUMERATOR_LIST_372,
-            ENUMERATOR_LIST_373,
-            END_ENUM_STMT_374,
-            ARRAY_CONSTRUCTOR_375,
-            ARRAY_CONSTRUCTOR_376,
-            AC_VALUE_LIST_377,
-            AC_VALUE_LIST_378,
-            AC_VALUE_379,
-            AC_VALUE_380,
-            AC_IMPLIED_DO_381,
-            AC_IMPLIED_DO_382,
-            AC_IMPLIED_DO_383,
-            AC_IMPLIED_DO_384,
-            TYPE_DECLARATION_STMT_385,
-            TYPE_DECLARATION_STMT_386,
-            TYPE_DECLARATION_STMT_387,
-            TYPE_DECLARATION_STMT_388,
-            ATTR_SPEC_SEQ_389,
-            ATTR_SPEC_SEQ_390,
-            TYPE_SPEC_391,
-            TYPE_SPEC_392,
-            TYPE_SPEC_393,
-            TYPE_SPEC_394,
-            TYPE_SPEC_395,
-            TYPE_SPEC_396,
-            TYPE_SPEC_397,
-            TYPE_SPEC_398,
-            TYPE_SPEC_399,
-            TYPE_SPEC_400,
-            TYPE_SPEC_401,
-            TYPE_SPEC_402,
-            TYPE_SPEC_403,
-            TYPE_SPEC_404,
-            TYPE_SPEC_405,
-            TYPE_SPEC_406,
-            TYPE_SPEC_407,
-            TYPE_SPEC_NO_PREFIX_408,
-            TYPE_SPEC_NO_PREFIX_409,
-            TYPE_SPEC_NO_PREFIX_410,
-            TYPE_SPEC_NO_PREFIX_411,
-            TYPE_SPEC_NO_PREFIX_412,
-            TYPE_SPEC_NO_PREFIX_413,
-            TYPE_SPEC_NO_PREFIX_414,
-            TYPE_SPEC_NO_PREFIX_415,
-            TYPE_SPEC_NO_PREFIX_416,
-            TYPE_SPEC_NO_PREFIX_417,
-            TYPE_SPEC_NO_PREFIX_418,
-            TYPE_SPEC_NO_PREFIX_419,
-            TYPE_SPEC_NO_PREFIX_420,
-            TYPE_SPEC_NO_PREFIX_421,
-            TYPE_SPEC_NO_PREFIX_422,
-            DERIVED_TYPE_SPEC_423,
-            DERIVED_TYPE_SPEC_424,
-            TYPE_PARAM_SPEC_LIST_425,
-            TYPE_PARAM_SPEC_LIST_426,
-            TYPE_PARAM_SPEC_427,
-            TYPE_PARAM_SPEC_428,
-            TYPE_PARAM_VALUE_429,
-            TYPE_PARAM_VALUE_430,
-            TYPE_PARAM_VALUE_431,
-            ATTR_SPEC_432,
-            ATTR_SPEC_433,
-            ATTR_SPEC_434,
-            ATTR_SPEC_435,
-            ATTR_SPEC_436,
-            ATTR_SPEC_437,
-            ATTR_SPEC_438,
-            ATTR_SPEC_439,
-            ATTR_SPEC_440,
-            ATTR_SPEC_441,
-            ATTR_SPEC_442,
-            ATTR_SPEC_443,
-            ATTR_SPEC_444,
-            ATTR_SPEC_445,
-            ATTR_SPEC_446,
-            ATTR_SPEC_447,
-            ATTR_SPEC_448,
-            ATTR_SPEC_449,
-            LANGUAGE_BINDING_SPEC_450,
-            LANGUAGE_BINDING_SPEC_451,
-            ENTITY_DECL_LIST_452,
-            ENTITY_DECL_LIST_453,
-            ENTITY_DECL_454,
-            ENTITY_DECL_455,
-            ENTITY_DECL_456,
-            ENTITY_DECL_457,
-            ENTITY_DECL_458,
-            ENTITY_DECL_459,
-            ENTITY_DECL_460,
-            ENTITY_DECL_461,
-            ENTITY_DECL_462,
-            ENTITY_DECL_463,
-            ENTITY_DECL_464,
-            ENTITY_DECL_465,
-            ENTITY_DECL_466,
-            ENTITY_DECL_467,
-            ENTITY_DECL_468,
-            ENTITY_DECL_469,
-            ENTITY_DECL_470,
-            ENTITY_DECL_471,
-            ENTITY_DECL_472,
-            ENTITY_DECL_473,
-            ENTITY_DECL_474,
-            INVALID_ENTITY_DECL_475,
-            INVALID_ENTITY_DECL_476,
-            INITIALIZATION_477,
-            INITIALIZATION_478,
-            KIND_SELECTOR_479,
-            KIND_SELECTOR_480,
-            KIND_SELECTOR_481,
-            CHAR_SELECTOR_482,
-            CHAR_SELECTOR_483,
-            CHAR_SELECTOR_484,
-            CHAR_SELECTOR_485,
-            CHAR_SELECTOR_486,
-            CHAR_SELECTOR_487,
-            CHAR_SELECTOR_488,
-            CHAR_LEN_PARAM_VALUE_489,
-            CHAR_LEN_PARAM_VALUE_490,
-            CHAR_LEN_PARAM_VALUE_491,
-            CHAR_LENGTH_492,
-            CHAR_LENGTH_493,
-            CHAR_LENGTH_494,
-            ACCESS_SPEC_495,
-            ACCESS_SPEC_496,
-            COARRAY_SPEC_497,
-            COARRAY_SPEC_498,
-            DEFERRED_COSHAPE_SPEC_LIST_499,
-            DEFERRED_COSHAPE_SPEC_LIST_500,
-            EXPLICIT_COSHAPE_SPEC_501,
-            INTENT_SPEC_502,
-            INTENT_SPEC_503,
-            INTENT_SPEC_504,
-            INTENT_SPEC_505,
-            ARRAY_SPEC_506,
-            ARRAY_SPEC_507,
-            ARRAY_SPEC_508,
-            ARRAY_SPEC_509,
-            ASSUMED_SHAPE_SPEC_LIST_510,
-            ASSUMED_SHAPE_SPEC_LIST_511,
-            ASSUMED_SHAPE_SPEC_LIST_512,
-            EXPLICIT_SHAPE_SPEC_LIST_513,
-            EXPLICIT_SHAPE_SPEC_LIST_514,
-            EXPLICIT_SHAPE_SPEC_515,
-            EXPLICIT_SHAPE_SPEC_516,
-            LOWER_BOUND_517,
-            UPPER_BOUND_518,
-            ASSUMED_SHAPE_SPEC_519,
-            ASSUMED_SHAPE_SPEC_520,
-            DEFERRED_SHAPE_SPEC_LIST_521,
-            DEFERRED_SHAPE_SPEC_LIST_522,
-            DEFERRED_SHAPE_SPEC_523,
-            ASSUMED_SIZE_SPEC_524,
-            ASSUMED_SIZE_SPEC_525,
-            ASSUMED_SIZE_SPEC_526,
-            ASSUMED_SIZE_SPEC_527,
-            INTENT_STMT_528,
-            INTENT_STMT_529,
-            INTENT_PAR_LIST_530,
-            INTENT_PAR_LIST_531,
-            INTENT_PAR_532,
-            OPTIONAL_STMT_533,
-            OPTIONAL_STMT_534,
-            OPTIONAL_PAR_LIST_535,
-            OPTIONAL_PAR_LIST_536,
-            OPTIONAL_PAR_537,
-            ACCESS_STMT_538,
-            ACCESS_STMT_539,
-            ACCESS_STMT_540,
-            ACCESS_ID_LIST_541,
-            ACCESS_ID_LIST_542,
-            ACCESS_ID_543,
-            ACCESS_ID_544,
-            SAVE_STMT_545,
-            SAVE_STMT_546,
-            SAVE_STMT_547,
-            SAVED_ENTITY_LIST_548,
-            SAVED_ENTITY_LIST_549,
-            SAVED_ENTITY_550,
-            SAVED_ENTITY_551,
-            SAVED_COMMON_BLOCK_552,
-            DIMENSION_STMT_553,
-            DIMENSION_STMT_554,
-            ARRAY_DECLARATOR_LIST_555,
-            ARRAY_DECLARATOR_LIST_556,
-            ARRAY_DECLARATOR_557,
-            ALLOCATABLE_STMT_558,
-            ALLOCATABLE_STMT_559,
-            ARRAY_ALLOCATION_LIST_560,
-            ARRAY_ALLOCATION_LIST_561,
-            ARRAY_ALLOCATION_562,
-            ARRAY_ALLOCATION_563,
-            ASYNCHRONOUS_STMT_564,
-            ASYNCHRONOUS_STMT_565,
-            OBJECT_LIST_566,
-            OBJECT_LIST_567,
-            BIND_STMT_568,
-            BIND_STMT_569,
-            BIND_ENTITY_570,
-            BIND_ENTITY_571,
-            BIND_ENTITY_LIST_572,
-            BIND_ENTITY_LIST_573,
-            POINTER_STMT_574,
-            POINTER_STMT_575,
-            POINTER_STMT_OBJECT_LIST_576,
-            POINTER_STMT_OBJECT_LIST_577,
-            POINTER_STMT_OBJECT_578,
-            POINTER_STMT_OBJECT_579,
-            POINTER_NAME_580,
-            CRAY_POINTER_STMT_581,
-            CRAY_POINTER_STMT_OBJECT_LIST_582,
-            CRAY_POINTER_STMT_OBJECT_LIST_583,
-            CRAY_POINTER_STMT_OBJECT_584,
-            CODIMENSION_STMT_585,
-            CODIMENSION_STMT_586,
-            CODIMENSION_DECL_LIST_587,
-            CODIMENSION_DECL_LIST_588,
-            CODIMENSION_DECL_589,
-            CONTIGUOUS_STMT_590,
-            CONTIGUOUS_STMT_591,
-            OBJECT_NAME_LIST_592,
-            OBJECT_NAME_LIST_593,
-            PROTECTED_STMT_594,
-            PROTECTED_STMT_595,
-            TARGET_STMT_596,
-            TARGET_STMT_597,
-            TARGET_OBJECT_LIST_598,
-            TARGET_OBJECT_LIST_599,
-            TARGET_OBJECT_600,
-            TARGET_OBJECT_601,
-            TARGET_OBJECT_602,
-            TARGET_OBJECT_603,
-            TARGET_NAME_604,
-            VALUE_STMT_605,
-            VALUE_STMT_606,
-            VOLATILE_STMT_607,
-            VOLATILE_STMT_608,
-            PARAMETER_STMT_609,
-            NAMED_CONSTANT_DEF_LIST_610,
-            NAMED_CONSTANT_DEF_LIST_611,
-            NAMED_CONSTANT_DEF_612,
-            DATA_STMT_613,
-            DATALIST_614,
-            DATALIST_615,
-            DATALIST_616,
-            DATA_STMT_SET_617,
-            DATA_STMT_OBJECT_LIST_618,
-            DATA_STMT_OBJECT_LIST_619,
-            DATA_STMT_OBJECT_620,
-            DATA_STMT_OBJECT_621,
-            DATA_IMPLIED_DO_622,
-            DATA_IMPLIED_DO_623,
-            DATA_IDO_OBJECT_LIST_624,
-            DATA_IDO_OBJECT_LIST_625,
-            DATA_IDO_OBJECT_626,
-            DATA_IDO_OBJECT_627,
-            DATA_IDO_OBJECT_628,
-            DATA_STMT_VALUE_LIST_629,
-            DATA_STMT_VALUE_LIST_630,
-            DATA_STMT_VALUE_631,
-            DATA_STMT_VALUE_632,
-            DATA_STMT_VALUE_633,
-            DATA_STMT_CONSTANT_634,
-            DATA_STMT_CONSTANT_635,
-            IMPLICIT_STMT_636,
-            IMPLICIT_STMT_637,
-            IMPLICIT_SPEC_LIST_638,
-            IMPLICIT_SPEC_LIST_639,
-            IMPLICIT_SPEC_640,
-            NAMELIST_STMT_641,
-            NAMELIST_GROUPS_642,
-            NAMELIST_GROUPS_643,
-            NAMELIST_GROUPS_644,
-            NAMELIST_GROUPS_645,
-            NAMELIST_GROUP_OBJECT_646,
-            EQUIVALENCE_STMT_647,
-            EQUIVALENCE_SET_LIST_648,
-            EQUIVALENCE_SET_LIST_649,
-            EQUIVALENCE_SET_650,
-            EQUIVALENCE_OBJECT_LIST_651,
-            EQUIVALENCE_OBJECT_LIST_652,
-            EQUIVALENCE_OBJECT_653,
-            COMMON_STMT_654,
-            COMMON_BLOCK_LIST_655,
-            COMMON_BLOCK_LIST_656,
-            COMMON_BLOCK_657,
-            COMMON_BLOCK_658,
-            COMMON_BLOCK_659,
-            COMMON_BLOCK_OBJECT_LIST_660,
-            COMMON_BLOCK_OBJECT_LIST_661,
-            COMMON_BLOCK_OBJECT_662,
-            COMMON_BLOCK_OBJECT_663,
-            COMMON_BLOCK_OBJECT_664,
-            COMMON_BLOCK_OBJECT_665,
-            VARIABLE_666,
-            VARIABLE_667,
-            VARIABLE_668,
-            VARIABLE_669,
-            VARIABLE_670,
-            VARIABLE_671,
-            VARIABLE_672,
-            SUBSTR_CONST_673,
-            VARIABLE_NAME_674,
-            SCALAR_VARIABLE_675,
-            SCALAR_VARIABLE_676,
-            SUBSTRING_RANGE_677,
-            DATA_REF_678,
-            DATA_REF_679,
-            DATA_REF_680,
-            DATA_REF_681,
-            DATA_REF_682,
-            DATA_REF_683,
-            SFDATA_REF_684,
-            SFDATA_REF_685,
-            SFDATA_REF_686,
-            SFDATA_REF_687,
-            SFDATA_REF_688,
-            SFDATA_REF_689,
-            SFDATA_REF_690,
-            SFDATA_REF_691,
-            STRUCTURE_COMPONENT_692,
-            STRUCTURE_COMPONENT_693,
-            FIELD_SELECTOR_694,
-            FIELD_SELECTOR_695,
-            FIELD_SELECTOR_696,
-            FIELD_SELECTOR_697,
-            ARRAY_ELEMENT_698,
-            ARRAY_ELEMENT_699,
-            ARRAY_ELEMENT_700,
-            ARRAY_ELEMENT_701,
-            SUBSCRIPT_702,
-            SECTION_SUBSCRIPT_LIST_703,
-            SECTION_SUBSCRIPT_LIST_704,
-            SECTION_SUBSCRIPT_705,
-            SECTION_SUBSCRIPT_706,
-            SUBSCRIPT_TRIPLET_707,
-            SUBSCRIPT_TRIPLET_708,
-            SUBSCRIPT_TRIPLET_709,
-            SUBSCRIPT_TRIPLET_710,
-            SUBSCRIPT_TRIPLET_711,
-            SUBSCRIPT_TRIPLET_712,
-            SUBSCRIPT_TRIPLET_713,
-            SUBSCRIPT_TRIPLET_714,
-            ALLOCATE_STMT_715,
-            ALLOCATE_STMT_716,
-            ALLOCATION_LIST_717,
-            ALLOCATION_LIST_718,
-            ALLOCATION_719,
-            ALLOCATION_720,
-            ALLOCATED_SHAPE_721,
-            ALLOCATED_SHAPE_722,
-            ALLOCATED_SHAPE_723,
-            ALLOCATE_OBJECT_LIST_724,
-            ALLOCATE_OBJECT_LIST_725,
-            ALLOCATE_OBJECT_726,
-            ALLOCATE_OBJECT_727,
-            ALLOCATE_COARRAY_SPEC_728,
-            ALLOCATE_COARRAY_SPEC_729,
-            ALLOCATE_COARRAY_SPEC_730,
-            ALLOCATE_COARRAY_SPEC_731,
-            IMAGE_SELECTOR_732,
-            NULLIFY_STMT_733,
-            POINTER_OBJECT_LIST_734,
-            POINTER_OBJECT_LIST_735,
-            POINTER_OBJECT_736,
-            POINTER_OBJECT_737,
-            POINTER_FIELD_738,
-            POINTER_FIELD_739,
-            POINTER_FIELD_740,
-            POINTER_FIELD_741,
-            POINTER_FIELD_742,
-            POINTER_FIELD_743,
-            POINTER_FIELD_744,
-            DEALLOCATE_STMT_745,
-            DEALLOCATE_STMT_746,
-            PRIMARY_747,
-            PRIMARY_748,
-            PRIMARY_749,
-            PRIMARY_750,
-            PRIMARY_751,
-            PRIMARY_752,
-            PRIMARY_753,
-            PRIMARY_754,
-            PRIMARY_755,
-            PRIMARY_756,
-            PRIMARY_757,
-            PRIMARY_758,
-            PRIMARY_759,
-            PRIMARY_760,
-            PRIMARY_761,
-            PRIMARY_762,
-            PRIMARY_763,
-            PRIMARY_764,
-            PRIMARY_765,
-            PRIMARY_766,
-            PRIMARY_767,
-            PRIMARY_768,
-            PRIMARY_769,
-            PRIMARY_770,
-            PRIMARY_771,
-            PRIMARY_772,
-            PRIMARY_773,
-            PRIMARY_774,
-            PRIMARY_775,
-            PRIMARY_776,
-            PRIMARY_777,
-            PRIMARY_778,
-            PRIMARY_779,
-            PRIMARY_780,
-            PRIMARY_781,
-            PRIMARY_782,
-            CPRIMARY_783,
-            CPRIMARY_784,
-            COPERAND_785,
-            COPERAND_786,
-            COPERAND_787,
-            COPERAND_788,
-            COPERAND_789,
-            COPERAND_790,
-            COPERAND_791,
-            COPERAND_792,
-            COPERAND_793,
-            COPERAND_794,
-            COPERAND_795,
-            COPERAND_796,
-            COPERAND_797,
-            COPERAND_798,
-            UFPRIMARY_799,
-            UFPRIMARY_800,
-            UFPRIMARY_801,
-            UFPRIMARY_802,
-            UFPRIMARY_803,
-            UFPRIMARY_804,
-            UFPRIMARY_805,
-            UFPRIMARY_806,
-            UFPRIMARY_807,
-            UFPRIMARY_808,
-            UFPRIMARY_809,
-            UFPRIMARY_810,
-            UFPRIMARY_811,
-            UFPRIMARY_812,
-            UFPRIMARY_813,
-            UFPRIMARY_814,
-            UFPRIMARY_815,
-            UFPRIMARY_816,
-            UFPRIMARY_817,
-            UFPRIMARY_818,
-            UFPRIMARY_819,
-            UFPRIMARY_820,
-            LEVEL_1_EXPR_821,
-            LEVEL_1_EXPR_822,
-            MULT_OPERAND_823,
-            MULT_OPERAND_824,
-            UFFACTOR_825,
-            UFFACTOR_826,
-            ADD_OPERAND_827,
-            ADD_OPERAND_828,
-            UFTERM_829,
-            UFTERM_830,
-            UFTERM_831,
-            LEVEL_2_EXPR_832,
-            LEVEL_2_EXPR_833,
-            LEVEL_2_EXPR_834,
-            UFEXPR_835,
-            UFEXPR_836,
-            UFEXPR_837,
-            LEVEL_3_EXPR_838,
-            LEVEL_3_EXPR_839,
-            CEXPR_840,
-            CEXPR_841,
-            LEVEL_4_EXPR_842,
-            LEVEL_4_EXPR_843,
-            AND_OPERAND_844,
-            AND_OPERAND_845,
-            OR_OPERAND_846,
-            OR_OPERAND_847,
-            EQUIV_OPERAND_848,
-            EQUIV_OPERAND_849,
-            LEVEL_5_EXPR_850,
-            LEVEL_5_EXPR_851,
-            EXPR_852,
-            EXPR_853,
-            SFEXPR_LIST_854,
-            SFEXPR_LIST_855,
-            SFEXPR_LIST_856,
-            SFEXPR_LIST_857,
-            SFEXPR_LIST_858,
-            SFEXPR_LIST_859,
-            SFEXPR_LIST_860,
-            SFEXPR_LIST_861,
-            SFEXPR_LIST_862,
-            SFEXPR_LIST_863,
-            SFEXPR_LIST_864,
-            SFEXPR_LIST_865,
-            SFEXPR_LIST_866,
-            SFEXPR_LIST_867,
-            SFEXPR_LIST_868,
-            ASSIGNMENT_STMT_869,
-            ASSIGNMENT_STMT_870,
-            ASSIGNMENT_STMT_871,
-            ASSIGNMENT_STMT_872,
-            ASSIGNMENT_STMT_873,
-            ASSIGNMENT_STMT_874,
-            ASSIGNMENT_STMT_875,
-            ASSIGNMENT_STMT_876,
-            ASSIGNMENT_STMT_877,
-            ASSIGNMENT_STMT_878,
-            ASSIGNMENT_STMT_879,
-            ASSIGNMENT_STMT_880,
-            ASSIGNMENT_STMT_881,
-            ASSIGNMENT_STMT_882,
-            ASSIGNMENT_STMT_883,
-            ASSIGNMENT_STMT_884,
-            ASSIGNMENT_STMT_885,
-            ASSIGNMENT_STMT_886,
-            ASSIGNMENT_STMT_887,
-            ASSIGNMENT_STMT_888,
-            ASSIGNMENT_STMT_889,
-            ASSIGNMENT_STMT_890,
-            ASSIGNMENT_STMT_891,
-            ASSIGNMENT_STMT_892,
-            ASSIGNMENT_STMT_893,
-            ASSIGNMENT_STMT_894,
-            SFEXPR_895,
-            SFEXPR_896,
-            SFEXPR_897,
-            SFTERM_898,
-            SFTERM_899,
-            SFFACTOR_900,
-            SFFACTOR_901,
-            SFPRIMARY_902,
-            SFPRIMARY_903,
-            SFPRIMARY_904,
-            SFPRIMARY_905,
-            SFPRIMARY_906,
-            SFPRIMARY_907,
-            POINTER_ASSIGNMENT_STMT_908,
-            POINTER_ASSIGNMENT_STMT_909,
-            POINTER_ASSIGNMENT_STMT_910,
-            POINTER_ASSIGNMENT_STMT_911,
-            POINTER_ASSIGNMENT_STMT_912,
-            POINTER_ASSIGNMENT_STMT_913,
-            POINTER_ASSIGNMENT_STMT_914,
-            POINTER_ASSIGNMENT_STMT_915,
-            TARGET_916,
-            TARGET_917,
-            WHERE_STMT_918,
-            WHERE_CONSTRUCT_919,
-            WHERE_RANGE_920,
-            WHERE_RANGE_921,
-            WHERE_RANGE_922,
-            WHERE_RANGE_923,
-            WHERE_RANGE_924,
-            WHERE_RANGE_925,
-            MASKED_ELSE_WHERE_CONSTRUCT_926,
-            ELSE_WHERE_CONSTRUCT_927,
-            ELSE_WHERE_PART_928,
-            ELSE_WHERE_PART_929,
-            WHERE_BODY_CONSTRUCT_BLOCK_930,
-            WHERE_BODY_CONSTRUCT_BLOCK_931,
-            WHERE_CONSTRUCT_STMT_932,
-            WHERE_CONSTRUCT_STMT_933,
-            WHERE_BODY_CONSTRUCT_934,
-            WHERE_BODY_CONSTRUCT_935,
-            WHERE_BODY_CONSTRUCT_936,
-            MASK_EXPR_937,
-            MASKED_ELSE_WHERE_STMT_938,
-            MASKED_ELSE_WHERE_STMT_939,
-            MASKED_ELSE_WHERE_STMT_940,
-            MASKED_ELSE_WHERE_STMT_941,
-            ELSE_WHERE_STMT_942,
-            ELSE_WHERE_STMT_943,
-            ELSE_WHERE_STMT_944,
-            ELSE_WHERE_STMT_945,
-            END_WHERE_STMT_946,
-            END_WHERE_STMT_947,
-            END_WHERE_STMT_948,
-            END_WHERE_STMT_949,
-            FORALL_CONSTRUCT_950,
-            FORALL_CONSTRUCT_951,
-            FORALL_BODY_952,
-            FORALL_BODY_953,
-            FORALL_CONSTRUCT_STMT_954,
-            FORALL_CONSTRUCT_STMT_955,
-            FORALL_HEADER_956,
-            FORALL_HEADER_957,
-            SCALAR_MASK_EXPR_958,
-            FORALL_TRIPLET_SPEC_LIST_959,
-            FORALL_TRIPLET_SPEC_LIST_960,
-            FORALL_TRIPLET_SPEC_LIST_961,
-            FORALL_TRIPLET_SPEC_LIST_962,
-            FORALL_BODY_CONSTRUCT_963,
-            FORALL_BODY_CONSTRUCT_964,
-            FORALL_BODY_CONSTRUCT_965,
-            FORALL_BODY_CONSTRUCT_966,
-            FORALL_BODY_CONSTRUCT_967,
-            FORALL_BODY_CONSTRUCT_968,
-            END_FORALL_STMT_969,
-            END_FORALL_STMT_970,
-            END_FORALL_STMT_971,
-            END_FORALL_STMT_972,
-            FORALL_STMT_973,
-            FORALL_STMT_974,
-            IF_CONSTRUCT_975,
-            THEN_PART_976,
-            THEN_PART_977,
-            THEN_PART_978,
-            THEN_PART_979,
-            THEN_PART_980,
-            THEN_PART_981,
-            ELSE_IF_CONSTRUCT_982,
-            ELSE_CONSTRUCT_983,
-            ELSE_PART_984,
-            ELSE_PART_985,
-            CONDITIONAL_BODY_986,
-            CONDITIONAL_BODY_987,
-            IF_THEN_STMT_988,
-            IF_THEN_STMT_989,
-            IF_THEN_STMT_990,
-            IF_THEN_STMT_991,
-            ELSE_IF_STMT_992,
-            ELSE_IF_STMT_993,
-            ELSE_IF_STMT_994,
-            ELSE_IF_STMT_995,
-            ELSE_STMT_996,
-            ELSE_STMT_997,
-            END_IF_STMT_998,
-            END_IF_STMT_999,
-            END_IF_STMT_1000,
-            END_IF_STMT_1001,
-            IF_STMT_1002,
-            BLOCK_CONSTRUCT_1003,
-            BLOCK_CONSTRUCT_1004,
-            BLOCK_STMT_1005,
-            BLOCK_STMT_1006,
-            END_BLOCK_STMT_1007,
-            END_BLOCK_STMT_1008,
-            END_BLOCK_STMT_1009,
-            END_BLOCK_STMT_1010,
-            CRITICAL_CONSTRUCT_1011,
-            CRITICAL_CONSTRUCT_1012,
-            CRITICAL_STMT_1013,
-            CRITICAL_STMT_1014,
-            END_CRITICAL_STMT_1015,
-            END_CRITICAL_STMT_1016,
-            END_CRITICAL_STMT_1017,
-            END_CRITICAL_STMT_1018,
-            CASE_CONSTRUCT_1019,
-            SELECT_CASE_RANGE_1020,
-            SELECT_CASE_RANGE_1021,
-            SELECT_CASE_BODY_1022,
-            SELECT_CASE_BODY_1023,
-            CASE_BODY_CONSTRUCT_1024,
-            CASE_BODY_CONSTRUCT_1025,
-            SELECT_CASE_STMT_1026,
-            SELECT_CASE_STMT_1027,
-            SELECT_CASE_STMT_1028,
-            SELECT_CASE_STMT_1029,
-            CASE_STMT_1030,
-            CASE_STMT_1031,
-            END_SELECT_STMT_1032,
-            END_SELECT_STMT_1033,
-            END_SELECT_STMT_1034,
-            END_SELECT_STMT_1035,
-            CASE_SELECTOR_1036,
-            CASE_SELECTOR_1037,
-            CASE_VALUE_RANGE_LIST_1038,
-            CASE_VALUE_RANGE_LIST_1039,
-            CASE_VALUE_RANGE_1040,
-            CASE_VALUE_RANGE_1041,
-            CASE_VALUE_RANGE_1042,
-            CASE_VALUE_RANGE_1043,
-            ASSOCIATE_CONSTRUCT_1044,
-            ASSOCIATE_CONSTRUCT_1045,
-            ASSOCIATE_STMT_1046,
-            ASSOCIATE_STMT_1047,
-            ASSOCIATION_LIST_1048,
-            ASSOCIATION_LIST_1049,
-            ASSOCIATION_1050,
-            SELECTOR_1051,
-            ASSOCIATE_BODY_1052,
-            ASSOCIATE_BODY_1053,
-            END_ASSOCIATE_STMT_1054,
-            END_ASSOCIATE_STMT_1055,
-            SELECT_TYPE_CONSTRUCT_1056,
-            SELECT_TYPE_CONSTRUCT_1057,
-            SELECT_TYPE_BODY_1058,
-            SELECT_TYPE_BODY_1059,
-            TYPE_GUARD_BLOCK_1060,
-            TYPE_GUARD_BLOCK_1061,
-            SELECT_TYPE_STMT_1062,
-            SELECT_TYPE_STMT_1063,
-            SELECT_TYPE_STMT_1064,
-            SELECT_TYPE_STMT_1065,
-            TYPE_GUARD_STMT_1066,
-            TYPE_GUARD_STMT_1067,
-            TYPE_GUARD_STMT_1068,
-            TYPE_GUARD_STMT_1069,
-            TYPE_GUARD_STMT_1070,
-            TYPE_GUARD_STMT_1071,
-            END_SELECT_TYPE_STMT_1072,
-            END_SELECT_TYPE_STMT_1073,
-            END_SELECT_TYPE_STMT_1074,
-            END_SELECT_TYPE_STMT_1075,
-            DO_CONSTRUCT_1076,
-            BLOCK_DO_CONSTRUCT_1077,
-            LABEL_DO_STMT_1078,
-            LABEL_DO_STMT_1079,
-            LABEL_DO_STMT_1080,
-            LABEL_DO_STMT_1081,
-            LABEL_DO_STMT_1082,
-            LABEL_DO_STMT_1083,
-            LABEL_DO_STMT_1084,
-            LABEL_DO_STMT_1085,
-            COMMA_LOOP_CONTROL_1086,
-            COMMA_LOOP_CONTROL_1087,
-            LOOP_CONTROL_1088,
-            LOOP_CONTROL_1089,
-            LOOP_CONTROL_1090,
-            END_DO_STMT_1091,
-            END_DO_STMT_1092,
-            END_DO_STMT_1093,
-            END_DO_STMT_1094,
-            CYCLE_STMT_1095,
-            CYCLE_STMT_1096,
-            EXIT_STMT_1097,
-            EXIT_STMT_1098,
-            GOTO_STMT_1099,
-            GO_TO_KW_1100,
-            GO_TO_KW_1101,
-            COMPUTED_GOTO_STMT_1102,
-            COMPUTED_GOTO_STMT_1103,
-            COMMA_EXP_1104,
-            LBL_REF_LIST_1105,
-            LBL_REF_LIST_1106,
-            LBL_REF_1107,
-            ARITHMETIC_IF_STMT_1108,
-            CONTINUE_STMT_1109,
-            STOP_STMT_1110,
-            STOP_STMT_1111,
-            STOP_STMT_1112,
-            STOP_STMT_1113,
-            ALL_STOP_STMT_1114,
-            ALL_STOP_STMT_1115,
-            ALL_STOP_STMT_1116,
-            ALL_STOP_STMT_1117,
-            ALL_STOP_STMT_1118,
-            ALL_STOP_STMT_1119,
-            ALL_STOP_STMT_1120,
-            ALL_STOP_STMT_1121,
-            SYNC_ALL_STMT_1122,
-            SYNC_ALL_STMT_1123,
-            SYNC_ALL_STMT_1124,
-            SYNC_ALL_STMT_1125,
-            SYNC_STAT_LIST_1126,
-            SYNC_STAT_LIST_1127,
-            SYNC_STAT_1128,
-            SYNC_IMAGES_STMT_1129,
-            SYNC_IMAGES_STMT_1130,
-            SYNC_IMAGES_STMT_1131,
-            SYNC_IMAGES_STMT_1132,
-            IMAGE_SET_1133,
-            IMAGE_SET_1134,
-            SYNC_MEMORY_STMT_1135,
-            SYNC_MEMORY_STMT_1136,
-            SYNC_MEMORY_STMT_1137,
-            SYNC_MEMORY_STMT_1138,
-            LOCK_STMT_1139,
-            LOCK_STMT_1140,
-            UNLOCK_STMT_1141,
-            UNLOCK_STMT_1142,
-            UNIT_IDENTIFIER_1143,
-            UNIT_IDENTIFIER_1144,
-            OPEN_STMT_1145,
-            CONNECT_SPEC_LIST_1146,
-            CONNECT_SPEC_LIST_1147,
-            CONNECT_SPEC_1148,
-            CONNECT_SPEC_1149,
-            CONNECT_SPEC_1150,
-            CONNECT_SPEC_1151,
-            CONNECT_SPEC_1152,
-            CONNECT_SPEC_1153,
-            CONNECT_SPEC_1154,
-            CONNECT_SPEC_1155,
-            CONNECT_SPEC_1156,
-            CONNECT_SPEC_1157,
-            CONNECT_SPEC_1158,
-            CONNECT_SPEC_1159,
-            CONNECT_SPEC_1160,
-            CONNECT_SPEC_1161,
-            CONNECT_SPEC_1162,
-            CONNECT_SPEC_1163,
-            CONNECT_SPEC_1164,
-            CONNECT_SPEC_1165,
-            CONNECT_SPEC_1166,
-            CONNECT_SPEC_1167,
-            CONNECT_SPEC_1168,
-            CLOSE_STMT_1169,
-            CLOSE_SPEC_LIST_1170,
-            CLOSE_SPEC_LIST_1171,
-            CLOSE_SPEC_LIST_1172,
-            CLOSE_SPEC_1173,
-            CLOSE_SPEC_1174,
-            CLOSE_SPEC_1175,
-            CLOSE_SPEC_1176,
-            CLOSE_SPEC_1177,
-            READ_STMT_1178,
-            READ_STMT_1179,
-            READ_STMT_1180,
-            READ_STMT_1181,
-            READ_STMT_1182,
-            RD_CTL_SPEC_1183,
-            RD_CTL_SPEC_1184,
-            RD_UNIT_ID_1185,
-            RD_UNIT_ID_1186,
-            RD_IO_CTL_SPEC_LIST_1187,
-            RD_IO_CTL_SPEC_LIST_1188,
-            RD_IO_CTL_SPEC_LIST_1189,
-            RD_IO_CTL_SPEC_LIST_1190,
-            RD_FMT_ID_1191,
-            RD_FMT_ID_1192,
-            RD_FMT_ID_1193,
-            RD_FMT_ID_1194,
-            RD_FMT_ID_1195,
-            RD_FMT_ID_EXPR_1196,
-            WRITE_STMT_1197,
-            WRITE_STMT_1198,
-            WRITE_STMT_1199,
-            PRINT_STMT_1200,
-            PRINT_STMT_1201,
-            IO_CONTROL_SPEC_LIST_1202,
-            IO_CONTROL_SPEC_LIST_1203,
-            IO_CONTROL_SPEC_LIST_1204,
-            IO_CONTROL_SPEC_LIST_1205,
-            IO_CONTROL_SPEC_LIST_1206,
-            IO_CONTROL_SPEC_1207,
-            IO_CONTROL_SPEC_1208,
-            IO_CONTROL_SPEC_1209,
-            IO_CONTROL_SPEC_1210,
-            IO_CONTROL_SPEC_1211,
-            IO_CONTROL_SPEC_1212,
-            IO_CONTROL_SPEC_1213,
-            IO_CONTROL_SPEC_1214,
-            IO_CONTROL_SPEC_1215,
-            IO_CONTROL_SPEC_1216,
-            IO_CONTROL_SPEC_1217,
-            IO_CONTROL_SPEC_1218,
-            IO_CONTROL_SPEC_1219,
-            IO_CONTROL_SPEC_1220,
-            IO_CONTROL_SPEC_1221,
-            IO_CONTROL_SPEC_1222,
-            IO_CONTROL_SPEC_1223,
-            FORMAT_IDENTIFIER_1224,
-            FORMAT_IDENTIFIER_1225,
-            FORMAT_IDENTIFIER_1226,
-            INPUT_ITEM_LIST_1227,
-            INPUT_ITEM_LIST_1228,
-            INPUT_ITEM_1229,
-            INPUT_ITEM_1230,
-            OUTPUT_ITEM_LIST_1231,
-            OUTPUT_ITEM_LIST_1232,
-            OUTPUT_ITEM_LIST_1_1233,
-            OUTPUT_ITEM_LIST_1_1234,
-            OUTPUT_ITEM_LIST_1_1235,
-            OUTPUT_ITEM_LIST_1_1236,
-            OUTPUT_ITEM_LIST_1_1237,
-            INPUT_IMPLIED_DO_1238,
-            INPUT_IMPLIED_DO_1239,
-            OUTPUT_IMPLIED_DO_1240,
-            OUTPUT_IMPLIED_DO_1241,
-            OUTPUT_IMPLIED_DO_1242,
-            OUTPUT_IMPLIED_DO_1243,
-            WAIT_STMT_1244,
-            WAIT_SPEC_LIST_1245,
-            WAIT_SPEC_LIST_1246,
-            WAIT_SPEC_1247,
-            WAIT_SPEC_1248,
-            BACKSPACE_STMT_1249,
-            BACKSPACE_STMT_1250,
-            ENDFILE_STMT_1251,
-            ENDFILE_STMT_1252,
-            ENDFILE_STMT_1253,
-            ENDFILE_STMT_1254,
-            REWIND_STMT_1255,
-            REWIND_STMT_1256,
-            POSITION_SPEC_LIST_1257,
-            POSITION_SPEC_LIST_1258,
-            POSITION_SPEC_LIST_1259,
-            POSITION_SPEC_1260,
-            POSITION_SPEC_1261,
-            POSITION_SPEC_1262,
-            INQUIRE_STMT_1263,
-            INQUIRE_STMT_1264,
-            INQUIRE_SPEC_LIST_1265,
-            INQUIRE_SPEC_LIST_1266,
-            INQUIRE_SPEC_LIST_1267,
-            INQUIRE_SPEC_1268,
-            INQUIRE_SPEC_1269,
-            INQUIRE_SPEC_1270,
-            INQUIRE_SPEC_1271,
-            INQUIRE_SPEC_1272,
-            INQUIRE_SPEC_1273,
-            INQUIRE_SPEC_1274,
-            INQUIRE_SPEC_1275,
-            INQUIRE_SPEC_1276,
-            INQUIRE_SPEC_1277,
-            INQUIRE_SPEC_1278,
-            INQUIRE_SPEC_1279,
-            INQUIRE_SPEC_1280,
-            INQUIRE_SPEC_1281,
-            INQUIRE_SPEC_1282,
-            INQUIRE_SPEC_1283,
-            INQUIRE_SPEC_1284,
-            INQUIRE_SPEC_1285,
-            INQUIRE_SPEC_1286,
-            INQUIRE_SPEC_1287,
-            INQUIRE_SPEC_1288,
-            INQUIRE_SPEC_1289,
-            INQUIRE_SPEC_1290,
-            INQUIRE_SPEC_1291,
-            INQUIRE_SPEC_1292,
-            INQUIRE_SPEC_1293,
-            INQUIRE_SPEC_1294,
-            INQUIRE_SPEC_1295,
-            INQUIRE_SPEC_1296,
-            INQUIRE_SPEC_1297,
-            INQUIRE_SPEC_1298,
-            INQUIRE_SPEC_1299,
-            INQUIRE_SPEC_1300,
-            INQUIRE_SPEC_1301,
-            INQUIRE_SPEC_1302,
-            INQUIRE_SPEC_1303,
-            FORMAT_STMT_1304,
-            FORMAT_STMT_1305,
-            FMT_SPEC_1306,
-            FMT_SPEC_1307,
-            FMT_SPEC_1308,
-            FMT_SPEC_1309,
-            FMT_SPEC_1310,
-            FMT_SPEC_1311,
-            FMT_SPEC_1312,
-            FMT_SPEC_1313,
-            FORMAT_EDIT_1314,
-            FORMAT_EDIT_1315,
-            FORMAT_EDIT_1316,
-            FORMAT_EDIT_1317,
-            FORMAT_EDIT_1318,
-            FORMAT_EDIT_1319,
-            EDIT_ELEMENT_1320,
-            EDIT_ELEMENT_1321,
-            EDIT_ELEMENT_1322,
-            EDIT_ELEMENT_1323,
-            EDIT_ELEMENT_1324,
-            FORMATSEP_1325,
-            FORMATSEP_1326,
-            PROGRAM_STMT_1327,
-            END_PROGRAM_STMT_1328,
-            END_PROGRAM_STMT_1329,
-            END_PROGRAM_STMT_1330,
-            END_PROGRAM_STMT_1331,
-            END_PROGRAM_STMT_1332,
-            MODULE_STMT_1333,
-            END_MODULE_STMT_1334,
-            END_MODULE_STMT_1335,
-            END_MODULE_STMT_1336,
-            END_MODULE_STMT_1337,
-            END_MODULE_STMT_1338,
-            USE_STMT_1339,
-            USE_STMT_1340,
-            USE_STMT_1341,
-            USE_STMT_1342,
-            USE_STMT_1343,
-            USE_STMT_1344,
-            USE_STMT_1345,
-            USE_STMT_1346,
-            USE_STMT_1347,
-            USE_STMT_1348,
-            USE_STMT_1349,
-            USE_STMT_1350,
-            MODULE_NATURE_1351,
-            MODULE_NATURE_1352,
-            RENAME_LIST_1353,
-            RENAME_LIST_1354,
-            ONLY_LIST_1355,
-            ONLY_LIST_1356,
-            RENAME_1357,
-            RENAME_1358,
-            ONLY_1359,
-            ONLY_1360,
-            ONLY_1361,
-            ONLY_1362,
-            BLOCK_DATA_STMT_1363,
-            BLOCK_DATA_STMT_1364,
-            BLOCK_DATA_STMT_1365,
-            BLOCK_DATA_STMT_1366,
-            END_BLOCK_DATA_STMT_1367,
-            END_BLOCK_DATA_STMT_1368,
-            END_BLOCK_DATA_STMT_1369,
-            END_BLOCK_DATA_STMT_1370,
-            END_BLOCK_DATA_STMT_1371,
-            END_BLOCK_DATA_STMT_1372,
-            END_BLOCK_DATA_STMT_1373,
-            END_BLOCK_DATA_STMT_1374,
-            END_BLOCK_DATA_STMT_1375,
-            INTERFACE_BLOCK_1376,
-            INTERFACE_RANGE_1377,
-            INTERFACE_BLOCK_BODY_1378,
-            INTERFACE_BLOCK_BODY_1379,
-            INTERFACE_SPECIFICATION_1380,
-            INTERFACE_SPECIFICATION_1381,
-            INTERFACE_STMT_1382,
-            INTERFACE_STMT_1383,
-            INTERFACE_STMT_1384,
-            INTERFACE_STMT_1385,
-            END_INTERFACE_STMT_1386,
-            END_INTERFACE_STMT_1387,
-            END_INTERFACE_STMT_1388,
-            END_INTERFACE_STMT_1389,
-            INTERFACE_BODY_1390,
-            INTERFACE_BODY_1391,
-            FUNCTION_INTERFACE_RANGE_1392,
-            FUNCTION_INTERFACE_RANGE_1393,
-            SUBROUTINE_INTERFACE_RANGE_1394,
-            SUBROUTINE_INTERFACE_RANGE_1395,
-            SUBPROGRAM_INTERFACE_BODY_1396,
-            SUBPROGRAM_INTERFACE_BODY_1397,
-            MODULE_PROCEDURE_STMT_1398,
-            PROCEDURE_NAME_LIST_1399,
-            PROCEDURE_NAME_LIST_1400,
-            PROCEDURE_NAME_1401,
-            GENERIC_SPEC_1402,
-            GENERIC_SPEC_1403,
-            GENERIC_SPEC_1404,
-            GENERIC_SPEC_1405,
-            IMPORT_STMT_1406,
-            IMPORT_STMT_1407,
-            IMPORT_STMT_1408,
-            IMPORT_LIST_1409,
-            IMPORT_LIST_1410,
-            PROCEDURE_DECLARATION_STMT_1411,
-            PROCEDURE_DECLARATION_STMT_1412,
-            PROCEDURE_DECLARATION_STMT_1413,
-            PROCEDURE_DECLARATION_STMT_1414,
-            PROCEDURE_DECLARATION_STMT_1415,
-            PROCEDURE_DECLARATION_STMT_1416,
-            PROC_ATTR_SPEC_LIST_1417,
-            PROC_ATTR_SPEC_LIST_1418,
-            PROC_ATTR_SPEC_1419,
-            PROC_ATTR_SPEC_1420,
-            PROC_ATTR_SPEC_1421,
-            PROC_ATTR_SPEC_1422,
-            PROC_ATTR_SPEC_1423,
-            EXTERNAL_STMT_1424,
-            EXTERNAL_STMT_1425,
-            EXTERNAL_NAME_LIST_1426,
-            EXTERNAL_NAME_LIST_1427,
-            INTRINSIC_STMT_1428,
-            INTRINSIC_STMT_1429,
-            INTRINSIC_LIST_1430,
-            INTRINSIC_LIST_1431,
-            FUNCTION_REFERENCE_1432,
-            FUNCTION_REFERENCE_1433,
-            CALL_STMT_1434,
-            CALL_STMT_1435,
-            CALL_STMT_1436,
-            CALL_STMT_1437,
-            DERIVED_TYPE_QUALIFIERS_1438,
-            DERIVED_TYPE_QUALIFIERS_1439,
-            DERIVED_TYPE_QUALIFIERS_1440,
-            DERIVED_TYPE_QUALIFIERS_1441,
-            PARENTHESIZED_SUBROUTINE_ARG_LIST_1442,
-            PARENTHESIZED_SUBROUTINE_ARG_LIST_1443,
-            SUBROUTINE_ARG_LIST_1444,
-            SUBROUTINE_ARG_LIST_1445,
-            FUNCTION_ARG_LIST_1446,
-            FUNCTION_ARG_LIST_1447,
-            FUNCTION_ARG_LIST_1448,
-            FUNCTION_ARG_1449,
-            SUBROUTINE_ARG_1450,
-            SUBROUTINE_ARG_1451,
-            SUBROUTINE_ARG_1452,
-            SUBROUTINE_ARG_1453,
-            SUBROUTINE_ARG_1454,
-            SUBROUTINE_ARG_1455,
-            FUNCTION_STMT_1456,
-            FUNCTION_STMT_1457,
-            FUNCTION_STMT_1458,
-            FUNCTION_STMT_1459,
-            FUNCTION_STMT_1460,
-            FUNCTION_STMT_1461,
-            FUNCTION_STMT_1462,
-            FUNCTION_STMT_1463,
-            FUNCTION_STMT_1464,
-            FUNCTION_STMT_1465,
-            FUNCTION_PARS_1466,
-            FUNCTION_PARS_1467,
-            FUNCTION_PAR_1468,
-            FUNCTION_PREFIX_1469,
-            FUNCTION_PREFIX_1470,
-            PREFIX_SPEC_LIST_1471,
-            PREFIX_SPEC_LIST_1472,
-            PREFIX_SPEC_1473,
-            PREFIX_SPEC_1474,
-            PREFIX_SPEC_1475,
-            PREFIX_SPEC_1476,
-            PREFIX_SPEC_1477,
-            PREFIX_SPEC_1478,
-            END_FUNCTION_STMT_1479,
-            END_FUNCTION_STMT_1480,
-            END_FUNCTION_STMT_1481,
-            END_FUNCTION_STMT_1482,
-            END_FUNCTION_STMT_1483,
-            SUBROUTINE_STMT_1484,
-            SUBROUTINE_STMT_1485,
-            SUBROUTINE_STMT_1486,
-            SUBROUTINE_STMT_1487,
-            SUBROUTINE_STMT_1488,
-            SUBROUTINE_PREFIX_1489,
-            SUBROUTINE_PREFIX_1490,
-            SUBROUTINE_PARS_1491,
-            SUBROUTINE_PARS_1492,
-            SUBROUTINE_PAR_1493,
-            SUBROUTINE_PAR_1494,
-            END_SUBROUTINE_STMT_1495,
-            END_SUBROUTINE_STMT_1496,
-            END_SUBROUTINE_STMT_1497,
-            END_SUBROUTINE_STMT_1498,
-            END_SUBROUTINE_STMT_1499,
-            ENTRY_STMT_1500,
-            ENTRY_STMT_1501,
-            RETURN_STMT_1502,
-            RETURN_STMT_1503,
-            CONTAINS_STMT_1504,
-            STMT_FUNCTION_STMT_1505,
-            STMT_FUNCTION_RANGE_1506,
-            STMT_FUNCTION_RANGE_1507,
-            SFDUMMY_ARG_NAME_LIST_1508,
-            SFDUMMY_ARG_NAME_LIST_1509,
-            ARRAY_NAME_1510,
-            BLOCK_DATA_NAME_1511,
-            COMMON_BLOCK_NAME_1512,
-            COMPONENT_NAME_1513,
-            DUMMY_ARG_NAME_1514,
-            END_NAME_1515,
-            ENTRY_NAME_1516,
-            EXTERNAL_NAME_1517,
-            FUNCTION_NAME_1518,
-            GENERIC_NAME_1519,
-            IMPLIED_DO_VARIABLE_1520,
-            INTRINSIC_PROCEDURE_NAME_1521,
-            MODULE_NAME_1522,
-            NAMELIST_GROUP_NAME_1523,
-            OBJECT_NAME_1524,
-            PROGRAM_NAME_1525,
-            SFDUMMY_ARG_NAME_1526,
-            SFVAR_NAME_1527,
-            SUBROUTINE_NAME_1528,
-            SUBROUTINE_NAME_USE_1529,
-            TYPE_NAME_1530,
-            USE_NAME_1531,
-            LBL_DEF_1532,
-            LBL_DEF_1533,
-            PAUSE_STMT_1534,
-            PAUSE_STMT_1535,
-            PAUSE_STMT_1536,
-            ASSIGN_STMT_1537,
-            ASSIGNED_GOTO_STMT_1538,
-            ASSIGNED_GOTO_STMT_1539,
-            ASSIGNED_GOTO_STMT_1540,
-            VARIABLE_COMMA_1541,
-            PROGRAM_UNIT_ERROR_0,
-            BODY_CONSTRUCT_ERROR_1,
-            TYPE_DECLARATION_STMT_ERROR_2,
-            DATA_STMT_ERROR_3,
-            ALLOCATE_STMT_ERROR_4,
-            ASSIGNMENT_STMT_ERROR_5,
-            FORALL_CONSTRUCT_STMT_ERROR_6,
-            FORALL_CONSTRUCT_STMT_ERROR_7,
-            IF_THEN_ERROR_ERROR_8,
-            ELSE_IF_STMT_ERROR_9,
-            ELSE_IF_STMT_ERROR_10,
-            ELSE_STMT_ERROR_11,
-            IF_STMT_ERROR_12,
-            SELECT_CASE_STMT_ERROR_13,
-            SELECT_CASE_STMT_ERROR_14,
-            SELECT_CASE_STMT_ERROR_15,
-            SELECT_CASE_STMT_ERROR_16,
-            CASE_STMT_ERROR_17,
-            FORMAT_STMT_ERROR_18,
-            FUNCTION_STMT_ERROR_19,
-            SUBROUTINE_STMT_ERROR_20,
-        };
-    }
-
-    /**
-     * A stack of integers that will grow automatically as necessary.
-     * <p>
-     * Integers are stored as primitives rather than <code>Integer</code>
-     * objects in order to increase efficiency.
-     */
-    protected static class IntStack
-    {
-        /** The contents of the stack. */
-        protected int[] stack;
-
-        /**
-         * The number of elements on the stack.
-         * <p>
-         * It is always the case that <code>size <= stack.length</code>.
-         */
-        protected int size;
-
-        /**
-         * Constructor.  Creates a stack of integers with a reasonable
-         * initial capacity, which will grow as necessary.
-         */
-        public IntStack()
-        {
-            this(64); // Heuristic
-        }
-
-        /**
-         * Constructor.  Creates a stack of integers with the given initial
-         * capacity, which will grow as necessary.
-         *
-         * @param initialCapacity the number of elements the stack should
-         *                        initially accommodate before resizing itself
-         */
-        public IntStack(int initialCapacity)
-        {
-            if (initialCapacity <= 0)
-                throw new IllegalArgumentException("Initial stack capacity " +
-                    "must be a positive integer (not " + initialCapacity + ")");
-
-            this.stack = new int[initialCapacity];
-            this.size = 0;
-        }
-
-        /**
-         * Copy construct.  Creates a stack of integers which is a copy of
-         * the given <code>IntStack</code>, but which may be modified separately.
-         */
-        public IntStack(IntStack copyFrom)
-        {
-            this(copyFrom.stack.length);
-            this.size = copyFrom.size;
-            System.arraycopy(copyFrom.stack, 0, this.stack, 0, size);
-        }
-
-        /**
-         * Increases the capacity of the stack, if necessary, to hold at least
-         * <code>minCapacity</code> elements.
-         * <p>
-         * The resizing heuristic is from <code>java.util.ArrayList</code>.
-         *
-         * @param minCapacity the total number of elements the stack should
-         *                    accommodate before resizing itself
-         */
-        public void ensureCapacity(int minCapacity)
-        {
-            if (minCapacity <= this.stack.length) return;
-
-            int newCapacity = Math.max((this.stack.length * 3) / 2 + 1, minCapacity);
-            int[] newStack = new int[newCapacity];
-            System.arraycopy(this.stack, 0, newStack, 0, this.size);
-            this.stack = newStack;
-        }
-
-        /**
-         * Pushes the given value onto the top of the stack.
-         *
-         * @param value the value to push
-         */
-        public void push(int value)
-        {
-            ensureCapacity(this.size + 1);
-            this.stack[this.size++] = value;
-        }
-
-        /**
-         * Returns the value on the top of the stack, but leaves that value
-         * on the stack.
-         *
-         * @return the value on the top of the stack
-         *
-         * @throws IllegalStateException if the stack is empty
-         */
-        public int top()
-        {
-            if (this.size == 0)
-                throw new IllegalStateException("Stack is empty");
-
-            return this.stack[this.size - 1];
-        }
-
-        /**
-         * Removes the value on the top of the stack and returns it.
-         *
-         * @return the value that has been removed from the stack
-         *
-         * @throws IllegalStateException if the stack is empty
-         */
-        public int pop()
-        {
-            if (this.size == 0)
-                throw new IllegalStateException("Stack is empty");
-
-            return this.stack[--this.size];
-        }
-
-        /**
-         * Returns true if, and only if, the given value exists on the stack
-         * (not necessarily on top).
-         *
-         * @param the value to search for
-         *
-         * @return true iff the value is on the stack
-         */
-        public boolean contains(int value)
-        {
-            for (int i = 0; i < this.size; i++)
-                if (this.stack[i] == value)
-                    return true;
-
-            return false;
-        }
-
-        /**
-         * Returns true if, and only if, the stack is empty.
-         *
-         * @return true if there are no elements on this stack
-         */
-        public boolean isEmpty()
-        {
-            return this.size == 0;
-        }
-
-        /**
-         * Removes all elements from this stack, settings its size to 0.
-         */
-        public void clear()
-        {
-            this.size = 0;
-        }
-
-        /**
-         * Returns the number of elements on this stack.
-         *
-         * @return the number of elements on this stack (non-negative)
-         */
-        public int size()
-        {
-            return this.size;
-        }
-
-        /**
-         * Returns the value <code>index</code> elements from the bottom
-         * of the stack.
-         *
-         * @return the value at index <code>index</code> the stack
-         *
-         * @throws IllegalArgumentException if index is out of range
-         */
-        public int get(int index)
-        {
-            if (index < 0 || index >= this.size)
-                throw new IllegalArgumentException("index out of range");
-
-            return this.stack[index];
-        }
-
-        @Override public String toString()
-        {
-            StringBuilder sb = new StringBuilder();
-            sb.append("[");
-            for (int i = 0; i < this.size; i++)
-            {
-                if (i > 0) sb.append(", ");
-                sb.append(this.stack[i]);
-            }
-            sb.append("]");
-            return sb.toString();
-        }
-
-        @Override
-        public int hashCode()
-        {
-            return 31 * size + Arrays.hashCode(stack);
-        }
-
-        @Override
-        public boolean equals(Object obj)
-        {
-            if (this == obj) return true;
-            if (obj == null) return false;
-            if (getClass() != obj.getClass()) return false;
-            final IntStack other = (IntStack)obj;
-            if (size != other.size) return false;
-            return Arrays.equals(stack, other.stack);
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/SemanticActions.java b/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/SemanticActions.java
deleted file mode 100644
index 4b27536..0000000
--- a/org.eclipse.photran.core.vpg/parser/org/eclipse/photran/internal/core/parser/SemanticActions.java
+++ /dev/null
@@ -1,29651 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.parser;
-
-import org.eclipse.photran.internal.core.lexer.*;                   import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;                   import org.eclipse.photran.internal.core.SyntaxException;                   import java.io.IOException;
-
-import java.util.AbstractList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-
-
-import org.eclipse.photran.internal.core.parser.Parser.ErrorRecoveryInfo;
-import org.eclipse.photran.internal.core.parser.Parser.Production;
-
-@SuppressWarnings("all")
-final class SemanticActions
-{
-    public void initialize()
-    {
-            
-    }
-
-    public void deinitialize()
-    {
-            
-    }
-
-    public void onErrorRecovery(ErrorRecoveryInfo errorInfo)
-    {
-                    for (int i = 0; i < errorInfo.discardedSymbols.size(); i++)
-                    {
-                        if (errorInfo.discardedSymbols.get(i) instanceof HashMap)
-                        {
-                            HashMap map = (HashMap)errorInfo.discardedSymbols.get(i);
-                            IASTListNode<IASTNode> errorRecoveryList = (IASTListNode<IASTNode>)map.get("errorRecoveryList");
-                            errorInfo.<IASTNode>getDiscardedSymbols().set(i, errorRecoveryList);
-                            for (IASTNode n : errorRecoveryList)
-                                if (n != null)
-                                    n.setParent(errorRecoveryList);
-                        }
-                    }
-    }
-        public Object handle(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-            switch (productionIndex)
-            {
-                case Production.EXECUTABLE_PROGRAM_1_INDEX:
-                {
-                    return handleExecutableProgram1(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_PROGRAM_2_INDEX:
-                {
-                    return handleExecutableProgram2(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EMPTY_PROGRAM_3_INDEX:
-                {
-                    return handleEmptyProgram3(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EMPTY_PROGRAM_4_INDEX:
-                {
-                    return handleEmptyProgram4(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROGRAM_UNIT_LIST_5_INDEX:
-                {
-                    return handleProgramUnitList5(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROGRAM_UNIT_LIST_6_INDEX:
-                {
-                    return handleProgramUnitList6(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROGRAM_UNIT_7_INDEX:
-                {
-                    return handleProgramUnit7(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROGRAM_UNIT_8_INDEX:
-                {
-                    return handleProgramUnit8(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROGRAM_UNIT_9_INDEX:
-                {
-                    return handleProgramUnit9(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROGRAM_UNIT_10_INDEX:
-                {
-                    return handleProgramUnit10(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROGRAM_UNIT_11_INDEX:
-                {
-                    return handleProgramUnit11(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROGRAM_UNIT_12_INDEX:
-                {
-                    return handleProgramUnit12(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MAIN_PROGRAM_13_INDEX:
-                {
-                    return handleMainProgram13(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MAIN_PROGRAM_14_INDEX:
-                {
-                    return handleMainProgram14(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MAIN_RANGE_15_INDEX:
-                {
-                    return handleMainRange15(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MAIN_RANGE_16_INDEX:
-                {
-                    return handleMainRange16(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MAIN_RANGE_17_INDEX:
-                {
-                    return handleMainRange17(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BODY_18_INDEX:
-                {
-                    return handleBody18(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BODY_19_INDEX:
-                {
-                    return handleBody19(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BODY_CONSTRUCT_20_INDEX:
-                {
-                    return handleBodyConstruct20(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BODY_CONSTRUCT_21_INDEX:
-                {
-                    return handleBodyConstruct21(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_SUBPROGRAM_22_INDEX:
-                {
-                    return handleFunctionSubprogram22(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_RANGE_23_INDEX:
-                {
-                    return handleFunctionRange23(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_RANGE_24_INDEX:
-                {
-                    return handleFunctionRange24(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_RANGE_25_INDEX:
-                {
-                    return handleFunctionRange25(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_SUBPROGRAM_26_INDEX:
-                {
-                    return handleSubroutineSubprogram26(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_RANGE_27_INDEX:
-                {
-                    return handleSubroutineRange27(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_RANGE_28_INDEX:
-                {
-                    return handleSubroutineRange28(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_RANGE_29_INDEX:
-                {
-                    return handleSubroutineRange29(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SEPARATE_MODULE_SUBPROGRAM_30_INDEX:
-                {
-                    return handleSeparateModuleSubprogram30(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MP_SUBPROGRAM_RANGE_31_INDEX:
-                {
-                    return handleMpSubprogramRange31(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MP_SUBPROGRAM_RANGE_32_INDEX:
-                {
-                    return handleMpSubprogramRange32(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MP_SUBPROGRAM_RANGE_33_INDEX:
-                {
-                    return handleMpSubprogramRange33(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MP_SUBPROGRAM_STMT_34_INDEX:
-                {
-                    return handleMpSubprogramStmt34(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_MP_SUBPROGRAM_STMT_35_INDEX:
-                {
-                    return handleEndMpSubprogramStmt35(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_MP_SUBPROGRAM_STMT_36_INDEX:
-                {
-                    return handleEndMpSubprogramStmt36(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_MP_SUBPROGRAM_STMT_37_INDEX:
-                {
-                    return handleEndMpSubprogramStmt37(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_MP_SUBPROGRAM_STMT_38_INDEX:
-                {
-                    return handleEndMpSubprogramStmt38(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_MP_SUBPROGRAM_STMT_39_INDEX:
-                {
-                    return handleEndMpSubprogramStmt39(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_40_INDEX:
-                {
-                    return handleModule40(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_BLOCK_41_INDEX:
-                {
-                    return handleModuleBlock41(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_BLOCK_42_INDEX:
-                {
-                    return handleModuleBlock42(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_BODY_43_INDEX:
-                {
-                    return handleModuleBody43(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_BODY_44_INDEX:
-                {
-                    return handleModuleBody44(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_BODY_CONSTRUCT_45_INDEX:
-                {
-                    return handleModuleBodyConstruct45(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_BODY_CONSTRUCT_46_INDEX:
-                {
-                    return handleModuleBodyConstruct46(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBMODULE_47_INDEX:
-                {
-                    return handleSubmodule47(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBMODULE_BLOCK_48_INDEX:
-                {
-                    return handleSubmoduleBlock48(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBMODULE_BLOCK_49_INDEX:
-                {
-                    return handleSubmoduleBlock49(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBMODULE_STMT_50_INDEX:
-                {
-                    return handleSubmoduleStmt50(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PARENT_IDENTIFIER_51_INDEX:
-                {
-                    return handleParentIdentifier51(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PARENT_IDENTIFIER_52_INDEX:
-                {
-                    return handleParentIdentifier52(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SUBMODULE_STMT_53_INDEX:
-                {
-                    return handleEndSubmoduleStmt53(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SUBMODULE_STMT_54_INDEX:
-                {
-                    return handleEndSubmoduleStmt54(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SUBMODULE_STMT_55_INDEX:
-                {
-                    return handleEndSubmoduleStmt55(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SUBMODULE_STMT_56_INDEX:
-                {
-                    return handleEndSubmoduleStmt56(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SUBMODULE_STMT_57_INDEX:
-                {
-                    return handleEndSubmoduleStmt57(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_DATA_SUBPROGRAM_58_INDEX:
-                {
-                    return handleBlockDataSubprogram58(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_DATA_SUBPROGRAM_59_INDEX:
-                {
-                    return handleBlockDataSubprogram59(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_DATA_BODY_60_INDEX:
-                {
-                    return handleBlockDataBody60(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_DATA_BODY_61_INDEX:
-                {
-                    return handleBlockDataBody61(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_DATA_BODY_CONSTRUCT_62_INDEX:
-                {
-                    return handleBlockDataBodyConstruct62(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_PART_CONSTRUCT_63_INDEX:
-                {
-                    return handleSpecificationPartConstruct63(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_PART_CONSTRUCT_64_INDEX:
-                {
-                    return handleSpecificationPartConstruct64(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_PART_CONSTRUCT_65_INDEX:
-                {
-                    return handleSpecificationPartConstruct65(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_PART_CONSTRUCT_66_INDEX:
-                {
-                    return handleSpecificationPartConstruct66(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_PART_CONSTRUCT_67_INDEX:
-                {
-                    return handleSpecificationPartConstruct67(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_PART_CONSTRUCT_68_INDEX:
-                {
-                    return handleSpecificationPartConstruct68(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_PART_CONSTRUCT_69_INDEX:
-                {
-                    return handleSpecificationPartConstruct69(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DECLARATION_CONSTRUCT_70_INDEX:
-                {
-                    return handleDeclarationConstruct70(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DECLARATION_CONSTRUCT_71_INDEX:
-                {
-                    return handleDeclarationConstruct71(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DECLARATION_CONSTRUCT_72_INDEX:
-                {
-                    return handleDeclarationConstruct72(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DECLARATION_CONSTRUCT_73_INDEX:
-                {
-                    return handleDeclarationConstruct73(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DECLARATION_CONSTRUCT_74_INDEX:
-                {
-                    return handleDeclarationConstruct74(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DECLARATION_CONSTRUCT_75_INDEX:
-                {
-                    return handleDeclarationConstruct75(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTION_PART_CONSTRUCT_76_INDEX:
-                {
-                    return handleExecutionPartConstruct76(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTION_PART_CONSTRUCT_77_INDEX:
-                {
-                    return handleExecutionPartConstruct77(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTION_PART_CONSTRUCT_78_INDEX:
-                {
-                    return handleExecutionPartConstruct78(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTION_PART_CONSTRUCT_79_INDEX:
-                {
-                    return handleExecutionPartConstruct79(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OBSOLETE_EXECUTION_PART_CONSTRUCT_80_INDEX:
-                {
-                    return handleObsoleteExecutionPartConstruct80(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BODY_PLUS_INTERNALS_81_INDEX:
-                {
-                    return handleBodyPlusInternals81(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BODY_PLUS_INTERNALS_82_INDEX:
-                {
-                    return handleBodyPlusInternals82(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERNAL_SUBPROGRAMS_83_INDEX:
-                {
-                    return handleInternalSubprograms83(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERNAL_SUBPROGRAMS_84_INDEX:
-                {
-                    return handleInternalSubprograms84(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERNAL_SUBPROGRAM_85_INDEX:
-                {
-                    return handleInternalSubprogram85(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERNAL_SUBPROGRAM_86_INDEX:
-                {
-                    return handleInternalSubprogram86(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_SUBPROGRAM_PART_CONSTRUCT_87_INDEX:
-                {
-                    return handleModuleSubprogramPartConstruct87(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_SUBPROGRAM_PART_CONSTRUCT_88_INDEX:
-                {
-                    return handleModuleSubprogramPartConstruct88(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_SUBPROGRAM_PART_CONSTRUCT_89_INDEX:
-                {
-                    return handleModuleSubprogramPartConstruct89(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_SUBPROGRAM_90_INDEX:
-                {
-                    return handleModuleSubprogram90(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_SUBPROGRAM_91_INDEX:
-                {
-                    return handleModuleSubprogram91(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_92_INDEX:
-                {
-                    return handleSpecificationStmt92(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_93_INDEX:
-                {
-                    return handleSpecificationStmt93(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_94_INDEX:
-                {
-                    return handleSpecificationStmt94(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_95_INDEX:
-                {
-                    return handleSpecificationStmt95(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_96_INDEX:
-                {
-                    return handleSpecificationStmt96(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_97_INDEX:
-                {
-                    return handleSpecificationStmt97(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_98_INDEX:
-                {
-                    return handleSpecificationStmt98(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_99_INDEX:
-                {
-                    return handleSpecificationStmt99(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_100_INDEX:
-                {
-                    return handleSpecificationStmt100(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_101_INDEX:
-                {
-                    return handleSpecificationStmt101(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_102_INDEX:
-                {
-                    return handleSpecificationStmt102(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_103_INDEX:
-                {
-                    return handleSpecificationStmt103(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_104_INDEX:
-                {
-                    return handleSpecificationStmt104(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_105_INDEX:
-                {
-                    return handleSpecificationStmt105(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_106_INDEX:
-                {
-                    return handleSpecificationStmt106(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_107_INDEX:
-                {
-                    return handleSpecificationStmt107(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_108_INDEX:
-                {
-                    return handleSpecificationStmt108(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_109_INDEX:
-                {
-                    return handleSpecificationStmt109(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_110_INDEX:
-                {
-                    return handleSpecificationStmt110(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_111_INDEX:
-                {
-                    return handleSpecificationStmt111(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_112_INDEX:
-                {
-                    return handleSpecificationStmt112(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_113_INDEX:
-                {
-                    return handleSpecificationStmt113(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFICATION_STMT_114_INDEX:
-                {
-                    return handleSpecificationStmt114(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNPROCESSED_INCLUDE_STMT_115_INDEX:
-                {
-                    return handleUnprocessedIncludeStmt115(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_CONSTRUCT_116_INDEX:
-                {
-                    return handleExecutableConstruct116(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_CONSTRUCT_117_INDEX:
-                {
-                    return handleExecutableConstruct117(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_CONSTRUCT_118_INDEX:
-                {
-                    return handleExecutableConstruct118(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_CONSTRUCT_119_INDEX:
-                {
-                    return handleExecutableConstruct119(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_CONSTRUCT_120_INDEX:
-                {
-                    return handleExecutableConstruct120(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_CONSTRUCT_121_INDEX:
-                {
-                    return handleExecutableConstruct121(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_CONSTRUCT_122_INDEX:
-                {
-                    return handleExecutableConstruct122(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_CONSTRUCT_123_INDEX:
-                {
-                    return handleExecutableConstruct123(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_CONSTRUCT_124_INDEX:
-                {
-                    return handleExecutableConstruct124(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_CONSTRUCT_125_INDEX:
-                {
-                    return handleExecutableConstruct125(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXECUTABLE_CONSTRUCT_126_INDEX:
-                {
-                    return handleExecutableConstruct126(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_127_INDEX:
-                {
-                    return handleActionStmt127(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_128_INDEX:
-                {
-                    return handleActionStmt128(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_129_INDEX:
-                {
-                    return handleActionStmt129(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_130_INDEX:
-                {
-                    return handleActionStmt130(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_131_INDEX:
-                {
-                    return handleActionStmt131(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_132_INDEX:
-                {
-                    return handleActionStmt132(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_133_INDEX:
-                {
-                    return handleActionStmt133(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_134_INDEX:
-                {
-                    return handleActionStmt134(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_135_INDEX:
-                {
-                    return handleActionStmt135(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_136_INDEX:
-                {
-                    return handleActionStmt136(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_137_INDEX:
-                {
-                    return handleActionStmt137(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_138_INDEX:
-                {
-                    return handleActionStmt138(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_139_INDEX:
-                {
-                    return handleActionStmt139(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_140_INDEX:
-                {
-                    return handleActionStmt140(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_141_INDEX:
-                {
-                    return handleActionStmt141(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_142_INDEX:
-                {
-                    return handleActionStmt142(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_143_INDEX:
-                {
-                    return handleActionStmt143(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_144_INDEX:
-                {
-                    return handleActionStmt144(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_145_INDEX:
-                {
-                    return handleActionStmt145(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_146_INDEX:
-                {
-                    return handleActionStmt146(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_147_INDEX:
-                {
-                    return handleActionStmt147(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_148_INDEX:
-                {
-                    return handleActionStmt148(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_149_INDEX:
-                {
-                    return handleActionStmt149(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_150_INDEX:
-                {
-                    return handleActionStmt150(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_151_INDEX:
-                {
-                    return handleActionStmt151(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_152_INDEX:
-                {
-                    return handleActionStmt152(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_153_INDEX:
-                {
-                    return handleActionStmt153(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_154_INDEX:
-                {
-                    return handleActionStmt154(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_155_INDEX:
-                {
-                    return handleActionStmt155(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_156_INDEX:
-                {
-                    return handleActionStmt156(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_157_INDEX:
-                {
-                    return handleActionStmt157(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_158_INDEX:
-                {
-                    return handleActionStmt158(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_159_INDEX:
-                {
-                    return handleActionStmt159(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_160_INDEX:
-                {
-                    return handleActionStmt160(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACTION_STMT_161_INDEX:
-                {
-                    return handleActionStmt161(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OBSOLETE_ACTION_STMT_162_INDEX:
-                {
-                    return handleObsoleteActionStmt162(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OBSOLETE_ACTION_STMT_163_INDEX:
-                {
-                    return handleObsoleteActionStmt163(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OBSOLETE_ACTION_STMT_164_INDEX:
-                {
-                    return handleObsoleteActionStmt164(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAME_165_INDEX:
-                {
-                    return handleName165(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONSTANT_166_INDEX:
-                {
-                    return handleConstant166(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONSTANT_167_INDEX:
-                {
-                    return handleConstant167(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONSTANT_168_INDEX:
-                {
-                    return handleConstant168(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONSTANT_169_INDEX:
-                {
-                    return handleConstant169(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONSTANT_170_INDEX:
-                {
-                    return handleConstant170(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONSTANT_171_INDEX:
-                {
-                    return handleConstant171(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONSTANT_172_INDEX:
-                {
-                    return handleConstant172(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONSTANT_173_INDEX:
-                {
-                    return handleConstant173(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONSTANT_174_INDEX:
-                {
-                    return handleConstant174(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONSTANT_175_INDEX:
-                {
-                    return handleConstant175(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONSTANT_176_INDEX:
-                {
-                    return handleConstant176(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMED_CONSTANT_177_INDEX:
-                {
-                    return handleNamedConstant177(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMED_CONSTANT_USE_178_INDEX:
-                {
-                    return handleNamedConstantUse178(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POWER_OP_179_INDEX:
-                {
-                    return handlePowerOp179(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MULT_OP_180_INDEX:
-                {
-                    return handleMultOp180(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MULT_OP_181_INDEX:
-                {
-                    return handleMultOp181(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ADD_OP_182_INDEX:
-                {
-                    return handleAddOp182(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ADD_OP_183_INDEX:
-                {
-                    return handleAddOp183(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SIGN_184_INDEX:
-                {
-                    return handleSign184(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SIGN_185_INDEX:
-                {
-                    return handleSign185(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONCAT_OP_186_INDEX:
-                {
-                    return handleConcatOp186(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_187_INDEX:
-                {
-                    return handleRelOp187(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_188_INDEX:
-                {
-                    return handleRelOp188(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_189_INDEX:
-                {
-                    return handleRelOp189(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_190_INDEX:
-                {
-                    return handleRelOp190(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_191_INDEX:
-                {
-                    return handleRelOp191(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_192_INDEX:
-                {
-                    return handleRelOp192(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_193_INDEX:
-                {
-                    return handleRelOp193(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_194_INDEX:
-                {
-                    return handleRelOp194(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_195_INDEX:
-                {
-                    return handleRelOp195(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_196_INDEX:
-                {
-                    return handleRelOp196(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_197_INDEX:
-                {
-                    return handleRelOp197(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REL_OP_198_INDEX:
-                {
-                    return handleRelOp198(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NOT_OP_199_INDEX:
-                {
-                    return handleNotOp199(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.AND_OP_200_INDEX:
-                {
-                    return handleAndOp200(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OR_OP_201_INDEX:
-                {
-                    return handleOrOp201(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EQUIV_OP_202_INDEX:
-                {
-                    return handleEquivOp202(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EQUIV_OP_203_INDEX:
-                {
-                    return handleEquivOp203(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_OPERATOR_204_INDEX:
-                {
-                    return handleDefinedOperator204(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_OPERATOR_205_INDEX:
-                {
-                    return handleDefinedOperator205(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_OPERATOR_206_INDEX:
-                {
-                    return handleDefinedOperator206(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_OPERATOR_207_INDEX:
-                {
-                    return handleDefinedOperator207(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_OPERATOR_208_INDEX:
-                {
-                    return handleDefinedOperator208(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_OPERATOR_209_INDEX:
-                {
-                    return handleDefinedOperator209(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_OPERATOR_210_INDEX:
-                {
-                    return handleDefinedOperator210(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_OPERATOR_211_INDEX:
-                {
-                    return handleDefinedOperator211(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_OPERATOR_212_INDEX:
-                {
-                    return handleDefinedOperator212(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_OPERATOR_213_INDEX:
-                {
-                    return handleDefinedOperator213(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_UNARY_OP_214_INDEX:
-                {
-                    return handleDefinedUnaryOp214(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFINED_BINARY_OP_215_INDEX:
-                {
-                    return handleDefinedBinaryOp215(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LABEL_216_INDEX:
-                {
-                    return handleLabel216(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNSIGNED_ARITHMETIC_CONSTANT_217_INDEX:
-                {
-                    return handleUnsignedArithmeticConstant217(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNSIGNED_ARITHMETIC_CONSTANT_218_INDEX:
-                {
-                    return handleUnsignedArithmeticConstant218(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNSIGNED_ARITHMETIC_CONSTANT_219_INDEX:
-                {
-                    return handleUnsignedArithmeticConstant219(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNSIGNED_ARITHMETIC_CONSTANT_220_INDEX:
-                {
-                    return handleUnsignedArithmeticConstant220(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNSIGNED_ARITHMETIC_CONSTANT_221_INDEX:
-                {
-                    return handleUnsignedArithmeticConstant221(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNSIGNED_ARITHMETIC_CONSTANT_222_INDEX:
-                {
-                    return handleUnsignedArithmeticConstant222(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNSIGNED_ARITHMETIC_CONSTANT_223_INDEX:
-                {
-                    return handleUnsignedArithmeticConstant223(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.KIND_PARAM_224_INDEX:
-                {
-                    return handleKindParam224(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.KIND_PARAM_225_INDEX:
-                {
-                    return handleKindParam225(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BOZ_LITERAL_CONSTANT_226_INDEX:
-                {
-                    return handleBozLiteralConstant226(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BOZ_LITERAL_CONSTANT_227_INDEX:
-                {
-                    return handleBozLiteralConstant227(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BOZ_LITERAL_CONSTANT_228_INDEX:
-                {
-                    return handleBozLiteralConstant228(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPLEX_CONST_229_INDEX:
-                {
-                    return handleComplexConst229(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LOGICAL_CONSTANT_230_INDEX:
-                {
-                    return handleLogicalConstant230(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LOGICAL_CONSTANT_231_INDEX:
-                {
-                    return handleLogicalConstant231(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LOGICAL_CONSTANT_232_INDEX:
-                {
-                    return handleLogicalConstant232(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LOGICAL_CONSTANT_233_INDEX:
-                {
-                    return handleLogicalConstant233(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_DEF_234_INDEX:
-                {
-                    return handleDerivedTypeDef234(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_DEF_235_INDEX:
-                {
-                    return handleDerivedTypeDef235(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_DEF_236_INDEX:
-                {
-                    return handleDerivedTypeDef236(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_DEF_237_INDEX:
-                {
-                    return handleDerivedTypeDef237(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_DEF_238_INDEX:
-                {
-                    return handleDerivedTypeDef238(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_DEF_239_INDEX:
-                {
-                    return handleDerivedTypeDef239(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_DEF_240_INDEX:
-                {
-                    return handleDerivedTypeDef240(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_DEF_241_INDEX:
-                {
-                    return handleDerivedTypeDef241(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_BODY_242_INDEX:
-                {
-                    return handleDerivedTypeBody242(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_BODY_243_INDEX:
-                {
-                    return handleDerivedTypeBody243(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_BODY_CONSTRUCT_244_INDEX:
-                {
-                    return handleDerivedTypeBodyConstruct244(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_BODY_CONSTRUCT_245_INDEX:
-                {
-                    return handleDerivedTypeBodyConstruct245(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_STMT_246_INDEX:
-                {
-                    return handleDerivedTypeStmt246(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_STMT_247_INDEX:
-                {
-                    return handleDerivedTypeStmt247(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_STMT_248_INDEX:
-                {
-                    return handleDerivedTypeStmt248(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_STMT_249_INDEX:
-                {
-                    return handleDerivedTypeStmt249(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_STMT_250_INDEX:
-                {
-                    return handleDerivedTypeStmt250(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_STMT_251_INDEX:
-                {
-                    return handleDerivedTypeStmt251(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_NAME_LIST_252_INDEX:
-                {
-                    return handleTypeParamNameList252(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_NAME_LIST_253_INDEX:
-                {
-                    return handleTypeParamNameList253(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_ATTR_SPEC_LIST_254_INDEX:
-                {
-                    return handleTypeAttrSpecList254(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_ATTR_SPEC_LIST_255_INDEX:
-                {
-                    return handleTypeAttrSpecList255(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_ATTR_SPEC_256_INDEX:
-                {
-                    return handleTypeAttrSpec256(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_ATTR_SPEC_257_INDEX:
-                {
-                    return handleTypeAttrSpec257(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_ATTR_SPEC_258_INDEX:
-                {
-                    return handleTypeAttrSpec258(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_ATTR_SPEC_259_INDEX:
-                {
-                    return handleTypeAttrSpec259(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_NAME_260_INDEX:
-                {
-                    return handleTypeParamName260(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIVATE_SEQUENCE_STMT_261_INDEX:
-                {
-                    return handlePrivateSequenceStmt261(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIVATE_SEQUENCE_STMT_262_INDEX:
-                {
-                    return handlePrivateSequenceStmt262(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_DEF_STMT_263_INDEX:
-                {
-                    return handleTypeParamDefStmt263(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_DECL_LIST_264_INDEX:
-                {
-                    return handleTypeParamDeclList264(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_DECL_LIST_265_INDEX:
-                {
-                    return handleTypeParamDeclList265(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_DECL_266_INDEX:
-                {
-                    return handleTypeParamDecl266(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_DECL_267_INDEX:
-                {
-                    return handleTypeParamDecl267(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_ATTR_SPEC_268_INDEX:
-                {
-                    return handleTypeParamAttrSpec268(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_ATTR_SPEC_269_INDEX:
-                {
-                    return handleTypeParamAttrSpec269(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DEF_STMT_270_INDEX:
-                {
-                    return handleComponentDefStmt270(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DEF_STMT_271_INDEX:
-                {
-                    return handleComponentDefStmt271(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_COMPONENT_DEF_STMT_272_INDEX:
-                {
-                    return handleDataComponentDefStmt272(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_COMPONENT_DEF_STMT_273_INDEX:
-                {
-                    return handleDataComponentDefStmt273(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_COMPONENT_DEF_STMT_274_INDEX:
-                {
-                    return handleDataComponentDefStmt274(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_ATTR_SPEC_LIST_275_INDEX:
-                {
-                    return handleComponentAttrSpecList275(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_ATTR_SPEC_LIST_276_INDEX:
-                {
-                    return handleComponentAttrSpecList276(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_ATTR_SPEC_277_INDEX:
-                {
-                    return handleComponentAttrSpec277(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_ATTR_SPEC_278_INDEX:
-                {
-                    return handleComponentAttrSpec278(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_ATTR_SPEC_279_INDEX:
-                {
-                    return handleComponentAttrSpec279(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_ATTR_SPEC_280_INDEX:
-                {
-                    return handleComponentAttrSpec280(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_ATTR_SPEC_281_INDEX:
-                {
-                    return handleComponentAttrSpec281(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_ATTR_SPEC_282_INDEX:
-                {
-                    return handleComponentAttrSpec282(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_ARRAY_SPEC_283_INDEX:
-                {
-                    return handleComponentArraySpec283(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_ARRAY_SPEC_284_INDEX:
-                {
-                    return handleComponentArraySpec284(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_LIST_285_INDEX:
-                {
-                    return handleComponentDeclList285(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_LIST_286_INDEX:
-                {
-                    return handleComponentDeclList286(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_287_INDEX:
-                {
-                    return handleComponentDecl287(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_288_INDEX:
-                {
-                    return handleComponentDecl288(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_289_INDEX:
-                {
-                    return handleComponentDecl289(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_290_INDEX:
-                {
-                    return handleComponentDecl290(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_291_INDEX:
-                {
-                    return handleComponentDecl291(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_292_INDEX:
-                {
-                    return handleComponentDecl292(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_293_INDEX:
-                {
-                    return handleComponentDecl293(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_294_INDEX:
-                {
-                    return handleComponentDecl294(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_295_INDEX:
-                {
-                    return handleComponentDecl295(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_296_INDEX:
-                {
-                    return handleComponentDecl296(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_297_INDEX:
-                {
-                    return handleComponentDecl297(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_298_INDEX:
-                {
-                    return handleComponentDecl298(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_299_INDEX:
-                {
-                    return handleComponentDecl299(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_300_INDEX:
-                {
-                    return handleComponentDecl300(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_301_INDEX:
-                {
-                    return handleComponentDecl301(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_DECL_302_INDEX:
-                {
-                    return handleComponentDecl302(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_INITIALIZATION_303_INDEX:
-                {
-                    return handleComponentInitialization303(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_INITIALIZATION_304_INDEX:
-                {
-                    return handleComponentInitialization304(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_TYPE_STMT_305_INDEX:
-                {
-                    return handleEndTypeStmt305(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_TYPE_STMT_306_INDEX:
-                {
-                    return handleEndTypeStmt306(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_TYPE_STMT_307_INDEX:
-                {
-                    return handleEndTypeStmt307(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_TYPE_STMT_308_INDEX:
-                {
-                    return handleEndTypeStmt308(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_COMPONENT_DEF_STMT_309_INDEX:
-                {
-                    return handleProcComponentDefStmt309(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_COMPONENT_DEF_STMT_310_INDEX:
-                {
-                    return handleProcComponentDefStmt310(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_INTERFACE_311_INDEX:
-                {
-                    return handleProcInterface311(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_INTERFACE_312_INDEX:
-                {
-                    return handleProcInterface312(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_DECL_LIST_313_INDEX:
-                {
-                    return handleProcDeclList313(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_DECL_LIST_314_INDEX:
-                {
-                    return handleProcDeclList314(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_DECL_315_INDEX:
-                {
-                    return handleProcDecl315(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_DECL_316_INDEX:
-                {
-                    return handleProcDecl316(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_COMPONENT_ATTR_SPEC_LIST_317_INDEX:
-                {
-                    return handleProcComponentAttrSpecList317(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_COMPONENT_ATTR_SPEC_LIST_318_INDEX:
-                {
-                    return handleProcComponentAttrSpecList318(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_COMPONENT_ATTR_SPEC_319_INDEX:
-                {
-                    return handleProcComponentAttrSpec319(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_COMPONENT_ATTR_SPEC_320_INDEX:
-                {
-                    return handleProcComponentAttrSpec320(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_COMPONENT_ATTR_SPEC_321_INDEX:
-                {
-                    return handleProcComponentAttrSpec321(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_COMPONENT_ATTR_SPEC_322_INDEX:
-                {
-                    return handleProcComponentAttrSpec322(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_COMPONENT_ATTR_SPEC_323_INDEX:
-                {
-                    return handleProcComponentAttrSpec323(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_BOUND_PROCEDURE_PART_324_INDEX:
-                {
-                    return handleTypeBoundProcedurePart324(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_BOUND_PROCEDURE_PART_325_INDEX:
-                {
-                    return handleTypeBoundProcedurePart325(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BINDING_PRIVATE_STMT_326_INDEX:
-                {
-                    return handleBindingPrivateStmt326(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_BINDING_STMTS_327_INDEX:
-                {
-                    return handleProcBindingStmts327(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_BINDING_STMTS_328_INDEX:
-                {
-                    return handleProcBindingStmts328(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_BINDING_STMT_329_INDEX:
-                {
-                    return handleProcBindingStmt329(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_BINDING_STMT_330_INDEX:
-                {
-                    return handleProcBindingStmt330(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_BINDING_STMT_331_INDEX:
-                {
-                    return handleProcBindingStmt331(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_332_INDEX:
-                {
-                    return handleSpecificBinding332(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_333_INDEX:
-                {
-                    return handleSpecificBinding333(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_334_INDEX:
-                {
-                    return handleSpecificBinding334(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_335_INDEX:
-                {
-                    return handleSpecificBinding335(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_336_INDEX:
-                {
-                    return handleSpecificBinding336(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_337_INDEX:
-                {
-                    return handleSpecificBinding337(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_338_INDEX:
-                {
-                    return handleSpecificBinding338(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_339_INDEX:
-                {
-                    return handleSpecificBinding339(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_340_INDEX:
-                {
-                    return handleSpecificBinding340(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_341_INDEX:
-                {
-                    return handleSpecificBinding341(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_342_INDEX:
-                {
-                    return handleSpecificBinding342(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SPECIFIC_BINDING_343_INDEX:
-                {
-                    return handleSpecificBinding343(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GENERIC_BINDING_344_INDEX:
-                {
-                    return handleGenericBinding344(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GENERIC_BINDING_345_INDEX:
-                {
-                    return handleGenericBinding345(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GENERIC_BINDING_346_INDEX:
-                {
-                    return handleGenericBinding346(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GENERIC_BINDING_347_INDEX:
-                {
-                    return handleGenericBinding347(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BINDING_NAME_LIST_348_INDEX:
-                {
-                    return handleBindingNameList348(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BINDING_NAME_LIST_349_INDEX:
-                {
-                    return handleBindingNameList349(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BINDING_ATTR_LIST_350_INDEX:
-                {
-                    return handleBindingAttrList350(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BINDING_ATTR_LIST_351_INDEX:
-                {
-                    return handleBindingAttrList351(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BINDING_ATTR_352_INDEX:
-                {
-                    return handleBindingAttr352(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BINDING_ATTR_353_INDEX:
-                {
-                    return handleBindingAttr353(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BINDING_ATTR_354_INDEX:
-                {
-                    return handleBindingAttr354(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BINDING_ATTR_355_INDEX:
-                {
-                    return handleBindingAttr355(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BINDING_ATTR_356_INDEX:
-                {
-                    return handleBindingAttr356(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BINDING_ATTR_357_INDEX:
-                {
-                    return handleBindingAttr357(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FINAL_BINDING_358_INDEX:
-                {
-                    return handleFinalBinding358(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FINAL_BINDING_359_INDEX:
-                {
-                    return handleFinalBinding359(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FINAL_SUBROUTINE_NAME_LIST_360_INDEX:
-                {
-                    return handleFinalSubroutineNameList360(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FINAL_SUBROUTINE_NAME_LIST_361_INDEX:
-                {
-                    return handleFinalSubroutineNameList361(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.STRUCTURE_CONSTRUCTOR_362_INDEX:
-                {
-                    return handleStructureConstructor362(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.STRUCTURE_CONSTRUCTOR_363_INDEX:
-                {
-                    return handleStructureConstructor363(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENUM_DEF_364_INDEX:
-                {
-                    return handleEnumDef364(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENUMERATOR_DEF_STMTS_365_INDEX:
-                {
-                    return handleEnumeratorDefStmts365(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENUMERATOR_DEF_STMTS_366_INDEX:
-                {
-                    return handleEnumeratorDefStmts366(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENUM_DEF_STMT_367_INDEX:
-                {
-                    return handleEnumDefStmt367(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENUMERATOR_DEF_STMT_368_INDEX:
-                {
-                    return handleEnumeratorDefStmt368(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENUMERATOR_DEF_STMT_369_INDEX:
-                {
-                    return handleEnumeratorDefStmt369(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENUMERATOR_370_INDEX:
-                {
-                    return handleEnumerator370(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENUMERATOR_371_INDEX:
-                {
-                    return handleEnumerator371(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENUMERATOR_LIST_372_INDEX:
-                {
-                    return handleEnumeratorList372(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENUMERATOR_LIST_373_INDEX:
-                {
-                    return handleEnumeratorList373(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_ENUM_STMT_374_INDEX:
-                {
-                    return handleEndEnumStmt374(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_CONSTRUCTOR_375_INDEX:
-                {
-                    return handleArrayConstructor375(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_CONSTRUCTOR_376_INDEX:
-                {
-                    return handleArrayConstructor376(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.AC_VALUE_LIST_377_INDEX:
-                {
-                    return handleAcValueList377(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.AC_VALUE_LIST_378_INDEX:
-                {
-                    return handleAcValueList378(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.AC_VALUE_379_INDEX:
-                {
-                    return handleAcValue379(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.AC_VALUE_380_INDEX:
-                {
-                    return handleAcValue380(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.AC_IMPLIED_DO_381_INDEX:
-                {
-                    return handleAcImpliedDo381(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.AC_IMPLIED_DO_382_INDEX:
-                {
-                    return handleAcImpliedDo382(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.AC_IMPLIED_DO_383_INDEX:
-                {
-                    return handleAcImpliedDo383(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.AC_IMPLIED_DO_384_INDEX:
-                {
-                    return handleAcImpliedDo384(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_DECLARATION_STMT_385_INDEX:
-                {
-                    return handleTypeDeclarationStmt385(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_DECLARATION_STMT_386_INDEX:
-                {
-                    return handleTypeDeclarationStmt386(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_DECLARATION_STMT_387_INDEX:
-                {
-                    return handleTypeDeclarationStmt387(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_DECLARATION_STMT_388_INDEX:
-                {
-                    return handleTypeDeclarationStmt388(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_SEQ_389_INDEX:
-                {
-                    return handleAttrSpecSeq389(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_SEQ_390_INDEX:
-                {
-                    return handleAttrSpecSeq390(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_391_INDEX:
-                {
-                    return handleTypeSpec391(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_392_INDEX:
-                {
-                    return handleTypeSpec392(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_393_INDEX:
-                {
-                    return handleTypeSpec393(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_394_INDEX:
-                {
-                    return handleTypeSpec394(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_395_INDEX:
-                {
-                    return handleTypeSpec395(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_396_INDEX:
-                {
-                    return handleTypeSpec396(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_397_INDEX:
-                {
-                    return handleTypeSpec397(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_398_INDEX:
-                {
-                    return handleTypeSpec398(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_399_INDEX:
-                {
-                    return handleTypeSpec399(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_400_INDEX:
-                {
-                    return handleTypeSpec400(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_401_INDEX:
-                {
-                    return handleTypeSpec401(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_402_INDEX:
-                {
-                    return handleTypeSpec402(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_403_INDEX:
-                {
-                    return handleTypeSpec403(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_404_INDEX:
-                {
-                    return handleTypeSpec404(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_405_INDEX:
-                {
-                    return handleTypeSpec405(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_406_INDEX:
-                {
-                    return handleTypeSpec406(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_407_INDEX:
-                {
-                    return handleTypeSpec407(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_408_INDEX:
-                {
-                    return handleTypeSpecNoPrefix408(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_409_INDEX:
-                {
-                    return handleTypeSpecNoPrefix409(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_410_INDEX:
-                {
-                    return handleTypeSpecNoPrefix410(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_411_INDEX:
-                {
-                    return handleTypeSpecNoPrefix411(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_412_INDEX:
-                {
-                    return handleTypeSpecNoPrefix412(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_413_INDEX:
-                {
-                    return handleTypeSpecNoPrefix413(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_414_INDEX:
-                {
-                    return handleTypeSpecNoPrefix414(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_415_INDEX:
-                {
-                    return handleTypeSpecNoPrefix415(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_416_INDEX:
-                {
-                    return handleTypeSpecNoPrefix416(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_417_INDEX:
-                {
-                    return handleTypeSpecNoPrefix417(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_418_INDEX:
-                {
-                    return handleTypeSpecNoPrefix418(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_419_INDEX:
-                {
-                    return handleTypeSpecNoPrefix419(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_420_INDEX:
-                {
-                    return handleTypeSpecNoPrefix420(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_421_INDEX:
-                {
-                    return handleTypeSpecNoPrefix421(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_SPEC_NO_PREFIX_422_INDEX:
-                {
-                    return handleTypeSpecNoPrefix422(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_SPEC_423_INDEX:
-                {
-                    return handleDerivedTypeSpec423(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_SPEC_424_INDEX:
-                {
-                    return handleDerivedTypeSpec424(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_SPEC_LIST_425_INDEX:
-                {
-                    return handleTypeParamSpecList425(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_SPEC_LIST_426_INDEX:
-                {
-                    return handleTypeParamSpecList426(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_SPEC_427_INDEX:
-                {
-                    return handleTypeParamSpec427(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_SPEC_428_INDEX:
-                {
-                    return handleTypeParamSpec428(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_VALUE_429_INDEX:
-                {
-                    return handleTypeParamValue429(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_VALUE_430_INDEX:
-                {
-                    return handleTypeParamValue430(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_PARAM_VALUE_431_INDEX:
-                {
-                    return handleTypeParamValue431(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_432_INDEX:
-                {
-                    return handleAttrSpec432(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_433_INDEX:
-                {
-                    return handleAttrSpec433(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_434_INDEX:
-                {
-                    return handleAttrSpec434(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_435_INDEX:
-                {
-                    return handleAttrSpec435(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_436_INDEX:
-                {
-                    return handleAttrSpec436(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_437_INDEX:
-                {
-                    return handleAttrSpec437(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_438_INDEX:
-                {
-                    return handleAttrSpec438(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_439_INDEX:
-                {
-                    return handleAttrSpec439(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_440_INDEX:
-                {
-                    return handleAttrSpec440(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_441_INDEX:
-                {
-                    return handleAttrSpec441(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_442_INDEX:
-                {
-                    return handleAttrSpec442(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_443_INDEX:
-                {
-                    return handleAttrSpec443(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_444_INDEX:
-                {
-                    return handleAttrSpec444(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_445_INDEX:
-                {
-                    return handleAttrSpec445(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_446_INDEX:
-                {
-                    return handleAttrSpec446(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_447_INDEX:
-                {
-                    return handleAttrSpec447(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_448_INDEX:
-                {
-                    return handleAttrSpec448(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ATTR_SPEC_449_INDEX:
-                {
-                    return handleAttrSpec449(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LANGUAGE_BINDING_SPEC_450_INDEX:
-                {
-                    return handleLanguageBindingSpec450(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LANGUAGE_BINDING_SPEC_451_INDEX:
-                {
-                    return handleLanguageBindingSpec451(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_LIST_452_INDEX:
-                {
-                    return handleEntityDeclList452(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_LIST_453_INDEX:
-                {
-                    return handleEntityDeclList453(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_454_INDEX:
-                {
-                    return handleEntityDecl454(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_455_INDEX:
-                {
-                    return handleEntityDecl455(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_456_INDEX:
-                {
-                    return handleEntityDecl456(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_457_INDEX:
-                {
-                    return handleEntityDecl457(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_458_INDEX:
-                {
-                    return handleEntityDecl458(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_459_INDEX:
-                {
-                    return handleEntityDecl459(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_460_INDEX:
-                {
-                    return handleEntityDecl460(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_461_INDEX:
-                {
-                    return handleEntityDecl461(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_462_INDEX:
-                {
-                    return handleEntityDecl462(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_463_INDEX:
-                {
-                    return handleEntityDecl463(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_464_INDEX:
-                {
-                    return handleEntityDecl464(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_465_INDEX:
-                {
-                    return handleEntityDecl465(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_466_INDEX:
-                {
-                    return handleEntityDecl466(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_467_INDEX:
-                {
-                    return handleEntityDecl467(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_468_INDEX:
-                {
-                    return handleEntityDecl468(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_469_INDEX:
-                {
-                    return handleEntityDecl469(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_470_INDEX:
-                {
-                    return handleEntityDecl470(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_471_INDEX:
-                {
-                    return handleEntityDecl471(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_472_INDEX:
-                {
-                    return handleEntityDecl472(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_473_INDEX:
-                {
-                    return handleEntityDecl473(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTITY_DECL_474_INDEX:
-                {
-                    return handleEntityDecl474(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INVALID_ENTITY_DECL_475_INDEX:
-                {
-                    return handleInvalidEntityDecl475(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INVALID_ENTITY_DECL_476_INDEX:
-                {
-                    return handleInvalidEntityDecl476(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INITIALIZATION_477_INDEX:
-                {
-                    return handleInitialization477(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INITIALIZATION_478_INDEX:
-                {
-                    return handleInitialization478(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.KIND_SELECTOR_479_INDEX:
-                {
-                    return handleKindSelector479(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.KIND_SELECTOR_480_INDEX:
-                {
-                    return handleKindSelector480(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.KIND_SELECTOR_481_INDEX:
-                {
-                    return handleKindSelector481(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_SELECTOR_482_INDEX:
-                {
-                    return handleCharSelector482(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_SELECTOR_483_INDEX:
-                {
-                    return handleCharSelector483(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_SELECTOR_484_INDEX:
-                {
-                    return handleCharSelector484(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_SELECTOR_485_INDEX:
-                {
-                    return handleCharSelector485(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_SELECTOR_486_INDEX:
-                {
-                    return handleCharSelector486(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_SELECTOR_487_INDEX:
-                {
-                    return handleCharSelector487(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_SELECTOR_488_INDEX:
-                {
-                    return handleCharSelector488(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_LEN_PARAM_VALUE_489_INDEX:
-                {
-                    return handleCharLenParamValue489(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_LEN_PARAM_VALUE_490_INDEX:
-                {
-                    return handleCharLenParamValue490(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_LEN_PARAM_VALUE_491_INDEX:
-                {
-                    return handleCharLenParamValue491(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_LENGTH_492_INDEX:
-                {
-                    return handleCharLength492(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_LENGTH_493_INDEX:
-                {
-                    return handleCharLength493(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CHAR_LENGTH_494_INDEX:
-                {
-                    return handleCharLength494(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACCESS_SPEC_495_INDEX:
-                {
-                    return handleAccessSpec495(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACCESS_SPEC_496_INDEX:
-                {
-                    return handleAccessSpec496(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COARRAY_SPEC_497_INDEX:
-                {
-                    return handleCoarraySpec497(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COARRAY_SPEC_498_INDEX:
-                {
-                    return handleCoarraySpec498(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFERRED_COSHAPE_SPEC_LIST_499_INDEX:
-                {
-                    return handleDeferredCoshapeSpecList499(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFERRED_COSHAPE_SPEC_LIST_500_INDEX:
-                {
-                    return handleDeferredCoshapeSpecList500(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXPLICIT_COSHAPE_SPEC_501_INDEX:
-                {
-                    return handleExplicitCoshapeSpec501(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTENT_SPEC_502_INDEX:
-                {
-                    return handleIntentSpec502(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTENT_SPEC_503_INDEX:
-                {
-                    return handleIntentSpec503(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTENT_SPEC_504_INDEX:
-                {
-                    return handleIntentSpec504(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTENT_SPEC_505_INDEX:
-                {
-                    return handleIntentSpec505(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_SPEC_506_INDEX:
-                {
-                    return handleArraySpec506(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_SPEC_507_INDEX:
-                {
-                    return handleArraySpec507(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_SPEC_508_INDEX:
-                {
-                    return handleArraySpec508(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_SPEC_509_INDEX:
-                {
-                    return handleArraySpec509(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSUMED_SHAPE_SPEC_LIST_510_INDEX:
-                {
-                    return handleAssumedShapeSpecList510(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSUMED_SHAPE_SPEC_LIST_511_INDEX:
-                {
-                    return handleAssumedShapeSpecList511(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSUMED_SHAPE_SPEC_LIST_512_INDEX:
-                {
-                    return handleAssumedShapeSpecList512(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXPLICIT_SHAPE_SPEC_LIST_513_INDEX:
-                {
-                    return handleExplicitShapeSpecList513(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXPLICIT_SHAPE_SPEC_LIST_514_INDEX:
-                {
-                    return handleExplicitShapeSpecList514(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXPLICIT_SHAPE_SPEC_515_INDEX:
-                {
-                    return handleExplicitShapeSpec515(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXPLICIT_SHAPE_SPEC_516_INDEX:
-                {
-                    return handleExplicitShapeSpec516(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LOWER_BOUND_517_INDEX:
-                {
-                    return handleLowerBound517(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UPPER_BOUND_518_INDEX:
-                {
-                    return handleUpperBound518(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSUMED_SHAPE_SPEC_519_INDEX:
-                {
-                    return handleAssumedShapeSpec519(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSUMED_SHAPE_SPEC_520_INDEX:
-                {
-                    return handleAssumedShapeSpec520(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFERRED_SHAPE_SPEC_LIST_521_INDEX:
-                {
-                    return handleDeferredShapeSpecList521(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFERRED_SHAPE_SPEC_LIST_522_INDEX:
-                {
-                    return handleDeferredShapeSpecList522(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEFERRED_SHAPE_SPEC_523_INDEX:
-                {
-                    return handleDeferredShapeSpec523(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSUMED_SIZE_SPEC_524_INDEX:
-                {
-                    return handleAssumedSizeSpec524(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSUMED_SIZE_SPEC_525_INDEX:
-                {
-                    return handleAssumedSizeSpec525(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSUMED_SIZE_SPEC_526_INDEX:
-                {
-                    return handleAssumedSizeSpec526(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSUMED_SIZE_SPEC_527_INDEX:
-                {
-                    return handleAssumedSizeSpec527(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTENT_STMT_528_INDEX:
-                {
-                    return handleIntentStmt528(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTENT_STMT_529_INDEX:
-                {
-                    return handleIntentStmt529(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTENT_PAR_LIST_530_INDEX:
-                {
-                    return handleIntentParList530(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTENT_PAR_LIST_531_INDEX:
-                {
-                    return handleIntentParList531(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTENT_PAR_532_INDEX:
-                {
-                    return handleIntentPar532(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OPTIONAL_STMT_533_INDEX:
-                {
-                    return handleOptionalStmt533(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OPTIONAL_STMT_534_INDEX:
-                {
-                    return handleOptionalStmt534(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OPTIONAL_PAR_LIST_535_INDEX:
-                {
-                    return handleOptionalParList535(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OPTIONAL_PAR_LIST_536_INDEX:
-                {
-                    return handleOptionalParList536(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OPTIONAL_PAR_537_INDEX:
-                {
-                    return handleOptionalPar537(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACCESS_STMT_538_INDEX:
-                {
-                    return handleAccessStmt538(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACCESS_STMT_539_INDEX:
-                {
-                    return handleAccessStmt539(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACCESS_STMT_540_INDEX:
-                {
-                    return handleAccessStmt540(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACCESS_ID_LIST_541_INDEX:
-                {
-                    return handleAccessIdList541(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACCESS_ID_LIST_542_INDEX:
-                {
-                    return handleAccessIdList542(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACCESS_ID_543_INDEX:
-                {
-                    return handleAccessId543(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ACCESS_ID_544_INDEX:
-                {
-                    return handleAccessId544(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SAVE_STMT_545_INDEX:
-                {
-                    return handleSaveStmt545(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SAVE_STMT_546_INDEX:
-                {
-                    return handleSaveStmt546(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SAVE_STMT_547_INDEX:
-                {
-                    return handleSaveStmt547(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SAVED_ENTITY_LIST_548_INDEX:
-                {
-                    return handleSavedEntityList548(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SAVED_ENTITY_LIST_549_INDEX:
-                {
-                    return handleSavedEntityList549(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SAVED_ENTITY_550_INDEX:
-                {
-                    return handleSavedEntity550(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SAVED_ENTITY_551_INDEX:
-                {
-                    return handleSavedEntity551(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SAVED_COMMON_BLOCK_552_INDEX:
-                {
-                    return handleSavedCommonBlock552(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DIMENSION_STMT_553_INDEX:
-                {
-                    return handleDimensionStmt553(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DIMENSION_STMT_554_INDEX:
-                {
-                    return handleDimensionStmt554(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_DECLARATOR_LIST_555_INDEX:
-                {
-                    return handleArrayDeclaratorList555(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_DECLARATOR_LIST_556_INDEX:
-                {
-                    return handleArrayDeclaratorList556(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_DECLARATOR_557_INDEX:
-                {
-                    return handleArrayDeclarator557(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATABLE_STMT_558_INDEX:
-                {
-                    return handleAllocatableStmt558(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATABLE_STMT_559_INDEX:
-                {
-                    return handleAllocatableStmt559(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_ALLOCATION_LIST_560_INDEX:
-                {
-                    return handleArrayAllocationList560(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_ALLOCATION_LIST_561_INDEX:
-                {
-                    return handleArrayAllocationList561(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_ALLOCATION_562_INDEX:
-                {
-                    return handleArrayAllocation562(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_ALLOCATION_563_INDEX:
-                {
-                    return handleArrayAllocation563(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASYNCHRONOUS_STMT_564_INDEX:
-                {
-                    return handleAsynchronousStmt564(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASYNCHRONOUS_STMT_565_INDEX:
-                {
-                    return handleAsynchronousStmt565(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OBJECT_LIST_566_INDEX:
-                {
-                    return handleObjectList566(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OBJECT_LIST_567_INDEX:
-                {
-                    return handleObjectList567(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BIND_STMT_568_INDEX:
-                {
-                    return handleBindStmt568(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BIND_STMT_569_INDEX:
-                {
-                    return handleBindStmt569(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BIND_ENTITY_570_INDEX:
-                {
-                    return handleBindEntity570(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BIND_ENTITY_571_INDEX:
-                {
-                    return handleBindEntity571(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BIND_ENTITY_LIST_572_INDEX:
-                {
-                    return handleBindEntityList572(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BIND_ENTITY_LIST_573_INDEX:
-                {
-                    return handleBindEntityList573(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_STMT_574_INDEX:
-                {
-                    return handlePointerStmt574(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_STMT_575_INDEX:
-                {
-                    return handlePointerStmt575(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_STMT_OBJECT_LIST_576_INDEX:
-                {
-                    return handlePointerStmtObjectList576(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_STMT_OBJECT_LIST_577_INDEX:
-                {
-                    return handlePointerStmtObjectList577(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_STMT_OBJECT_578_INDEX:
-                {
-                    return handlePointerStmtObject578(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_STMT_OBJECT_579_INDEX:
-                {
-                    return handlePointerStmtObject579(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_NAME_580_INDEX:
-                {
-                    return handlePointerName580(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CRAY_POINTER_STMT_581_INDEX:
-                {
-                    return handleCrayPointerStmt581(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CRAY_POINTER_STMT_OBJECT_LIST_582_INDEX:
-                {
-                    return handleCrayPointerStmtObjectList582(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CRAY_POINTER_STMT_OBJECT_LIST_583_INDEX:
-                {
-                    return handleCrayPointerStmtObjectList583(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CRAY_POINTER_STMT_OBJECT_584_INDEX:
-                {
-                    return handleCrayPointerStmtObject584(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CODIMENSION_STMT_585_INDEX:
-                {
-                    return handleCodimensionStmt585(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CODIMENSION_STMT_586_INDEX:
-                {
-                    return handleCodimensionStmt586(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CODIMENSION_DECL_LIST_587_INDEX:
-                {
-                    return handleCodimensionDeclList587(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CODIMENSION_DECL_LIST_588_INDEX:
-                {
-                    return handleCodimensionDeclList588(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CODIMENSION_DECL_589_INDEX:
-                {
-                    return handleCodimensionDecl589(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONTIGUOUS_STMT_590_INDEX:
-                {
-                    return handleContiguousStmt590(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONTIGUOUS_STMT_591_INDEX:
-                {
-                    return handleContiguousStmt591(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OBJECT_NAME_LIST_592_INDEX:
-                {
-                    return handleObjectNameList592(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OBJECT_NAME_LIST_593_INDEX:
-                {
-                    return handleObjectNameList593(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROTECTED_STMT_594_INDEX:
-                {
-                    return handleProtectedStmt594(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROTECTED_STMT_595_INDEX:
-                {
-                    return handleProtectedStmt595(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TARGET_STMT_596_INDEX:
-                {
-                    return handleTargetStmt596(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TARGET_STMT_597_INDEX:
-                {
-                    return handleTargetStmt597(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TARGET_OBJECT_LIST_598_INDEX:
-                {
-                    return handleTargetObjectList598(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TARGET_OBJECT_LIST_599_INDEX:
-                {
-                    return handleTargetObjectList599(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TARGET_OBJECT_600_INDEX:
-                {
-                    return handleTargetObject600(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TARGET_OBJECT_601_INDEX:
-                {
-                    return handleTargetObject601(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TARGET_OBJECT_602_INDEX:
-                {
-                    return handleTargetObject602(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TARGET_OBJECT_603_INDEX:
-                {
-                    return handleTargetObject603(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TARGET_NAME_604_INDEX:
-                {
-                    return handleTargetName604(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VALUE_STMT_605_INDEX:
-                {
-                    return handleValueStmt605(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VALUE_STMT_606_INDEX:
-                {
-                    return handleValueStmt606(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VOLATILE_STMT_607_INDEX:
-                {
-                    return handleVolatileStmt607(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VOLATILE_STMT_608_INDEX:
-                {
-                    return handleVolatileStmt608(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PARAMETER_STMT_609_INDEX:
-                {
-                    return handleParameterStmt609(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMED_CONSTANT_DEF_LIST_610_INDEX:
-                {
-                    return handleNamedConstantDefList610(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMED_CONSTANT_DEF_LIST_611_INDEX:
-                {
-                    return handleNamedConstantDefList611(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMED_CONSTANT_DEF_612_INDEX:
-                {
-                    return handleNamedConstantDef612(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_613_INDEX:
-                {
-                    return handleDataStmt613(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATALIST_614_INDEX:
-                {
-                    return handleDatalist614(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATALIST_615_INDEX:
-                {
-                    return handleDatalist615(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATALIST_616_INDEX:
-                {
-                    return handleDatalist616(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_SET_617_INDEX:
-                {
-                    return handleDataStmtSet617(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_OBJECT_LIST_618_INDEX:
-                {
-                    return handleDataStmtObjectList618(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_OBJECT_LIST_619_INDEX:
-                {
-                    return handleDataStmtObjectList619(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_OBJECT_620_INDEX:
-                {
-                    return handleDataStmtObject620(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_OBJECT_621_INDEX:
-                {
-                    return handleDataStmtObject621(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_IMPLIED_DO_622_INDEX:
-                {
-                    return handleDataImpliedDo622(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_IMPLIED_DO_623_INDEX:
-                {
-                    return handleDataImpliedDo623(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_IDO_OBJECT_LIST_624_INDEX:
-                {
-                    return handleDataIDoObjectList624(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_IDO_OBJECT_LIST_625_INDEX:
-                {
-                    return handleDataIDoObjectList625(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_IDO_OBJECT_626_INDEX:
-                {
-                    return handleDataIDoObject626(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_IDO_OBJECT_627_INDEX:
-                {
-                    return handleDataIDoObject627(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_IDO_OBJECT_628_INDEX:
-                {
-                    return handleDataIDoObject628(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_VALUE_LIST_629_INDEX:
-                {
-                    return handleDataStmtValueList629(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_VALUE_LIST_630_INDEX:
-                {
-                    return handleDataStmtValueList630(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_VALUE_631_INDEX:
-                {
-                    return handleDataStmtValue631(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_VALUE_632_INDEX:
-                {
-                    return handleDataStmtValue632(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_VALUE_633_INDEX:
-                {
-                    return handleDataStmtValue633(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_CONSTANT_634_INDEX:
-                {
-                    return handleDataStmtConstant634(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_CONSTANT_635_INDEX:
-                {
-                    return handleDataStmtConstant635(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMPLICIT_STMT_636_INDEX:
-                {
-                    return handleImplicitStmt636(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMPLICIT_STMT_637_INDEX:
-                {
-                    return handleImplicitStmt637(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMPLICIT_SPEC_LIST_638_INDEX:
-                {
-                    return handleImplicitSpecList638(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMPLICIT_SPEC_LIST_639_INDEX:
-                {
-                    return handleImplicitSpecList639(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMPLICIT_SPEC_640_INDEX:
-                {
-                    return handleImplicitSpec640(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMELIST_STMT_641_INDEX:
-                {
-                    return handleNamelistStmt641(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMELIST_GROUPS_642_INDEX:
-                {
-                    return handleNamelistGroups642(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMELIST_GROUPS_643_INDEX:
-                {
-                    return handleNamelistGroups643(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMELIST_GROUPS_644_INDEX:
-                {
-                    return handleNamelistGroups644(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMELIST_GROUPS_645_INDEX:
-                {
-                    return handleNamelistGroups645(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMELIST_GROUP_OBJECT_646_INDEX:
-                {
-                    return handleNamelistGroupObject646(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EQUIVALENCE_STMT_647_INDEX:
-                {
-                    return handleEquivalenceStmt647(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EQUIVALENCE_SET_LIST_648_INDEX:
-                {
-                    return handleEquivalenceSetList648(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EQUIVALENCE_SET_LIST_649_INDEX:
-                {
-                    return handleEquivalenceSetList649(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EQUIVALENCE_SET_650_INDEX:
-                {
-                    return handleEquivalenceSet650(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EQUIVALENCE_OBJECT_LIST_651_INDEX:
-                {
-                    return handleEquivalenceObjectList651(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EQUIVALENCE_OBJECT_LIST_652_INDEX:
-                {
-                    return handleEquivalenceObjectList652(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EQUIVALENCE_OBJECT_653_INDEX:
-                {
-                    return handleEquivalenceObject653(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_STMT_654_INDEX:
-                {
-                    return handleCommonStmt654(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_LIST_655_INDEX:
-                {
-                    return handleCommonBlockList655(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_LIST_656_INDEX:
-                {
-                    return handleCommonBlockList656(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_657_INDEX:
-                {
-                    return handleCommonBlock657(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_658_INDEX:
-                {
-                    return handleCommonBlock658(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_659_INDEX:
-                {
-                    return handleCommonBlock659(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_OBJECT_LIST_660_INDEX:
-                {
-                    return handleCommonBlockObjectList660(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_OBJECT_LIST_661_INDEX:
-                {
-                    return handleCommonBlockObjectList661(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_OBJECT_662_INDEX:
-                {
-                    return handleCommonBlockObject662(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_OBJECT_663_INDEX:
-                {
-                    return handleCommonBlockObject663(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_OBJECT_664_INDEX:
-                {
-                    return handleCommonBlockObject664(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_OBJECT_665_INDEX:
-                {
-                    return handleCommonBlockObject665(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VARIABLE_666_INDEX:
-                {
-                    return handleVariable666(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VARIABLE_667_INDEX:
-                {
-                    return handleVariable667(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VARIABLE_668_INDEX:
-                {
-                    return handleVariable668(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VARIABLE_669_INDEX:
-                {
-                    return handleVariable669(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VARIABLE_670_INDEX:
-                {
-                    return handleVariable670(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VARIABLE_671_INDEX:
-                {
-                    return handleVariable671(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VARIABLE_672_INDEX:
-                {
-                    return handleVariable672(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBSTR_CONST_673_INDEX:
-                {
-                    return handleSubstrConst673(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VARIABLE_NAME_674_INDEX:
-                {
-                    return handleVariableName674(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SCALAR_VARIABLE_675_INDEX:
-                {
-                    return handleScalarVariable675(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SCALAR_VARIABLE_676_INDEX:
-                {
-                    return handleScalarVariable676(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBSTRING_RANGE_677_INDEX:
-                {
-                    return handleSubstringRange677(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_REF_678_INDEX:
-                {
-                    return handleDataRef678(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_REF_679_INDEX:
-                {
-                    return handleDataRef679(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_REF_680_INDEX:
-                {
-                    return handleDataRef680(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_REF_681_INDEX:
-                {
-                    return handleDataRef681(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_REF_682_INDEX:
-                {
-                    return handleDataRef682(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_REF_683_INDEX:
-                {
-                    return handleDataRef683(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFDATA_REF_684_INDEX:
-                {
-                    return handleSFDataRef684(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFDATA_REF_685_INDEX:
-                {
-                    return handleSFDataRef685(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFDATA_REF_686_INDEX:
-                {
-                    return handleSFDataRef686(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFDATA_REF_687_INDEX:
-                {
-                    return handleSFDataRef687(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFDATA_REF_688_INDEX:
-                {
-                    return handleSFDataRef688(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFDATA_REF_689_INDEX:
-                {
-                    return handleSFDataRef689(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFDATA_REF_690_INDEX:
-                {
-                    return handleSFDataRef690(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFDATA_REF_691_INDEX:
-                {
-                    return handleSFDataRef691(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.STRUCTURE_COMPONENT_692_INDEX:
-                {
-                    return handleStructureComponent692(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.STRUCTURE_COMPONENT_693_INDEX:
-                {
-                    return handleStructureComponent693(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FIELD_SELECTOR_694_INDEX:
-                {
-                    return handleFieldSelector694(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FIELD_SELECTOR_695_INDEX:
-                {
-                    return handleFieldSelector695(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FIELD_SELECTOR_696_INDEX:
-                {
-                    return handleFieldSelector696(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FIELD_SELECTOR_697_INDEX:
-                {
-                    return handleFieldSelector697(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_ELEMENT_698_INDEX:
-                {
-                    return handleArrayElement698(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_ELEMENT_699_INDEX:
-                {
-                    return handleArrayElement699(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_ELEMENT_700_INDEX:
-                {
-                    return handleArrayElement700(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_ELEMENT_701_INDEX:
-                {
-                    return handleArrayElement701(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBSCRIPT_702_INDEX:
-                {
-                    return handleSubscript702(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SECTION_SUBSCRIPT_LIST_703_INDEX:
-                {
-                    return handleSectionSubscriptList703(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SECTION_SUBSCRIPT_LIST_704_INDEX:
-                {
-                    return handleSectionSubscriptList704(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SECTION_SUBSCRIPT_705_INDEX:
-                {
-                    return handleSectionSubscript705(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SECTION_SUBSCRIPT_706_INDEX:
-                {
-                    return handleSectionSubscript706(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBSCRIPT_TRIPLET_707_INDEX:
-                {
-                    return handleSubscriptTriplet707(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBSCRIPT_TRIPLET_708_INDEX:
-                {
-                    return handleSubscriptTriplet708(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBSCRIPT_TRIPLET_709_INDEX:
-                {
-                    return handleSubscriptTriplet709(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBSCRIPT_TRIPLET_710_INDEX:
-                {
-                    return handleSubscriptTriplet710(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBSCRIPT_TRIPLET_711_INDEX:
-                {
-                    return handleSubscriptTriplet711(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBSCRIPT_TRIPLET_712_INDEX:
-                {
-                    return handleSubscriptTriplet712(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBSCRIPT_TRIPLET_713_INDEX:
-                {
-                    return handleSubscriptTriplet713(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBSCRIPT_TRIPLET_714_INDEX:
-                {
-                    return handleSubscriptTriplet714(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATE_STMT_715_INDEX:
-                {
-                    return handleAllocateStmt715(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATE_STMT_716_INDEX:
-                {
-                    return handleAllocateStmt716(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATION_LIST_717_INDEX:
-                {
-                    return handleAllocationList717(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATION_LIST_718_INDEX:
-                {
-                    return handleAllocationList718(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATION_719_INDEX:
-                {
-                    return handleAllocation719(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATION_720_INDEX:
-                {
-                    return handleAllocation720(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATED_SHAPE_721_INDEX:
-                {
-                    return handleAllocatedShape721(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATED_SHAPE_722_INDEX:
-                {
-                    return handleAllocatedShape722(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATED_SHAPE_723_INDEX:
-                {
-                    return handleAllocatedShape723(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATE_OBJECT_LIST_724_INDEX:
-                {
-                    return handleAllocateObjectList724(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATE_OBJECT_LIST_725_INDEX:
-                {
-                    return handleAllocateObjectList725(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATE_OBJECT_726_INDEX:
-                {
-                    return handleAllocateObject726(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATE_OBJECT_727_INDEX:
-                {
-                    return handleAllocateObject727(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATE_COARRAY_SPEC_728_INDEX:
-                {
-                    return handleAllocateCoarraySpec728(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATE_COARRAY_SPEC_729_INDEX:
-                {
-                    return handleAllocateCoarraySpec729(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATE_COARRAY_SPEC_730_INDEX:
-                {
-                    return handleAllocateCoarraySpec730(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATE_COARRAY_SPEC_731_INDEX:
-                {
-                    return handleAllocateCoarraySpec731(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMAGE_SELECTOR_732_INDEX:
-                {
-                    return handleImageSelector732(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NULLIFY_STMT_733_INDEX:
-                {
-                    return handleNullifyStmt733(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_OBJECT_LIST_734_INDEX:
-                {
-                    return handlePointerObjectList734(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_OBJECT_LIST_735_INDEX:
-                {
-                    return handlePointerObjectList735(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_OBJECT_736_INDEX:
-                {
-                    return handlePointerObject736(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_OBJECT_737_INDEX:
-                {
-                    return handlePointerObject737(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_FIELD_738_INDEX:
-                {
-                    return handlePointerField738(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_FIELD_739_INDEX:
-                {
-                    return handlePointerField739(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_FIELD_740_INDEX:
-                {
-                    return handlePointerField740(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_FIELD_741_INDEX:
-                {
-                    return handlePointerField741(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_FIELD_742_INDEX:
-                {
-                    return handlePointerField742(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_FIELD_743_INDEX:
-                {
-                    return handlePointerField743(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_FIELD_744_INDEX:
-                {
-                    return handlePointerField744(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEALLOCATE_STMT_745_INDEX:
-                {
-                    return handleDeallocateStmt745(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DEALLOCATE_STMT_746_INDEX:
-                {
-                    return handleDeallocateStmt746(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_747_INDEX:
-                {
-                    return handlePrimary747(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_748_INDEX:
-                {
-                    return handlePrimary748(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_749_INDEX:
-                {
-                    return handlePrimary749(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_750_INDEX:
-                {
-                    return handlePrimary750(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_751_INDEX:
-                {
-                    return handlePrimary751(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_752_INDEX:
-                {
-                    return handlePrimary752(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_753_INDEX:
-                {
-                    return handlePrimary753(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_754_INDEX:
-                {
-                    return handlePrimary754(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_755_INDEX:
-                {
-                    return handlePrimary755(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_756_INDEX:
-                {
-                    return handlePrimary756(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_757_INDEX:
-                {
-                    return handlePrimary757(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_758_INDEX:
-                {
-                    return handlePrimary758(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_759_INDEX:
-                {
-                    return handlePrimary759(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_760_INDEX:
-                {
-                    return handlePrimary760(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_761_INDEX:
-                {
-                    return handlePrimary761(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_762_INDEX:
-                {
-                    return handlePrimary762(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_763_INDEX:
-                {
-                    return handlePrimary763(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_764_INDEX:
-                {
-                    return handlePrimary764(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_765_INDEX:
-                {
-                    return handlePrimary765(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_766_INDEX:
-                {
-                    return handlePrimary766(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_767_INDEX:
-                {
-                    return handlePrimary767(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_768_INDEX:
-                {
-                    return handlePrimary768(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_769_INDEX:
-                {
-                    return handlePrimary769(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_770_INDEX:
-                {
-                    return handlePrimary770(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_771_INDEX:
-                {
-                    return handlePrimary771(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_772_INDEX:
-                {
-                    return handlePrimary772(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_773_INDEX:
-                {
-                    return handlePrimary773(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_774_INDEX:
-                {
-                    return handlePrimary774(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_775_INDEX:
-                {
-                    return handlePrimary775(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_776_INDEX:
-                {
-                    return handlePrimary776(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_777_INDEX:
-                {
-                    return handlePrimary777(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_778_INDEX:
-                {
-                    return handlePrimary778(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_779_INDEX:
-                {
-                    return handlePrimary779(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_780_INDEX:
-                {
-                    return handlePrimary780(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_781_INDEX:
-                {
-                    return handlePrimary781(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRIMARY_782_INDEX:
-                {
-                    return handlePrimary782(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CPRIMARY_783_INDEX:
-                {
-                    return handleCPrimary783(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CPRIMARY_784_INDEX:
-                {
-                    return handleCPrimary784(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_785_INDEX:
-                {
-                    return handleCOperand785(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_786_INDEX:
-                {
-                    return handleCOperand786(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_787_INDEX:
-                {
-                    return handleCOperand787(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_788_INDEX:
-                {
-                    return handleCOperand788(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_789_INDEX:
-                {
-                    return handleCOperand789(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_790_INDEX:
-                {
-                    return handleCOperand790(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_791_INDEX:
-                {
-                    return handleCOperand791(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_792_INDEX:
-                {
-                    return handleCOperand792(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_793_INDEX:
-                {
-                    return handleCOperand793(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_794_INDEX:
-                {
-                    return handleCOperand794(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_795_INDEX:
-                {
-                    return handleCOperand795(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_796_INDEX:
-                {
-                    return handleCOperand796(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_797_INDEX:
-                {
-                    return handleCOperand797(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COPERAND_798_INDEX:
-                {
-                    return handleCOperand798(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_799_INDEX:
-                {
-                    return handleUFPrimary799(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_800_INDEX:
-                {
-                    return handleUFPrimary800(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_801_INDEX:
-                {
-                    return handleUFPrimary801(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_802_INDEX:
-                {
-                    return handleUFPrimary802(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_803_INDEX:
-                {
-                    return handleUFPrimary803(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_804_INDEX:
-                {
-                    return handleUFPrimary804(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_805_INDEX:
-                {
-                    return handleUFPrimary805(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_806_INDEX:
-                {
-                    return handleUFPrimary806(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_807_INDEX:
-                {
-                    return handleUFPrimary807(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_808_INDEX:
-                {
-                    return handleUFPrimary808(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_809_INDEX:
-                {
-                    return handleUFPrimary809(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_810_INDEX:
-                {
-                    return handleUFPrimary810(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_811_INDEX:
-                {
-                    return handleUFPrimary811(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_812_INDEX:
-                {
-                    return handleUFPrimary812(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_813_INDEX:
-                {
-                    return handleUFPrimary813(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_814_INDEX:
-                {
-                    return handleUFPrimary814(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_815_INDEX:
-                {
-                    return handleUFPrimary815(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_816_INDEX:
-                {
-                    return handleUFPrimary816(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_817_INDEX:
-                {
-                    return handleUFPrimary817(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_818_INDEX:
-                {
-                    return handleUFPrimary818(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_819_INDEX:
-                {
-                    return handleUFPrimary819(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFPRIMARY_820_INDEX:
-                {
-                    return handleUFPrimary820(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LEVEL_1_EXPR_821_INDEX:
-                {
-                    return handleLevel1Expr821(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LEVEL_1_EXPR_822_INDEX:
-                {
-                    return handleLevel1Expr822(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MULT_OPERAND_823_INDEX:
-                {
-                    return handleMultOperand823(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MULT_OPERAND_824_INDEX:
-                {
-                    return handleMultOperand824(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFFACTOR_825_INDEX:
-                {
-                    return handleUFFactor825(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFFACTOR_826_INDEX:
-                {
-                    return handleUFFactor826(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ADD_OPERAND_827_INDEX:
-                {
-                    return handleAddOperand827(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ADD_OPERAND_828_INDEX:
-                {
-                    return handleAddOperand828(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFTERM_829_INDEX:
-                {
-                    return handleUFTerm829(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFTERM_830_INDEX:
-                {
-                    return handleUFTerm830(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFTERM_831_INDEX:
-                {
-                    return handleUFTerm831(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LEVEL_2_EXPR_832_INDEX:
-                {
-                    return handleLevel2Expr832(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LEVEL_2_EXPR_833_INDEX:
-                {
-                    return handleLevel2Expr833(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LEVEL_2_EXPR_834_INDEX:
-                {
-                    return handleLevel2Expr834(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFEXPR_835_INDEX:
-                {
-                    return handleUFExpr835(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFEXPR_836_INDEX:
-                {
-                    return handleUFExpr836(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UFEXPR_837_INDEX:
-                {
-                    return handleUFExpr837(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LEVEL_3_EXPR_838_INDEX:
-                {
-                    return handleLevel3Expr838(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LEVEL_3_EXPR_839_INDEX:
-                {
-                    return handleLevel3Expr839(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CEXPR_840_INDEX:
-                {
-                    return handleCExpr840(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CEXPR_841_INDEX:
-                {
-                    return handleCExpr841(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LEVEL_4_EXPR_842_INDEX:
-                {
-                    return handleLevel4Expr842(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LEVEL_4_EXPR_843_INDEX:
-                {
-                    return handleLevel4Expr843(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.AND_OPERAND_844_INDEX:
-                {
-                    return handleAndOperand844(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.AND_OPERAND_845_INDEX:
-                {
-                    return handleAndOperand845(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OR_OPERAND_846_INDEX:
-                {
-                    return handleOrOperand846(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OR_OPERAND_847_INDEX:
-                {
-                    return handleOrOperand847(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EQUIV_OPERAND_848_INDEX:
-                {
-                    return handleEquivOperand848(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EQUIV_OPERAND_849_INDEX:
-                {
-                    return handleEquivOperand849(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LEVEL_5_EXPR_850_INDEX:
-                {
-                    return handleLevel5Expr850(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LEVEL_5_EXPR_851_INDEX:
-                {
-                    return handleLevel5Expr851(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXPR_852_INDEX:
-                {
-                    return handleExpr852(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXPR_853_INDEX:
-                {
-                    return handleExpr853(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_854_INDEX:
-                {
-                    return handleSFExprList854(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_855_INDEX:
-                {
-                    return handleSFExprList855(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_856_INDEX:
-                {
-                    return handleSFExprList856(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_857_INDEX:
-                {
-                    return handleSFExprList857(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_858_INDEX:
-                {
-                    return handleSFExprList858(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_859_INDEX:
-                {
-                    return handleSFExprList859(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_860_INDEX:
-                {
-                    return handleSFExprList860(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_861_INDEX:
-                {
-                    return handleSFExprList861(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_862_INDEX:
-                {
-                    return handleSFExprList862(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_863_INDEX:
-                {
-                    return handleSFExprList863(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_864_INDEX:
-                {
-                    return handleSFExprList864(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_865_INDEX:
-                {
-                    return handleSFExprList865(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_866_INDEX:
-                {
-                    return handleSFExprList866(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_867_INDEX:
-                {
-                    return handleSFExprList867(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_LIST_868_INDEX:
-                {
-                    return handleSFExprList868(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_869_INDEX:
-                {
-                    return handleAssignmentStmt869(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_870_INDEX:
-                {
-                    return handleAssignmentStmt870(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_871_INDEX:
-                {
-                    return handleAssignmentStmt871(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_872_INDEX:
-                {
-                    return handleAssignmentStmt872(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_873_INDEX:
-                {
-                    return handleAssignmentStmt873(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_874_INDEX:
-                {
-                    return handleAssignmentStmt874(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_875_INDEX:
-                {
-                    return handleAssignmentStmt875(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_876_INDEX:
-                {
-                    return handleAssignmentStmt876(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_877_INDEX:
-                {
-                    return handleAssignmentStmt877(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_878_INDEX:
-                {
-                    return handleAssignmentStmt878(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_879_INDEX:
-                {
-                    return handleAssignmentStmt879(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_880_INDEX:
-                {
-                    return handleAssignmentStmt880(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_881_INDEX:
-                {
-                    return handleAssignmentStmt881(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_882_INDEX:
-                {
-                    return handleAssignmentStmt882(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_883_INDEX:
-                {
-                    return handleAssignmentStmt883(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_884_INDEX:
-                {
-                    return handleAssignmentStmt884(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_885_INDEX:
-                {
-                    return handleAssignmentStmt885(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_886_INDEX:
-                {
-                    return handleAssignmentStmt886(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_887_INDEX:
-                {
-                    return handleAssignmentStmt887(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_888_INDEX:
-                {
-                    return handleAssignmentStmt888(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_889_INDEX:
-                {
-                    return handleAssignmentStmt889(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_890_INDEX:
-                {
-                    return handleAssignmentStmt890(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_891_INDEX:
-                {
-                    return handleAssignmentStmt891(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_892_INDEX:
-                {
-                    return handleAssignmentStmt892(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_893_INDEX:
-                {
-                    return handleAssignmentStmt893(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_894_INDEX:
-                {
-                    return handleAssignmentStmt894(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_895_INDEX:
-                {
-                    return handleSFExpr895(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_896_INDEX:
-                {
-                    return handleSFExpr896(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFEXPR_897_INDEX:
-                {
-                    return handleSFExpr897(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFTERM_898_INDEX:
-                {
-                    return handleSFTerm898(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFTERM_899_INDEX:
-                {
-                    return handleSFTerm899(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFFACTOR_900_INDEX:
-                {
-                    return handleSFFactor900(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFFACTOR_901_INDEX:
-                {
-                    return handleSFFactor901(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFPRIMARY_902_INDEX:
-                {
-                    return handleSFPrimary902(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFPRIMARY_903_INDEX:
-                {
-                    return handleSFPrimary903(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFPRIMARY_904_INDEX:
-                {
-                    return handleSFPrimary904(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFPRIMARY_905_INDEX:
-                {
-                    return handleSFPrimary905(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFPRIMARY_906_INDEX:
-                {
-                    return handleSFPrimary906(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFPRIMARY_907_INDEX:
-                {
-                    return handleSFPrimary907(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_ASSIGNMENT_STMT_908_INDEX:
-                {
-                    return handlePointerAssignmentStmt908(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_ASSIGNMENT_STMT_909_INDEX:
-                {
-                    return handlePointerAssignmentStmt909(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_ASSIGNMENT_STMT_910_INDEX:
-                {
-                    return handlePointerAssignmentStmt910(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_ASSIGNMENT_STMT_911_INDEX:
-                {
-                    return handlePointerAssignmentStmt911(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_ASSIGNMENT_STMT_912_INDEX:
-                {
-                    return handlePointerAssignmentStmt912(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_ASSIGNMENT_STMT_913_INDEX:
-                {
-                    return handlePointerAssignmentStmt913(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_ASSIGNMENT_STMT_914_INDEX:
-                {
-                    return handlePointerAssignmentStmt914(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POINTER_ASSIGNMENT_STMT_915_INDEX:
-                {
-                    return handlePointerAssignmentStmt915(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TARGET_916_INDEX:
-                {
-                    return handleTarget916(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TARGET_917_INDEX:
-                {
-                    return handleTarget917(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_STMT_918_INDEX:
-                {
-                    return handleWhereStmt918(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_CONSTRUCT_919_INDEX:
-                {
-                    return handleWhereConstruct919(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_RANGE_920_INDEX:
-                {
-                    return handleWhereRange920(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_RANGE_921_INDEX:
-                {
-                    return handleWhereRange921(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_RANGE_922_INDEX:
-                {
-                    return handleWhereRange922(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_RANGE_923_INDEX:
-                {
-                    return handleWhereRange923(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_RANGE_924_INDEX:
-                {
-                    return handleWhereRange924(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_RANGE_925_INDEX:
-                {
-                    return handleWhereRange925(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MASKED_ELSE_WHERE_CONSTRUCT_926_INDEX:
-                {
-                    return handleMaskedElseWhereConstruct926(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_WHERE_CONSTRUCT_927_INDEX:
-                {
-                    return handleElseWhereConstruct927(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_WHERE_PART_928_INDEX:
-                {
-                    return handleElseWherePart928(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_WHERE_PART_929_INDEX:
-                {
-                    return handleElseWherePart929(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_BODY_CONSTRUCT_BLOCK_930_INDEX:
-                {
-                    return handleWhereBodyConstructBlock930(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_BODY_CONSTRUCT_BLOCK_931_INDEX:
-                {
-                    return handleWhereBodyConstructBlock931(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_CONSTRUCT_STMT_932_INDEX:
-                {
-                    return handleWhereConstructStmt932(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_CONSTRUCT_STMT_933_INDEX:
-                {
-                    return handleWhereConstructStmt933(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_BODY_CONSTRUCT_934_INDEX:
-                {
-                    return handleWhereBodyConstruct934(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_BODY_CONSTRUCT_935_INDEX:
-                {
-                    return handleWhereBodyConstruct935(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WHERE_BODY_CONSTRUCT_936_INDEX:
-                {
-                    return handleWhereBodyConstruct936(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MASK_EXPR_937_INDEX:
-                {
-                    return handleMaskExpr937(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MASKED_ELSE_WHERE_STMT_938_INDEX:
-                {
-                    return handleMaskedElseWhereStmt938(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MASKED_ELSE_WHERE_STMT_939_INDEX:
-                {
-                    return handleMaskedElseWhereStmt939(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MASKED_ELSE_WHERE_STMT_940_INDEX:
-                {
-                    return handleMaskedElseWhereStmt940(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MASKED_ELSE_WHERE_STMT_941_INDEX:
-                {
-                    return handleMaskedElseWhereStmt941(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_WHERE_STMT_942_INDEX:
-                {
-                    return handleElseWhereStmt942(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_WHERE_STMT_943_INDEX:
-                {
-                    return handleElseWhereStmt943(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_WHERE_STMT_944_INDEX:
-                {
-                    return handleElseWhereStmt944(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_WHERE_STMT_945_INDEX:
-                {
-                    return handleElseWhereStmt945(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_WHERE_STMT_946_INDEX:
-                {
-                    return handleEndWhereStmt946(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_WHERE_STMT_947_INDEX:
-                {
-                    return handleEndWhereStmt947(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_WHERE_STMT_948_INDEX:
-                {
-                    return handleEndWhereStmt948(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_WHERE_STMT_949_INDEX:
-                {
-                    return handleEndWhereStmt949(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_CONSTRUCT_950_INDEX:
-                {
-                    return handleForallConstruct950(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_CONSTRUCT_951_INDEX:
-                {
-                    return handleForallConstruct951(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_BODY_952_INDEX:
-                {
-                    return handleForallBody952(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_BODY_953_INDEX:
-                {
-                    return handleForallBody953(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_CONSTRUCT_STMT_954_INDEX:
-                {
-                    return handleForallConstructStmt954(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_CONSTRUCT_STMT_955_INDEX:
-                {
-                    return handleForallConstructStmt955(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_HEADER_956_INDEX:
-                {
-                    return handleForallHeader956(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_HEADER_957_INDEX:
-                {
-                    return handleForallHeader957(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SCALAR_MASK_EXPR_958_INDEX:
-                {
-                    return handleScalarMaskExpr958(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_TRIPLET_SPEC_LIST_959_INDEX:
-                {
-                    return handleForallTripletSpecList959(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_TRIPLET_SPEC_LIST_960_INDEX:
-                {
-                    return handleForallTripletSpecList960(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_TRIPLET_SPEC_LIST_961_INDEX:
-                {
-                    return handleForallTripletSpecList961(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_TRIPLET_SPEC_LIST_962_INDEX:
-                {
-                    return handleForallTripletSpecList962(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_BODY_CONSTRUCT_963_INDEX:
-                {
-                    return handleForallBodyConstruct963(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_BODY_CONSTRUCT_964_INDEX:
-                {
-                    return handleForallBodyConstruct964(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_BODY_CONSTRUCT_965_INDEX:
-                {
-                    return handleForallBodyConstruct965(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_BODY_CONSTRUCT_966_INDEX:
-                {
-                    return handleForallBodyConstruct966(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_BODY_CONSTRUCT_967_INDEX:
-                {
-                    return handleForallBodyConstruct967(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_BODY_CONSTRUCT_968_INDEX:
-                {
-                    return handleForallBodyConstruct968(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_FORALL_STMT_969_INDEX:
-                {
-                    return handleEndForallStmt969(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_FORALL_STMT_970_INDEX:
-                {
-                    return handleEndForallStmt970(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_FORALL_STMT_971_INDEX:
-                {
-                    return handleEndForallStmt971(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_FORALL_STMT_972_INDEX:
-                {
-                    return handleEndForallStmt972(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_STMT_973_INDEX:
-                {
-                    return handleForallStmt973(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_STMT_974_INDEX:
-                {
-                    return handleForallStmt974(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IF_CONSTRUCT_975_INDEX:
-                {
-                    return handleIfConstruct975(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.THEN_PART_976_INDEX:
-                {
-                    return handleThenPart976(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.THEN_PART_977_INDEX:
-                {
-                    return handleThenPart977(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.THEN_PART_978_INDEX:
-                {
-                    return handleThenPart978(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.THEN_PART_979_INDEX:
-                {
-                    return handleThenPart979(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.THEN_PART_980_INDEX:
-                {
-                    return handleThenPart980(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.THEN_PART_981_INDEX:
-                {
-                    return handleThenPart981(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_IF_CONSTRUCT_982_INDEX:
-                {
-                    return handleElseIfConstruct982(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_CONSTRUCT_983_INDEX:
-                {
-                    return handleElseConstruct983(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_PART_984_INDEX:
-                {
-                    return handleElsePart984(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_PART_985_INDEX:
-                {
-                    return handleElsePart985(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONDITIONAL_BODY_986_INDEX:
-                {
-                    return handleConditionalBody986(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONDITIONAL_BODY_987_INDEX:
-                {
-                    return handleConditionalBody987(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IF_THEN_STMT_988_INDEX:
-                {
-                    return handleIfThenStmt988(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IF_THEN_STMT_989_INDEX:
-                {
-                    return handleIfThenStmt989(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IF_THEN_STMT_990_INDEX:
-                {
-                    return handleIfThenStmt990(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IF_THEN_STMT_991_INDEX:
-                {
-                    return handleIfThenStmt991(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_IF_STMT_992_INDEX:
-                {
-                    return handleElseIfStmt992(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_IF_STMT_993_INDEX:
-                {
-                    return handleElseIfStmt993(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_IF_STMT_994_INDEX:
-                {
-                    return handleElseIfStmt994(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_IF_STMT_995_INDEX:
-                {
-                    return handleElseIfStmt995(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_STMT_996_INDEX:
-                {
-                    return handleElseStmt996(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_STMT_997_INDEX:
-                {
-                    return handleElseStmt997(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_IF_STMT_998_INDEX:
-                {
-                    return handleEndIfStmt998(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_IF_STMT_999_INDEX:
-                {
-                    return handleEndIfStmt999(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_IF_STMT_1000_INDEX:
-                {
-                    return handleEndIfStmt1000(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_IF_STMT_1001_INDEX:
-                {
-                    return handleEndIfStmt1001(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IF_STMT_1002_INDEX:
-                {
-                    return handleIfStmt1002(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_CONSTRUCT_1003_INDEX:
-                {
-                    return handleBlockConstruct1003(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_CONSTRUCT_1004_INDEX:
-                {
-                    return handleBlockConstruct1004(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_STMT_1005_INDEX:
-                {
-                    return handleBlockStmt1005(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_STMT_1006_INDEX:
-                {
-                    return handleBlockStmt1006(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_STMT_1007_INDEX:
-                {
-                    return handleEndBlockStmt1007(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_STMT_1008_INDEX:
-                {
-                    return handleEndBlockStmt1008(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_STMT_1009_INDEX:
-                {
-                    return handleEndBlockStmt1009(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_STMT_1010_INDEX:
-                {
-                    return handleEndBlockStmt1010(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CRITICAL_CONSTRUCT_1011_INDEX:
-                {
-                    return handleCriticalConstruct1011(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CRITICAL_CONSTRUCT_1012_INDEX:
-                {
-                    return handleCriticalConstruct1012(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CRITICAL_STMT_1013_INDEX:
-                {
-                    return handleCriticalStmt1013(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CRITICAL_STMT_1014_INDEX:
-                {
-                    return handleCriticalStmt1014(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_CRITICAL_STMT_1015_INDEX:
-                {
-                    return handleEndCriticalStmt1015(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_CRITICAL_STMT_1016_INDEX:
-                {
-                    return handleEndCriticalStmt1016(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_CRITICAL_STMT_1017_INDEX:
-                {
-                    return handleEndCriticalStmt1017(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_CRITICAL_STMT_1018_INDEX:
-                {
-                    return handleEndCriticalStmt1018(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_CONSTRUCT_1019_INDEX:
-                {
-                    return handleCaseConstruct1019(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_RANGE_1020_INDEX:
-                {
-                    return handleSelectCaseRange1020(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_RANGE_1021_INDEX:
-                {
-                    return handleSelectCaseRange1021(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_BODY_1022_INDEX:
-                {
-                    return handleSelectCaseBody1022(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_BODY_1023_INDEX:
-                {
-                    return handleSelectCaseBody1023(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_BODY_CONSTRUCT_1024_INDEX:
-                {
-                    return handleCaseBodyConstruct1024(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_BODY_CONSTRUCT_1025_INDEX:
-                {
-                    return handleCaseBodyConstruct1025(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_STMT_1026_INDEX:
-                {
-                    return handleSelectCaseStmt1026(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_STMT_1027_INDEX:
-                {
-                    return handleSelectCaseStmt1027(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_STMT_1028_INDEX:
-                {
-                    return handleSelectCaseStmt1028(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_STMT_1029_INDEX:
-                {
-                    return handleSelectCaseStmt1029(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_STMT_1030_INDEX:
-                {
-                    return handleCaseStmt1030(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_STMT_1031_INDEX:
-                {
-                    return handleCaseStmt1031(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SELECT_STMT_1032_INDEX:
-                {
-                    return handleEndSelectStmt1032(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SELECT_STMT_1033_INDEX:
-                {
-                    return handleEndSelectStmt1033(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SELECT_STMT_1034_INDEX:
-                {
-                    return handleEndSelectStmt1034(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SELECT_STMT_1035_INDEX:
-                {
-                    return handleEndSelectStmt1035(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_SELECTOR_1036_INDEX:
-                {
-                    return handleCaseSelector1036(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_SELECTOR_1037_INDEX:
-                {
-                    return handleCaseSelector1037(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_VALUE_RANGE_LIST_1038_INDEX:
-                {
-                    return handleCaseValueRangeList1038(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_VALUE_RANGE_LIST_1039_INDEX:
-                {
-                    return handleCaseValueRangeList1039(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_VALUE_RANGE_1040_INDEX:
-                {
-                    return handleCaseValueRange1040(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_VALUE_RANGE_1041_INDEX:
-                {
-                    return handleCaseValueRange1041(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_VALUE_RANGE_1042_INDEX:
-                {
-                    return handleCaseValueRange1042(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_VALUE_RANGE_1043_INDEX:
-                {
-                    return handleCaseValueRange1043(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSOCIATE_CONSTRUCT_1044_INDEX:
-                {
-                    return handleAssociateConstruct1044(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSOCIATE_CONSTRUCT_1045_INDEX:
-                {
-                    return handleAssociateConstruct1045(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSOCIATE_STMT_1046_INDEX:
-                {
-                    return handleAssociateStmt1046(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSOCIATE_STMT_1047_INDEX:
-                {
-                    return handleAssociateStmt1047(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSOCIATION_LIST_1048_INDEX:
-                {
-                    return handleAssociationList1048(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSOCIATION_LIST_1049_INDEX:
-                {
-                    return handleAssociationList1049(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSOCIATION_1050_INDEX:
-                {
-                    return handleAssociation1050(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECTOR_1051_INDEX:
-                {
-                    return handleSelector1051(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSOCIATE_BODY_1052_INDEX:
-                {
-                    return handleAssociateBody1052(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSOCIATE_BODY_1053_INDEX:
-                {
-                    return handleAssociateBody1053(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_ASSOCIATE_STMT_1054_INDEX:
-                {
-                    return handleEndAssociateStmt1054(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_ASSOCIATE_STMT_1055_INDEX:
-                {
-                    return handleEndAssociateStmt1055(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_TYPE_CONSTRUCT_1056_INDEX:
-                {
-                    return handleSelectTypeConstruct1056(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_TYPE_CONSTRUCT_1057_INDEX:
-                {
-                    return handleSelectTypeConstruct1057(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_TYPE_BODY_1058_INDEX:
-                {
-                    return handleSelectTypeBody1058(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_TYPE_BODY_1059_INDEX:
-                {
-                    return handleSelectTypeBody1059(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_GUARD_BLOCK_1060_INDEX:
-                {
-                    return handleTypeGuardBlock1060(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_GUARD_BLOCK_1061_INDEX:
-                {
-                    return handleTypeGuardBlock1061(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_TYPE_STMT_1062_INDEX:
-                {
-                    return handleSelectTypeStmt1062(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_TYPE_STMT_1063_INDEX:
-                {
-                    return handleSelectTypeStmt1063(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_TYPE_STMT_1064_INDEX:
-                {
-                    return handleSelectTypeStmt1064(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_TYPE_STMT_1065_INDEX:
-                {
-                    return handleSelectTypeStmt1065(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_GUARD_STMT_1066_INDEX:
-                {
-                    return handleTypeGuardStmt1066(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_GUARD_STMT_1067_INDEX:
-                {
-                    return handleTypeGuardStmt1067(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_GUARD_STMT_1068_INDEX:
-                {
-                    return handleTypeGuardStmt1068(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_GUARD_STMT_1069_INDEX:
-                {
-                    return handleTypeGuardStmt1069(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_GUARD_STMT_1070_INDEX:
-                {
-                    return handleTypeGuardStmt1070(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_GUARD_STMT_1071_INDEX:
-                {
-                    return handleTypeGuardStmt1071(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SELECT_TYPE_STMT_1072_INDEX:
-                {
-                    return handleEndSelectTypeStmt1072(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SELECT_TYPE_STMT_1073_INDEX:
-                {
-                    return handleEndSelectTypeStmt1073(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SELECT_TYPE_STMT_1074_INDEX:
-                {
-                    return handleEndSelectTypeStmt1074(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SELECT_TYPE_STMT_1075_INDEX:
-                {
-                    return handleEndSelectTypeStmt1075(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DO_CONSTRUCT_1076_INDEX:
-                {
-                    return handleDoConstruct1076(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_DO_CONSTRUCT_1077_INDEX:
-                {
-                    return handleBlockDoConstruct1077(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LABEL_DO_STMT_1078_INDEX:
-                {
-                    return handleLabelDoStmt1078(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LABEL_DO_STMT_1079_INDEX:
-                {
-                    return handleLabelDoStmt1079(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LABEL_DO_STMT_1080_INDEX:
-                {
-                    return handleLabelDoStmt1080(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LABEL_DO_STMT_1081_INDEX:
-                {
-                    return handleLabelDoStmt1081(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LABEL_DO_STMT_1082_INDEX:
-                {
-                    return handleLabelDoStmt1082(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LABEL_DO_STMT_1083_INDEX:
-                {
-                    return handleLabelDoStmt1083(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LABEL_DO_STMT_1084_INDEX:
-                {
-                    return handleLabelDoStmt1084(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LABEL_DO_STMT_1085_INDEX:
-                {
-                    return handleLabelDoStmt1085(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMA_LOOP_CONTROL_1086_INDEX:
-                {
-                    return handleCommaLoopControl1086(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMA_LOOP_CONTROL_1087_INDEX:
-                {
-                    return handleCommaLoopControl1087(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LOOP_CONTROL_1088_INDEX:
-                {
-                    return handleLoopControl1088(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LOOP_CONTROL_1089_INDEX:
-                {
-                    return handleLoopControl1089(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LOOP_CONTROL_1090_INDEX:
-                {
-                    return handleLoopControl1090(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_DO_STMT_1091_INDEX:
-                {
-                    return handleEndDoStmt1091(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_DO_STMT_1092_INDEX:
-                {
-                    return handleEndDoStmt1092(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_DO_STMT_1093_INDEX:
-                {
-                    return handleEndDoStmt1093(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_DO_STMT_1094_INDEX:
-                {
-                    return handleEndDoStmt1094(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CYCLE_STMT_1095_INDEX:
-                {
-                    return handleCycleStmt1095(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CYCLE_STMT_1096_INDEX:
-                {
-                    return handleCycleStmt1096(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXIT_STMT_1097_INDEX:
-                {
-                    return handleExitStmt1097(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXIT_STMT_1098_INDEX:
-                {
-                    return handleExitStmt1098(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GOTO_STMT_1099_INDEX:
-                {
-                    return handleGotoStmt1099(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GO_TO_KW_1100_INDEX:
-                {
-                    return handleGoToKw1100(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GO_TO_KW_1101_INDEX:
-                {
-                    return handleGoToKw1101(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPUTED_GOTO_STMT_1102_INDEX:
-                {
-                    return handleComputedGotoStmt1102(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPUTED_GOTO_STMT_1103_INDEX:
-                {
-                    return handleComputedGotoStmt1103(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMA_EXP_1104_INDEX:
-                {
-                    return handleCommaExp1104(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LBL_REF_LIST_1105_INDEX:
-                {
-                    return handleLblRefList1105(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LBL_REF_LIST_1106_INDEX:
-                {
-                    return handleLblRefList1106(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LBL_REF_1107_INDEX:
-                {
-                    return handleLblRef1107(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARITHMETIC_IF_STMT_1108_INDEX:
-                {
-                    return handleArithmeticIfStmt1108(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONTINUE_STMT_1109_INDEX:
-                {
-                    return handleContinueStmt1109(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.STOP_STMT_1110_INDEX:
-                {
-                    return handleStopStmt1110(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.STOP_STMT_1111_INDEX:
-                {
-                    return handleStopStmt1111(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.STOP_STMT_1112_INDEX:
-                {
-                    return handleStopStmt1112(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.STOP_STMT_1113_INDEX:
-                {
-                    return handleStopStmt1113(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALL_STOP_STMT_1114_INDEX:
-                {
-                    return handleAllStopStmt1114(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALL_STOP_STMT_1115_INDEX:
-                {
-                    return handleAllStopStmt1115(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALL_STOP_STMT_1116_INDEX:
-                {
-                    return handleAllStopStmt1116(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALL_STOP_STMT_1117_INDEX:
-                {
-                    return handleAllStopStmt1117(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALL_STOP_STMT_1118_INDEX:
-                {
-                    return handleAllStopStmt1118(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALL_STOP_STMT_1119_INDEX:
-                {
-                    return handleAllStopStmt1119(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALL_STOP_STMT_1120_INDEX:
-                {
-                    return handleAllStopStmt1120(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALL_STOP_STMT_1121_INDEX:
-                {
-                    return handleAllStopStmt1121(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_ALL_STMT_1122_INDEX:
-                {
-                    return handleSyncAllStmt1122(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_ALL_STMT_1123_INDEX:
-                {
-                    return handleSyncAllStmt1123(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_ALL_STMT_1124_INDEX:
-                {
-                    return handleSyncAllStmt1124(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_ALL_STMT_1125_INDEX:
-                {
-                    return handleSyncAllStmt1125(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_STAT_LIST_1126_INDEX:
-                {
-                    return handleSyncStatList1126(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_STAT_LIST_1127_INDEX:
-                {
-                    return handleSyncStatList1127(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_STAT_1128_INDEX:
-                {
-                    return handleSyncStat1128(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_IMAGES_STMT_1129_INDEX:
-                {
-                    return handleSyncImagesStmt1129(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_IMAGES_STMT_1130_INDEX:
-                {
-                    return handleSyncImagesStmt1130(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_IMAGES_STMT_1131_INDEX:
-                {
-                    return handleSyncImagesStmt1131(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_IMAGES_STMT_1132_INDEX:
-                {
-                    return handleSyncImagesStmt1132(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMAGE_SET_1133_INDEX:
-                {
-                    return handleImageSet1133(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMAGE_SET_1134_INDEX:
-                {
-                    return handleImageSet1134(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_MEMORY_STMT_1135_INDEX:
-                {
-                    return handleSyncMemoryStmt1135(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_MEMORY_STMT_1136_INDEX:
-                {
-                    return handleSyncMemoryStmt1136(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_MEMORY_STMT_1137_INDEX:
-                {
-                    return handleSyncMemoryStmt1137(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SYNC_MEMORY_STMT_1138_INDEX:
-                {
-                    return handleSyncMemoryStmt1138(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LOCK_STMT_1139_INDEX:
-                {
-                    return handleLockStmt1139(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LOCK_STMT_1140_INDEX:
-                {
-                    return handleLockStmt1140(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNLOCK_STMT_1141_INDEX:
-                {
-                    return handleUnlockStmt1141(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNLOCK_STMT_1142_INDEX:
-                {
-                    return handleUnlockStmt1142(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNIT_IDENTIFIER_1143_INDEX:
-                {
-                    return handleUnitIdentifier1143(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.UNIT_IDENTIFIER_1144_INDEX:
-                {
-                    return handleUnitIdentifier1144(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OPEN_STMT_1145_INDEX:
-                {
-                    return handleOpenStmt1145(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_LIST_1146_INDEX:
-                {
-                    return handleConnectSpecList1146(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_LIST_1147_INDEX:
-                {
-                    return handleConnectSpecList1147(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1148_INDEX:
-                {
-                    return handleConnectSpec1148(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1149_INDEX:
-                {
-                    return handleConnectSpec1149(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1150_INDEX:
-                {
-                    return handleConnectSpec1150(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1151_INDEX:
-                {
-                    return handleConnectSpec1151(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1152_INDEX:
-                {
-                    return handleConnectSpec1152(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1153_INDEX:
-                {
-                    return handleConnectSpec1153(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1154_INDEX:
-                {
-                    return handleConnectSpec1154(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1155_INDEX:
-                {
-                    return handleConnectSpec1155(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1156_INDEX:
-                {
-                    return handleConnectSpec1156(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1157_INDEX:
-                {
-                    return handleConnectSpec1157(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1158_INDEX:
-                {
-                    return handleConnectSpec1158(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1159_INDEX:
-                {
-                    return handleConnectSpec1159(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1160_INDEX:
-                {
-                    return handleConnectSpec1160(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1161_INDEX:
-                {
-                    return handleConnectSpec1161(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1162_INDEX:
-                {
-                    return handleConnectSpec1162(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1163_INDEX:
-                {
-                    return handleConnectSpec1163(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1164_INDEX:
-                {
-                    return handleConnectSpec1164(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1165_INDEX:
-                {
-                    return handleConnectSpec1165(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1166_INDEX:
-                {
-                    return handleConnectSpec1166(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1167_INDEX:
-                {
-                    return handleConnectSpec1167(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONNECT_SPEC_1168_INDEX:
-                {
-                    return handleConnectSpec1168(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CLOSE_STMT_1169_INDEX:
-                {
-                    return handleCloseStmt1169(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CLOSE_SPEC_LIST_1170_INDEX:
-                {
-                    return handleCloseSpecList1170(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CLOSE_SPEC_LIST_1171_INDEX:
-                {
-                    return handleCloseSpecList1171(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CLOSE_SPEC_LIST_1172_INDEX:
-                {
-                    return handleCloseSpecList1172(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CLOSE_SPEC_1173_INDEX:
-                {
-                    return handleCloseSpec1173(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CLOSE_SPEC_1174_INDEX:
-                {
-                    return handleCloseSpec1174(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CLOSE_SPEC_1175_INDEX:
-                {
-                    return handleCloseSpec1175(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CLOSE_SPEC_1176_INDEX:
-                {
-                    return handleCloseSpec1176(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CLOSE_SPEC_1177_INDEX:
-                {
-                    return handleCloseSpec1177(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.READ_STMT_1178_INDEX:
-                {
-                    return handleReadStmt1178(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.READ_STMT_1179_INDEX:
-                {
-                    return handleReadStmt1179(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.READ_STMT_1180_INDEX:
-                {
-                    return handleReadStmt1180(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.READ_STMT_1181_INDEX:
-                {
-                    return handleReadStmt1181(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.READ_STMT_1182_INDEX:
-                {
-                    return handleReadStmt1182(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_CTL_SPEC_1183_INDEX:
-                {
-                    return handleRdCtlSpec1183(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_CTL_SPEC_1184_INDEX:
-                {
-                    return handleRdCtlSpec1184(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_UNIT_ID_1185_INDEX:
-                {
-                    return handleRdUnitId1185(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_UNIT_ID_1186_INDEX:
-                {
-                    return handleRdUnitId1186(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_IO_CTL_SPEC_LIST_1187_INDEX:
-                {
-                    return handleRdIoCtlSpecList1187(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_IO_CTL_SPEC_LIST_1188_INDEX:
-                {
-                    return handleRdIoCtlSpecList1188(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_IO_CTL_SPEC_LIST_1189_INDEX:
-                {
-                    return handleRdIoCtlSpecList1189(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_IO_CTL_SPEC_LIST_1190_INDEX:
-                {
-                    return handleRdIoCtlSpecList1190(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_FMT_ID_1191_INDEX:
-                {
-                    return handleRdFmtId1191(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_FMT_ID_1192_INDEX:
-                {
-                    return handleRdFmtId1192(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_FMT_ID_1193_INDEX:
-                {
-                    return handleRdFmtId1193(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_FMT_ID_1194_INDEX:
-                {
-                    return handleRdFmtId1194(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_FMT_ID_1195_INDEX:
-                {
-                    return handleRdFmtId1195(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RD_FMT_ID_EXPR_1196_INDEX:
-                {
-                    return handleRdFmtIdExpr1196(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WRITE_STMT_1197_INDEX:
-                {
-                    return handleWriteStmt1197(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WRITE_STMT_1198_INDEX:
-                {
-                    return handleWriteStmt1198(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WRITE_STMT_1199_INDEX:
-                {
-                    return handleWriteStmt1199(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRINT_STMT_1200_INDEX:
-                {
-                    return handlePrintStmt1200(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PRINT_STMT_1201_INDEX:
-                {
-                    return handlePrintStmt1201(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_LIST_1202_INDEX:
-                {
-                    return handleIoControlSpecList1202(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_LIST_1203_INDEX:
-                {
-                    return handleIoControlSpecList1203(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_LIST_1204_INDEX:
-                {
-                    return handleIoControlSpecList1204(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_LIST_1205_INDEX:
-                {
-                    return handleIoControlSpecList1205(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_LIST_1206_INDEX:
-                {
-                    return handleIoControlSpecList1206(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1207_INDEX:
-                {
-                    return handleIoControlSpec1207(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1208_INDEX:
-                {
-                    return handleIoControlSpec1208(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1209_INDEX:
-                {
-                    return handleIoControlSpec1209(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1210_INDEX:
-                {
-                    return handleIoControlSpec1210(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1211_INDEX:
-                {
-                    return handleIoControlSpec1211(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1212_INDEX:
-                {
-                    return handleIoControlSpec1212(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1213_INDEX:
-                {
-                    return handleIoControlSpec1213(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1214_INDEX:
-                {
-                    return handleIoControlSpec1214(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1215_INDEX:
-                {
-                    return handleIoControlSpec1215(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1216_INDEX:
-                {
-                    return handleIoControlSpec1216(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1217_INDEX:
-                {
-                    return handleIoControlSpec1217(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1218_INDEX:
-                {
-                    return handleIoControlSpec1218(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1219_INDEX:
-                {
-                    return handleIoControlSpec1219(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1220_INDEX:
-                {
-                    return handleIoControlSpec1220(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1221_INDEX:
-                {
-                    return handleIoControlSpec1221(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1222_INDEX:
-                {
-                    return handleIoControlSpec1222(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IO_CONTROL_SPEC_1223_INDEX:
-                {
-                    return handleIoControlSpec1223(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_IDENTIFIER_1224_INDEX:
-                {
-                    return handleFormatIdentifier1224(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_IDENTIFIER_1225_INDEX:
-                {
-                    return handleFormatIdentifier1225(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_IDENTIFIER_1226_INDEX:
-                {
-                    return handleFormatIdentifier1226(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INPUT_ITEM_LIST_1227_INDEX:
-                {
-                    return handleInputItemList1227(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INPUT_ITEM_LIST_1228_INDEX:
-                {
-                    return handleInputItemList1228(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INPUT_ITEM_1229_INDEX:
-                {
-                    return handleInputItem1229(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INPUT_ITEM_1230_INDEX:
-                {
-                    return handleInputItem1230(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OUTPUT_ITEM_LIST_1231_INDEX:
-                {
-                    return handleOutputItemList1231(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OUTPUT_ITEM_LIST_1232_INDEX:
-                {
-                    return handleOutputItemList1232(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OUTPUT_ITEM_LIST_1_1233_INDEX:
-                {
-                    return handleOutputItemList11233(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OUTPUT_ITEM_LIST_1_1234_INDEX:
-                {
-                    return handleOutputItemList11234(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OUTPUT_ITEM_LIST_1_1235_INDEX:
-                {
-                    return handleOutputItemList11235(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OUTPUT_ITEM_LIST_1_1236_INDEX:
-                {
-                    return handleOutputItemList11236(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OUTPUT_ITEM_LIST_1_1237_INDEX:
-                {
-                    return handleOutputItemList11237(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INPUT_IMPLIED_DO_1238_INDEX:
-                {
-                    return handleInputImpliedDo1238(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INPUT_IMPLIED_DO_1239_INDEX:
-                {
-                    return handleInputImpliedDo1239(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OUTPUT_IMPLIED_DO_1240_INDEX:
-                {
-                    return handleOutputImpliedDo1240(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OUTPUT_IMPLIED_DO_1241_INDEX:
-                {
-                    return handleOutputImpliedDo1241(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OUTPUT_IMPLIED_DO_1242_INDEX:
-                {
-                    return handleOutputImpliedDo1242(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OUTPUT_IMPLIED_DO_1243_INDEX:
-                {
-                    return handleOutputImpliedDo1243(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WAIT_STMT_1244_INDEX:
-                {
-                    return handleWaitStmt1244(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WAIT_SPEC_LIST_1245_INDEX:
-                {
-                    return handleWaitSpecList1245(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WAIT_SPEC_LIST_1246_INDEX:
-                {
-                    return handleWaitSpecList1246(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WAIT_SPEC_1247_INDEX:
-                {
-                    return handleWaitSpec1247(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.WAIT_SPEC_1248_INDEX:
-                {
-                    return handleWaitSpec1248(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BACKSPACE_STMT_1249_INDEX:
-                {
-                    return handleBackspaceStmt1249(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BACKSPACE_STMT_1250_INDEX:
-                {
-                    return handleBackspaceStmt1250(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENDFILE_STMT_1251_INDEX:
-                {
-                    return handleEndfileStmt1251(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENDFILE_STMT_1252_INDEX:
-                {
-                    return handleEndfileStmt1252(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENDFILE_STMT_1253_INDEX:
-                {
-                    return handleEndfileStmt1253(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENDFILE_STMT_1254_INDEX:
-                {
-                    return handleEndfileStmt1254(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REWIND_STMT_1255_INDEX:
-                {
-                    return handleRewindStmt1255(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.REWIND_STMT_1256_INDEX:
-                {
-                    return handleRewindStmt1256(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POSITION_SPEC_LIST_1257_INDEX:
-                {
-                    return handlePositionSpecList1257(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POSITION_SPEC_LIST_1258_INDEX:
-                {
-                    return handlePositionSpecList1258(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POSITION_SPEC_LIST_1259_INDEX:
-                {
-                    return handlePositionSpecList1259(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POSITION_SPEC_1260_INDEX:
-                {
-                    return handlePositionSpec1260(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POSITION_SPEC_1261_INDEX:
-                {
-                    return handlePositionSpec1261(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.POSITION_SPEC_1262_INDEX:
-                {
-                    return handlePositionSpec1262(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_STMT_1263_INDEX:
-                {
-                    return handleInquireStmt1263(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_STMT_1264_INDEX:
-                {
-                    return handleInquireStmt1264(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_LIST_1265_INDEX:
-                {
-                    return handleInquireSpecList1265(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_LIST_1266_INDEX:
-                {
-                    return handleInquireSpecList1266(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_LIST_1267_INDEX:
-                {
-                    return handleInquireSpecList1267(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1268_INDEX:
-                {
-                    return handleInquireSpec1268(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1269_INDEX:
-                {
-                    return handleInquireSpec1269(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1270_INDEX:
-                {
-                    return handleInquireSpec1270(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1271_INDEX:
-                {
-                    return handleInquireSpec1271(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1272_INDEX:
-                {
-                    return handleInquireSpec1272(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1273_INDEX:
-                {
-                    return handleInquireSpec1273(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1274_INDEX:
-                {
-                    return handleInquireSpec1274(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1275_INDEX:
-                {
-                    return handleInquireSpec1275(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1276_INDEX:
-                {
-                    return handleInquireSpec1276(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1277_INDEX:
-                {
-                    return handleInquireSpec1277(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1278_INDEX:
-                {
-                    return handleInquireSpec1278(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1279_INDEX:
-                {
-                    return handleInquireSpec1279(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1280_INDEX:
-                {
-                    return handleInquireSpec1280(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1281_INDEX:
-                {
-                    return handleInquireSpec1281(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1282_INDEX:
-                {
-                    return handleInquireSpec1282(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1283_INDEX:
-                {
-                    return handleInquireSpec1283(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1284_INDEX:
-                {
-                    return handleInquireSpec1284(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1285_INDEX:
-                {
-                    return handleInquireSpec1285(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1286_INDEX:
-                {
-                    return handleInquireSpec1286(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1287_INDEX:
-                {
-                    return handleInquireSpec1287(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1288_INDEX:
-                {
-                    return handleInquireSpec1288(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1289_INDEX:
-                {
-                    return handleInquireSpec1289(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1290_INDEX:
-                {
-                    return handleInquireSpec1290(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1291_INDEX:
-                {
-                    return handleInquireSpec1291(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1292_INDEX:
-                {
-                    return handleInquireSpec1292(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1293_INDEX:
-                {
-                    return handleInquireSpec1293(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1294_INDEX:
-                {
-                    return handleInquireSpec1294(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1295_INDEX:
-                {
-                    return handleInquireSpec1295(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1296_INDEX:
-                {
-                    return handleInquireSpec1296(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1297_INDEX:
-                {
-                    return handleInquireSpec1297(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1298_INDEX:
-                {
-                    return handleInquireSpec1298(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1299_INDEX:
-                {
-                    return handleInquireSpec1299(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1300_INDEX:
-                {
-                    return handleInquireSpec1300(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1301_INDEX:
-                {
-                    return handleInquireSpec1301(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1302_INDEX:
-                {
-                    return handleInquireSpec1302(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INQUIRE_SPEC_1303_INDEX:
-                {
-                    return handleInquireSpec1303(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_STMT_1304_INDEX:
-                {
-                    return handleFormatStmt1304(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_STMT_1305_INDEX:
-                {
-                    return handleFormatStmt1305(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FMT_SPEC_1306_INDEX:
-                {
-                    return handleFmtSpec1306(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FMT_SPEC_1307_INDEX:
-                {
-                    return handleFmtSpec1307(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FMT_SPEC_1308_INDEX:
-                {
-                    return handleFmtSpec1308(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FMT_SPEC_1309_INDEX:
-                {
-                    return handleFmtSpec1309(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FMT_SPEC_1310_INDEX:
-                {
-                    return handleFmtSpec1310(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FMT_SPEC_1311_INDEX:
-                {
-                    return handleFmtSpec1311(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FMT_SPEC_1312_INDEX:
-                {
-                    return handleFmtSpec1312(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FMT_SPEC_1313_INDEX:
-                {
-                    return handleFmtSpec1313(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_EDIT_1314_INDEX:
-                {
-                    return handleFormatEdit1314(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_EDIT_1315_INDEX:
-                {
-                    return handleFormatEdit1315(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_EDIT_1316_INDEX:
-                {
-                    return handleFormatEdit1316(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_EDIT_1317_INDEX:
-                {
-                    return handleFormatEdit1317(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_EDIT_1318_INDEX:
-                {
-                    return handleFormatEdit1318(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_EDIT_1319_INDEX:
-                {
-                    return handleFormatEdit1319(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EDIT_ELEMENT_1320_INDEX:
-                {
-                    return handleEditElement1320(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EDIT_ELEMENT_1321_INDEX:
-                {
-                    return handleEditElement1321(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EDIT_ELEMENT_1322_INDEX:
-                {
-                    return handleEditElement1322(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EDIT_ELEMENT_1323_INDEX:
-                {
-                    return handleEditElement1323(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EDIT_ELEMENT_1324_INDEX:
-                {
-                    return handleEditElement1324(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMATSEP_1325_INDEX:
-                {
-                    return handleFormatsep1325(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMATSEP_1326_INDEX:
-                {
-                    return handleFormatsep1326(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROGRAM_STMT_1327_INDEX:
-                {
-                    return handleProgramStmt1327(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_PROGRAM_STMT_1328_INDEX:
-                {
-                    return handleEndProgramStmt1328(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_PROGRAM_STMT_1329_INDEX:
-                {
-                    return handleEndProgramStmt1329(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_PROGRAM_STMT_1330_INDEX:
-                {
-                    return handleEndProgramStmt1330(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_PROGRAM_STMT_1331_INDEX:
-                {
-                    return handleEndProgramStmt1331(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_PROGRAM_STMT_1332_INDEX:
-                {
-                    return handleEndProgramStmt1332(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_STMT_1333_INDEX:
-                {
-                    return handleModuleStmt1333(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_MODULE_STMT_1334_INDEX:
-                {
-                    return handleEndModuleStmt1334(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_MODULE_STMT_1335_INDEX:
-                {
-                    return handleEndModuleStmt1335(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_MODULE_STMT_1336_INDEX:
-                {
-                    return handleEndModuleStmt1336(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_MODULE_STMT_1337_INDEX:
-                {
-                    return handleEndModuleStmt1337(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_MODULE_STMT_1338_INDEX:
-                {
-                    return handleEndModuleStmt1338(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1339_INDEX:
-                {
-                    return handleUseStmt1339(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1340_INDEX:
-                {
-                    return handleUseStmt1340(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1341_INDEX:
-                {
-                    return handleUseStmt1341(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1342_INDEX:
-                {
-                    return handleUseStmt1342(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1343_INDEX:
-                {
-                    return handleUseStmt1343(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1344_INDEX:
-                {
-                    return handleUseStmt1344(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1345_INDEX:
-                {
-                    return handleUseStmt1345(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1346_INDEX:
-                {
-                    return handleUseStmt1346(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1347_INDEX:
-                {
-                    return handleUseStmt1347(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1348_INDEX:
-                {
-                    return handleUseStmt1348(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1349_INDEX:
-                {
-                    return handleUseStmt1349(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_STMT_1350_INDEX:
-                {
-                    return handleUseStmt1350(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_NATURE_1351_INDEX:
-                {
-                    return handleModuleNature1351(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_NATURE_1352_INDEX:
-                {
-                    return handleModuleNature1352(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RENAME_LIST_1353_INDEX:
-                {
-                    return handleRenameList1353(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RENAME_LIST_1354_INDEX:
-                {
-                    return handleRenameList1354(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ONLY_LIST_1355_INDEX:
-                {
-                    return handleOnlyList1355(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ONLY_LIST_1356_INDEX:
-                {
-                    return handleOnlyList1356(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RENAME_1357_INDEX:
-                {
-                    return handleRename1357(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RENAME_1358_INDEX:
-                {
-                    return handleRename1358(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ONLY_1359_INDEX:
-                {
-                    return handleOnly1359(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ONLY_1360_INDEX:
-                {
-                    return handleOnly1360(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ONLY_1361_INDEX:
-                {
-                    return handleOnly1361(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ONLY_1362_INDEX:
-                {
-                    return handleOnly1362(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_DATA_STMT_1363_INDEX:
-                {
-                    return handleBlockDataStmt1363(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_DATA_STMT_1364_INDEX:
-                {
-                    return handleBlockDataStmt1364(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_DATA_STMT_1365_INDEX:
-                {
-                    return handleBlockDataStmt1365(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_DATA_STMT_1366_INDEX:
-                {
-                    return handleBlockDataStmt1366(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_DATA_STMT_1367_INDEX:
-                {
-                    return handleEndBlockDataStmt1367(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_DATA_STMT_1368_INDEX:
-                {
-                    return handleEndBlockDataStmt1368(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_DATA_STMT_1369_INDEX:
-                {
-                    return handleEndBlockDataStmt1369(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_DATA_STMT_1370_INDEX:
-                {
-                    return handleEndBlockDataStmt1370(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_DATA_STMT_1371_INDEX:
-                {
-                    return handleEndBlockDataStmt1371(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_DATA_STMT_1372_INDEX:
-                {
-                    return handleEndBlockDataStmt1372(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_DATA_STMT_1373_INDEX:
-                {
-                    return handleEndBlockDataStmt1373(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_DATA_STMT_1374_INDEX:
-                {
-                    return handleEndBlockDataStmt1374(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_BLOCK_DATA_STMT_1375_INDEX:
-                {
-                    return handleEndBlockDataStmt1375(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_BLOCK_1376_INDEX:
-                {
-                    return handleInterfaceBlock1376(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_RANGE_1377_INDEX:
-                {
-                    return handleInterfaceRange1377(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_BLOCK_BODY_1378_INDEX:
-                {
-                    return handleInterfaceBlockBody1378(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_BLOCK_BODY_1379_INDEX:
-                {
-                    return handleInterfaceBlockBody1379(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_SPECIFICATION_1380_INDEX:
-                {
-                    return handleInterfaceSpecification1380(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_SPECIFICATION_1381_INDEX:
-                {
-                    return handleInterfaceSpecification1381(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_STMT_1382_INDEX:
-                {
-                    return handleInterfaceStmt1382(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_STMT_1383_INDEX:
-                {
-                    return handleInterfaceStmt1383(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_STMT_1384_INDEX:
-                {
-                    return handleInterfaceStmt1384(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_STMT_1385_INDEX:
-                {
-                    return handleInterfaceStmt1385(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_INTERFACE_STMT_1386_INDEX:
-                {
-                    return handleEndInterfaceStmt1386(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_INTERFACE_STMT_1387_INDEX:
-                {
-                    return handleEndInterfaceStmt1387(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_INTERFACE_STMT_1388_INDEX:
-                {
-                    return handleEndInterfaceStmt1388(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_INTERFACE_STMT_1389_INDEX:
-                {
-                    return handleEndInterfaceStmt1389(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_BODY_1390_INDEX:
-                {
-                    return handleInterfaceBody1390(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTERFACE_BODY_1391_INDEX:
-                {
-                    return handleInterfaceBody1391(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_INTERFACE_RANGE_1392_INDEX:
-                {
-                    return handleFunctionInterfaceRange1392(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_INTERFACE_RANGE_1393_INDEX:
-                {
-                    return handleFunctionInterfaceRange1393(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_INTERFACE_RANGE_1394_INDEX:
-                {
-                    return handleSubroutineInterfaceRange1394(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_INTERFACE_RANGE_1395_INDEX:
-                {
-                    return handleSubroutineInterfaceRange1395(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBPROGRAM_INTERFACE_BODY_1396_INDEX:
-                {
-                    return handleSubprogramInterfaceBody1396(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBPROGRAM_INTERFACE_BODY_1397_INDEX:
-                {
-                    return handleSubprogramInterfaceBody1397(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_PROCEDURE_STMT_1398_INDEX:
-                {
-                    return handleModuleProcedureStmt1398(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROCEDURE_NAME_LIST_1399_INDEX:
-                {
-                    return handleProcedureNameList1399(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROCEDURE_NAME_LIST_1400_INDEX:
-                {
-                    return handleProcedureNameList1400(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROCEDURE_NAME_1401_INDEX:
-                {
-                    return handleProcedureName1401(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GENERIC_SPEC_1402_INDEX:
-                {
-                    return handleGenericSpec1402(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GENERIC_SPEC_1403_INDEX:
-                {
-                    return handleGenericSpec1403(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GENERIC_SPEC_1404_INDEX:
-                {
-                    return handleGenericSpec1404(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GENERIC_SPEC_1405_INDEX:
-                {
-                    return handleGenericSpec1405(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMPORT_STMT_1406_INDEX:
-                {
-                    return handleImportStmt1406(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMPORT_STMT_1407_INDEX:
-                {
-                    return handleImportStmt1407(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMPORT_STMT_1408_INDEX:
-                {
-                    return handleImportStmt1408(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMPORT_LIST_1409_INDEX:
-                {
-                    return handleImportList1409(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMPORT_LIST_1410_INDEX:
-                {
-                    return handleImportList1410(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROCEDURE_DECLARATION_STMT_1411_INDEX:
-                {
-                    return handleProcedureDeclarationStmt1411(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROCEDURE_DECLARATION_STMT_1412_INDEX:
-                {
-                    return handleProcedureDeclarationStmt1412(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROCEDURE_DECLARATION_STMT_1413_INDEX:
-                {
-                    return handleProcedureDeclarationStmt1413(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROCEDURE_DECLARATION_STMT_1414_INDEX:
-                {
-                    return handleProcedureDeclarationStmt1414(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROCEDURE_DECLARATION_STMT_1415_INDEX:
-                {
-                    return handleProcedureDeclarationStmt1415(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROCEDURE_DECLARATION_STMT_1416_INDEX:
-                {
-                    return handleProcedureDeclarationStmt1416(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_ATTR_SPEC_LIST_1417_INDEX:
-                {
-                    return handleProcAttrSpecList1417(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_ATTR_SPEC_LIST_1418_INDEX:
-                {
-                    return handleProcAttrSpecList1418(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_ATTR_SPEC_1419_INDEX:
-                {
-                    return handleProcAttrSpec1419(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_ATTR_SPEC_1420_INDEX:
-                {
-                    return handleProcAttrSpec1420(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_ATTR_SPEC_1421_INDEX:
-                {
-                    return handleProcAttrSpec1421(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_ATTR_SPEC_1422_INDEX:
-                {
-                    return handleProcAttrSpec1422(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROC_ATTR_SPEC_1423_INDEX:
-                {
-                    return handleProcAttrSpec1423(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXTERNAL_STMT_1424_INDEX:
-                {
-                    return handleExternalStmt1424(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXTERNAL_STMT_1425_INDEX:
-                {
-                    return handleExternalStmt1425(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXTERNAL_NAME_LIST_1426_INDEX:
-                {
-                    return handleExternalNameList1426(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXTERNAL_NAME_LIST_1427_INDEX:
-                {
-                    return handleExternalNameList1427(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTRINSIC_STMT_1428_INDEX:
-                {
-                    return handleIntrinsicStmt1428(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTRINSIC_STMT_1429_INDEX:
-                {
-                    return handleIntrinsicStmt1429(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTRINSIC_LIST_1430_INDEX:
-                {
-                    return handleIntrinsicList1430(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTRINSIC_LIST_1431_INDEX:
-                {
-                    return handleIntrinsicList1431(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_REFERENCE_1432_INDEX:
-                {
-                    return handleFunctionReference1432(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_REFERENCE_1433_INDEX:
-                {
-                    return handleFunctionReference1433(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CALL_STMT_1434_INDEX:
-                {
-                    return handleCallStmt1434(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CALL_STMT_1435_INDEX:
-                {
-                    return handleCallStmt1435(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CALL_STMT_1436_INDEX:
-                {
-                    return handleCallStmt1436(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CALL_STMT_1437_INDEX:
-                {
-                    return handleCallStmt1437(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_QUALIFIERS_1438_INDEX:
-                {
-                    return handleDerivedTypeQualifiers1438(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_QUALIFIERS_1439_INDEX:
-                {
-                    return handleDerivedTypeQualifiers1439(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_QUALIFIERS_1440_INDEX:
-                {
-                    return handleDerivedTypeQualifiers1440(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DERIVED_TYPE_QUALIFIERS_1441_INDEX:
-                {
-                    return handleDerivedTypeQualifiers1441(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PARENTHESIZED_SUBROUTINE_ARG_LIST_1442_INDEX:
-                {
-                    return handleParenthesizedSubroutineArgList1442(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PARENTHESIZED_SUBROUTINE_ARG_LIST_1443_INDEX:
-                {
-                    return handleParenthesizedSubroutineArgList1443(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_ARG_LIST_1444_INDEX:
-                {
-                    return handleSubroutineArgList1444(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_ARG_LIST_1445_INDEX:
-                {
-                    return handleSubroutineArgList1445(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_ARG_LIST_1446_INDEX:
-                {
-                    return handleFunctionArgList1446(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_ARG_LIST_1447_INDEX:
-                {
-                    return handleFunctionArgList1447(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_ARG_LIST_1448_INDEX:
-                {
-                    return handleFunctionArgList1448(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_ARG_1449_INDEX:
-                {
-                    return handleFunctionArg1449(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_ARG_1450_INDEX:
-                {
-                    return handleSubroutineArg1450(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_ARG_1451_INDEX:
-                {
-                    return handleSubroutineArg1451(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_ARG_1452_INDEX:
-                {
-                    return handleSubroutineArg1452(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_ARG_1453_INDEX:
-                {
-                    return handleSubroutineArg1453(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_ARG_1454_INDEX:
-                {
-                    return handleSubroutineArg1454(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_ARG_1455_INDEX:
-                {
-                    return handleSubroutineArg1455(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_STMT_1456_INDEX:
-                {
-                    return handleFunctionStmt1456(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_STMT_1457_INDEX:
-                {
-                    return handleFunctionStmt1457(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_STMT_1458_INDEX:
-                {
-                    return handleFunctionStmt1458(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_STMT_1459_INDEX:
-                {
-                    return handleFunctionStmt1459(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_STMT_1460_INDEX:
-                {
-                    return handleFunctionStmt1460(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_STMT_1461_INDEX:
-                {
-                    return handleFunctionStmt1461(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_STMT_1462_INDEX:
-                {
-                    return handleFunctionStmt1462(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_STMT_1463_INDEX:
-                {
-                    return handleFunctionStmt1463(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_STMT_1464_INDEX:
-                {
-                    return handleFunctionStmt1464(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_STMT_1465_INDEX:
-                {
-                    return handleFunctionStmt1465(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_PARS_1466_INDEX:
-                {
-                    return handleFunctionPars1466(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_PARS_1467_INDEX:
-                {
-                    return handleFunctionPars1467(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_PAR_1468_INDEX:
-                {
-                    return handleFunctionPar1468(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_PREFIX_1469_INDEX:
-                {
-                    return handleFunctionPrefix1469(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_PREFIX_1470_INDEX:
-                {
-                    return handleFunctionPrefix1470(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PREFIX_SPEC_LIST_1471_INDEX:
-                {
-                    return handlePrefixSpecList1471(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PREFIX_SPEC_LIST_1472_INDEX:
-                {
-                    return handlePrefixSpecList1472(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PREFIX_SPEC_1473_INDEX:
-                {
-                    return handlePrefixSpec1473(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PREFIX_SPEC_1474_INDEX:
-                {
-                    return handlePrefixSpec1474(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PREFIX_SPEC_1475_INDEX:
-                {
-                    return handlePrefixSpec1475(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PREFIX_SPEC_1476_INDEX:
-                {
-                    return handlePrefixSpec1476(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PREFIX_SPEC_1477_INDEX:
-                {
-                    return handlePrefixSpec1477(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PREFIX_SPEC_1478_INDEX:
-                {
-                    return handlePrefixSpec1478(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_FUNCTION_STMT_1479_INDEX:
-                {
-                    return handleEndFunctionStmt1479(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_FUNCTION_STMT_1480_INDEX:
-                {
-                    return handleEndFunctionStmt1480(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_FUNCTION_STMT_1481_INDEX:
-                {
-                    return handleEndFunctionStmt1481(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_FUNCTION_STMT_1482_INDEX:
-                {
-                    return handleEndFunctionStmt1482(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_FUNCTION_STMT_1483_INDEX:
-                {
-                    return handleEndFunctionStmt1483(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_STMT_1484_INDEX:
-                {
-                    return handleSubroutineStmt1484(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_STMT_1485_INDEX:
-                {
-                    return handleSubroutineStmt1485(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_STMT_1486_INDEX:
-                {
-                    return handleSubroutineStmt1486(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_STMT_1487_INDEX:
-                {
-                    return handleSubroutineStmt1487(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_STMT_1488_INDEX:
-                {
-                    return handleSubroutineStmt1488(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_PREFIX_1489_INDEX:
-                {
-                    return handleSubroutinePrefix1489(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_PREFIX_1490_INDEX:
-                {
-                    return handleSubroutinePrefix1490(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_PARS_1491_INDEX:
-                {
-                    return handleSubroutinePars1491(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_PARS_1492_INDEX:
-                {
-                    return handleSubroutinePars1492(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_PAR_1493_INDEX:
-                {
-                    return handleSubroutinePar1493(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_PAR_1494_INDEX:
-                {
-                    return handleSubroutinePar1494(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SUBROUTINE_STMT_1495_INDEX:
-                {
-                    return handleEndSubroutineStmt1495(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SUBROUTINE_STMT_1496_INDEX:
-                {
-                    return handleEndSubroutineStmt1496(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SUBROUTINE_STMT_1497_INDEX:
-                {
-                    return handleEndSubroutineStmt1497(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SUBROUTINE_STMT_1498_INDEX:
-                {
-                    return handleEndSubroutineStmt1498(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_SUBROUTINE_STMT_1499_INDEX:
-                {
-                    return handleEndSubroutineStmt1499(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTRY_STMT_1500_INDEX:
-                {
-                    return handleEntryStmt1500(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTRY_STMT_1501_INDEX:
-                {
-                    return handleEntryStmt1501(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RETURN_STMT_1502_INDEX:
-                {
-                    return handleReturnStmt1502(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.RETURN_STMT_1503_INDEX:
-                {
-                    return handleReturnStmt1503(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CONTAINS_STMT_1504_INDEX:
-                {
-                    return handleContainsStmt1504(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.STMT_FUNCTION_STMT_1505_INDEX:
-                {
-                    return handleStmtFunctionStmt1505(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.STMT_FUNCTION_RANGE_1506_INDEX:
-                {
-                    return handleStmtFunctionRange1506(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.STMT_FUNCTION_RANGE_1507_INDEX:
-                {
-                    return handleStmtFunctionRange1507(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFDUMMY_ARG_NAME_LIST_1508_INDEX:
-                {
-                    return handleSFDummyArgNameList1508(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFDUMMY_ARG_NAME_LIST_1509_INDEX:
-                {
-                    return handleSFDummyArgNameList1509(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ARRAY_NAME_1510_INDEX:
-                {
-                    return handleArrayName1510(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BLOCK_DATA_NAME_1511_INDEX:
-                {
-                    return handleBlockDataName1511(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMMON_BLOCK_NAME_1512_INDEX:
-                {
-                    return handleCommonBlockName1512(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.COMPONENT_NAME_1513_INDEX:
-                {
-                    return handleComponentName1513(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DUMMY_ARG_NAME_1514_INDEX:
-                {
-                    return handleDummyArgName1514(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.END_NAME_1515_INDEX:
-                {
-                    return handleEndName1515(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ENTRY_NAME_1516_INDEX:
-                {
-                    return handleEntryName1516(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.EXTERNAL_NAME_1517_INDEX:
-                {
-                    return handleExternalName1517(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_NAME_1518_INDEX:
-                {
-                    return handleFunctionName1518(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.GENERIC_NAME_1519_INDEX:
-                {
-                    return handleGenericName1519(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IMPLIED_DO_VARIABLE_1520_INDEX:
-                {
-                    return handleImpliedDoVariable1520(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.INTRINSIC_PROCEDURE_NAME_1521_INDEX:
-                {
-                    return handleIntrinsicProcedureName1521(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.MODULE_NAME_1522_INDEX:
-                {
-                    return handleModuleName1522(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.NAMELIST_GROUP_NAME_1523_INDEX:
-                {
-                    return handleNamelistGroupName1523(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.OBJECT_NAME_1524_INDEX:
-                {
-                    return handleObjectName1524(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROGRAM_NAME_1525_INDEX:
-                {
-                    return handleProgramName1525(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFDUMMY_ARG_NAME_1526_INDEX:
-                {
-                    return handleSFDummyArgName1526(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SFVAR_NAME_1527_INDEX:
-                {
-                    return handleSFVarName1527(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_NAME_1528_INDEX:
-                {
-                    return handleSubroutineName1528(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_NAME_USE_1529_INDEX:
-                {
-                    return handleSubroutineNameUse1529(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_NAME_1530_INDEX:
-                {
-                    return handleTypeName1530(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.USE_NAME_1531_INDEX:
-                {
-                    return handleUseName1531(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LBL_DEF_1532_INDEX:
-                {
-                    return handleLblDef1532(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.LBL_DEF_1533_INDEX:
-                {
-                    return handleLblDef1533(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PAUSE_STMT_1534_INDEX:
-                {
-                    return handlePauseStmt1534(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PAUSE_STMT_1535_INDEX:
-                {
-                    return handlePauseStmt1535(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PAUSE_STMT_1536_INDEX:
-                {
-                    return handlePauseStmt1536(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGN_STMT_1537_INDEX:
-                {
-                    return handleAssignStmt1537(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNED_GOTO_STMT_1538_INDEX:
-                {
-                    return handleAssignedGotoStmt1538(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNED_GOTO_STMT_1539_INDEX:
-                {
-                    return handleAssignedGotoStmt1539(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNED_GOTO_STMT_1540_INDEX:
-                {
-                    return handleAssignedGotoStmt1540(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.VARIABLE_COMMA_1541_INDEX:
-                {
-                    return handleVariableComma1541(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.PROGRAM_UNIT_ERROR_0_INDEX:
-                {
-                    return handleProgramUnitError0(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.BODY_CONSTRUCT_ERROR_1_INDEX:
-                {
-                    return handleBodyConstructError1(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.TYPE_DECLARATION_STMT_ERROR_2_INDEX:
-                {
-                    return handleTypeDeclarationStmtError2(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.DATA_STMT_ERROR_3_INDEX:
-                {
-                    return handleDataStmtError3(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ALLOCATE_STMT_ERROR_4_INDEX:
-                {
-                    return handleAllocateStmtError4(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ASSIGNMENT_STMT_ERROR_5_INDEX:
-                {
-                    return handleAssignmentStmtError5(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_CONSTRUCT_STMT_ERROR_6_INDEX:
-                {
-                    return handleForallConstructStmtError6(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORALL_CONSTRUCT_STMT_ERROR_7_INDEX:
-                {
-                    return handleForallConstructStmtError7(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IF_THEN_ERROR_ERROR_8_INDEX:
-                {
-                    return handleIfThenErrorError8(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_IF_STMT_ERROR_9_INDEX:
-                {
-                    return handleElseIfStmtError9(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_IF_STMT_ERROR_10_INDEX:
-                {
-                    return handleElseIfStmtError10(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.ELSE_STMT_ERROR_11_INDEX:
-                {
-                    return handleElseStmtError11(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.IF_STMT_ERROR_12_INDEX:
-                {
-                    return handleIfStmtError12(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_STMT_ERROR_13_INDEX:
-                {
-                    return handleSelectCaseStmtError13(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_STMT_ERROR_14_INDEX:
-                {
-                    return handleSelectCaseStmtError14(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_STMT_ERROR_15_INDEX:
-                {
-                    return handleSelectCaseStmtError15(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SELECT_CASE_STMT_ERROR_16_INDEX:
-                {
-                    return handleSelectCaseStmtError16(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.CASE_STMT_ERROR_17_INDEX:
-                {
-                    return handleCaseStmtError17(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FORMAT_STMT_ERROR_18_INDEX:
-                {
-                    return handleFormatStmtError18(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.FUNCTION_STMT_ERROR_19_INDEX:
-                {
-                    return handleFunctionStmtError19(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                case Production.SUBROUTINE_STMT_ERROR_20_INDEX:
-                {
-                    return handleSubroutineStmtError20(productionIndex, valueStack, valueStackOffset, valueStackSize, errorInfo);
-                }
-                default:
-                    throw new IllegalStateException();
-            }
-        }
-
-        public Object handleExecutableProgram1(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTExecutableProgramNode node = new ASTExecutableProgramNode();
-                    node.programUnitList = (IASTListNode<IProgramUnit>)valueStack.get(valueStackOffset + 0);
-                    if (node.programUnitList != null) node.programUnitList.setParent(node);
-                    return node;
-
-        }
-        public Object handleExecutableProgram2(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTExecutableProgramNode node = new ASTExecutableProgramNode();
-                    node.emptyProgram = (ASTEmptyProgramNode)valueStack.get(valueStackOffset + 0);
-                    if (node.emptyProgram != null) node.emptyProgram.setParent(node);
-                    return node;
-
-        }
-        public Object handleEmptyProgram3(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEmptyProgramNode node = new ASTEmptyProgramNode();
-                    return node;
-
-        }
-        public Object handleEmptyProgram4(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEmptyProgramNode node = new ASTEmptyProgramNode();
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProgramUnitList5(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IProgramUnit> list = new ASTListNode<IProgramUnit>();
-                    IProgramUnit elt = (IProgramUnit)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleProgramUnitList6(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IProgramUnit> list = (IASTListNode<IProgramUnit>)valueStack.get(valueStackOffset);
-                    IProgramUnit elt = (IProgramUnit)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleProgramUnit7(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTMainProgramNode result = (ASTMainProgramNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleProgramUnit8(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTFunctionSubprogramNode result = (ASTFunctionSubprogramNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleProgramUnit9(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTSubroutineSubprogramNode result = (ASTSubroutineSubprogramNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleProgramUnit10(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTModuleNode result = (ASTModuleNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleProgramUnit11(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTSubmoduleNode result = (ASTSubmoduleNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleProgramUnit12(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTBlockDataSubprogramNode result = (ASTBlockDataSubprogramNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleMainProgram13(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTMainProgramNode node = new ASTMainProgramNode();
-                    node.body = (IASTListNode<IBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("body");
-                    if (node.body != null) node.body.setParent(node);
-                    node.containsStmt = (ASTContainsStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("containsStmt");
-                    if (node.containsStmt != null) node.containsStmt.setParent(node);
-                    node.internalSubprograms = (IASTListNode<IInternalSubprogram>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("internalSubprograms");
-                    if (node.internalSubprograms != null) node.internalSubprograms.setParent(node);
-                    node.endProgramStmt = (ASTEndProgramStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("endProgramStmt");
-                    if (node.endProgramStmt != null) node.endProgramStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleMainProgram14(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTMainProgramNode node = new ASTMainProgramNode();
-                    node.programStmt = (ASTProgramStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.programStmt != null) node.programStmt.setParent(node);
-                    node.body = (IASTListNode<IBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("body");
-                    if (node.body != null) node.body.setParent(node);
-                    node.containsStmt = (ASTContainsStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("containsStmt");
-                    if (node.containsStmt != null) node.containsStmt.setParent(node);
-                    node.internalSubprograms = (IASTListNode<IInternalSubprogram>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("internalSubprograms");
-                    if (node.internalSubprograms != null) node.internalSubprograms.setParent(node);
-                    node.endProgramStmt = (ASTEndProgramStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endProgramStmt");
-                    if (node.endProgramStmt != null) node.endProgramStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleMainRange15(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("body", (IASTListNode<IBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endProgramStmt", (ASTEndProgramStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endProgramStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleMainRange16(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("body", (IASTListNode<IBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("body"));
-                    node.put("containsStmt", (ASTContainsStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("containsStmt"));
-                    node.put("internalSubprograms", (IASTListNode<IInternalSubprogram>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("internalSubprograms"));
-                    node.put("endProgramStmt", (ASTEndProgramStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endProgramStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleMainRange17(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endProgramStmt", (ASTEndProgramStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endProgramStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleBody18(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IBodyConstruct> list = new ASTListNode<IBodyConstruct>();
-                    IBodyConstruct elt = (IBodyConstruct)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleBody19(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IBodyConstruct> list = (IASTListNode<IBodyConstruct>)valueStack.get(valueStackOffset);
-                    IBodyConstruct elt = (IBodyConstruct)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleBodyConstruct20(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ISpecificationPartConstruct result = (ISpecificationPartConstruct)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleBodyConstruct21(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExecutableConstruct result = (IExecutableConstruct)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleFunctionSubprogram22(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionSubprogramNode node = new ASTFunctionSubprogramNode();
-                    node.functionStmt = (ASTFunctionStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.functionStmt != null) node.functionStmt.setParent(node);
-                    node.body = (IASTListNode<IBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("body");
-                    if (node.body != null) node.body.setParent(node);
-                    node.containsStmt = (ASTContainsStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("containsStmt");
-                    if (node.containsStmt != null) node.containsStmt.setParent(node);
-                    node.internalSubprograms = (IASTListNode<IInternalSubprogram>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("internalSubprograms");
-                    if (node.internalSubprograms != null) node.internalSubprograms.setParent(node);
-                    node.endFunctionStmt = (ASTEndFunctionStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endFunctionStmt");
-                    if (node.endFunctionStmt != null) node.endFunctionStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionRange23(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("body", (IASTListNode<IBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endFunctionStmt", (ASTEndFunctionStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endFunctionStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleFunctionRange24(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endFunctionStmt", (ASTEndFunctionStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endFunctionStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleFunctionRange25(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("body", (IASTListNode<IBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("body"));
-                    node.put("containsStmt", (ASTContainsStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("containsStmt"));
-                    node.put("internalSubprograms", (IASTListNode<IInternalSubprogram>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("internalSubprograms"));
-                    node.put("endFunctionStmt", (ASTEndFunctionStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endFunctionStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubroutineSubprogram26(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineSubprogramNode node = new ASTSubroutineSubprogramNode();
-                    node.subroutineStmt = (ASTSubroutineStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.subroutineStmt != null) node.subroutineStmt.setParent(node);
-                    node.body = (IASTListNode<IBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("body");
-                    if (node.body != null) node.body.setParent(node);
-                    node.containsStmt = (ASTContainsStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("containsStmt");
-                    if (node.containsStmt != null) node.containsStmt.setParent(node);
-                    node.internalSubprograms = (IASTListNode<IInternalSubprogram>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("internalSubprograms");
-                    if (node.internalSubprograms != null) node.internalSubprograms.setParent(node);
-                    node.endSubroutineStmt = (ASTEndSubroutineStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endSubroutineStmt");
-                    if (node.endSubroutineStmt != null) node.endSubroutineStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineRange27(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("body", (IASTListNode<IBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endSubroutineStmt", (ASTEndSubroutineStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endSubroutineStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubroutineRange28(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endSubroutineStmt", (ASTEndSubroutineStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endSubroutineStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubroutineRange29(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("body", (IASTListNode<IBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("body"));
-                    node.put("containsStmt", (ASTContainsStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("containsStmt"));
-                    node.put("internalSubprograms", (IASTListNode<IInternalSubprogram>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("internalSubprograms"));
-                    node.put("endSubroutineStmt", (ASTEndSubroutineStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endSubroutineStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSeparateModuleSubprogram30(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSeparateModuleSubprogramNode node = new ASTSeparateModuleSubprogramNode();
-                    node.mpSubprogramStmt = (ASTMpSubprogramStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.mpSubprogramStmt != null) node.mpSubprogramStmt.setParent(node);
-                    node.body = (IASTListNode<IBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("body");
-                    if (node.body != null) node.body.setParent(node);
-                    node.containsStmt = (ASTContainsStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("containsStmt");
-                    if (node.containsStmt != null) node.containsStmt.setParent(node);
-                    node.internalSubprograms = (IASTListNode<IInternalSubprogram>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("internalSubprograms");
-                    if (node.internalSubprograms != null) node.internalSubprograms.setParent(node);
-                    node.endMpSubprogramStmt = (ASTEndMpSubprogramStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endMpSubprogramStmt");
-                    if (node.endMpSubprogramStmt != null) node.endMpSubprogramStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleMpSubprogramRange31(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("body", (IASTListNode<IBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endMpSubprogramStmt", (ASTEndMpSubprogramStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endMpSubprogramStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleMpSubprogramRange32(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endMpSubprogramStmt", (ASTEndMpSubprogramStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endMpSubprogramStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleMpSubprogramRange33(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("body", (IASTListNode<IBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("body"));
-                    node.put("containsStmt", (ASTContainsStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("containsStmt"));
-                    node.put("internalSubprograms", (IASTListNode<IInternalSubprogram>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("internalSubprograms"));
-                    node.put("endMpSubprogramStmt", (ASTEndMpSubprogramStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    embeddedList.add((IASTNode)(node.get("endMpSubprogramStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleMpSubprogramStmt34(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTMpSubprogramStmtNode node = new ASTMpSubprogramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTModule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTModule != null) node.hiddenTModule.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.procedureName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.procedureName != null) node.procedureName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndMpSubprogramStmt35(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndMpSubprogramStmtNode node = new ASTEndMpSubprogramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndMpSubprogramStmt36(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndMpSubprogramStmtNode node = new ASTEndMpSubprogramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndprocedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndprocedure != null) node.hiddenTEndprocedure.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndMpSubprogramStmt37(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndMpSubprogramStmtNode node = new ASTEndMpSubprogramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndprocedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndprocedure != null) node.hiddenTEndprocedure.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndMpSubprogramStmt38(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndMpSubprogramStmtNode node = new ASTEndMpSubprogramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndMpSubprogramStmt39(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndMpSubprogramStmtNode node = new ASTEndMpSubprogramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleModule40(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTModuleNode node = new ASTModuleNode();
-                    node.moduleStmt = (ASTModuleStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.moduleStmt != null) node.moduleStmt.setParent(node);
-                    node.moduleBody = (IASTListNode<IModuleBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("moduleBody");
-                    if (node.moduleBody != null) node.moduleBody.setParent(node);
-                    node.endModuleStmt = (ASTEndModuleStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endModuleStmt");
-                    if (node.endModuleStmt != null) node.endModuleStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleModuleBlock41(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("moduleBody", (IASTListNode<IModuleBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endModuleStmt", (ASTEndModuleStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("moduleBody")));
-                    embeddedList.add((IASTNode)(node.get("endModuleStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleModuleBlock42(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endModuleStmt", (ASTEndModuleStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("moduleBody")));
-                    embeddedList.add((IASTNode)(node.get("endModuleStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleModuleBody43(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IModuleBodyConstruct> list = (IASTListNode<IModuleBodyConstruct>)valueStack.get(valueStackOffset);
-                    IModuleBodyConstruct elt = (IModuleBodyConstruct)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleModuleBody44(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IModuleBodyConstruct> list = new ASTListNode<IModuleBodyConstruct>();
-                    IModuleBodyConstruct elt = (IModuleBodyConstruct)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleModuleBodyConstruct45(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ISpecificationPartConstruct result = (ISpecificationPartConstruct)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleModuleBodyConstruct46(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IModuleSubprogramPartConstruct result = (IModuleSubprogramPartConstruct)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSubmodule47(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubmoduleNode node = new ASTSubmoduleNode();
-                    node.submoduleStmt = (ASTSubmoduleStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.submoduleStmt != null) node.submoduleStmt.setParent(node);
-                    node.moduleBody = (IASTListNode<IModuleBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("moduleBody");
-                    if (node.moduleBody != null) node.moduleBody.setParent(node);
-                    node.endSubmoduleStmt = (ASTEndSubmoduleStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endSubmoduleStmt");
-                    if (node.endSubmoduleStmt != null) node.endSubmoduleStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubmoduleBlock48(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("moduleBody", (IASTListNode<IModuleBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endSubmoduleStmt", (ASTEndSubmoduleStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("moduleBody")));
-                    embeddedList.add((IASTNode)(node.get("endSubmoduleStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubmoduleBlock49(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endSubmoduleStmt", (ASTEndSubmoduleStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("moduleBody")));
-                    embeddedList.add((IASTNode)(node.get("endSubmoduleStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubmoduleStmt50(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubmoduleStmtNode node = new ASTSubmoduleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSubmodule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSubmodule != null) node.hiddenTSubmodule.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.parentIdentifier = (ASTParentIdentifierNode)valueStack.get(valueStackOffset + 3);
-                    if (node.parentIdentifier != null) node.parentIdentifier.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.submoduleName = (ASTModuleNameNode)valueStack.get(valueStackOffset + 5);
-                    if (node.submoduleName != null) node.submoduleName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleParentIdentifier51(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTParentIdentifierNode node = new ASTParentIdentifierNode();
-                    node.ancestorModuleName = (ASTModuleNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.ancestorModuleName != null) node.ancestorModuleName.setParent(node);
-                    return node;
-
-        }
-        public Object handleParentIdentifier52(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTParentIdentifierNode node = new ASTParentIdentifierNode();
-                    node.ancestorModuleName = (ASTModuleNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.ancestorModuleName != null) node.ancestorModuleName.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.parentSubmoduleName = (ASTModuleNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.parentSubmoduleName != null) node.parentSubmoduleName.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSubmoduleStmt53(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSubmoduleStmtNode node = new ASTEndSubmoduleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSubmoduleStmt54(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSubmoduleStmtNode node = new ASTEndSubmoduleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndsubmodule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndsubmodule != null) node.hiddenTEndsubmodule.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSubmoduleStmt55(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSubmoduleStmtNode node = new ASTEndSubmoduleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndsubmodule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndsubmodule != null) node.hiddenTEndsubmodule.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSubmoduleStmt56(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSubmoduleStmtNode node = new ASTEndSubmoduleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTSubmodule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTSubmodule != null) node.hiddenTSubmodule.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSubmoduleStmt57(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSubmoduleStmtNode node = new ASTEndSubmoduleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTSubmodule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTSubmodule != null) node.hiddenTSubmodule.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockDataSubprogram58(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBlockDataSubprogramNode node = new ASTBlockDataSubprogramNode();
-                    node.blockDataStmt = (ASTBlockDataStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.blockDataStmt != null) node.blockDataStmt.setParent(node);
-                    node.blockDataBody = (IASTListNode<IBlockDataBodyConstruct>)valueStack.get(valueStackOffset + 1);
-                    if (node.blockDataBody != null) node.blockDataBody.setParent(node);
-                    node.endBlockDataStmt = (ASTEndBlockDataStmtNode)valueStack.get(valueStackOffset + 2);
-                    if (node.endBlockDataStmt != null) node.endBlockDataStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockDataSubprogram59(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBlockDataSubprogramNode node = new ASTBlockDataSubprogramNode();
-                    node.blockDataStmt = (ASTBlockDataStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.blockDataStmt != null) node.blockDataStmt.setParent(node);
-                    node.endBlockDataStmt = (ASTEndBlockDataStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.endBlockDataStmt != null) node.endBlockDataStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockDataBody60(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IBlockDataBodyConstruct> list = new ASTListNode<IBlockDataBodyConstruct>();
-                    IBlockDataBodyConstruct elt = (IBlockDataBodyConstruct)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleBlockDataBody61(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IBlockDataBodyConstruct> list = (IASTListNode<IBlockDataBodyConstruct>)valueStack.get(valueStackOffset);
-                    IBlockDataBodyConstruct elt = (IBlockDataBodyConstruct)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleBlockDataBodyConstruct62(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ISpecificationPartConstruct result = (ISpecificationPartConstruct)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationPartConstruct63(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTUseStmtNode result = (ASTUseStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationPartConstruct64(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTImportStmtNode result = (ASTImportStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationPartConstruct65(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTImplicitStmtNode result = (ASTImplicitStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationPartConstruct66(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTParameterStmtNode result = (ASTParameterStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationPartConstruct67(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTFormatStmtNode result = (ASTFormatStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationPartConstruct68(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTEntryStmtNode result = (ASTEntryStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationPartConstruct69(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IDeclarationConstruct result = (IDeclarationConstruct)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDeclarationConstruct70(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTDerivedTypeDefNode result = (ASTDerivedTypeDefNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDeclarationConstruct71(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTEnumDefNode result = (ASTEnumDefNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDeclarationConstruct72(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTInterfaceBlockNode result = (ASTInterfaceBlockNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDeclarationConstruct73(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTTypeDeclarationStmtNode result = (ASTTypeDeclarationStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDeclarationConstruct74(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ISpecificationStmt result = (ISpecificationStmt)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDeclarationConstruct75(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTProcedureDeclarationStmtNode result = (ASTProcedureDeclarationStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutionPartConstruct76(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IObsoleteExecutionPartConstruct result = (IObsoleteExecutionPartConstruct)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutionPartConstruct77(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExecutableConstruct result = (IExecutableConstruct)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutionPartConstruct78(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTFormatStmtNode result = (ASTFormatStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutionPartConstruct79(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTEntryStmtNode result = (ASTEntryStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleObsoleteExecutionPartConstruct80(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTDataStmtNode result = (ASTDataStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleBodyPlusInternals81(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("body", (IASTListNode<IBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("containsStmt", (ASTContainsStmtNode)valueStack.get(valueStackOffset + 1));
-                    node.put("internalSubprograms", (IASTListNode<IInternalSubprogram>)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleBodyPlusInternals82(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("containsStmt", (ASTContainsStmtNode)valueStack.get(valueStackOffset + 0));
-                    node.put("internalSubprograms", (IASTListNode<IInternalSubprogram>)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("body")));
-                    embeddedList.add((IASTNode)(node.get("containsStmt")));
-                    embeddedList.add((IASTNode)(node.get("internalSubprograms")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleInternalSubprograms83(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IInternalSubprogram> list = new ASTListNode<IInternalSubprogram>();
-                    IInternalSubprogram elt = (IInternalSubprogram)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleInternalSubprograms84(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IInternalSubprogram> list = (IASTListNode<IInternalSubprogram>)valueStack.get(valueStackOffset);
-                    IInternalSubprogram elt = (IInternalSubprogram)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleInternalSubprogram85(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTFunctionSubprogramNode result = (ASTFunctionSubprogramNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleInternalSubprogram86(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTSubroutineSubprogramNode result = (ASTSubroutineSubprogramNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleModuleSubprogramPartConstruct87(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTContainsStmtNode result = (ASTContainsStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleModuleSubprogramPartConstruct88(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IModuleSubprogram result = (IModuleSubprogram)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleModuleSubprogramPartConstruct89(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTSeparateModuleSubprogramNode result = (ASTSeparateModuleSubprogramNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleModuleSubprogram90(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTFunctionSubprogramNode result = (ASTFunctionSubprogramNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleModuleSubprogram91(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTSubroutineSubprogramNode result = (ASTSubroutineSubprogramNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt92(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAccessStmtNode result = (ASTAccessStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt93(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAllocatableStmtNode result = (ASTAllocatableStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt94(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAsynchronousStmtNode result = (ASTAsynchronousStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt95(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTBindStmtNode result = (ASTBindStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt96(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTCodimensionStmtNode result = (ASTCodimensionStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt97(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTCommonStmtNode result = (ASTCommonStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt98(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTContiguousStmtNode result = (ASTContiguousStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt99(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTDataStmtNode result = (ASTDataStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt100(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTDimensionStmtNode result = (ASTDimensionStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt101(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTEquivalenceStmtNode result = (ASTEquivalenceStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt102(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTExternalStmtNode result = (ASTExternalStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt103(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTIntentStmtNode result = (ASTIntentStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt104(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTIntrinsicStmtNode result = (ASTIntrinsicStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt105(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTNamelistStmtNode result = (ASTNamelistStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt106(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTOptionalStmtNode result = (ASTOptionalStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt107(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTPointerStmtNode result = (ASTPointerStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt108(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTCrayPointerStmtNode result = (ASTCrayPointerStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt109(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTProtectedStmtNode result = (ASTProtectedStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt110(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTSaveStmtNode result = (ASTSaveStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt111(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTTargetStmtNode result = (ASTTargetStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt112(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTVolatileStmtNode result = (ASTVolatileStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt113(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTValueStmtNode result = (ASTValueStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificationStmt114(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTUnprocessedIncludeStmtNode result = (ASTUnprocessedIncludeStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleUnprocessedIncludeStmt115(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUnprocessedIncludeStmtNode node = new ASTUnprocessedIncludeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.tIdent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.tIdent != null) node.tIdent.setParent(node);
-                    node.tScon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.tScon != null) node.tScon.setParent(node);
-                    node.tEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.tEos != null) node.tEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleExecutableConstruct116(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IActionStmt result = (IActionStmt)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutableConstruct117(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAssociateConstructNode result = (ASTAssociateConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutableConstruct118(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTBlockConstructNode result = (ASTBlockConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutableConstruct119(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTCaseConstructNode result = (ASTCaseConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutableConstruct120(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTCriticalConstructNode result = (ASTCriticalConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutableConstruct121(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTDoConstructNode result = (ASTDoConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutableConstruct122(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTForallConstructNode result = (ASTForallConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutableConstruct123(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTIfConstructNode result = (ASTIfConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutableConstruct124(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTSelectTypeConstructNode result = (ASTSelectTypeConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutableConstruct125(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTWhereConstructNode result = (ASTWhereConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExecutableConstruct126(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTEndDoStmtNode result = (ASTEndDoStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt127(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IObsoleteActionStmt result = (IObsoleteActionStmt)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt128(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAllocateStmtNode result = (ASTAllocateStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt129(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAllStopStmtNode result = (ASTAllStopStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt130(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAssignmentStmtNode result = (ASTAssignmentStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt131(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTBackspaceStmtNode result = (ASTBackspaceStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt132(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTCallStmtNode result = (ASTCallStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt133(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTCloseStmtNode result = (ASTCloseStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt134(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTContinueStmtNode result = (ASTContinueStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt135(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTCycleStmtNode result = (ASTCycleStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt136(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTDeallocateStmtNode result = (ASTDeallocateStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt137(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTEndfileStmtNode result = (ASTEndfileStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt138(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTExitStmtNode result = (ASTExitStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt139(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTForallStmtNode result = (ASTForallStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt140(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTGotoStmtNode result = (ASTGotoStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt141(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTIfStmtNode result = (ASTIfStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt142(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTInquireStmtNode result = (ASTInquireStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt143(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTLockStmtNode result = (ASTLockStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt144(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTNullifyStmtNode result = (ASTNullifyStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt145(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTOpenStmtNode result = (ASTOpenStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt146(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAssignmentStmtNode result = (ASTAssignmentStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt147(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTPrintStmtNode result = (ASTPrintStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt148(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTReadStmtNode result = (ASTReadStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt149(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTReturnStmtNode result = (ASTReturnStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt150(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTRewindStmtNode result = (ASTRewindStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt151(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTStopStmtNode result = (ASTStopStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt152(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTSyncAllStmtNode result = (ASTSyncAllStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt153(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTSyncImagesStmtNode result = (ASTSyncImagesStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt154(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTSyncMemoryStmtNode result = (ASTSyncMemoryStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt155(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTUnlockStmtNode result = (ASTUnlockStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt156(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTWaitStmtNode result = (ASTWaitStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt157(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTWhereStmtNode result = (ASTWhereStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt158(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTWriteStmtNode result = (ASTWriteStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt159(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAssignStmtNode result = (ASTAssignStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt160(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAssignedGotoStmtNode result = (ASTAssignedGotoStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleActionStmt161(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTPauseStmtNode result = (ASTPauseStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleObsoleteActionStmt162(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTStmtFunctionStmtNode result = (ASTStmtFunctionStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleObsoleteActionStmt163(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTArithmeticIfStmtNode result = (ASTArithmeticIfStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleObsoleteActionStmt164(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTComputedGotoStmtNode result = (ASTComputedGotoStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleName165(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("name", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleConstant166(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConstantNode node = new ASTConstantNode();
-                    node.name = (ASTNamedConstantUseNode)valueStack.get(valueStackOffset + 0);
-                    if (node.name != null) node.name.setParent(node);
-                    return node;
-
-        }
-        public Object handleConstant167(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConstantNode node = new ASTConstantNode();
-                    node.unsignedArithmeticConstant = (IUnsignedArithmeticConst)valueStack.get(valueStackOffset + 0);
-                    if (node.unsignedArithmeticConstant != null) node.unsignedArithmeticConstant.setParent(node);
-                    return node;
-
-        }
-        public Object handleConstant168(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConstantNode node = new ASTConstantNode();
-                    node.hasPlus = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasPlus != null) node.hasPlus.setParent(node);
-                    node.unsignedArithmeticConstant = (IUnsignedArithmeticConst)valueStack.get(valueStackOffset + 1);
-                    if (node.unsignedArithmeticConstant != null) node.unsignedArithmeticConstant.setParent(node);
-                    return node;
-
-        }
-        public Object handleConstant169(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConstantNode node = new ASTConstantNode();
-                    node.hasMinus = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasMinus != null) node.hasMinus.setParent(node);
-                    node.unsignedArithmeticConstant = (IUnsignedArithmeticConst)valueStack.get(valueStackOffset + 1);
-                    if (node.unsignedArithmeticConstant != null) node.unsignedArithmeticConstant.setParent(node);
-                    return node;
-
-        }
-        public Object handleConstant170(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConstantNode node = new ASTConstantNode();
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleConstant171(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConstantNode node = new ASTConstantNode();
-                    node.hasIntKind = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasIntKind != null) node.hasIntKind.setParent(node);
-                    node.hiddenTUnderscore = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTUnderscore != null) node.hiddenTUnderscore.setParent(node);
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleConstant172(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConstantNode node = new ASTConstantNode();
-                    node.namedConstantKind = (ASTNamedConstantUseNode)valueStack.get(valueStackOffset + 0);
-                    if (node.namedConstantKind != null) node.namedConstantKind.setParent(node);
-                    node.hiddenTUnderscore = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTUnderscore != null) node.hiddenTUnderscore.setParent(node);
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleConstant173(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConstantNode node = new ASTConstantNode();
-                    node.logicalConst = (ASTLogicalConstNode)valueStack.get(valueStackOffset + 0);
-                    if (node.logicalConst != null) node.logicalConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleConstant174(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConstantNode node = new ASTConstantNode();
-                    node.structureConstructor = (ASTStructureConstructorNode)valueStack.get(valueStackOffset + 0);
-                    if (node.structureConstructor != null) node.structureConstructor.setParent(node);
-                    return node;
-
-        }
-        public Object handleConstant175(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConstantNode node = new ASTConstantNode();
-                    node.bozLiteralConstant = (ASTBozLiteralConstNode)valueStack.get(valueStackOffset + 0);
-                    if (node.bozLiteralConstant != null) node.bozLiteralConstant.setParent(node);
-                    return node;
-
-        }
-        public Object handleConstant176(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConstantNode node = new ASTConstantNode();
-                    node.hollerithConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hollerithConst != null) node.hollerithConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleNamedConstant177(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("namedConstant", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("namedConstant")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleNamedConstantUse178(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTNamedConstantUseNode node = new ASTNamedConstantUseNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.name != null) node.name.setParent(node);
-                    return node;
-
-        }
-        public Object handlePowerOp179(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasPowerOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasPowerOp != null) node.hasPowerOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleMultOp180(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasTimesOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasTimesOp != null) node.hasTimesOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleMultOp181(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasDivideOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasDivideOp != null) node.hasDivideOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleAddOp182(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasPlusOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasPlusOp != null) node.hasPlusOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleAddOp183(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasMinusOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasMinusOp != null) node.hasMinusOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleSign184(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSignNode node = new ASTSignNode();
-                    node.hasPlusSign = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasPlusSign != null) node.hasPlusSign.setParent(node);
-                    return node;
-
-        }
-        public Object handleSign185(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSignNode node = new ASTSignNode();
-                    node.hasMinusSign = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasMinusSign != null) node.hasMinusSign.setParent(node);
-                    return node;
-
-        }
-        public Object handleConcatOp186(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hasConcatOp", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hasMinusOp")));
-                    embeddedList.add((IASTNode)(node.get("hasSlashEqOp")));
-                    embeddedList.add((IASTNode)(node.get("hasAndOp")));
-                    embeddedList.add((IASTNode)(node.get("definedUnaryOp")));
-                    embeddedList.add((IASTNode)(node.get("hasEqOp")));
-                    embeddedList.add((IASTNode)(node.get("hasPlusOp")));
-                    embeddedList.add((IASTNode)(node.get("hasDivideOp")));
-                    embeddedList.add((IASTNode)(node.get("hasNeqvOp")));
-                    embeddedList.add((IASTNode)(node.get("hasEqEqOp")));
-                    embeddedList.add((IASTNode)(node.get("hasGeOp")));
-                    embeddedList.add((IASTNode)(node.get("hasNotOp")));
-                    embeddedList.add((IASTNode)(node.get("hasEqvOp")));
-                    embeddedList.add((IASTNode)(node.get("hasConcatOp")));
-                    embeddedList.add((IASTNode)(node.get("hasPowerOp")));
-                    embeddedList.add((IASTNode)(node.get("hasGtOp")));
-                    embeddedList.add((IASTNode)(node.get("hasLtOp")));
-                    embeddedList.add((IASTNode)(node.get("hasNeOp")));
-                    embeddedList.add((IASTNode)(node.get("hasOrOp")));
-                    embeddedList.add((IASTNode)(node.get("customDefinedOp")));
-                    embeddedList.add((IASTNode)(node.get("hasTimesOp")));
-                    embeddedList.add((IASTNode)(node.get("definedBinaryOp")));
-                    embeddedList.add((IASTNode)(node.get("hasLeOp")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleRelOp187(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasEqOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasEqOp != null) node.hasEqOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleRelOp188(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasNeOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasNeOp != null) node.hasNeOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleRelOp189(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasLtOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasLtOp != null) node.hasLtOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleRelOp190(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasLtOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasLtOp != null) node.hasLtOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleRelOp191(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasLeOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasLeOp != null) node.hasLeOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleRelOp192(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasLeOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasLeOp != null) node.hasLeOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleRelOp193(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasGtOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasGtOp != null) node.hasGtOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleRelOp194(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasGtOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasGtOp != null) node.hasGtOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleRelOp195(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasGeOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasGeOp != null) node.hasGeOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleRelOp196(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasGeOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasGeOp != null) node.hasGeOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleRelOp197(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasEqEqOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasEqEqOp != null) node.hasEqEqOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleRelOp198(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasSlashEqOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasSlashEqOp != null) node.hasSlashEqOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleNotOp199(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasNotOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasNotOp != null) node.hasNotOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleAndOp200(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasAndOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasAndOp != null) node.hasAndOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleOrOp201(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasOrOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasOrOp != null) node.hasOrOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleEquivOp202(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasEqvOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasEqvOp != null) node.hasEqvOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleEquivOp203(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.hasNeqvOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasNeqvOp != null) node.hasNeqvOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleDefinedOperator204(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.customDefinedOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.customDefinedOp != null) node.customDefinedOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleDefinedOperator205(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTOperatorNode result = new ASTOperatorNode();
-                    result.hasMinusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasMinusOp");
-                    if (result.hasMinusOp != null) result.hasMinusOp.setParent(result);
-                    result.hasSlashEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasSlashEqOp");
-                    if (result.hasSlashEqOp != null) result.hasSlashEqOp.setParent(result);
-                    result.hasAndOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasAndOp");
-                    if (result.hasAndOp != null) result.hasAndOp.setParent(result);
-                    result.definedUnaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("definedUnaryOp");
-                    if (result.definedUnaryOp != null) result.definedUnaryOp.setParent(result);
-                    result.hasEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasEqOp");
-                    if (result.hasEqOp != null) result.hasEqOp.setParent(result);
-                    result.hasPlusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasPlusOp");
-                    if (result.hasPlusOp != null) result.hasPlusOp.setParent(result);
-                    result.hasDivideOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasDivideOp");
-                    if (result.hasDivideOp != null) result.hasDivideOp.setParent(result);
-                    result.hasNeqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasNeqvOp");
-                    if (result.hasNeqvOp != null) result.hasNeqvOp.setParent(result);
-                    result.hasEqEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasEqEqOp");
-                    if (result.hasEqEqOp != null) result.hasEqEqOp.setParent(result);
-                    result.hasGeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasGeOp");
-                    if (result.hasGeOp != null) result.hasGeOp.setParent(result);
-                    result.hasNotOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasNotOp");
-                    if (result.hasNotOp != null) result.hasNotOp.setParent(result);
-                    result.hasEqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasEqvOp");
-                    if (result.hasEqvOp != null) result.hasEqvOp.setParent(result);
-                    result.hasConcatOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasConcatOp");
-                    if (result.hasConcatOp != null) result.hasConcatOp.setParent(result);
-                    result.hasPowerOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasPowerOp");
-                    if (result.hasPowerOp != null) result.hasPowerOp.setParent(result);
-                    result.hasGtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasGtOp");
-                    if (result.hasGtOp != null) result.hasGtOp.setParent(result);
-                    result.hasLtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasLtOp");
-                    if (result.hasLtOp != null) result.hasLtOp.setParent(result);
-                    result.hasNeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasNeOp");
-                    if (result.hasNeOp != null) result.hasNeOp.setParent(result);
-                    result.hasOrOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasOrOp");
-                    if (result.hasOrOp != null) result.hasOrOp.setParent(result);
-                    result.customDefinedOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("customDefinedOp");
-                    if (result.customDefinedOp != null) result.customDefinedOp.setParent(result);
-                    result.hasTimesOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasTimesOp");
-                    if (result.hasTimesOp != null) result.hasTimesOp.setParent(result);
-                    result.definedBinaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("definedBinaryOp");
-                    if (result.definedBinaryOp != null) result.definedBinaryOp.setParent(result);
-                    result.hasLeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hasLeOp");
-                    if (result.hasLeOp != null) result.hasLeOp.setParent(result);
-                    return result;
-
-        }
-        public Object handleDefinedOperator206(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTOperatorNode result = (ASTOperatorNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDefinedOperator207(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTOperatorNode result = (ASTOperatorNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDefinedOperator208(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTOperatorNode result = (ASTOperatorNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDefinedOperator209(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTOperatorNode result = (ASTOperatorNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDefinedOperator210(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTOperatorNode result = (ASTOperatorNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDefinedOperator211(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTOperatorNode result = (ASTOperatorNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDefinedOperator212(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTOperatorNode result = (ASTOperatorNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDefinedOperator213(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTOperatorNode result = (ASTOperatorNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDefinedUnaryOp214(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.definedUnaryOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.definedUnaryOp != null) node.definedUnaryOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleDefinedBinaryOp215(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOperatorNode node = new ASTOperatorNode();
-                    node.definedBinaryOp = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.definedBinaryOp != null) node.definedBinaryOp.setParent(node);
-                    return node;
-
-        }
-        public Object handleLabel216(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("label", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("label")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleUnsignedArithmeticConstant217(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIntConstNode node = new ASTIntConstNode();
-                    node.intConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.intConst != null) node.intConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleUnsignedArithmeticConstant218(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRealConstNode node = new ASTRealConstNode();
-                    node.realConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.realConst != null) node.realConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleUnsignedArithmeticConstant219(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDblConstNode node = new ASTDblConstNode();
-                    node.dblConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.dblConst != null) node.dblConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleUnsignedArithmeticConstant220(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTComplexConstNode result = (ASTComplexConstNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleUnsignedArithmeticConstant221(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIntConstNode node = new ASTIntConstNode();
-                    node.intConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.intConst != null) node.intConst.setParent(node);
-                    node.hiddenTUnderscore = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTUnderscore != null) node.hiddenTUnderscore.setParent(node);
-                    node.namedConstKind = (ASTNamedConstantUseNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("namedConstKind");
-                    if (node.namedConstKind != null) node.namedConstKind.setParent(node);
-                    node.intKind = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("intKind");
-                    if (node.intKind != null) node.intKind.setParent(node);
-                    return node;
-
-        }
-        public Object handleUnsignedArithmeticConstant222(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRealConstNode node = new ASTRealConstNode();
-                    node.realConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.realConst != null) node.realConst.setParent(node);
-                    node.hiddenTUnderscore = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTUnderscore != null) node.hiddenTUnderscore.setParent(node);
-                    node.namedConstKind = (ASTNamedConstantUseNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("namedConstKind");
-                    if (node.namedConstKind != null) node.namedConstKind.setParent(node);
-                    node.intKind = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("intKind");
-                    if (node.intKind != null) node.intKind.setParent(node);
-                    return node;
-
-        }
-        public Object handleUnsignedArithmeticConstant223(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDblConstNode node = new ASTDblConstNode();
-                    node.dblConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.dblConst != null) node.dblConst.setParent(node);
-                    node.hiddenTUnderscore = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTUnderscore != null) node.hiddenTUnderscore.setParent(node);
-                    node.namedConstKind = (ASTNamedConstantUseNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("namedConstKind");
-                    if (node.namedConstKind != null) node.namedConstKind.setParent(node);
-                    node.intKind = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("intKind");
-                    if (node.intKind != null) node.intKind.setParent(node);
-                    return node;
-
-        }
-        public Object handleKindParam224(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("intKind", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("namedConstKind")));
-                    embeddedList.add((IASTNode)(node.get("intKind")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleKindParam225(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("namedConstKind", (ASTNamedConstantUseNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("namedConstKind")));
-                    embeddedList.add((IASTNode)(node.get("intKind")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleBozLiteralConstant226(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBozLiteralConstNode node = new ASTBozLiteralConstNode();
-                    node.binaryConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.binaryConst != null) node.binaryConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleBozLiteralConstant227(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBozLiteralConstNode node = new ASTBozLiteralConstNode();
-                    node.octalConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.octalConst != null) node.octalConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleBozLiteralConstant228(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBozLiteralConstNode node = new ASTBozLiteralConstNode();
-                    node.hexConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hexConst != null) node.hexConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleComplexConst229(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComplexConstNode node = new ASTComplexConstNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.realPart = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.realPart != null) node.realPart.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.complexPart = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.complexPart != null) node.complexPart.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleLogicalConstant230(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLogicalConstNode node = new ASTLogicalConstNode();
-                    node.isTrue = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isTrue != null) node.isTrue.setParent(node);
-                    return node;
-
-        }
-        public Object handleLogicalConstant231(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLogicalConstNode node = new ASTLogicalConstNode();
-                    node.isFalse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isFalse != null) node.isFalse.setParent(node);
-                    return node;
-
-        }
-        public Object handleLogicalConstant232(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLogicalConstNode node = new ASTLogicalConstNode();
-                    node.isTrue = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isTrue != null) node.isTrue.setParent(node);
-                    node.hiddenTUnderscore = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTUnderscore != null) node.hiddenTUnderscore.setParent(node);
-                    node.namedConstKind = (ASTNamedConstantUseNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("namedConstKind");
-                    if (node.namedConstKind != null) node.namedConstKind.setParent(node);
-                    node.intKind = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("intKind");
-                    if (node.intKind != null) node.intKind.setParent(node);
-                    return node;
-
-        }
-        public Object handleLogicalConstant233(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLogicalConstNode node = new ASTLogicalConstNode();
-                    node.isFalse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isFalse != null) node.isFalse.setParent(node);
-                    node.hiddenTUnderscore = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTUnderscore != null) node.hiddenTUnderscore.setParent(node);
-                    node.namedConstKind = (ASTNamedConstantUseNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("namedConstKind");
-                    if (node.namedConstKind != null) node.namedConstKind.setParent(node);
-                    node.intKind = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("intKind");
-                    if (node.intKind != null) node.intKind.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeDef234(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeDefNode node = new ASTDerivedTypeDefNode();
-                    node.derivedTypeStmt = (ASTDerivedTypeStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.derivedTypeStmt != null) node.derivedTypeStmt.setParent(node);
-                    node.endTypeStmt = (ASTEndTypeStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.endTypeStmt != null) node.endTypeStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeDef235(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeDefNode node = new ASTDerivedTypeDefNode();
-                    node.derivedTypeStmt = (ASTDerivedTypeStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.derivedTypeStmt != null) node.derivedTypeStmt.setParent(node);
-                    node.typeBoundProcedurePart = (ASTTypeBoundProcedurePartNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeBoundProcedurePart != null) node.typeBoundProcedurePart.setParent(node);
-                    node.endTypeStmt = (ASTEndTypeStmtNode)valueStack.get(valueStackOffset + 2);
-                    if (node.endTypeStmt != null) node.endTypeStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeDef236(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeDefNode node = new ASTDerivedTypeDefNode();
-                    node.derivedTypeStmt = (ASTDerivedTypeStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.derivedTypeStmt != null) node.derivedTypeStmt.setParent(node);
-                    node.derivedTypeBody = (IASTListNode<IDerivedTypeBodyConstruct>)valueStack.get(valueStackOffset + 1);
-                    if (node.derivedTypeBody != null) node.derivedTypeBody.setParent(node);
-                    node.endTypeStmt = (ASTEndTypeStmtNode)valueStack.get(valueStackOffset + 2);
-                    if (node.endTypeStmt != null) node.endTypeStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeDef237(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeDefNode node = new ASTDerivedTypeDefNode();
-                    node.derivedTypeStmt = (ASTDerivedTypeStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.derivedTypeStmt != null) node.derivedTypeStmt.setParent(node);
-                    node.derivedTypeBody = (IASTListNode<IDerivedTypeBodyConstruct>)valueStack.get(valueStackOffset + 1);
-                    if (node.derivedTypeBody != null) node.derivedTypeBody.setParent(node);
-                    node.typeBoundProcedurePart = (ASTTypeBoundProcedurePartNode)valueStack.get(valueStackOffset + 2);
-                    if (node.typeBoundProcedurePart != null) node.typeBoundProcedurePart.setParent(node);
-                    node.endTypeStmt = (ASTEndTypeStmtNode)valueStack.get(valueStackOffset + 3);
-                    if (node.endTypeStmt != null) node.endTypeStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeDef238(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeDefNode node = new ASTDerivedTypeDefNode();
-                    node.derivedTypeStmt = (ASTDerivedTypeStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.derivedTypeStmt != null) node.derivedTypeStmt.setParent(node);
-                    node.typeParamDefStmt = (ASTTypeParamDefStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeParamDefStmt != null) node.typeParamDefStmt.setParent(node);
-                    node.endTypeStmt = (ASTEndTypeStmtNode)valueStack.get(valueStackOffset + 2);
-                    if (node.endTypeStmt != null) node.endTypeStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeDef239(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeDefNode node = new ASTDerivedTypeDefNode();
-                    node.derivedTypeStmt = (ASTDerivedTypeStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.derivedTypeStmt != null) node.derivedTypeStmt.setParent(node);
-                    node.typeParamDefStmt = (ASTTypeParamDefStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeParamDefStmt != null) node.typeParamDefStmt.setParent(node);
-                    node.typeBoundProcedurePart = (ASTTypeBoundProcedurePartNode)valueStack.get(valueStackOffset + 2);
-                    if (node.typeBoundProcedurePart != null) node.typeBoundProcedurePart.setParent(node);
-                    node.endTypeStmt = (ASTEndTypeStmtNode)valueStack.get(valueStackOffset + 3);
-                    if (node.endTypeStmt != null) node.endTypeStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeDef240(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeDefNode node = new ASTDerivedTypeDefNode();
-                    node.derivedTypeStmt = (ASTDerivedTypeStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.derivedTypeStmt != null) node.derivedTypeStmt.setParent(node);
-                    node.typeParamDefStmt = (ASTTypeParamDefStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeParamDefStmt != null) node.typeParamDefStmt.setParent(node);
-                    node.derivedTypeBody = (IASTListNode<IDerivedTypeBodyConstruct>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeBody != null) node.derivedTypeBody.setParent(node);
-                    node.endTypeStmt = (ASTEndTypeStmtNode)valueStack.get(valueStackOffset + 3);
-                    if (node.endTypeStmt != null) node.endTypeStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeDef241(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeDefNode node = new ASTDerivedTypeDefNode();
-                    node.derivedTypeStmt = (ASTDerivedTypeStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.derivedTypeStmt != null) node.derivedTypeStmt.setParent(node);
-                    node.typeParamDefStmt = (ASTTypeParamDefStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeParamDefStmt != null) node.typeParamDefStmt.setParent(node);
-                    node.derivedTypeBody = (IASTListNode<IDerivedTypeBodyConstruct>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeBody != null) node.derivedTypeBody.setParent(node);
-                    node.typeBoundProcedurePart = (ASTTypeBoundProcedurePartNode)valueStack.get(valueStackOffset + 3);
-                    if (node.typeBoundProcedurePart != null) node.typeBoundProcedurePart.setParent(node);
-                    node.endTypeStmt = (ASTEndTypeStmtNode)valueStack.get(valueStackOffset + 4);
-                    if (node.endTypeStmt != null) node.endTypeStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeBody242(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IDerivedTypeBodyConstruct> list = new ASTListNode<IDerivedTypeBodyConstruct>();
-                    IDerivedTypeBodyConstruct elt = (IDerivedTypeBodyConstruct)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleDerivedTypeBody243(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IDerivedTypeBodyConstruct> list = (IASTListNode<IDerivedTypeBodyConstruct>)valueStack.get(valueStackOffset);
-                    IDerivedTypeBodyConstruct elt = (IDerivedTypeBodyConstruct)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleDerivedTypeBodyConstruct244(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTPrivateSequenceStmtNode result = (ASTPrivateSequenceStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDerivedTypeBodyConstruct245(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IComponentDefStmt result = (IComponentDefStmt)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDerivedTypeStmt246(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeStmtNode node = new ASTDerivedTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    node.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("typeName");
-                    if (node.typeName != null) node.typeName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeStmt247(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeStmtNode node = new ASTDerivedTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("typeName");
-                    if (node.typeName != null) node.typeName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeStmt248(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeStmtNode node = new ASTDerivedTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.typeAttrSpecList = (IASTListNode<ASTTypeAttrSpecNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.typeAttrSpecList != null) node.typeAttrSpecList.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("typeName");
-                    if (node.typeName != null) node.typeName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeStmt249(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeStmtNode node = new ASTDerivedTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    node.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("typeName");
-                    if (node.typeName != null) node.typeName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.typeParamNameList = (IASTListNode<ASTTypeParamNameNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.typeParamNameList != null) node.typeParamNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeStmt250(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeStmtNode node = new ASTDerivedTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("typeName");
-                    if (node.typeName != null) node.typeName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.typeParamNameList = (IASTListNode<ASTTypeParamNameNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.typeParamNameList != null) node.typeParamNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeStmt251(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDerivedTypeStmtNode node = new ASTDerivedTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.typeAttrSpecList = (IASTListNode<ASTTypeAttrSpecNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.typeAttrSpecList != null) node.typeAttrSpecList.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("typeName");
-                    if (node.typeName != null) node.typeName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.typeParamNameList = (IASTListNode<ASTTypeParamNameNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.typeParamNameList != null) node.typeParamNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeParamNameList252(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTTypeParamNameNode> list = (ASTSeparatedListNode<ASTTypeParamNameNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTTypeParamNameNode elt = (ASTTypeParamNameNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleTypeParamNameList253(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTTypeParamNameNode> list = new ASTSeparatedListNode<ASTTypeParamNameNode>();
-                    ASTTypeParamNameNode elt = (ASTTypeParamNameNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleTypeAttrSpecList254(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTTypeAttrSpecNode> list = (ASTSeparatedListNode<ASTTypeAttrSpecNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTTypeAttrSpecNode elt = (ASTTypeAttrSpecNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleTypeAttrSpecList255(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTTypeAttrSpecNode> list = new ASTSeparatedListNode<ASTTypeAttrSpecNode>();
-                    ASTTypeAttrSpecNode elt = (ASTTypeAttrSpecNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleTypeAttrSpec256(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeAttrSpecNode node = new ASTTypeAttrSpecNode();
-                    node.accessSpec = (ASTAccessSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.accessSpec != null) node.accessSpec.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeAttrSpec257(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeAttrSpecNode node = new ASTTypeAttrSpecNode();
-                    node.isExtends = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isExtends != null) node.isExtends.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.parentTypeName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.parentTypeName != null) node.parentTypeName.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeAttrSpec258(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeAttrSpecNode node = new ASTTypeAttrSpecNode();
-                    node.isAbstract = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isAbstract != null) node.isAbstract.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeAttrSpec259(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeAttrSpecNode node = new ASTTypeAttrSpecNode();
-                    node.isBind = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isBind != null) node.isBind.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.language = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.language != null) node.language.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeParamName260(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeParamNameNode node = new ASTTypeParamNameNode();
-                    node.typeParamName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.typeParamName != null) node.typeParamName.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrivateSequenceStmt261(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPrivateSequenceStmtNode node = new ASTPrivateSequenceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.privateToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.privateToken != null) node.privateToken.setParent(node);
-                    node.isPrivate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.isPrivate != null) node.isPrivate.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrivateSequenceStmt262(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPrivateSequenceStmtNode node = new ASTPrivateSequenceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.sequenceToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.sequenceToken != null) node.sequenceToken.setParent(node);
-                    node.isSequence = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.isSequence != null) node.isSequence.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeParamDefStmt263(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeParamDefStmtNode node = new ASTTypeParamDefStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.typeParamAttrSpec = (ASTTypeParamAttrSpecNode)valueStack.get(valueStackOffset + 3);
-                    if (node.typeParamAttrSpec != null) node.typeParamAttrSpec.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.typeParamDeclList = (IASTListNode<ASTTypeParamDeclNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.typeParamDeclList != null) node.typeParamDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeParamDeclList264(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTTypeParamDeclNode> list = (ASTSeparatedListNode<ASTTypeParamDeclNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTTypeParamDeclNode elt = (ASTTypeParamDeclNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleTypeParamDeclList265(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTTypeParamDeclNode> list = new ASTSeparatedListNode<ASTTypeParamDeclNode>();
-                    ASTTypeParamDeclNode elt = (ASTTypeParamDeclNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleTypeParamDecl266(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeParamDeclNode node = new ASTTypeParamDeclNode();
-                    node.typeParamName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.typeParamName != null) node.typeParamName.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeParamDecl267(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeParamDeclNode node = new ASTTypeParamDeclNode();
-                    node.typeParamName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.typeParamName != null) node.typeParamName.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeParamAttrSpec268(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeParamAttrSpecNode node = new ASTTypeParamAttrSpecNode();
-                    node.isKind = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isKind != null) node.isKind.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeParamAttrSpec269(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeParamAttrSpecNode node = new ASTTypeParamAttrSpecNode();
-                    node.isLen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isLen != null) node.isLen.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDefStmt270(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTDataComponentDefStmtNode result = (ASTDataComponentDefStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleComponentDefStmt271(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTProcComponentDefStmtNode result = (ASTProcComponentDefStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDataComponentDefStmt272(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDataComponentDefStmtNode node = new ASTDataComponentDefStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.componentAttrSpecList = (IASTListNode<ASTComponentAttrSpecNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.componentAttrSpecList != null) node.componentAttrSpecList.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.componentDeclList = (IASTListNode<ASTComponentDeclNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.componentDeclList != null) node.componentDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDataComponentDefStmt273(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDataComponentDefStmtNode node = new ASTDataComponentDefStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.componentDeclList = (IASTListNode<ASTComponentDeclNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.componentDeclList != null) node.componentDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDataComponentDefStmt274(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDataComponentDefStmtNode node = new ASTDataComponentDefStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    node.componentDeclList = (IASTListNode<ASTComponentDeclNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.componentDeclList != null) node.componentDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentAttrSpecList275(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTComponentAttrSpecNode> list = new ASTSeparatedListNode<ASTComponentAttrSpecNode>();
-                    ASTComponentAttrSpecNode elt = (ASTComponentAttrSpecNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleComponentAttrSpecList276(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTComponentAttrSpecNode> list = (ASTSeparatedListNode<ASTComponentAttrSpecNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTComponentAttrSpecNode elt = (ASTComponentAttrSpecNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleComponentAttrSpec277(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentAttrSpecNode node = new ASTComponentAttrSpecNode();
-                    node.pointer = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.pointer != null) node.pointer.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentAttrSpec278(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentAttrSpecNode node = new ASTComponentAttrSpecNode();
-                    node.dimension = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.dimension != null) node.dimension.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.componentArraySpec = (ASTComponentArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.componentArraySpec != null) node.componentArraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentAttrSpec279(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentAttrSpecNode node = new ASTComponentAttrSpecNode();
-                    node.allocatable = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.allocatable != null) node.allocatable.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentAttrSpec280(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentAttrSpecNode node = new ASTComponentAttrSpecNode();
-                    node.accessSpec = (ASTAccessSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.accessSpec != null) node.accessSpec.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentAttrSpec281(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentAttrSpecNode node = new ASTComponentAttrSpecNode();
-                    node.codimension = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.codimension != null) node.codimension.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentAttrSpec282(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentAttrSpecNode node = new ASTComponentAttrSpecNode();
-                    node.contiguous = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.contiguous != null) node.contiguous.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentArraySpec283(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentArraySpecNode node = new ASTComponentArraySpecNode();
-                    node.explicitShapeSpecList = (IASTListNode<ASTExplicitShapeSpecNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.explicitShapeSpecList != null) node.explicitShapeSpecList.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentArraySpec284(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentArraySpecNode node = new ASTComponentArraySpecNode();
-                    node.deferredShapeSpecList = (IASTListNode<ASTDeferredShapeSpecListNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.deferredShapeSpecList != null) node.deferredShapeSpecList.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDeclList285(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTComponentDeclNode> list = new ASTSeparatedListNode<ASTComponentDeclNode>();
-                    ASTComponentDeclNode elt = (ASTComponentDeclNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleComponentDeclList286(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTComponentDeclNode> list = (ASTSeparatedListNode<ASTComponentDeclNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTComponentDeclNode elt = (ASTComponentDeclNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleComponentDecl287(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.componentArraySpec = (ASTComponentArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.componentArraySpec != null) node.componentArraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp5 = new ASTCharLengthNode();
-                    tmp5.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTLparen");
-                    if (tmp5.hiddenTLparen != null) tmp5.hiddenTLparen.setParent(tmp5);
-                    tmp5.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isColon");
-                    if (tmp5.isColon != null) tmp5.isColon.setParent(tmp5);
-                    tmp5.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constIntLength");
-                    if (tmp5.constIntLength != null) tmp5.constIntLength.setParent(tmp5);
-                    tmp5.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isAssumedLength");
-                    if (tmp5.isAssumedLength != null) tmp5.isAssumedLength.setParent(tmp5);
-                    tmp5.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("lengthExpr");
-                    if (tmp5.lengthExpr != null) tmp5.lengthExpr.setParent(tmp5);
-                    tmp5.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTRparen");
-                    if (tmp5.hiddenTRparen != null) tmp5.hiddenTRparen.setParent(tmp5);
-                    tmp5.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constNameLength");
-                    if (tmp5.constNameLength != null) tmp5.constNameLength.setParent(tmp5);
-                    node.charLength = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    node.componentInitialization = (ASTComponentInitializationNode)valueStack.get(valueStackOffset + 6);
-                    if (node.componentInitialization != null) node.componentInitialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl288(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.componentArraySpec = (ASTComponentArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.componentArraySpec != null) node.componentArraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp5 = new ASTCharLengthNode();
-                    tmp5.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTLparen");
-                    if (tmp5.hiddenTLparen != null) tmp5.hiddenTLparen.setParent(tmp5);
-                    tmp5.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isColon");
-                    if (tmp5.isColon != null) tmp5.isColon.setParent(tmp5);
-                    tmp5.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constIntLength");
-                    if (tmp5.constIntLength != null) tmp5.constIntLength.setParent(tmp5);
-                    tmp5.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isAssumedLength");
-                    if (tmp5.isAssumedLength != null) tmp5.isAssumedLength.setParent(tmp5);
-                    tmp5.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("lengthExpr");
-                    if (tmp5.lengthExpr != null) tmp5.lengthExpr.setParent(tmp5);
-                    tmp5.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTRparen");
-                    if (tmp5.hiddenTRparen != null) tmp5.hiddenTRparen.setParent(tmp5);
-                    tmp5.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constNameLength");
-                    if (tmp5.constNameLength != null) tmp5.constNameLength.setParent(tmp5);
-                    node.charLength = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl289(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.componentArraySpec = (ASTComponentArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.componentArraySpec != null) node.componentArraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.componentInitialization = (ASTComponentInitializationNode)valueStack.get(valueStackOffset + 4);
-                    if (node.componentInitialization != null) node.componentInitialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl290(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.componentArraySpec = (ASTComponentArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.componentArraySpec != null) node.componentArraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl291(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp2 = new ASTCharLengthNode();
-                    tmp2.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (tmp2.hiddenTLparen != null) tmp2.hiddenTLparen.setParent(tmp2);
-                    tmp2.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isColon");
-                    if (tmp2.isColon != null) tmp2.isColon.setParent(tmp2);
-                    tmp2.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constIntLength");
-                    if (tmp2.constIntLength != null) tmp2.constIntLength.setParent(tmp2);
-                    tmp2.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isAssumedLength");
-                    if (tmp2.isAssumedLength != null) tmp2.isAssumedLength.setParent(tmp2);
-                    tmp2.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lengthExpr");
-                    if (tmp2.lengthExpr != null) tmp2.lengthExpr.setParent(tmp2);
-                    tmp2.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (tmp2.hiddenTRparen != null) tmp2.hiddenTRparen.setParent(tmp2);
-                    tmp2.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constNameLength");
-                    if (tmp2.constNameLength != null) tmp2.constNameLength.setParent(tmp2);
-                    node.charLength = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    node.componentInitialization = (ASTComponentInitializationNode)valueStack.get(valueStackOffset + 3);
-                    if (node.componentInitialization != null) node.componentInitialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl292(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp2 = new ASTCharLengthNode();
-                    tmp2.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (tmp2.hiddenTLparen != null) tmp2.hiddenTLparen.setParent(tmp2);
-                    tmp2.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isColon");
-                    if (tmp2.isColon != null) tmp2.isColon.setParent(tmp2);
-                    tmp2.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constIntLength");
-                    if (tmp2.constIntLength != null) tmp2.constIntLength.setParent(tmp2);
-                    tmp2.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isAssumedLength");
-                    if (tmp2.isAssumedLength != null) tmp2.isAssumedLength.setParent(tmp2);
-                    tmp2.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lengthExpr");
-                    if (tmp2.lengthExpr != null) tmp2.lengthExpr.setParent(tmp2);
-                    tmp2.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (tmp2.hiddenTRparen != null) tmp2.hiddenTRparen.setParent(tmp2);
-                    tmp2.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constNameLength");
-                    if (tmp2.constNameLength != null) tmp2.constNameLength.setParent(tmp2);
-                    node.charLength = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl293(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.componentInitialization = (ASTComponentInitializationNode)valueStack.get(valueStackOffset + 1);
-                    if (node.componentInitialization != null) node.componentInitialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl294(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl295(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.componentArraySpec = (ASTComponentArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.componentArraySpec != null) node.componentArraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 5);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp8 = new ASTCharLengthNode();
-                    tmp8.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("hiddenTLparen");
-                    if (tmp8.hiddenTLparen != null) tmp8.hiddenTLparen.setParent(tmp8);
-                    tmp8.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("isColon");
-                    if (tmp8.isColon != null) tmp8.isColon.setParent(tmp8);
-                    tmp8.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("constIntLength");
-                    if (tmp8.constIntLength != null) tmp8.constIntLength.setParent(tmp8);
-                    tmp8.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("isAssumedLength");
-                    if (tmp8.isAssumedLength != null) tmp8.isAssumedLength.setParent(tmp8);
-                    tmp8.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("lengthExpr");
-                    if (tmp8.lengthExpr != null) tmp8.lengthExpr.setParent(tmp8);
-                    tmp8.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("hiddenTRparen");
-                    if (tmp8.hiddenTRparen != null) tmp8.hiddenTRparen.setParent(tmp8);
-                    tmp8.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("constNameLength");
-                    if (tmp8.constNameLength != null) tmp8.constNameLength.setParent(tmp8);
-                    node.charLength = tmp8;
-                    if (tmp8 != null) tmp8.setParent(node);
-                    node.componentInitialization = (ASTComponentInitializationNode)valueStack.get(valueStackOffset + 9);
-                    if (node.componentInitialization != null) node.componentInitialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl296(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.componentArraySpec = (ASTComponentArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.componentArraySpec != null) node.componentArraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 5);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp8 = new ASTCharLengthNode();
-                    tmp8.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("hiddenTLparen");
-                    if (tmp8.hiddenTLparen != null) tmp8.hiddenTLparen.setParent(tmp8);
-                    tmp8.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("isColon");
-                    if (tmp8.isColon != null) tmp8.isColon.setParent(tmp8);
-                    tmp8.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("constIntLength");
-                    if (tmp8.constIntLength != null) tmp8.constIntLength.setParent(tmp8);
-                    tmp8.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("isAssumedLength");
-                    if (tmp8.isAssumedLength != null) tmp8.isAssumedLength.setParent(tmp8);
-                    tmp8.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("lengthExpr");
-                    if (tmp8.lengthExpr != null) tmp8.lengthExpr.setParent(tmp8);
-                    tmp8.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("hiddenTRparen");
-                    if (tmp8.hiddenTRparen != null) tmp8.hiddenTRparen.setParent(tmp8);
-                    tmp8.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("constNameLength");
-                    if (tmp8.constNameLength != null) tmp8.constNameLength.setParent(tmp8);
-                    node.charLength = tmp8;
-                    if (tmp8 != null) tmp8.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl297(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.componentArraySpec = (ASTComponentArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.componentArraySpec != null) node.componentArraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 5);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.componentInitialization = (ASTComponentInitializationNode)valueStack.get(valueStackOffset + 7);
-                    if (node.componentInitialization != null) node.componentInitialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl298(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.componentArraySpec = (ASTComponentArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.componentArraySpec != null) node.componentArraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 5);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl299(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp5 = new ASTCharLengthNode();
-                    tmp5.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTLparen");
-                    if (tmp5.hiddenTLparen != null) tmp5.hiddenTLparen.setParent(tmp5);
-                    tmp5.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isColon");
-                    if (tmp5.isColon != null) tmp5.isColon.setParent(tmp5);
-                    tmp5.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constIntLength");
-                    if (tmp5.constIntLength != null) tmp5.constIntLength.setParent(tmp5);
-                    tmp5.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isAssumedLength");
-                    if (tmp5.isAssumedLength != null) tmp5.isAssumedLength.setParent(tmp5);
-                    tmp5.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("lengthExpr");
-                    if (tmp5.lengthExpr != null) tmp5.lengthExpr.setParent(tmp5);
-                    tmp5.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTRparen");
-                    if (tmp5.hiddenTRparen != null) tmp5.hiddenTRparen.setParent(tmp5);
-                    tmp5.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constNameLength");
-                    if (tmp5.constNameLength != null) tmp5.constNameLength.setParent(tmp5);
-                    node.charLength = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    node.componentInitialization = (ASTComponentInitializationNode)valueStack.get(valueStackOffset + 6);
-                    if (node.componentInitialization != null) node.componentInitialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl300(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp5 = new ASTCharLengthNode();
-                    tmp5.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTLparen");
-                    if (tmp5.hiddenTLparen != null) tmp5.hiddenTLparen.setParent(tmp5);
-                    tmp5.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isColon");
-                    if (tmp5.isColon != null) tmp5.isColon.setParent(tmp5);
-                    tmp5.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constIntLength");
-                    if (tmp5.constIntLength != null) tmp5.constIntLength.setParent(tmp5);
-                    tmp5.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isAssumedLength");
-                    if (tmp5.isAssumedLength != null) tmp5.isAssumedLength.setParent(tmp5);
-                    tmp5.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("lengthExpr");
-                    if (tmp5.lengthExpr != null) tmp5.lengthExpr.setParent(tmp5);
-                    tmp5.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTRparen");
-                    if (tmp5.hiddenTRparen != null) tmp5.hiddenTRparen.setParent(tmp5);
-                    tmp5.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constNameLength");
-                    if (tmp5.constNameLength != null) tmp5.constNameLength.setParent(tmp5);
-                    node.charLength = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl301(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.componentInitialization = (ASTComponentInitializationNode)valueStack.get(valueStackOffset + 4);
-                    if (node.componentInitialization != null) node.componentInitialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentDecl302(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentDeclNode node = new ASTComponentDeclNode();
-                    node.componentName = (ASTComponentNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentInitialization303(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentInitializationNode node = new ASTComponentInitializationNode();
-                    node.assignsExpr = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.assignsExpr != null) node.assignsExpr.setParent(node);
-                    node.assignedExpr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.assignedExpr != null) node.assignedExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleComponentInitialization304(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentInitializationNode node = new ASTComponentInitializationNode();
-                    node.assignsNull = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.assignsNull != null) node.assignsNull.setParent(node);
-                    node.hiddenTNull = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTNull != null) node.hiddenTNull.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndTypeStmt305(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndTypeStmtNode node = new ASTEndTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndtype = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndtype != null) node.hiddenTEndtype.setParent(node);
-                    ASTTypeNameNode tmp2 = new ASTTypeNameNode();
-                    tmp2.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("typeName");
-                    if (tmp2.typeName != null) tmp2.typeName.setParent(tmp2);
-                    node.typeName = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndTypeStmt306(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndTypeStmtNode node = new ASTEndTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    ASTTypeNameNode tmp3 = new ASTTypeNameNode();
-                    tmp3.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("typeName");
-                    if (tmp3.typeName != null) tmp3.typeName.setParent(tmp3);
-                    node.typeName = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndTypeStmt307(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndTypeStmtNode node = new ASTEndTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndtype = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndtype != null) node.hiddenTEndtype.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndTypeStmt308(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndTypeStmtNode node = new ASTEndTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcComponentDefStmt309(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcComponentDefStmtNode node = new ASTProcComponentDefStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.procInterface = (ASTProcInterfaceNode)valueStack.get(valueStackOffset + 3);
-                    if (node.procInterface != null) node.procInterface.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.procComponentAttrSpecList = (IASTListNode<ASTProcComponentAttrSpecNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.procComponentAttrSpecList != null) node.procComponentAttrSpecList.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.procDeclList = (IASTListNode<ASTProcDeclNode>)valueStack.get(valueStackOffset + 9);
-                    if (node.procDeclList != null) node.procDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcComponentDefStmt310(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcComponentDefStmtNode node = new ASTProcComponentDefStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.procComponentAttrSpecList = (IASTListNode<ASTProcComponentAttrSpecNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.procComponentAttrSpecList != null) node.procComponentAttrSpecList.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.procDeclList = (IASTListNode<ASTProcDeclNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.procDeclList != null) node.procDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcInterface311(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcInterfaceNode node = new ASTProcInterfaceNode();
-                    node.interfaceName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.interfaceName != null) node.interfaceName.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcInterface312(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcInterfaceNode node = new ASTProcInterfaceNode();
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcDeclList313(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTProcDeclNode> list = (ASTSeparatedListNode<ASTProcDeclNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTProcDeclNode elt = (ASTProcDeclNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleProcDeclList314(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTProcDeclNode> list = new ASTSeparatedListNode<ASTProcDeclNode>();
-                    ASTProcDeclNode elt = (ASTProcDeclNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleProcDecl315(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcDeclNode node = new ASTProcDeclNode();
-                    node.procedureEntityName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.procedureEntityName != null) node.procedureEntityName.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcDecl316(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcDeclNode node = new ASTProcDeclNode();
-                    node.procedureEntityName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.procedureEntityName != null) node.procedureEntityName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.assignsNull = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.assignsNull != null) node.assignsNull.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcComponentAttrSpecList317(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTProcComponentAttrSpecNode> list = (ASTSeparatedListNode<ASTProcComponentAttrSpecNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTProcComponentAttrSpecNode elt = (ASTProcComponentAttrSpecNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleProcComponentAttrSpecList318(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTProcComponentAttrSpecNode> list = new ASTSeparatedListNode<ASTProcComponentAttrSpecNode>();
-                    ASTProcComponentAttrSpecNode elt = (ASTProcComponentAttrSpecNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleProcComponentAttrSpec319(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcComponentAttrSpecNode node = new ASTProcComponentAttrSpecNode();
-                    node.isPointer = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isPointer != null) node.isPointer.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcComponentAttrSpec320(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcComponentAttrSpecNode node = new ASTProcComponentAttrSpecNode();
-                    node.isPass = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isPass != null) node.isPass.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcComponentAttrSpec321(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcComponentAttrSpecNode node = new ASTProcComponentAttrSpecNode();
-                    node.isPass = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isPass != null) node.isPass.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.argName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.argName != null) node.argName.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcComponentAttrSpec322(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcComponentAttrSpecNode node = new ASTProcComponentAttrSpecNode();
-                    node.isNoPass = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isNoPass != null) node.isNoPass.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcComponentAttrSpec323(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcComponentAttrSpecNode node = new ASTProcComponentAttrSpecNode();
-                    node.accessSpec = (ASTAccessSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.accessSpec != null) node.accessSpec.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeBoundProcedurePart324(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeBoundProcedurePartNode node = new ASTTypeBoundProcedurePartNode();
-                    node.containsStmt = (ASTContainsStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.containsStmt != null) node.containsStmt.setParent(node);
-                    node.bindingPrivateStmt = (ASTBindingPrivateStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.bindingPrivateStmt != null) node.bindingPrivateStmt.setParent(node);
-                    node.procBindingStmts = (IASTListNode<IProcBindingStmt>)valueStack.get(valueStackOffset + 2);
-                    if (node.procBindingStmts != null) node.procBindingStmts.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeBoundProcedurePart325(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeBoundProcedurePartNode node = new ASTTypeBoundProcedurePartNode();
-                    node.containsStmt = (ASTContainsStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.containsStmt != null) node.containsStmt.setParent(node);
-                    node.procBindingStmts = (IASTListNode<IProcBindingStmt>)valueStack.get(valueStackOffset + 1);
-                    if (node.procBindingStmts != null) node.procBindingStmts.setParent(node);
-                    return node;
-
-        }
-        public Object handleBindingPrivateStmt326(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBindingPrivateStmtNode node = new ASTBindingPrivateStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.privateToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.privateToken != null) node.privateToken.setParent(node);
-                    node.isPrivate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.isPrivate != null) node.isPrivate.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcBindingStmts327(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IProcBindingStmt> list = (IASTListNode<IProcBindingStmt>)valueStack.get(valueStackOffset);
-                    IProcBindingStmt elt = (IProcBindingStmt)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleProcBindingStmts328(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IProcBindingStmt> list = new ASTListNode<IProcBindingStmt>();
-                    IProcBindingStmt elt = (IProcBindingStmt)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleProcBindingStmt329(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTSpecificBindingNode result = (ASTSpecificBindingNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleProcBindingStmt330(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTGenericBindingNode result = (ASTGenericBindingNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleProcBindingStmt331(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTFinalBindingNode result = (ASTFinalBindingNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSpecificBinding332(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSpecificBinding333(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.procedureName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.procedureName != null) node.procedureName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSpecificBinding334(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSpecificBinding335(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.procedureName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.procedureName != null) node.procedureName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSpecificBinding336(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.bindingAttrList = (IASTListNode<ASTBindingAttrNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.bindingAttrList != null) node.bindingAttrList.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSpecificBinding337(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.bindingAttrList = (IASTListNode<ASTBindingAttrNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.bindingAttrList != null) node.bindingAttrList.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.procedureName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.procedureName != null) node.procedureName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSpecificBinding338(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.interfaceName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.interfaceName != null) node.interfaceName.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSpecificBinding339(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.interfaceName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.interfaceName != null) node.interfaceName.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.procedureName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.procedureName != null) node.procedureName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSpecificBinding340(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.interfaceName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.interfaceName != null) node.interfaceName.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSpecificBinding341(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.interfaceName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.interfaceName != null) node.interfaceName.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.procedureName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.procedureName != null) node.procedureName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSpecificBinding342(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.interfaceName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.interfaceName != null) node.interfaceName.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.bindingAttrList = (IASTListNode<ASTBindingAttrNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.bindingAttrList != null) node.bindingAttrList.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSpecificBinding343(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSpecificBindingNode node = new ASTSpecificBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.interfaceName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.interfaceName != null) node.interfaceName.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.bindingAttrList = (IASTListNode<ASTBindingAttrNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.bindingAttrList != null) node.bindingAttrList.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.bindingName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.bindingName != null) node.bindingName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.procedureName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 11);
-                    if (node.procedureName != null) node.procedureName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 12);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleGenericBinding344(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTGenericBindingNode node = new ASTGenericBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTGeneric = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTGeneric != null) node.hiddenTGeneric.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.accessSpec = (ASTAccessSpecNode)valueStack.get(valueStackOffset + 3);
-                    if (node.accessSpec != null) node.accessSpec.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.genericSpec = (ASTGenericSpecNode)valueStack.get(valueStackOffset + 6);
-                    if (node.genericSpec != null) node.genericSpec.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.bindingNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 8);
-                    if (node.bindingNameList != null) node.bindingNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleGenericBinding345(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTGenericBindingNode node = new ASTGenericBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTGeneric = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTGeneric != null) node.hiddenTGeneric.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.genericSpec = (ASTGenericSpecNode)valueStack.get(valueStackOffset + 4);
-                    if (node.genericSpec != null) node.genericSpec.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.bindingNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 6);
-                    if (node.bindingNameList != null) node.bindingNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleGenericBinding346(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTGenericBindingNode node = new ASTGenericBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTGeneric = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTGeneric != null) node.hiddenTGeneric.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.accessSpec = (ASTAccessSpecNode)valueStack.get(valueStackOffset + 3);
-                    if (node.accessSpec != null) node.accessSpec.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.genericName = (ASTGenericNameNode)valueStack.get(valueStackOffset + 6);
-                    if (node.genericName != null) node.genericName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.bindingNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 8);
-                    if (node.bindingNameList != null) node.bindingNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleGenericBinding347(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTGenericBindingNode node = new ASTGenericBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTGeneric = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTGeneric != null) node.hiddenTGeneric.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.genericName = (ASTGenericNameNode)valueStack.get(valueStackOffset + 4);
-                    if (node.genericName != null) node.genericName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.bindingNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 6);
-                    if (node.bindingNameList != null) node.bindingNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleBindingNameList348(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token> list = (ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    org.eclipse.photran.internal.core.lexer.Token elt = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleBindingNameList349(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token> list = new ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token>();
-                    org.eclipse.photran.internal.core.lexer.Token elt = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleBindingAttrList350(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTBindingAttrNode> list = (ASTSeparatedListNode<ASTBindingAttrNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTBindingAttrNode elt = (ASTBindingAttrNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleBindingAttrList351(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTBindingAttrNode> list = new ASTSeparatedListNode<ASTBindingAttrNode>();
-                    ASTBindingAttrNode elt = (ASTBindingAttrNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleBindingAttr352(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBindingAttrNode node = new ASTBindingAttrNode();
-                    node.isPass = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isPass != null) node.isPass.setParent(node);
-                    return node;
-
-        }
-        public Object handleBindingAttr353(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBindingAttrNode node = new ASTBindingAttrNode();
-                    node.isPass = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isPass != null) node.isPass.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.argName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.argName != null) node.argName.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleBindingAttr354(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBindingAttrNode node = new ASTBindingAttrNode();
-                    node.isNoPass = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isNoPass != null) node.isNoPass.setParent(node);
-                    return node;
-
-        }
-        public Object handleBindingAttr355(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBindingAttrNode node = new ASTBindingAttrNode();
-                    node.isNonOverridable = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isNonOverridable != null) node.isNonOverridable.setParent(node);
-                    return node;
-
-        }
-        public Object handleBindingAttr356(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBindingAttrNode node = new ASTBindingAttrNode();
-                    node.isDeferred = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDeferred != null) node.isDeferred.setParent(node);
-                    return node;
-
-        }
-        public Object handleBindingAttr357(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBindingAttrNode node = new ASTBindingAttrNode();
-                    node.accessSpec = (ASTAccessSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.accessSpec != null) node.accessSpec.setParent(node);
-                    return node;
-
-        }
-        public Object handleFinalBinding358(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFinalBindingNode node = new ASTFinalBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTFinal = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTFinal != null) node.hiddenTFinal.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.finalSubroutineNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 4);
-                    if (node.finalSubroutineNameList != null) node.finalSubroutineNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFinalBinding359(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFinalBindingNode node = new ASTFinalBindingNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTFinal = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTFinal != null) node.hiddenTFinal.setParent(node);
-                    node.finalSubroutineNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 2);
-                    if (node.finalSubroutineNameList != null) node.finalSubroutineNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFinalSubroutineNameList360(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token> list = (ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    org.eclipse.photran.internal.core.lexer.Token elt = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleFinalSubroutineNameList361(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token> list = new ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token>();
-                    org.eclipse.photran.internal.core.lexer.Token elt = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleStructureConstructor362(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTStructureConstructorNode node = new ASTStructureConstructorNode();
-                    node.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("typeName");
-                    if (node.typeName != null) node.typeName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.typeParamSpecList = (IASTListNode<ASTTypeParamSpecNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.typeParamSpecList != null) node.typeParamSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleStructureConstructor363(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTStructureConstructorNode node = new ASTStructureConstructorNode();
-                    node.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("typeName");
-                    if (node.typeName != null) node.typeName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.typeParamSpecList = (IASTListNode<ASTTypeParamSpecNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.typeParamSpecList != null) node.typeParamSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.typeParamSpecList2 = (IASTListNode<ASTTypeParamSpecNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.typeParamSpecList2 != null) node.typeParamSpecList2.setParent(node);
-                    node.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRparen2 != null) node.hiddenTRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handleEnumDef364(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEnumDefNode node = new ASTEnumDefNode();
-                    node.enumDefStmt = (ASTEnumDefStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.enumDefStmt != null) node.enumDefStmt.setParent(node);
-                    node.enumeratorDefStmts = (IASTListNode<ASTEnumeratorDefStmtNode>)valueStack.get(valueStackOffset + 1);
-                    if (node.enumeratorDefStmts != null) node.enumeratorDefStmts.setParent(node);
-                    node.endEnumStmt = (ASTEndEnumStmtNode)valueStack.get(valueStackOffset + 2);
-                    if (node.endEnumStmt != null) node.endEnumStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleEnumeratorDefStmts365(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<ASTEnumeratorDefStmtNode> list = (IASTListNode<ASTEnumeratorDefStmtNode>)valueStack.get(valueStackOffset);
-                    ASTEnumeratorDefStmtNode elt = (ASTEnumeratorDefStmtNode)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleEnumeratorDefStmts366(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<ASTEnumeratorDefStmtNode> list = new ASTListNode<ASTEnumeratorDefStmtNode>();
-                    ASTEnumeratorDefStmtNode elt = (ASTEnumeratorDefStmtNode)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleEnumDefStmt367(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEnumDefStmtNode node = new ASTEnumDefStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnum = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnum != null) node.hiddenTEnum.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTBind = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTBind != null) node.hiddenTBind.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTIdent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTIdent != null) node.hiddenTIdent.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEnumeratorDefStmt368(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEnumeratorDefStmtNode node = new ASTEnumeratorDefStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnumerator = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnumerator != null) node.hiddenTEnumerator.setParent(node);
-                    node.enumeratorList = (IASTListNode<ASTEnumeratorNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.enumeratorList != null) node.enumeratorList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEnumeratorDefStmt369(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEnumeratorDefStmtNode node = new ASTEnumeratorDefStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnumerator = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnumerator != null) node.hiddenTEnumerator.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.enumeratorList = (IASTListNode<ASTEnumeratorNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.enumeratorList != null) node.enumeratorList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEnumerator370(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEnumeratorNode node = new ASTEnumeratorNode();
-                    ASTNamedConstantNode tmp0 = new ASTNamedConstantNode();
-                    tmp0.namedConstant = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("namedConstant");
-                    if (tmp0.namedConstant != null) tmp0.namedConstant.setParent(tmp0);
-                    node.namedConstant = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    return node;
-
-        }
-        public Object handleEnumerator371(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEnumeratorNode node = new ASTEnumeratorNode();
-                    ASTNamedConstantNode tmp0 = new ASTNamedConstantNode();
-                    tmp0.namedConstant = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("namedConstant");
-                    if (tmp0.namedConstant != null) tmp0.namedConstant.setParent(tmp0);
-                    node.namedConstant = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleEnumeratorList372(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTEnumeratorNode> list = (ASTSeparatedListNode<ASTEnumeratorNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTEnumeratorNode elt = (ASTEnumeratorNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleEnumeratorList373(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTEnumeratorNode> list = new ASTSeparatedListNode<ASTEnumeratorNode>();
-                    ASTEnumeratorNode elt = (ASTEnumeratorNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleEndEnumStmt374(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndEnumStmtNode node = new ASTEndEnumStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTEnum = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEnum != null) node.hiddenTEnum.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleArrayConstructor375(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTArrayConstructorNode node = new ASTArrayConstructorNode();
-                    node.hiddenTLparenslash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparenslash != null) node.hiddenTLparenslash.setParent(node);
-                    node.acValueList = (IASTListNode<ASTAcValueNode>)valueStack.get(valueStackOffset + 1);
-                    if (node.acValueList != null) node.acValueList.setParent(node);
-                    node.hiddenTSlashrparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTSlashrparen != null) node.hiddenTSlashrparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleArrayConstructor376(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTArrayConstructorNode node = new ASTArrayConstructorNode();
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.acValueList = (IASTListNode<ASTAcValueNode>)valueStack.get(valueStackOffset + 1);
-                    if (node.acValueList != null) node.acValueList.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleAcValueList377(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTAcValueNode> list = new ASTSeparatedListNode<ASTAcValueNode>();
-                    ASTAcValueNode elt = (ASTAcValueNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleAcValueList378(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTAcValueNode> list = (ASTSeparatedListNode<ASTAcValueNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTAcValueNode elt = (ASTAcValueNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleAcValue379(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAcValueNode node = new ASTAcValueNode();
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleAcValue380(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAcValueNode node = new ASTAcValueNode();
-                    node.acImpliedDo = (ASTAcImpliedDoNode)valueStack.get(valueStackOffset + 0);
-                    if (node.acImpliedDo != null) node.acImpliedDo.setParent(node);
-                    return node;
-
-        }
-        public Object handleAcImpliedDo381(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAcImpliedDoNode node = new ASTAcImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    ASTImpliedDoVariableNode tmp3 = new ASTImpliedDoVariableNode();
-                    tmp3.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (tmp3.impliedDoVariable != null) tmp3.impliedDoVariable.setParent(tmp3);
-                    node.impliedDoVariable = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleAcImpliedDo382(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAcImpliedDoNode node = new ASTAcImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    ASTImpliedDoVariableNode tmp3 = new ASTImpliedDoVariableNode();
-                    tmp3.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (tmp3.impliedDoVariable != null) tmp3.impliedDoVariable.setParent(tmp3);
-                    node.impliedDoVariable = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTComma3 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTComma3 != null) node.hiddenTComma3.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 9);
-                    if (node.step != null) node.step.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleAcImpliedDo383(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAcImpliedDoNode node = new ASTAcImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.nestedImpliedDo = (ASTAcImpliedDoNode)valueStack.get(valueStackOffset + 1);
-                    if (node.nestedImpliedDo != null) node.nestedImpliedDo.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    ASTImpliedDoVariableNode tmp3 = new ASTImpliedDoVariableNode();
-                    tmp3.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (tmp3.impliedDoVariable != null) tmp3.impliedDoVariable.setParent(tmp3);
-                    node.impliedDoVariable = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleAcImpliedDo384(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAcImpliedDoNode node = new ASTAcImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.nestedImpliedDo = (ASTAcImpliedDoNode)valueStack.get(valueStackOffset + 1);
-                    if (node.nestedImpliedDo != null) node.nestedImpliedDo.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    ASTImpliedDoVariableNode tmp3 = new ASTImpliedDoVariableNode();
-                    tmp3.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (tmp3.impliedDoVariable != null) tmp3.impliedDoVariable.setParent(tmp3);
-                    node.impliedDoVariable = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTComma3 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTComma3 != null) node.hiddenTComma3.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 9);
-                    if (node.step != null) node.step.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeDeclarationStmt385(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeDeclarationStmtNode node = new ASTTypeDeclarationStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    node.attrSpecSeq = (IASTListNode<ASTAttrSpecSeqNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.attrSpecSeq != null) node.attrSpecSeq.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.entityDeclList = (IASTListNode<ASTEntityDeclNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.entityDeclList != null) node.entityDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeDeclarationStmt386(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeDeclarationStmtNode node = new ASTTypeDeclarationStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.entityDeclList = (IASTListNode<ASTEntityDeclNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.entityDeclList != null) node.entityDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeDeclarationStmt387(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeDeclarationStmtNode node = new ASTTypeDeclarationStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    node.entityDeclList = (IASTListNode<ASTEntityDeclNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.entityDeclList != null) node.entityDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeDeclarationStmt388(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeDeclarationStmtNode node = new ASTTypeDeclarationStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.entityDeclList = (IASTListNode<ASTEntityDeclNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.entityDeclList != null) node.entityDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpecSeq389(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTAttrSpecSeqNode node = new ASTAttrSpecSeqNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.attrSpec = (ASTAttrSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.attrSpec != null) node.attrSpec.setParent(node);
-                    ASTListNode<ASTAttrSpecSeqNode> list = new ASTListNode<ASTAttrSpecSeqNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleAttrSpecSeq390(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTAttrSpecSeqNode node = new ASTAttrSpecSeqNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.attrSpec = (ASTAttrSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.attrSpec != null) node.attrSpec.setParent(node);
-                    ASTListNode<ASTAttrSpecSeqNode> list = (ASTListNode<ASTAttrSpecSeqNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleTypeSpec391(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isInteger = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isInteger != null) node.isInteger.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec392(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isReal = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isReal != null) node.isReal.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec393(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isDblComplex = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDblComplex != null) node.isDblComplex.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec394(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isDouble = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDouble != null) node.isDouble.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec395(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isComplex = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isComplex != null) node.isComplex.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec396(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isLogical = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isLogical != null) node.isLogical.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec397(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isCharacter = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isCharacter != null) node.isCharacter.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec398(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isInteger = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isInteger != null) node.isInteger.setParent(node);
-                    node.kindSelector = (ASTKindSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.kindSelector != null) node.kindSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec399(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isReal = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isReal != null) node.isReal.setParent(node);
-                    node.kindSelector = (ASTKindSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.kindSelector != null) node.kindSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec400(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isDouble = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDouble != null) node.isDouble.setParent(node);
-                    node.hiddenTPrecision = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPrecision != null) node.hiddenTPrecision.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec401(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isComplex = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isComplex != null) node.isComplex.setParent(node);
-                    node.kindSelector = (ASTKindSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.kindSelector != null) node.kindSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec402(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isDblComplex = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDblComplex != null) node.isDblComplex.setParent(node);
-                    node.hiddenTComplex = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComplex != null) node.hiddenTComplex.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec403(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isCharacter = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isCharacter != null) node.isCharacter.setParent(node);
-                    node.charSelector = (ASTCharSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.charSelector != null) node.charSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec404(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isLogical = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isLogical != null) node.isLogical.setParent(node);
-                    node.kindSelector = (ASTKindSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.kindSelector != null) node.kindSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec405(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isDerivedType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDerivedType != null) node.isDerivedType.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("typeName");
-                    if (node.typeName != null) node.typeName.setParent(node);
-                    node.hiddenHiddenLParen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenHiddenLParen2");
-                    if (node.hiddenHiddenLParen2 != null) node.hiddenHiddenLParen2.setParent(node);
-                    node.typeParamSpecList = (IASTListNode<ASTTypeParamSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("typeParamSpecList");
-                    if (node.typeParamSpecList != null) node.typeParamSpecList.setParent(node);
-                    node.hiddenHiddenRParen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenHiddenRParen2");
-                    if (node.hiddenHiddenRParen2 != null) node.hiddenHiddenRParen2.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec406(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isDerivedType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDerivedType != null) node.isDerivedType.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("typeName");
-                    if (node.typeName != null) node.typeName.setParent(node);
-                    node.hiddenHiddenLParen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenHiddenLParen2");
-                    if (node.hiddenHiddenLParen2 != null) node.hiddenHiddenLParen2.setParent(node);
-                    node.typeParamSpecList = (IASTListNode<ASTTypeParamSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("typeParamSpecList");
-                    if (node.typeParamSpecList != null) node.typeParamSpecList.setParent(node);
-                    node.hiddenHiddenRParen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenHiddenRParen2");
-                    if (node.hiddenHiddenRParen2 != null) node.hiddenHiddenRParen2.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpec407(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isDerivedType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDerivedType != null) node.isDerivedType.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.isAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.isAsterisk != null) node.isAsterisk.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix408(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isInteger = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isInteger != null) node.isInteger.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix409(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isReal = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isReal != null) node.isReal.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix410(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isDblComplex = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDblComplex != null) node.isDblComplex.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix411(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isDouble = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDouble != null) node.isDouble.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix412(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isComplex = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isComplex != null) node.isComplex.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix413(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isLogical = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isLogical != null) node.isLogical.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix414(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isCharacter = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isCharacter != null) node.isCharacter.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix415(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isInteger = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isInteger != null) node.isInteger.setParent(node);
-                    node.kindSelector = (ASTKindSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.kindSelector != null) node.kindSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix416(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isReal = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isReal != null) node.isReal.setParent(node);
-                    node.kindSelector = (ASTKindSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.kindSelector != null) node.kindSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix417(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isDblComplex = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDblComplex != null) node.isDblComplex.setParent(node);
-                    node.hiddenTComplex = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComplex != null) node.hiddenTComplex.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix418(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isDouble = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDouble != null) node.isDouble.setParent(node);
-                    node.hiddenTPrecision = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPrecision != null) node.hiddenTPrecision.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix419(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isComplex = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isComplex != null) node.isComplex.setParent(node);
-                    node.kindSelector = (ASTKindSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.kindSelector != null) node.kindSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix420(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isCharacter = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isCharacter != null) node.isCharacter.setParent(node);
-                    node.charSelector = (ASTCharSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.charSelector != null) node.charSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix421(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.isLogical = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isLogical != null) node.isLogical.setParent(node);
-                    node.kindSelector = (ASTKindSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.kindSelector != null) node.kindSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeSpecNoPrefix422(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeSpecNode node = new ASTTypeSpecNode();
-                    node.typeName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("typeName");
-                    if (node.typeName != null) node.typeName.setParent(node);
-                    node.hiddenHiddenLParen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenHiddenLParen2");
-                    if (node.hiddenHiddenLParen2 != null) node.hiddenHiddenLParen2.setParent(node);
-                    node.typeParamSpecList = (IASTListNode<ASTTypeParamSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("typeParamSpecList");
-                    if (node.typeParamSpecList != null) node.typeParamSpecList.setParent(node);
-                    node.hiddenHiddenRParen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenHiddenRParen2");
-                    if (node.hiddenHiddenRParen2 != null) node.hiddenHiddenRParen2.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeSpec423(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("typeName", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("typeName"));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("typeName")));
-                    embeddedList.add((IASTNode)(node.get("hiddenHiddenLParen2")));
-                    embeddedList.add((IASTNode)(node.get("typeParamSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenHiddenRParen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleDerivedTypeSpec424(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("typeName", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("typeName"));
-                    node.put("hiddenHiddenLParen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("typeParamSpecList", (IASTListNode<ASTTypeParamSpecNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenHiddenRParen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("typeName")));
-                    embeddedList.add((IASTNode)(node.get("hiddenHiddenLParen2")));
-                    embeddedList.add((IASTNode)(node.get("typeParamSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenHiddenRParen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleTypeParamSpecList425(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTTypeParamSpecNode> list = new ASTSeparatedListNode<ASTTypeParamSpecNode>();
-                    ASTTypeParamSpecNode elt = (ASTTypeParamSpecNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleTypeParamSpecList426(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTTypeParamSpecNode> list = (ASTSeparatedListNode<ASTTypeParamSpecNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTTypeParamSpecNode elt = (ASTTypeParamSpecNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleTypeParamSpec427(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeParamSpecNode node = new ASTTypeParamSpecNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.typeParamValue = (ASTTypeParamValueNode)valueStack.get(valueStackOffset + 2);
-                    if (node.typeParamValue != null) node.typeParamValue.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeParamSpec428(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeParamSpecNode node = new ASTTypeParamSpecNode();
-                    node.typeParamValue = (ASTTypeParamValueNode)valueStack.get(valueStackOffset + 0);
-                    if (node.typeParamValue != null) node.typeParamValue.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeParamValue429(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeParamValueNode node = new ASTTypeParamValueNode();
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeParamValue430(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeParamValueNode node = new ASTTypeParamValueNode();
-                    node.isAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isAsterisk != null) node.isAsterisk.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeParamValue431(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeParamValueNode node = new ASTTypeParamValueNode();
-                    node.isColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isColon != null) node.isColon.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec432(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.accessSpec = (ASTAccessSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.accessSpec != null) node.accessSpec.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec433(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isParameter = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isParameter != null) node.isParameter.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec434(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isAllocatable = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isAllocatable != null) node.isAllocatable.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec435(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isDimension = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDimension != null) node.isDimension.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec436(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isExternal = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isExternal != null) node.isExternal.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec437(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isIntent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isIntent != null) node.isIntent.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.intentSpec = (ASTIntentSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.intentSpec != null) node.intentSpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec438(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isIntrinsic = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isIntrinsic != null) node.isIntrinsic.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec439(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isOptional = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isOptional != null) node.isOptional.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec440(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isPointer = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isPointer != null) node.isPointer.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec441(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isSave = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isSave != null) node.isSave.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec442(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isTarget = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isTarget != null) node.isTarget.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec443(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isAsync = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isAsync != null) node.isAsync.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec444(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isProtected = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isProtected != null) node.isProtected.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec445(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isValue = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isValue != null) node.isValue.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec446(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isVolatile = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isVolatile != null) node.isVolatile.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec447(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.languageBindingSpec = (ASTLanguageBindingSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.languageBindingSpec != null) node.languageBindingSpec.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec448(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isCodimension = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isCodimension != null) node.isCodimension.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleAttrSpec449(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isContiguous = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isContiguous != null) node.isContiguous.setParent(node);
-                    return node;
-
-        }
-        public Object handleLanguageBindingSpec450(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLanguageBindingSpecNode node = new ASTLanguageBindingSpecNode();
-                    node.isBind = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isBind != null) node.isBind.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.language = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.language != null) node.language.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleLanguageBindingSpec451(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLanguageBindingSpecNode node = new ASTLanguageBindingSpecNode();
-                    node.isBind = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isBind != null) node.isBind.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.language = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.language != null) node.language.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTIdent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTIdent != null) node.hiddenTIdent.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 6);
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDeclList452(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTEntityDeclNode> list = new ASTSeparatedListNode<ASTEntityDeclNode>();
-                    ASTEntityDeclNode elt = (ASTEntityDeclNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleEntityDeclList453(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTEntityDeclNode> list = (ASTSeparatedListNode<ASTEntityDeclNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTEntityDeclNode elt = (ASTEntityDeclNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleEntityDecl454(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl455(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.initialization = (ASTInitializationNode)valueStack.get(valueStackOffset + 1);
-                    if (node.initialization != null) node.initialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl456(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp2 = new ASTCharLengthNode();
-                    tmp2.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (tmp2.hiddenTLparen != null) tmp2.hiddenTLparen.setParent(tmp2);
-                    tmp2.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isColon");
-                    if (tmp2.isColon != null) tmp2.isColon.setParent(tmp2);
-                    tmp2.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constIntLength");
-                    if (tmp2.constIntLength != null) tmp2.constIntLength.setParent(tmp2);
-                    tmp2.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isAssumedLength");
-                    if (tmp2.isAssumedLength != null) tmp2.isAssumedLength.setParent(tmp2);
-                    tmp2.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lengthExpr");
-                    if (tmp2.lengthExpr != null) tmp2.lengthExpr.setParent(tmp2);
-                    tmp2.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (tmp2.hiddenTRparen != null) tmp2.hiddenTRparen.setParent(tmp2);
-                    tmp2.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constNameLength");
-                    if (tmp2.constNameLength != null) tmp2.constNameLength.setParent(tmp2);
-                    node.charLength = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl457(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp2 = new ASTCharLengthNode();
-                    tmp2.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (tmp2.hiddenTLparen != null) tmp2.hiddenTLparen.setParent(tmp2);
-                    tmp2.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isColon");
-                    if (tmp2.isColon != null) tmp2.isColon.setParent(tmp2);
-                    tmp2.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constIntLength");
-                    if (tmp2.constIntLength != null) tmp2.constIntLength.setParent(tmp2);
-                    tmp2.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isAssumedLength");
-                    if (tmp2.isAssumedLength != null) tmp2.isAssumedLength.setParent(tmp2);
-                    tmp2.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lengthExpr");
-                    if (tmp2.lengthExpr != null) tmp2.lengthExpr.setParent(tmp2);
-                    tmp2.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (tmp2.hiddenTRparen != null) tmp2.hiddenTRparen.setParent(tmp2);
-                    tmp2.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constNameLength");
-                    if (tmp2.constNameLength != null) tmp2.constNameLength.setParent(tmp2);
-                    node.charLength = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    node.initialization = (ASTInitializationNode)valueStack.get(valueStackOffset + 3);
-                    if (node.initialization != null) node.initialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl458(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl459(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.initialization = (ASTInitializationNode)valueStack.get(valueStackOffset + 4);
-                    if (node.initialization != null) node.initialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl460(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp5 = new ASTCharLengthNode();
-                    tmp5.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTLparen");
-                    if (tmp5.hiddenTLparen != null) tmp5.hiddenTLparen.setParent(tmp5);
-                    tmp5.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isColon");
-                    if (tmp5.isColon != null) tmp5.isColon.setParent(tmp5);
-                    tmp5.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constIntLength");
-                    if (tmp5.constIntLength != null) tmp5.constIntLength.setParent(tmp5);
-                    tmp5.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isAssumedLength");
-                    if (tmp5.isAssumedLength != null) tmp5.isAssumedLength.setParent(tmp5);
-                    tmp5.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("lengthExpr");
-                    if (tmp5.lengthExpr != null) tmp5.lengthExpr.setParent(tmp5);
-                    tmp5.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTRparen");
-                    if (tmp5.hiddenTRparen != null) tmp5.hiddenTRparen.setParent(tmp5);
-                    tmp5.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constNameLength");
-                    if (tmp5.constNameLength != null) tmp5.constNameLength.setParent(tmp5);
-                    node.charLength = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl461(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp5 = new ASTCharLengthNode();
-                    tmp5.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTLparen");
-                    if (tmp5.hiddenTLparen != null) tmp5.hiddenTLparen.setParent(tmp5);
-                    tmp5.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isColon");
-                    if (tmp5.isColon != null) tmp5.isColon.setParent(tmp5);
-                    tmp5.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constIntLength");
-                    if (tmp5.constIntLength != null) tmp5.constIntLength.setParent(tmp5);
-                    tmp5.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isAssumedLength");
-                    if (tmp5.isAssumedLength != null) tmp5.isAssumedLength.setParent(tmp5);
-                    tmp5.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("lengthExpr");
-                    if (tmp5.lengthExpr != null) tmp5.lengthExpr.setParent(tmp5);
-                    tmp5.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTRparen");
-                    if (tmp5.hiddenTRparen != null) tmp5.hiddenTRparen.setParent(tmp5);
-                    tmp5.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constNameLength");
-                    if (tmp5.constNameLength != null) tmp5.constNameLength.setParent(tmp5);
-                    node.charLength = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    node.initialization = (ASTInitializationNode)valueStack.get(valueStackOffset + 6);
-                    if (node.initialization != null) node.initialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl462(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("objectName");
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenAsterisk2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenAsterisk2");
-                    if (node.hiddenAsterisk2 != null) node.hiddenAsterisk2.setParent(node);
-                    node.initialCharLength = (ASTCharLengthNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("initialCharLength");
-                    if (node.initialCharLength != null) node.initialCharLength.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenLparen2");
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("arraySpec");
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenRparen2");
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.initialization = (ASTInitializationNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("initialization");
-                    if (node.initialization != null) node.initialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl463(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl464(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.initialization = (ASTInitializationNode)valueStack.get(valueStackOffset + 4);
-                    if (node.initialization != null) node.initialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl465(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp5 = new ASTCharLengthNode();
-                    tmp5.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTLparen");
-                    if (tmp5.hiddenTLparen != null) tmp5.hiddenTLparen.setParent(tmp5);
-                    tmp5.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isColon");
-                    if (tmp5.isColon != null) tmp5.isColon.setParent(tmp5);
-                    tmp5.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constIntLength");
-                    if (tmp5.constIntLength != null) tmp5.constIntLength.setParent(tmp5);
-                    tmp5.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isAssumedLength");
-                    if (tmp5.isAssumedLength != null) tmp5.isAssumedLength.setParent(tmp5);
-                    tmp5.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("lengthExpr");
-                    if (tmp5.lengthExpr != null) tmp5.lengthExpr.setParent(tmp5);
-                    tmp5.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTRparen");
-                    if (tmp5.hiddenTRparen != null) tmp5.hiddenTRparen.setParent(tmp5);
-                    tmp5.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constNameLength");
-                    if (tmp5.constNameLength != null) tmp5.constNameLength.setParent(tmp5);
-                    node.charLength = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl466(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp5 = new ASTCharLengthNode();
-                    tmp5.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTLparen");
-                    if (tmp5.hiddenTLparen != null) tmp5.hiddenTLparen.setParent(tmp5);
-                    tmp5.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isColon");
-                    if (tmp5.isColon != null) tmp5.isColon.setParent(tmp5);
-                    tmp5.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constIntLength");
-                    if (tmp5.constIntLength != null) tmp5.constIntLength.setParent(tmp5);
-                    tmp5.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isAssumedLength");
-                    if (tmp5.isAssumedLength != null) tmp5.isAssumedLength.setParent(tmp5);
-                    tmp5.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("lengthExpr");
-                    if (tmp5.lengthExpr != null) tmp5.lengthExpr.setParent(tmp5);
-                    tmp5.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTRparen");
-                    if (tmp5.hiddenTRparen != null) tmp5.hiddenTRparen.setParent(tmp5);
-                    tmp5.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constNameLength");
-                    if (tmp5.constNameLength != null) tmp5.constNameLength.setParent(tmp5);
-                    node.charLength = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    node.initialization = (ASTInitializationNode)valueStack.get(valueStackOffset + 6);
-                    if (node.initialization != null) node.initialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl467(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 5);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl468(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 5);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.initialization = (ASTInitializationNode)valueStack.get(valueStackOffset + 7);
-                    if (node.initialization != null) node.initialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl469(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 5);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp8 = new ASTCharLengthNode();
-                    tmp8.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("hiddenTLparen");
-                    if (tmp8.hiddenTLparen != null) tmp8.hiddenTLparen.setParent(tmp8);
-                    tmp8.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("isColon");
-                    if (tmp8.isColon != null) tmp8.isColon.setParent(tmp8);
-                    tmp8.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("constIntLength");
-                    if (tmp8.constIntLength != null) tmp8.constIntLength.setParent(tmp8);
-                    tmp8.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("isAssumedLength");
-                    if (tmp8.isAssumedLength != null) tmp8.isAssumedLength.setParent(tmp8);
-                    tmp8.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("lengthExpr");
-                    if (tmp8.lengthExpr != null) tmp8.lengthExpr.setParent(tmp8);
-                    tmp8.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("hiddenTRparen");
-                    if (tmp8.hiddenTRparen != null) tmp8.hiddenTRparen.setParent(tmp8);
-                    tmp8.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("constNameLength");
-                    if (tmp8.constNameLength != null) tmp8.constNameLength.setParent(tmp8);
-                    node.charLength = tmp8;
-                    if (tmp8 != null) tmp8.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl470(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 5);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp8 = new ASTCharLengthNode();
-                    tmp8.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("hiddenTLparen");
-                    if (tmp8.hiddenTLparen != null) tmp8.hiddenTLparen.setParent(tmp8);
-                    tmp8.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("isColon");
-                    if (tmp8.isColon != null) tmp8.isColon.setParent(tmp8);
-                    tmp8.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("constIntLength");
-                    if (tmp8.constIntLength != null) tmp8.constIntLength.setParent(tmp8);
-                    tmp8.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("isAssumedLength");
-                    if (tmp8.isAssumedLength != null) tmp8.isAssumedLength.setParent(tmp8);
-                    tmp8.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("lengthExpr");
-                    if (tmp8.lengthExpr != null) tmp8.lengthExpr.setParent(tmp8);
-                    tmp8.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("hiddenTRparen");
-                    if (tmp8.hiddenTRparen != null) tmp8.hiddenTRparen.setParent(tmp8);
-                    tmp8.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("constNameLength");
-                    if (tmp8.constNameLength != null) tmp8.constNameLength.setParent(tmp8);
-                    node.charLength = tmp8;
-                    if (tmp8 != null) tmp8.setParent(node);
-                    node.initialization = (ASTInitializationNode)valueStack.get(valueStackOffset + 9);
-                    if (node.initialization != null) node.initialization.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl471(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    node.dataStmtValueList = (IASTListNode<ASTDataStmtValueNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.dataStmtValueList != null) node.dataStmtValueList.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl472(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    node.dataStmtValueList = (IASTListNode<ASTDataStmtValueNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.dataStmtValueList != null) node.dataStmtValueList.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl473(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp2 = new ASTCharLengthNode();
-                    tmp2.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (tmp2.hiddenTLparen != null) tmp2.hiddenTLparen.setParent(tmp2);
-                    tmp2.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isColon");
-                    if (tmp2.isColon != null) tmp2.isColon.setParent(tmp2);
-                    tmp2.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constIntLength");
-                    if (tmp2.constIntLength != null) tmp2.constIntLength.setParent(tmp2);
-                    tmp2.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isAssumedLength");
-                    if (tmp2.isAssumedLength != null) tmp2.isAssumedLength.setParent(tmp2);
-                    tmp2.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lengthExpr");
-                    if (tmp2.lengthExpr != null) tmp2.lengthExpr.setParent(tmp2);
-                    tmp2.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (tmp2.hiddenTRparen != null) tmp2.hiddenTRparen.setParent(tmp2);
-                    tmp2.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constNameLength");
-                    if (tmp2.constNameLength != null) tmp2.constNameLength.setParent(tmp2);
-                    node.charLength = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    node.dataStmtValueList = (IASTListNode<ASTDataStmtValueNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.dataStmtValueList != null) node.dataStmtValueList.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntityDecl474(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntityDeclNode node = new ASTEntityDeclNode();
-                    node.objectName = (ASTObjectNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    ASTCharLengthNode tmp5 = new ASTCharLengthNode();
-                    tmp5.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTLparen");
-                    if (tmp5.hiddenTLparen != null) tmp5.hiddenTLparen.setParent(tmp5);
-                    tmp5.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isColon");
-                    if (tmp5.isColon != null) tmp5.isColon.setParent(tmp5);
-                    tmp5.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constIntLength");
-                    if (tmp5.constIntLength != null) tmp5.constIntLength.setParent(tmp5);
-                    tmp5.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isAssumedLength");
-                    if (tmp5.isAssumedLength != null) tmp5.isAssumedLength.setParent(tmp5);
-                    tmp5.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("lengthExpr");
-                    if (tmp5.lengthExpr != null) tmp5.lengthExpr.setParent(tmp5);
-                    tmp5.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTRparen");
-                    if (tmp5.hiddenTRparen != null) tmp5.hiddenTRparen.setParent(tmp5);
-                    tmp5.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("constNameLength");
-                    if (tmp5.constNameLength != null) tmp5.constNameLength.setParent(tmp5);
-                    node.charLength = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    node.dataStmtValueList = (IASTListNode<ASTDataStmtValueNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.dataStmtValueList != null) node.dataStmtValueList.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    return node;
-
-        }
-        public Object handleInvalidEntityDecl475(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("objectName", (ASTObjectNameNode)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenAsterisk2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    ASTCharLengthNode tmp2 = new ASTCharLengthNode();
-                    tmp2.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (tmp2.hiddenTLparen != null) tmp2.hiddenTLparen.setParent(tmp2);
-                    tmp2.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isColon");
-                    if (tmp2.isColon != null) tmp2.isColon.setParent(tmp2);
-                    tmp2.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constIntLength");
-                    if (tmp2.constIntLength != null) tmp2.constIntLength.setParent(tmp2);
-                    tmp2.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isAssumedLength");
-                    if (tmp2.isAssumedLength != null) tmp2.isAssumedLength.setParent(tmp2);
-                    tmp2.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lengthExpr");
-                    if (tmp2.lengthExpr != null) tmp2.lengthExpr.setParent(tmp2);
-                    tmp2.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (tmp2.hiddenTRparen != null) tmp2.hiddenTRparen.setParent(tmp2);
-                    tmp2.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constNameLength");
-                    if (tmp2.constNameLength != null) tmp2.constNameLength.setParent(tmp2);
-                    node.put("initialCharLength", tmp2);
-                    node.put("hiddenLparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("arraySpec", (ASTArraySpecNode)valueStack.get(valueStackOffset + 4));
-                    node.put("hiddenRparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("objectName")));
-                    embeddedList.add((IASTNode)(node.get("hiddenAsterisk2")));
-                    embeddedList.add((IASTNode)(node.get("initialCharLength")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("arraySpec")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    embeddedList.add((IASTNode)(node.get("initialization")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleInvalidEntityDecl476(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("objectName", (ASTObjectNameNode)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenAsterisk2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    ASTCharLengthNode tmp2 = new ASTCharLengthNode();
-                    tmp2.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (tmp2.hiddenTLparen != null) tmp2.hiddenTLparen.setParent(tmp2);
-                    tmp2.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isColon");
-                    if (tmp2.isColon != null) tmp2.isColon.setParent(tmp2);
-                    tmp2.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constIntLength");
-                    if (tmp2.constIntLength != null) tmp2.constIntLength.setParent(tmp2);
-                    tmp2.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isAssumedLength");
-                    if (tmp2.isAssumedLength != null) tmp2.isAssumedLength.setParent(tmp2);
-                    tmp2.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lengthExpr");
-                    if (tmp2.lengthExpr != null) tmp2.lengthExpr.setParent(tmp2);
-                    tmp2.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (tmp2.hiddenTRparen != null) tmp2.hiddenTRparen.setParent(tmp2);
-                    tmp2.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constNameLength");
-                    if (tmp2.constNameLength != null) tmp2.constNameLength.setParent(tmp2);
-                    node.put("initialCharLength", tmp2);
-                    node.put("hiddenLparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("arraySpec", (ASTArraySpecNode)valueStack.get(valueStackOffset + 4));
-                    node.put("hiddenRparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5));
-                    node.put("initialization", (ASTInitializationNode)valueStack.get(valueStackOffset + 6));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("objectName")));
-                    embeddedList.add((IASTNode)(node.get("hiddenAsterisk2")));
-                    embeddedList.add((IASTNode)(node.get("initialCharLength")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("arraySpec")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    embeddedList.add((IASTNode)(node.get("initialization")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleInitialization477(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInitializationNode node = new ASTInitializationNode();
-                    node.assignsExpr = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.assignsExpr != null) node.assignsExpr.setParent(node);
-                    node.assignedExpr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.assignedExpr != null) node.assignedExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleInitialization478(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInitializationNode node = new ASTInitializationNode();
-                    node.assignsNull = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.assignsNull != null) node.assignsNull.setParent(node);
-                    node.hiddenTNull = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTNull != null) node.hiddenTNull.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleKindSelector479(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTKindSelectorNode node = new ASTKindSelectorNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTKindeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTKindeq != null) node.hiddenTKindeq.setParent(node);
-                    node.kindExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.kindExpr != null) node.kindExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleKindSelector480(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTKindSelectorNode node = new ASTKindSelectorNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.kindExpr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.kindExpr != null) node.kindExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleKindSelector481(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTKindSelectorNode node = new ASTKindSelectorNode();
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    node.kindExpr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.kindExpr != null) node.kindExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleCharSelector482(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCharSelectorNode node = new ASTCharSelectorNode();
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("isColon");
-                    if (node.isColon != null) node.isColon.setParent(node);
-                    node.constIntLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("constIntLength");
-                    if (node.constIntLength != null) node.constIntLength.setParent(node);
-                    node.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("isAssumedLength");
-                    if (node.isAssumedLength != null) node.isAssumedLength.setParent(node);
-                    node.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("lengthExpr");
-                    if (node.lengthExpr != null) node.lengthExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.constNameLength = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("constNameLength");
-                    if (node.constNameLength != null) node.constNameLength.setParent(node);
-                    return node;
-
-        }
-        public Object handleCharSelector483(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCharSelectorNode node = new ASTCharSelectorNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTLeneq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLeneq != null) node.hiddenTLeneq.setParent(node);
-                    node.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isColon");
-                    if (node.isColon != null) node.isColon.setParent(node);
-                    node.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lengthExpr");
-                    if (node.lengthExpr != null) node.lengthExpr.setParent(node);
-                    node.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isAssumedLength");
-                    if (node.isAssumedLength != null) node.isAssumedLength.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTKindeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTKindeq != null) node.hiddenTKindeq.setParent(node);
-                    node.kindExpr = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.kindExpr != null) node.kindExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleCharSelector484(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCharSelectorNode node = new ASTCharSelectorNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTLeneq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLeneq != null) node.hiddenTLeneq.setParent(node);
-                    node.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isColon");
-                    if (node.isColon != null) node.isColon.setParent(node);
-                    node.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lengthExpr");
-                    if (node.lengthExpr != null) node.lengthExpr.setParent(node);
-                    node.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isAssumedLength");
-                    if (node.isAssumedLength != null) node.isAssumedLength.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.kindExpr = (IExpr)valueStack.get(valueStackOffset + 4);
-                    if (node.kindExpr != null) node.kindExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleCharSelector485(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCharSelectorNode node = new ASTCharSelectorNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTKindeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTKindeq != null) node.hiddenTKindeq.setParent(node);
-                    node.kindExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.kindExpr != null) node.kindExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleCharSelector486(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCharSelectorNode node = new ASTCharSelectorNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTLeneq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLeneq != null) node.hiddenTLeneq.setParent(node);
-                    node.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isColon");
-                    if (node.isColon != null) node.isColon.setParent(node);
-                    node.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lengthExpr");
-                    if (node.lengthExpr != null) node.lengthExpr.setParent(node);
-                    node.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isAssumedLength");
-                    if (node.isAssumedLength != null) node.isAssumedLength.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleCharSelector487(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCharSelectorNode node = new ASTCharSelectorNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("isColon");
-                    if (node.isColon != null) node.isColon.setParent(node);
-                    node.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("lengthExpr");
-                    if (node.lengthExpr != null) node.lengthExpr.setParent(node);
-                    node.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("isAssumedLength");
-                    if (node.isAssumedLength != null) node.isAssumedLength.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleCharSelector488(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCharSelectorNode node = new ASTCharSelectorNode();
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.hiddenTKindEq2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTKindEq2 != null) node.hiddenTKindEq2.setParent(node);
-                    node.kindExpr2 = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.kindExpr2 != null) node.kindExpr2.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.hiddenTLeneq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLeneq != null) node.hiddenTLeneq.setParent(node);
-                    node.isColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isColon");
-                    if (node.isColon != null) node.isColon.setParent(node);
-                    node.lengthExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("lengthExpr");
-                    if (node.lengthExpr != null) node.lengthExpr.setParent(node);
-                    node.isAssumedLength = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("isAssumedLength");
-                    if (node.isAssumedLength != null) node.isAssumedLength.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleCharLenParamValue489(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("lengthExpr", (IExpr)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("isColon")));
-                    embeddedList.add((IASTNode)(node.get("lengthExpr")));
-                    embeddedList.add((IASTNode)(node.get("isAssumedLength")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCharLenParamValue490(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("isAssumedLength", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("isColon")));
-                    embeddedList.add((IASTNode)(node.get("lengthExpr")));
-                    embeddedList.add((IASTNode)(node.get("isAssumedLength")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCharLenParamValue491(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("isColon", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("isColon")));
-                    embeddedList.add((IASTNode)(node.get("lengthExpr")));
-                    embeddedList.add((IASTNode)(node.get("isAssumedLength")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCharLength492(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("isColon", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("isColon"));
-                    node.put("lengthExpr", (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("lengthExpr"));
-                    node.put("isAssumedLength", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("isAssumedLength"));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("isColon")));
-                    embeddedList.add((IASTNode)(node.get("constIntLength")));
-                    embeddedList.add((IASTNode)(node.get("isAssumedLength")));
-                    embeddedList.add((IASTNode)(node.get("lengthExpr")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("constNameLength")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCharLength493(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("constIntLength", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("isColon")));
-                    embeddedList.add((IASTNode)(node.get("constIntLength")));
-                    embeddedList.add((IASTNode)(node.get("isAssumedLength")));
-                    embeddedList.add((IASTNode)(node.get("lengthExpr")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("constNameLength")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCharLength494(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("constNameLength", tmp0);
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("isColon")));
-                    embeddedList.add((IASTNode)(node.get("constIntLength")));
-                    embeddedList.add((IASTNode)(node.get("isAssumedLength")));
-                    embeddedList.add((IASTNode)(node.get("lengthExpr")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("constNameLength")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAccessSpec495(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAccessSpecNode node = new ASTAccessSpecNode();
-                    node.isPublic = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isPublic != null) node.isPublic.setParent(node);
-                    return node;
-
-        }
-        public Object handleAccessSpec496(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAccessSpecNode node = new ASTAccessSpecNode();
-                    node.isPrivate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isPrivate != null) node.isPrivate.setParent(node);
-                    return node;
-
-        }
-        public Object handleCoarraySpec497(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCoarraySpecNode node = new ASTCoarraySpecNode();
-                    node.deferredCoshapeSpecList = (IASTListNode<ASTDeferredCoshapeSpecListNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.deferredCoshapeSpecList != null) node.deferredCoshapeSpecList.setParent(node);
-                    return node;
-
-        }
-        public Object handleCoarraySpec498(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCoarraySpecNode node = new ASTCoarraySpecNode();
-                    node.explicitCoshapeSpec = (ASTExplicitCoshapeSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.explicitCoshapeSpec != null) node.explicitCoshapeSpec.setParent(node);
-                    return node;
-
-        }
-        public Object handleDeferredCoshapeSpecList499(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTDeferredCoshapeSpecListNode node = new ASTDeferredCoshapeSpecListNode();
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    ASTListNode<ASTDeferredCoshapeSpecListNode> list = new ASTListNode<ASTDeferredCoshapeSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDeferredCoshapeSpecList500(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTDeferredCoshapeSpecListNode node = new ASTDeferredCoshapeSpecListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    ASTListNode<ASTDeferredCoshapeSpecListNode> list = (ASTListNode<ASTDeferredCoshapeSpecListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleExplicitCoshapeSpec501(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTExplicitCoshapeSpecNode node = new ASTExplicitCoshapeSpecNode();
-                    node.explicitShapeSpecList = (IASTListNode<ASTExplicitShapeSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("explicitShapeSpecList");
-                    if (node.explicitShapeSpecList != null) node.explicitShapeSpecList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.lb = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("lb");
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTColon");
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTAsterisk");
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    return node;
-
-        }
-        public Object handleIntentSpec502(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIntentSpecNode node = new ASTIntentSpecNode();
-                    node.isIntentIn = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isIntentIn != null) node.isIntentIn.setParent(node);
-                    return node;
-
-        }
-        public Object handleIntentSpec503(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIntentSpecNode node = new ASTIntentSpecNode();
-                    node.isIntentOut = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isIntentOut != null) node.isIntentOut.setParent(node);
-                    return node;
-
-        }
-        public Object handleIntentSpec504(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIntentSpecNode node = new ASTIntentSpecNode();
-                    node.isIntentInOut = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isIntentInOut != null) node.isIntentInOut.setParent(node);
-                    return node;
-
-        }
-        public Object handleIntentSpec505(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIntentSpecNode node = new ASTIntentSpecNode();
-                    node.isIntentInOut = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isIntentInOut != null) node.isIntentInOut.setParent(node);
-                    node.hiddenTOut = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTOut != null) node.hiddenTOut.setParent(node);
-                    return node;
-
-        }
-        public Object handleArraySpec506(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTArraySpecNode node = new ASTArraySpecNode();
-                    node.explicitShapeSpecList = (IASTListNode<ASTExplicitShapeSpecNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.explicitShapeSpecList != null) node.explicitShapeSpecList.setParent(node);
-                    return node;
-
-        }
-        public Object handleArraySpec507(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTArraySpecNode node = new ASTArraySpecNode();
-                    ASTAssumedSizeSpecNode tmp0 = new ASTAssumedSizeSpecNode();
-                    tmp0.explicitShapeSpecList = (IASTListNode<ASTExplicitShapeSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("explicitShapeSpecList");
-                    if (tmp0.explicitShapeSpecList != null) tmp0.explicitShapeSpecList.setParent(tmp0);
-                    tmp0.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTComma");
-                    if (tmp0.hiddenTComma != null) tmp0.hiddenTComma.setParent(tmp0);
-                    tmp0.lb = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("lb");
-                    if (tmp0.lb != null) tmp0.lb.setParent(tmp0);
-                    tmp0.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTColon");
-                    if (tmp0.hiddenTColon != null) tmp0.hiddenTColon.setParent(tmp0);
-                    tmp0.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTAsterisk");
-                    if (tmp0.hiddenTAsterisk != null) tmp0.hiddenTAsterisk.setParent(tmp0);
-                    node.assumedSizeSpec = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    return node;
-
-        }
-        public Object handleArraySpec508(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTArraySpecNode node = new ASTArraySpecNode();
-                    node.assumedShapeSpecList = (IASTListNode<ASTAssumedShapeSpecListNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.assumedShapeSpecList != null) node.assumedShapeSpecList.setParent(node);
-                    return node;
-
-        }
-        public Object handleArraySpec509(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTArraySpecNode node = new ASTArraySpecNode();
-                    node.deferredShapeSpecList = (IASTListNode<ASTDeferredShapeSpecListNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.deferredShapeSpecList != null) node.deferredShapeSpecList.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssumedShapeSpecList510(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTAssumedShapeSpecListNode node = new ASTAssumedShapeSpecListNode();
-                    node.lb = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("lb");
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    ASTListNode<ASTAssumedShapeSpecListNode> list = new ASTListNode<ASTAssumedShapeSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleAssumedShapeSpecList511(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTAssumedShapeSpecListNode node = new ASTAssumedShapeSpecListNode();
-                    node.deferredShapeSpecList = (IASTListNode<ASTDeferredShapeSpecListNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.deferredShapeSpecList != null) node.deferredShapeSpecList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.lb = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lb");
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    ASTListNode<ASTAssumedShapeSpecListNode> list = new ASTListNode<ASTAssumedShapeSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleAssumedShapeSpecList512(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTAssumedShapeSpecListNode node = new ASTAssumedShapeSpecListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.lb = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lb");
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTColon");
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    ASTListNode<ASTAssumedShapeSpecListNode> list = (ASTListNode<ASTAssumedShapeSpecListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleExplicitShapeSpecList513(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTExplicitShapeSpecNode> list = new ASTSeparatedListNode<ASTExplicitShapeSpecNode>();
-                    ASTExplicitShapeSpecNode elt = (ASTExplicitShapeSpecNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleExplicitShapeSpecList514(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTExplicitShapeSpecNode> list = (ASTSeparatedListNode<ASTExplicitShapeSpecNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTExplicitShapeSpecNode elt = (ASTExplicitShapeSpecNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleExplicitShapeSpec515(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTExplicitShapeSpecNode node = new ASTExplicitShapeSpecNode();
-                    node.lb = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("lb");
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("ub");
-                    if (node.ub != null) node.ub.setParent(node);
-                    return node;
-
-        }
-        public Object handleExplicitShapeSpec516(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTExplicitShapeSpecNode node = new ASTExplicitShapeSpecNode();
-                    node.ub = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("ub");
-                    if (node.ub != null) node.ub.setParent(node);
-                    return node;
-
-        }
-        public Object handleLowerBound517(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("lb", (IExpr)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("lb")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleUpperBound518(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("ub", (IExpr)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("ub")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAssumedShapeSpec519(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("lb", (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("lb"));
-                    node.put("hiddenTColon", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("lb")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTColon")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAssumedShapeSpec520(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTColon", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("lb")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTColon")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleDeferredShapeSpecList521(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTDeferredShapeSpecListNode node = new ASTDeferredShapeSpecListNode();
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTColon");
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    ASTListNode<ASTDeferredShapeSpecListNode> list = new ASTListNode<ASTDeferredShapeSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDeferredShapeSpecList522(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTDeferredShapeSpecListNode node = new ASTDeferredShapeSpecListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTColon");
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    ASTListNode<ASTDeferredShapeSpecListNode> list = (ASTListNode<ASTDeferredShapeSpecListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDeferredShapeSpec523(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTColon", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTColon")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAssumedSizeSpec524(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTAsterisk", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("explicitShapeSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("lb")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTColon")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTAsterisk")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAssumedSizeSpec525(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("lb", (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("lb"));
-                    node.put("hiddenTColon", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTAsterisk", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("explicitShapeSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("lb")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTColon")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTAsterisk")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAssumedSizeSpec526(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("explicitShapeSpecList", (IASTListNode<ASTExplicitShapeSpecNode>)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTComma", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTAsterisk", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("explicitShapeSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("lb")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTColon")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTAsterisk")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAssumedSizeSpec527(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("explicitShapeSpecList", (IASTListNode<ASTExplicitShapeSpecNode>)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTComma", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("lb", (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("lb"));
-                    node.put("hiddenTColon", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("hiddenTAsterisk", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("explicitShapeSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("lb")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTColon")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTAsterisk")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleIntentStmt528(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIntentStmtNode node = new ASTIntentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTIntent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTIntent != null) node.hiddenTIntent.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.intentSpec = (ASTIntentSpecNode)valueStack.get(valueStackOffset + 3);
-                    if (node.intentSpec != null) node.intentSpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.variableList = (IASTListNode<ASTIntentParListNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.variableList != null) node.variableList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleIntentStmt529(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIntentStmtNode node = new ASTIntentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTIntent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTIntent != null) node.hiddenTIntent.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.intentSpec = (ASTIntentSpecNode)valueStack.get(valueStackOffset + 3);
-                    if (node.intentSpec != null) node.intentSpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.variableList = (IASTListNode<ASTIntentParListNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.variableList != null) node.variableList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleIntentParList530(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTIntentParListNode node = new ASTIntentParListNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    ASTListNode<ASTIntentParListNode> list = new ASTListNode<ASTIntentParListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleIntentParList531(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTIntentParListNode node = new ASTIntentParListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    ASTListNode<ASTIntentParListNode> list = (ASTListNode<ASTIntentParListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleIntentPar532(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("variableName", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName"));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("variableName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleOptionalStmt533(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOptionalStmtNode node = new ASTOptionalStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTOptional = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTOptional != null) node.hiddenTOptional.setParent(node);
-                    node.variableList = (IASTListNode<ASTOptionalParListNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.variableList != null) node.variableList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleOptionalStmt534(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOptionalStmtNode node = new ASTOptionalStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTOptional = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTOptional != null) node.hiddenTOptional.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.variableList = (IASTListNode<ASTOptionalParListNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.variableList != null) node.variableList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleOptionalParList535(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTOptionalParListNode node = new ASTOptionalParListNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    ASTListNode<ASTOptionalParListNode> list = new ASTListNode<ASTOptionalParListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleOptionalParList536(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTOptionalParListNode node = new ASTOptionalParListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    ASTListNode<ASTOptionalParListNode> list = (ASTListNode<ASTOptionalParListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleOptionalPar537(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("variableName", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName"));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("variableName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAccessStmt538(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAccessStmtNode node = new ASTAccessStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.accessSpec = (ASTAccessSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.accessSpec != null) node.accessSpec.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.accessIdList = (IASTListNode<IAccessId>)valueStack.get(valueStackOffset + 4);
-                    if (node.accessIdList != null) node.accessIdList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAccessStmt539(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAccessStmtNode node = new ASTAccessStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.accessSpec = (ASTAccessSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.accessSpec != null) node.accessSpec.setParent(node);
-                    node.accessIdList = (IASTListNode<IAccessId>)valueStack.get(valueStackOffset + 2);
-                    if (node.accessIdList != null) node.accessIdList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAccessStmt540(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAccessStmtNode node = new ASTAccessStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.accessSpec = (ASTAccessSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.accessSpec != null) node.accessSpec.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAccessIdList541(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<IAccessId> list = new ASTSeparatedListNode<IAccessId>();
-                    IAccessId elt = (IAccessId)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleAccessIdList542(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<IAccessId> list = (ASTSeparatedListNode<IAccessId>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    IAccessId elt = (IAccessId)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleAccessId543(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTGenericNameNode result = (ASTGenericNameNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleAccessId544(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTGenericSpecNode result = (ASTGenericSpecNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSaveStmt545(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSaveStmtNode node = new ASTSaveStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSave = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSave != null) node.hiddenTSave.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSaveStmt546(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSaveStmtNode node = new ASTSaveStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSave = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSave != null) node.hiddenTSave.setParent(node);
-                    node.variableList = (IASTListNode<ASTSavedEntityNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.variableList != null) node.variableList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSaveStmt547(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSaveStmtNode node = new ASTSaveStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSave = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSave != null) node.hiddenTSave.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.variableList = (IASTListNode<ASTSavedEntityNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.variableList != null) node.variableList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSavedEntityList548(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTSavedEntityNode> list = new ASTSeparatedListNode<ASTSavedEntityNode>();
-                    ASTSavedEntityNode elt = (ASTSavedEntityNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSavedEntityList549(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTSavedEntityNode> list = (ASTSeparatedListNode<ASTSavedEntityNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTSavedEntityNode elt = (ASTSavedEntityNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSavedEntity550(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSavedEntityNode node = new ASTSavedEntityNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    return node;
-
-        }
-        public Object handleSavedEntity551(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSavedEntityNode node = new ASTSavedEntityNode();
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTSlash");
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    node.commonBlockName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("commonBlockName");
-                    if (node.commonBlockName != null) node.commonBlockName.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTSlash2");
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    return node;
-
-        }
-        public Object handleSavedCommonBlock552(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTSlash", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("commonBlockName", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("commonBlockName"));
-                    node.put("hiddenTSlash2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTSlash")));
-                    embeddedList.add((IASTNode)(node.get("commonBlockName")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTSlash2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleDimensionStmt553(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDimensionStmtNode node = new ASTDimensionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTDimension = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTDimension != null) node.hiddenTDimension.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.arrayDeclaratorList = (IASTListNode<ASTArrayDeclaratorNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.arrayDeclaratorList != null) node.arrayDeclaratorList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDimensionStmt554(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDimensionStmtNode node = new ASTDimensionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTDimension = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTDimension != null) node.hiddenTDimension.setParent(node);
-                    node.arrayDeclaratorList = (IASTListNode<ASTArrayDeclaratorNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.arrayDeclaratorList != null) node.arrayDeclaratorList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleArrayDeclaratorList555(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTArrayDeclaratorNode> list = new ASTSeparatedListNode<ASTArrayDeclaratorNode>();
-                    ASTArrayDeclaratorNode elt = new ASTArrayDeclaratorNode();
-                    elt.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (elt.variableName != null) elt.variableName.setParent(elt);
-                    elt.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (elt.hiddenTLparen != null) elt.hiddenTLparen.setParent(elt);
-                    elt.arraySpec = (ASTArraySpecNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("arraySpec");
-                    if (elt.arraySpec != null) elt.arraySpec.setParent(elt);
-                    elt.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (elt.hiddenTRparen != null) elt.hiddenTRparen.setParent(elt);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleArrayDeclaratorList556(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTArrayDeclaratorNode> list = (ASTSeparatedListNode<ASTArrayDeclaratorNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTArrayDeclaratorNode elt = new ASTArrayDeclaratorNode();
-                    elt.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("variableName");
-                    if (elt.variableName != null) elt.variableName.setParent(elt);
-                    elt.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (elt.hiddenTLparen != null) elt.hiddenTLparen.setParent(elt);
-                    elt.arraySpec = (ASTArraySpecNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("arraySpec");
-                    if (elt.arraySpec != null) elt.arraySpec.setParent(elt);
-                    elt.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (elt.hiddenTRparen != null) elt.hiddenTRparen.setParent(elt);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleArrayDeclarator557(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("variableName", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName"));
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("arraySpec", (ASTArraySpecNode)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("variableName")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("arraySpec")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAllocatableStmt558(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllocatableStmtNode node = new ASTAllocatableStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAllocatable = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAllocatable != null) node.hiddenTAllocatable.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.arrayAllocationList = (IASTListNode<ASTArrayAllocationNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.arrayAllocationList != null) node.arrayAllocationList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllocatableStmt559(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllocatableStmtNode node = new ASTAllocatableStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAllocatable = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAllocatable != null) node.hiddenTAllocatable.setParent(node);
-                    node.arrayAllocationList = (IASTListNode<ASTArrayAllocationNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.arrayAllocationList != null) node.arrayAllocationList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleArrayAllocationList560(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTArrayAllocationNode> list = new ASTSeparatedListNode<ASTArrayAllocationNode>();
-                    ASTArrayAllocationNode elt = (ASTArrayAllocationNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleArrayAllocationList561(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTArrayAllocationNode> list = (ASTSeparatedListNode<ASTArrayAllocationNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTArrayAllocationNode elt = (ASTArrayAllocationNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleArrayAllocation562(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTArrayAllocationNode node = new ASTArrayAllocationNode();
-                    node.arrayName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("arrayName");
-                    if (node.arrayName != null) node.arrayName.setParent(node);
-                    return node;
-
-        }
-        public Object handleArrayAllocation563(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTArrayAllocationNode node = new ASTArrayAllocationNode();
-                    node.arrayName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("arrayName");
-                    if (node.arrayName != null) node.arrayName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.deferredShapeSpecList = (IASTListNode<ASTDeferredShapeSpecListNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.deferredShapeSpecList != null) node.deferredShapeSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleAsynchronousStmt564(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAsynchronousStmtNode node = new ASTAsynchronousStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAsynchronous = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAsynchronous != null) node.hiddenTAsynchronous.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.objectList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 4);
-                    if (node.objectList != null) node.objectList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAsynchronousStmt565(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAsynchronousStmtNode node = new ASTAsynchronousStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAsynchronous = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAsynchronous != null) node.hiddenTAsynchronous.setParent(node);
-                    node.objectList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 2);
-                    if (node.objectList != null) node.objectList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleObjectList566(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token> list = new ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token>();
-                    org.eclipse.photran.internal.core.lexer.Token elt = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleObjectList567(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token> list = (ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    org.eclipse.photran.internal.core.lexer.Token elt = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleBindStmt568(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBindStmtNode node = new ASTBindStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.languageBindingSpec = (ASTLanguageBindingSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.languageBindingSpec != null) node.languageBindingSpec.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.bindEntityList = (IASTListNode<IBindEntity>)valueStack.get(valueStackOffset + 4);
-                    if (node.bindEntityList != null) node.bindEntityList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleBindStmt569(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBindStmtNode node = new ASTBindStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.languageBindingSpec = (ASTLanguageBindingSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.languageBindingSpec != null) node.languageBindingSpec.setParent(node);
-                    node.bindEntityList = (IASTListNode<IBindEntity>)valueStack.get(valueStackOffset + 2);
-                    if (node.bindEntityList != null) node.bindEntityList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleBindEntity570(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTVariableNameNode result = new ASTVariableNameNode();
-                    result.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (result.variableName != null) result.variableName.setParent(result);
-                    return result;
-
-        }
-        public Object handleBindEntity571(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCommonBlockBinding node = new ASTCommonBlockBinding();
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    node.commonBlockName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.commonBlockName != null) node.commonBlockName.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    return node;
-
-        }
-        public Object handleBindEntityList572(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<IBindEntity> list = new ASTSeparatedListNode<IBindEntity>();
-                    IBindEntity elt = (IBindEntity)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleBindEntityList573(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<IBindEntity> list = (ASTSeparatedListNode<IBindEntity>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    IBindEntity elt = (IBindEntity)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handlePointerStmt574(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPointerStmtNode node = new ASTPointerStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTPointer = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPointer != null) node.hiddenTPointer.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.pointerStmtObjectList = (IASTListNode<ASTPointerStmtObjectNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.pointerStmtObjectList != null) node.pointerStmtObjectList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerStmt575(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPointerStmtNode node = new ASTPointerStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTPointer = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPointer != null) node.hiddenTPointer.setParent(node);
-                    node.pointerStmtObjectList = (IASTListNode<ASTPointerStmtObjectNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.pointerStmtObjectList != null) node.pointerStmtObjectList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerStmtObjectList576(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTPointerStmtObjectNode> list = new ASTSeparatedListNode<ASTPointerStmtObjectNode>();
-                    ASTPointerStmtObjectNode elt = (ASTPointerStmtObjectNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handlePointerStmtObjectList577(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTPointerStmtObjectNode> list = (ASTSeparatedListNode<ASTPointerStmtObjectNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTPointerStmtObjectNode elt = (ASTPointerStmtObjectNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handlePointerStmtObject578(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPointerStmtObjectNode node = new ASTPointerStmtObjectNode();
-                    node.pointerName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("pointerName");
-                    if (node.pointerName != null) node.pointerName.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerStmtObject579(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPointerStmtObjectNode node = new ASTPointerStmtObjectNode();
-                    node.pointerName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("pointerName");
-                    if (node.pointerName != null) node.pointerName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.deferredShapeSpecList = (IASTListNode<ASTDeferredShapeSpecListNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.deferredShapeSpecList != null) node.deferredShapeSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerName580(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("pointerName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("pointerName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCrayPointerStmt581(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCrayPointerStmtNode node = new ASTCrayPointerStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTPointer = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPointer != null) node.hiddenTPointer.setParent(node);
-                    node.crayPointerStmtObjectList = (IASTListNode<ASTCrayPointerStmtObjectNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.crayPointerStmtObjectList != null) node.crayPointerStmtObjectList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCrayPointerStmtObjectList582(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTCrayPointerStmtObjectNode> list = new ASTSeparatedListNode<ASTCrayPointerStmtObjectNode>();
-                    ASTCrayPointerStmtObjectNode elt = (ASTCrayPointerStmtObjectNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleCrayPointerStmtObjectList583(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTCrayPointerStmtObjectNode> list = (ASTSeparatedListNode<ASTCrayPointerStmtObjectNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTCrayPointerStmtObjectNode elt = (ASTCrayPointerStmtObjectNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleCrayPointerStmtObject584(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCrayPointerStmtObjectNode node = new ASTCrayPointerStmtObjectNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.pointerName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("pointerName");
-                    if (node.pointerName != null) node.pointerName.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.targetObject = (ASTTargetObjectNode)valueStack.get(valueStackOffset + 3);
-                    if (node.targetObject != null) node.targetObject.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleCodimensionStmt585(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCodimensionStmtNode node = new ASTCodimensionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCodimension = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCodimension != null) node.hiddenTCodimension.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.codimensionDeclList = (IASTListNode<ASTCodimensionDeclNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.codimensionDeclList != null) node.codimensionDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCodimensionStmt586(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCodimensionStmtNode node = new ASTCodimensionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCodimension = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCodimension != null) node.hiddenTCodimension.setParent(node);
-                    node.codimensionDeclList = (IASTListNode<ASTCodimensionDeclNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.codimensionDeclList != null) node.codimensionDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCodimensionDeclList587(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTCodimensionDeclNode> list = new ASTSeparatedListNode<ASTCodimensionDeclNode>();
-                    ASTCodimensionDeclNode elt = (ASTCodimensionDeclNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleCodimensionDeclList588(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTCodimensionDeclNode> list = (ASTSeparatedListNode<ASTCodimensionDeclNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTCodimensionDeclNode elt = (ASTCodimensionDeclNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleCodimensionDecl589(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCodimensionDeclNode node = new ASTCodimensionDeclNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleContiguousStmt590(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTContiguousStmtNode node = new ASTContiguousStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTContiguous = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTContiguous != null) node.hiddenTContiguous.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.objectNameList = (IASTListNode<ASTObjectNameListNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.objectNameList != null) node.objectNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleContiguousStmt591(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTContiguousStmtNode node = new ASTContiguousStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTContiguous = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTContiguous != null) node.hiddenTContiguous.setParent(node);
-                    node.objectNameList = (IASTListNode<ASTObjectNameListNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.objectNameList != null) node.objectNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleObjectNameList592(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTObjectNameListNode node = new ASTObjectNameListNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    ASTListNode<ASTObjectNameListNode> list = new ASTListNode<ASTObjectNameListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleObjectNameList593(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTObjectNameListNode node = new ASTObjectNameListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    ASTListNode<ASTObjectNameListNode> list = (ASTListNode<ASTObjectNameListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleProtectedStmt594(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProtectedStmtNode node = new ASTProtectedStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProtected = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProtected != null) node.hiddenTProtected.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.entityNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 4);
-                    if (node.entityNameList != null) node.entityNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProtectedStmt595(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProtectedStmtNode node = new ASTProtectedStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProtected = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProtected != null) node.hiddenTProtected.setParent(node);
-                    node.entityNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 2);
-                    if (node.entityNameList != null) node.entityNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTargetStmt596(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTargetStmtNode node = new ASTTargetStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTTarget = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTTarget != null) node.hiddenTTarget.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.targetObjectList = (IASTListNode<ASTTargetObjectNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.targetObjectList != null) node.targetObjectList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTargetStmt597(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTargetStmtNode node = new ASTTargetStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTTarget = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTTarget != null) node.hiddenTTarget.setParent(node);
-                    node.targetObjectList = (IASTListNode<ASTTargetObjectNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.targetObjectList != null) node.targetObjectList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTargetObjectList598(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTTargetObjectNode> list = new ASTSeparatedListNode<ASTTargetObjectNode>();
-                    ASTTargetObjectNode elt = (ASTTargetObjectNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleTargetObjectList599(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTTargetObjectNode> list = (ASTSeparatedListNode<ASTTargetObjectNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTTargetObjectNode elt = (ASTTargetObjectNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleTargetObject600(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTargetObjectNode node = new ASTTargetObjectNode();
-                    node.targetName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("targetName");
-                    if (node.targetName != null) node.targetName.setParent(node);
-                    return node;
-
-        }
-        public Object handleTargetObject601(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTargetObjectNode node = new ASTTargetObjectNode();
-                    node.targetName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("targetName");
-                    if (node.targetName != null) node.targetName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleTargetObject602(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTargetObjectNode node = new ASTTargetObjectNode();
-                    node.targetName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("targetName");
-                    if (node.targetName != null) node.targetName.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleTargetObject603(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTargetObjectNode node = new ASTTargetObjectNode();
-                    node.targetName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("targetName");
-                    if (node.targetName != null) node.targetName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.coarraySpec = (ASTCoarraySpecNode)valueStack.get(valueStackOffset + 5);
-                    if (node.coarraySpec != null) node.coarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleTargetName604(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("targetName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("targetName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleValueStmt605(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTValueStmtNode node = new ASTValueStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTValue = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTValue != null) node.hiddenTValue.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.entityNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 4);
-                    if (node.entityNameList != null) node.entityNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleValueStmt606(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTValueStmtNode node = new ASTValueStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTValue = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTValue != null) node.hiddenTValue.setParent(node);
-                    node.entityNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 2);
-                    if (node.entityNameList != null) node.entityNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleVolatileStmt607(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVolatileStmtNode node = new ASTVolatileStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTVolatile = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTVolatile != null) node.hiddenTVolatile.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.entityNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 4);
-                    if (node.entityNameList != null) node.entityNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleVolatileStmt608(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVolatileStmtNode node = new ASTVolatileStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTVolatile = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTVolatile != null) node.hiddenTVolatile.setParent(node);
-                    node.entityNameList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 2);
-                    if (node.entityNameList != null) node.entityNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleParameterStmt609(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTParameterStmtNode node = new ASTParameterStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTParameter = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTParameter != null) node.hiddenTParameter.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.namedConstantDefList = (IASTListNode<ASTNamedConstantDefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.namedConstantDefList != null) node.namedConstantDefList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleNamedConstantDefList610(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTNamedConstantDefNode> list = new ASTSeparatedListNode<ASTNamedConstantDefNode>();
-                    ASTNamedConstantDefNode elt = (ASTNamedConstantDefNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleNamedConstantDefList611(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTNamedConstantDefNode> list = (ASTSeparatedListNode<ASTNamedConstantDefNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTNamedConstantDefNode elt = (ASTNamedConstantDefNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleNamedConstantDef612(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTNamedConstantDefNode node = new ASTNamedConstantDefNode();
-                    node.namedConstant = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("namedConstant");
-                    if (node.namedConstant != null) node.namedConstant.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.initializationExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.initializationExpr != null) node.initializationExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleDataStmt613(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDataStmtNode node = new ASTDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTData = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTData != null) node.hiddenTData.setParent(node);
-                    node.datalist = (IASTListNode<ASTDatalistNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.datalist != null) node.datalist.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDatalist614(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTDatalistNode node = new ASTDatalistNode();
-                    node.dataStmtSet = (ASTDataStmtSetNode)valueStack.get(valueStackOffset + 0);
-                    if (node.dataStmtSet != null) node.dataStmtSet.setParent(node);
-                    ASTListNode<ASTDatalistNode> list = new ASTListNode<ASTDatalistNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDatalist615(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTDatalistNode node = new ASTDatalistNode();
-                    node.dataStmtSet = (ASTDataStmtSetNode)valueStack.get(valueStackOffset + 1);
-                    if (node.dataStmtSet != null) node.dataStmtSet.setParent(node);
-                    ASTListNode<ASTDatalistNode> list = (ASTListNode<ASTDatalistNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDatalist616(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTDatalistNode node = new ASTDatalistNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.dataStmtSet = (ASTDataStmtSetNode)valueStack.get(valueStackOffset + 2);
-                    if (node.dataStmtSet != null) node.dataStmtSet.setParent(node);
-                    ASTListNode<ASTDatalistNode> list = (ASTListNode<ASTDatalistNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataStmtSet617(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDataStmtSetNode node = new ASTDataStmtSetNode();
-                    node.dataStmtObjectList = (IASTListNode<IDataStmtObject>)valueStack.get(valueStackOffset + 0);
-                    if (node.dataStmtObjectList != null) node.dataStmtObjectList.setParent(node);
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    node.dataStmtValueList = (IASTListNode<ASTDataStmtValueNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.dataStmtValueList != null) node.dataStmtValueList.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    return node;
-
-        }
-        public Object handleDataStmtObjectList618(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<IDataStmtObject> list = new ASTSeparatedListNode<IDataStmtObject>();
-                    IDataStmtObject elt = (IDataStmtObject)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataStmtObjectList619(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<IDataStmtObject> list = (ASTSeparatedListNode<IDataStmtObject>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    IDataStmtObject elt = (IDataStmtObject)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataStmtObject620(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTVariableNode result = (ASTVariableNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDataStmtObject621(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTDataImpliedDoNode result = (ASTDataImpliedDoNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDataImpliedDo622(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDataImpliedDoNode node = new ASTDataImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.dataIDoObjectList = (IASTListNode<IDataIDoObject>)valueStack.get(valueStackOffset + 1);
-                    if (node.dataIDoObjectList != null) node.dataIDoObjectList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (node.impliedDoVariable != null) node.impliedDoVariable.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleDataImpliedDo623(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDataImpliedDoNode node = new ASTDataImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.dataIDoObjectList = (IASTListNode<IDataIDoObject>)valueStack.get(valueStackOffset + 1);
-                    if (node.dataIDoObjectList != null) node.dataIDoObjectList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (node.impliedDoVariable != null) node.impliedDoVariable.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTComma3 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTComma3 != null) node.hiddenTComma3.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 9);
-                    if (node.step != null) node.step.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleDataIDoObjectList624(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<IDataIDoObject> list = new ASTSeparatedListNode<IDataIDoObject>();
-                    IDataIDoObject elt = (IDataIDoObject)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataIDoObjectList625(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<IDataIDoObject> list = (ASTSeparatedListNode<IDataIDoObject>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    IDataIDoObject elt = (IDataIDoObject)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataIDoObject626(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTArrayElementNode result = new ASTArrayElementNode();
-                    result.structureComponent = (IASTListNode<ASTStructureComponentNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("structureComponent");
-                    if (result.structureComponent != null) result.structureComponent.setParent(result);
-                    result.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (result.variableName != null) result.variableName.setParent(result);
-                    result.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (result.hiddenTLparen != null) result.hiddenTLparen.setParent(result);
-                    result.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("sectionSubscriptList");
-                    if (result.sectionSubscriptList != null) result.sectionSubscriptList.setParent(result);
-                    result.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (result.hiddenTRparen != null) result.hiddenTRparen.setParent(result);
-                    result.imageSelector = (ASTImageSelectorNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("imageSelector");
-                    if (result.imageSelector != null) result.imageSelector.setParent(result);
-                    return result;
-
-        }
-        public Object handleDataIDoObject627(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTDataImpliedDoNode result = (ASTDataImpliedDoNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDataIDoObject628(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IASTListNode<ASTStructureComponentNode> result = (IASTListNode<ASTStructureComponentNode>)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleDataStmtValueList629(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTDataStmtValueNode> list = new ASTSeparatedListNode<ASTDataStmtValueNode>();
-                    ASTDataStmtValueNode elt = (ASTDataStmtValueNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataStmtValueList630(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTDataStmtValueNode> list = (ASTSeparatedListNode<ASTDataStmtValueNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTDataStmtValueNode elt = (ASTDataStmtValueNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataStmtValue631(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDataStmtValueNode node = new ASTDataStmtValueNode();
-                    node.constant = (ASTConstantNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("constant");
-                    if (node.constant != null) node.constant.setParent(node);
-                    node.isNull = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("isNull");
-                    if (node.isNull != null) node.isNull.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleDataStmtValue632(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDataStmtValueNode node = new ASTDataStmtValueNode();
-                    node.hasConstIntKind = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasConstIntKind != null) node.hasConstIntKind.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    node.constant = (ASTConstantNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constant");
-                    if (node.constant != null) node.constant.setParent(node);
-                    node.isNull = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isNull");
-                    if (node.isNull != null) node.isNull.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleDataStmtValue633(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDataStmtValueNode node = new ASTDataStmtValueNode();
-                    node.namedConstKind = (ASTNamedConstantUseNode)valueStack.get(valueStackOffset + 0);
-                    if (node.namedConstKind != null) node.namedConstKind.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    node.constant = (ASTConstantNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("constant");
-                    if (node.constant != null) node.constant.setParent(node);
-                    node.isNull = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("isNull");
-                    if (node.isNull != null) node.isNull.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleDataStmtConstant634(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("constant", (ASTConstantNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("constant")));
-                    embeddedList.add((IASTNode)(node.get("isNull")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleDataStmtConstant635(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("isNull", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("constant")));
-                    embeddedList.add((IASTNode)(node.get("isNull")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleImplicitStmt636(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTImplicitStmtNode node = new ASTImplicitStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.implicitToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.implicitToken != null) node.implicitToken.setParent(node);
-                    node.implicitSpecList = (IASTListNode<ASTImplicitSpecNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.implicitSpecList != null) node.implicitSpecList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleImplicitStmt637(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTImplicitStmtNode node = new ASTImplicitStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.implicitToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.implicitToken != null) node.implicitToken.setParent(node);
-                    node.isImplicitNone = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.isImplicitNone != null) node.isImplicitNone.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleImplicitSpecList638(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTImplicitSpecNode> list = new ASTSeparatedListNode<ASTImplicitSpecNode>();
-                    ASTImplicitSpecNode elt = (ASTImplicitSpecNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleImplicitSpecList639(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTImplicitSpecNode> list = (ASTSeparatedListNode<ASTImplicitSpecNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTImplicitSpecNode elt = (ASTImplicitSpecNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleImplicitSpec640(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTImplicitSpecNode node = new ASTImplicitSpecNode();
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    node.charRanges = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.charRanges != null) node.charRanges.setParent(node);
-                    return node;
-
-        }
-        public Object handleNamelistStmt641(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTNamelistStmtNode node = new ASTNamelistStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.tNamelist = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.tNamelist != null) node.tNamelist.setParent(node);
-                    node.namelistGroups = (IASTListNode<ASTNamelistGroupsNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.namelistGroups != null) node.namelistGroups.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleNamelistGroups642(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTNamelistGroupsNode node = new ASTNamelistGroupsNode();
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    node.namelistGroupName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("namelistGroupName");
-                    if (node.namelistGroupName != null) node.namelistGroupName.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    ASTListNode<ASTNamelistGroupsNode> list = new ASTListNode<ASTNamelistGroupsNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleNamelistGroups643(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTNamelistGroupsNode node = new ASTNamelistGroupsNode();
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    node.namelistGroupName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("namelistGroupName");
-                    if (node.namelistGroupName != null) node.namelistGroupName.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    ASTListNode<ASTNamelistGroupsNode> list = (ASTListNode<ASTNamelistGroupsNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleNamelistGroups644(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTNamelistGroupsNode node = new ASTNamelistGroupsNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    node.namelistGroupName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("namelistGroupName");
-                    if (node.namelistGroupName != null) node.namelistGroupName.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    ASTListNode<ASTNamelistGroupsNode> list = (ASTListNode<ASTNamelistGroupsNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleNamelistGroups645(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTNamelistGroupsNode node = new ASTNamelistGroupsNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    ASTListNode<ASTNamelistGroupsNode> list = (ASTListNode<ASTNamelistGroupsNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleNamelistGroupObject646(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("variableName", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName"));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("variableName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleEquivalenceStmt647(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEquivalenceStmtNode node = new ASTEquivalenceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEquivalence = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquivalence != null) node.hiddenTEquivalence.setParent(node);
-                    node.equivalenceSetList = (IASTListNode<ASTEquivalenceSetNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.equivalenceSetList != null) node.equivalenceSetList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEquivalenceSetList648(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTEquivalenceSetNode> list = new ASTSeparatedListNode<ASTEquivalenceSetNode>();
-                    ASTEquivalenceSetNode elt = (ASTEquivalenceSetNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleEquivalenceSetList649(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTEquivalenceSetNode> list = (ASTSeparatedListNode<ASTEquivalenceSetNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTEquivalenceSetNode elt = (ASTEquivalenceSetNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleEquivalenceSet650(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEquivalenceSetNode node = new ASTEquivalenceSetNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.variable = (ASTVariableNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("variable");
-                    if (node.variable != null) node.variable.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.equivalentObjects = (IASTListNode<ASTEquivalenceObjectListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.equivalentObjects != null) node.equivalentObjects.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleEquivalenceObjectList651(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTEquivalenceObjectListNode node = new ASTEquivalenceObjectListNode();
-                    node.variable = (ASTVariableNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variable");
-                    if (node.variable != null) node.variable.setParent(node);
-                    ASTListNode<ASTEquivalenceObjectListNode> list = new ASTListNode<ASTEquivalenceObjectListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleEquivalenceObjectList652(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTEquivalenceObjectListNode node = new ASTEquivalenceObjectListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.variable = (ASTVariableNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("variable");
-                    if (node.variable != null) node.variable.setParent(node);
-                    ASTListNode<ASTEquivalenceObjectListNode> list = (ASTListNode<ASTEquivalenceObjectListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleEquivalenceObject653(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("variable", (ASTVariableNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("variable")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCommonStmt654(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCommonStmtNode node = new ASTCommonStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCommon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCommon != null) node.hiddenTCommon.setParent(node);
-                    node.commonBlockList = (IASTListNode<ASTCommonBlockNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.commonBlockList != null) node.commonBlockList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCommonBlockList655(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<ASTCommonBlockNode> list = new ASTListNode<ASTCommonBlockNode>();
-                    ASTCommonBlockNode elt = (ASTCommonBlockNode)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleCommonBlockList656(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<ASTCommonBlockNode> list = (IASTListNode<ASTCommonBlockNode>)valueStack.get(valueStackOffset);
-                    ASTCommonBlockNode elt = (ASTCommonBlockNode)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleCommonBlock657(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCommonBlockNode node = new ASTCommonBlockNode();
-                    node.commonBlockObjectList = (IASTListNode<ASTCommonBlockObjectNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.commonBlockObjectList != null) node.commonBlockObjectList.setParent(node);
-                    return node;
-
-        }
-        public Object handleCommonBlock658(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCommonBlockNode node = new ASTCommonBlockNode();
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    node.commonBlockObjectList = (IASTListNode<ASTCommonBlockObjectNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.commonBlockObjectList != null) node.commonBlockObjectList.setParent(node);
-                    return node;
-
-        }
-        public Object handleCommonBlock659(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCommonBlockNode node = new ASTCommonBlockNode();
-                    node.hiddenTSlash = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTSlash != null) node.hiddenTSlash.setParent(node);
-                    ASTCommonBlockNameNode tmp1 = new ASTCommonBlockNameNode();
-                    tmp1.commonBlockName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("commonBlockName");
-                    if (tmp1.commonBlockName != null) tmp1.commonBlockName.setParent(tmp1);
-                    node.name = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTSlash2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTSlash2 != null) node.hiddenTSlash2.setParent(node);
-                    node.commonBlockObjectList = (IASTListNode<ASTCommonBlockObjectNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.commonBlockObjectList != null) node.commonBlockObjectList.setParent(node);
-                    return node;
-
-        }
-        public Object handleCommonBlockObjectList660(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<ASTCommonBlockObjectNode> list = new ASTListNode<ASTCommonBlockObjectNode>();
-                    ASTCommonBlockObjectNode elt = (ASTCommonBlockObjectNode)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleCommonBlockObjectList661(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<ASTCommonBlockObjectNode> list = (IASTListNode<ASTCommonBlockObjectNode>)valueStack.get(valueStackOffset);
-                    ASTCommonBlockObjectNode elt = (ASTCommonBlockObjectNode)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleCommonBlockObject662(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCommonBlockObjectNode node = new ASTCommonBlockObjectNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    return node;
-
-        }
-        public Object handleCommonBlockObject663(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCommonBlockObjectNode node = new ASTCommonBlockObjectNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("arraySpec");
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleCommonBlockObject664(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCommonBlockObjectNode node = new ASTCommonBlockObjectNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    return node;
-
-        }
-        public Object handleCommonBlockObject665(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCommonBlockObjectNode node = new ASTCommonBlockObjectNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.arraySpec = (ASTArraySpecNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("arraySpec");
-                    if (node.arraySpec != null) node.arraySpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    return node;
-
-        }
-        public Object handleVariable666(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVariableNode node = new ASTVariableNode();
-                    node.dataRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.dataRef != null) node.dataRef.setParent(node);
-                    return node;
-
-        }
-        public Object handleVariable667(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVariableNode node = new ASTVariableNode();
-                    node.dataRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.dataRef != null) node.dataRef.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleVariable668(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVariableNode node = new ASTVariableNode();
-                    node.dataRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.dataRef != null) node.dataRef.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 4);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    return node;
-
-        }
-        public Object handleVariable669(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVariableNode node = new ASTVariableNode();
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("stringConst");
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("substringRange");
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    return node;
-
-        }
-        public Object handleVariable670(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVariableNode node = new ASTVariableNode();
-                    node.dataRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.dataRef != null) node.dataRef.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleVariable671(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVariableNode node = new ASTVariableNode();
-                    node.dataRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.dataRef != null) node.dataRef.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleVariable672(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVariableNode node = new ASTVariableNode();
-                    node.dataRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.dataRef != null) node.dataRef.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 5);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubstrConst673(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("stringConst", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("substringRange", (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("substringRange")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleVariableName674(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("variableName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("variableName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleScalarVariable675(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTScalarVariableNode node = new ASTScalarVariableNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    return node;
-
-        }
-        public Object handleScalarVariable676(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTScalarVariableNode node = new ASTScalarVariableNode();
-                    node.structureComponent = (IASTListNode<ASTStructureComponentNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("structureComponent");
-                    if (node.structureComponent != null) node.structureComponent.setParent(node);
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("sectionSubscriptList");
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("imageSelector");
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubstringRange677(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubstringRangeNode node = new ASTSubstringRangeNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.subscriptTriplet = (ASTSubscriptTripletNode)valueStack.get(valueStackOffset + 1);
-                    if (node.subscriptTriplet != null) node.subscriptTriplet.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleDataRef678(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTDataRefNode node = new ASTDataRefNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    ASTListNode<ASTDataRefNode> list = new ASTListNode<ASTDataRefNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataRef679(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTDataRefNode node = new ASTDataRefNode();
-                    node.hasDerivedTypeComponentName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hasDerivedTypeComponentName != null) node.hasDerivedTypeComponentName.setParent(node);
-                    ASTNameNode tmp2 = new ASTNameNode();
-                    tmp2.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (tmp2.name != null) tmp2.name.setParent(tmp2);
-                    node.componentName = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    ASTListNode<ASTDataRefNode> list = (ASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataRef680(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTDataRefNode node = new ASTDataRefNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hasDerivedTypeComponentName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hasDerivedTypeComponentName != null) node.hasDerivedTypeComponentName.setParent(node);
-                    ASTNameNode tmp5 = new ASTNameNode();
-                    tmp5.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("name");
-                    if (tmp5.name != null) tmp5.name.setParent(tmp5);
-                    node.componentName = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    ASTListNode<ASTDataRefNode> list = (ASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataRef681(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTDataRefNode node = new ASTDataRefNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    ASTListNode<ASTDataRefNode> list = new ASTListNode<ASTDataRefNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataRef682(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTDataRefNode node = new ASTDataRefNode();
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hasDerivedTypeComponentName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hasDerivedTypeComponentName != null) node.hasDerivedTypeComponentName.setParent(node);
-                    ASTNameNode tmp3 = new ASTNameNode();
-                    tmp3.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("name");
-                    if (tmp3.name != null) tmp3.name.setParent(tmp3);
-                    node.componentName = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    ASTListNode<ASTDataRefNode> list = (ASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDataRef683(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTDataRefNode node = new ASTDataRefNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hasDerivedTypeComponentName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hasDerivedTypeComponentName != null) node.hasDerivedTypeComponentName.setParent(node);
-                    ASTNameNode tmp6 = new ASTNameNode();
-                    tmp6.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("name");
-                    if (tmp6.name != null) tmp6.name.setParent(tmp6);
-                    node.componentName = tmp6;
-                    if (tmp6 != null) tmp6.setParent(node);
-                    ASTListNode<ASTDataRefNode> list = (ASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFDataRef684(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFDataRefNode node = new ASTSFDataRefNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hasDerivedTypeComponentName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hasDerivedTypeComponentName != null) node.hasDerivedTypeComponentName.setParent(node);
-                    ASTNameNode tmp2 = new ASTNameNode();
-                    tmp2.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (tmp2.name != null) tmp2.name.setParent(tmp2);
-                    node.componentName = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    ASTListNode<ASTSFDataRefNode> list = new ASTListNode<ASTSFDataRefNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFDataRef685(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFDataRefNode node = new ASTSFDataRefNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    ASTListNode<ASTSFDataRefNode> list = new ASTListNode<ASTSFDataRefNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFDataRef686(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTSFDataRefNode node = new ASTSFDataRefNode();
-                    node.hasDerivedTypeComponentName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hasDerivedTypeComponentName != null) node.hasDerivedTypeComponentName.setParent(node);
-                    ASTNameNode tmp2 = new ASTNameNode();
-                    tmp2.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (tmp2.name != null) tmp2.name.setParent(tmp2);
-                    node.componentName = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    ASTListNode<ASTSFDataRefNode> list = (ASTListNode<ASTSFDataRefNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFDataRef687(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTSFDataRefNode node = new ASTSFDataRefNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hasDerivedTypeComponentName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hasDerivedTypeComponentName != null) node.hasDerivedTypeComponentName.setParent(node);
-                    ASTNameNode tmp5 = new ASTNameNode();
-                    tmp5.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("name");
-                    if (tmp5.name != null) tmp5.name.setParent(tmp5);
-                    node.componentName = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    ASTListNode<ASTSFDataRefNode> list = (ASTListNode<ASTSFDataRefNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFDataRef688(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFDataRefNode node = new ASTSFDataRefNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hasDerivedTypeComponentName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hasDerivedTypeComponentName != null) node.hasDerivedTypeComponentName.setParent(node);
-                    ASTNameNode tmp3 = new ASTNameNode();
-                    tmp3.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("name");
-                    if (tmp3.name != null) tmp3.name.setParent(tmp3);
-                    node.componentName = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    ASTListNode<ASTSFDataRefNode> list = new ASTListNode<ASTSFDataRefNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFDataRef689(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFDataRefNode node = new ASTSFDataRefNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    ASTListNode<ASTSFDataRefNode> list = new ASTListNode<ASTSFDataRefNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFDataRef690(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTSFDataRefNode node = new ASTSFDataRefNode();
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hasDerivedTypeComponentName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hasDerivedTypeComponentName != null) node.hasDerivedTypeComponentName.setParent(node);
-                    ASTNameNode tmp3 = new ASTNameNode();
-                    tmp3.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("name");
-                    if (tmp3.name != null) tmp3.name.setParent(tmp3);
-                    node.componentName = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    ASTListNode<ASTSFDataRefNode> list = (ASTListNode<ASTSFDataRefNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFDataRef691(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTSFDataRefNode node = new ASTSFDataRefNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hasDerivedTypeComponentName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hasDerivedTypeComponentName != null) node.hasDerivedTypeComponentName.setParent(node);
-                    ASTNameNode tmp6 = new ASTNameNode();
-                    tmp6.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("name");
-                    if (tmp6.name != null) tmp6.name.setParent(tmp6);
-                    node.componentName = tmp6;
-                    if (tmp6 != null) tmp6.setParent(node);
-                    ASTListNode<ASTSFDataRefNode> list = (ASTListNode<ASTSFDataRefNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleStructureComponent692(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTStructureComponentNode node = new ASTStructureComponentNode();
-                    ASTVariableNameNode tmp0 = new ASTVariableNameNode();
-                    tmp0.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (tmp0.variableName != null) tmp0.variableName.setParent(tmp0);
-                    node.variableName = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.fieldSelector = (ASTFieldSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.fieldSelector != null) node.fieldSelector.setParent(node);
-                    ASTListNode<ASTStructureComponentNode> list = new ASTListNode<ASTStructureComponentNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleStructureComponent693(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTStructureComponentNode node = new ASTStructureComponentNode();
-                    node.fieldSelector = (ASTFieldSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.fieldSelector != null) node.fieldSelector.setParent(node);
-                    ASTListNode<ASTStructureComponentNode> list = (ASTListNode<ASTStructureComponentNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFieldSelector694(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFieldSelectorNode node = new ASTFieldSelectorNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 1);
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hasDerivedTypeComponentRef = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hasDerivedTypeComponentRef != null) node.hasDerivedTypeComponentRef.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    return node;
-
-        }
-        public Object handleFieldSelector695(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFieldSelectorNode node = new ASTFieldSelectorNode();
-                    node.hasDerivedTypeComponentRef = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasDerivedTypeComponentRef != null) node.hasDerivedTypeComponentRef.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    return node;
-
-        }
-        public Object handleFieldSelector696(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFieldSelectorNode node = new ASTFieldSelectorNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 1);
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 3);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hasDerivedTypeComponentRef = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hasDerivedTypeComponentRef != null) node.hasDerivedTypeComponentRef.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    return node;
-
-        }
-        public Object handleFieldSelector697(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFieldSelectorNode node = new ASTFieldSelectorNode();
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 0);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hasDerivedTypeComponentRef = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hasDerivedTypeComponentRef != null) node.hasDerivedTypeComponentRef.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    return node;
-
-        }
-        public Object handleArrayElement698(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("variableName", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName"));
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("sectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("structureComponent")));
-                    embeddedList.add((IASTNode)(node.get("variableName")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("sectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleArrayElement699(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("structureComponent", (IASTListNode<ASTStructureComponentNode>)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("sectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("structureComponent")));
-                    embeddedList.add((IASTNode)(node.get("variableName")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("sectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleArrayElement700(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("variableName", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName"));
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("sectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("imageSelector", (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("structureComponent")));
-                    embeddedList.add((IASTNode)(node.get("variableName")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("sectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleArrayElement701(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("structureComponent", (IASTListNode<ASTStructureComponentNode>)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("sectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("imageSelector", (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("structureComponent")));
-                    embeddedList.add((IASTNode)(node.get("variableName")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("sectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubscript702(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubscriptNode node = new ASTSubscriptNode();
-                    node.subscriptExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.subscriptExpr != null) node.subscriptExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleSectionSubscriptList703(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTSectionSubscriptNode> list = new ASTSeparatedListNode<ASTSectionSubscriptNode>();
-                    ASTSectionSubscriptNode elt = (ASTSectionSubscriptNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSectionSubscriptList704(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTSectionSubscriptNode> list = (ASTSeparatedListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTSectionSubscriptNode elt = (ASTSectionSubscriptNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSectionSubscript705(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSectionSubscriptNode node = new ASTSectionSubscriptNode();
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleSectionSubscript706(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSectionSubscriptNode node = new ASTSectionSubscriptNode();
-                    node.subscriptTriplet = (ASTSubscriptTripletNode)valueStack.get(valueStackOffset + 0);
-                    if (node.subscriptTriplet != null) node.subscriptTriplet.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubscriptTriplet707(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubscriptTripletNode node = new ASTSubscriptTripletNode();
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubscriptTriplet708(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubscriptTripletNode node = new ASTSubscriptTripletNode();
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.ub != null) node.ub.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubscriptTriplet709(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubscriptTripletNode node = new ASTSubscriptTripletNode();
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubscriptTriplet710(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubscriptTripletNode node = new ASTSubscriptTripletNode();
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.ub != null) node.ub.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubscriptTriplet711(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubscriptTripletNode node = new ASTSubscriptTripletNode();
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 4);
-                    if (node.step != null) node.step.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubscriptTriplet712(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubscriptTripletNode node = new ASTSubscriptTripletNode();
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.step != null) node.step.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubscriptTriplet713(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubscriptTripletNode node = new ASTSubscriptTripletNode();
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.step != null) node.step.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubscriptTriplet714(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubscriptTripletNode node = new ASTSubscriptTripletNode();
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.step != null) node.step.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllocateStmt715(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllocateStmtNode node = new ASTAllocateStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAllocate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAllocate != null) node.hiddenTAllocate.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.allocationList = (IASTListNode<ASTAllocationNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.allocationList != null) node.allocationList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTStateq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTStateq != null) node.hiddenTStateq.setParent(node);
-                    node.statusVariable = (ASTVariableNode)valueStack.get(valueStackOffset + 6);
-                    if (node.statusVariable != null) node.statusVariable.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllocateStmt716(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllocateStmtNode node = new ASTAllocateStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAllocate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAllocate != null) node.hiddenTAllocate.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.allocationList = (IASTListNode<ASTAllocationNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.allocationList != null) node.allocationList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllocationList717(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTAllocationNode> list = new ASTSeparatedListNode<ASTAllocationNode>();
-                    ASTAllocationNode elt = (ASTAllocationNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleAllocationList718(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTAllocationNode> list = (ASTSeparatedListNode<ASTAllocationNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTAllocationNode elt = (ASTAllocationNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleAllocation719(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllocationNode node = new ASTAllocationNode();
-                    node.allocateObject = (IASTListNode<ASTAllocateObjectNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.allocateObject != null) node.allocateObject.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllocation720(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllocationNode node = new ASTAllocationNode();
-                    node.allocateObject = (IASTListNode<ASTAllocateObjectNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.allocateObject != null) node.allocateObject.setParent(node);
-                    node.hasAllocatedShape = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasAllocatedShape");
-                    if (node.hasAllocatedShape != null) node.hasAllocatedShape.setParent(node);
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("sectionSubscriptList");
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTLbracket");
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.allocateCoarraySpec = (ASTAllocateCoarraySpecNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("allocateCoarraySpec");
-                    if (node.allocateCoarraySpec != null) node.allocateCoarraySpec.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTRbracket");
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllocatedShape721(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hasAllocatedShape", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("sectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hasAllocatedShape")));
-                    embeddedList.add((IASTNode)(node.get("sectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLbracket")));
-                    embeddedList.add((IASTNode)(node.get("allocateCoarraySpec")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRbracket")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAllocatedShape722(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hasAllocatedShape", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("sectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTLbracket", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("allocateCoarraySpec", (ASTAllocateCoarraySpecNode)valueStack.get(valueStackOffset + 4));
-                    node.put("hiddenTRbracket", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hasAllocatedShape")));
-                    embeddedList.add((IASTNode)(node.get("sectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLbracket")));
-                    embeddedList.add((IASTNode)(node.get("allocateCoarraySpec")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRbracket")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAllocatedShape723(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLbracket", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("allocateCoarraySpec", (ASTAllocateCoarraySpecNode)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRbracket", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hasAllocatedShape")));
-                    embeddedList.add((IASTNode)(node.get("sectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLbracket")));
-                    embeddedList.add((IASTNode)(node.get("allocateCoarraySpec")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRbracket")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleAllocateObjectList724(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<IASTListNode<ASTAllocateObjectNode>> list = new ASTSeparatedListNode<IASTListNode<ASTAllocateObjectNode>>();
-                    IASTListNode<ASTAllocateObjectNode> elt = (IASTListNode<ASTAllocateObjectNode>)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleAllocateObjectList725(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<IASTListNode<ASTAllocateObjectNode>> list = (ASTSeparatedListNode<IASTListNode<ASTAllocateObjectNode>>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    IASTListNode<ASTAllocateObjectNode> elt = (IASTListNode<ASTAllocateObjectNode>)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleAllocateObject726(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTAllocateObjectNode node = new ASTAllocateObjectNode();
-                    ASTVariableNameNode tmp0 = new ASTVariableNameNode();
-                    tmp0.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (tmp0.variableName != null) tmp0.variableName.setParent(tmp0);
-                    node.variableName = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    ASTListNode<ASTAllocateObjectNode> list = new ASTListNode<ASTAllocateObjectNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleAllocateObject727(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTAllocateObjectNode node = new ASTAllocateObjectNode();
-                    node.fieldSelector = (ASTFieldSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.fieldSelector != null) node.fieldSelector.setParent(node);
-                    ASTListNode<ASTAllocateObjectNode> list = (ASTListNode<ASTAllocateObjectNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleAllocateCoarraySpec728(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllocateCoarraySpecNode node = new ASTAllocateCoarraySpecNode();
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.isAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.isAsterisk != null) node.isAsterisk.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllocateCoarraySpec729(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllocateCoarraySpecNode node = new ASTAllocateCoarraySpecNode();
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.isAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.isAsterisk != null) node.isAsterisk.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllocateCoarraySpec730(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllocateCoarraySpecNode node = new ASTAllocateCoarraySpecNode();
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.isAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.isAsterisk != null) node.isAsterisk.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllocateCoarraySpec731(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllocateCoarraySpecNode node = new ASTAllocateCoarraySpecNode();
-                    node.isAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isAsterisk != null) node.isAsterisk.setParent(node);
-                    return node;
-
-        }
-        public Object handleImageSelector732(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTImageSelectorNode node = new ASTImageSelectorNode();
-                    node.hiddenTLbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLbracket != null) node.hiddenTLbracket.setParent(node);
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 1);
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTRbracket = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRbracket != null) node.hiddenTRbracket.setParent(node);
-                    return node;
-
-        }
-        public Object handleNullifyStmt733(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTNullifyStmtNode node = new ASTNullifyStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTNullify = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTNullify != null) node.hiddenTNullify.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.pointerObjectList = (IASTListNode<ASTPointerObjectNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.pointerObjectList != null) node.pointerObjectList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerObjectList734(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTPointerObjectNode> list = new ASTSeparatedListNode<ASTPointerObjectNode>();
-                    ASTPointerObjectNode elt = (ASTPointerObjectNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handlePointerObjectList735(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTPointerObjectNode> list = (ASTSeparatedListNode<ASTPointerObjectNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTPointerObjectNode elt = (ASTPointerObjectNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handlePointerObject736(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPointerObjectNode node = new ASTPointerObjectNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerObject737(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPointerObjectNode node = new ASTPointerObjectNode();
-                    node.pointerField = (IASTListNode<ASTPointerFieldNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.pointerField != null) node.pointerField.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerField738(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTPointerFieldNode node = new ASTPointerFieldNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.SFExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.SFExprList != null) node.SFExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hasDerivedTypeComponentRef = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hasDerivedTypeComponentRef != null) node.hasDerivedTypeComponentRef.setParent(node);
-                    ASTNameNode tmp5 = new ASTNameNode();
-                    tmp5.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("name");
-                    if (tmp5.name != null) tmp5.name.setParent(tmp5);
-                    node.componentName = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    ASTListNode<ASTPointerFieldNode> list = new ASTListNode<ASTPointerFieldNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handlePointerField739(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTPointerFieldNode node = new ASTPointerFieldNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.SFDummyArgNameList != null) node.SFDummyArgNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hasDerivedTypeComponentRef = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hasDerivedTypeComponentRef != null) node.hasDerivedTypeComponentRef.setParent(node);
-                    ASTNameNode tmp5 = new ASTNameNode();
-                    tmp5.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("name");
-                    if (tmp5.name != null) tmp5.name.setParent(tmp5);
-                    node.componentName = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    ASTListNode<ASTPointerFieldNode> list = new ASTListNode<ASTPointerFieldNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handlePointerField740(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTPointerFieldNode node = new ASTPointerFieldNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hasDerivedTypeComponentRef = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hasDerivedTypeComponentRef != null) node.hasDerivedTypeComponentRef.setParent(node);
-                    ASTNameNode tmp2 = new ASTNameNode();
-                    tmp2.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (tmp2.name != null) tmp2.name.setParent(tmp2);
-                    node.componentName = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    ASTListNode<ASTPointerFieldNode> list = new ASTListNode<ASTPointerFieldNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handlePointerField741(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTPointerFieldNode node = new ASTPointerFieldNode();
-                    node.fieldSelector = (ASTFieldSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.fieldSelector != null) node.fieldSelector.setParent(node);
-                    ASTListNode<ASTPointerFieldNode> list = (ASTListNode<ASTPointerFieldNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handlePointerField742(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTPointerFieldNode node = new ASTPointerFieldNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.SFExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.SFExprList != null) node.SFExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hasDerivedTypeComponentRef = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hasDerivedTypeComponentRef != null) node.hasDerivedTypeComponentRef.setParent(node);
-                    ASTNameNode tmp6 = new ASTNameNode();
-                    tmp6.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("name");
-                    if (tmp6.name != null) tmp6.name.setParent(tmp6);
-                    node.componentName = tmp6;
-                    if (tmp6 != null) tmp6.setParent(node);
-                    ASTListNode<ASTPointerFieldNode> list = new ASTListNode<ASTPointerFieldNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handlePointerField743(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTPointerFieldNode node = new ASTPointerFieldNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.SFDummyArgNameList != null) node.SFDummyArgNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hasDerivedTypeComponentRef = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hasDerivedTypeComponentRef != null) node.hasDerivedTypeComponentRef.setParent(node);
-                    ASTNameNode tmp6 = new ASTNameNode();
-                    tmp6.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("name");
-                    if (tmp6.name != null) tmp6.name.setParent(tmp6);
-                    node.componentName = tmp6;
-                    if (tmp6 != null) tmp6.setParent(node);
-                    ASTListNode<ASTPointerFieldNode> list = new ASTListNode<ASTPointerFieldNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handlePointerField744(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTPointerFieldNode node = new ASTPointerFieldNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hasDerivedTypeComponentRef = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hasDerivedTypeComponentRef != null) node.hasDerivedTypeComponentRef.setParent(node);
-                    ASTNameNode tmp3 = new ASTNameNode();
-                    tmp3.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("name");
-                    if (tmp3.name != null) tmp3.name.setParent(tmp3);
-                    node.componentName = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    ASTListNode<ASTPointerFieldNode> list = new ASTListNode<ASTPointerFieldNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDeallocateStmt745(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDeallocateStmtNode node = new ASTDeallocateStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTDeallocate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTDeallocate != null) node.hiddenTDeallocate.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.allocateObjectList = (IASTListNode<IASTListNode<ASTAllocateObjectNode>>)valueStack.get(valueStackOffset + 3);
-                    if (node.allocateObjectList != null) node.allocateObjectList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTStateq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTStateq != null) node.hiddenTStateq.setParent(node);
-                    node.statusVariable = (ASTVariableNode)valueStack.get(valueStackOffset + 6);
-                    if (node.statusVariable != null) node.statusVariable.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDeallocateStmt746(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDeallocateStmtNode node = new ASTDeallocateStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTDeallocate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTDeallocate != null) node.hiddenTDeallocate.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.allocateObjectList = (IASTListNode<IASTListNode<ASTAllocateObjectNode>>)valueStack.get(valueStackOffset + 3);
-                    if (node.allocateObjectList != null) node.allocateObjectList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary747(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTLogicalConstNode result = (ASTLogicalConstNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handlePrimary748(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTStringConstNode node = new ASTStringConstNode();
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary749(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IUnsignedArithmeticConst result = (IUnsignedArithmeticConst)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handlePrimary750(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTArrayConstructorNode result = (ASTArrayConstructorNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handlePrimary751(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary752(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary753(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.substringRange2 = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 4);
-                    if (node.substringRange2 != null) node.substringRange2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary754(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary755(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary756(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary757(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange2 = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 6);
-                    if (node.substringRange2 != null) node.substringRange2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary758(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary759(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary760(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange2 = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 9);
-                    if (node.substringRange2 != null) node.substringRange2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary761(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary762(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 1);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary763(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary764(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary765(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange2 = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 6);
-                    if (node.substringRange2 != null) node.substringRange2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary766(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTNestedExprNode node = new ASTNestedExprNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary767(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTStringConstNode node = new ASTStringConstNode();
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("stringConst");
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("substringRange");
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary768(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary769(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary770(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.substringRange2 = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 5);
-                    if (node.substringRange2 != null) node.substringRange2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary771(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenHiddenPercent2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenPercent2 != null) node.hiddenHiddenPercent2.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary772(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenHiddenPercent2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenPercent2 != null) node.hiddenHiddenPercent2.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary773(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenHiddenPercent2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenPercent2 != null) node.hiddenHiddenPercent2.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary774(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenHiddenPercent2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenPercent2 != null) node.hiddenHiddenPercent2.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange2 = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 7);
-                    if (node.substringRange2 != null) node.substringRange2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary775(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenHiddenPercent2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenHiddenPercent2 != null) node.hiddenHiddenPercent2.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary776(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenHiddenPercent2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenHiddenPercent2 != null) node.hiddenHiddenPercent2.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary777(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenHiddenPercent2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenHiddenPercent2 != null) node.hiddenHiddenPercent2.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange2 = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 10);
-                    if (node.substringRange2 != null) node.substringRange2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary778(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary779(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 1);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 2);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary780(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenHiddenPercent2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenPercent2 != null) node.hiddenHiddenPercent2.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary781(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenHiddenPercent2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenPercent2 != null) node.hiddenHiddenPercent2.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrimary782(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTVarOrFnRefNode node = new ASTVarOrFnRefNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenHiddenPercent2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenPercent2 != null) node.hiddenHiddenPercent2.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange2 = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 7);
-                    if (node.substringRange2 != null) node.substringRange2.setParent(node);
-                    return node;
-
-        }
-        public Object handleCPrimary783(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCPrimaryNode node = new ASTCPrimaryNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("stringConst");
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("primarySectionSubscriptList");
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("imageSelector");
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTPercent");
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("derivedTypeComponentRef");
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenLparen2");
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("componentSectionSubscriptList");
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenRparen2");
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handleCPrimary784(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCPrimaryNode node = new ASTCPrimaryNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.nestedExpression = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.nestedExpression != null) node.nestedExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleCOperand785(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("stringConst", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand786(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand787(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("primarySectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand788(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("hiddenTPercent", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("derivedTypeComponentRef", (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand789(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("hiddenTPercent", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("derivedTypeComponentRef", (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenLparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("componentSectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 4));
-                    node.put("hiddenRparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand790(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("primarySectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("hiddenTPercent", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4));
-                    node.put("derivedTypeComponentRef", (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 5));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand791(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("primarySectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("hiddenTPercent", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4));
-                    node.put("derivedTypeComponentRef", (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 5));
-                    node.put("hiddenLparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6));
-                    node.put("componentSectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 7));
-                    node.put("hiddenRparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand792(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("name", (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name"));
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen"));
-                    node.put("functionArgList", (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList"));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen"));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand793(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("imageSelector", (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand794(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("primarySectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("imageSelector", (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand795(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("imageSelector", (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTPercent", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    node.put("derivedTypeComponentRef", (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand796(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("imageSelector", (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTPercent", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    node.put("derivedTypeComponentRef", (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3));
-                    node.put("hiddenLparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4));
-                    node.put("componentSectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 5));
-                    node.put("hiddenRparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand797(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("primarySectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("imageSelector", (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4));
-                    node.put("hiddenTPercent", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5));
-                    node.put("derivedTypeComponentRef", (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCOperand798(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("primarySectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("imageSelector", (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4));
-                    node.put("hiddenTPercent", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5));
-                    node.put("derivedTypeComponentRef", (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6));
-                    node.put("hiddenLparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7));
-                    node.put("componentSectionSubscriptList", (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 8));
-                    node.put("hiddenRparen2", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("stringConst")));
-                    embeddedList.add((IASTNode)(node.get("primarySectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("imageSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTPercent")));
-                    embeddedList.add((IASTNode)(node.get("derivedTypeComponentRef")));
-                    embeddedList.add((IASTNode)(node.get("hiddenLparen2")));
-                    embeddedList.add((IASTNode)(node.get("componentSectionSubscriptList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenRparen2")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleUFPrimary799(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    node.intConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.intConst != null) node.intConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary800(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary801(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    node.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (node.functionArgList != null) node.functionArgList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary802(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary803(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary804(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 4);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary805(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary806(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary807(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 6);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary808(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary809(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary810(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 9);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary811(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.nestedExpression = (ASTUFExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.nestedExpression != null) node.nestedExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary812(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary813(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary814(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 5);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary815(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary816(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary817(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 7);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary818(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary819(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFPrimary820(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFPrimaryNode node = new ASTUFPrimaryNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.primarySectionSubscriptList != null) node.primarySectionSubscriptList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 10);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    return node;
-
-        }
-        public Object handleLevel1Expr821(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleLevel1Expr822(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUnaryExprNode node = new ASTUnaryExprNode();
-                    node.operator = (ASTOperatorNode)valueStack.get(valueStackOffset + 0);
-                    if (node.operator != null) node.operator.setParent(node);
-                    node.operand = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.operand != null) node.operand.setParent(node);
-                    return node;
-
-        }
-        public Object handleMultOperand823(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleMultOperand824(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBinaryExprNode node = new ASTBinaryExprNode();
-                    node.lhsExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.operator = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.operator != null) node.operator.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFFactor825(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFFactorNode node = new ASTUFFactorNode();
-                    node.UFPrimary = (ASTUFPrimaryNode)valueStack.get(valueStackOffset + 0);
-                    if (node.UFPrimary != null) node.UFPrimary.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFFactor826(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFFactorNode node = new ASTUFFactorNode();
-                    node.lhsPrimary = (ASTUFPrimaryNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsPrimary != null) node.lhsPrimary.setParent(node);
-                    node.powerOp = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.powerOp != null) node.powerOp.setParent(node);
-                    node.rhsExpr = (ASTUFFactorNode)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleAddOperand827(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleAddOperand828(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBinaryExprNode node = new ASTBinaryExprNode();
-                    node.lhsExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.operator = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.operator != null) node.operator.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFTerm829(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFTermNode node = new ASTUFTermNode();
-                    node.UFFactor = (ASTUFFactorNode)valueStack.get(valueStackOffset + 0);
-                    if (node.UFFactor != null) node.UFFactor.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFTerm830(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFTermNode node = new ASTUFTermNode();
-                    node.lhsExpr = (ASTUFTermNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.multOp = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.multOp != null) node.multOp.setParent(node);
-                    node.rhsExpr = (ASTUFFactorNode)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFTerm831(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFTermNode node = new ASTUFTermNode();
-                    node.lhsExpr = (ASTUFTermNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    ASTOperatorNode tmp1 = new ASTOperatorNode();
-                    tmp1.hasMinusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasMinusOp");
-                    if (tmp1.hasMinusOp != null) tmp1.hasMinusOp.setParent(tmp1);
-                    tmp1.hasSlashEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasSlashEqOp");
-                    if (tmp1.hasSlashEqOp != null) tmp1.hasSlashEqOp.setParent(tmp1);
-                    tmp1.hasAndOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasAndOp");
-                    if (tmp1.hasAndOp != null) tmp1.hasAndOp.setParent(tmp1);
-                    tmp1.definedUnaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("definedUnaryOp");
-                    if (tmp1.definedUnaryOp != null) tmp1.definedUnaryOp.setParent(tmp1);
-                    tmp1.hasEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqOp");
-                    if (tmp1.hasEqOp != null) tmp1.hasEqOp.setParent(tmp1);
-                    tmp1.hasPlusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasPlusOp");
-                    if (tmp1.hasPlusOp != null) tmp1.hasPlusOp.setParent(tmp1);
-                    tmp1.hasDivideOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasDivideOp");
-                    if (tmp1.hasDivideOp != null) tmp1.hasDivideOp.setParent(tmp1);
-                    tmp1.hasNeqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNeqvOp");
-                    if (tmp1.hasNeqvOp != null) tmp1.hasNeqvOp.setParent(tmp1);
-                    tmp1.hasEqEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqEqOp");
-                    if (tmp1.hasEqEqOp != null) tmp1.hasEqEqOp.setParent(tmp1);
-                    tmp1.hasGeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasGeOp");
-                    if (tmp1.hasGeOp != null) tmp1.hasGeOp.setParent(tmp1);
-                    tmp1.hasNotOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNotOp");
-                    if (tmp1.hasNotOp != null) tmp1.hasNotOp.setParent(tmp1);
-                    tmp1.hasEqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqvOp");
-                    if (tmp1.hasEqvOp != null) tmp1.hasEqvOp.setParent(tmp1);
-                    tmp1.hasConcatOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasConcatOp");
-                    if (tmp1.hasConcatOp != null) tmp1.hasConcatOp.setParent(tmp1);
-                    tmp1.hasPowerOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasPowerOp");
-                    if (tmp1.hasPowerOp != null) tmp1.hasPowerOp.setParent(tmp1);
-                    tmp1.hasGtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasGtOp");
-                    if (tmp1.hasGtOp != null) tmp1.hasGtOp.setParent(tmp1);
-                    tmp1.hasLtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasLtOp");
-                    if (tmp1.hasLtOp != null) tmp1.hasLtOp.setParent(tmp1);
-                    tmp1.hasNeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNeOp");
-                    if (tmp1.hasNeOp != null) tmp1.hasNeOp.setParent(tmp1);
-                    tmp1.hasOrOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasOrOp");
-                    if (tmp1.hasOrOp != null) tmp1.hasOrOp.setParent(tmp1);
-                    tmp1.customDefinedOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("customDefinedOp");
-                    if (tmp1.customDefinedOp != null) tmp1.customDefinedOp.setParent(tmp1);
-                    tmp1.hasTimesOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasTimesOp");
-                    if (tmp1.hasTimesOp != null) tmp1.hasTimesOp.setParent(tmp1);
-                    tmp1.definedBinaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("definedBinaryOp");
-                    if (tmp1.definedBinaryOp != null) tmp1.definedBinaryOp.setParent(tmp1);
-                    tmp1.hasLeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasLeOp");
-                    if (tmp1.hasLeOp != null) tmp1.hasLeOp.setParent(tmp1);
-                    node.concatOp = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.rhsPrimary = (ASTUFPrimaryNode)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsPrimary != null) node.rhsPrimary.setParent(node);
-                    return node;
-
-        }
-        public Object handleLevel2Expr832(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleLevel2Expr833(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUnaryExprNode node = new ASTUnaryExprNode();
-                    node.sign = (ASTSignNode)valueStack.get(valueStackOffset + 0);
-                    if (node.sign != null) node.sign.setParent(node);
-                    node.operand = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.operand != null) node.operand.setParent(node);
-                    return node;
-
-        }
-        public Object handleLevel2Expr834(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBinaryExprNode node = new ASTBinaryExprNode();
-                    node.lhsExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.operator = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.operator != null) node.operator.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFExpr835(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFExprNode node = new ASTUFExprNode();
-                    node.UFTerm = (ASTUFTermNode)valueStack.get(valueStackOffset + 0);
-                    if (node.UFTerm != null) node.UFTerm.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFExpr836(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFExprNode node = new ASTUFExprNode();
-                    node.rhs2 = (ASTSignNode)valueStack.get(valueStackOffset + 0);
-                    if (node.rhs2 != null) node.rhs2.setParent(node);
-                    node.rhsExpr = (ASTUFTermNode)valueStack.get(valueStackOffset + 1);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleUFExpr837(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUFExprNode node = new ASTUFExprNode();
-                    node.lhsExpr = (ASTUFExprNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.addOp = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.addOp != null) node.addOp.setParent(node);
-                    node.rhsExpr = (ASTUFTermNode)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleLevel3Expr838(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleLevel3Expr839(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBinaryExprNode node = new ASTBinaryExprNode();
-                    node.lhsExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    ASTOperatorNode tmp1 = new ASTOperatorNode();
-                    tmp1.hasMinusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasMinusOp");
-                    if (tmp1.hasMinusOp != null) tmp1.hasMinusOp.setParent(tmp1);
-                    tmp1.hasSlashEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasSlashEqOp");
-                    if (tmp1.hasSlashEqOp != null) tmp1.hasSlashEqOp.setParent(tmp1);
-                    tmp1.hasAndOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasAndOp");
-                    if (tmp1.hasAndOp != null) tmp1.hasAndOp.setParent(tmp1);
-                    tmp1.definedUnaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("definedUnaryOp");
-                    if (tmp1.definedUnaryOp != null) tmp1.definedUnaryOp.setParent(tmp1);
-                    tmp1.hasEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqOp");
-                    if (tmp1.hasEqOp != null) tmp1.hasEqOp.setParent(tmp1);
-                    tmp1.hasPlusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasPlusOp");
-                    if (tmp1.hasPlusOp != null) tmp1.hasPlusOp.setParent(tmp1);
-                    tmp1.hasDivideOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasDivideOp");
-                    if (tmp1.hasDivideOp != null) tmp1.hasDivideOp.setParent(tmp1);
-                    tmp1.hasNeqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNeqvOp");
-                    if (tmp1.hasNeqvOp != null) tmp1.hasNeqvOp.setParent(tmp1);
-                    tmp1.hasEqEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqEqOp");
-                    if (tmp1.hasEqEqOp != null) tmp1.hasEqEqOp.setParent(tmp1);
-                    tmp1.hasGeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasGeOp");
-                    if (tmp1.hasGeOp != null) tmp1.hasGeOp.setParent(tmp1);
-                    tmp1.hasNotOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNotOp");
-                    if (tmp1.hasNotOp != null) tmp1.hasNotOp.setParent(tmp1);
-                    tmp1.hasEqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqvOp");
-                    if (tmp1.hasEqvOp != null) tmp1.hasEqvOp.setParent(tmp1);
-                    tmp1.hasConcatOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasConcatOp");
-                    if (tmp1.hasConcatOp != null) tmp1.hasConcatOp.setParent(tmp1);
-                    tmp1.hasPowerOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasPowerOp");
-                    if (tmp1.hasPowerOp != null) tmp1.hasPowerOp.setParent(tmp1);
-                    tmp1.hasGtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasGtOp");
-                    if (tmp1.hasGtOp != null) tmp1.hasGtOp.setParent(tmp1);
-                    tmp1.hasLtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasLtOp");
-                    if (tmp1.hasLtOp != null) tmp1.hasLtOp.setParent(tmp1);
-                    tmp1.hasNeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNeOp");
-                    if (tmp1.hasNeOp != null) tmp1.hasNeOp.setParent(tmp1);
-                    tmp1.hasOrOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasOrOp");
-                    if (tmp1.hasOrOp != null) tmp1.hasOrOp.setParent(tmp1);
-                    tmp1.customDefinedOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("customDefinedOp");
-                    if (tmp1.customDefinedOp != null) tmp1.customDefinedOp.setParent(tmp1);
-                    tmp1.hasTimesOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasTimesOp");
-                    if (tmp1.hasTimesOp != null) tmp1.hasTimesOp.setParent(tmp1);
-                    tmp1.definedBinaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("definedBinaryOp");
-                    if (tmp1.definedBinaryOp != null) tmp1.definedBinaryOp.setParent(tmp1);
-                    tmp1.hasLeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasLeOp");
-                    if (tmp1.hasLeOp != null) tmp1.hasLeOp.setParent(tmp1);
-                    node.operator = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleCExpr840(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCExprNode node = new ASTCExprNode();
-                    node.rhsPrimary = (ASTCPrimaryNode)valueStack.get(valueStackOffset + 0);
-                    if (node.rhsPrimary != null) node.rhsPrimary.setParent(node);
-                    return node;
-
-        }
-        public Object handleCExpr841(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCExprNode node = new ASTCExprNode();
-                    node.lhsExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    ASTOperatorNode tmp1 = new ASTOperatorNode();
-                    tmp1.hasMinusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasMinusOp");
-                    if (tmp1.hasMinusOp != null) tmp1.hasMinusOp.setParent(tmp1);
-                    tmp1.hasSlashEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasSlashEqOp");
-                    if (tmp1.hasSlashEqOp != null) tmp1.hasSlashEqOp.setParent(tmp1);
-                    tmp1.hasAndOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasAndOp");
-                    if (tmp1.hasAndOp != null) tmp1.hasAndOp.setParent(tmp1);
-                    tmp1.definedUnaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("definedUnaryOp");
-                    if (tmp1.definedUnaryOp != null) tmp1.definedUnaryOp.setParent(tmp1);
-                    tmp1.hasEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqOp");
-                    if (tmp1.hasEqOp != null) tmp1.hasEqOp.setParent(tmp1);
-                    tmp1.hasPlusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasPlusOp");
-                    if (tmp1.hasPlusOp != null) tmp1.hasPlusOp.setParent(tmp1);
-                    tmp1.hasDivideOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasDivideOp");
-                    if (tmp1.hasDivideOp != null) tmp1.hasDivideOp.setParent(tmp1);
-                    tmp1.hasNeqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNeqvOp");
-                    if (tmp1.hasNeqvOp != null) tmp1.hasNeqvOp.setParent(tmp1);
-                    tmp1.hasEqEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqEqOp");
-                    if (tmp1.hasEqEqOp != null) tmp1.hasEqEqOp.setParent(tmp1);
-                    tmp1.hasGeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasGeOp");
-                    if (tmp1.hasGeOp != null) tmp1.hasGeOp.setParent(tmp1);
-                    tmp1.hasNotOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNotOp");
-                    if (tmp1.hasNotOp != null) tmp1.hasNotOp.setParent(tmp1);
-                    tmp1.hasEqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqvOp");
-                    if (tmp1.hasEqvOp != null) tmp1.hasEqvOp.setParent(tmp1);
-                    tmp1.hasConcatOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasConcatOp");
-                    if (tmp1.hasConcatOp != null) tmp1.hasConcatOp.setParent(tmp1);
-                    tmp1.hasPowerOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasPowerOp");
-                    if (tmp1.hasPowerOp != null) tmp1.hasPowerOp.setParent(tmp1);
-                    tmp1.hasGtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasGtOp");
-                    if (tmp1.hasGtOp != null) tmp1.hasGtOp.setParent(tmp1);
-                    tmp1.hasLtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasLtOp");
-                    if (tmp1.hasLtOp != null) tmp1.hasLtOp.setParent(tmp1);
-                    tmp1.hasNeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNeOp");
-                    if (tmp1.hasNeOp != null) tmp1.hasNeOp.setParent(tmp1);
-                    tmp1.hasOrOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasOrOp");
-                    if (tmp1.hasOrOp != null) tmp1.hasOrOp.setParent(tmp1);
-                    tmp1.customDefinedOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("customDefinedOp");
-                    if (tmp1.customDefinedOp != null) tmp1.customDefinedOp.setParent(tmp1);
-                    tmp1.hasTimesOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasTimesOp");
-                    if (tmp1.hasTimesOp != null) tmp1.hasTimesOp.setParent(tmp1);
-                    tmp1.definedBinaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("definedBinaryOp");
-                    if (tmp1.definedBinaryOp != null) tmp1.definedBinaryOp.setParent(tmp1);
-                    tmp1.hasLeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasLeOp");
-                    if (tmp1.hasLeOp != null) tmp1.hasLeOp.setParent(tmp1);
-                    node.concatOp = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.rhsPrimary = (ASTCPrimaryNode)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsPrimary != null) node.rhsPrimary.setParent(node);
-                    return node;
-
-        }
-        public Object handleLevel4Expr842(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleLevel4Expr843(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBinaryExprNode node = new ASTBinaryExprNode();
-                    node.lhsExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.operator = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.operator != null) node.operator.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleAndOperand844(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleAndOperand845(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUnaryExprNode node = new ASTUnaryExprNode();
-                    node.operator = (ASTOperatorNode)valueStack.get(valueStackOffset + 0);
-                    if (node.operator != null) node.operator.setParent(node);
-                    node.operand = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.operand != null) node.operand.setParent(node);
-                    return node;
-
-        }
-        public Object handleOrOperand846(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleOrOperand847(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBinaryExprNode node = new ASTBinaryExprNode();
-                    node.lhsExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.operator = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.operator != null) node.operator.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleEquivOperand848(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleEquivOperand849(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBinaryExprNode node = new ASTBinaryExprNode();
-                    node.lhsExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.operator = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.operator != null) node.operator.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleLevel5Expr850(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleLevel5Expr851(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBinaryExprNode node = new ASTBinaryExprNode();
-                    node.lhsExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.operator = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.operator != null) node.operator.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleExpr852(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleExpr853(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBinaryExprNode node = new ASTBinaryExprNode();
-                    node.lhsExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.operator = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.operator != null) node.operator.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFExprList854(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.lb = (ASTSFExprNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 4);
-                    if (node.step != null) node.step.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList855(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.lb = (ASTSFExprNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.step != null) node.step.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList856(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.step != null) node.step.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList857(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.step != null) node.step.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList858(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList859(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.ub != null) node.ub.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList860(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.lb = (ASTSFExprNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList861(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.lb = (ASTSFExprNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList862(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.lb = (ASTSFExprNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.ub != null) node.ub.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList863(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.sectionSubscript = (ASTSectionSubscriptNode)valueStack.get(valueStackOffset + 2);
-                    if (node.sectionSubscript != null) node.sectionSubscript.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = (ASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList864(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.SFDummyArgNameList != null) node.SFDummyArgNameList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList865(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.SFDummyArgNameList != null) node.SFDummyArgNameList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.ub != null) node.ub.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList866(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.SFDummyArgNameList != null) node.SFDummyArgNameList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.lb = (ASTSFExprNode)valueStack.get(valueStackOffset + 2);
-                    if (node.lb != null) node.lb.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList867(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.SFDummyArgNameList != null) node.SFDummyArgNameList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.lb = (ASTSFExprNode)valueStack.get(valueStackOffset + 2);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFExprList868(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFExprListNode node = new ASTSFExprListNode();
-                    node.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.SFDummyArgNameList != null) node.SFDummyArgNameList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.lb = (ASTSFExprNode)valueStack.get(valueStackOffset + 2);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 4);
-                    if (node.ub != null) node.ub.setParent(node);
-                    ASTListNode<ASTSFExprListNode> list = new ASTListNode<ASTSFExprListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleAssignmentStmt869(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt870(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 6);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt871(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 5);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt872(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsNameList != null) node.lhsNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 5);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt873(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt874(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 8);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt875(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 7);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 9);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt876(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 8);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt877(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 11);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 12);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt878(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 10);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 11);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 12);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 13);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt879(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsNameList != null) node.lhsNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 8);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt880(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsNameList != null) node.lhsNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 11);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 12);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt881(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsNameList != null) node.lhsNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 10);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 11);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 12);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 13);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt882(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 2);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 4);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt883(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 5);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt884(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 5);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 6);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 8);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt885(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsNameList != null) node.lhsNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 5);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 6);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 8);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt886(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 2);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 6);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt887(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 2);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 9);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt888(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 2);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 8);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 10);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 11);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt889(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 5);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 9);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt890(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 5);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 9);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 11);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 12);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 13);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt891(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 5);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 9);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 11);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 12);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 13);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 14);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt892(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsNameList != null) node.lhsNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 5);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 9);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt893(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsNameList != null) node.lhsNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 5);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 9);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 11);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 12);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 13);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmt894(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsNameList != null) node.lhsNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 5);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenLparen2 != null) node.hiddenLparen2.setParent(node);
-                    node.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 9);
-                    if (node.componentSectionSubscriptList != null) node.componentSectionSubscriptList.setParent(node);
-                    node.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenRparen2 != null) node.hiddenRparen2.setParent(node);
-                    node.substringRange = (ASTSubstringRangeNode)valueStack.get(valueStackOffset + 11);
-                    if (node.substringRange != null) node.substringRange.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 12);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.rhs = (IExpr)valueStack.get(valueStackOffset + 13);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 14);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFExpr895(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFExprNode node = new ASTSFExprNode();
-                    node.SFTerm = (ASTSFTermNode)valueStack.get(valueStackOffset + 0);
-                    if (node.SFTerm != null) node.SFTerm.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFExpr896(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFExprNode node = new ASTSFExprNode();
-                    node.rhs = (ASTSignNode)valueStack.get(valueStackOffset + 0);
-                    if (node.rhs != null) node.rhs.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFExpr897(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFExprNode node = new ASTSFExprNode();
-                    node.lhsExpr = (ASTSFExprNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.addOp = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.addOp != null) node.addOp.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFTerm898(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFTermNode node = new ASTSFTermNode();
-                    node.SFFactor = (ASTSFFactorNode)valueStack.get(valueStackOffset + 0);
-                    if (node.SFFactor != null) node.SFFactor.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFTerm899(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFTermNode node = new ASTSFTermNode();
-                    node.lhsExpr = (ASTSFTermNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsExpr != null) node.lhsExpr.setParent(node);
-                    node.multOp = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.multOp != null) node.multOp.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFFactor900(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFFactorNode node = new ASTSFFactorNode();
-                    node.rhsPrimary = (ASTSFPrimaryNode)valueStack.get(valueStackOffset + 0);
-                    if (node.rhsPrimary != null) node.rhsPrimary.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFFactor901(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFFactorNode node = new ASTSFFactorNode();
-                    node.lhsPrimary = (ASTSFPrimaryNode)valueStack.get(valueStackOffset + 0);
-                    if (node.lhsPrimary != null) node.lhsPrimary.setParent(node);
-                    node.powerOp = (ASTOperatorNode)valueStack.get(valueStackOffset + 1);
-                    if (node.powerOp != null) node.powerOp.setParent(node);
-                    node.rhsExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.rhsExpr != null) node.rhsExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFPrimary902(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFPrimaryNode node = new ASTSFPrimaryNode();
-                    node.arrayConstructor = (ASTArrayConstructorNode)valueStack.get(valueStackOffset + 0);
-                    if (node.arrayConstructor != null) node.arrayConstructor.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFPrimary903(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFPrimaryNode node = new ASTSFPrimaryNode();
-                    node.intConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.intConst != null) node.intConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFPrimary904(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFPrimaryNode node = new ASTSFPrimaryNode();
-                    node.SFVarName = (ASTSFVarNameNode)valueStack.get(valueStackOffset + 0);
-                    if (node.SFVarName != null) node.SFVarName.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFPrimary905(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFPrimaryNode node = new ASTSFPrimaryNode();
-                    node.SFDataRef = (IASTListNode<ASTSFDataRefNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.SFDataRef != null) node.SFDataRef.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFPrimary906(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFPrimaryNode node = new ASTSFPrimaryNode();
-                    ASTFunctionReferenceNode tmp0 = new ASTFunctionReferenceNode();
-                    tmp0.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    tmp0.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (tmp0.hiddenTLparen != null) tmp0.hiddenTLparen.setParent(tmp0);
-                    tmp0.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (tmp0.functionArgList != null) tmp0.functionArgList.setParent(tmp0);
-                    tmp0.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (tmp0.hiddenTRparen != null) tmp0.hiddenTRparen.setParent(tmp0);
-                    node.functionReference = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFPrimary907(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFPrimaryNode node = new ASTSFPrimaryNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerAssignmentStmt908(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.isPointerAssignment = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.isPointerAssignment != null) node.isPointerAssignment.setParent(node);
-                    node.target = (ASTTargetNode)valueStack.get(valueStackOffset + 3);
-                    if (node.target != null) node.target.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerAssignmentStmt909(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.isPointerAssignment = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.isPointerAssignment != null) node.isPointerAssignment.setParent(node);
-                    node.target = (ASTTargetNode)valueStack.get(valueStackOffset + 5);
-                    if (node.target != null) node.target.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerAssignmentStmt910(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.isPointerAssignment = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.isPointerAssignment != null) node.isPointerAssignment.setParent(node);
-                    node.target = (ASTTargetNode)valueStack.get(valueStackOffset + 8);
-                    if (node.target != null) node.target.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerAssignmentStmt911(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsNameList != null) node.lhsNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.isPointerAssignment = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.isPointerAssignment != null) node.isPointerAssignment.setParent(node);
-                    node.target = (ASTTargetNode)valueStack.get(valueStackOffset + 8);
-                    if (node.target != null) node.target.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerAssignmentStmt912(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 2);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.isPointerAssignment = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.isPointerAssignment != null) node.isPointerAssignment.setParent(node);
-                    node.target = (ASTTargetNode)valueStack.get(valueStackOffset + 4);
-                    if (node.target != null) node.target.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerAssignmentStmt913(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 2);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.isPointerAssignment = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.isPointerAssignment != null) node.isPointerAssignment.setParent(node);
-                    node.target = (ASTTargetNode)valueStack.get(valueStackOffset + 6);
-                    if (node.target != null) node.target.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerAssignmentStmt914(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsExprList = (IASTListNode<ASTSFExprListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsExprList != null) node.lhsExprList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 5);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.isPointerAssignment = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.isPointerAssignment != null) node.isPointerAssignment.setParent(node);
-                    node.target = (ASTTargetNode)valueStack.get(valueStackOffset + 9);
-                    if (node.target != null) node.target.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePointerAssignmentStmt915(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lhsNameList = (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lhsNameList != null) node.lhsNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.imageSelector = (ASTImageSelectorNode)valueStack.get(valueStackOffset + 5);
-                    if (node.imageSelector != null) node.imageSelector.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.derivedTypeComponentRef != null) node.derivedTypeComponentRef.setParent(node);
-                    node.isPointerAssignment = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.isPointerAssignment != null) node.isPointerAssignment.setParent(node);
-                    node.target = (ASTTargetNode)valueStack.get(valueStackOffset + 9);
-                    if (node.target != null) node.target.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTarget916(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTargetNode node = new ASTTargetNode();
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleTarget917(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTargetNode node = new ASTTargetNode();
-                    node.isNull = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isNull != null) node.isNull.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleWhereStmt918(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTWhereStmtNode node = new ASTWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTWhere != null) node.hiddenTWhere.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    ASTMaskExprNode tmp3 = new ASTMaskExprNode();
-                    tmp3.maskExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("maskExpr");
-                    if (tmp3.maskExpr != null) tmp3.maskExpr.setParent(tmp3);
-                    node.maskExpr = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.assignmentStmt = (ASTAssignmentStmtNode)valueStack.get(valueStackOffset + 5);
-                    if (node.assignmentStmt != null) node.assignmentStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleWhereConstruct919(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTWhereConstructNode node = new ASTWhereConstructNode();
-                    node.whereConstructStmt = (ASTWhereConstructStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.whereConstructStmt != null) node.whereConstructStmt.setParent(node);
-                    node.whereBodyConstructBlock = (IASTListNode<IWhereBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("whereBodyConstructBlock");
-                    if (node.whereBodyConstructBlock != null) node.whereBodyConstructBlock.setParent(node);
-                    node.endWhereStmt = (ASTEndWhereStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endWhereStmt");
-                    if (node.endWhereStmt != null) node.endWhereStmt.setParent(node);
-                    node.elseWhereConstruct = (ASTElseWhereConstructNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("elseWhereConstruct");
-                    if (node.elseWhereConstruct != null) node.elseWhereConstruct.setParent(node);
-                    node.maskedElseWhereConstruct = (ASTMaskedElseWhereConstructNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("maskedElseWhereConstruct");
-                    if (node.maskedElseWhereConstruct != null) node.maskedElseWhereConstruct.setParent(node);
-                    return node;
-
-        }
-        public Object handleWhereRange920(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endWhereStmt", (ASTEndWhereStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("whereBodyConstructBlock")));
-                    embeddedList.add((IASTNode)(node.get("endWhereStmt")));
-                    embeddedList.add((IASTNode)(node.get("elseWhereConstruct")));
-                    embeddedList.add((IASTNode)(node.get("maskedElseWhereConstruct")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleWhereRange921(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("whereBodyConstructBlock", (IASTListNode<IWhereBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endWhereStmt", (ASTEndWhereStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("whereBodyConstructBlock")));
-                    embeddedList.add((IASTNode)(node.get("endWhereStmt")));
-                    embeddedList.add((IASTNode)(node.get("elseWhereConstruct")));
-                    embeddedList.add((IASTNode)(node.get("maskedElseWhereConstruct")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleWhereRange922(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("maskedElseWhereConstruct", (ASTMaskedElseWhereConstructNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("whereBodyConstructBlock")));
-                    embeddedList.add((IASTNode)(node.get("endWhereStmt")));
-                    embeddedList.add((IASTNode)(node.get("elseWhereConstruct")));
-                    embeddedList.add((IASTNode)(node.get("maskedElseWhereConstruct")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleWhereRange923(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("whereBodyConstructBlock", (IASTListNode<IWhereBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("maskedElseWhereConstruct", (ASTMaskedElseWhereConstructNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("whereBodyConstructBlock")));
-                    embeddedList.add((IASTNode)(node.get("endWhereStmt")));
-                    embeddedList.add((IASTNode)(node.get("elseWhereConstruct")));
-                    embeddedList.add((IASTNode)(node.get("maskedElseWhereConstruct")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleWhereRange924(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("elseWhereConstruct", (ASTElseWhereConstructNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("whereBodyConstructBlock")));
-                    embeddedList.add((IASTNode)(node.get("endWhereStmt")));
-                    embeddedList.add((IASTNode)(node.get("elseWhereConstruct")));
-                    embeddedList.add((IASTNode)(node.get("maskedElseWhereConstruct")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleWhereRange925(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("whereBodyConstructBlock", (IASTListNode<IWhereBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("elseWhereConstruct", (ASTElseWhereConstructNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("whereBodyConstructBlock")));
-                    embeddedList.add((IASTNode)(node.get("endWhereStmt")));
-                    embeddedList.add((IASTNode)(node.get("elseWhereConstruct")));
-                    embeddedList.add((IASTNode)(node.get("maskedElseWhereConstruct")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleMaskedElseWhereConstruct926(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTMaskedElseWhereConstructNode node = new ASTMaskedElseWhereConstructNode();
-                    node.maskedElseWhereStmt = (ASTMaskedElseWhereStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.maskedElseWhereStmt != null) node.maskedElseWhereStmt.setParent(node);
-                    node.whereBodyConstructBlock = (IASTListNode<IWhereBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("whereBodyConstructBlock");
-                    if (node.whereBodyConstructBlock != null) node.whereBodyConstructBlock.setParent(node);
-                    node.endWhereStmt = (ASTEndWhereStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endWhereStmt");
-                    if (node.endWhereStmt != null) node.endWhereStmt.setParent(node);
-                    node.elseWhereConstruct = (ASTElseWhereConstructNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("elseWhereConstruct");
-                    if (node.elseWhereConstruct != null) node.elseWhereConstruct.setParent(node);
-                    node.maskedElseWhereConstruct = (ASTMaskedElseWhereConstructNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("maskedElseWhereConstruct");
-                    if (node.maskedElseWhereConstruct != null) node.maskedElseWhereConstruct.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseWhereConstruct927(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseWhereConstructNode node = new ASTElseWhereConstructNode();
-                    node.elseWhereStmt = (ASTElseWhereStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.elseWhereStmt != null) node.elseWhereStmt.setParent(node);
-                    node.whereBodyConstructBlock = (IASTListNode<IWhereBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("whereBodyConstructBlock");
-                    if (node.whereBodyConstructBlock != null) node.whereBodyConstructBlock.setParent(node);
-                    node.endWhereStmt = (ASTEndWhereStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endWhereStmt");
-                    if (node.endWhereStmt != null) node.endWhereStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseWherePart928(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endWhereStmt", (ASTEndWhereStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("whereBodyConstructBlock")));
-                    embeddedList.add((IASTNode)(node.get("endWhereStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleElseWherePart929(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("whereBodyConstructBlock", (IASTListNode<IWhereBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endWhereStmt", (ASTEndWhereStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("whereBodyConstructBlock")));
-                    embeddedList.add((IASTNode)(node.get("endWhereStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleWhereBodyConstructBlock930(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IWhereBodyConstruct> list = new ASTListNode<IWhereBodyConstruct>();
-                    IWhereBodyConstruct elt = (IWhereBodyConstruct)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleWhereBodyConstructBlock931(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IWhereBodyConstruct> list = (IASTListNode<IWhereBodyConstruct>)valueStack.get(valueStackOffset);
-                    IWhereBodyConstruct elt = (IWhereBodyConstruct)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleWhereConstructStmt932(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTWhereConstructStmtNode node = new ASTWhereConstructStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTWhere != null) node.hiddenTWhere.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    ASTMaskExprNode tmp5 = new ASTMaskExprNode();
-                    tmp5.maskExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("maskExpr");
-                    if (tmp5.maskExpr != null) tmp5.maskExpr.setParent(tmp5);
-                    node.maskExpr = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleWhereConstructStmt933(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTWhereConstructStmtNode node = new ASTWhereConstructStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTWhere != null) node.hiddenTWhere.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    ASTMaskExprNode tmp3 = new ASTMaskExprNode();
-                    tmp3.maskExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("maskExpr");
-                    if (tmp3.maskExpr != null) tmp3.maskExpr.setParent(tmp3);
-                    node.maskExpr = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleWhereBodyConstruct934(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAssignmentStmtNode result = (ASTAssignmentStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleWhereBodyConstruct935(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTWhereStmtNode result = (ASTWhereStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleWhereBodyConstruct936(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTWhereConstructNode result = (ASTWhereConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleMaskExpr937(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("maskExpr", (IExpr)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("maskExpr")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleMaskedElseWhereStmt938(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTMaskedElseWhereStmtNode node = new ASTMaskedElseWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElsewhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElsewhere != null) node.hiddenTElsewhere.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.maskExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("maskExpr");
-                    if (node.maskExpr != null) node.maskExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleMaskedElseWhereStmt939(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTMaskedElseWhereStmtNode node = new ASTMaskedElseWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElsewhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElsewhere != null) node.hiddenTElsewhere.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.maskExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("maskExpr");
-                    if (node.maskExpr != null) node.maskExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleMaskedElseWhereStmt940(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTMaskedElseWhereStmtNode node = new ASTMaskedElseWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElse != null) node.hiddenTElse.setParent(node);
-                    node.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTWhere != null) node.hiddenTWhere.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.maskExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("maskExpr");
-                    if (node.maskExpr != null) node.maskExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleMaskedElseWhereStmt941(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTMaskedElseWhereStmtNode node = new ASTMaskedElseWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElse != null) node.hiddenTElse.setParent(node);
-                    node.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTWhere != null) node.hiddenTWhere.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.maskExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("maskExpr");
-                    if (node.maskExpr != null) node.maskExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseWhereStmt942(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseWhereStmtNode node = new ASTElseWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElsewhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElsewhere != null) node.hiddenTElsewhere.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseWhereStmt943(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseWhereStmtNode node = new ASTElseWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElsewhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElsewhere != null) node.hiddenTElsewhere.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseWhereStmt944(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseWhereStmtNode node = new ASTElseWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElse != null) node.hiddenTElse.setParent(node);
-                    node.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTWhere != null) node.hiddenTWhere.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseWhereStmt945(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseWhereStmtNode node = new ASTElseWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElse != null) node.hiddenTElse.setParent(node);
-                    node.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTWhere != null) node.hiddenTWhere.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndWhereStmt946(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndWhereStmtNode node = new ASTEndWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndwhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndwhere != null) node.hiddenTEndwhere.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndWhereStmt947(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndWhereStmtNode node = new ASTEndWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndwhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndwhere != null) node.hiddenTEndwhere.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndWhereStmt948(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndWhereStmtNode node = new ASTEndWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTWhere != null) node.hiddenTWhere.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndWhereStmt949(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndWhereStmtNode node = new ASTEndWhereStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTWhere = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTWhere != null) node.hiddenTWhere.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleForallConstruct950(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTForallConstructNode node = new ASTForallConstructNode();
-                    node.forallConstructStmt = (ASTForallConstructStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.forallConstructStmt != null) node.forallConstructStmt.setParent(node);
-                    node.endForallStmt = (ASTEndForallStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.endForallStmt != null) node.endForallStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleForallConstruct951(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTForallConstructNode node = new ASTForallConstructNode();
-                    node.forallConstructStmt = (ASTForallConstructStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.forallConstructStmt != null) node.forallConstructStmt.setParent(node);
-                    node.forallBody = (IASTListNode<IForallBodyConstruct>)valueStack.get(valueStackOffset + 1);
-                    if (node.forallBody != null) node.forallBody.setParent(node);
-                    node.endForallStmt = (ASTEndForallStmtNode)valueStack.get(valueStackOffset + 2);
-                    if (node.endForallStmt != null) node.endForallStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleForallBody952(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IForallBodyConstruct> list = new ASTListNode<IForallBodyConstruct>();
-                    IForallBodyConstruct elt = (IForallBodyConstruct)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleForallBody953(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IForallBodyConstruct> list = (IASTListNode<IForallBodyConstruct>)valueStack.get(valueStackOffset);
-                    IForallBodyConstruct elt = (IForallBodyConstruct)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleForallConstructStmt954(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTForallConstructStmtNode node = new ASTForallConstructStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTForall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTForall != null) node.hiddenTForall.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.forallTripletSpecList = (IASTListNode<ASTForallTripletSpecListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("forallTripletSpecList");
-                    if (node.forallTripletSpecList != null) node.forallTripletSpecList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.scalarMaskExpr = (ASTScalarMaskExprNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("scalarMaskExpr");
-                    if (node.scalarMaskExpr != null) node.scalarMaskExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleForallConstructStmt955(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTForallConstructStmtNode node = new ASTForallConstructStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTForall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTForall != null) node.hiddenTForall.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.forallTripletSpecList = (IASTListNode<ASTForallTripletSpecListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("forallTripletSpecList");
-                    if (node.forallTripletSpecList != null) node.forallTripletSpecList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.scalarMaskExpr = (ASTScalarMaskExprNode)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("scalarMaskExpr");
-                    if (node.scalarMaskExpr != null) node.scalarMaskExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleForallHeader956(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("forallTripletSpecList", (IASTListNode<ASTForallTripletSpecListNode>)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("forallTripletSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("scalarMaskExpr")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleForallHeader957(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("forallTripletSpecList", (IASTListNode<ASTForallTripletSpecListNode>)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTComma", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    node.put("scalarMaskExpr", (ASTScalarMaskExprNode)valueStack.get(valueStackOffset + 3));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("forallTripletSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("scalarMaskExpr")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleScalarMaskExpr958(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTScalarMaskExprNode node = new ASTScalarMaskExprNode();
-                    node.maskExpr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("maskExpr");
-                    if (node.maskExpr != null) node.maskExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleForallTripletSpecList959(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTForallTripletSpecListNode node = new ASTForallTripletSpecListNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (ASTSubscriptNode)valueStack.get(valueStackOffset + 2);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (ASTSubscriptNode)valueStack.get(valueStackOffset + 4);
-                    if (node.ub != null) node.ub.setParent(node);
-                    ASTListNode<ASTForallTripletSpecListNode> list = new ASTListNode<ASTForallTripletSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleForallTripletSpecList960(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTForallTripletSpecListNode node = new ASTForallTripletSpecListNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (ASTSubscriptNode)valueStack.get(valueStackOffset + 2);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (ASTSubscriptNode)valueStack.get(valueStackOffset + 4);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.stepExpr = (IExpr)valueStack.get(valueStackOffset + 6);
-                    if (node.stepExpr != null) node.stepExpr.setParent(node);
-                    ASTListNode<ASTForallTripletSpecListNode> list = new ASTListNode<ASTForallTripletSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleForallTripletSpecList961(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTForallTripletSpecListNode node = new ASTForallTripletSpecListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    ASTNameNode tmp2 = new ASTNameNode();
-                    tmp2.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (tmp2.name != null) tmp2.name.setParent(tmp2);
-                    node.name = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (ASTSubscriptNode)valueStack.get(valueStackOffset + 4);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (ASTSubscriptNode)valueStack.get(valueStackOffset + 6);
-                    if (node.ub != null) node.ub.setParent(node);
-                    ASTListNode<ASTForallTripletSpecListNode> list = (ASTListNode<ASTForallTripletSpecListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleForallTripletSpecList962(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTForallTripletSpecListNode node = new ASTForallTripletSpecListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    ASTNameNode tmp2 = new ASTNameNode();
-                    tmp2.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (tmp2.name != null) tmp2.name.setParent(tmp2);
-                    node.name = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (ASTSubscriptNode)valueStack.get(valueStackOffset + 4);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (ASTSubscriptNode)valueStack.get(valueStackOffset + 6);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.stepExpr = (IExpr)valueStack.get(valueStackOffset + 8);
-                    if (node.stepExpr != null) node.stepExpr.setParent(node);
-                    ASTListNode<ASTForallTripletSpecListNode> list = (ASTListNode<ASTForallTripletSpecListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleForallBodyConstruct963(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAssignmentStmtNode result = (ASTAssignmentStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleForallBodyConstruct964(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTAssignmentStmtNode result = (ASTAssignmentStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleForallBodyConstruct965(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTWhereStmtNode result = (ASTWhereStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleForallBodyConstruct966(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTWhereConstructNode result = (ASTWhereConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleForallBodyConstruct967(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTForallConstructNode result = (ASTForallConstructNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleForallBodyConstruct968(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTForallStmtNode result = (ASTForallStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleEndForallStmt969(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndForallStmtNode node = new ASTEndForallStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTForall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTForall != null) node.hiddenTForall.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndForallStmt970(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndForallStmtNode node = new ASTEndForallStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTForall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTForall != null) node.hiddenTForall.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndForallStmt971(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndForallStmtNode node = new ASTEndForallStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndforall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndforall != null) node.hiddenTEndforall.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndForallStmt972(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndForallStmtNode node = new ASTEndForallStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndforall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndforall != null) node.hiddenTEndforall.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleForallStmt973(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTForallStmtNode node = new ASTForallStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTForall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTForall != null) node.hiddenTForall.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.forallTripletSpecList = (IASTListNode<ASTForallTripletSpecListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("forallTripletSpecList");
-                    if (node.forallTripletSpecList != null) node.forallTripletSpecList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.scalarMaskExpr = (ASTScalarMaskExprNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("scalarMaskExpr");
-                    if (node.scalarMaskExpr != null) node.scalarMaskExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.assignment = (ASTAssignmentStmtNode)valueStack.get(valueStackOffset + 3);
-                    if (node.assignment != null) node.assignment.setParent(node);
-                    return node;
-
-        }
-        public Object handleForallStmt974(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTForallStmtNode node = new ASTForallStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTForall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTForall != null) node.hiddenTForall.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.forallTripletSpecList = (IASTListNode<ASTForallTripletSpecListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("forallTripletSpecList");
-                    if (node.forallTripletSpecList != null) node.forallTripletSpecList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.scalarMaskExpr = (ASTScalarMaskExprNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("scalarMaskExpr");
-                    if (node.scalarMaskExpr != null) node.scalarMaskExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.assignment = (ASTAssignmentStmtNode)valueStack.get(valueStackOffset + 3);
-                    if (node.assignment != null) node.assignment.setParent(node);
-                    return node;
-
-        }
-        public Object handleIfConstruct975(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIfConstructNode node = new ASTIfConstructNode();
-                    node.ifThenStmt = (ASTIfThenStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.ifThenStmt != null) node.ifThenStmt.setParent(node);
-                    node.conditionalBody = (IASTListNode<IExecutionPartConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("conditionalBody");
-                    if (node.conditionalBody != null) node.conditionalBody.setParent(node);
-                    node.elseConstruct = (ASTElseConstructNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("elseConstruct");
-                    if (node.elseConstruct != null) node.elseConstruct.setParent(node);
-                    node.elseIfConstruct = (ASTElseIfConstructNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("elseIfConstruct");
-                    if (node.elseIfConstruct != null) node.elseIfConstruct.setParent(node);
-                    node.endIfStmt = (ASTEndIfStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endIfStmt");
-                    if (node.endIfStmt != null) node.endIfStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleThenPart976(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endIfStmt", (ASTEndIfStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("conditionalBody")));
-                    embeddedList.add((IASTNode)(node.get("elseConstruct")));
-                    embeddedList.add((IASTNode)(node.get("elseIfConstruct")));
-                    embeddedList.add((IASTNode)(node.get("endIfStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleThenPart977(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("conditionalBody", (IASTListNode<IExecutionPartConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endIfStmt", (ASTEndIfStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("conditionalBody")));
-                    embeddedList.add((IASTNode)(node.get("elseConstruct")));
-                    embeddedList.add((IASTNode)(node.get("elseIfConstruct")));
-                    embeddedList.add((IASTNode)(node.get("endIfStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleThenPart978(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("elseIfConstruct", (ASTElseIfConstructNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("conditionalBody")));
-                    embeddedList.add((IASTNode)(node.get("elseConstruct")));
-                    embeddedList.add((IASTNode)(node.get("elseIfConstruct")));
-                    embeddedList.add((IASTNode)(node.get("endIfStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleThenPart979(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("conditionalBody", (IASTListNode<IExecutionPartConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("elseIfConstruct", (ASTElseIfConstructNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("conditionalBody")));
-                    embeddedList.add((IASTNode)(node.get("elseConstruct")));
-                    embeddedList.add((IASTNode)(node.get("elseIfConstruct")));
-                    embeddedList.add((IASTNode)(node.get("endIfStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleThenPart980(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("elseConstruct", (ASTElseConstructNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("conditionalBody")));
-                    embeddedList.add((IASTNode)(node.get("elseConstruct")));
-                    embeddedList.add((IASTNode)(node.get("elseIfConstruct")));
-                    embeddedList.add((IASTNode)(node.get("endIfStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleThenPart981(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("conditionalBody", (IASTListNode<IExecutionPartConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("elseConstruct", (ASTElseConstructNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("conditionalBody")));
-                    embeddedList.add((IASTNode)(node.get("elseConstruct")));
-                    embeddedList.add((IASTNode)(node.get("elseIfConstruct")));
-                    embeddedList.add((IASTNode)(node.get("endIfStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleElseIfConstruct982(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseIfConstructNode node = new ASTElseIfConstructNode();
-                    node.elseIfStmt = (ASTElseIfStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.elseIfStmt != null) node.elseIfStmt.setParent(node);
-                    node.conditionalBody = (IASTListNode<IExecutionPartConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("conditionalBody");
-                    if (node.conditionalBody != null) node.conditionalBody.setParent(node);
-                    node.elseConstruct = (ASTElseConstructNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("elseConstruct");
-                    if (node.elseConstruct != null) node.elseConstruct.setParent(node);
-                    node.elseIfConstruct = (ASTElseIfConstructNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("elseIfConstruct");
-                    if (node.elseIfConstruct != null) node.elseIfConstruct.setParent(node);
-                    node.endIfStmt = (ASTEndIfStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endIfStmt");
-                    if (node.endIfStmt != null) node.endIfStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseConstruct983(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseConstructNode node = new ASTElseConstructNode();
-                    node.elseStmt = (ASTElseStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.elseStmt != null) node.elseStmt.setParent(node);
-                    node.conditionalBody = (IASTListNode<IExecutionPartConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("conditionalBody");
-                    if (node.conditionalBody != null) node.conditionalBody.setParent(node);
-                    node.endIfStmt = (ASTEndIfStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endIfStmt");
-                    if (node.endIfStmt != null) node.endIfStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleElsePart984(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endIfStmt", (ASTEndIfStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("conditionalBody")));
-                    embeddedList.add((IASTNode)(node.get("endIfStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleElsePart985(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("conditionalBody", (IASTListNode<IExecutionPartConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endIfStmt", (ASTEndIfStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("conditionalBody")));
-                    embeddedList.add((IASTNode)(node.get("endIfStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleConditionalBody986(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IExecutionPartConstruct> list = new ASTListNode<IExecutionPartConstruct>();
-                    IExecutionPartConstruct elt = (IExecutionPartConstruct)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleConditionalBody987(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IExecutionPartConstruct> list = (IASTListNode<IExecutionPartConstruct>)valueStack.get(valueStackOffset);
-                    IExecutionPartConstruct elt = (IExecutionPartConstruct)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleIfThenStmt988(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIfThenStmtNode node = new ASTIfThenStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTIf != null) node.hiddenTIf.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.guardingExpression = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.guardingExpression != null) node.guardingExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTThen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTThen != null) node.hiddenTThen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleIfThenStmt989(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIfThenStmtNode node = new ASTIfThenStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTIf != null) node.hiddenTIf.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.guardingExpression = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.guardingExpression != null) node.guardingExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTThen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTThen != null) node.hiddenTThen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleIfThenStmt990(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIfThenStmtNode node = new ASTIfThenStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTIf != null) node.hiddenTIf.setParent(node);
-                    node.ifThenError = (ASTIfThenErrorNode)valueStack.get(valueStackOffset + 2);
-                    if (node.ifThenError != null) node.ifThenError.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleIfThenStmt991(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIfThenStmtNode node = new ASTIfThenStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTIf != null) node.hiddenTIf.setParent(node);
-                    node.ifThenError = (ASTIfThenErrorNode)valueStack.get(valueStackOffset + 4);
-                    if (node.ifThenError != null) node.ifThenError.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseIfStmt992(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseIfStmtNode node = new ASTElseIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElseif = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElseif != null) node.hiddenTElseif.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.guardingExpression = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.guardingExpression != null) node.guardingExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTThen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTThen != null) node.hiddenTThen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseIfStmt993(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseIfStmtNode node = new ASTElseIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElseif = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElseif != null) node.hiddenTElseif.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.guardingExpression = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.guardingExpression != null) node.guardingExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTThen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTThen != null) node.hiddenTThen.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseIfStmt994(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseIfStmtNode node = new ASTElseIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElse != null) node.hiddenTElse.setParent(node);
-                    node.hiddenTIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTIf != null) node.hiddenTIf.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.guardingExpression = (IExpr)valueStack.get(valueStackOffset + 4);
-                    if (node.guardingExpression != null) node.guardingExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTThen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTThen != null) node.hiddenTThen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseIfStmt995(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseIfStmtNode node = new ASTElseIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElse != null) node.hiddenTElse.setParent(node);
-                    node.hiddenTIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTIf != null) node.hiddenTIf.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.guardingExpression = (IExpr)valueStack.get(valueStackOffset + 4);
-                    if (node.guardingExpression != null) node.guardingExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTThen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTThen != null) node.hiddenTThen.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 7)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseStmt996(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseStmtNode node = new ASTElseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElse != null) node.hiddenTElse.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseStmt997(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseStmtNode node = new ASTElseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElse != null) node.hiddenTElse.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndIfStmt998(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndIfStmtNode node = new ASTEndIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndif = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndif != null) node.hiddenTEndif.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndIfStmt999(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndIfStmtNode node = new ASTEndIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndif = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndif != null) node.hiddenTEndif.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndIfStmt1000(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndIfStmtNode node = new ASTEndIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTIf != null) node.hiddenTIf.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndIfStmt1001(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndIfStmtNode node = new ASTEndIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTIf != null) node.hiddenTIf.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleIfStmt1002(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIfStmtNode node = new ASTIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.tIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.tIf != null) node.tIf.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.guardingExpression = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.guardingExpression != null) node.guardingExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.actionStmt = (IActionStmt)valueStack.get(valueStackOffset + 5);
-                    if (node.actionStmt != null) node.actionStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockConstruct1003(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBlockConstructNode node = new ASTBlockConstructNode();
-                    node.blockStmt = (ASTBlockStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.blockStmt != null) node.blockStmt.setParent(node);
-                    node.endBlockStmt = (ASTEndBlockStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.endBlockStmt != null) node.endBlockStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockConstruct1004(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBlockConstructNode node = new ASTBlockConstructNode();
-                    node.blockStmt = (ASTBlockStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.blockStmt != null) node.blockStmt.setParent(node);
-                    node.body = (IASTListNode<IBodyConstruct>)valueStack.get(valueStackOffset + 1);
-                    if (node.body != null) node.body.setParent(node);
-                    node.endBlockStmt = (ASTEndBlockStmtNode)valueStack.get(valueStackOffset + 2);
-                    if (node.endBlockStmt != null) node.endBlockStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockStmt1005(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBlockStmtNode node = new ASTBlockStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTBlock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTBlock != null) node.hiddenTBlock.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockStmt1006(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBlockStmtNode node = new ASTBlockStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTBlock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTBlock != null) node.hiddenTBlock.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockStmt1007(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockStmtNode node = new ASTEndBlockStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndblock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndblock != null) node.hiddenTEndblock.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockStmt1008(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockStmtNode node = new ASTEndBlockStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndblock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndblock != null) node.hiddenTEndblock.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockStmt1009(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockStmtNode node = new ASTEndBlockStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTBlock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTBlock != null) node.hiddenTBlock.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockStmt1010(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockStmtNode node = new ASTEndBlockStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTBlock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTBlock != null) node.hiddenTBlock.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCriticalConstruct1011(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCriticalConstructNode node = new ASTCriticalConstructNode();
-                    node.criticalStmt = (ASTCriticalStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.criticalStmt != null) node.criticalStmt.setParent(node);
-                    node.endCriticalStmt = (ASTEndCriticalStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.endCriticalStmt != null) node.endCriticalStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleCriticalConstruct1012(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCriticalConstructNode node = new ASTCriticalConstructNode();
-                    node.criticalStmt = (ASTCriticalStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.criticalStmt != null) node.criticalStmt.setParent(node);
-                    node.body = (IASTListNode<IBodyConstruct>)valueStack.get(valueStackOffset + 1);
-                    if (node.body != null) node.body.setParent(node);
-                    node.endCriticalStmt = (ASTEndCriticalStmtNode)valueStack.get(valueStackOffset + 2);
-                    if (node.endCriticalStmt != null) node.endCriticalStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleCriticalStmt1013(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCriticalStmtNode node = new ASTCriticalStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCritical = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCritical != null) node.hiddenTCritical.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCriticalStmt1014(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCriticalStmtNode node = new ASTCriticalStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTCritical = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTCritical != null) node.hiddenTCritical.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndCriticalStmt1015(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndCriticalStmtNode node = new ASTEndCriticalStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndcritical = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndcritical != null) node.hiddenTEndcritical.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndCriticalStmt1016(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndCriticalStmtNode node = new ASTEndCriticalStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndcritical = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndcritical != null) node.hiddenTEndcritical.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndCriticalStmt1017(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndCriticalStmtNode node = new ASTEndCriticalStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTCritical = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTCritical != null) node.hiddenTCritical.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndCriticalStmt1018(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndCriticalStmtNode node = new ASTEndCriticalStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTCritical = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTCritical != null) node.hiddenTCritical.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCaseConstruct1019(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCaseConstructNode node = new ASTCaseConstructNode();
-                    node.selectCaseStmt = (ASTSelectCaseStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.selectCaseStmt != null) node.selectCaseStmt.setParent(node);
-                    node.selectCaseBody = (IASTListNode<ICaseBodyConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("selectCaseBody");
-                    if (node.selectCaseBody != null) node.selectCaseBody.setParent(node);
-                    node.endSelectStmt = (ASTEndSelectStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endSelectStmt");
-                    if (node.endSelectStmt != null) node.endSelectStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectCaseRange1020(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("selectCaseBody", (IASTListNode<ICaseBodyConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endSelectStmt", (ASTEndSelectStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("selectCaseBody")));
-                    embeddedList.add((IASTNode)(node.get("endSelectStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSelectCaseRange1021(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endSelectStmt", (ASTEndSelectStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("selectCaseBody")));
-                    embeddedList.add((IASTNode)(node.get("endSelectStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSelectCaseBody1022(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<ICaseBodyConstruct> list = new ASTListNode<ICaseBodyConstruct>();
-                    ICaseBodyConstruct elt = (ICaseBodyConstruct)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSelectCaseBody1023(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<ICaseBodyConstruct> list = (IASTListNode<ICaseBodyConstruct>)valueStack.get(valueStackOffset);
-                    ICaseBodyConstruct elt = (ICaseBodyConstruct)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleCaseBodyConstruct1024(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTCaseStmtNode result = (ASTCaseStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleCaseBodyConstruct1025(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExecutionPartConstruct result = (IExecutionPartConstruct)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleSelectCaseStmt1026(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectCaseStmtNode node = new ASTSelectCaseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTSelectcase = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTSelectcase != null) node.hiddenTSelectcase.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.selectionExpression = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.selectionExpression != null) node.selectionExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectCaseStmt1027(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectCaseStmtNode node = new ASTSelectCaseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSelectcase = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSelectcase != null) node.hiddenTSelectcase.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.selectionExpression = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.selectionExpression != null) node.selectionExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectCaseStmt1028(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectCaseStmtNode node = new ASTSelectCaseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.hiddenTCase = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTCase != null) node.hiddenTCase.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.selectionExpression = (IExpr)valueStack.get(valueStackOffset + 6);
-                    if (node.selectionExpression != null) node.selectionExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectCaseStmt1029(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectCaseStmtNode node = new ASTSelectCaseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.hiddenTCase = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTCase != null) node.hiddenTCase.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.selectionExpression = (IExpr)valueStack.get(valueStackOffset + 4);
-                    if (node.selectionExpression != null) node.selectionExpression.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCaseStmt1030(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCaseStmtNode node = new ASTCaseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCase = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCase != null) node.hiddenTCase.setParent(node);
-                    node.hasDefaultSelector = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hasDefaultSelector");
-                    if (node.hasDefaultSelector != null) node.hasDefaultSelector.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.caseValueRangeListSelector = (IASTListNode<ASTCaseValueRangeNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("caseValueRangeListSelector");
-                    if (node.caseValueRangeListSelector != null) node.caseValueRangeListSelector.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCaseStmt1031(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCaseStmtNode node = new ASTCaseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCase = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCase != null) node.hiddenTCase.setParent(node);
-                    node.hasDefaultSelector = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hasDefaultSelector");
-                    if (node.hasDefaultSelector != null) node.hasDefaultSelector.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.caseValueRangeListSelector = (IASTListNode<ASTCaseValueRangeNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("caseValueRangeListSelector");
-                    if (node.caseValueRangeListSelector != null) node.caseValueRangeListSelector.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    ASTNameNode tmp3 = new ASTNameNode();
-                    tmp3.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("name");
-                    if (tmp3.name != null) tmp3.name.setParent(tmp3);
-                    node.name = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSelectStmt1032(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSelectStmtNode node = new ASTEndSelectStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndselect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndselect != null) node.hiddenTEndselect.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSelectStmt1033(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSelectStmtNode node = new ASTEndSelectStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndselect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndselect != null) node.hiddenTEndselect.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSelectStmt1034(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSelectStmtNode node = new ASTEndSelectStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndbeforeselect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndbeforeselect != null) node.hiddenTEndbeforeselect.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSelectStmt1035(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSelectStmtNode node = new ASTEndSelectStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndbeforeselect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndbeforeselect != null) node.hiddenTEndbeforeselect.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCaseSelector1036(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("caseValueRangeListSelector", (IASTListNode<ASTCaseValueRangeNode>)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hasDefaultSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("caseValueRangeListSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCaseSelector1037(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hasDefaultSelector", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hasDefaultSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("caseValueRangeListSelector")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCaseValueRangeList1038(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTCaseValueRangeNode> list = new ASTSeparatedListNode<ASTCaseValueRangeNode>();
-                    ASTCaseValueRangeNode elt = (ASTCaseValueRangeNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleCaseValueRangeList1039(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTCaseValueRangeNode> list = (ASTSeparatedListNode<ASTCaseValueRangeNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTCaseValueRangeNode elt = (ASTCaseValueRangeNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleCaseValueRange1040(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCaseValueRangeNode node = new ASTCaseValueRangeNode();
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    return node;
-
-        }
-        public Object handleCaseValueRange1041(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCaseValueRangeNode node = new ASTCaseValueRangeNode();
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    return node;
-
-        }
-        public Object handleCaseValueRange1042(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCaseValueRangeNode node = new ASTCaseValueRangeNode();
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.ub != null) node.ub.setParent(node);
-                    return node;
-
-        }
-        public Object handleCaseValueRange1043(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCaseValueRangeNode node = new ASTCaseValueRangeNode();
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.ub != null) node.ub.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssociateConstruct1044(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssociateConstructNode node = new ASTAssociateConstructNode();
-                    node.associateStmt = (ASTAssociateStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.associateStmt != null) node.associateStmt.setParent(node);
-                    node.associateBody = (IASTListNode<IExecutionPartConstruct>)valueStack.get(valueStackOffset + 1);
-                    if (node.associateBody != null) node.associateBody.setParent(node);
-                    node.endAssociateStmt = (ASTEndAssociateStmtNode)valueStack.get(valueStackOffset + 2);
-                    if (node.endAssociateStmt != null) node.endAssociateStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssociateConstruct1045(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssociateConstructNode node = new ASTAssociateConstructNode();
-                    node.associateStmt = (ASTAssociateStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.associateStmt != null) node.associateStmt.setParent(node);
-                    node.endAssociateStmt = (ASTEndAssociateStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.endAssociateStmt != null) node.endAssociateStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssociateStmt1046(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssociateStmtNode node = new ASTAssociateStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTAssociate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTAssociate != null) node.hiddenTAssociate.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.associationList = (IASTListNode<ASTAssociationNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.associationList != null) node.associationList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssociateStmt1047(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssociateStmtNode node = new ASTAssociateStmtNode();
-                    node.hiddenTAssociate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTAssociate != null) node.hiddenTAssociate.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.associationList = (IASTListNode<ASTAssociationNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.associationList != null) node.associationList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssociationList1048(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTAssociationNode> list = new ASTSeparatedListNode<ASTAssociationNode>();
-                    ASTAssociationNode elt = (ASTAssociationNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleAssociationList1049(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTAssociationNode> list = (ASTSeparatedListNode<ASTAssociationNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTAssociationNode elt = (ASTAssociationNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleAssociation1050(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssociationNode node = new ASTAssociationNode();
-                    node.associateName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.associateName != null) node.associateName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.selector = (ISelector)valueStack.get(valueStackOffset + 2);
-                    if (node.selector != null) node.selector.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelector1051(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    IExpr result = (IExpr)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleAssociateBody1052(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IExecutionPartConstruct> list = new ASTListNode<IExecutionPartConstruct>();
-                    IExecutionPartConstruct elt = (IExecutionPartConstruct)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleAssociateBody1053(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IExecutionPartConstruct> list = (IASTListNode<IExecutionPartConstruct>)valueStack.get(valueStackOffset);
-                    IExecutionPartConstruct elt = (IExecutionPartConstruct)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleEndAssociateStmt1054(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndAssociateStmtNode node = new ASTEndAssociateStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTAssociate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTAssociate != null) node.hiddenTAssociate.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndAssociateStmt1055(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndAssociateStmtNode node = new ASTEndAssociateStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTAssociate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTAssociate != null) node.hiddenTAssociate.setParent(node);
-                    node.associateConstructName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.associateConstructName != null) node.associateConstructName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectTypeConstruct1056(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectTypeConstructNode node = new ASTSelectTypeConstructNode();
-                    node.selectTypeStmt = (ASTSelectTypeStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.selectTypeStmt != null) node.selectTypeStmt.setParent(node);
-                    node.selectTypeBody = (IASTListNode<ASTSelectTypeBodyNode>)valueStack.get(valueStackOffset + 1);
-                    if (node.selectTypeBody != null) node.selectTypeBody.setParent(node);
-                    node.endSelectTypeStmt = (ASTEndSelectTypeStmtNode)valueStack.get(valueStackOffset + 2);
-                    if (node.endSelectTypeStmt != null) node.endSelectTypeStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectTypeConstruct1057(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectTypeConstructNode node = new ASTSelectTypeConstructNode();
-                    node.selectTypeStmt = (ASTSelectTypeStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.selectTypeStmt != null) node.selectTypeStmt.setParent(node);
-                    node.endSelectTypeStmt = (ASTEndSelectTypeStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.endSelectTypeStmt != null) node.endSelectTypeStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectTypeBody1058(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSelectTypeBodyNode node = new ASTSelectTypeBodyNode();
-                    node.typeGuardStmt = (ASTTypeGuardStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.typeGuardStmt != null) node.typeGuardStmt.setParent(node);
-                    node.typeGuardBlock = (IASTListNode<IExecutionPartConstruct>)valueStack.get(valueStackOffset + 1);
-                    if (node.typeGuardBlock != null) node.typeGuardBlock.setParent(node);
-                    ASTListNode<ASTSelectTypeBodyNode> list = new ASTListNode<ASTSelectTypeBodyNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSelectTypeBody1059(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTSelectTypeBodyNode node = new ASTSelectTypeBodyNode();
-                    node.typeGuardStmt = (ASTTypeGuardStmtNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeGuardStmt != null) node.typeGuardStmt.setParent(node);
-                    node.typeGuardBlock = (IASTListNode<IExecutionPartConstruct>)valueStack.get(valueStackOffset + 2);
-                    if (node.typeGuardBlock != null) node.typeGuardBlock.setParent(node);
-                    ASTListNode<ASTSelectTypeBodyNode> list = (ASTListNode<ASTSelectTypeBodyNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleTypeGuardBlock1060(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 6
-                    return new ASTListNode<IExecutionPartConstruct>();
-
-        }
-        public Object handleTypeGuardBlock1061(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IExecutionPartConstruct> list = (IASTListNode<IExecutionPartConstruct>)valueStack.get(valueStackOffset);
-                    IExecutionPartConstruct elt = (IExecutionPartConstruct)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSelectTypeStmt1062(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectTypeStmtNode node = new ASTSelectTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.associateName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.associateName != null) node.associateName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.selector = (ISelector)valueStack.get(valueStackOffset + 8);
-                    if (node.selector != null) node.selector.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectTypeStmt1063(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectTypeStmtNode node = new ASTSelectTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.selector = (ISelector)valueStack.get(valueStackOffset + 6);
-                    if (node.selector != null) node.selector.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectTypeStmt1064(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectTypeStmtNode node = new ASTSelectTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.associateName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.associateName != null) node.associateName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.selector = (ISelector)valueStack.get(valueStackOffset + 6);
-                    if (node.selector != null) node.selector.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectTypeStmt1065(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectTypeStmtNode node = new ASTSelectTypeStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.hiddenTType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTType != null) node.hiddenTType.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.selector = (ISelector)valueStack.get(valueStackOffset + 4);
-                    if (node.selector != null) node.selector.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeGuardStmt1066(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeGuardStmtNode node = new ASTTypeGuardStmtNode();
-                    node.isType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isType != null) node.isType.setParent(node);
-                    node.hiddenTIs = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTIs != null) node.hiddenTIs.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.typeSpecNoPrefix = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 3);
-                    if (node.typeSpecNoPrefix != null) node.typeSpecNoPrefix.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeGuardStmt1067(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeGuardStmtNode node = new ASTTypeGuardStmtNode();
-                    node.isType = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isType != null) node.isType.setParent(node);
-                    node.hiddenTIs = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTIs != null) node.hiddenTIs.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.typeSpecNoPrefix = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 3);
-                    if (node.typeSpecNoPrefix != null) node.typeSpecNoPrefix.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.selectConstructName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.selectConstructName != null) node.selectConstructName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeGuardStmt1068(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeGuardStmtNode node = new ASTTypeGuardStmtNode();
-                    node.isClass = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isClass != null) node.isClass.setParent(node);
-                    node.hiddenTIs = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTIs != null) node.hiddenTIs.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.typeSpecNoPrefix = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 3);
-                    if (node.typeSpecNoPrefix != null) node.typeSpecNoPrefix.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeGuardStmt1069(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeGuardStmtNode node = new ASTTypeGuardStmtNode();
-                    node.isClass = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isClass != null) node.isClass.setParent(node);
-                    node.hiddenTIs = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTIs != null) node.hiddenTIs.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.typeSpecNoPrefix = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 3);
-                    if (node.typeSpecNoPrefix != null) node.typeSpecNoPrefix.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.selectConstructName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.selectConstructName != null) node.selectConstructName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeGuardStmt1070(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeGuardStmtNode node = new ASTTypeGuardStmtNode();
-                    node.isDefault = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDefault != null) node.isDefault.setParent(node);
-                    node.hiddenTDefault = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTDefault != null) node.hiddenTDefault.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeGuardStmt1071(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeGuardStmtNode node = new ASTTypeGuardStmtNode();
-                    node.isDefault = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDefault != null) node.isDefault.setParent(node);
-                    node.hiddenTDefault = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTDefault != null) node.hiddenTDefault.setParent(node);
-                    node.selectConstructName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.selectConstructName != null) node.selectConstructName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSelectTypeStmt1072(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSelectTypeStmtNode node = new ASTEndSelectTypeStmtNode();
-                    node.hiddenTEndselect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTEndselect != null) node.hiddenTEndselect.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSelectTypeStmt1073(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSelectTypeStmtNode node = new ASTEndSelectTypeStmtNode();
-                    node.hiddenTEndselect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTEndselect != null) node.hiddenTEndselect.setParent(node);
-                    node.selectConstructName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.selectConstructName != null) node.selectConstructName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSelectTypeStmt1074(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSelectTypeStmtNode node = new ASTEndSelectTypeStmtNode();
-                    node.hiddenTEndbeforeselect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTEndbeforeselect != null) node.hiddenTEndbeforeselect.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSelectTypeStmt1075(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSelectTypeStmtNode node = new ASTEndSelectTypeStmtNode();
-                    node.hiddenTEndbeforeselect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTEndbeforeselect != null) node.hiddenTEndbeforeselect.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.selectConstructName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.selectConstructName != null) node.selectConstructName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDoConstruct1076(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDoConstructNode node = new ASTDoConstructNode();
-                    node.labelDoStmt = (ASTLabelDoStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("labelDoStmt");
-                    if (node.labelDoStmt != null) node.labelDoStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockDoConstruct1077(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("labelDoStmt", (ASTLabelDoStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("labelDoStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleLabelDoStmt1078(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLabelDoStmtNode node = new ASTLabelDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTDo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTDo != null) node.hiddenTDo.setParent(node);
-                    ASTLblRefNode tmp2 = new ASTLblRefNode();
-                    tmp2.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("label");
-                    if (tmp2.label != null) tmp2.label.setParent(tmp2);
-                    node.lblRef = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.loopControl = (ASTLoopControlNode)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("loopControl");
-                    if (node.loopControl != null) node.loopControl.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleLabelDoStmt1079(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLabelDoStmtNode node = new ASTLabelDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTDo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTDo != null) node.hiddenTDo.setParent(node);
-                    ASTLblRefNode tmp2 = new ASTLblRefNode();
-                    tmp2.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("label");
-                    if (tmp2.label != null) tmp2.label.setParent(tmp2);
-                    node.lblRef = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleLabelDoStmt1080(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLabelDoStmtNode node = new ASTLabelDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTDo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTDo != null) node.hiddenTDo.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.loopControl = (ASTLoopControlNode)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("loopControl");
-                    if (node.loopControl != null) node.loopControl.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleLabelDoStmt1081(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLabelDoStmtNode node = new ASTLabelDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTDo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTDo != null) node.hiddenTDo.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleLabelDoStmt1082(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLabelDoStmtNode node = new ASTLabelDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTDo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTDo != null) node.hiddenTDo.setParent(node);
-                    ASTLblRefNode tmp4 = new ASTLblRefNode();
-                    tmp4.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("label");
-                    if (tmp4.label != null) tmp4.label.setParent(tmp4);
-                    node.lblRef = tmp4;
-                    if (tmp4 != null) tmp4.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.loopControl = (ASTLoopControlNode)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("loopControl");
-                    if (node.loopControl != null) node.loopControl.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleLabelDoStmt1083(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLabelDoStmtNode node = new ASTLabelDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTDo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTDo != null) node.hiddenTDo.setParent(node);
-                    ASTLblRefNode tmp4 = new ASTLblRefNode();
-                    tmp4.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("label");
-                    if (tmp4.label != null) tmp4.label.setParent(tmp4);
-                    node.lblRef = tmp4;
-                    if (tmp4 != null) tmp4.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleLabelDoStmt1084(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLabelDoStmtNode node = new ASTLabelDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTDo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTDo != null) node.hiddenTDo.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.loopControl = (ASTLoopControlNode)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("loopControl");
-                    if (node.loopControl != null) node.loopControl.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleLabelDoStmt1085(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLabelDoStmtNode node = new ASTLabelDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTDo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTDo != null) node.hiddenTDo.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCommaLoopControl1086(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTComma", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("loopControl", (ASTLoopControlNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("loopControl")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCommaLoopControl1087(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("loopControl", (ASTLoopControlNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("loopControl")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleLoopControl1088(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLoopControlNode node = new ASTLoopControlNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 4);
-                    if (node.ub != null) node.ub.setParent(node);
-                    return node;
-
-        }
-        public Object handleLoopControl1089(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLoopControlNode node = new ASTLoopControlNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 4);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 6);
-                    if (node.step != null) node.step.setParent(node);
-                    return node;
-
-        }
-        public Object handleLoopControl1090(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLoopControlNode node = new ASTLoopControlNode();
-                    node.hiddenTWhile = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTWhile != null) node.hiddenTWhile.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.whileExpr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.whileExpr != null) node.whileExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndDoStmt1091(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndDoStmtNode node = new ASTEndDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnddo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnddo != null) node.hiddenTEnddo.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndDoStmt1092(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndDoStmtNode node = new ASTEndDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnddo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnddo != null) node.hiddenTEnddo.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndDoStmt1093(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndDoStmtNode node = new ASTEndDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTDo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTDo != null) node.hiddenTDo.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndDoStmt1094(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndDoStmtNode node = new ASTEndDoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTDo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTDo != null) node.hiddenTDo.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCycleStmt1095(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCycleStmtNode node = new ASTCycleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCycle = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCycle != null) node.hiddenTCycle.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCycleStmt1096(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCycleStmtNode node = new ASTCycleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCycle = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCycle != null) node.hiddenTCycle.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleExitStmt1097(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTExitStmtNode node = new ASTExitStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTExit = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTExit != null) node.hiddenTExit.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleExitStmt1098(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTExitStmtNode node = new ASTExitStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTExit = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTExit != null) node.hiddenTExit.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleGotoStmt1099(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTGotoStmtNode node = new ASTGotoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTGoto = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGoto");
-                    if (node.hiddenTGoto != null) node.hiddenTGoto.setParent(node);
-                    node.hiddenTGo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGo");
-                    if (node.hiddenTGo != null) node.hiddenTGo.setParent(node);
-                    node.hiddenTTo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTTo");
-                    if (node.hiddenTTo != null) node.hiddenTTo.setParent(node);
-                    ASTLblRefNode tmp2 = new ASTLblRefNode();
-                    tmp2.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("label");
-                    if (tmp2.label != null) tmp2.label.setParent(tmp2);
-                    node.gotoLblRef = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleGoToKw1100(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTGoto", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTGoto")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTGo")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTTo")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleGoToKw1101(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTGo", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTTo", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTGoto")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTGo")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTTo")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleComputedGotoStmt1102(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComputedGotoStmtNode node = new ASTComputedGotoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTGoto = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGoto");
-                    if (node.hiddenTGoto != null) node.hiddenTGoto.setParent(node);
-                    node.hiddenTGo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGo");
-                    if (node.hiddenTGo != null) node.hiddenTGo.setParent(node);
-                    node.hiddenTTo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTTo");
-                    if (node.hiddenTTo != null) node.hiddenTTo.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lblRefList = (IASTListNode<ASTLblRefListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lblRefList != null) node.lblRefList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleComputedGotoStmt1103(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComputedGotoStmtNode node = new ASTComputedGotoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTGoto = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGoto");
-                    if (node.hiddenTGoto != null) node.hiddenTGoto.setParent(node);
-                    node.hiddenTGo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGo");
-                    if (node.hiddenTGo != null) node.hiddenTGo.setParent(node);
-                    node.hiddenTTo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTTo");
-                    if (node.hiddenTTo != null) node.hiddenTTo.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lblRefList = (IASTListNode<ASTLblRefListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.lblRefList != null) node.lblRefList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.expr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("expr");
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCommaExp1104(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTComma", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("expr", (IExpr)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("expr")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleLblRefList1105(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTLblRefListNode node = new ASTLblRefListNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTListNode<ASTLblRefListNode> list = new ASTListNode<ASTLblRefListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleLblRefList1106(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTLblRefListNode node = new ASTLblRefListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTListNode<ASTLblRefListNode> list = (ASTListNode<ASTLblRefListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleLblRef1107(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("label", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label"));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("label")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleArithmeticIfStmt1108(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTArithmeticIfStmtNode node = new ASTArithmeticIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTIf != null) node.hiddenTIf.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 3);
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    ASTLblRefNode tmp5 = new ASTLblRefNode();
-                    tmp5.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 5)).get("label");
-                    if (tmp5.label != null) tmp5.label.setParent(tmp5);
-                    node.first = tmp5;
-                    if (tmp5 != null) tmp5.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    ASTLblRefNode tmp7 = new ASTLblRefNode();
-                    tmp7.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 7)).get("label");
-                    if (tmp7.label != null) tmp7.label.setParent(tmp7);
-                    node.second = tmp7;
-                    if (tmp7 != null) tmp7.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    ASTLblRefNode tmp9 = new ASTLblRefNode();
-                    tmp9.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 9)).get("label");
-                    if (tmp9.label != null) tmp9.label.setParent(tmp9);
-                    node.third = tmp9;
-                    if (tmp9 != null) tmp9.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleContinueStmt1109(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTContinueStmtNode node = new ASTContinueStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTContinue = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTContinue != null) node.hiddenTContinue.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleStopStmt1110(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTStopStmtNode node = new ASTStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTStop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTStop != null) node.hiddenTStop.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleStopStmt1111(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTStopStmtNode node = new ASTStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTStop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTStop != null) node.hiddenTStop.setParent(node);
-                    node.intConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.intConst != null) node.intConst.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleStopStmt1112(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTStopStmtNode node = new ASTStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTStop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTStop != null) node.hiddenTStop.setParent(node);
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleStopStmt1113(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTStopStmtNode node = new ASTStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTStop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTStop != null) node.hiddenTStop.setParent(node);
-                    node.paramVar = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.paramVar != null) node.paramVar.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllStopStmt1114(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllStopStmtNode node = new ASTAllStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAll = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAll != null) node.hiddenTAll.setParent(node);
-                    node.hiddenTStop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTStop != null) node.hiddenTStop.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllStopStmt1115(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllStopStmtNode node = new ASTAllStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAll = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAll != null) node.hiddenTAll.setParent(node);
-                    node.hiddenTStop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTStop != null) node.hiddenTStop.setParent(node);
-                    node.intConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.intConst != null) node.intConst.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllStopStmt1116(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllStopStmtNode node = new ASTAllStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAll = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAll != null) node.hiddenTAll.setParent(node);
-                    node.hiddenTStop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTStop != null) node.hiddenTStop.setParent(node);
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllStopStmt1117(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllStopStmtNode node = new ASTAllStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAll = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAll != null) node.hiddenTAll.setParent(node);
-                    node.hiddenTStop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTStop != null) node.hiddenTStop.setParent(node);
-                    node.paramVar = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.paramVar != null) node.paramVar.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllStopStmt1118(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllStopStmtNode node = new ASTAllStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAllstop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAllstop != null) node.hiddenTAllstop.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllStopStmt1119(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllStopStmtNode node = new ASTAllStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAllstop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAllstop != null) node.hiddenTAllstop.setParent(node);
-                    node.intConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.intConst != null) node.intConst.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllStopStmt1120(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllStopStmtNode node = new ASTAllStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAllstop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAllstop != null) node.hiddenTAllstop.setParent(node);
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllStopStmt1121(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllStopStmtNode node = new ASTAllStopStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAllstop = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAllstop != null) node.hiddenTAllstop.setParent(node);
-                    node.paramVar = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.paramVar != null) node.paramVar.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncAllStmt1122(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncAllStmtNode node = new ASTSyncAllStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSync = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSync != null) node.hiddenTSync.setParent(node);
-                    node.hiddenTAll = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTAll != null) node.hiddenTAll.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.syncStatList = (IASTListNode<ASTSyncStatNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.syncStatList != null) node.syncStatList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncAllStmt1123(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncAllStmtNode node = new ASTSyncAllStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSync = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSync != null) node.hiddenTSync.setParent(node);
-                    node.hiddenTAll = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTAll != null) node.hiddenTAll.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncAllStmt1124(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncAllStmtNode node = new ASTSyncAllStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSyncall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSyncall != null) node.hiddenTSyncall.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.syncStatList = (IASTListNode<ASTSyncStatNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.syncStatList != null) node.syncStatList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncAllStmt1125(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncAllStmtNode node = new ASTSyncAllStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSyncall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSyncall != null) node.hiddenTSyncall.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncStatList1126(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTSyncStatNode> list = new ASTSeparatedListNode<ASTSyncStatNode>();
-                    ASTSyncStatNode elt = (ASTSyncStatNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSyncStatList1127(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTSyncStatNode> list = (ASTSeparatedListNode<ASTSyncStatNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTSyncStatNode elt = (ASTSyncStatNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSyncStat1128(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncStatNode node = new ASTSyncStatNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncImagesStmt1129(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncImagesStmtNode node = new ASTSyncImagesStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSync = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSync != null) node.hiddenTSync.setParent(node);
-                    node.hiddenTImages = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTImages != null) node.hiddenTImages.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.imageSet = (ASTImageSetNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSet != null) node.imageSet.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.syncStatList = (IASTListNode<ASTSyncStatNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.syncStatList != null) node.syncStatList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncImagesStmt1130(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncImagesStmtNode node = new ASTSyncImagesStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSync = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSync != null) node.hiddenTSync.setParent(node);
-                    node.hiddenTImages = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTImages != null) node.hiddenTImages.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.imageSet = (ASTImageSetNode)valueStack.get(valueStackOffset + 4);
-                    if (node.imageSet != null) node.imageSet.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncImagesStmt1131(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncImagesStmtNode node = new ASTSyncImagesStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSyncimages = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSyncimages != null) node.hiddenTSyncimages.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.imageSet = (ASTImageSetNode)valueStack.get(valueStackOffset + 3);
-                    if (node.imageSet != null) node.imageSet.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.syncStatList = (IASTListNode<ASTSyncStatNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.syncStatList != null) node.syncStatList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncImagesStmt1132(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncImagesStmtNode node = new ASTSyncImagesStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSyncimages = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSyncimages != null) node.hiddenTSyncimages.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.imageSet = (ASTImageSetNode)valueStack.get(valueStackOffset + 3);
-                    if (node.imageSet != null) node.imageSet.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleImageSet1133(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTImageSetNode node = new ASTImageSetNode();
-                    node.isExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.isExpr != null) node.isExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleImageSet1134(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTImageSetNode node = new ASTImageSetNode();
-                    node.isStar = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isStar != null) node.isStar.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncMemoryStmt1135(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncMemoryStmtNode node = new ASTSyncMemoryStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSync = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSync != null) node.hiddenTSync.setParent(node);
-                    node.hiddenTMemory = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTMemory != null) node.hiddenTMemory.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.syncStatList = (IASTListNode<ASTSyncStatNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.syncStatList != null) node.syncStatList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncMemoryStmt1136(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncMemoryStmtNode node = new ASTSyncMemoryStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSync = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSync != null) node.hiddenTSync.setParent(node);
-                    node.hiddenTMemory = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTMemory != null) node.hiddenTMemory.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncMemoryStmt1137(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncMemoryStmtNode node = new ASTSyncMemoryStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSyncmemory = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSyncmemory != null) node.hiddenTSyncmemory.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.syncStatList = (IASTListNode<ASTSyncStatNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.syncStatList != null) node.syncStatList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSyncMemoryStmt1138(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSyncMemoryStmtNode node = new ASTSyncMemoryStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSyncmemory = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSyncmemory != null) node.hiddenTSyncmemory.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleLockStmt1139(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLockStmtNode node = new ASTLockStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTLock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLock != null) node.hiddenTLock.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    ASTNameNode tmp3 = new ASTNameNode();
-                    tmp3.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("name");
-                    if (tmp3.name != null) tmp3.name.setParent(tmp3);
-                    node.lockVariable = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.syncStatList = (IASTListNode<ASTSyncStatNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.syncStatList != null) node.syncStatList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleLockStmt1140(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTLockStmtNode node = new ASTLockStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTLock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLock != null) node.hiddenTLock.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    ASTNameNode tmp3 = new ASTNameNode();
-                    tmp3.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("name");
-                    if (tmp3.name != null) tmp3.name.setParent(tmp3);
-                    node.lockVariable = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUnlockStmt1141(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUnlockStmtNode node = new ASTUnlockStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTUnlock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTUnlock != null) node.hiddenTUnlock.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    ASTNameNode tmp3 = new ASTNameNode();
-                    tmp3.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("name");
-                    if (tmp3.name != null) tmp3.name.setParent(tmp3);
-                    node.lockVariable = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.syncStatList = (IASTListNode<ASTSyncStatNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.syncStatList != null) node.syncStatList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUnlockStmt1142(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUnlockStmtNode node = new ASTUnlockStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTUnlock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTUnlock != null) node.hiddenTUnlock.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    ASTNameNode tmp3 = new ASTNameNode();
-                    tmp3.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("name");
-                    if (tmp3.name != null) tmp3.name.setParent(tmp3);
-                    node.lockVariable = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUnitIdentifier1143(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUnitIdentifierNode node = new ASTUnitIdentifierNode();
-                    node.expression = (ASTUFExprNode)valueStack.get(valueStackOffset + 0);
-                    if (node.expression != null) node.expression.setParent(node);
-                    return node;
-
-        }
-        public Object handleUnitIdentifier1144(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUnitIdentifierNode node = new ASTUnitIdentifierNode();
-                    node.hasAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hasAsterisk != null) node.hasAsterisk.setParent(node);
-                    return node;
-
-        }
-        public Object handleOpenStmt1145(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOpenStmtNode node = new ASTOpenStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTOpen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTOpen != null) node.hiddenTOpen.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.connectSpecList = (IASTListNode<ASTConnectSpecNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.connectSpecList != null) node.connectSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpecList1146(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTConnectSpecNode> list = new ASTSeparatedListNode<ASTConnectSpecNode>();
-                    ASTConnectSpecNode elt = (ASTConnectSpecNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleConnectSpecList1147(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTConnectSpecNode> list = (ASTSeparatedListNode<ASTConnectSpecNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTConnectSpecNode elt = (ASTConnectSpecNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleConnectSpec1148(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.filename = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 0);
-                    if (node.filename != null) node.filename.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1149(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTUniteq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTUniteq != null) node.hiddenTUniteq.setParent(node);
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 1);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1150(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTErreq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTErreq != null) node.hiddenTErreq.setParent(node);
-                    ASTLblRefNode tmp1 = new ASTLblRefNode();
-                    tmp1.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("label");
-                    if (tmp1.label != null) tmp1.label.setParent(tmp1);
-                    node.errLbl = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1151(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTFileeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTFileeq != null) node.hiddenTFileeq.setParent(node);
-                    node.fileExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.fileExpr != null) node.fileExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1152(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTStatuseq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTStatuseq != null) node.hiddenTStatuseq.setParent(node);
-                    node.statusExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.statusExpr != null) node.statusExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1153(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTAccesseq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTAccesseq != null) node.hiddenTAccesseq.setParent(node);
-                    node.accessExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.accessExpr != null) node.accessExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1154(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTFormeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTFormeq != null) node.hiddenTFormeq.setParent(node);
-                    node.formExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.formExpr != null) node.formExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1155(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTRecleq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTRecleq != null) node.hiddenTRecleq.setParent(node);
-                    node.reclExpr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.reclExpr != null) node.reclExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1156(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTBlankeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTBlankeq != null) node.hiddenTBlankeq.setParent(node);
-                    node.blankExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.blankExpr != null) node.blankExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1157(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTIostateq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTIostateq != null) node.hiddenTIostateq.setParent(node);
-                    node.ioStatVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.ioStatVar != null) node.ioStatVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1158(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTPositioneq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTPositioneq != null) node.hiddenTPositioneq.setParent(node);
-                    node.positionExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.positionExpr != null) node.positionExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1159(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTActioneq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTActioneq != null) node.hiddenTActioneq.setParent(node);
-                    node.actionExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.actionExpr != null) node.actionExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1160(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTDelimeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTDelimeq != null) node.hiddenTDelimeq.setParent(node);
-                    node.delimExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.delimExpr != null) node.delimExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1161(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTPadeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTPadeq != null) node.hiddenTPadeq.setParent(node);
-                    node.padExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.padExpr != null) node.padExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1162(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTAsynchronouseq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTAsynchronouseq != null) node.hiddenTAsynchronouseq.setParent(node);
-                    node.asyncExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.asyncExpr != null) node.asyncExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1163(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTDecimaleq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTDecimaleq != null) node.hiddenTDecimaleq.setParent(node);
-                    node.decimalExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.decimalExpr != null) node.decimalExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1164(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTEncodingeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTEncodingeq != null) node.hiddenTEncodingeq.setParent(node);
-                    node.encodingExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.encodingExpr != null) node.encodingExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1165(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTIomsgeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTIomsgeq != null) node.hiddenTIomsgeq.setParent(node);
-                    node.iomsgExpr = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.iomsgExpr != null) node.iomsgExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1166(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTRoundeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTRoundeq != null) node.hiddenTRoundeq.setParent(node);
-                    node.roundExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.roundExpr != null) node.roundExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1167(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTSigneq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTSigneq != null) node.hiddenTSigneq.setParent(node);
-                    node.signExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.signExpr != null) node.signExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleConnectSpec1168(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTConnectSpecNode node = new ASTConnectSpecNode();
-                    node.hiddenTConverteq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTConverteq != null) node.hiddenTConverteq.setParent(node);
-                    node.convertExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.convertExpr != null) node.convertExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleCloseStmt1169(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCloseStmtNode node = new ASTCloseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTClose = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTClose != null) node.hiddenTClose.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.closeSpecList = (IASTListNode<ASTCloseSpecListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.closeSpecList != null) node.closeSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCloseSpecList1170(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTCloseSpecListNode node = new ASTCloseSpecListNode();
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 0);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    ASTListNode<ASTCloseSpecListNode> list = new ASTListNode<ASTCloseSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleCloseSpecList1171(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTCloseSpecListNode node = new ASTCloseSpecListNode();
-                    node.closeSpec = (ASTCloseSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.closeSpec != null) node.closeSpec.setParent(node);
-                    ASTListNode<ASTCloseSpecListNode> list = new ASTListNode<ASTCloseSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleCloseSpecList1172(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTCloseSpecListNode node = new ASTCloseSpecListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.closeSpec = (ASTCloseSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.closeSpec != null) node.closeSpec.setParent(node);
-                    ASTListNode<ASTCloseSpecListNode> list = (ASTListNode<ASTCloseSpecListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleCloseSpec1173(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCloseSpecNode node = new ASTCloseSpecNode();
-                    node.hiddenTUniteq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTUniteq != null) node.hiddenTUniteq.setParent(node);
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 1);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    return node;
-
-        }
-        public Object handleCloseSpec1174(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCloseSpecNode node = new ASTCloseSpecNode();
-                    node.hiddenTErreq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTErreq != null) node.hiddenTErreq.setParent(node);
-                    ASTLblRefNode tmp1 = new ASTLblRefNode();
-                    tmp1.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("label");
-                    if (tmp1.label != null) tmp1.label.setParent(tmp1);
-                    node.errLbl = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    return node;
-
-        }
-        public Object handleCloseSpec1175(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCloseSpecNode node = new ASTCloseSpecNode();
-                    node.hiddenTStatuseq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTStatuseq != null) node.hiddenTStatuseq.setParent(node);
-                    node.statusExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.statusExpr != null) node.statusExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleCloseSpec1176(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCloseSpecNode node = new ASTCloseSpecNode();
-                    node.hiddenTIostateq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTIostateq != null) node.hiddenTIostateq.setParent(node);
-                    node.ioStatVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.ioStatVar != null) node.ioStatVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleCloseSpec1177(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCloseSpecNode node = new ASTCloseSpecNode();
-                    node.hiddenTIomsgeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTIomsgeq != null) node.hiddenTIomsgeq.setParent(node);
-                    node.ioMsgVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.ioMsgVar != null) node.ioMsgVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleReadStmt1178(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTReadStmtNode node = new ASTReadStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTRead = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTRead != null) node.hiddenTRead.setParent(node);
-                    node.rdCtlSpec = (ASTRdCtlSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.rdCtlSpec != null) node.rdCtlSpec.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.inputItemList = (IASTListNode<IInputItem>)valueStack.get(valueStackOffset + 4);
-                    if (node.inputItemList != null) node.inputItemList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleReadStmt1179(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTReadStmtNode node = new ASTReadStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTRead = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTRead != null) node.hiddenTRead.setParent(node);
-                    node.rdCtlSpec = (ASTRdCtlSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.rdCtlSpec != null) node.rdCtlSpec.setParent(node);
-                    node.inputItemList = (IASTListNode<IInputItem>)valueStack.get(valueStackOffset + 3);
-                    if (node.inputItemList != null) node.inputItemList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleReadStmt1180(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTReadStmtNode node = new ASTReadStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTRead = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTRead != null) node.hiddenTRead.setParent(node);
-                    node.rdCtlSpec = (ASTRdCtlSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.rdCtlSpec != null) node.rdCtlSpec.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleReadStmt1181(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTReadStmtNode node = new ASTReadStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTRead = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTRead != null) node.hiddenTRead.setParent(node);
-                    node.rdFmtId = (ASTRdFmtIdNode)valueStack.get(valueStackOffset + 2);
-                    if (node.rdFmtId != null) node.rdFmtId.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.inputItemList = (IASTListNode<IInputItem>)valueStack.get(valueStackOffset + 4);
-                    if (node.inputItemList != null) node.inputItemList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleReadStmt1182(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTReadStmtNode node = new ASTReadStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTRead = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTRead != null) node.hiddenTRead.setParent(node);
-                    node.rdFmtId = (ASTRdFmtIdNode)valueStack.get(valueStackOffset + 2);
-                    if (node.rdFmtId != null) node.rdFmtId.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleRdCtlSpec1183(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRdCtlSpecNode node = new ASTRdCtlSpecNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.readUnitExpr = (ASTUFExprNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("readUnitExpr");
-                    if (node.readUnitExpr != null) node.readUnitExpr.setParent(node);
-                    node.readUnitIsAsterisk = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("readUnitIsAsterisk");
-                    if (node.readUnitIsAsterisk != null) node.readUnitIsAsterisk.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleRdCtlSpec1184(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRdCtlSpecNode node = new ASTRdCtlSpecNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.rdIoCtlSpecList = (IASTListNode<ASTRdIoCtlSpecListNode>)valueStack.get(valueStackOffset + 1);
-                    if (node.rdIoCtlSpecList != null) node.rdIoCtlSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleRdUnitId1185(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("readUnitExpr", (ASTUFExprNode)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("readUnitExpr")));
-                    embeddedList.add((IASTNode)(node.get("readUnitIsAsterisk")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleRdUnitId1186(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("readUnitIsAsterisk", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("readUnitExpr")));
-                    embeddedList.add((IASTNode)(node.get("readUnitIsAsterisk")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleRdIoCtlSpecList1187(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTRdIoCtlSpecListNode node = new ASTRdIoCtlSpecListNode();
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 0);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.ioControlSpec = (ASTIoControlSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.ioControlSpec != null) node.ioControlSpec.setParent(node);
-                    ASTListNode<ASTRdIoCtlSpecListNode> list = new ASTListNode<ASTRdIoCtlSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleRdIoCtlSpecList1188(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTRdIoCtlSpecListNode node = new ASTRdIoCtlSpecListNode();
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 0);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.formatIdentifier = (ASTFormatIdentifierNode)valueStack.get(valueStackOffset + 2);
-                    if (node.formatIdentifier != null) node.formatIdentifier.setParent(node);
-                    ASTListNode<ASTRdIoCtlSpecListNode> list = new ASTListNode<ASTRdIoCtlSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleRdIoCtlSpecList1189(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTRdIoCtlSpecListNode node = new ASTRdIoCtlSpecListNode();
-                    node.ioControlSpec = (ASTIoControlSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.ioControlSpec != null) node.ioControlSpec.setParent(node);
-                    ASTListNode<ASTRdIoCtlSpecListNode> list = new ASTListNode<ASTRdIoCtlSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleRdIoCtlSpecList1190(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTRdIoCtlSpecListNode node = new ASTRdIoCtlSpecListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.ioControlSpec = (ASTIoControlSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.ioControlSpec != null) node.ioControlSpec.setParent(node);
-                    ASTListNode<ASTRdIoCtlSpecListNode> list = (ASTListNode<ASTRdIoCtlSpecListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleRdFmtId1191(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRdFmtIdNode node = new ASTRdFmtIdNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    return node;
-
-        }
-        public Object handleRdFmtId1192(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRdFmtIdNode node = new ASTRdFmtIdNode();
-                    node.formatIsAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.formatIsAsterisk != null) node.formatIsAsterisk.setParent(node);
-                    return node;
-
-        }
-        public Object handleRdFmtId1193(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRdFmtIdNode node = new ASTRdFmtIdNode();
-                    ASTCOperandNode tmp0 = new ASTCOperandNode();
-                    tmp0.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    tmp0.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (tmp0.hiddenTLparen != null) tmp0.hiddenTLparen.setParent(tmp0);
-                    tmp0.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (tmp0.functionArgList != null) tmp0.functionArgList.setParent(tmp0);
-                    tmp0.stringConst = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("stringConst");
-                    if (tmp0.stringConst != null) tmp0.stringConst.setParent(tmp0);
-                    tmp0.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("primarySectionSubscriptList");
-                    if (tmp0.primarySectionSubscriptList != null) tmp0.primarySectionSubscriptList.setParent(tmp0);
-                    tmp0.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (tmp0.hiddenTRparen != null) tmp0.hiddenTRparen.setParent(tmp0);
-                    tmp0.imageSelector = (ASTImageSelectorNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("imageSelector");
-                    if (tmp0.imageSelector != null) tmp0.imageSelector.setParent(tmp0);
-                    tmp0.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTPercent");
-                    if (tmp0.hiddenTPercent != null) tmp0.hiddenTPercent.setParent(tmp0);
-                    tmp0.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("derivedTypeComponentRef");
-                    if (tmp0.derivedTypeComponentRef != null) tmp0.derivedTypeComponentRef.setParent(tmp0);
-                    tmp0.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenLparen2");
-                    if (tmp0.hiddenLparen2 != null) tmp0.hiddenLparen2.setParent(tmp0);
-                    tmp0.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("componentSectionSubscriptList");
-                    if (tmp0.componentSectionSubscriptList != null) tmp0.componentSectionSubscriptList.setParent(tmp0);
-                    tmp0.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenRparen2");
-                    if (tmp0.hiddenRparen2 != null) tmp0.hiddenRparen2.setParent(tmp0);
-                    node.primary1 = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    return node;
-
-        }
-        public Object handleRdFmtId1194(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRdFmtIdNode node = new ASTRdFmtIdNode();
-                    ASTCOperandNode tmp0 = new ASTCOperandNode();
-                    tmp0.name = (ASTNameNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    tmp0.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (tmp0.hiddenTLparen != null) tmp0.hiddenTLparen.setParent(tmp0);
-                    tmp0.functionArgList = (IASTListNode<ASTFunctionArgListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("functionArgList");
-                    if (tmp0.functionArgList != null) tmp0.functionArgList.setParent(tmp0);
-                    tmp0.stringConst = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("stringConst");
-                    if (tmp0.stringConst != null) tmp0.stringConst.setParent(tmp0);
-                    tmp0.primarySectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("primarySectionSubscriptList");
-                    if (tmp0.primarySectionSubscriptList != null) tmp0.primarySectionSubscriptList.setParent(tmp0);
-                    tmp0.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (tmp0.hiddenTRparen != null) tmp0.hiddenTRparen.setParent(tmp0);
-                    tmp0.imageSelector = (ASTImageSelectorNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("imageSelector");
-                    if (tmp0.imageSelector != null) tmp0.imageSelector.setParent(tmp0);
-                    tmp0.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTPercent");
-                    if (tmp0.hiddenTPercent != null) tmp0.hiddenTPercent.setParent(tmp0);
-                    tmp0.derivedTypeComponentRef = (IASTListNode<ASTDataRefNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("derivedTypeComponentRef");
-                    if (tmp0.derivedTypeComponentRef != null) tmp0.derivedTypeComponentRef.setParent(tmp0);
-                    tmp0.hiddenLparen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenLparen2");
-                    if (tmp0.hiddenLparen2 != null) tmp0.hiddenLparen2.setParent(tmp0);
-                    tmp0.componentSectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("componentSectionSubscriptList");
-                    if (tmp0.componentSectionSubscriptList != null) tmp0.componentSectionSubscriptList.setParent(tmp0);
-                    tmp0.hiddenRparen2 = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenRparen2");
-                    if (tmp0.hiddenRparen2 != null) tmp0.hiddenRparen2.setParent(tmp0);
-                    node.primary1 = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    node.hasMinusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasMinusOp");
-                    if (node.hasMinusOp != null) node.hasMinusOp.setParent(node);
-                    node.hasSlashEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasSlashEqOp");
-                    if (node.hasSlashEqOp != null) node.hasSlashEqOp.setParent(node);
-                    node.hasAndOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasAndOp");
-                    if (node.hasAndOp != null) node.hasAndOp.setParent(node);
-                    node.definedUnaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("definedUnaryOp");
-                    if (node.definedUnaryOp != null) node.definedUnaryOp.setParent(node);
-                    node.hasEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqOp");
-                    if (node.hasEqOp != null) node.hasEqOp.setParent(node);
-                    node.hasPlusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasPlusOp");
-                    if (node.hasPlusOp != null) node.hasPlusOp.setParent(node);
-                    node.hasDivideOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasDivideOp");
-                    if (node.hasDivideOp != null) node.hasDivideOp.setParent(node);
-                    node.hasNeqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNeqvOp");
-                    if (node.hasNeqvOp != null) node.hasNeqvOp.setParent(node);
-                    node.hasEqEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqEqOp");
-                    if (node.hasEqEqOp != null) node.hasEqEqOp.setParent(node);
-                    node.hasGeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasGeOp");
-                    if (node.hasGeOp != null) node.hasGeOp.setParent(node);
-                    node.hasNotOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNotOp");
-                    if (node.hasNotOp != null) node.hasNotOp.setParent(node);
-                    node.hasEqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqvOp");
-                    if (node.hasEqvOp != null) node.hasEqvOp.setParent(node);
-                    node.hasConcatOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasConcatOp");
-                    if (node.hasConcatOp != null) node.hasConcatOp.setParent(node);
-                    node.hasPowerOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasPowerOp");
-                    if (node.hasPowerOp != null) node.hasPowerOp.setParent(node);
-                    node.hasGtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasGtOp");
-                    if (node.hasGtOp != null) node.hasGtOp.setParent(node);
-                    node.hasLtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasLtOp");
-                    if (node.hasLtOp != null) node.hasLtOp.setParent(node);
-                    node.hasNeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNeOp");
-                    if (node.hasNeOp != null) node.hasNeOp.setParent(node);
-                    node.hasOrOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasOrOp");
-                    if (node.hasOrOp != null) node.hasOrOp.setParent(node);
-                    node.customDefinedOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("customDefinedOp");
-                    if (node.customDefinedOp != null) node.customDefinedOp.setParent(node);
-                    node.hasTimesOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasTimesOp");
-                    if (node.hasTimesOp != null) node.hasTimesOp.setParent(node);
-                    node.definedBinaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("definedBinaryOp");
-                    if (node.definedBinaryOp != null) node.definedBinaryOp.setParent(node);
-                    node.hasLeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasLeOp");
-                    if (node.hasLeOp != null) node.hasLeOp.setParent(node);
-                    node.primary2 = (ASTCPrimaryNode)valueStack.get(valueStackOffset + 2);
-                    if (node.primary2 != null) node.primary2.setParent(node);
-                    return node;
-
-        }
-        public Object handleRdFmtId1195(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRdFmtIdNode node = new ASTRdFmtIdNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.formatIdExpr = (ASTUFExprNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("formatIdExpr");
-                    if (node.formatIdExpr != null) node.formatIdExpr.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hasMinusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasMinusOp");
-                    if (node.hasMinusOp != null) node.hasMinusOp.setParent(node);
-                    node.hasSlashEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasSlashEqOp");
-                    if (node.hasSlashEqOp != null) node.hasSlashEqOp.setParent(node);
-                    node.hasAndOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasAndOp");
-                    if (node.hasAndOp != null) node.hasAndOp.setParent(node);
-                    node.definedUnaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("definedUnaryOp");
-                    if (node.definedUnaryOp != null) node.definedUnaryOp.setParent(node);
-                    node.hasEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqOp");
-                    if (node.hasEqOp != null) node.hasEqOp.setParent(node);
-                    node.hasPlusOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasPlusOp");
-                    if (node.hasPlusOp != null) node.hasPlusOp.setParent(node);
-                    node.hasDivideOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasDivideOp");
-                    if (node.hasDivideOp != null) node.hasDivideOp.setParent(node);
-                    node.hasNeqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNeqvOp");
-                    if (node.hasNeqvOp != null) node.hasNeqvOp.setParent(node);
-                    node.hasEqEqOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqEqOp");
-                    if (node.hasEqEqOp != null) node.hasEqEqOp.setParent(node);
-                    node.hasGeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasGeOp");
-                    if (node.hasGeOp != null) node.hasGeOp.setParent(node);
-                    node.hasNotOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNotOp");
-                    if (node.hasNotOp != null) node.hasNotOp.setParent(node);
-                    node.hasEqvOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasEqvOp");
-                    if (node.hasEqvOp != null) node.hasEqvOp.setParent(node);
-                    node.hasConcatOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasConcatOp");
-                    if (node.hasConcatOp != null) node.hasConcatOp.setParent(node);
-                    node.hasPowerOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasPowerOp");
-                    if (node.hasPowerOp != null) node.hasPowerOp.setParent(node);
-                    node.hasGtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasGtOp");
-                    if (node.hasGtOp != null) node.hasGtOp.setParent(node);
-                    node.hasLtOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasLtOp");
-                    if (node.hasLtOp != null) node.hasLtOp.setParent(node);
-                    node.hasNeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasNeOp");
-                    if (node.hasNeOp != null) node.hasNeOp.setParent(node);
-                    node.hasOrOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasOrOp");
-                    if (node.hasOrOp != null) node.hasOrOp.setParent(node);
-                    node.customDefinedOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("customDefinedOp");
-                    if (node.customDefinedOp != null) node.customDefinedOp.setParent(node);
-                    node.hasTimesOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasTimesOp");
-                    if (node.hasTimesOp != null) node.hasTimesOp.setParent(node);
-                    node.definedBinaryOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("definedBinaryOp");
-                    if (node.definedBinaryOp != null) node.definedBinaryOp.setParent(node);
-                    node.hasLeOp = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hasLeOp");
-                    if (node.hasLeOp != null) node.hasLeOp.setParent(node);
-                    node.primary2 = (ASTCPrimaryNode)valueStack.get(valueStackOffset + 2);
-                    if (node.primary2 != null) node.primary2.setParent(node);
-                    return node;
-
-        }
-        public Object handleRdFmtIdExpr1196(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("formatIdExpr", (ASTUFExprNode)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("formatIdExpr")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleWriteStmt1197(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTWriteStmtNode node = new ASTWriteStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTWrite = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTWrite != null) node.hiddenTWrite.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.ioControlSpecList = (IASTListNode<ASTIoControlSpecListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.ioControlSpecList != null) node.ioControlSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.outputItemList = (ASTOutputItemListNode)valueStack.get(valueStackOffset + 6);
-                    if (node.outputItemList != null) node.outputItemList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleWriteStmt1198(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTWriteStmtNode node = new ASTWriteStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTWrite = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTWrite != null) node.hiddenTWrite.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.ioControlSpecList = (IASTListNode<ASTIoControlSpecListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.ioControlSpecList != null) node.ioControlSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.outputItemList = (ASTOutputItemListNode)valueStack.get(valueStackOffset + 5);
-                    if (node.outputItemList != null) node.outputItemList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleWriteStmt1199(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTWriteStmtNode node = new ASTWriteStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTWrite = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTWrite != null) node.hiddenTWrite.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.ioControlSpecList = (IASTListNode<ASTIoControlSpecListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.ioControlSpecList != null) node.ioControlSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrintStmt1200(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPrintStmtNode node = new ASTPrintStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTPrint = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPrint != null) node.hiddenTPrint.setParent(node);
-                    node.formatIdentifier = (ASTFormatIdentifierNode)valueStack.get(valueStackOffset + 2);
-                    if (node.formatIdentifier != null) node.formatIdentifier.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.outputItemList = (ASTOutputItemListNode)valueStack.get(valueStackOffset + 4);
-                    if (node.outputItemList != null) node.outputItemList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrintStmt1201(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPrintStmtNode node = new ASTPrintStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTPrint = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPrint != null) node.hiddenTPrint.setParent(node);
-                    node.formatIdentifier = (ASTFormatIdentifierNode)valueStack.get(valueStackOffset + 2);
-                    if (node.formatIdentifier != null) node.formatIdentifier.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpecList1202(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTIoControlSpecListNode node = new ASTIoControlSpecListNode();
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 0);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    ASTListNode<ASTIoControlSpecListNode> list = new ASTListNode<ASTIoControlSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleIoControlSpecList1203(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTIoControlSpecListNode node = new ASTIoControlSpecListNode();
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 0);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.formatIdentifier = (ASTFormatIdentifierNode)valueStack.get(valueStackOffset + 2);
-                    if (node.formatIdentifier != null) node.formatIdentifier.setParent(node);
-                    ASTListNode<ASTIoControlSpecListNode> list = new ASTListNode<ASTIoControlSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleIoControlSpecList1204(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTIoControlSpecListNode node = new ASTIoControlSpecListNode();
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 0);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.ioControlSpec = (ASTIoControlSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.ioControlSpec != null) node.ioControlSpec.setParent(node);
-                    ASTListNode<ASTIoControlSpecListNode> list = new ASTListNode<ASTIoControlSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleIoControlSpecList1205(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTIoControlSpecListNode node = new ASTIoControlSpecListNode();
-                    node.ioControlSpec = (ASTIoControlSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.ioControlSpec != null) node.ioControlSpec.setParent(node);
-                    ASTListNode<ASTIoControlSpecListNode> list = new ASTListNode<ASTIoControlSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleIoControlSpecList1206(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTIoControlSpecListNode node = new ASTIoControlSpecListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.ioControlSpec = (ASTIoControlSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.ioControlSpec != null) node.ioControlSpec.setParent(node);
-                    ASTListNode<ASTIoControlSpecListNode> list = (ASTListNode<ASTIoControlSpecListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleIoControlSpec1207(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTFmteq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTFmteq != null) node.hiddenTFmteq.setParent(node);
-                    node.formatIdentifier = (ASTFormatIdentifierNode)valueStack.get(valueStackOffset + 1);
-                    if (node.formatIdentifier != null) node.formatIdentifier.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1208(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTUniteq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTUniteq != null) node.hiddenTUniteq.setParent(node);
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 1);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1209(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTReceq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTReceq != null) node.hiddenTReceq.setParent(node);
-                    node.recExpr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.recExpr != null) node.recExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1210(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTEndeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTEndeq != null) node.hiddenTEndeq.setParent(node);
-                    ASTLblRefNode tmp1 = new ASTLblRefNode();
-                    tmp1.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("label");
-                    if (tmp1.label != null) tmp1.label.setParent(tmp1);
-                    node.endExpr = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1211(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTErreq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTErreq != null) node.hiddenTErreq.setParent(node);
-                    ASTLblRefNode tmp1 = new ASTLblRefNode();
-                    tmp1.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("label");
-                    if (tmp1.label != null) tmp1.label.setParent(tmp1);
-                    node.errLbl = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1212(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTIostateq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTIostateq != null) node.hiddenTIostateq.setParent(node);
-                    node.ioStatVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.ioStatVar != null) node.ioStatVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1213(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTNmleq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTNmleq != null) node.hiddenTNmleq.setParent(node);
-                    ASTNamelistGroupNameNode tmp1 = new ASTNamelistGroupNameNode();
-                    tmp1.namelistGroupName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("namelistGroupName");
-                    if (tmp1.namelistGroupName != null) tmp1.namelistGroupName.setParent(tmp1);
-                    node.namelistGroupName = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1214(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTAdvanceeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTAdvanceeq != null) node.hiddenTAdvanceeq.setParent(node);
-                    node.advanceExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.advanceExpr != null) node.advanceExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1215(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTSizeeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTSizeeq != null) node.hiddenTSizeeq.setParent(node);
-                    node.sizeVar = (ASTVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.sizeVar != null) node.sizeVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1216(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTEoreq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTEoreq != null) node.hiddenTEoreq.setParent(node);
-                    ASTLblRefNode tmp1 = new ASTLblRefNode();
-                    tmp1.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("label");
-                    if (tmp1.label != null) tmp1.label.setParent(tmp1);
-                    node.eorLbl = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1217(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTAsynchronouseq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTAsynchronouseq != null) node.hiddenTAsynchronouseq.setParent(node);
-                    node.asyncExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.asyncExpr != null) node.asyncExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1218(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTDecimaleq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTDecimaleq != null) node.hiddenTDecimaleq.setParent(node);
-                    node.decimalExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.decimalExpr != null) node.decimalExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1219(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTIdeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTIdeq != null) node.hiddenTIdeq.setParent(node);
-                    node.idVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.idVar != null) node.idVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1220(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTIomsgeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTIomsgeq != null) node.hiddenTIomsgeq.setParent(node);
-                    node.iomsgExpr = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.iomsgExpr != null) node.iomsgExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1221(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTPoseq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTPoseq != null) node.hiddenTPoseq.setParent(node);
-                    node.posExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.posExpr != null) node.posExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1222(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTRoundeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTRoundeq != null) node.hiddenTRoundeq.setParent(node);
-                    node.roundExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.roundExpr != null) node.roundExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleIoControlSpec1223(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIoControlSpecNode node = new ASTIoControlSpecNode();
-                    node.hiddenTSigneq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTSigneq != null) node.hiddenTSigneq.setParent(node);
-                    node.signExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.signExpr != null) node.signExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatIdentifier1224(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatIdentifierNode node = new ASTFormatIdentifierNode();
-                    ASTLblRefNode tmp0 = new ASTLblRefNode();
-                    tmp0.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (tmp0.label != null) tmp0.label.setParent(tmp0);
-                    node.formatLbl = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatIdentifier1225(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatIdentifierNode node = new ASTFormatIdentifierNode();
-                    node.formatExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 0);
-                    if (node.formatExpr != null) node.formatExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatIdentifier1226(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatIdentifierNode node = new ASTFormatIdentifierNode();
-                    node.formatIsAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.formatIsAsterisk != null) node.formatIsAsterisk.setParent(node);
-                    return node;
-
-        }
-        public Object handleInputItemList1227(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<IInputItem> list = new ASTSeparatedListNode<IInputItem>();
-                    IInputItem elt = (IInputItem)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleInputItemList1228(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<IInputItem> list = (ASTSeparatedListNode<IInputItem>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    IInputItem elt = (IInputItem)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleInputItem1229(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTVariableNode result = (ASTVariableNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleInputItem1230(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTInputImpliedDoNode result = (ASTInputImpliedDoNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleOutputItemList1231(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOutputItemListNode node = new ASTOutputItemListNode();
-                    node.singleExpr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.singleExpr != null) node.singleExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleOutputItemList1232(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOutputItemListNode node = new ASTOutputItemListNode();
-                    node.outputItemList1 = (ASTOutputItemList1Node)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("outputItemList1");
-                    if (node.outputItemList1 != null) node.outputItemList1.setParent(node);
-                    node.expr1 = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("expr1");
-                    if (node.expr1 != null) node.expr1.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.expr2 = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("expr2");
-                    if (node.expr2 != null) node.expr2.setParent(node);
-                    node.outputImpliedDo = (ASTOutputImpliedDoNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("outputImpliedDo");
-                    if (node.outputImpliedDo != null) node.outputImpliedDo.setParent(node);
-                    return node;
-
-        }
-        public Object handleOutputItemList11233(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("expr1", (IExpr)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTComma", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("expr2", (IExpr)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("outputItemList1")));
-                    embeddedList.add((IASTNode)(node.get("expr1")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("expr2")));
-                    embeddedList.add((IASTNode)(node.get("outputImpliedDo")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleOutputItemList11234(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("expr1", (IExpr)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTComma", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("outputImpliedDo", (ASTOutputImpliedDoNode)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("outputItemList1")));
-                    embeddedList.add((IASTNode)(node.get("expr1")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("expr2")));
-                    embeddedList.add((IASTNode)(node.get("outputImpliedDo")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleOutputItemList11235(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("outputImpliedDo", (ASTOutputImpliedDoNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("outputItemList1")));
-                    embeddedList.add((IASTNode)(node.get("expr1")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("expr2")));
-                    embeddedList.add((IASTNode)(node.get("outputImpliedDo")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleOutputItemList11236(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTOutputItemList1Node tmp0 = new ASTOutputItemList1Node();
-                    tmp0.outputItemList1 = (ASTOutputItemList1Node)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("outputItemList1");
-                    if (tmp0.outputItemList1 != null) tmp0.outputItemList1.setParent(tmp0);
-                    tmp0.expr1 = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("expr1");
-                    if (tmp0.expr1 != null) tmp0.expr1.setParent(tmp0);
-                    tmp0.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTComma");
-                    if (tmp0.hiddenTComma != null) tmp0.hiddenTComma.setParent(tmp0);
-                    tmp0.expr2 = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("expr2");
-                    if (tmp0.expr2 != null) tmp0.expr2.setParent(tmp0);
-                    tmp0.outputImpliedDo = (ASTOutputImpliedDoNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("outputImpliedDo");
-                    if (tmp0.outputImpliedDo != null) tmp0.outputImpliedDo.setParent(tmp0);
-                    node.put("outputItemList1", tmp0);
-                    node.put("hiddenTComma", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("expr2", (IExpr)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("outputItemList1")));
-                    embeddedList.add((IASTNode)(node.get("expr1")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("expr2")));
-                    embeddedList.add((IASTNode)(node.get("outputImpliedDo")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleOutputItemList11237(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTOutputItemList1Node tmp0 = new ASTOutputItemList1Node();
-                    tmp0.outputItemList1 = (ASTOutputItemList1Node)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("outputItemList1");
-                    if (tmp0.outputItemList1 != null) tmp0.outputItemList1.setParent(tmp0);
-                    tmp0.expr1 = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("expr1");
-                    if (tmp0.expr1 != null) tmp0.expr1.setParent(tmp0);
-                    tmp0.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTComma");
-                    if (tmp0.hiddenTComma != null) tmp0.hiddenTComma.setParent(tmp0);
-                    tmp0.expr2 = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("expr2");
-                    if (tmp0.expr2 != null) tmp0.expr2.setParent(tmp0);
-                    tmp0.outputImpliedDo = (ASTOutputImpliedDoNode)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("outputImpliedDo");
-                    if (tmp0.outputImpliedDo != null) tmp0.outputImpliedDo.setParent(tmp0);
-                    node.put("outputItemList1", tmp0);
-                    node.put("hiddenTComma", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("outputImpliedDo", (ASTOutputImpliedDoNode)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("outputItemList1")));
-                    embeddedList.add((IASTNode)(node.get("expr1")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    embeddedList.add((IASTNode)(node.get("expr2")));
-                    embeddedList.add((IASTNode)(node.get("outputImpliedDo")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleInputImpliedDo1238(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInputImpliedDoNode node = new ASTInputImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.inputItemList = (IASTListNode<IInputItem>)valueStack.get(valueStackOffset + 1);
-                    if (node.inputItemList != null) node.inputItemList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (node.impliedDoVariable != null) node.impliedDoVariable.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleInputImpliedDo1239(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInputImpliedDoNode node = new ASTInputImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.inputItemList = (IASTListNode<IInputItem>)valueStack.get(valueStackOffset + 1);
-                    if (node.inputItemList != null) node.inputItemList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (node.impliedDoVariable != null) node.impliedDoVariable.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTComma3 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTComma3 != null) node.hiddenTComma3.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 9);
-                    if (node.step != null) node.step.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleOutputImpliedDo1240(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOutputImpliedDoNode node = new ASTOutputImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (node.impliedDoVariable != null) node.impliedDoVariable.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleOutputImpliedDo1241(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOutputImpliedDoNode node = new ASTOutputImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (node.impliedDoVariable != null) node.impliedDoVariable.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTComma3 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTComma3 != null) node.hiddenTComma3.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 9);
-                    if (node.step != null) node.step.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleOutputImpliedDo1242(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOutputImpliedDoNode node = new ASTOutputImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    ASTOutputItemList1Node tmp1 = new ASTOutputItemList1Node();
-                    tmp1.outputItemList1 = (ASTOutputItemList1Node)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("outputItemList1");
-                    if (tmp1.outputItemList1 != null) tmp1.outputItemList1.setParent(tmp1);
-                    tmp1.expr1 = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("expr1");
-                    if (tmp1.expr1 != null) tmp1.expr1.setParent(tmp1);
-                    tmp1.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTComma");
-                    if (tmp1.hiddenTComma != null) tmp1.hiddenTComma.setParent(tmp1);
-                    tmp1.expr2 = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("expr2");
-                    if (tmp1.expr2 != null) tmp1.expr2.setParent(tmp1);
-                    tmp1.outputImpliedDo = (ASTOutputImpliedDoNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("outputImpliedDo");
-                    if (tmp1.outputImpliedDo != null) tmp1.outputImpliedDo.setParent(tmp1);
-                    node.outputItemList1 = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (node.impliedDoVariable != null) node.impliedDoVariable.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleOutputImpliedDo1243(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOutputImpliedDoNode node = new ASTOutputImpliedDoNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    ASTOutputItemList1Node tmp1 = new ASTOutputItemList1Node();
-                    tmp1.outputItemList1 = (ASTOutputItemList1Node)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("outputItemList1");
-                    if (tmp1.outputItemList1 != null) tmp1.outputItemList1.setParent(tmp1);
-                    tmp1.expr1 = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("expr1");
-                    if (tmp1.expr1 != null) tmp1.expr1.setParent(tmp1);
-                    tmp1.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTComma");
-                    if (tmp1.hiddenTComma != null) tmp1.hiddenTComma.setParent(tmp1);
-                    tmp1.expr2 = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("expr2");
-                    if (tmp1.expr2 != null) tmp1.expr2.setParent(tmp1);
-                    tmp1.outputImpliedDo = (ASTOutputImpliedDoNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("outputImpliedDo");
-                    if (tmp1.outputImpliedDo != null) tmp1.outputImpliedDo.setParent(tmp1);
-                    node.outputItemList1 = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.impliedDoVariable = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("impliedDoVariable");
-                    if (node.impliedDoVariable != null) node.impliedDoVariable.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.lb = (IExpr)valueStack.get(valueStackOffset + 5);
-                    if (node.lb != null) node.lb.setParent(node);
-                    node.hiddenTComma2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTComma2 != null) node.hiddenTComma2.setParent(node);
-                    node.ub = (IExpr)valueStack.get(valueStackOffset + 7);
-                    if (node.ub != null) node.ub.setParent(node);
-                    node.hiddenTComma3 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTComma3 != null) node.hiddenTComma3.setParent(node);
-                    node.step = (IExpr)valueStack.get(valueStackOffset + 9);
-                    if (node.step != null) node.step.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleWaitStmt1244(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTWaitStmtNode node = new ASTWaitStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTWait = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTWait != null) node.hiddenTWait.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.waitSpecList = (IASTListNode<ASTWaitSpecNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.waitSpecList != null) node.waitSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleWaitSpecList1245(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTWaitSpecNode> list = new ASTSeparatedListNode<ASTWaitSpecNode>();
-                    ASTWaitSpecNode elt = (ASTWaitSpecNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleWaitSpecList1246(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTWaitSpecNode> list = (ASTSeparatedListNode<ASTWaitSpecNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTWaitSpecNode elt = (ASTWaitSpecNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleWaitSpec1247(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTWaitSpecNode node = new ASTWaitSpecNode();
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleWaitSpec1248(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTWaitSpecNode node = new ASTWaitSpecNode();
-                    node.keyword = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.keyword != null) node.keyword.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleBackspaceStmt1249(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBackspaceStmtNode node = new ASTBackspaceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTBackspace = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTBackspace != null) node.hiddenTBackspace.setParent(node);
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 2);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleBackspaceStmt1250(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBackspaceStmtNode node = new ASTBackspaceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTBackspace = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTBackspace != null) node.hiddenTBackspace.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.positionSpecList = (IASTListNode<ASTPositionSpecListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.positionSpecList != null) node.positionSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndfileStmt1251(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndfileStmtNode node = new ASTEndfileStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndfile = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndfile != null) node.hiddenTEndfile.setParent(node);
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 2);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndfileStmt1252(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndfileStmtNode node = new ASTEndfileStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndfile = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndfile != null) node.hiddenTEndfile.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.positionSpecList = (IASTListNode<ASTPositionSpecListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.positionSpecList != null) node.positionSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndfileStmt1253(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndfileStmtNode node = new ASTEndfileStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTFile = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTFile != null) node.hiddenTFile.setParent(node);
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 3);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndfileStmt1254(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndfileStmtNode node = new ASTEndfileStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTFile = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTFile != null) node.hiddenTFile.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.positionSpecList = (IASTListNode<ASTPositionSpecListNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.positionSpecList != null) node.positionSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleRewindStmt1255(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRewindStmtNode node = new ASTRewindStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTRewind = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTRewind != null) node.hiddenTRewind.setParent(node);
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 2);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleRewindStmt1256(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRewindStmtNode node = new ASTRewindStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTRewind = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTRewind != null) node.hiddenTRewind.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.positionSpecList = (IASTListNode<ASTPositionSpecListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.positionSpecList != null) node.positionSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePositionSpecList1257(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTPositionSpecListNode node = new ASTPositionSpecListNode();
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 0);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.positionSpec = (ASTPositionSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.positionSpec != null) node.positionSpec.setParent(node);
-                    ASTListNode<ASTPositionSpecListNode> list = new ASTListNode<ASTPositionSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handlePositionSpecList1258(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTPositionSpecListNode node = new ASTPositionSpecListNode();
-                    node.positionSpec = (ASTPositionSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.positionSpec != null) node.positionSpec.setParent(node);
-                    ASTListNode<ASTPositionSpecListNode> list = new ASTListNode<ASTPositionSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handlePositionSpecList1259(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTPositionSpecListNode node = new ASTPositionSpecListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.positionSpec = (ASTPositionSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.positionSpec != null) node.positionSpec.setParent(node);
-                    ASTListNode<ASTPositionSpecListNode> list = (ASTListNode<ASTPositionSpecListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handlePositionSpec1260(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPositionSpecNode node = new ASTPositionSpecNode();
-                    node.hiddenTUniteq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTUniteq != null) node.hiddenTUniteq.setParent(node);
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 1);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    return node;
-
-        }
-        public Object handlePositionSpec1261(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPositionSpecNode node = new ASTPositionSpecNode();
-                    node.hiddenTErreq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTErreq != null) node.hiddenTErreq.setParent(node);
-                    ASTLblRefNode tmp1 = new ASTLblRefNode();
-                    tmp1.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("label");
-                    if (tmp1.label != null) tmp1.label.setParent(tmp1);
-                    node.errLbl = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    return node;
-
-        }
-        public Object handlePositionSpec1262(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPositionSpecNode node = new ASTPositionSpecNode();
-                    node.hiddenTIostateq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTIostateq != null) node.hiddenTIostateq.setParent(node);
-                    node.ioStatVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.ioStatVar != null) node.ioStatVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireStmt1263(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireStmtNode node = new ASTInquireStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTInquire = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTInquire != null) node.hiddenTInquire.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.inquireSpecList = (IASTListNode<ASTInquireSpecListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.inquireSpecList != null) node.inquireSpecList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireStmt1264(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireStmtNode node = new ASTInquireStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTInquire = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTInquire != null) node.hiddenTInquire.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTIolengtheq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTIolengtheq != null) node.hiddenTIolengtheq.setParent(node);
-                    node.ioLengthVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 4);
-                    if (node.ioLengthVar != null) node.ioLengthVar.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.outputItemList = (ASTOutputItemListNode)valueStack.get(valueStackOffset + 6);
-                    if (node.outputItemList != null) node.outputItemList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpecList1265(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTInquireSpecListNode node = new ASTInquireSpecListNode();
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 0);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    ASTListNode<ASTInquireSpecListNode> list = new ASTListNode<ASTInquireSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleInquireSpecList1266(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTInquireSpecListNode node = new ASTInquireSpecListNode();
-                    node.inquireSpec = (ASTInquireSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.inquireSpec != null) node.inquireSpec.setParent(node);
-                    ASTListNode<ASTInquireSpecListNode> list = new ASTListNode<ASTInquireSpecListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleInquireSpecList1267(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTInquireSpecListNode node = new ASTInquireSpecListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.inquireSpec = (ASTInquireSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.inquireSpec != null) node.inquireSpec.setParent(node);
-                    ASTListNode<ASTInquireSpecListNode> list = (ASTListNode<ASTInquireSpecListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleInquireSpec1268(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTUniteq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTUniteq != null) node.hiddenTUniteq.setParent(node);
-                    node.unitIdentifier = (ASTUnitIdentifierNode)valueStack.get(valueStackOffset + 1);
-                    if (node.unitIdentifier != null) node.unitIdentifier.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1269(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTFileeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTFileeq != null) node.hiddenTFileeq.setParent(node);
-                    node.fileExpr = (ASTCExprNode)valueStack.get(valueStackOffset + 1);
-                    if (node.fileExpr != null) node.fileExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1270(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTErreq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTErreq != null) node.hiddenTErreq.setParent(node);
-                    ASTLblRefNode tmp1 = new ASTLblRefNode();
-                    tmp1.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("label");
-                    if (tmp1.label != null) tmp1.label.setParent(tmp1);
-                    node.errVar = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1271(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTIostateq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTIostateq != null) node.hiddenTIostateq.setParent(node);
-                    node.ioStatVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.ioStatVar != null) node.ioStatVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1272(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTExisteq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTExisteq != null) node.hiddenTExisteq.setParent(node);
-                    node.existVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.existVar != null) node.existVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1273(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTOpenedeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTOpenedeq != null) node.hiddenTOpenedeq.setParent(node);
-                    node.openedVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.openedVar != null) node.openedVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1274(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTNumbereq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTNumbereq != null) node.hiddenTNumbereq.setParent(node);
-                    node.numberVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.numberVar != null) node.numberVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1275(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTNamedeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTNamedeq != null) node.hiddenTNamedeq.setParent(node);
-                    node.namedVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.namedVar != null) node.namedVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1276(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTNameeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTNameeq != null) node.hiddenTNameeq.setParent(node);
-                    node.nameVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.nameVar != null) node.nameVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1277(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTAccesseq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTAccesseq != null) node.hiddenTAccesseq.setParent(node);
-                    node.accessVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.accessVar != null) node.accessVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1278(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTSequentialeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTSequentialeq != null) node.hiddenTSequentialeq.setParent(node);
-                    node.sequentialVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.sequentialVar != null) node.sequentialVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1279(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTDirecteq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTDirecteq != null) node.hiddenTDirecteq.setParent(node);
-                    node.directVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.directVar != null) node.directVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1280(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTFormeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTFormeq != null) node.hiddenTFormeq.setParent(node);
-                    node.formVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.formVar != null) node.formVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1281(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTFormattedeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTFormattedeq != null) node.hiddenTFormattedeq.setParent(node);
-                    node.formattedVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.formattedVar != null) node.formattedVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1282(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTUnformattedeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTUnformattedeq != null) node.hiddenTUnformattedeq.setParent(node);
-                    node.unformattedVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.unformattedVar != null) node.unformattedVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1283(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTRecleq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTRecleq != null) node.hiddenTRecleq.setParent(node);
-                    node.reclExpr = (IExpr)valueStack.get(valueStackOffset + 1);
-                    if (node.reclExpr != null) node.reclExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1284(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTNextreceq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTNextreceq != null) node.hiddenTNextreceq.setParent(node);
-                    node.nextRecVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.nextRecVar != null) node.nextRecVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1285(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTBlankeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTBlankeq != null) node.hiddenTBlankeq.setParent(node);
-                    node.blankVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.blankVar != null) node.blankVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1286(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTPositioneq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTPositioneq != null) node.hiddenTPositioneq.setParent(node);
-                    node.positionVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.positionVar != null) node.positionVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1287(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTActioneq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTActioneq != null) node.hiddenTActioneq.setParent(node);
-                    node.actionVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.actionVar != null) node.actionVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1288(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTReadeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTReadeq != null) node.hiddenTReadeq.setParent(node);
-                    node.readVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.readVar != null) node.readVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1289(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTWriteeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTWriteeq != null) node.hiddenTWriteeq.setParent(node);
-                    node.writeVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.writeVar != null) node.writeVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1290(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTReadwriteeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTReadwriteeq != null) node.hiddenTReadwriteeq.setParent(node);
-                    node.readWriteVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.readWriteVar != null) node.readWriteVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1291(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTDelimeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTDelimeq != null) node.hiddenTDelimeq.setParent(node);
-                    node.delimVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.delimVar != null) node.delimVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1292(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTPadeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTPadeq != null) node.hiddenTPadeq.setParent(node);
-                    node.padVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.padVar != null) node.padVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1293(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTAsynchronouseq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTAsynchronouseq != null) node.hiddenTAsynchronouseq.setParent(node);
-                    node.asyncExpr = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.asyncExpr != null) node.asyncExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1294(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTDecimaleq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTDecimaleq != null) node.hiddenTDecimaleq.setParent(node);
-                    node.decimalExpr = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.decimalExpr != null) node.decimalExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1295(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTEncodingeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTEncodingeq != null) node.hiddenTEncodingeq.setParent(node);
-                    node.encodingExpr = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.encodingExpr != null) node.encodingExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1296(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTIdeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTIdeq != null) node.hiddenTIdeq.setParent(node);
-                    node.idVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.idVar != null) node.idVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1297(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTIomsgeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTIomsgeq != null) node.hiddenTIomsgeq.setParent(node);
-                    node.iomsgExpr = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.iomsgExpr != null) node.iomsgExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1298(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTPendingeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTPendingeq != null) node.hiddenTPendingeq.setParent(node);
-                    node.pendingVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.pendingVar != null) node.pendingVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1299(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTPoseq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTPoseq != null) node.hiddenTPoseq.setParent(node);
-                    node.posVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.posVar != null) node.posVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1300(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTRoundeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTRoundeq != null) node.hiddenTRoundeq.setParent(node);
-                    node.roundExpr = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.roundExpr != null) node.roundExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1301(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTSigneq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTSigneq != null) node.hiddenTSigneq.setParent(node);
-                    node.signExpr = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.signExpr != null) node.signExpr.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1302(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTSizeeq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTSizeeq != null) node.hiddenTSizeeq.setParent(node);
-                    node.sizeVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.sizeVar != null) node.sizeVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleInquireSpec1303(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInquireSpecNode node = new ASTInquireSpecNode();
-                    node.hiddenTStreameq = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTStreameq != null) node.hiddenTStreameq.setParent(node);
-                    node.streamVar = (ASTScalarVariableNode)valueStack.get(valueStackOffset + 1);
-                    if (node.streamVar != null) node.streamVar.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatStmt1304(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatStmtNode node = new ASTFormatStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTFormat = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTFormat != null) node.hiddenTFormat.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatStmt1305(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatStmtNode node = new ASTFormatStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTFormat = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTFormat != null) node.hiddenTFormat.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.fmtSpec = (IASTListNode<ASTFmtSpecNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.fmtSpec != null) node.fmtSpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFmtSpec1306(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTFmtSpecNode node = new ASTFmtSpecNode();
-                    node.formatEdit = (ASTFormatEditNode)valueStack.get(valueStackOffset + 0);
-                    if (node.formatEdit != null) node.formatEdit.setParent(node);
-                    ASTListNode<ASTFmtSpecNode> list = new ASTListNode<ASTFmtSpecNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFmtSpec1307(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTFmtSpecNode node = new ASTFmtSpecNode();
-                    node.colonFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("colonFormatSep");
-                    if (node.colonFormatSep != null) node.colonFormatSep.setParent(node);
-                    node.slashFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("slashFormatSep");
-                    if (node.slashFormatSep != null) node.slashFormatSep.setParent(node);
-                    ASTListNode<ASTFmtSpecNode> list = new ASTListNode<ASTFmtSpecNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFmtSpec1308(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTFmtSpecNode node = new ASTFmtSpecNode();
-                    node.colonFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("colonFormatSep");
-                    if (node.colonFormatSep != null) node.colonFormatSep.setParent(node);
-                    node.slashFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("slashFormatSep");
-                    if (node.slashFormatSep != null) node.slashFormatSep.setParent(node);
-                    node.formatEdit = (ASTFormatEditNode)valueStack.get(valueStackOffset + 1);
-                    if (node.formatEdit != null) node.formatEdit.setParent(node);
-                    ASTListNode<ASTFmtSpecNode> list = new ASTListNode<ASTFmtSpecNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFmtSpec1309(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTFmtSpecNode node = new ASTFmtSpecNode();
-                    node.colonFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("colonFormatSep");
-                    if (node.colonFormatSep != null) node.colonFormatSep.setParent(node);
-                    node.slashFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("slashFormatSep");
-                    if (node.slashFormatSep != null) node.slashFormatSep.setParent(node);
-                    ASTListNode<ASTFmtSpecNode> list = (ASTListNode<ASTFmtSpecNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFmtSpec1310(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTFmtSpecNode node = new ASTFmtSpecNode();
-                    node.colonFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("colonFormatSep");
-                    if (node.colonFormatSep != null) node.colonFormatSep.setParent(node);
-                    node.slashFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("slashFormatSep");
-                    if (node.slashFormatSep != null) node.slashFormatSep.setParent(node);
-                    node.formatEdit = (ASTFormatEditNode)valueStack.get(valueStackOffset + 2);
-                    if (node.formatEdit != null) node.formatEdit.setParent(node);
-                    ASTListNode<ASTFmtSpecNode> list = (ASTListNode<ASTFmtSpecNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFmtSpec1311(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTFmtSpecNode node = new ASTFmtSpecNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.formatEdit = (ASTFormatEditNode)valueStack.get(valueStackOffset + 2);
-                    if (node.formatEdit != null) node.formatEdit.setParent(node);
-                    ASTListNode<ASTFmtSpecNode> list = (ASTListNode<ASTFmtSpecNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFmtSpec1312(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTFmtSpecNode node = new ASTFmtSpecNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.colonFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("colonFormatSep");
-                    if (node.colonFormatSep != null) node.colonFormatSep.setParent(node);
-                    node.slashFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("slashFormatSep");
-                    if (node.slashFormatSep != null) node.slashFormatSep.setParent(node);
-                    ASTListNode<ASTFmtSpecNode> list = (ASTListNode<ASTFmtSpecNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFmtSpec1313(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTFmtSpecNode node = new ASTFmtSpecNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.colonFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("colonFormatSep");
-                    if (node.colonFormatSep != null) node.colonFormatSep.setParent(node);
-                    node.slashFormatSep = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("slashFormatSep");
-                    if (node.slashFormatSep != null) node.slashFormatSep.setParent(node);
-                    node.formatEdit = (ASTFormatEditNode)valueStack.get(valueStackOffset + 3);
-                    if (node.formatEdit != null) node.formatEdit.setParent(node);
-                    ASTListNode<ASTFmtSpecNode> list = (ASTListNode<ASTFmtSpecNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFormatEdit1314(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatEditNode node = new ASTFormatEditNode();
-                    node.editElement = (ASTEditElementNode)valueStack.get(valueStackOffset + 0);
-                    if (node.editElement != null) node.editElement.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatEdit1315(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatEditNode node = new ASTFormatEditNode();
-                    node.intConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.intConst != null) node.intConst.setParent(node);
-                    node.editElement = (ASTEditElementNode)valueStack.get(valueStackOffset + 1);
-                    if (node.editElement != null) node.editElement.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatEdit1316(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatEditNode node = new ASTFormatEditNode();
-                    node.hexConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hexConst != null) node.hexConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatEdit1317(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatEditNode node = new ASTFormatEditNode();
-                    node.pConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.pConst != null) node.pConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatEdit1318(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatEditNode node = new ASTFormatEditNode();
-                    node.pConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.pConst != null) node.pConst.setParent(node);
-                    node.editElement = (ASTEditElementNode)valueStack.get(valueStackOffset + 1);
-                    if (node.editElement != null) node.editElement.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatEdit1319(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatEditNode node = new ASTFormatEditNode();
-                    node.pConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.pConst != null) node.pConst.setParent(node);
-                    node.intConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.intConst != null) node.intConst.setParent(node);
-                    node.editElement = (ASTEditElementNode)valueStack.get(valueStackOffset + 2);
-                    if (node.editElement != null) node.editElement.setParent(node);
-                    return node;
-
-        }
-        public Object handleEditElement1320(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEditElementNode node = new ASTEditElementNode();
-                    node.floatConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.floatConst != null) node.floatConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleEditElement1321(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEditElementNode node = new ASTEditElementNode();
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    return node;
-
-        }
-        public Object handleEditElement1322(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEditElementNode node = new ASTEditElementNode();
-                    node.identifier = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.identifier != null) node.identifier.setParent(node);
-                    return node;
-
-        }
-        public Object handleEditElement1323(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEditElementNode node = new ASTEditElementNode();
-                    node.hollerith = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hollerith != null) node.hollerith.setParent(node);
-                    return node;
-
-        }
-        public Object handleEditElement1324(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEditElementNode node = new ASTEditElementNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.fmtSpec = (IASTListNode<ASTFmtSpecNode>)valueStack.get(valueStackOffset + 1);
-                    if (node.fmtSpec != null) node.fmtSpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatsep1325(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("slashFormatSep", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("colonFormatSep")));
-                    embeddedList.add((IASTNode)(node.get("slashFormatSep")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleFormatsep1326(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("colonFormatSep", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("colonFormatSep")));
-                    embeddedList.add((IASTNode)(node.get("slashFormatSep")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleProgramStmt1327(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProgramStmtNode node = new ASTProgramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.programToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.programToken != null) node.programToken.setParent(node);
-                    node.programName = (ASTProgramNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.programName != null) node.programName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndProgramStmt1328(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndProgramStmtNode node = new ASTEndProgramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.endToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.endToken != null) node.endToken.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndProgramStmt1329(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndProgramStmtNode node = new ASTEndProgramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.endToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.endToken != null) node.endToken.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndProgramStmt1330(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndProgramStmtNode node = new ASTEndProgramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.endToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.endToken != null) node.endToken.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndProgramStmt1331(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndProgramStmtNode node = new ASTEndProgramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.endToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.endToken != null) node.endToken.setParent(node);
-                    node.hiddenTProgram = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTProgram != null) node.hiddenTProgram.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndProgramStmt1332(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndProgramStmtNode node = new ASTEndProgramStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.endToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.endToken != null) node.endToken.setParent(node);
-                    node.hiddenTProgram = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTProgram != null) node.hiddenTProgram.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleModuleStmt1333(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTModuleStmtNode node = new ASTModuleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTModule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTModule != null) node.hiddenTModule.setParent(node);
-                    node.moduleName = (ASTModuleNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.moduleName != null) node.moduleName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndModuleStmt1334(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndModuleStmtNode node = new ASTEndModuleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndModuleStmt1335(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndModuleStmtNode node = new ASTEndModuleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndmodule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndmodule != null) node.hiddenTEndmodule.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndModuleStmt1336(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndModuleStmtNode node = new ASTEndModuleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndmodule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndmodule != null) node.hiddenTEndmodule.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndModuleStmt1337(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndModuleStmtNode node = new ASTEndModuleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTModule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTModule != null) node.hiddenTModule.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndModuleStmt1338(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndModuleStmtNode node = new ASTEndModuleStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTModule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTModule != null) node.hiddenTModule.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1339(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.hiddenHiddenTComma1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenTComma1 != null) node.hiddenHiddenTComma1.setParent(node);
-                    node.moduleNature = (ASTModuleNatureNode)valueStack.get(valueStackOffset + 3);
-                    if (node.moduleNature != null) node.moduleNature.setParent(node);
-                    node.hiddenHiddenTColon1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenHiddenTColon1 != null) node.hiddenHiddenTColon1.setParent(node);
-                    node.hiddenHiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenHiddenTColon2 != null) node.hiddenHiddenTColon2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1340(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.hiddenHiddenTComma1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenTComma1 != null) node.hiddenHiddenTComma1.setParent(node);
-                    node.moduleNature = (ASTModuleNatureNode)valueStack.get(valueStackOffset + 3);
-                    if (node.moduleNature != null) node.moduleNature.setParent(node);
-                    node.hiddenHiddenTColon1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenHiddenTColon1 != null) node.hiddenHiddenTColon1.setParent(node);
-                    node.hiddenHiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenHiddenTColon2 != null) node.hiddenHiddenTColon2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.renameList = (IASTListNode<ASTRenameNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.renameList != null) node.renameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1341(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.hiddenHiddenTComma1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenTComma1 != null) node.hiddenHiddenTComma1.setParent(node);
-                    node.moduleNature = (ASTModuleNatureNode)valueStack.get(valueStackOffset + 3);
-                    if (node.moduleNature != null) node.moduleNature.setParent(node);
-                    node.hiddenHiddenTColon1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenHiddenTColon1 != null) node.hiddenHiddenTColon1.setParent(node);
-                    node.hiddenHiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenHiddenTColon2 != null) node.hiddenHiddenTColon2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTOnly = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTOnly != null) node.hiddenTOnly.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1342(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.hiddenHiddenTComma1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenTComma1 != null) node.hiddenHiddenTComma1.setParent(node);
-                    node.moduleNature = (ASTModuleNatureNode)valueStack.get(valueStackOffset + 3);
-                    if (node.moduleNature != null) node.moduleNature.setParent(node);
-                    node.hiddenHiddenTColon1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenHiddenTColon1 != null) node.hiddenHiddenTColon1.setParent(node);
-                    node.hiddenHiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenHiddenTColon2 != null) node.hiddenHiddenTColon2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 6)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTOnly = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTOnly != null) node.hiddenTOnly.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.onlyList = (IASTListNode<ASTOnlyNode>)valueStack.get(valueStackOffset + 10);
-                    if (node.onlyList != null) node.onlyList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 11);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1343(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.hiddenHiddenTColon1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenTColon1 != null) node.hiddenHiddenTColon1.setParent(node);
-                    node.hiddenHiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenHiddenTColon2 != null) node.hiddenHiddenTColon2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1344(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.hiddenHiddenTColon1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenTColon1 != null) node.hiddenHiddenTColon1.setParent(node);
-                    node.hiddenHiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenHiddenTColon2 != null) node.hiddenHiddenTColon2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.renameList = (IASTListNode<ASTRenameNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.renameList != null) node.renameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1345(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.hiddenHiddenTColon1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenTColon1 != null) node.hiddenHiddenTColon1.setParent(node);
-                    node.hiddenHiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenHiddenTColon2 != null) node.hiddenHiddenTColon2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTOnly = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTOnly != null) node.hiddenTOnly.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1346(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.hiddenHiddenTColon1 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenHiddenTColon1 != null) node.hiddenHiddenTColon1.setParent(node);
-                    node.hiddenHiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenHiddenTColon2 != null) node.hiddenHiddenTColon2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTOnly = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTOnly != null) node.hiddenTOnly.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.onlyList = (IASTListNode<ASTOnlyNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.onlyList != null) node.onlyList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1347(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1348(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.renameList = (IASTListNode<ASTRenameNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.renameList != null) node.renameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1349(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTOnly = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTOnly != null) node.hiddenTOnly.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleUseStmt1350(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTUseStmtNode node = new ASTUseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.useToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.useToken != null) node.useToken.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTOnly = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTOnly != null) node.hiddenTOnly.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.onlyList = (IASTListNode<ASTOnlyNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.onlyList != null) node.onlyList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleModuleNature1351(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTModuleNatureNode node = new ASTModuleNatureNode();
-                    node.isIntrinsic = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isIntrinsic != null) node.isIntrinsic.setParent(node);
-                    return node;
-
-        }
-        public Object handleModuleNature1352(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTModuleNatureNode node = new ASTModuleNatureNode();
-                    node.isNonIntrinsic = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isNonIntrinsic != null) node.isNonIntrinsic.setParent(node);
-                    return node;
-
-        }
-        public Object handleRenameList1353(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTRenameNode> list = new ASTSeparatedListNode<ASTRenameNode>();
-                    ASTRenameNode elt = (ASTRenameNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleRenameList1354(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTRenameNode> list = (ASTSeparatedListNode<ASTRenameNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTRenameNode elt = (ASTRenameNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleOnlyList1355(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTOnlyNode> list = new ASTSeparatedListNode<ASTOnlyNode>();
-                    ASTOnlyNode elt = (ASTOnlyNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleOnlyList1356(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTOnlyNode> list = (ASTSeparatedListNode<ASTOnlyNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTOnlyNode elt = (ASTOnlyNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleRename1357(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRenameNode node = new ASTRenameNode();
-                    node.newName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.newName != null) node.newName.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    return node;
-
-        }
-        public Object handleRename1358(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTRenameNode node = new ASTRenameNode();
-                    node.isOperator = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isOperator != null) node.isOperator.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.newName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.newName != null) node.newName.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEqgreaterthan = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEqgreaterthan != null) node.hiddenTEqgreaterthan.setParent(node);
-                    node.hiddenTOperator = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTOperator != null) node.hiddenTOperator.setParent(node);
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTRparen2 != null) node.hiddenTRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handleOnly1359(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOnlyNode node = new ASTOnlyNode();
-                    node.genericSpec = (ASTGenericSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.genericSpec != null) node.genericSpec.setParent(node);
-                    return node;
-
-        }
-        public Object handleOnly1360(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOnlyNode node = new ASTOnlyNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    return node;
-
-        }
-        public Object handleOnly1361(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOnlyNode node = new ASTOnlyNode();
-                    node.newName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.newName != null) node.newName.setParent(node);
-                    node.isRenamed = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.isRenamed != null) node.isRenamed.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    return node;
-
-        }
-        public Object handleOnly1362(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTOnlyNode node = new ASTOnlyNode();
-                    node.isOperator = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isOperator != null) node.isOperator.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.newOp = (IDefinedOperator)valueStack.get(valueStackOffset + 2);
-                    if (node.newOp != null) node.newOp.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.isRenamed = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.isRenamed != null) node.isRenamed.setParent(node);
-                    node.hiddenTOperator = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTOperator != null) node.hiddenTOperator.setParent(node);
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.oldOp = (IDefinedOperator)valueStack.get(valueStackOffset + 7);
-                    if (node.oldOp != null) node.oldOp.setParent(node);
-                    node.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTRparen2 != null) node.hiddenTRparen2.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockDataStmt1363(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBlockDataStmtNode node = new ASTBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.blockDataToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.blockDataToken != null) node.blockDataToken.setParent(node);
-                    node.blockDataName = (ASTBlockDataNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.blockDataName != null) node.blockDataName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockDataStmt1364(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBlockDataStmtNode node = new ASTBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.blockDataToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.blockDataToken != null) node.blockDataToken.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockDataStmt1365(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBlockDataStmtNode node = new ASTBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.blockDataToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.blockDataToken != null) node.blockDataToken.setParent(node);
-                    node.hiddenTData = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTData != null) node.hiddenTData.setParent(node);
-                    node.blockDataName = (ASTBlockDataNameNode)valueStack.get(valueStackOffset + 3);
-                    if (node.blockDataName != null) node.blockDataName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleBlockDataStmt1366(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBlockDataStmtNode node = new ASTBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.blockDataToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.blockDataToken != null) node.blockDataToken.setParent(node);
-                    node.hiddenTData = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTData != null) node.hiddenTData.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockDataStmt1367(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockDataStmtNode node = new ASTEndBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockDataStmt1368(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockDataStmtNode node = new ASTEndBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndblockdata = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndblockdata != null) node.hiddenTEndblockdata.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockDataStmt1369(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockDataStmtNode node = new ASTEndBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndblockdata = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndblockdata != null) node.hiddenTEndblockdata.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockDataStmt1370(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockDataStmtNode node = new ASTEndBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTBlockdata = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTBlockdata != null) node.hiddenTBlockdata.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockDataStmt1371(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockDataStmtNode node = new ASTEndBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTBlockdata = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTBlockdata != null) node.hiddenTBlockdata.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockDataStmt1372(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockDataStmtNode node = new ASTEndBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndblock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndblock != null) node.hiddenTEndblock.setParent(node);
-                    node.hiddenTData = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTData != null) node.hiddenTData.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockDataStmt1373(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockDataStmtNode node = new ASTEndBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndblock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndblock != null) node.hiddenTEndblock.setParent(node);
-                    node.hiddenTData = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTData != null) node.hiddenTData.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockDataStmt1374(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockDataStmtNode node = new ASTEndBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTBlock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTBlock != null) node.hiddenTBlock.setParent(node);
-                    node.hiddenTData = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTData != null) node.hiddenTData.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndBlockDataStmt1375(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndBlockDataStmtNode node = new ASTEndBlockDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTBlock = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTBlock != null) node.hiddenTBlock.setParent(node);
-                    node.hiddenTData = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTData != null) node.hiddenTData.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleInterfaceBlock1376(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInterfaceBlockNode node = new ASTInterfaceBlockNode();
-                    node.interfaceStmt = (ASTInterfaceStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.interfaceStmt != null) node.interfaceStmt.setParent(node);
-                    node.interfaceBlockBody = (IASTListNode<IInterfaceSpecification>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("interfaceBlockBody");
-                    if (node.interfaceBlockBody != null) node.interfaceBlockBody.setParent(node);
-                    node.endInterfaceStmt = (ASTEndInterfaceStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endInterfaceStmt");
-                    if (node.endInterfaceStmt != null) node.endInterfaceStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleInterfaceRange1377(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("interfaceBlockBody", (IASTListNode<IInterfaceSpecification>)valueStack.get(valueStackOffset + 0));
-                    node.put("endInterfaceStmt", (ASTEndInterfaceStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("interfaceBlockBody")));
-                    embeddedList.add((IASTNode)(node.get("endInterfaceStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleInterfaceBlockBody1378(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<IInterfaceSpecification> list = new ASTListNode<IInterfaceSpecification>();
-                    IInterfaceSpecification elt = (IInterfaceSpecification)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleInterfaceBlockBody1379(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<IInterfaceSpecification> list = (IASTListNode<IInterfaceSpecification>)valueStack.get(valueStackOffset);
-                    IInterfaceSpecification elt = (IInterfaceSpecification)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleInterfaceSpecification1380(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTInterfaceBodyNode result = (ASTInterfaceBodyNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleInterfaceSpecification1381(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 5
-                    ASTModuleProcedureStmtNode result = (ASTModuleProcedureStmtNode)valueStack.get(valueStackOffset + 0);
-                    return result;
-
-        }
-        public Object handleInterfaceStmt1382(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInterfaceStmtNode node = new ASTInterfaceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.interfaceToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.interfaceToken != null) node.interfaceToken.setParent(node);
-                    node.genericName = (ASTGenericNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.genericName != null) node.genericName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleInterfaceStmt1383(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInterfaceStmtNode node = new ASTInterfaceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.interfaceToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.interfaceToken != null) node.interfaceToken.setParent(node);
-                    node.genericSpec = (ASTGenericSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.genericSpec != null) node.genericSpec.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleInterfaceStmt1384(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInterfaceStmtNode node = new ASTInterfaceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.interfaceToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.interfaceToken != null) node.interfaceToken.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleInterfaceStmt1385(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInterfaceStmtNode node = new ASTInterfaceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.isAbstract = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.isAbstract != null) node.isAbstract.setParent(node);
-                    node.interfaceToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.interfaceToken != null) node.interfaceToken.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndInterfaceStmt1386(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndInterfaceStmtNode node = new ASTEndInterfaceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndinterface = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndinterface != null) node.hiddenTEndinterface.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndInterfaceStmt1387(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndInterfaceStmtNode node = new ASTEndInterfaceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndinterface = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndinterface != null) node.hiddenTEndinterface.setParent(node);
-                    ASTEndNameNode tmp2 = new ASTEndNameNode();
-                    tmp2.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (tmp2.endName != null) tmp2.endName.setParent(tmp2);
-                    node.endName = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndInterfaceStmt1388(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndInterfaceStmtNode node = new ASTEndInterfaceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTInterface = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTInterface != null) node.hiddenTInterface.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndInterfaceStmt1389(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndInterfaceStmtNode node = new ASTEndInterfaceStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTInterface = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTInterface != null) node.hiddenTInterface.setParent(node);
-                    ASTEndNameNode tmp3 = new ASTEndNameNode();
-                    tmp3.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (tmp3.endName != null) tmp3.endName.setParent(tmp3);
-                    node.endName = tmp3;
-                    if (tmp3 != null) tmp3.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleInterfaceBody1390(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInterfaceBodyNode node = new ASTInterfaceBodyNode();
-                    node.functionStmt = (ASTFunctionStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.functionStmt != null) node.functionStmt.setParent(node);
-                    node.subprogramInterfaceBody = (IASTListNode<ISpecificationPartConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("subprogramInterfaceBody");
-                    if (node.subprogramInterfaceBody != null) node.subprogramInterfaceBody.setParent(node);
-                    node.endFunctionStmt = (ASTEndFunctionStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endFunctionStmt");
-                    if (node.endFunctionStmt != null) node.endFunctionStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleInterfaceBody1391(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTInterfaceBodyNode node = new ASTInterfaceBodyNode();
-                    node.subroutineStmt = (ASTSubroutineStmtNode)valueStack.get(valueStackOffset + 0);
-                    if (node.subroutineStmt != null) node.subroutineStmt.setParent(node);
-                    node.subprogramInterfaceBody = (IASTListNode<ISpecificationPartConstruct>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("subprogramInterfaceBody");
-                    if (node.subprogramInterfaceBody != null) node.subprogramInterfaceBody.setParent(node);
-                    node.endSubroutineStmt = (ASTEndSubroutineStmtNode)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("endSubroutineStmt");
-                    if (node.endSubroutineStmt != null) node.endSubroutineStmt.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionInterfaceRange1392(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("subprogramInterfaceBody", (IASTListNode<ISpecificationPartConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endFunctionStmt", (ASTEndFunctionStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("subprogramInterfaceBody")));
-                    embeddedList.add((IASTNode)(node.get("endFunctionStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleFunctionInterfaceRange1393(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endFunctionStmt", (ASTEndFunctionStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("subprogramInterfaceBody")));
-                    embeddedList.add((IASTNode)(node.get("endFunctionStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubroutineInterfaceRange1394(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("subprogramInterfaceBody", (IASTListNode<ISpecificationPartConstruct>)valueStack.get(valueStackOffset + 0));
-                    node.put("endSubroutineStmt", (ASTEndSubroutineStmtNode)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("subprogramInterfaceBody")));
-                    embeddedList.add((IASTNode)(node.get("endSubroutineStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubroutineInterfaceRange1395(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endSubroutineStmt", (ASTEndSubroutineStmtNode)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("subprogramInterfaceBody")));
-                    embeddedList.add((IASTNode)(node.get("endSubroutineStmt")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubprogramInterfaceBody1396(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<ISpecificationPartConstruct> list = new ASTListNode<ISpecificationPartConstruct>();
-                    ISpecificationPartConstruct elt = (ISpecificationPartConstruct)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSubprogramInterfaceBody1397(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<ISpecificationPartConstruct> list = (IASTListNode<ISpecificationPartConstruct>)valueStack.get(valueStackOffset);
-                    ISpecificationPartConstruct elt = (ISpecificationPartConstruct)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleModuleProcedureStmt1398(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTModuleProcedureStmtNode node = new ASTModuleProcedureStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTModule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTModule != null) node.hiddenTModule.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.procedureNameList = (IASTListNode<ASTProcedureNameListNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.procedureNameList != null) node.procedureNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcedureNameList1399(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTProcedureNameListNode node = new ASTProcedureNameListNode();
-                    node.procedureName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("procedureName");
-                    if (node.procedureName != null) node.procedureName.setParent(node);
-                    ASTListNode<ASTProcedureNameListNode> list = new ASTListNode<ASTProcedureNameListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleProcedureNameList1400(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTProcedureNameListNode node = new ASTProcedureNameListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.procedureName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("procedureName");
-                    if (node.procedureName != null) node.procedureName.setParent(node);
-                    ASTListNode<ASTProcedureNameListNode> list = (ASTListNode<ASTProcedureNameListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleProcedureName1401(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("procedureName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("procedureName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleGenericSpec1402(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTGenericSpecNode node = new ASTGenericSpecNode();
-                    node.isDefinedOperator = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDefinedOperator != null) node.isDefinedOperator.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.definedOperator = (IDefinedOperator)valueStack.get(valueStackOffset + 2);
-                    if (node.definedOperator != null) node.definedOperator.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleGenericSpec1403(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTGenericSpecNode node = new ASTGenericSpecNode();
-                    node.isAssignmentOperator = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isAssignmentOperator != null) node.isAssignmentOperator.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.equalsToken = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.equalsToken != null) node.equalsToken.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleGenericSpec1404(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTGenericSpecNode node = new ASTGenericSpecNode();
-                    node.isDerivedTypeIO = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDerivedTypeIO != null) node.isDerivedTypeIO.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.formattingSpec = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.formattingSpec != null) node.formattingSpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleGenericSpec1405(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTGenericSpecNode node = new ASTGenericSpecNode();
-                    node.isDerivedTypeIO = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isDerivedTypeIO != null) node.isDerivedTypeIO.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.formattingSpec = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.formattingSpec != null) node.formattingSpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleImportStmt1406(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTImportStmtNode node = new ASTImportStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTImport = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTImport != null) node.hiddenTImport.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleImportStmt1407(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTImportStmtNode node = new ASTImportStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTImport = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTImport != null) node.hiddenTImport.setParent(node);
-                    node.importList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 2);
-                    if (node.importList != null) node.importList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleImportStmt1408(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTImportStmtNode node = new ASTImportStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTImport = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTImport != null) node.hiddenTImport.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.importList = (IASTListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset + 4);
-                    if (node.importList != null) node.importList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleImportList1409(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token> list = new ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token>();
-                    org.eclipse.photran.internal.core.lexer.Token elt = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleImportList1410(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token> list = (ASTSeparatedListNode<org.eclipse.photran.internal.core.lexer.Token>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    org.eclipse.photran.internal.core.lexer.Token elt = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleProcedureDeclarationStmt1411(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcedureDeclarationStmtNode node = new ASTProcedureDeclarationStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.procInterface = (ASTProcInterfaceNode)valueStack.get(valueStackOffset + 3);
-                    if (node.procInterface != null) node.procInterface.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.procAttrSpecList = (IASTListNode<ASTAttrSpecNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.procAttrSpecList != null) node.procAttrSpecList.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.procDeclList = (IASTListNode<ASTProcDeclNode>)valueStack.get(valueStackOffset + 9);
-                    if (node.procDeclList != null) node.procDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcedureDeclarationStmt1412(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcedureDeclarationStmtNode node = new ASTProcedureDeclarationStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.procInterface = (ASTProcInterfaceNode)valueStack.get(valueStackOffset + 3);
-                    if (node.procInterface != null) node.procInterface.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.procDeclList = (IASTListNode<ASTProcDeclNode>)valueStack.get(valueStackOffset + 7);
-                    if (node.procDeclList != null) node.procDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcedureDeclarationStmt1413(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcedureDeclarationStmtNode node = new ASTProcedureDeclarationStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.procInterface = (ASTProcInterfaceNode)valueStack.get(valueStackOffset + 3);
-                    if (node.procInterface != null) node.procInterface.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.procDeclList = (IASTListNode<ASTProcDeclNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.procDeclList != null) node.procDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcedureDeclarationStmt1414(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcedureDeclarationStmtNode node = new ASTProcedureDeclarationStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.procAttrSpecList = (IASTListNode<ASTAttrSpecNode>)valueStack.get(valueStackOffset + 5);
-                    if (node.procAttrSpecList != null) node.procAttrSpecList.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.procDeclList = (IASTListNode<ASTProcDeclNode>)valueStack.get(valueStackOffset + 8);
-                    if (node.procDeclList != null) node.procDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcedureDeclarationStmt1415(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcedureDeclarationStmtNode node = new ASTProcedureDeclarationStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.procDeclList = (IASTListNode<ASTProcDeclNode>)valueStack.get(valueStackOffset + 6);
-                    if (node.procDeclList != null) node.procDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcedureDeclarationStmt1416(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProcedureDeclarationStmtNode node = new ASTProcedureDeclarationStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTProcedure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTProcedure != null) node.hiddenTProcedure.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.procDeclList = (IASTListNode<ASTProcDeclNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.procDeclList != null) node.procDeclList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcAttrSpecList1417(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTAttrSpecNode> list = new ASTSeparatedListNode<ASTAttrSpecNode>();
-                    ASTAttrSpecNode elt = (ASTAttrSpecNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleProcAttrSpecList1418(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTAttrSpecNode> list = (ASTSeparatedListNode<ASTAttrSpecNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTAttrSpecNode elt = (ASTAttrSpecNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleProcAttrSpec1419(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.accessSpec = (ASTAccessSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.accessSpec != null) node.accessSpec.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcAttrSpec1420(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isIntent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isIntent != null) node.isIntent.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.intentSpec = (ASTIntentSpecNode)valueStack.get(valueStackOffset + 2);
-                    if (node.intentSpec != null) node.intentSpec.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcAttrSpec1421(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isOptional = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isOptional != null) node.isOptional.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcAttrSpec1422(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isPointer = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isPointer != null) node.isPointer.setParent(node);
-                    return node;
-
-        }
-        public Object handleProcAttrSpec1423(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAttrSpecNode node = new ASTAttrSpecNode();
-                    node.isSave = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isSave != null) node.isSave.setParent(node);
-                    return node;
-
-        }
-        public Object handleExternalStmt1424(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTExternalStmtNode node = new ASTExternalStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTExternal = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTExternal != null) node.hiddenTExternal.setParent(node);
-                    node.externalNameList = (IASTListNode<ASTExternalNameListNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.externalNameList != null) node.externalNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleExternalStmt1425(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTExternalStmtNode node = new ASTExternalStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTExternal = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTExternal != null) node.hiddenTExternal.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.externalNameList = (IASTListNode<ASTExternalNameListNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.externalNameList != null) node.externalNameList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleExternalNameList1426(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTExternalNameListNode node = new ASTExternalNameListNode();
-                    node.externalName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("externalName");
-                    if (node.externalName != null) node.externalName.setParent(node);
-                    ASTListNode<ASTExternalNameListNode> list = new ASTListNode<ASTExternalNameListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleExternalNameList1427(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTExternalNameListNode node = new ASTExternalNameListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.externalName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("externalName");
-                    if (node.externalName != null) node.externalName.setParent(node);
-                    ASTListNode<ASTExternalNameListNode> list = (ASTListNode<ASTExternalNameListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleIntrinsicStmt1428(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIntrinsicStmtNode node = new ASTIntrinsicStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTIntrinsic = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTIntrinsic != null) node.hiddenTIntrinsic.setParent(node);
-                    node.intrinsicList = (IASTListNode<ASTIntrinsicListNode>)valueStack.get(valueStackOffset + 2);
-                    if (node.intrinsicList != null) node.intrinsicList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleIntrinsicStmt1429(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIntrinsicStmtNode node = new ASTIntrinsicStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTIntrinsic = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTIntrinsic != null) node.hiddenTIntrinsic.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTColon2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTColon2 != null) node.hiddenTColon2.setParent(node);
-                    node.intrinsicList = (IASTListNode<ASTIntrinsicListNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.intrinsicList != null) node.intrinsicList.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleIntrinsicList1430(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTIntrinsicListNode node = new ASTIntrinsicListNode();
-                    node.intrinsicProcedureName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("intrinsicProcedureName");
-                    if (node.intrinsicProcedureName != null) node.intrinsicProcedureName.setParent(node);
-                    ASTListNode<ASTIntrinsicListNode> list = new ASTListNode<ASTIntrinsicListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleIntrinsicList1431(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTIntrinsicListNode node = new ASTIntrinsicListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.intrinsicProcedureName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("intrinsicProcedureName");
-                    if (node.intrinsicProcedureName != null) node.intrinsicProcedureName.setParent(node);
-                    ASTListNode<ASTIntrinsicListNode> list = (ASTListNode<ASTIntrinsicListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFunctionReference1432(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleFunctionReference1433(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.put("name", tmp0);
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("functionArgList", (IASTListNode<ASTFunctionArgListNode>)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("functionArgList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleCallStmt1434(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCallStmtNode node = new ASTCallStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCall != null) node.hiddenTCall.setParent(node);
-                    node.subroutineName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("subroutineName");
-                    if (node.subroutineName != null) node.subroutineName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCallStmt1435(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCallStmtNode node = new ASTCallStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCall != null) node.hiddenTCall.setParent(node);
-                    node.subroutineName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("subroutineName");
-                    if (node.subroutineName != null) node.subroutineName.setParent(node);
-                    node.derivedTypeQualifiers = (IASTListNode<ASTDerivedTypeQualifiersNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeQualifiers != null) node.derivedTypeQualifiers.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCallStmt1436(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCallStmtNode node = new ASTCallStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCall != null) node.hiddenTCall.setParent(node);
-                    node.subroutineName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("subroutineName");
-                    if (node.subroutineName != null) node.subroutineName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.argList = (IASTListNode<ASTSubroutineArgNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("argList");
-                    if (node.argList != null) node.argList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleCallStmt1437(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCallStmtNode node = new ASTCallStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCall != null) node.hiddenTCall.setParent(node);
-                    node.subroutineName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("subroutineName");
-                    if (node.subroutineName != null) node.subroutineName.setParent(node);
-                    node.derivedTypeQualifiers = (IASTListNode<ASTDerivedTypeQualifiersNode>)valueStack.get(valueStackOffset + 3);
-                    if (node.derivedTypeQualifiers != null) node.derivedTypeQualifiers.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.argList = (IASTListNode<ASTSubroutineArgNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("argList");
-                    if (node.argList != null) node.argList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleDerivedTypeQualifiers1438(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTDerivedTypeQualifiersNode node = new ASTDerivedTypeQualifiersNode();
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    ASTListNode<ASTDerivedTypeQualifiersNode> list = new ASTListNode<ASTDerivedTypeQualifiersNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDerivedTypeQualifiers1439(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTDerivedTypeQualifiersNode node = new ASTDerivedTypeQualifiersNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.argList = (IASTListNode<ASTSubroutineArgNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("argList");
-                    if (node.argList != null) node.argList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    ASTListNode<ASTDerivedTypeQualifiersNode> list = new ASTListNode<ASTDerivedTypeQualifiersNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDerivedTypeQualifiers1440(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTDerivedTypeQualifiersNode node = new ASTDerivedTypeQualifiersNode();
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    ASTListNode<ASTDerivedTypeQualifiersNode> list = (ASTListNode<ASTDerivedTypeQualifiersNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleDerivedTypeQualifiers1441(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTDerivedTypeQualifiersNode node = new ASTDerivedTypeQualifiersNode();
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.argList = (IASTListNode<ASTSubroutineArgNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("argList");
-                    if (node.argList != null) node.argList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTPercent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTPercent != null) node.hiddenTPercent.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    ASTListNode<ASTDerivedTypeQualifiersNode> list = (ASTListNode<ASTDerivedTypeQualifiersNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleParenthesizedSubroutineArgList1442(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("argList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleParenthesizedSubroutineArgList1443(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("argList", (IASTListNode<ASTSubroutineArgNode>)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("argList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubroutineArgList1444(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTSubroutineArgNode> list = new ASTSeparatedListNode<ASTSubroutineArgNode>();
-                    ASTSubroutineArgNode elt = (ASTSubroutineArgNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSubroutineArgList1445(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTSubroutineArgNode> list = (ASTSeparatedListNode<ASTSubroutineArgNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTSubroutineArgNode elt = (ASTSubroutineArgNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleFunctionArgList1446(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTFunctionArgListNode node = new ASTFunctionArgListNode();
-                    node.functionArg = (ASTFunctionArgNode)valueStack.get(valueStackOffset + 0);
-                    if (node.functionArg != null) node.functionArg.setParent(node);
-                    ASTListNode<ASTFunctionArgListNode> list = new ASTListNode<ASTFunctionArgListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFunctionArgList1447(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTFunctionArgListNode node = new ASTFunctionArgListNode();
-                    node.sectionSubscriptList = (IASTListNode<ASTSectionSubscriptNode>)valueStack.get(valueStackOffset + 0);
-                    if (node.sectionSubscriptList != null) node.sectionSubscriptList.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.functionArg = (ASTFunctionArgNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionArg != null) node.functionArg.setParent(node);
-                    ASTListNode<ASTFunctionArgListNode> list = new ASTListNode<ASTFunctionArgListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFunctionArgList1448(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTFunctionArgListNode node = new ASTFunctionArgListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.functionArg = (ASTFunctionArgNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionArg != null) node.functionArg.setParent(node);
-                    ASTListNode<ASTFunctionArgListNode> list = (ASTListNode<ASTFunctionArgListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleFunctionArg1449(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionArgNode node = new ASTFunctionArgNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineArg1450(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineArgNode node = new ASTSubroutineArgNode();
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 0);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineArg1451(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineArgNode node = new ASTSubroutineArgNode();
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineArg1452(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineArgNode node = new ASTSubroutineArgNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.expr != null) node.expr.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineArg1453(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineArgNode node = new ASTSubroutineArgNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.hiddenTAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTAsterisk != null) node.hiddenTAsterisk.setParent(node);
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineArg1454(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineArgNode node = new ASTSubroutineArgNode();
-                    node.hollerith = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.hollerith != null) node.hollerith.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineArg1455(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineArgNode node = new ASTSubroutineArgNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.hollerith = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hollerith != null) node.hollerith.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionStmt1456(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionStmtNode node = new ASTFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTFunction");
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.functionName = (ASTFunctionNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionStmt1457(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionStmtNode node = new ASTFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTFunction");
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.functionName = (ASTFunctionNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hasResultClause = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hasResultClause != null) node.hasResultClause.setParent(node);
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 7)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTRparen2 != null) node.hiddenTRparen2.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionStmt1458(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionStmtNode node = new ASTFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTFunction");
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.functionName = (ASTFunctionNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionPars = (IASTListNode<ASTFunctionParNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.functionPars != null) node.functionPars.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionStmt1459(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionStmtNode node = new ASTFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTFunction");
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.functionName = (ASTFunctionNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionPars = (IASTListNode<ASTFunctionParNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.functionPars != null) node.functionPars.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hasResultClause = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hasResultClause != null) node.hasResultClause.setParent(node);
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTRparen2 != null) node.hiddenTRparen2.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionStmt1460(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionStmtNode node = new ASTFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTFunction");
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.functionName = (ASTFunctionNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenHiddenTBind8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenHiddenTBind8 != null) node.hiddenHiddenTBind8.setParent(node);
-                    node.hiddenHiddenLParen8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenHiddenLParen8 != null) node.hiddenHiddenLParen8.setParent(node);
-                    node.hiddenHiddenTIdent8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenHiddenTIdent8 != null) node.hiddenHiddenTIdent8.setParent(node);
-                    node.hiddenHiddenRParen8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenHiddenRParen8 != null) node.hiddenHiddenRParen8.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionStmt1461(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionStmtNode node = new ASTFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTFunction");
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.functionName = (ASTFunctionNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenHiddenTBind8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenHiddenTBind8 != null) node.hiddenHiddenTBind8.setParent(node);
-                    node.hiddenHiddenLParen8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenHiddenLParen8 != null) node.hiddenHiddenLParen8.setParent(node);
-                    node.hiddenHiddenTIdent8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenHiddenTIdent8 != null) node.hiddenHiddenTIdent8.setParent(node);
-                    node.hiddenHiddenRParen8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenHiddenRParen8 != null) node.hiddenHiddenRParen8.setParent(node);
-                    node.hasResultClause = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hasResultClause != null) node.hasResultClause.setParent(node);
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 11)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 12);
-                    if (node.hiddenTRparen2 != null) node.hiddenTRparen2.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 13);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionStmt1462(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionStmtNode node = new ASTFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTFunction");
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.functionName = (ASTFunctionNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionPars = (IASTListNode<ASTFunctionParNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.functionPars != null) node.functionPars.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenHiddenTBind8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenHiddenTBind8 != null) node.hiddenHiddenTBind8.setParent(node);
-                    node.hiddenHiddenLParen8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenHiddenLParen8 != null) node.hiddenHiddenLParen8.setParent(node);
-                    node.hiddenHiddenTIdent8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenHiddenTIdent8 != null) node.hiddenHiddenTIdent8.setParent(node);
-                    node.hiddenHiddenRParen8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenHiddenRParen8 != null) node.hiddenHiddenRParen8.setParent(node);
-                    node.hasResultClause = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hasResultClause != null) node.hasResultClause.setParent(node);
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 11);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 12)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 13);
-                    if (node.hiddenTRparen2 != null) node.hiddenTRparen2.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 14);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionStmt1463(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionStmtNode node = new ASTFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTFunction");
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.functionName = (ASTFunctionNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hasResultClause = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hasResultClause != null) node.hasResultClause.setParent(node);
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 7)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTRparen2 != null) node.hiddenTRparen2.setParent(node);
-                    node.hiddenHiddenTBind9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenHiddenTBind9 != null) node.hiddenHiddenTBind9.setParent(node);
-                    node.hiddenHiddenLParen9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenHiddenLParen9 != null) node.hiddenHiddenLParen9.setParent(node);
-                    node.hiddenHiddenTIdent9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 11);
-                    if (node.hiddenHiddenTIdent9 != null) node.hiddenHiddenTIdent9.setParent(node);
-                    node.hiddenHiddenRParen9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 12);
-                    if (node.hiddenHiddenRParen9 != null) node.hiddenHiddenRParen9.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 13);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionStmt1464(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionStmtNode node = new ASTFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTFunction");
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.functionName = (ASTFunctionNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionPars = (IASTListNode<ASTFunctionParNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.functionPars != null) node.functionPars.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenHiddenTBind8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenHiddenTBind8 != null) node.hiddenHiddenTBind8.setParent(node);
-                    node.hiddenHiddenLParen8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenHiddenLParen8 != null) node.hiddenHiddenLParen8.setParent(node);
-                    node.hiddenHiddenTIdent8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenHiddenTIdent8 != null) node.hiddenHiddenTIdent8.setParent(node);
-                    node.hiddenHiddenRParen8 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenHiddenRParen8 != null) node.hiddenHiddenRParen8.setParent(node);
-                    node.hiddenHiddenTBind9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenHiddenTBind9 != null) node.hiddenHiddenTBind9.setParent(node);
-                    node.hiddenHiddenLParen9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 11);
-                    if (node.hiddenHiddenLParen9 != null) node.hiddenHiddenLParen9.setParent(node);
-                    node.hiddenHiddenTIdent9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 12);
-                    if (node.hiddenHiddenTIdent9 != null) node.hiddenHiddenTIdent9.setParent(node);
-                    node.hiddenHiddenRParen9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 13);
-                    if (node.hiddenHiddenRParen9 != null) node.hiddenHiddenRParen9.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 14);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionStmt1465(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionStmtNode node = new ASTFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTFunction");
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.functionName = (ASTFunctionNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.functionPars = (IASTListNode<ASTFunctionParNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.functionPars != null) node.functionPars.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hasResultClause = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hasResultClause != null) node.hasResultClause.setParent(node);
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 8)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTRparen2 != null) node.hiddenTRparen2.setParent(node);
-                    node.hiddenHiddenTBind9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenHiddenTBind9 != null) node.hiddenHiddenTBind9.setParent(node);
-                    node.hiddenHiddenLParen9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 11);
-                    if (node.hiddenHiddenLParen9 != null) node.hiddenHiddenLParen9.setParent(node);
-                    node.hiddenHiddenTIdent9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 12);
-                    if (node.hiddenHiddenTIdent9 != null) node.hiddenHiddenTIdent9.setParent(node);
-                    node.hiddenHiddenRParen9 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 13);
-                    if (node.hiddenHiddenRParen9 != null) node.hiddenHiddenRParen9.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 14);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionPars1466(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTFunctionParNode> list = new ASTSeparatedListNode<ASTFunctionParNode>();
-                    ASTFunctionParNode elt = (ASTFunctionParNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleFunctionPars1467(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTFunctionParNode> list = (ASTSeparatedListNode<ASTFunctionParNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTFunctionParNode elt = (ASTFunctionParNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleFunctionPar1468(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionParNode node = new ASTFunctionParNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionPrefix1469(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTFunction", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("prefixSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTFunction")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleFunctionPrefix1470(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("prefixSpecList", (IASTListNode<ASTPrefixSpecNode>)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTFunction", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("prefixSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTFunction")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handlePrefixSpecList1471(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7
-                    IASTListNode<ASTPrefixSpecNode> list = new ASTListNode<ASTPrefixSpecNode>();
-                    ASTPrefixSpecNode elt = (ASTPrefixSpecNode)valueStack.get(valueStackOffset + 0);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handlePrefixSpecList1472(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8
-                    IASTListNode<ASTPrefixSpecNode> list = (IASTListNode<ASTPrefixSpecNode>)valueStack.get(valueStackOffset);
-                    ASTPrefixSpecNode elt = (ASTPrefixSpecNode)valueStack.get(valueStackOffset + 1);
-                    list.add(elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handlePrefixSpec1473(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPrefixSpecNode node = new ASTPrefixSpecNode();
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 0);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrefixSpec1474(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPrefixSpecNode node = new ASTPrefixSpecNode();
-                    node.isRecursive = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isRecursive != null) node.isRecursive.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrefixSpec1475(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPrefixSpecNode node = new ASTPrefixSpecNode();
-                    node.isPure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isPure != null) node.isPure.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrefixSpec1476(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPrefixSpecNode node = new ASTPrefixSpecNode();
-                    node.isElemental = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isElemental != null) node.isElemental.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrefixSpec1477(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPrefixSpecNode node = new ASTPrefixSpecNode();
-                    node.isImpure = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isImpure != null) node.isImpure.setParent(node);
-                    return node;
-
-        }
-        public Object handlePrefixSpec1478(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPrefixSpecNode node = new ASTPrefixSpecNode();
-                    node.isModule = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isModule != null) node.isModule.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndFunctionStmt1479(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndFunctionStmtNode node = new ASTEndFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndFunctionStmt1480(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndFunctionStmtNode node = new ASTEndFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndfunction = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndfunction != null) node.hiddenTEndfunction.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndFunctionStmt1481(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndFunctionStmtNode node = new ASTEndFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndfunction = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndfunction != null) node.hiddenTEndfunction.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndFunctionStmt1482(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndFunctionStmtNode node = new ASTEndFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndFunctionStmt1483(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndFunctionStmtNode node = new ASTEndFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineStmt1484(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineStmtNode node = new ASTSubroutineStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTSubroutine = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTSubroutine");
-                    if (node.hiddenTSubroutine != null) node.hiddenTSubroutine.setParent(node);
-                    node.subroutineName = (ASTSubroutineNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.subroutineName != null) node.subroutineName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineStmt1485(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineStmtNode node = new ASTSubroutineStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTSubroutine = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTSubroutine");
-                    if (node.hiddenTSubroutine != null) node.hiddenTSubroutine.setParent(node);
-                    node.subroutineName = (ASTSubroutineNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.subroutineName != null) node.subroutineName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineStmt1486(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineStmtNode node = new ASTSubroutineStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTSubroutine = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTSubroutine");
-                    if (node.hiddenTSubroutine != null) node.hiddenTSubroutine.setParent(node);
-                    node.subroutineName = (ASTSubroutineNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.subroutineName != null) node.subroutineName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.subroutinePars = (IASTListNode<ASTSubroutineParNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.subroutinePars != null) node.subroutinePars.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineStmt1487(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineStmtNode node = new ASTSubroutineStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTSubroutine = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTSubroutine");
-                    if (node.hiddenTSubroutine != null) node.hiddenTSubroutine.setParent(node);
-                    node.subroutineName = (ASTSubroutineNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.subroutineName != null) node.subroutineName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTBind = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTBind != null) node.hiddenTBind.setParent(node);
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.hiddenTIdent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTIdent != null) node.hiddenTIdent.setParent(node);
-                    node.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTRparen2 != null) node.hiddenTRparen2.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineStmt1488(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineStmtNode node = new ASTSubroutineStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTSubroutine = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTSubroutine");
-                    if (node.hiddenTSubroutine != null) node.hiddenTSubroutine.setParent(node);
-                    node.subroutineName = (ASTSubroutineNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.subroutineName != null) node.subroutineName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.subroutinePars = (IASTListNode<ASTSubroutineParNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.subroutinePars != null) node.subroutinePars.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTBind = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTBind != null) node.hiddenTBind.setParent(node);
-                    node.hiddenTLparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 7);
-                    if (node.hiddenTLparen2 != null) node.hiddenTLparen2.setParent(node);
-                    node.hiddenTIdent = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 8);
-                    if (node.hiddenTIdent != null) node.hiddenTIdent.setParent(node);
-                    node.hiddenTRparen2 = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 9);
-                    if (node.hiddenTRparen2 != null) node.hiddenTRparen2.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 10);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutinePrefix1489(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTSubroutine", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("prefixSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTSubroutine")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubroutinePrefix1490(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("prefixSpecList", (IASTListNode<ASTPrefixSpecNode>)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTSubroutine", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("prefixSpecList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTSubroutine")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSubroutinePars1491(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 7 with separator
-                    ASTSeparatedListNode<ASTSubroutineParNode> list = new ASTSeparatedListNode<ASTSubroutineParNode>();
-                    ASTSubroutineParNode elt = (ASTSubroutineParNode)valueStack.get(valueStackOffset + 0);
-                    list.add(null, elt);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSubroutinePars1492(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 8 with separator
-                    ASTSeparatedListNode<ASTSubroutineParNode> list = (ASTSeparatedListNode<ASTSubroutineParNode>)valueStack.get(valueStackOffset);
-                    org.eclipse.photran.internal.core.lexer.Token token = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    ASTSubroutineParNode elt = (ASTSubroutineParNode)valueStack.get(valueStackOffset + 2);
-                    list.add(token, elt);
-                    token.setParent(list);
-                    if (elt != null) elt.setParent(list);
-                    return list;
-
-        }
-        public Object handleSubroutinePar1493(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineParNode node = new ASTSubroutineParNode();
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutinePar1494(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineParNode node = new ASTSubroutineParNode();
-                    node.isAsterisk = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.isAsterisk != null) node.isAsterisk.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSubroutineStmt1495(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSubroutineStmtNode node = new ASTEndSubroutineStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSubroutineStmt1496(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSubroutineStmtNode node = new ASTEndSubroutineStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndsubroutine = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndsubroutine != null) node.hiddenTEndsubroutine.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSubroutineStmt1497(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSubroutineStmtNode node = new ASTEndSubroutineStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEndsubroutine = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEndsubroutine != null) node.hiddenTEndsubroutine.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSubroutineStmt1498(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSubroutineStmtNode node = new ASTEndSubroutineStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTSubroutine = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTSubroutine != null) node.hiddenTSubroutine.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEndSubroutineStmt1499(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEndSubroutineStmtNode node = new ASTEndSubroutineStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEnd = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEnd != null) node.hiddenTEnd.setParent(node);
-                    node.hiddenTSubroutine = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTSubroutine != null) node.hiddenTSubroutine.setParent(node);
-                    node.endName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 3)).get("endName");
-                    if (node.endName != null) node.endName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntryStmt1500(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntryStmtNode node = new ASTEntryStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEntry = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEntry != null) node.hiddenTEntry.setParent(node);
-                    node.entryName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("entryName");
-                    if (node.entryName != null) node.entryName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleEntryStmt1501(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTEntryStmtNode node = new ASTEntryStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTEntry = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTEntry != null) node.hiddenTEntry.setParent(node);
-                    node.entryName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("entryName");
-                    if (node.entryName != null) node.entryName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.subroutinePars = (IASTListNode<ASTSubroutineParNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.subroutinePars != null) node.subroutinePars.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleReturnStmt1502(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTReturnStmtNode node = new ASTReturnStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTReturn = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTReturn != null) node.hiddenTReturn.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleReturnStmt1503(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTReturnStmtNode node = new ASTReturnStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTReturn = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTReturn != null) node.hiddenTReturn.setParent(node);
-                    node.expr = (IExpr)valueStack.get(valueStackOffset + 2);
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleContainsStmt1504(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTContainsStmtNode node = new ASTContainsStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTContains = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTContains != null) node.hiddenTContains.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleStmtFunctionStmt1505(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTStmtFunctionStmtNode node = new ASTStmtFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.name = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTLparen");
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.SFDummyArgNameList = (IASTListNode<ASTSFDummyArgNameListNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("SFDummyArgNameList");
-                    if (node.SFDummyArgNameList != null) node.SFDummyArgNameList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTRparen");
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEquals = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTEquals");
-                    if (node.hiddenTEquals != null) node.hiddenTEquals.setParent(node);
-                    node.expr = (IExpr)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("expr");
-                    if (node.expr != null) node.expr.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTEos");
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleStmtFunctionRange1506(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTEquals", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    node.put("expr", (IExpr)valueStack.get(valueStackOffset + 3));
-                    node.put("hiddenTEos", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("SFDummyArgNameList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTEquals")));
-                    embeddedList.add((IASTNode)(node.get("expr")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTEos")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleStmtFunctionRange1507(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("hiddenTLparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    node.put("SFDummyArgNameList", (IASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset + 1));
-                    node.put("hiddenTRparen", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2));
-                    node.put("hiddenTEquals", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3));
-                    node.put("expr", (IExpr)valueStack.get(valueStackOffset + 4));
-                    node.put("hiddenTEos", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("hiddenTLparen")));
-                    embeddedList.add((IASTNode)(node.get("SFDummyArgNameList")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTRparen")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTEquals")));
-                    embeddedList.add((IASTNode)(node.get("expr")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTEos")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSFDummyArgNameList1508(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 10
-                    ASTSFDummyArgNameListNode node = new ASTSFDummyArgNameListNode();
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    ASTListNode<ASTSFDummyArgNameListNode> list = new ASTListNode<ASTSFDummyArgNameListNode>();
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleSFDummyArgNameList1509(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Case 11
-                    ASTSFDummyArgNameListNode node = new ASTSFDummyArgNameListNode();
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    ASTListNode<ASTSFDummyArgNameListNode> list = (ASTListNode<ASTSFDummyArgNameListNode>)valueStack.get(valueStackOffset);
-                    list.add(node);
-                    node.setParent(list);
-                    return list;
-
-        }
-        public Object handleArrayName1510(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("arrayName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("arrayName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleBlockDataName1511(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTBlockDataNameNode node = new ASTBlockDataNameNode();
-                    node.blockDataName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.blockDataName != null) node.blockDataName.setParent(node);
-                    return node;
-
-        }
-        public Object handleCommonBlockName1512(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("commonBlockName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("commonBlockName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleComponentName1513(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTComponentNameNode node = new ASTComponentNameNode();
-                    node.componentName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.componentName != null) node.componentName.setParent(node);
-                    return node;
-
-        }
-        public Object handleDummyArgName1514(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("variableName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("variableName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleEndName1515(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("endName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("endName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleEntryName1516(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("entryName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("entryName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleExternalName1517(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("externalName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("externalName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleFunctionName1518(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionNameNode node = new ASTFunctionNameNode();
-                    node.functionName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    return node;
-
-        }
-        public Object handleGenericName1519(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTGenericNameNode node = new ASTGenericNameNode();
-                    node.genericName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.genericName != null) node.genericName.setParent(node);
-                    return node;
-
-        }
-        public Object handleImpliedDoVariable1520(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("impliedDoVariable", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("impliedDoVariable")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleIntrinsicProcedureName1521(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("intrinsicProcedureName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("intrinsicProcedureName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleModuleName1522(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTModuleNameNode node = new ASTModuleNameNode();
-                    node.moduleName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.moduleName != null) node.moduleName.setParent(node);
-                    return node;
-
-        }
-        public Object handleNamelistGroupName1523(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("namelistGroupName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("namelistGroupName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleObjectName1524(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTObjectNameNode node = new ASTObjectNameNode();
-                    node.objectName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.objectName != null) node.objectName.setParent(node);
-                    return node;
-
-        }
-        public Object handleProgramName1525(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTProgramNameNode node = new ASTProgramNameNode();
-                    node.programName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.programName != null) node.programName.setParent(node);
-                    return node;
-
-        }
-        public Object handleSFDummyArgName1526(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("name", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name"));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleSFVarName1527(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSFVarNameNode node = new ASTSFVarNameNode();
-                    ASTNameNode tmp0 = new ASTNameNode();
-                    tmp0.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("name");
-                    if (tmp0.name != null) tmp0.name.setParent(tmp0);
-                    node.name = tmp0;
-                    if (tmp0 != null) tmp0.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineName1528(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineNameNode node = new ASTSubroutineNameNode();
-                    node.subroutineName = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0);
-                    if (node.subroutineName != null) node.subroutineName.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineNameUse1529(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("subroutineName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("subroutineName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleTypeName1530(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("typeName", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("typeName")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleUseName1531(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("name", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 0));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("name")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleLblDef1532(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("label")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleLblDef1533(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("label", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label"));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("label")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handlePauseStmt1534(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPauseStmtNode node = new ASTPauseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTPause = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPause != null) node.hiddenTPause.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePauseStmt1535(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPauseStmtNode node = new ASTPauseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTPause = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPause != null) node.hiddenTPause.setParent(node);
-                    node.intConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.intConst != null) node.intConst.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handlePauseStmt1536(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTPauseStmtNode node = new ASTPauseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTPause = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTPause != null) node.hiddenTPause.setParent(node);
-                    node.stringConst = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.stringConst != null) node.stringConst.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignStmt1537(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignStmtNode node = new ASTAssignStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAssign = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAssign != null) node.hiddenTAssign.setParent(node);
-                    ASTLblRefNode tmp2 = new ASTLblRefNode();
-                    tmp2.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("label");
-                    if (tmp2.label != null) tmp2.label.setParent(tmp2);
-                    node.assignedLblRef = tmp2;
-                    if (tmp2 != null) tmp2.setParent(node);
-                    node.hiddenTTo = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTTo != null) node.hiddenTTo.setParent(node);
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 4)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignedGotoStmt1538(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignedGotoStmtNode node = new ASTAssignedGotoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTGoto = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGoto");
-                    if (node.hiddenTGoto != null) node.hiddenTGoto.setParent(node);
-                    node.hiddenTGo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGo");
-                    if (node.hiddenTGo != null) node.hiddenTGo.setParent(node);
-                    node.hiddenTTo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTTo");
-                    if (node.hiddenTTo != null) node.hiddenTTo.setParent(node);
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignedGotoStmt1539(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignedGotoStmtNode node = new ASTAssignedGotoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTGoto = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGoto");
-                    if (node.hiddenTGoto != null) node.hiddenTGoto.setParent(node);
-                    node.hiddenTGo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGo");
-                    if (node.hiddenTGo != null) node.hiddenTGo.setParent(node);
-                    node.hiddenTTo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTTo");
-                    if (node.hiddenTTo != null) node.hiddenTTo.setParent(node);
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lblRefList = (IASTListNode<ASTLblRefListNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.lblRefList != null) node.lblRefList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignedGotoStmt1540(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignedGotoStmtNode node = new ASTAssignedGotoStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTGoto = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGoto");
-                    if (node.hiddenTGoto != null) node.hiddenTGoto.setParent(node);
-                    node.hiddenTGo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTGo");
-                    if (node.hiddenTGo != null) node.hiddenTGo.setParent(node);
-                    node.hiddenTTo = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTTo");
-                    if (node.hiddenTTo != null) node.hiddenTTo.setParent(node);
-                    node.variableName = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("variableName");
-                    if (node.variableName != null) node.variableName.setParent(node);
-                    node.hiddenTComma = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 2)).get("hiddenTComma");
-                    if (node.hiddenTComma != null) node.hiddenTComma.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.lblRefList = (IASTListNode<ASTLblRefListNode>)valueStack.get(valueStackOffset + 4);
-                    if (node.lblRefList != null) node.lblRefList.setParent(node);
-                    node.hiddenTRparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 5);
-                    if (node.hiddenTRparen != null) node.hiddenTRparen.setParent(node);
-                    node.hiddenTEos = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 6);
-                    if (node.hiddenTEos != null) node.hiddenTEos.setParent(node);
-                    return node;
-
-        }
-        public Object handleVariableComma1541(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 3 and 4
-                    Map<String, Object> node = new HashMap<String, Object>();
-                    node.put("variableName", (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("variableName"));
-                    node.put("hiddenTComma", (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1));
-                    ASTListNode<IASTNode> embeddedList = new ASTListNode<IASTNode>();
-                    embeddedList.add((IASTNode)(node.get("variableName")));
-                    embeddedList.add((IASTNode)(node.get("hiddenTComma")));
-                    node.put("errorRecoveryList", embeddedList);
-                    return node;
-
-        }
-        public Object handleProgramUnitError0(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTErrorProgramUnitNode node = new ASTErrorProgramUnitNode();
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleBodyConstructError1(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTErrorConstructNode node = new ASTErrorConstructNode();
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleTypeDeclarationStmtError2(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTTypeDeclarationStmtNode node = new ASTTypeDeclarationStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.typeSpec = (ASTTypeSpecNode)valueStack.get(valueStackOffset + 1);
-                    if (node.typeSpec != null) node.typeSpec.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleDataStmtError3(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTDataStmtNode node = new ASTDataStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTData = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTData != null) node.hiddenTData.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleAllocateStmtError4(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAllocateStmtNode node = new ASTAllocateStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTAllocate = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTAllocate != null) node.hiddenTAllocate.setParent(node);
-                    node.hiddenTLparen = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTLparen != null) node.hiddenTLparen.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleAssignmentStmtError5(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTAssignmentStmtNode node = new ASTAssignmentStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    ASTNameNode tmp1 = new ASTNameNode();
-                    tmp1.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (tmp1.name != null) tmp1.name.setParent(tmp1);
-                    node.lhsVariable = tmp1;
-                    if (tmp1 != null) tmp1.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleForallConstructStmtError6(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTForallConstructStmtNode node = new ASTForallConstructStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTForall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTForall != null) node.hiddenTForall.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleForallConstructStmtError7(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTForallConstructStmtNode node = new ASTForallConstructStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTForall = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTForall != null) node.hiddenTForall.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleIfThenErrorError8(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIfThenErrorNode node = new ASTIfThenErrorNode();
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseIfStmtError9(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseIfStmtNode node = new ASTElseIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElseif = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElseif != null) node.hiddenTElseif.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseIfStmtError10(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseIfStmtNode node = new ASTElseIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElse != null) node.hiddenTElse.setParent(node);
-                    node.hiddenTIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTIf != null) node.hiddenTIf.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleElseStmtError11(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTElseStmtNode node = new ASTElseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTElse = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTElse != null) node.hiddenTElse.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleIfStmtError12(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTIfStmtNode node = new ASTIfStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.tIf = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.tIf != null) node.tIf.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectCaseStmtError13(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectCaseStmtNode node = new ASTSelectCaseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTSelectcase = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTSelectcase != null) node.hiddenTSelectcase.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectCaseStmtError14(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectCaseStmtNode node = new ASTSelectCaseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSelectcase = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSelectcase != null) node.hiddenTSelectcase.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectCaseStmtError15(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectCaseStmtNode node = new ASTSelectCaseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.name = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("name");
-                    if (node.name != null) node.name.setParent(node);
-                    node.hiddenTColon = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTColon != null) node.hiddenTColon.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 3);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.hiddenTCase = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 4);
-                    if (node.hiddenTCase != null) node.hiddenTCase.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleSelectCaseStmtError16(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSelectCaseStmtNode node = new ASTSelectCaseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTSelect = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTSelect != null) node.hiddenTSelect.setParent(node);
-                    node.hiddenTCase = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 2);
-                    if (node.hiddenTCase != null) node.hiddenTCase.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleCaseStmtError17(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTCaseStmtNode node = new ASTCaseStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTCase = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTCase != null) node.hiddenTCase.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleFormatStmtError18(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFormatStmtNode node = new ASTFormatStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.hiddenTFormat = (org.eclipse.photran.internal.core.lexer.Token)valueStack.get(valueStackOffset + 1);
-                    if (node.hiddenTFormat != null) node.hiddenTFormat.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleFunctionStmtError19(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTFunctionStmtNode node = new ASTFunctionStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTFunction = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTFunction");
-                    if (node.hiddenTFunction != null) node.hiddenTFunction.setParent(node);
-                    node.functionName = (ASTFunctionNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.functionName != null) node.functionName.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-        public Object handleSubroutineStmtError20(int productionIndex, List<Object> valueStack, int valueStackOffset, int valueStackSize, ErrorRecoveryInfo errorInfo)
-        {
-                    // Cases 1 and 2
-                    ASTSubroutineStmtNode node = new ASTSubroutineStmtNode();
-                    node.label = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 0)).get("label");
-                    if (node.label != null) node.label.setParent(node);
-                    node.prefixSpecList = (IASTListNode<ASTPrefixSpecNode>)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("prefixSpecList");
-                    if (node.prefixSpecList != null) node.prefixSpecList.setParent(node);
-                    node.hiddenTSubroutine = (org.eclipse.photran.internal.core.lexer.Token)((Map<String, Object>)valueStack.get(valueStackOffset + 1)).get("hiddenTSubroutine");
-                    if (node.hiddenTSubroutine != null) node.hiddenTSubroutine.setParent(node);
-                    node.subroutineName = (ASTSubroutineNameNode)valueStack.get(valueStackOffset + 2);
-                    if (node.subroutineName != null) node.subroutineName.setParent(node);
-                    node.errorInfo = errorInfo;
-                    if (node.getSymbolsDiscardedDuringErrorRecovery() != null)
-                        for (IASTNode n : node.getSymbolsDiscardedDuringErrorRecovery())
-                            if (n != null)
-                                n.setParent(node);
-                    return node;
-
-        }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/Activator.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/Activator.java
deleted file mode 100644
index 391bc5b..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/Activator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- * 
- * @author (generated)
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.photran.core.vpg"; //$NON-NLS-1$
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	@Override public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	@Override public void stop(BundleContext context) throws Exception {
-        PhotranVPG.getInstance().getLog().writeToFile();
-        PhotranVPG.getInstance().close();
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-    
-    public static void log(Throwable e) {
-        log("Error", e); //$NON-NLS-1$
-    }
-
-    public static void log(String message, Throwable e) {
-        log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, message, e));
-    }
-
-    public static void log(IStatus status) {
-        getDefault().getLog().log(status);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Binder.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Binder.java
deleted file mode 100644
index a1a726b..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Binder.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import java.io.PrintStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGWriter;
-
-/**
- * Performs name-binding analysis on a Fortran file, storing the results in the VPG.
- * <p>
- * This class should only be invoked by {@link PhotranVPGWriter}; clients should use
- * {@link Token#resolveBinding()} and related methods to look up binding information.
- * 
- * @author Jeff Overbey
- */
-public class Binder
-{
-    private Binder() {}
-
-    private static Map<Class<?>, Long> avgTimes = new HashMap<Class<?>, Long>();
-    private static Map<Class<?>, Long> counts = new HashMap<Class<?>, Long>();
-
-    private static Map<Class<?>, Long> maxTimes = new HashMap<Class<?>, Long>();
-    private static Map<Class<?>, String> maxFiles = new HashMap<Class<?>, String>();
-
-    public static void bind(IFortranAST ast, IFile file)
-    {
-        // Name-binding analysis                    Logging/timing
-        // =======================================  ===========================================================
-        PhotranVPGWriter vpg = PhotranVPG.getProvider();  String filename = file.getName();
-                                                    StringBuilder sb = new StringBuilder("  - Binder#bind: "); //$NON-NLS-1$
-        
-                                                    long start = System.currentTimeMillis();
-        ast.accept(new ImplicitSpecCollector());    logTime(start, ImplicitSpecCollector.class, filename);
-        
-                                                    start = System.currentTimeMillis();
-        ast.accept(new PrivateCollector());         logTime(start, PrivateCollector.class, filename);
-        
-                                                    start = System.currentTimeMillis();
-        ast.accept(new DefinitionCollector(file));  logTime(start, DefinitionCollector.class, filename);
-        
-                                                    start = System.currentTimeMillis();
-        ast.accept(new SpecificationCollector());   logTime(start, SpecificationCollector.class, filename);
-        
-                                                    start = System.currentTimeMillis();
-        ast.accept(new SubprogramTypeCollector());  logTime(start, SubprogramTypeCollector.class, filename);
-
-                                                    start = System.currentTimeMillis();
-        ast.accept(new ModuleLoader(file));         logTime(start, ModuleLoader.class, filename);
-        // TODO: Type check here so derived type components can be resolved
-                                                    start = System.currentTimeMillis();
-        vpg.enableDefinitionCaching();
-        ast.accept(new ReferenceCollector());
-        vpg.disableDefinitionCaching();             logTime(start, ReferenceCollector.class, filename);
-                                                    PhotranVPG.getInstance().debug(sb.toString(), ""); //$NON-NLS-1$
-    }
-
-//    public static void bindLazy(IFortranAST ast, IFile file)
-//    {
-//        // Name-binding analysis                    Logging/timing
-//        // =======================================  ===========================================================
-//        PhotranVPGContentProvider vpg = PhotranVPG.getProvider();  String filename = file.getName();
-//                                                    StringBuilder sb = new StringBuilder("  - Binder#bindLazy: "); //$NON-NLS-1$
-//        
-//                                                    long start = System.currentTimeMillis();
-//        ast.accept(new ModuleLoader(file));         logTime(start, ModuleLoader.class, filename);
-//        // TODO: Type check here so derived type components can be resolved
-//                                                    start = System.currentTimeMillis();
-//        vpg.enableDefinitionCaching();
-//        ast.accept(new ReferenceCollector());
-//        vpg.disableDefinitionCaching();             logTime(start, ReferenceCollector.class, filename);
-//                                                    PhotranVPG.getInstance().debug(sb.toString(), ""); //$NON-NLS-1$
-//    }
-
-    private static void logTime(long start, Class<?> clazz, String filename)
-    {
-        long elapsed = System.currentTimeMillis() - start;
-        
-        long oldCount = counts.containsKey(clazz) ? counts.get(clazz) : 0L;
-        long oldAvgTime = avgTimes.containsKey(clazz) ? avgTimes.get(clazz) : 0L;
-        
-        /*              a + b
-         * oldAvgTime = -----
-         *                2
-         *                          ( a + b )
-         *                         (  -----  ) * 2 + c
-         *              a + b + c   (   2   )
-         * newAvgTime = --------- = ------------------
-         *                  3                3
-         */
-        long newAvgTime = (oldAvgTime * oldCount + elapsed) / (oldCount + 1);
-        
-        counts.put(clazz, oldCount+1);
-        avgTimes.put(clazz, newAvgTime);
-        
-        long oldMaxTime = maxTimes.containsKey(clazz) ? maxTimes.get(clazz) : 0L;
-        if (elapsed > oldMaxTime)
-        {
-            maxTimes.put(clazz, elapsed);
-            maxFiles.put(clazz, filename);
-        }
-    }
-    
-    public static long getAvgTime(Class<?> clazz)
-    {
-        return avgTimes.containsKey(clazz) ? avgTimes.get(clazz) : 0L;
-    }
-
-    public static void printStatisticsOn(PrintStream ps)
-    {
-        ps.println("Name Binding Analysis Statistics:"); //$NON-NLS-1$
-        
-        ps.println();
-        ps.println("    Average Times:"); //$NON-NLS-1$
-        for (Class<?> clazz : avgTimes.keySet())
-            ps.println("        " + clazz.getSimpleName() + ": " + avgTimes.get(clazz) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-        ps.println();
-        ps.println("    Maximum Times:"); //$NON-NLS-1$
-        for (Class<?> clazz : maxTimes.keySet())
-            ps.println("        " + clazz.getSimpleName() + ": " + maxTimes.get(clazz) + " ms (" + maxFiles.get(clazz) + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-    }
-
-    public static void resetStatistics()
-    {
-        counts.clear();
-        avgTimes.clear();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/BindingCollector.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/BindingCollector.java
deleted file mode 100644
index 38005e1..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/BindingCollector.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.internal.core.analysis.binding.Definition.Visibility;
-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGWriter;
-
-/**
- * Abstract superclass providing utility methods for several visitor classes
- * that collect bindings in an AST.  See subclasses and {@link Binder}.
- * 
- * @author Jeff Overbey
- * @see Binder
- */
-public abstract class BindingCollector extends ASTVisitorWithLoops
-{
-    protected PhotranVPG vpg = PhotranVPG.getInstance();
-	protected PhotranVPGWriter vpgProvider = PhotranVPG.getProvider();
-
-    protected void markSubprogramExport(IFile file, Token subprogramName)
-    {
-        vpgProvider.markFileAsExportingSubprogram(file, subprogramName.getText());
-    }
-
-    protected void markSubprogramImport(IFile file, Token subprogramName)
-    {
-        vpgProvider.markFileAsImportingSubprogram(file, subprogramName.getText());
-    }
-
-    protected void markModuleExport(IFile file, Token moduleName)
-    {
-        vpgProvider.markFileAsExportingModule(file, moduleName.getText());
-    }
-
-    protected void setScopeDefaultVisibilityToPrivate(ScopingNode scope)
-    {
-        vpgProvider.setDefaultScopeVisibilityToPrivate(scope);
-    }
-	
-    protected void setDefinition(Token ident, Definition def)
-    {
-        vpgProvider.setDefinitionFor(ident.getTokenRef(), def);
-    }
-
-	// addDefinition() and bindRenamedEntity() accept null to support the module loader
-	// (its code is cleaner if it doesn't have to special-case nulls)
-	
-    /**
-     * @param definitionIsInOuterScope For example, SubroutineStmt nodes are contained within SubroutineSubprogram nodes.  However,
-     * the subroutine they declare is not a member of its own scope: it is a member of the outer scope.  Set this parameter to true
-     * in this case.
-     */
-    Definition addDefinition(Token token, Definition.Classification classification, Type type)
-    {
-    	if (token == null) return null;
-    	
-    	try
-    	{
-    	    ScopingNode enclosingScope = token.getEnclosingScope();
-    	    
-            Visibility visibility = enclosingScope.isDefaultVisibilityPrivate() ? Visibility.PRIVATE : Visibility.PUBLIC;
-            Definition definition = new Definition(token.getText(), token.getTokenRef(), classification, /*visibility,*/ type);
-    		vpgProvider.setDefinitionFor(token.getTokenRef(), definition);
-    		vpgProvider.markScope(token.getTokenRef(), enclosingScope);
-    		vpgProvider.markDefinitionVisibilityInScope(token.getTokenRef(), enclosingScope, visibility);
-    		
-    		checkForIllegalShadowing(token.getText(), token.getTokenRef(), enclosingScope);
-    		
-    		return definition;
-    	}
-    	catch (Exception e)
-    	{
-    		throw new Error(e);
-    	}
-    }
-
-    protected void checkForIllegalShadowing(String name, PhotranTokenRef tokenRef, ScopingNode enclosingScope)
-    {
-        if (enclosingScope.isMainProgram() || enclosingScope.isSubprogram() || enclosingScope.isModule())
-        {
-            // Force resolution in case this is a post-transform analysis and the scope has been renamed
-        	String scopeName = enclosingScope.getName();
-            if (scopeName != null &&
-        	    PhotranVPG.canonicalizeIdentifier(name).equals(
-        	        PhotranVPG.canonicalizeIdentifier(scopeName)))
-        	{
-        	    vpgProvider.markIllegalShadowing(tokenRef, enclosingScope.getNameToken().getTokenRef());
-        	}
-        }
-    }
-    
-//    Definition addDefinitionAndDuplicateInLocalScope(Token name, Classification classification, Type type)
-//    {
-//        Definition result = addDefinition(name, classification, type);
-//        // addDefinition called vpg.markScope for the enclosing scope
-//        
-//        ScopingNode localScope = name.findNearestAncestor(ScopingNode.class);
-//        vpg.markScope(name.getTokenRef(), localScope);
-//        
-//        return result;
-//    }
-
-    Definition addDefinition(Token token, Definition.Classification classification)
-    {
-    	return addDefinition(token, classification, Type.VOID);
-    }
-    
-    void importDefinition(Definition definitionToImport, ScopingNode importIntoScope)
-    {
-    	try
-    	{
-    		vpgProvider.markScope(definitionToImport.getTokenRef(), importIntoScope);
-    		
-    		if (importIntoScope.isDefaultVisibilityPrivate())
-    		    vpgProvider.markDefinitionVisibilityInScope(definitionToImport.getTokenRef(), importIntoScope, Visibility.PRIVATE);
-    		
-    		checkForIllegalShadowing(definitionToImport.getCanonicalizedName(), definitionToImport.getTokenRef(), importIntoScope);
-    	}
-    	catch (Exception e)
-    	{
-    		throw new Error(e);
-    	}
-    }
-
-    List<PhotranTokenRef> bind(Token identifier)
-    {
-            List<PhotranTokenRef> result = identifier.manuallyResolveBinding();
-            
-            for (PhotranTokenRef def : result)
-                bind(identifier, def);
-            
-            return result;
-    }
-
-    List<PhotranTokenRef> bindNoImplicits(Token identifier)
-    {
-            List<PhotranTokenRef> result = identifier.manuallyResolveBindingNoImplicits();
-            
-            for (PhotranTokenRef def : result)
-                bind(identifier, def);
-            
-            return result;
-    }
-
-    List<PhotranTokenRef> bindAsParam(Token identifier)
-    {
-	    	List<PhotranTokenRef> result = bind(identifier);
-	    	
-			for (PhotranTokenRef def : result)
-			{
-	    		Definition d = vpg.getDefinitionFor(def);
-	    		d.markAsSubprogramArgument();
-	    		vpgProvider.setDefinitionFor(def, d);
-			}
-			
-			return result;
-    }
-
-    void bind(Token identifier, PhotranTokenRef toDefinition)
-    {
-       	try
-    	{
-       		vpgProvider.markBinding(identifier.getTokenRef(), toDefinition);
-    	}
-    	catch (Exception e)
-    	{
-    		throw new Error(e);
-    	}
-    }
-    
-    void bindRenamedEntity(Token identifier, PhotranTokenRef toDefinition)
-    {
-    	if (identifier == null) return;
-    	
-       	try
-    	{
-       		vpgProvider.markRenamedBinding(identifier.getTokenRef(), toDefinition);
-    	}
-    	catch (Exception e)
-    	{
-    		throw new Error(e);
-    	}
-    }
-
-    void dontbind(Token identifier)
-    {
-    	// A derived type component or subroutine parameter name was found;
-    	// don't attempt to bind it, since this would require type checking
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Definition.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Definition.java
deleted file mode 100644
index 1707b55..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Definition.java
+++ /dev/null
@@ -1,1169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.photran.internal.core.analysis.types.ArraySpec;
-import org.eclipse.photran.internal.core.analysis.types.DerivedType;
-import org.eclipse.photran.internal.core.analysis.types.FunctionType;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.analysis.types.TypeProcessor;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.Token.FakeToken;
-import org.eclipse.photran.internal.core.parser.ASTAccessSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTArraySpecNode;
-import org.eclipse.photran.internal.core.parser.ASTAttrSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTAttrSpecSeqNode;
-import org.eclipse.photran.internal.core.parser.ASTExternalStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTIntentSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTInterfaceBlockNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeSpecNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.ISpecificationStmt;
-import org.eclipse.photran.internal.core.vpg.EdgeType;
-import org.eclipse.photran.internal.core.vpg.IPhotranSerializable;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGSerializer;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-
-/**
- * A declaration of a variable, subprogram, main program, interface,
- * or similar entity.  Note that IF-statements, DO-loops, etc. can
- * also be named, so they may have Definitions as well.
- * <p>
- * A Definition's <b>classification</b> indicates the entity it is defining: variable, function, module, etc.
- * <p>
- * When applicable, the Definition's <b>type</b> gives the type of that entity (integer, real, etc.); its
- * <b>array spec</b> may give an array specification (e.g., one-dimensional, indexed from 3 to 5).
- *
- * @author Jeff Overbey
- */
-public class Definition implements IPhotranSerializable, Comparable<Definition>
-{
-	private static final long serialVersionUID = 1L;
-
-    // ***WARNING*** If the enum values change order or new values are inserted in the middle, serialization will break!
-
-	/** Enumerates the various entities that can be named with an identifier: variables, functions, namelists, etc. */
-    public static enum Classification
-    {
-        BLOCK_DATA,
-        COMMON_BLOCK,
-        DERIVED_TYPE,
-        DERIVED_TYPE_COMPONENT,
-        DO,
-        ENTRY,
-        EXTERNAL,
-        FORALL,
-        FUNCTION,
-        IMPLICIT_LOCAL_VARIABLE,
-        IF,
-        INTERFACE,
-        INTRINSIC,
-        MAIN_PROGRAM,
-        MODULE,
-        MODULE_ENTITY_BEFORE_RENAME, // subprogram name before rename
-        NAMELIST,
-        RENAMED_MODULE_ENTITY, // subprogram name after rename
-        SUBROUTINE,
-        SELECT,
-        VARIABLE_DECLARATION { @Override public String toString() { return "Local variable"; } }, //$NON-NLS-1$
-        WHERE,
-        ENUMERATOR, // F03
-        IMPLICIT_EXTERNAL_SUBPROGRAM,
-        ;
-
-        @Override public String toString()
-        {
-        	String name = super.toString().replaceAll("_", " "); //$NON-NLS-1$ //$NON-NLS-2$
-        	return name.charAt(0) + name.substring(1).toLowerCase();
-        }
-    }
-
-    // ***WARNING*** If the enum values change order or new values are inserted in the middle, serialization will break!
-
-    /** Enumerates visibilities of module entities */
-    public static enum Visibility
-    {
-        PUBLIC,
-        PRIVATE;
-        //INHERIT_FROM_SCOPE;
-
-        @Override public String toString()
-        {
-        	String name = super.toString().replaceAll("_", " "); //$NON-NLS-1$ //$NON-NLS-2$
-        	return name.charAt(0) + name.substring(1).toLowerCase();
-        }
-    }
-
-    // ***WARNING*** If any fields change, the serialization methods (below) must also change!
-
-    protected Classification classification;
-    protected PhotranTokenRef tokenRef;
-    protected String declaredName, canonicalizedName;
-    //protected Visibility visibility;
-    protected Type type;
-    protected ArraySpec arraySpec;
-
-    private boolean subprogramArgument = false;
-    private boolean parameter = false;
-    private boolean typeBoundProcedure = false;
-    private boolean renamedTypeBoundProcedure = false;
-    private boolean target = false;
-    private boolean pointer = false;
-    private boolean allocatable = false;
-    private boolean intent_in = false;
-    private boolean intent_out = false;
-    private boolean optional = false;
-    private boolean save = false;
-
-    // ***WARNING*** If any fields change, the serialization methods (below) must also change!
-
-    protected Definition() {}
-
-    /** Creates a definition and binds it to the given token */
-    public Definition(String declaredName, PhotranTokenRef tokenRef, Classification classification, /*Visibility visibility,*/ Type type)
-    {
-        this.classification = classification;
-    	this.tokenRef = tokenRef;
-    	this.declaredName = declaredName;
-    	this.canonicalizedName = canonicalize(declaredName);
-        //this.visibility = visibility; //Visibility.INHERIT_FROM_SCOPE;
-        this.type = type;
-        this.arraySpec = null;
-    }
-
-	protected String canonicalize(String identifier)
-    {
-    	return identifier.toLowerCase();
-    }
-
-    public boolean matches(String canonicalizedName)
-    {
-        return canonicalizedName != null &&
-            (canonicalizedName.equals(this.canonicalizedName) || this.canonicalizedName.matches(canonicalizedName));
-    }
-
-    void markAsSubprogramArgument()
-    {
-        this.subprogramArgument = true;
-    }
-
-    public boolean isSubprogramArgument()
-    {
-        return subprogramArgument;
-    }
-
-    private boolean isInternal()
-    {
-        IASTNode startFrom = tokenRef.findToken();
-        if (this.isSubprogram()) startFrom = startFrom.findNearestAncestor(ScopingNode.class); // Look upward from this function/subroutine
-
-        for (IASTNode parent = startFrom.getParent(); parent != null; parent = parent.getParent())
-            if (parent instanceof ASTModuleNode
-                || parent instanceof ASTSubroutineSubprogramNode
-                || parent instanceof ASTFunctionSubprogramNode
-                || parent instanceof ASTMainProgramNode)
-                return true;
-
-        return false;
-    }
-
-    public boolean isInternalSubprogramDefinition()
-    {
-        return isInternal() && isSubprogram();
-    }
-
-    public boolean isExternallyVisibleSubprogramDefinition()
-    {
-        return !isInternal() && isSubprogram();
-    }
-
-    public boolean isModuleReference()
-    {
-        return false;
-    }
-
-    public boolean isLocalVariable()
-    {
-        return classification == Classification.IMPLICIT_LOCAL_VARIABLE
-            || classification == Classification.VARIABLE_DECLARATION
-            ;//|| classification == Classification.IMPLIED_FUNCTION_RESULT_VARIABLE;
-        // TODO: More?
-    }
-
-    public boolean isDerivedType()
-    {
-        return classification == Classification.DERIVED_TYPE;
-    }
-
-    public boolean isSubprogram()
-    {
-        return classification == Classification.SUBROUTINE
-            || classification == Classification.FUNCTION;
-    }
-
-    public boolean isModule()
-    {
-        return classification == Classification.MODULE;
-    }
-
-    public boolean isExternal()
-    {
-        return classification == Classification.EXTERNAL;
-    }
-
-    public boolean isImplicitExternalSubprogram()
-    {
-        return classification == Classification.IMPLICIT_EXTERNAL_SUBPROGRAM;
-    }
-
-    public boolean isInterface()
-    {
-        return classification == Classification.INTERFACE;
-    }
-
-    public boolean isRenamedModuleEntity()
-    {
-        return classification == Classification.RENAMED_MODULE_ENTITY;
-    }
-
-    public boolean isModuleEntityBeforeRename()
-    {
-        return classification == Classification.MODULE_ENTITY_BEFORE_RENAME;
-    }
-
-    public boolean isMainProgram()
-    {
-        return classification == Classification.MAIN_PROGRAM;
-    }
-
-    public boolean isIntrinsic()
-    {
-        return classification == Classification.INTRINSIC;
-    }
-
-    public boolean isImplicit()
-    {
-        return this.classification == Classification.IMPLICIT_LOCAL_VARIABLE
-        ;//|| this.classification == Classification.IMPLIED_FUNCTION_RESULT_VARIABLE;
-    }
-
-    public boolean isNamelist()
-    {
-        return classification == Classification.NAMELIST;
-    }
-
-    public boolean isCommon()
-    {
-        return classification == Classification.COMMON_BLOCK;
-    }
-
-    public boolean isBlockData()
-    {
-        return classification == Classification.BLOCK_DATA;
-    }
-
-    /** @return the classification */
-    public Classification getClassification()
-    {
-        return classification;
-    }
-
-    /** Sets the type of this definition (integer, real, etc.) according to the given TypeSpec node */
-    void setType(ASTTypeSpecNode typeSpecNode)
-    {
-        this.type = Type.parse(typeSpecNode);
-    }
-
-    /** Sets the type of this definition (integer, real, etc.) */
-    void setType(Type type)
-    {
-        this.type = type;
-    }
-
-    /** @return the type of this node (integer, real, etc.) */
-    public Type getType()
-    {
-        return type;
-    }
-
-    /** @return the name of the entity this defines, cased according to its declaration */
-    public String getDeclaredName()
-    {
-        return declaredName;
-    }
-
-    /** @return the name of the entity this defines, canonicalized by <code>PhotranVPG.canonicalizeIdentifier</code> */
-    public String getCanonicalizedName()
-    {
-        return canonicalizedName;
-    }
-
-    /** @return a description of the type of entity being defined */
-    public String describeClassification()
-    {
-    	StringBuilder result = new StringBuilder();
-
-        result.append(classification.toString());
-
-        if (!type.equals(Type.VOID) && !(type instanceof FunctionType))
-        {
-        	result.append(" - "); //$NON-NLS-1$
-        	result.append(type);
-        	if (arraySpec != null) result.append(arraySpec);
-        }
-
-//        if (visibility != Visibility.INHERIT_FROM_SCOPE)
-//        	result.append(" (" + visibility + ")");
-
-        return result.toString();
-    }
-
-    /** @return the location of the token containing this definition */
-    public PhotranTokenRef getTokenRef()
-    {
-    	return tokenRef;
-    }
-
-    /** Sets the array spec for this definition */
-    void setArraySpec(ASTArraySpecNode arraySpecNode)
-    {
-        if (arraySpecNode != null)
-            this.arraySpec = new ArraySpec(arraySpecNode);
-    }
-
-    /** @return the array spec for this definition */
-    public ArraySpec getArraySpec()
-    {
-        return arraySpec;
-    }
-
-    /** @return true iff this is the definition of an array */
-    public boolean isArray()
-    {
-        return arraySpec != null;
-    }
-
-    // <AttrSpecSeq> ::=
-    //   T_COMMA <AttrSpec>
-    // | @:<AttrSpecSeq> T_COMMA <AttrSpec>
-
-    /** Sets the attributes according to an AttrSpecSeq node */
-    void setAttributes(IASTListNode<ASTAttrSpecSeqNode> listNode, ScopingNode setInScope)
-    {
-        if (listNode == null) return;
-
-        for (int i = 0; i < listNode.size(); i++)
-            setAttribute(listNode.get(i).getAttrSpec(), setInScope);
-    }
-
-    // # R503
-    // <AttrSpec> ::=
-    //   T_PARAMETER
-    // | <AccessSpec>
-    // | T_ALLOCATABLE
-    // | T_DIMENSION T_LPAREN <ArraySpec> T_RPAREN
-    // | T_EXTERNAL
-    // | T_INTENT T_LPAREN <IntentSpec> T_RPAREN
-    // | T_INTRINSIC
-    // | T_OPTIONAL
-    // | T_POINTER
-    // | T_SAVE
-    // | T_TARGET
-
-    private void setAttribute(ASTAttrSpecNode attrSpec, ScopingNode setInScope)
-    {
-        ASTArraySpecNode arraySpec = attrSpec.getArraySpec();
-        ASTAccessSpecNode accessSpec = attrSpec.getAccessSpec();
-
-        if (arraySpec != null)
-            setArraySpec(arraySpec);
-        else if (accessSpec != null)
-            setVisibility(accessSpec, setInScope);
-        else if (attrSpec.isParameter())
-            setParameter();
-        else if (attrSpec.isPointer())
-            setPointer();
-        else if (attrSpec.isTarget())
-            setTarget();
-        else if (attrSpec.isAllocatable())
-            setAllocatable();
-        else if (attrSpec.isIntent())
-            setIntent(attrSpec.getIntentSpec());
-        else if (attrSpec.isOptional())
-            setOptional();
-        else if (attrSpec.isSave())
-            setSave();
-    }
-
-    // # R511
-    // <AccessSpec> ::=
-    //     T_PUBLIC
-    //   | T_PRIVATE
-
-    void setVisibility(ASTAccessSpecNode accessSpec, ScopingNode setInScope)
-    {
-//        if (accessSpec.isPublic())
-//            this.visibility = Visibility.PUBLIC;
-//        else if (accessSpec.isPrivate())
-//            this.visibility = Visibility.PRIVATE;
-
-        PhotranVPG.getProvider().markDefinitionVisibilityInScope(
-            tokenRef,
-            setInScope,
-            accessSpec.isPrivate() ? Visibility.PRIVATE : Visibility.PUBLIC);
-    }
-
-    /** @return true iff this entity was declared as a PARAMETER (i.e., it a constant variable) */
-    public boolean isParameter() { return parameter; }
-    void setParameter() { this.parameter = true; }
-
-    /** @return true iff this entity was declared as a POINTER */
-    public boolean isPointer() { return pointer; }
-    void setPointer() { this.pointer = true; }
-
-    /** @return true iff this entity was declared as a POINTER */
-    public boolean isTarget() { return target; }
-    void setTarget() { this.target = true; }
-
-    /** @return true iff this entity was declared as ALLOCATABLE */
-    public boolean isAllocatable() { return allocatable; }
-    void setAllocatable() { this.allocatable = true; }
-
-    /** @return true iff this entity was declared as OPTIONAL */
-    public boolean isOptional() { return optional; }
-    void setOptional() { this.optional = true; }
-
-    /** @return true iff this entity was declared as SAVE */
-    public boolean isSave() { return save; }
-    void setSave() { this.save = true; }
-
-    /** @return true iff this entity was declared with INTENT(IN) */
-    public boolean isIntentIn() { return intent_in; }
-    /** @return true iff this entity was declared with INTENT(OUT) */
-    public boolean isIntentOut() { return intent_out; }
-    void setIntent(ASTIntentSpecNode intent)
-    {
-        if (intent.isIntentIn() || intent.isIntentInOut())
-            this.intent_in = true;
-        if (intent.isIntentOut() || intent.isIntentInOut())
-            this.intent_out = true;
-    }
-
-//    boolean isPublic()
-//    {
-//        // TODO: Can interface blocks contain PRIVATE statements or can their members have visibilities specified?
-//        return this.visibility.equals(Visibility.PUBLIC);
-//            //|| this.visibility.equals(Visibility.INHERIT_FROM_SCOPE) && getTokenRef().findToken().getEnclosingScope().isDefaultVisibilityPrivate() == false;
-//    }
-
-    void markAsTypeBoundProcedure(boolean renamed)
-    {
-        this.typeBoundProcedure = true;
-        this.renamedTypeBoundProcedure = renamed;
-    }
-
-    public boolean isTypeBoundProcedure()
-    {
-        return this.typeBoundProcedure;
-    }
-
-    public boolean isRenamedTypeBoundProcedure()
-    {
-        return this.renamedTypeBoundProcedure;
-    }
-
-    public IMarker createMarker()
-    {
-        try
-        {
-            Token token = tokenRef.findTokenOrReturnNull();
-            if (token == null || token.getPhysicalFile().getIFile() == null) return null;
-            IMarker marker = token.getPhysicalFile().getIFile().createMarker(IMarker.TEXT);
-            marker.setAttribute(IMarker.CHAR_START, token.getFileOffset());
-            marker.setAttribute(IMarker.CHAR_END, token.getFileOffset()+token.getLength());
-            return marker;
-        }
-        catch (CoreException e)
-        {
-            return null;
-        }
-    }
-
-    /** @return all workspace references to this definition, not including renamed references */
-    public Set<PhotranTokenRef> findAllReferences(boolean shouldBindInterfacesAndExternals)
-    {
-        if (this.isImpliedFunctionResultVar() && findEnclosingFunctionDefinition() != null)
-            return findAllReferencesToEnclosingSubprogramInstead(shouldBindInterfacesAndExternals);
-        else
-            return internalFindAllReferences(shouldBindInterfacesAndExternals);
-    }
-
-    private Set<PhotranTokenRef> findAllReferencesToEnclosingSubprogramInstead(boolean aggressive)
-    {
-        Definition fnDef = findEnclosingFunctionDefinition();
-        Set<PhotranTokenRef> result = fnDef.internalFindAllReferences(aggressive);
-        result.add(fnDef.getTokenRef());
-        result.remove(this.getTokenRef());
-        return result;
-    }
-
-    private boolean isImpliedFunctionResultVar()
-    {
-        if (!this.isLocalVariable()) return false;
-
-        ASTFunctionSubprogramNode fn = findEnclosingFunction();
-        if (fn != null && !fn.getFunctionStmt().hasResultClause())
-        {
-            Definition fnDef = findEnclosingFunctionDefinition();
-            return this.getCanonicalizedName().equals(fnDef.getCanonicalizedName());
-        }
-        return false;
-    }
-
-    private ASTFunctionSubprogramNode findEnclosingFunction()
-    {
-        return this.getTokenRef().findToken().findNearestAncestor(ASTFunctionSubprogramNode.class);
-    }
-
-    private Definition findEnclosingFunctionDefinition()
-    {
-        ASTFunctionSubprogramNode fn = findEnclosingFunction();
-        return fn == null ? null : PhotranVPG.getInstance().getDefinitionFor(fn.getRepresentativeToken());
-    }
-
-    private Set<PhotranTokenRef> internalFindAllReferences(boolean shouldBindInterfacesAndExternals)
-    {
-		if ((this.isSubprogram() || this.isExternal()) && shouldBindInterfacesAndExternals)
-		    return internalFindAllReferencesToSubprogramAggressively();
-		else
-		    return findAllImmediateReferences();
-    }
-
-    private Set<PhotranTokenRef> findAllImmediateReferences()
-    {
-        Set<PhotranTokenRef> result = new TreeSet<PhotranTokenRef>();
-        addImmediateBindings(result);
-        if (this.isFunction())
-            matchFunctionAndImpliedResultVariable(result);
-        result.remove(this.getTokenRef()); // By contract, the set of references does not include this
-        return result;
-    }
-
-    private void matchFunctionAndImpliedResultVariable(Collection<PhotranTokenRef> result)
-    {
-        try
-        {
-            ASTFunctionSubprogramNode fn = findEnclosingFunction();
-            if (fn == null || fn.getFunctionStmt().hasResultClause()) return;
-
-            for (Definition def : fn.getAllDefinitions())
-            {
-                if (def != null && def.getCanonicalizedName().equals(this.getCanonicalizedName()))
-                {
-                    result.add(def.getTokenRef());
-                    result.addAll(def.internalFindAllReferences(false));
-                }
-            }
-        }
-        catch (Throwable t)
-        {
-            // Ignore
-        }
-    }
-
-    private boolean isFunction()
-    {
-        return this.getClassification().equals(Classification.FUNCTION);
-    }
-
-    private void addImmediateBindings(Collection<PhotranTokenRef> result)
-    {
-        result.add(this.getTokenRef());
-
-        for (IVPGNode<Token> r : tokenRef.followIncoming(EdgeType.BINDING_EDGE_TYPE))
-            result.add((PhotranTokenRef)r);
-    }
-
-    private Set<PhotranTokenRef> internalFindAllReferencesToSubprogramAggressively()
-    {
-        assert this.isSubprogram() || this.isExternal();
-
-        Collection<Definition> subprogramDefinitions;
-        if (this.isInInterfaceBlock())
-            subprogramDefinitions = this.resolveInterfaceBinding();
-        else if (this.isInExternalStmt())
-            subprogramDefinitions = this.resolveExternalBinding();
-        else if (this.isExternallyVisibleSubprogramDefinition())
-            subprogramDefinitions = this.findAllSimilarlyNamedExternalSubprograms();
-        else // probably an internal subprogram
-            return findAllImmediateReferences();
-
-        Set<PhotranTokenRef> result = new TreeSet<PhotranTokenRef>();
-        result.addAll(findAllImmediateReferences()); // e.g., PRIVATE referring to subprogram in an INTERFACE block
-        for (Definition subprogram : subprogramDefinitions)
-            result.addAll(subprogram.internalFindAllReferencesToSubprogIncludingInterfacesAndExternalStmts());
-        result.remove(this.getTokenRef()); // By contract, the set of references does not include this
-        return result;
-    }
-
-    private Set<PhotranTokenRef> internalFindAllReferencesToSubprogIncludingInterfacesAndExternalStmts()
-    {
-        assert this.isExternallyVisibleSubprogramDefinition();
-
-        Set<PhotranTokenRef> result = new TreeSet<PhotranTokenRef>();
-        addExternalSubprogramDefinitions(result);
-        addInterfaceDecls(result);
-        addExternalStmts(result);
-        return result;
-    }
-
-    private void addExternalSubprogramDefinitions(Collection<PhotranTokenRef> result)
-    {
-        for (Definition externalSubprogDef : this.findAllSimilarlyNamedExternalSubprograms())
-        {
-            result.add(externalSubprogDef.getTokenRef());
-            result.addAll(externalSubprogDef.internalFindAllReferences(false));
-        }
-    }
-
-    private void addInterfaceDecls(Collection<PhotranTokenRef> result)
-    {
-        for (Definition interfaceDef : this.findMatchingDeclarationsInInterfaces())
-        {
-            result.add(interfaceDef.getTokenRef());
-            result.addAll(interfaceDef.internalFindAllReferences(false));
-        }
-    }
-
-    private void addExternalStmts(Collection<PhotranTokenRef> result)
-    {
-        for (Definition externalDef : this.findMatchingDeclarationsInExternalStmts())
-        {
-            result.add(externalDef.getTokenRef());
-            result.addAll(externalDef.internalFindAllReferences(false));
-        }
-    }
-
-    /** @return true iff this is an entity defined inside an INTERFACE block */
-    public boolean isExternalSubprogramReferenceInInterfaceBlock()
-    {
-        if (!isInInterfaceBlock()) return false;
-
-        Token token = getTokenRef().findToken();
-        ScopingNode scopeOfThisDef = token.getEnclosingScope();
-
-        HashSet<Definition> result = collectResolutions(token, scopeOfThisDef);
-        return !resolvesToSubprogramArgument(result);
-    }
-
-//    private boolean isInAnonymousInterfaceBlock()
-//    {
-//        if (!isInInterfaceBlock()) return false;
-//        ASTInterfaceStmtNode stmt = tokenRef.findToken().findNearestAncestor(ASTInterfaceBlockNode.class).getInterfaceStmt();
-//        return stmt.getGenericName() == null && stmt.getGenericSpec() == null;
-//    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * @return if this is a subprogram declared in an INTERFACE block, a list of all possible matching subprogram
-     * Definitions; otherwise, <code>null</code>
-     *
-     * @see #findMatchingDeclarationsInInterfaces()
-     */
-    public Collection<Definition> resolveInterfaceBinding()
-    {
-        if (!isInInterfaceBlock()) return Collections.emptySet();
-
-        Token token = getTokenRef().findToken();
-        ScopingNode scopeOfThisDef = token.getEnclosingScope();
-        ScopingNode parentScope = scopeOfThisDef.getEnclosingScope();
-
-        HashSet<Definition> result = collectResolutions(token, scopeOfThisDef);
-        if (resolvesToSubprogramArgument(result)) return Collections.emptyList();
-        if (needToResolveInParentScope(result)) result = collectResolutions(token, parentScope);
-        result.addAll(collectMatchingExternalSubprograms(token));
-        return result;
-    }
-
-    /** @return true iff this is an entity defined inside an INTERFACE block */
-    public boolean isInInterfaceBlock()
-    {
-        Token tok = getTokenRef().findTokenOrReturnNull();
-        return tok != null && tok.findNearestAncestor(ASTInterfaceBlockNode.class) != null;
-    }
-
-    private HashSet<Definition> collectResolutions(Token token, ScopingNode scope)
-    {
-        HashSet<Definition> result = new HashSet<Definition>();
-        for (PhotranTokenRef d : scope.manuallyResolve(new FakeToken(token, token.getText())))
-        {
-            Definition def = PhotranVPG.getInstance().getDefinitionFor(d);
-            if (def != null)
-                if ((def.isSubprogram() && !def.isInInterfaceBlock()) || def.isSubprogramArgument())
-                    result.add(def);
-        }
-        return result;
-    }
-
-    private boolean resolvesToSubprogramArgument(Set<Definition> listOfDefs)
-    {
-        for (Definition def : listOfDefs)
-            if (def != null && def.isSubprogramArgument())
-                return true;
-
-        return false;
-    }
-
-    private boolean needToResolveInParentScope(HashSet<Definition> result)
-    {
-        // If the subprogram declaration in the INTERFACE block only resolves to
-        // itself, then we should check the parent scope: There might be a
-        // matching subprogram imported from a module (or defined as an external
-        // subprogram) there.
-
-        return result.size() < 2;
-    }
-
-    private ArrayList<Definition> collectMatchingExternalSubprograms(Token token)
-    {
-        return PhotranVPG.getInstance().findAllExternalSubprogramsNamed(token.getText());
-    }
-
-    /**
-     * @return if this is an external subprogram, a list of all other external subprograms with the same name
-     * (i.e., subprograms that might also be referenced by a similar INTERFACE block or EXTERNAL statement)
-     */
-    public Collection<Definition> findAllSimilarlyNamedExternalSubprograms()
-    {
-        return PhotranVPG.getInstance().findAllExternalSubprogramsNamed(this.canonicalizedName);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * @return if this is a subprogram declared in an EXTERNAL statement, a list of all possible matching subprogram
-     * Definitions; otherwise, <code>null</code>
-     *
-     * @see #findMatchingDeclarationsInExternalStmts()
-     */
-    public Collection<Definition> resolveExternalBinding()
-    {
-        if (!isInExternalStmt()) return Collections.emptySet();
-
-        Token token = getTokenRef().findToken();
-        ScopingNode scopeOfThisDef = token.getEnclosingScope();
-        ScopingNode parentScope = scopeOfThisDef.getEnclosingScope();
-
-        HashSet<Definition> result = collectExternalResolutions(token, scopeOfThisDef);
-        if (resolvesToSubprogramArgument(result)) return Collections.emptyList();
-        if (needToResolveInParentScope(result)) result = collectResolutions(token, parentScope);
-        result.addAll(collectMatchingExternalSubprograms(token));
-        return result;
-    }
-
-    /** @return true iff this is an entity defined inside an EXTERNAL statement */
-    public boolean isInExternalStmt()
-    {
-        Token tok = getTokenRef().findTokenOrReturnNull();
-        return tok != null && tok.findNearestAncestor(ASTExternalStmtNode.class) != null;
-    }
-
-    private HashSet<Definition> collectExternalResolutions(Token token, ScopingNode scope)
-    {
-        HashSet<Definition> result = new HashSet<Definition>();
-        for (PhotranTokenRef d : scope.manuallyResolve(new FakeToken(token, token.getText())))
-        {
-            Definition def = PhotranVPG.getInstance().getDefinitionFor(d);
-            if (def != null)
-                if ((def.isSubprogram() && !def.isInInterfaceBlock()) || def.isSubprogramArgument())
-                    result.add(def);
-        }
-        return result;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * @return if this is an external subprogram, a list of all possible matching declarations in INTERFACE blocks;
-     * otherwise, the empty set
-     *
-     * @see #resolveInterfaceBinding()
-     */
-    public Collection<Definition> findMatchingDeclarationsInInterfaces()
-    {
-        if /*(isModuleSubprogram())
-            return findMatchesForModuleSubprogram();
-        else if*/ (isExternallyVisibleSubprogramDefinition())
-            return PhotranVPG.getInstance().findAllDeclarationsInInterfacesForExternalSubprogram(canonicalizedName);
-        else
-            return Collections.emptySet();
-    }
-
-//    private boolean isModuleSubprogram()
-//    {
-//        return isSubprogram() && getTokenRef().findToken().findNearestAncestor(ASTModuleNode.class) != null;
-//    }
-//
-//    private List<PhotranTokenRef> findMatchesForModuleSubprogram()
-//    {
-//        // TODO Auto-generated method stub
-//        return null;
-//    }
-
-    /**
-     * @return if this is an external subprogram, a list of all possible matching declarations in EXTERNAL statements;
-     * otherwise, <code>null</code>
-     *
-     * @see #resolveExternalBinding()
-     */
-    public Collection<Definition> findMatchingDeclarationsInExternalStmts()
-    {
-        return PhotranVPG.getInstance().findAllDeclarationsInExternalStmts(canonicalizedName);
-    }
-
-    @Override public String toString()
-    {
-        return canonicalizedName
-        	+ " - " //$NON-NLS-1$
-        	+ classification
-        	+ (subprogramArgument ? " (Subprogram Argument)" : "") //$NON-NLS-1$ //$NON-NLS-2$
-        	+ " (" //$NON-NLS-1$
-        	+ tokenRef.getFilename()
-        	+ ", offset " //$NON-NLS-1$
-        	+ tokenRef.getOffset()
-        	+ ")"; //$NON-NLS-1$
-    }
-
-
-    @Override public boolean equals(Object other)
-    {
-        if (!(other instanceof Definition)) return false;
-
-        Definition o = (Definition)other;
-        return equals(this.arraySpec, o.arraySpec)
-            && equals(this.canonicalizedName, o.canonicalizedName)
-            && equals(this.classification, o.classification)
-            && this.parameter == o.parameter
-            && this.subprogramArgument == o.subprogramArgument
-            && equals(this.tokenRef, o.tokenRef)
-            && equals(this.type, o.type)
-            ; // && equals(this.visibility, o.visibility);
-    }
-
-    private boolean equals(Object a, Object b)
-    {
-        if (a == null && b == null)
-            return true;
-        else if (a != null && b != null)
-            return a.equals(b);
-        else
-            return false;
-    }
-
-    @Override public int hashCode()
-    {
-        return hashCode(this.arraySpec)
-            + hashCode(this.canonicalizedName)
-            + hashCode(this.classification)
-            + (this.parameter ? 1 : 0)
-            + (this.subprogramArgument ? 1 : 0)
-            + hashCode(this.tokenRef)
-            + 0 //hashCode(this.type)
-            ; // + hashCode(this.visibility);
-    }
-
-    private int hashCode(Object o)
-    {
-        return o == null ? 0 : o.hashCode();
-    }
-
-    public int compareTo(Definition o)
-    {
-        return canonicalizedName.compareTo(o.canonicalizedName);
-    }
-
-    public String describe()
-    {
-        String commentsBefore = "\n", name = getCanonicalizedName(), commentsAfter = ""; //$NON-NLS-1$ //$NON-NLS-2$
-        boolean isScopingUnit = false;
-
-        Token tok = tokenRef.findTokenOrReturnNull();
-        if (tok != null)
-        {
-            if (!name.equals("(anonymous)")) //$NON-NLS-1$
-                name = tok.getText();
-
-            ScopingNode localScope = tok.getLocalScope();
-            if (localScope != null)
-            {
-                isScopingUnit = (localScope != tok.getEnclosingScope());
-
-                IASTNode headerStmt;
-                if (isScopingUnit)
-                    headerStmt = localScope.getHeaderStmt();
-                else
-                    headerStmt = findEnclosingSpecificationStmt(tok);
-
-                if (headerStmt != null)
-                {
-                    Token first = headerStmt.findFirstToken();
-                    Token last = headerStmt.findLastToken();
-                    if (first != null) commentsBefore = first.getWhiteBefore();
-                    if (last != null) commentsAfter = last.getWhiteAfter();
-
-                    Token after = findFirstTokenAfter(last, localScope);
-                    if (after != null && !startsWithBlankLine(after.getWhiteBefore()))
-                        commentsAfter += after.getWhiteBefore();
-                }
-            }
-        }
-
-        return commentsBefore + describe(name) + "\n" + commentsAfter; //$NON-NLS-1$
-    }
-
-    private boolean startsWithBlankLine(String string)
-    {
-        while (string.startsWith(" ") || string.startsWith("\t")) //$NON-NLS-1$ //$NON-NLS-2$
-            string = string.substring(1);
-
-        return string.startsWith("\r") || string.startsWith("\n"); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-    private Token findFirstTokenAfter(final Token target, ScopingNode localScope)
-    {
-        class TokenFinder extends GenericASTVisitor
-        {
-            private Token lastToken = null;
-            private Token result = null;
-
-            @Override public void visitToken(Token thisToken)
-            {
-                if (lastToken == target)
-                    result = thisToken;
-
-                lastToken = thisToken;
-            }
-        }
-
-        TokenFinder t = new TokenFinder();
-        localScope.accept(t);
-        return t.result;
-    }
-
-    private IASTNode findEnclosingSpecificationStmt(Token tok)
-    {
-        for (IASTNode candidate = tok.getParent(); candidate != null; candidate = candidate.getParent())
-            if (candidate instanceof ISpecificationStmt)
-                return candidate;
-
-        return null;
-    }
-
-    private String describe(String name)
-    {
-        StringBuilder sb = new StringBuilder();
-
-        switch (classification)
-        {
-        case VARIABLE_DECLARATION:
-            sb.append("! "); sb.append(describeClassification()); sb.append('\n'); //$NON-NLS-1$
-            sb.append(describeType());
-            sb.append(":: "); //$NON-NLS-1$
-            sb.append(name);
-            break;
-
-        case IMPLICIT_LOCAL_VARIABLE:
-            sb.append("! "); sb.append(describeClassification()); sb.append('\n'); //$NON-NLS-1$
-            sb.append(describeType());
-            sb.append(":: "); //$NON-NLS-1$
-            sb.append(name);
-            break;
-
-        case SUBROUTINE:
-            sb.append("subroutine "); //$NON-NLS-1$
-            sb.append(name);
-            //TODO: describeParameters(def.getType());
-            break;
-
-        case FUNCTION:
-            //TODO: describeReturnType(def.getType());
-            sb.append("function "); //$NON-NLS-1$
-            sb.append(name);
-            //TODO: describeParameters(def.getType());
-            break;
-
-        case INTERFACE:
-            sb.append("interface "); //$NON-NLS-1$
-            sb.append(name);
-            // TODO: Describe contents
-            break;
-
-        case MODULE:
-            sb.append("module "); //$NON-NLS-1$
-            sb.append(name);
-            // TODO: Describe contents
-            break;
-
-        case DERIVED_TYPE:
-            sb.append("type :: "); //$NON-NLS-1$
-            sb.append(name);
-            // TODO: Describe contents
-            break;
-
-        default:
-            sb.append("! "); sb.append(describeClassification()); sb.append('\n'); //$NON-NLS-1$
-            sb.append(name);
-        }
-
-        return sb.toString();
-    }
-
-    private String describeType()
-    {
-        return type.processUsing(new TypeProcessor<String>()
-        {
-            @Override
-            public String ifCharacter(Type type)
-            {
-                return "character "; //$NON-NLS-1$
-            }
-
-            @Override
-            public String ifComplex(Type type)
-            {
-                return "complex "; //$NON-NLS-1$
-            }
-
-            @Override
-            public String ifDerivedType(String derivedTypeName,
-                                        DerivedType type)
-            {
-                return "type(" + derivedTypeName + ") "; //$NON-NLS-1$ //$NON-NLS-2$
-            }
-
-            @Override
-            public String ifDoublePrecision(Type type)
-            {
-                return "double precision "; //$NON-NLS-1$
-            }
-
-            @Override
-            public String ifFunctionType(String name,
-                                         FunctionType functionType)
-            {
-                return "function "; //$NON-NLS-1$
-            }
-
-            @Override
-            public String ifInteger(Type type)
-            {
-                return "integer "; //$NON-NLS-1$
-            }
-
-            @Override
-            public String ifLogical(Type type)
-            {
-                return "logical "; //$NON-NLS-1$
-            }
-
-            @Override
-            public String ifReal(Type type)
-            {
-                return "real "; //$NON-NLS-1$
-            }
-
-            @Override
-            public String ifUnclassified(Type type)
-            {
-                return ""; //$NON-NLS-1$
-            }
-
-            @Override
-            public String ifUnknown(Type type)
-            {
-                return ""; //$NON-NLS-1$
-            }
-        });
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////
-    // IPhotranSerializable Implementation
-    ////////////////////////////////////////////////////////////////////////////////
-
-    public static Definition readFrom(InputStream in) throws IOException
-    {
-        Definition result = new Definition();
-        result.classification = Classification.values()[PhotranVPGSerializer.deserialize(in)];
-        result.tokenRef = PhotranVPGSerializer.deserialize(in);
-        result.declaredName = PhotranVPGSerializer.deserialize(in);
-        result.canonicalizedName = PhotranVPG.canonicalizeIdentifier(result.declaredName);
-        result.type = PhotranVPGSerializer.deserialize(in);
-        result.arraySpec = PhotranVPGSerializer.deserialize(in);
-        result.subprogramArgument = PhotranVPGSerializer.deserialize(in);
-        result.parameter = PhotranVPGSerializer.deserialize(in);
-        result.typeBoundProcedure = PhotranVPGSerializer.deserialize(in);
-        result.renamedTypeBoundProcedure = PhotranVPGSerializer.deserialize(in);
-        result.pointer = PhotranVPGSerializer.deserialize(in);
-        result.target = PhotranVPGSerializer.deserialize(in);
-        result.allocatable = PhotranVPGSerializer.deserialize(in);
-        result.intent_in = PhotranVPGSerializer.deserialize(in);
-        result.intent_out = PhotranVPGSerializer.deserialize(in);
-        result.optional = PhotranVPGSerializer.deserialize(in);
-        result.save = PhotranVPGSerializer.deserialize(in);
-        return result;
-    }
-
-    public void writeTo(OutputStream out) throws IOException
-    {
-        PhotranVPGSerializer.serialize(classification.ordinal(), out);
-        PhotranVPGSerializer.serialize(tokenRef, out);
-        PhotranVPGSerializer.serialize(declaredName, out);
-        PhotranVPGSerializer.serialize(type, out);
-        PhotranVPGSerializer.serialize(arraySpec, out);
-        PhotranVPGSerializer.serialize(subprogramArgument, out);
-        PhotranVPGSerializer.serialize(parameter, out);
-        PhotranVPGSerializer.serialize(typeBoundProcedure, out);
-        PhotranVPGSerializer.serialize(renamedTypeBoundProcedure, out);
-        PhotranVPGSerializer.serialize(pointer, out);
-        PhotranVPGSerializer.serialize(target, out);
-        PhotranVPGSerializer.serialize(allocatable, out);
-        PhotranVPGSerializer.serialize(intent_in, out);
-        PhotranVPGSerializer.serialize(intent_out, out);
-        PhotranVPGSerializer.serialize(optional, out);
-        PhotranVPGSerializer.serialize(save, out);
-    }
-
-    public char getSerializationCode()
-    {
-        return PhotranVPGSerializer.CLASS_DEFINITION;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/DefinitionCollector.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/DefinitionCollector.java
deleted file mode 100644
index 36b2a6d..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/DefinitionCollector.java
+++ /dev/null
@@ -1,638 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTArraySpecNode;
-import org.eclipse.photran.internal.core.parser.ASTAssociationNode;
-import org.eclipse.photran.internal.core.parser.ASTBlockDataStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTCommonBlockNode;
-import org.eclipse.photran.internal.core.parser.ASTCommonStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTComponentDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTDataComponentDefStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTDerivedTypeStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTEntryStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEnumeratorDefStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEnumeratorNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTExternalNameListNode;
-import org.eclipse.photran.internal.core.parser.ASTExternalStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTForallConstructStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTIfThenStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTInterfaceBlockNode;
-import org.eclipse.photran.internal.core.parser.ASTInterfaceBodyNode;
-import org.eclipse.photran.internal.core.parser.ASTInterfaceStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTIntrinsicListNode;
-import org.eclipse.photran.internal.core.parser.ASTIntrinsicStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTLabelDoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTNamelistGroupsNode;
-import org.eclipse.photran.internal.core.parser.ASTNamelistStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTProgramStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSelectCaseStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSelectTypeStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTStmtFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeAttrSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeParamDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeParamDefStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTWhereConstructStmtNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IInterfaceSpecification;
-import org.eclipse.photran.internal.core.parser.IProgramUnit;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * Phase 3 of name-binding analysis.
- * <p> 
- * Visits an AST, constructing {@link Definition} objects and binding identifier
- * (T_IDENT) tokens in declaration statements.
- * <p> 
- * Operators are NOT included in the symbol table.
- * 
- * @author Jeff Overbey
- * @see Binder
- */
-class DefinitionCollector extends BindingCollector
-{
-    protected IFile file;
-
-    public DefinitionCollector(IFile file)
-    {
-    	this.vpgProvider = PhotranVPG.getProvider();
-    	
-        this.file = file;
-    }
-
-    // --VISITOR METHODS-------------------------------------------------
-
-    // # R423
-    // <DerivedTypeStmt> ::=
-    // <LblDef> T_TYPE <TypeName> T_EOS
-    // | <LblDef> T_TYPE T_COLON T_COLON <TypeName> T_EOS
-    // | <LblDef> T_TYPE T_COMMA <AccessSpec> T_COLON T_COLON <TypeName> T_EOS
-
-    @Override public void visitASTDerivedTypeStmtNode(ASTDerivedTypeStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        Definition d = addDefinition(node.getTypeName(), Definition.Classification.DERIVED_TYPE, Type.VOID);
-        
-        ScopingNode enclosingScope = node.findNearestAncestor(ScopingNode.class);
-        
-//        if (node.getAccessSpec() != null)
-//            d.setVisibility(node.getAccessSpec());
-        // Change for Fortran 2003
-        if (node.getTypeAttrSpecList() != null)
-            for (ASTTypeAttrSpecNode attrSpec : node.getTypeAttrSpecList())
-                if (attrSpec.getAccessSpec() != null)
-                    d.setVisibility(attrSpec.getAccessSpec(), enclosingScope);
-        
-        // F03 -- Don't bind derived type parameters since we don't bind derived type components yet
-        // (so there is no scope for the derived type).  When we do, should also bind
-        // ASTTypeParamDefStmtNode 
-//        if (node.getTypeParamNameList() != null)
-//            for (ASTTypeParamNameNode typeParam : node.getTypeParamNameList())
-//                addDefinition(typeParam.getTypeParamName(), Definition.Classification.DERIVED_TYPE_PARAMETER);
-    }
-
-    // # R425
-    // <ComponentDefStmt> ::=
-    // <LblDef> <TypeSpec> T_COMMA <ComponentAttrSpecList> T_COLON T_COLON <ComponentDeclList> T_EOS
-    // | <LblDef> <TypeSpec> T_COLON T_COLON <ComponentDeclList> T_EOS
-    // | <LblDef> <TypeSpec> <ComponentDeclList> T_EOS
-    //
-    // <ComponentDecl> ::=
-    // <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN T_ASTERISK <CharLength> <ComponentInitialization>
-    // | <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN <ComponentInitialization>
-    // | <ComponentName> T_ASTERISK <CharLength> <ComponentInitialization>
-    // | <ComponentName> <ComponentInitialization>
-    // | <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN T_ASTERISK <CharLength>
-    // | <ComponentName> T_LPAREN <ComponentArraySpec> T_RPAREN
-    // | <ComponentName> T_ASTERISK <CharLength>
-    // | <ComponentName>
-
-    @Override public void visitASTDataComponentDefStmtNode(ASTDataComponentDefStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTComponentDeclNode> decls = node.getComponentDeclList();
-        for (int i = 0; i < decls.size(); i++)
-            addDefinition(decls.get(i).getComponentName().getComponentName(),
-                          Definition.Classification.DERIVED_TYPE_COMPONENT,
-                          Type.parse(node.getTypeSpec()));
-    }
-
-    // # R501
-    // <TypeDeclarationStmt> ::=
-    // <LblDef> <TypeSpec> <AttrSpecSeq> T_COLON T_COLON <EntityDeclList> T_EOS
-    // | <LblDef> <TypeSpec> T_COLON T_COLON <EntityDeclList> T_EOS
-    // | <LblDef> <TypeSpec> <EntityDeclList> T_EOS
-    //
-    // # R504
-    // <EntityDeclList> ::=
-    //   <EntityDecl>
-    // | @:<EntityDeclList> T_COMMA <EntityDecl>
-
-    @Override public void visitASTTypeDeclarationStmtNode(ASTTypeDeclarationStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        ScopingNode enclosingScope = node.findNearestAncestor(ScopingNode.class);
-        
-        IASTListNode<ASTEntityDeclNode> decls = node.getEntityDeclList();
-        if (decls != null)
-        {
-            for (int i = 0; i < decls.size(); i++)
-            {
-                ASTEntityDeclNode entityDecl = decls.get(i);
-                Token objectNameIdent = getObjectNameIdent(entityDecl);
-                
-                Definition def = addDefinition(objectNameIdent,
-                                               Definition.Classification.VARIABLE_DECLARATION,
-                                               Type.parse(node.getTypeSpec()));
-                def.setAttributes(node.getAttrSpecSeq(), enclosingScope);
-                def.setArraySpec(getArraySpec(entityDecl)); // (p.119) This overrides the DIMENSION attribute
-                setDefinition(objectNameIdent, def);
-            }
-        }
-    }
-
-    // <EntityDecl> ::=
-    //   <ObjectName> ( T_LPAREN <ArraySpec> T_RPAREN )? ( T_ASTERISK <CharLength> )? <Initialization>?
-    // | <InvalidEntityDecl>
-    //
-    // <InvalidEntityDecl> ::=
-    //   <ObjectName> T_ASTERISK <CharLength> T_LPAREN <ArraySpec> T_RPAREN <Initialization>?
-    
-    private Token getObjectNameIdent(ASTEntityDeclNode entityDecl)
-    {
-        super.traverseChildren(entityDecl);
-        return entityDecl.getObjectName().getObjectName();
-    }
-    
-    private ASTArraySpecNode getArraySpec(ASTEntityDeclNode entityDecl)
-    {
-        super.traverseChildren(entityDecl);
-        return entityDecl.getArraySpec();
-    }
-
-    // # R544
-    // <NamelistStmt> ::=
-    // <LblDef> T_NAMELIST <NamelistGroups> T_EOS
-    //
-    // <NamelistGroups> ::=
-    // T_SLASH <NamelistGroupName> T_SLASH <NamelistGroupObject>
-    // | @:<NamelistGroups> T_SLASH <NamelistGroupName> T_SLASH <NamelistGroupObject>
-    // | @:<NamelistGroups> T_COMMA T_SLASH <NamelistGroupName> T_SLASH <NamelistGroupObject>
-    // | @:<NamelistGroups> T_COMMA <NamelistGroupObject>
-    //
-    // # R545
-    // <NamelistGroupObject> ::= <VariableName>
-
-    @Override public void visitASTNamelistStmtNode(ASTNamelistStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTNamelistGroupsNode> groups = node.getNamelistGroups();
-        for (int i = 0; i < groups.size(); i++)
-        {
-            Token name = groups.get(i).getNamelistGroupName();
-            //Token object = groups.get(i).getVariableName();
-            if (name != null) addDefinition(name, Definition.Classification.NAMELIST);
-        }
-    }
-
-    // # R549
-    // <CommonStmt> ::=
-    // <LblDef> T_COMMON <Comlist> T_EOS
-    //
-    // <Comlist> ::=
-    // <CommonBlockObject>
-    // | <Comblock> <CommonBlockObject>
-    // | @:<Comlist> T_COMMA <CommonBlockObject>
-    // | @:<Comlist> <Comblock> <CommonBlockObject>
-    // | @:<Comlist> T_COMMA <Comblock> <CommonBlockObject>
-    //
-    // <Comblock> ::=
-    // T_SLASH T_SLASH
-    // | T_SLASH <CommonBlockName> T_SLASH
-    //
-    // # R550
-    // <CommonBlockObject> ::=
-    // <VariableName>
-    // | <ArrayDeclarator>
-
-    @Override public void visitASTCommonStmtNode(ASTCommonStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTCommonBlockNode> list = node.getCommonBlockList();
-        for (int i = 0; i < list.size(); i++)
-        {
-            if (list.get(i).getName() != null)
-            {
-                Token commonBlockName = list.get(i).getName().getCommonBlockName();
-                addDefinition(commonBlockName, Definition.Classification.COMMON_BLOCK);
-                vpgProvider.markFileAsUsingCommonBlock(file, commonBlockName.getText());
-            }
-        }
-    }
-
-    // # R740
-    // <WhereConstructStmt> ::=
-    // <LblDef> <Name> T_COLON T_WHERE T_LPAREN <MaskExpr> T_RPAREN T_EOS
-    // | <LblDef> T_WHERE T_LPAREN <MaskExpr> T_RPAREN T_EOS
-
-    @Override public void visitASTWhereConstructStmtNode(ASTWhereConstructStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getName() != null) addDefinition(node.getName(),
-                                                     Definition.Classification.WHERE,
-                                                     Type.VOID);
-    }
-
-    // # R748
-    // <ForallConstructStmt> ::=
-    // <LblDef> T_FORALL <ForallHeader> T_EOS
-    // | <LblDef> <Name> T_COLON T_FORALL <ForallHeader> T_EOS
-
-    @Override public void visitASTForallConstructStmtNode(ASTForallConstructStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getName() != null) addDefinition(node.getName(),
-                                                  Definition.Classification.FORALL);
-    }
-
-    // # R803
-    // <IfThenStmt> ::=
-    // <LblDef> T_IF T_LPAREN <Expr> T_RPAREN T_THEN T_EOS
-    // | <LblDef> <Name> T_COLON T_IF T_LPAREN <Expr> T_RPAREN T_THEN T_EOS
-
-    @Override public void visitASTIfThenStmtNode(ASTIfThenStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getName() != null) addDefinition(node.getName(),
-                                                             Definition.Classification.IF);
-    }
-
-    // # R809 chain rule eliminated
-    // <SelectCaseStmt> ::=
-    // <LblDef> <Name> T_COLON T_SELECTCASE T_LPAREN <Expr> T_RPAREN T_EOS
-    // | <LblDef> T_SELECTCASE T_LPAREN <Expr> T_RPAREN T_EOS
-    // | <LblDef> <Name> T_COLON T_SELECT T_CASE T_LPAREN <Expr> T_RPAREN T_EOS
-    // | <LblDef> T_SELECT T_CASE T_LPAREN <Expr> T_RPAREN T_EOS
-
-    @Override public void visitASTSelectCaseStmtNode(ASTSelectCaseStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getName() != null) addDefinition(node.getName(),
-                                                                 Definition.Classification.SELECT);
-    }
-
-    // # R818
-    // <LabelDoStmt> ::=
-    // <LblDef> T_DO <LblRef> <CommaLoopControl> T_EOS
-    // | <LblDef> T_DO <LblRef> T_EOS
-    // | <LblDef> T_DO <CommaLoopControl> T_EOS
-    // | <LblDef> T_DO T_EOS
-    // | <LblDef> <Name> T_COLON T_DO <LblRef> <CommaLoopControl> T_EOS
-    // | <LblDef> <Name> T_COLON T_DO <LblRef> T_EOS
-    // | <LblDef> <Name> T_COLON T_DO <CommaLoopControl> T_EOS
-    // | <LblDef> <Name> T_COLON T_DO T_EOS
-
-    @Override public void visitASTLabelDoStmtNode(ASTLabelDoStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getName() != null) addDefinition(node.getName(),
-                                                             Definition.Classification.DO);
-    }
-
-    // # R1102
-    // <ProgramStmt> ::=
-    // <LblDef> T_PROGRAM <ProgramName> T_EOS
-
-    @Override public void visitASTProgramStmtNode(ASTProgramStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        //NO!!! exitScope(); // We already pushed a Scope for a main program, just in case there was no ASTProgramStmt
-        addDefinition(node.getProgramName().getProgramName(), Definition.Classification.MAIN_PROGRAM, Type.VOID);
-    }
-
-    // # R1105
-    // <ModuleStmt> ::=
-    // <LblDef> T_MODULE <ModuleName> T_EOS
-
-    @Override public void visitASTModuleStmtNode(ASTModuleStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        addDefinition(node.getModuleName().getModuleName(), Definition.Classification.MODULE, Type.VOID);
-        try
-        {
-            Token moduleNameToken = node.getModuleName().getModuleName();
-            markModuleExport(file, moduleNameToken);
-        }
-        catch (Exception e) { throw new Error(e); }
-    }
-    
-    
-    // # R1113
-    // <BlockDataStmt> ::=
-    // <LblDef> T_BLOCKDATA <BlockDataName> T_EOS
-    // | <LblDef> T_BLOCKDATA T_EOS
-
-    @Override public void visitASTBlockDataStmtNode(ASTBlockDataStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        Token token = node.getBlockDataName() == null ? null : node.getBlockDataName().getBlockDataName();
-        addDefinition(token, Definition.Classification.BLOCK_DATA, Type.VOID);
-    }
-
-    // # R1203
-    // <InterfaceStmt> ::=
-    // <LblDef> T_INTERFACE <GenericName> T_EOS
-    // | <LblDef> T_INTERFACE <GenericSpec> T_EOS
-    // | <LblDef> T_INTERFACE T_EOS
-
-    @Override public void visitASTInterfaceStmtNode(ASTInterfaceStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getGenericName() != null)
-            addDefinition(node.getGenericName().getGenericName(), Definition.Classification.INTERFACE, Type.UNKNOWN);
-        else if (node.getGenericSpec() != null)
-            addDefinition(null, Definition.Classification.INTERFACE, Type.UNKNOWN);
-    }
-
-    // # R1208
-    // <ExternalStmt> ::=
-    // <LblDef> T_EXTERNAL <ExternalNameList> T_EOS
-    // | <LblDef> T_EXTERNAL T_COLON T_COLON <ExternalNameList> T_EOS
-    //
-    // <ExternalNameList> ::=
-    // <ExternalName>
-    // | @:<ExternalNameList> T_COMMA <ExternalName>
-
-    @Override public void visitASTExternalStmtNode(ASTExternalStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTExternalNameListNode> list = node.getExternalNameList();
-        for (int i = 0; i < list.size(); i++)
-        {
-            addDefinition(list.get(i).getExternalName(), Definition.Classification.EXTERNAL, Type.UNKNOWN);
-            markSubprogramImport(list.get(i).getExternalName());
-        }
-    }
-
-    // # R1209
-    // <IntrinsicStmt> ::=
-    // <LblDef> T_INTRINSIC <IntrinsicList> T_EOS
-    // | <LblDef> T_INTRINSIC T_COLON T_COLON <IntrinsicList> T_EOS
-    //
-    // <IntrinsicList> ::=
-    // <IntrinsicProcedureName>
-    // | @:<IntrinsicList> T_COMMA <IntrinsicProcedureName>
-
-    @Override public void visitASTIntrinsicStmtNode(ASTIntrinsicStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTIntrinsicListNode> list = node.getIntrinsicList();
-        for (int i = 0; i < list.size(); i++)
-            addDefinition(list.get(i).getIntrinsicProcedureName(), Definition.Classification.INTRINSIC, Type.UNKNOWN);
-    }
-
-    // # R1217 chain rule deleted
-    // <FunctionStmt> ::=
-    // <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN <FunctionPars> T_RPAREN ( T_RESULT T_LPAREN <Name> T_RPAREN )? T_EOS
-    // | <LblDef> <FunctionPrefix> <FunctionName> /error/ T_EOS
-    //
-    // <FunctionPars> ::=
-    // /empty/
-    // | <FunctionPar>
-    // | @:<FunctionPars> T_COMMA <FunctionPar>
-    //
-    // <FunctionPar> ::= <DummyArgName>
-    //
-    // # R1218
-    // <FunctionPrefix> ::=
-    // T_FUNCTION
-    // | <PrefixSpecList> T_FUNCTION
-    //
-    // <PrefixSpecList> ::=
-    // <PrefixSpec>
-    // | @:<PrefixSpecList> <PrefixSpec>
-    //
-    // # R1219
-    // <PrefixSpec> ::=
-    // <TypeSpec>
-    // | T_RECURSIVE
-    // | T_PURE
-    // | T_ELEMENTAL
-
-    @Override public void visitASTFunctionStmtNode(ASTFunctionStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        addDefinition(node.getFunctionName().getFunctionName(), Definition.Classification.FUNCTION, Type.UNKNOWN);
-    }
-
-    // # R1222
-    // <SubroutineStmt> ::=
-    // <LblDef> <SubroutinePrefix> <SubroutineName> ( T_LPAREN <SubroutinePars> T_RPAREN )? T_EOS
-    // | <LblDef> <SubroutinePrefix> <SubroutineName> /error/ T_EOS
-    //
-    // <SubroutinePrefix> ::=
-    // T_SUBROUTINE
-    // | <PrefixSpecList> T_SUBROUTINE
-    //
-    // <SubroutinePars> ::=
-    // /empty/
-    // | <SubroutinePar>
-    // | @:<SubroutinePars> T_COMMA <SubroutinePar>
-    //
-    // # R1223
-    // <SubroutinePar> ::=
-    // <DummyArgName>
-    // | T_ASTERISK
-
-    @Override public void visitASTSubroutineStmtNode(ASTSubroutineStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        addDefinition(node.getSubroutineName().getSubroutineName(), Definition.Classification.SUBROUTINE, Type.VOID);
-    }
-
-    // # R1225 - JO - Macro substituted
-    // <EntryStmt> ::=
-    // <LblDef> T_ENTRY <EntryName> ( T_LPAREN <SubroutinePars> T_RPAREN )? T_EOS
-
-    @Override public void visitASTEntryStmtNode(ASTEntryStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        // TODO Implement ENTRY statements
-        
-//        // TO-DO: No syntax for function entries (with result parameter)
-//        // Then declare local result variable with entry name if no result exists
-//
-//        // TO-DO: Entries should have the same scope as the function in which they are defined
-//        addDefinition(node.getEntryName().getTIdent(), Definition.Classification.ENTRY, Type.UNKNOWN);
-//
-//        if (node.getSubroutinePars() != null)
-//        {
-//            ASTSubroutineParsNode list = node.getSubroutinePars();
-//            for (int i = 0; i < list.size(); i++)
-//                addDefinition(list.getSubroutinePar(i).getDummyArgName().getTIdent(), Definition.Classification.SUBPROGRAM_ARGUMENT);
-//        }
-    }
-
-    // # R1228
-    // # This may turn out to be an assignment statement, but the form given here
-    // # allows for name analysis in the case that it actually IS a statement
-    // # function definition;
-    // <StmtFunctionStmt> ::= <LblDef> <Name> <StmtFunctionRange>
-    //
-    // <StmtFunctionRange> ::= T_LPAREN T_RPAREN T_EQUALS <Expr> T_EOS
-    //
-    // <StmtFunctionRange> ::= T_LPAREN <SFDummyArgNameList> T_RPAREN T_EQUALS <Expr> T_EOS
-    //
-    // <SFDummyArgNameList> ::=
-    // <SFDummyArgName>
-    // | @:<SFDummyArgNameList> T_COMMA <SFDummyArgName>
-
-    @Override public void visitASTStmtFunctionStmtNode(ASTStmtFunctionStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        // Assume this is actually an assignment statement instead of a statement function
-    }
-
-    @Override public void visitASTExecutableProgramNode(ASTExecutableProgramNode node)
-    {
-        super.visitASTExecutableProgramNode(node);
-        markExternalSubprogramExports(node);
-    }
-    
-    // F03
-    @Override public void visitASTTypeParamDefStmtNode(ASTTypeParamDefStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTTypeParamDeclNode> list = node.getTypeParamDeclList();
-        for (int i = 0; i < list.size(); i++)
-            bind(list.get(i).getTypeParamName());
-    }
-
-    // F03
-    @Override public void visitASTEnumeratorDefStmtNode(ASTEnumeratorDefStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        for (ASTEnumeratorNode enumNode : node.getEnumeratorList())
-            addDefinition(enumNode.getNamedConstant().getNamedConstant(), Definition.Classification.ENUMERATOR, Type.INTEGER);
-    }
-
-    // F03  TODO: associate-construct-name
-    @Override public void visitASTAssociationNode(ASTAssociationNode node)
-    {
-        super.traverseChildren(node);
-        
-        addDefinition(node.getAssociateName(), Definition.Classification.VARIABLE_DECLARATION, Type.UNKNOWN); // TODO: Type
-    }
-    
-    // F03  TODO: select-construct-name
-    @Override public void visitASTSelectTypeStmtNode(ASTSelectTypeStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getAssociateName() != null)
-            addDefinition(node.getAssociateName(), Definition.Classification.VARIABLE_DECLARATION, Type.UNKNOWN); // TODO: Type
-    }
-
-    private void markExternalSubprogramExports(ASTExecutableProgramNode node)
-    {
-        for (IProgramUnit pu : node.getProgramUnitList())
-        {
-            if (pu instanceof ASTSubroutineSubprogramNode)
-            {
-                ASTSubroutineSubprogramNode subroutine = (ASTSubroutineSubprogramNode)pu;
-                markSubprogramExport(subroutine.getSubroutineStmt().getSubroutineName().getSubroutineName());
-            }
-            else if (pu instanceof ASTFunctionSubprogramNode)
-            {
-                ASTFunctionSubprogramNode function = (ASTFunctionSubprogramNode)pu;
-                markSubprogramExport(function.getFunctionStmt().getFunctionName().getFunctionName());
-            }
-        }
-    }
-    
-    private void markSubprogramExport(Token subprogramNameToken)
-    {
-        try
-        {
-            markSubprogramExport(file, subprogramNameToken);
-        }
-        catch (Exception e) { throw new Error(e); }
-    }
-
-    @Override public void visitASTInterfaceBlockNode(ASTInterfaceBlockNode node)
-    {
-        super.visitASTInterfaceBlockNode(node);
-//        if (node.getInterfaceStmt().getGenericName() == null
-//            && node.getInterfaceStmt().getGenericSpec() == null)
-            markMatchingDeclarationsInInterfacesForExtSubprog(node);
-    }
-
-    private void markMatchingDeclarationsInInterfacesForExtSubprog(ASTInterfaceBlockNode node)
-    {
-        for (IInterfaceSpecification pu : node.getInterfaceBlockBody())
-        {
-            if (pu instanceof ASTInterfaceBodyNode)
-            {
-                ASTInterfaceBodyNode b = (ASTInterfaceBodyNode)pu;
-                
-                Token name;
-                if (b.getFunctionStmt() != null)
-                    name = b.getFunctionStmt().getFunctionName().getFunctionName();
-                else
-                    name = b.getSubroutineStmt().getSubroutineName().getSubroutineName();
-                
-                markSubprogramImport(name);
-            }
-        }
-    }
-    
-    private void markSubprogramImport(Token subprogramNameToken)
-    {
-        try
-        {
-            markSubprogramImport(file, subprogramNameToken);
-        }
-        catch (Exception e) { throw new Error(e); }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/DefinitionPrint.txt b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/DefinitionPrint.txt
deleted file mode 100644
index c01eb27..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/DefinitionPrint.txt
+++ /dev/null
@@ -1,82 +0,0 @@
-    
-    // Debugging ----------------------------------------------------------------------------------
-
-    public void printGlobalSymbolTableOn(PrintStream out)
-    {
-        enclosingScope.printGlobalSymbolTableOn(out);
-    }
-    
-    public String toString()
-    {
-    	return toString(0);
-    }
-
-    String toString(int indent)
-    {
-        StringBuffer sb = new StringBuffer();
-        indent(indent, sb);
-        if (this instanceof Definition) sb.append(((Definition)this).isPublic() ? "Public " : "Private ");
-        sb.append(this.getClass().getSimpleName());
-        sb.append(" ");
-        sb.append(describe());
-        return sb.toString();
-    }
-
-    public String describe()
-    {
-        StringBuffer sb = new StringBuffer();
-        
-        sb.append(this.describeBindingClassification());
-        sb.append(": '");
-        sb.append(this.getCanonicalName());
-        sb.append("'");
-
-        sb.append(describeLocation());
-        
-        return sb.toString();
-    }
-
-    public String describeLocation()
-    {
-        StringBuffer sb = new StringBuffer();
-        
-        sb.append(" on ");
-        sb.append(describeLineCol());
-        
-        //if (isExternal())
-        if (containerFile != null)
-        {
-            sb.append(" in ");
-            sb.append(describeFilePath());
-//            sb.append(" (offset ");
-//            sb.append(offset);
-//            sb.append(", length ");
-//            sb.append(length);
-//            sb.append(")");
-        }
-        
-        return sb.toString();
-    }
-
-    public String describeFilePath()
-    {
-        return containerFile.getFullPath().toOSString();
-    }
-
-    public String describeLineCol()
-    {
-        Token token = this.findSourceToken();
-        
-        if (token != null)
-            return LineCol.toString(token.getLine(), token.getCol());
-        else
-            return null;
-    }
-
-    protected abstract String describeBindingClassification();
-
-    protected void indent(int indent, StringBuffer sb)
-    {
-        for (int i = 0; i < indent; i++)
-            sb.append(' ');
-    }
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ImplicitSpec.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ImplicitSpec.java
deleted file mode 100644
index 43a407d..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ImplicitSpec.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.PrintStream;
-
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTImplicitSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.vpg.IPhotranSerializable;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGSerializer;
-
-/**
- * An IMPLICIT specification.
- * 
- * @author Jeff Overbey
- */
-public class ImplicitSpec implements IPhotranSerializable
-{
-	private static final long serialVersionUID = 1L;
-
-    // ***WARNING*** If any fields change, the serialization methods (below) must also change!
-    
-	private String toString = "Implicit Enabled - Default Implicit Spec: real (a-h), integer (i-n), real (o-z)"; //$NON-NLS-1$
-    private Type[] typeMap = { Type.REAL,    // A
-                               Type.REAL,    // B
-                               Type.REAL,    // C
-                               Type.REAL,    // D
-                               Type.REAL,    // E
-                               Type.REAL,    // F
-                               Type.REAL,    // G
-                               Type.REAL,    // H
-                               Type.INTEGER, // I
-                               Type.INTEGER, // J
-                               Type.INTEGER, // K
-                               Type.INTEGER, // L
-                               Type.INTEGER, // M
-                               Type.INTEGER, // N
-                               Type.REAL,    // O
-                               Type.REAL,    // P
-                               Type.REAL,    // Q
-                               Type.REAL,    // R
-                               Type.REAL,    // S
-                               Type.REAL,    // T
-                               Type.REAL,    // U
-                               Type.REAL,    // V
-                               Type.REAL,    // W
-                               Type.REAL,    // X
-                               Type.REAL,    // Y
-                               Type.REAL     // Z
-    };
-
-    /**
-     * Create an implicit spec with the default type map (see above)
-     */
-    public ImplicitSpec()
-    {
-    }
-    
-    /**
-     * Create an implicit spec for the given <T_xImplicitSpecList> parse tree node
-     * @param txImplicitSpecList
-     */
-    public ImplicitSpec(IASTListNode<ASTImplicitSpecNode> implicitSpecList)
-    {
-    	toString = "Implicit Enabled -" + getSourceCodeFromASTNode(implicitSpecList); //$NON-NLS-1$
-    	
-        implicitSpecList.accept(new ASTVisitor()
-        {
-            @Override
-            public void visitASTImplicitSpecNode(ASTImplicitSpecNode implicitSpec)
-            {
-                // traverseChildren(implicitSpec);
-                
-                // <T_xImplicitSpec> ::= <xTypeSpec> T_xImpl
-                
-                Type type = Type.parse(implicitSpec.getTypeSpec());
-                Token impl = implicitSpec.getCharRanges();
-                setRangesToType(impl, type);
-            }
-
-            private void setRangesToType(Token txImpl, Type type)
-            {
-                // Range = [a-zA-Z](-[a-zA-Z])?
-                // xImpl = "(" [ \t]* {Range} ([ \t]* "," [ \t]* {Range})* ")"
-                
-                String rangeList = txImpl.getText().replaceAll("[ \t]", ""); //$NON-NLS-1$ //$NON-NLS-2$
-                rangeList = rangeList.substring(1, rangeList.length()-1); // Trim commas
-                String[] ranges = rangeList.split(","); //$NON-NLS-1$
-                
-                for (String range : ranges)
-                    setRangeToType(range, type);
-            }
-
-            private void setRangeToType(String range, Type type)
-            {
-                char rangeStart = range.charAt(0);
-                char rangeEnd = (range.length() == 3 ? range.charAt(2) : rangeStart);
-                
-                for (char letter = rangeStart; letter <= rangeEnd; letter++)
-                    setType(letter, type);
-            }
-        });
-    }
-    
-    public ImplicitSpec(ImplicitSpec original)
-    {
-        this.typeMap = (original == null || original.typeMap == null ? null : original.typeMap.clone());
-    }
-    
-    /**
-     * Indicates that non-declared identifiers beginning with <code>letter</code> should
-     * implicitly have type <code>type</code>.
-     * 
-     * @param letter
-     * @param type
-     */
-    public void setType(char letter, Type type)
-    {
-        if (!Character.isLetter(letter)) return; //throw new Error("Non-letter passed to setType");
-        letter = Character.toUpperCase(letter);
-        typeMap[letter - 'A'] = type;
-    }
-
-    /**
-     * @param letter
-     * @return the type that non-declared identifiers beginning with <code>letter</code>
-     *         should have
-     */
-    public Type getType(char letter)
-    {
-        if (!Character.isLetter(letter))
-            return Type.REAL;
-        else
-        {
-            letter = Character.toUpperCase(letter);
-            return typeMap[letter - 'A'];
-        }
-    }
-    
-    // Copied from SourcePrinter; refactor somehow
-    private static String getSourceCodeFromASTNode(IASTNode node)
-    {
-        ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
-        node.printOn(new PrintStream(out), null);
-        return out.toString();
-    }
-    
-    @Override public String toString()
-    {
-    	return toString;
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////
-    // IPhotranSerializable Implementation
-    ////////////////////////////////////////////////////////////////////////////////
-
-//    private String toString = "Implicit Enabled - Default Implicit Spec: real (a-h), integer (i-n), real (o-z)";
-//    private Type[] typeMap = { Type.REAL,    // A
-
-    public void writeTo(OutputStream out) throws IOException
-    {
-        PhotranVPGSerializer.serialize(toString, out);
-        
-        for (int i = 0; i < typeMap.length; i++)
-            PhotranVPGSerializer.serialize(typeMap[i], out);
-    }
-    
-    public static ImplicitSpec readFrom(InputStream in) throws IOException
-    {
-        ImplicitSpec result = new ImplicitSpec();
-        
-        result.toString = PhotranVPGSerializer.deserialize(in);
-        
-        for (int i = 0; i < result.typeMap.length; i++)
-            result.typeMap[i] = PhotranVPGSerializer.deserialize(in);
-        
-        return result;
-    }
-    
-    public char getSerializationCode()
-    {
-        return PhotranVPGSerializer.CLASS_IMPLICITSPEC;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ImplicitSpecCollector.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ImplicitSpecCollector.java
deleted file mode 100644
index 99bac94..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ImplicitSpecCollector.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import org.eclipse.photran.internal.core.parser.ASTBlockDataSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTDerivedTypeDefNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTImplicitStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTInterfaceBlockNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-
-/**
- * Phase 1 of name-binding analysis.
- * <p> 
- * Visits an AST, collecting implicit statements and updating the VPG accordingly.
- * <p>
- * This visitor should be run <i>top-down:</i> Each scoping node initially inherits the implicit
- * spec of its enclosing scope, and then if an IMPLICIT statement is encountered (as the
- * children of that scoping node are visited), its implicit spec will be adjusted accordingly.
- * 
- * @author Jeff Overbey
- * @see Binder
- */
-class ImplicitSpecCollector extends BindingCollector
-{
-    // # R541
-    // <ImplicitStmt> ::=
-    //   | <LblDef> T_IMPLICIT <ImplicitSpecList> T_EOS
-    //   | <LblDef> T_IMPLICIT T_NONE             T_EOS
-    // 
-    // # R542
-    // <ImplicitSpecList> ::=
-    //   |                              <ImplicitSpec>
-    //   | @:<ImplicitSpecList> T_COMMA <ImplicitSpec>
-    // 
-    // <ImplicitSpec> ::= <TypeSpec> T_xImpl
-
-    @Override public void visitASTImplicitStmtNode(ASTImplicitStmtNode node)
-    {
-    	ImplicitSpec implicitSpec = null;
-    	
-    	if (node.getImplicitSpecList() != null)
-    		implicitSpec = new ImplicitSpec(node.getImplicitSpecList());
-    	
-    	try { vpgProvider.setScopeImplicitSpec(node.getImplicitToken().getEnclosingScope(), implicitSpec); }
-    	catch (Exception e) { throw new Error(e); }
-    	
-    	super.traverseChildren(node);
-    }
-
-	@Override public void visitASTExecutableProgramNode(ASTExecutableProgramNode node)
-	{
-		setDefaultImplicitSpec(node);
-        super.traverseChildren(node);
-	}
-
-	@Override public void visitASTMainProgramNode(ASTMainProgramNode node)
-	{
-		setDefaultImplicitSpec(node);
-        super.traverseChildren(node);
-	}
-
-	@Override public void visitASTFunctionSubprogramNode(ASTFunctionSubprogramNode node)
-	{
-		setDefaultImplicitSpec(node);
-        super.traverseChildren(node);
-	}
-	
-	@Override public void visitASTSubroutineSubprogramNode(ASTSubroutineSubprogramNode node)
-	{
-		setDefaultImplicitSpec(node);
-        super.traverseChildren(node);
-	}
-
-	@Override public void visitASTModuleNode(ASTModuleNode node)
-	{
-		setDefaultImplicitSpec(node);
-        super.traverseChildren(node);
-	}
-
-	@Override public void visitASTBlockDataSubprogramNode(ASTBlockDataSubprogramNode node)
-	{
-		setDefaultImplicitSpec(node);
-        super.traverseChildren(node);
-	}
-
-	@Override public void visitASTDerivedTypeDefNode(ASTDerivedTypeDefNode node)
-	{
-		setDefaultImplicitSpec(node);
-        super.traverseChildren(node);
-	}
-
-	@Override public void visitASTInterfaceBlockNode(ASTInterfaceBlockNode node)
-	{
-		setDefaultImplicitSpec(node);
-        super.traverseChildren(node);
-	}
-	
-	private void setDefaultImplicitSpec(ScopingNode node)
-    {
-		if (!ScopingNode.isScopingNode(node)) return; // May be anonymous interface block
-		
-		ImplicitSpec implicitSpec;
-		
-		if (node == node.getGlobalScope())
-			implicitSpec = new ImplicitSpec();
-		else
-			implicitSpec = node.getEnclosingScope().getImplicitSpec();
-		
-		try { vpgProvider.setScopeImplicitSpec(node, implicitSpec); }
-	    catch (Exception e) { throw new Error(e); }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Intrinsic.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Intrinsic.java
deleted file mode 100644
index f4723f7..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Intrinsic.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.intrinsics.IntrinsicProcDescription;
-import org.eclipse.photran.internal.core.intrinsics.Intrinsics;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * Collection of all intrinsic functions in Fortran.  A static method
- * is provided to attempt to resolve a Token to an intrinsic procedure.
- * 
- * @author Jeff Overbey
- */
-public class Intrinsic extends Definition
-{
-    private static final long serialVersionUID = 1L;
-
-    public Intrinsic(String declaredName, PhotranTokenRef tokenRef)
-    {
-    	super(declaredName, tokenRef, Definition.Classification.INTRINSIC, /*Visibility.PUBLIC,*/ Type.UNKNOWN);
-    }
-
-    @Override
-    public boolean isExternallyVisibleSubprogramDefinition()
-    {
-        return false;
-    }
-
-    @Override
-    public boolean isSubprogram()
-    {
-        return true;
-    }
-
-//        @Override
-//        public boolean isExternal()
-//        {
-//            return false;
-//        }
-
-    @Override
-    public String describe()
-    {
-        String canonicalizedName = PhotranVPG.canonicalizeIdentifier(declaredName);
-        
-        IntrinsicProcDescription proc = Intrinsics.get(canonicalizedName);
-        if (proc == null)
-            return ""; //$NON-NLS-1$
-        else
-            return proc.toString();
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // BINDING RESOLUTION
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    /** @return all Definitions in this scope to which the given name resolves */
-    public static Definition resolve(Token identifier)
-    {
-        String canonicalizedName = PhotranVPG.canonicalizeIdentifier(identifier.getText());
-        
-        for (IntrinsicProcDescription intrinsic : Intrinsics.getAllIntrinsicProcedures())
-           if (PhotranVPG.canonicalizeIdentifier(intrinsic.genericName).equals(canonicalizedName))
-               return new Intrinsic(identifier.getText(), identifier.getTokenRef());
-
-        return null;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Messages.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Messages.java
deleted file mode 100644
index ed23726..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/Messages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.core.analysis.binding.messages"; //$NON-NLS-1$
-
-    public static String ModuleLoader_LoadingModule;
-
-    public static String ModuleLoader_ModuleNotFoundInFile;
-
-    public static String ModuleLoader_ModuleNotFoundInModulePathsButFoundElsewhere;
-
-    public static String ModuleLoader_NoFilesExportAModuleNamed;
-
-    public static String ScopingNode_Anonymous;
-
-    public static String ScopingNode_EmptyFile;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ModuleLoader.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ModuleLoader.java
deleted file mode 100644
index b72db69..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ModuleLoader.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTOnlyNode;
-import org.eclipse.photran.internal.core.parser.ASTRenameNode;
-import org.eclipse.photran.internal.core.parser.ASTUseStmtNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IProgramUnit;
-import org.eclipse.photran.internal.core.properties.SearchPathProperties;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * Phase 6 of name-binding analysis.
- * <p>
- * Visits USE statements in an AST, marking a dependency in the VPG,
- * locating the used module, and importing declarations from it.
- * <p>
- * The user may provide module paths (via the Eclipse
- * project properties), which are applied when locating the module.
- *
- * @author Jeff Overbey
- * @see Binder
- */
-public class ModuleLoader extends VisibilityCollector
-{
-    // Visit USE statements and Access-Spec statements first to make sure
-    // all definitions are imported;
-    // then annotate the "module:whatever" virtual file in the VPG with
-    // the full module symbol table
-    @Override
-    public void visitASTModuleNode(ASTModuleNode node)
-    {
-        traverseChildren(node);
-
-        // TODO: Apply module paths
-        Token moduleName = node.getModuleStmt().getModuleName().getModuleName();
-        List<Definition> moduleSymtab = node.getAllPublicDefinitions();
-        //System.out.println(moduleName.getText() + ": " + moduleSymtab);
-        vpgProvider.setModuleSymbolTable(moduleName, moduleSymtab);
-    }
-
-    // # R1107
-    // <UseStmt> ::=
-    // | <LblDef> T_USE <Name>                                        T_EOS
-    // | <LblDef> T_USE <Name> T_COMMA <RenameList>                   T_EOS
-    // | <LblDef> T_USE <Name> T_COMMA T_ONLY T_COLON ( <OnlyList> )? T_EOS
-    //
-    // <RenameList> ::=
-    // |                        <Rename>
-    // | @:<RenameList> T_COMMA <Rename>
-    //
-    // <OnlyList> ::=
-    // |                      <Only>
-    // | @:<OnlyList> T_COMMA <Only>
-    //
-    // # R1108
-    // <Rename> ::= T_IDENT T_EQGREATERTHAN <UseName>
-    //
-    // # R1109
-    // <Only> ::=
-    // |                         <GenericSpec>
-    // | T_IDENT T_EQGREATERTHAN <UseName>
-    // |                         <UseName>
-
-	private boolean shouldImportModules;
-	private IFile fileContainingUseStmt;
-	private IProgressMonitor progressMonitor;
-
-	private ASTUseStmtNode useStmt;
-	private Token moduleNameToken;
-	private String moduleName;
-
-	public ModuleLoader(IFile fileContainingUseStmt /*, IProgressMonitor progressMonitor*/)
-	{
-		this.vpgProvider = PhotranVPG.getProvider();
-
-		this.shouldImportModules = true;
-		this.fileContainingUseStmt = fileContainingUseStmt;
-		this.progressMonitor = new NullProgressMonitor(); //progressMonitor;
-	}
-
-    // # R1107
-    // <UseStmt> ::=
-    // <LblDef> T_USE <Name> T_EOS
-    // | <LblDef> T_USE <Name> T_COMMA <RenameList> T_EOS
-    // | <LblDef> T_USE <Name> T_COMMA T_ONLY T_COLON ( <OnlyList> )? T_EOS
-
-    @Override public void visitASTUseStmtNode(ASTUseStmtNode node)
-    {
-        super.traverseChildren(node);
-
-        try
-        {
-        	vpgProvider.markFileAsImportingModule(fileContainingUseStmt, node.getName().getText());
-
-	        if (this.shouldImportModules)
-	        	loadModule(node);
-        }
-        catch (Exception e)
-        {
-        	throw new Error(e);
-        }
-    }
-
-
-	private void loadModule(ASTUseStmtNode node) throws Exception
-	{
-		this.useStmt = node;
-		this.moduleNameToken = useStmt.getName();
-		this.moduleName = PhotranVPG.canonicalizeIdentifier(moduleNameToken.getText());
-
-		progressMonitor.subTask(Messages.bind(Messages.ModuleLoader_LoadingModule, moduleName));
-
-		if (moduleExistsInFileContainingUseStmt())
-		    bindToSymbolsIn(fileContainingUseStmt);
-		else
-	        findModuleInModulePaths();
-    }
-
-	private boolean moduleExistsInFileContainingUseStmt() throws Exception
-    {
-		return findModuleIn(fileContainingUseStmt) != null;
-	}
-
-    private ASTModuleNode findModuleIn(IFile file) throws Exception
-    {
-        ASTExecutableProgramNode fileAST = PhotranVPG.getInstance().acquireTransientAST(file).getRoot();
-        for (IProgramUnit pu : fileAST.getProgramUnitList())
-            if (pu instanceof ASTModuleNode && isNamed(moduleName, (ASTModuleNode)pu))
-                return (ASTModuleNode)pu;
-
-        return null;
-    }
-
-    private boolean isNamed(String targetName, ASTModuleNode node)
-    {
-        String nameOfThisModule = PhotranVPG.canonicalizeIdentifier(node.getModuleStmt().getModuleName().getModuleName().getText());
-        return nameOfThisModule.equals(targetName);
-    }
-
-    private void findModuleInModulePaths() throws Exception
-    {
-    	List<IFile> files = vpg.findFilesThatExportModule(moduleName);
-        if (files.isEmpty())
-        {
-            if (!isIntrinsicModule())
-                vpgProvider.logError(
-                    Messages.bind(Messages.ModuleLoader_NoFilesExportAModuleNamed, moduleName),
-                    useStmt.getName().getTokenRef());
-            return;
-        }
-
-        files = applyModulePaths(files);
-        if (files.isEmpty())
-        {
-            vpgProvider.logError(
-                Messages.bind(
-                    Messages.ModuleLoader_ModuleNotFoundInModulePathsButFoundElsewhere,
-                    moduleName),
-                useStmt.getName().getTokenRef());
-            return;
-        }
-
-		for (IFile file : files)
-        	bindToSymbolsIn(file);
-    }
-
-    /**
-     * @return true iff {@link #moduleName} is the name of an intrinsic module
-     */
-    private boolean isIntrinsicModule()
-    {
-        // Fortran 2003
-        return moduleName.equals("iso_c_binding"); //$NON-NLS-1$
-    }
-
-	private List<IFile> applyModulePaths(List<IFile> files)
-    {
-        String[] paths = new SearchPathProperties().getListProperty(fileContainingUseStmt,
-                                                                    SearchPathProperties.MODULE_PATHS_PROPERTY_NAME);
-        if (paths.length == 0) return files; // Do not apply if property not set
-
-        List<IFile> result = new LinkedList<IFile>();
-
-        // Check in the directory with the file containing the USE statement first
-        if (findModuleIn(PhotranVPG.getFilenameForIResource(fileContainingUseStmt.getParent()), files, result))
-        	return result;
-
-        // Then check in the user-specified module paths
-        for (String path : paths)
-            if (findModuleIn(path, files, result))
-            	return result;
-
-        return result; // May be empty
-    }
-
-	private boolean findModuleIn(String path, List<IFile> files, List<IFile> result)
-	{
-		for (IFile file : files)
-		{
-		    if (PhotranVPG.getFilenameForIResource(file.getParent()).startsWith(path))
-		    {
-		        result.add(file);
-	            if (!result.isEmpty()) return true;
-		    }
-		}
-		return false;
-	}
-
-//    private void bindToSymbolsIn(IFile file) throws Exception
-//    {
-//        ASTModuleNode moduleNode = findModuleIn(file);
-//        if (moduleNode == null) return; // Shouldn't happen if VPG is up to date
-//
-//        bind(useStmt.getName(), moduleNode.getRepresentativeToken());
-//
-//        ScopingNode newScope = useStmt.getUseToken().getEnclosingScope();
-//
-//        for (Definition def : moduleNode.getAllPublicDefinitions())
-//            if (shouldImportDefinition(def))
-//                importDefinition(def, newScope);
-//
-//        bindIdentifiersInRenameList(useStmt.getRenameList(), moduleNode);
-//        bindIdentifiersInOnlyList(useStmt.getOnlyList(), moduleNode);
-//    }
-
-    private void bindToSymbolsIn(IFile file) throws Exception
-    {
-        PhotranTokenRef moduleToken = vpg.getModuleTokenRef(moduleName);
-        if (moduleToken == null) return; // Shouldn't happen if VPG is up to date
-
-        bind(useStmt.getName(), moduleToken);
-
-        ScopingNode newScope = useStmt.getUseToken().getEnclosingScope();
-
-        List<Definition> moduleSymtab = vpg.getModuleSymbolTable(moduleName);
-        if (moduleSymtab == null) // Just in case
-        {
-            vpgProvider.logError(Messages.bind(Messages.ModuleLoader_ModuleNotFoundInFile, moduleName, file.getFullPath().toOSString()));
-        }
-        else
-        {
-            for (Definition def : moduleSymtab)
-                if (shouldImportDefinition(def))
-                    importDefinition(def, newScope);
-
-            bindIdentifiersInRenameList(useStmt.getRenameList(), moduleSymtab);
-            bindIdentifiersInOnlyList(useStmt.getOnlyList(), moduleSymtab);
-        }
-    }
-
-	private boolean shouldImportDefinition(Definition def)
-	{
-		IASTListNode<ASTRenameNode> renameList = useStmt.getRenameList();
-		IASTListNode<ASTOnlyNode> onlyList = useStmt.getOnlyList();
-
-		if (renameList == null && onlyList == null)
-		{
-			return true;
-		}
-		else if (renameList != null)
-		{
-			for (int i = 0; i < renameList.size(); i++)
-			{
-				String entityBeingRenamed = PhotranVPG.canonicalizeIdentifier(renameList.get(i).getName().getText());
-				if (def.matches(entityBeingRenamed))
-						return false;
-			}
-
-			return true;
-		}
-		else // (onlyList != null)
-		{
-	        for (int i = 0; i < onlyList.size(); i++)
-	        {
-	        	Token useName = onlyList.get(i).getName();
-	        	String entityToImport = useName == null ? null : PhotranVPG.canonicalizeIdentifier(useName.getText());
-	        	boolean isRenamed = onlyList.get(i).isRenamed();
-
-	            if (def.matches(entityToImport) && !isRenamed) return true;
-	        }
-
-	        return false;
-		}
-	}
-
-	private void bindIdentifiersInRenameList(IASTListNode<ASTRenameNode> renameList, List<Definition> moduleSymtab) throws Exception
-	{
-		if (renameList == null) return;
-
-		for (int i = 0; i < renameList.size(); i++)
-        {
-		    if (!renameList.get(i).isOperator()) // TODO: User-defined operators
-		    {
-                Token newName = renameList.get(i).getNewName();
-                Token oldName = renameList.get(i).getName();
-
-                bindPossiblyRenamedIdentifier(newName, oldName, moduleSymtab);
-		    }
-        }
-	}
-
-	private void bindIdentifiersInOnlyList(IASTListNode<ASTOnlyNode> onlyList, List<Definition> moduleSymtab) throws Exception
-	{
-		if (onlyList == null) return;
-
-		for (int i = 0; i < onlyList.size(); i++)
-        {
-		    if (!onlyList.get(i).isOperator()) // TODO: User-defined operators
-		    {
-                Token newName = onlyList.get(i).getNewName();
-                Token oldName = onlyList.get(i).getName();
-
-                if (oldName != null) bindPossiblyRenamedIdentifier(newName, oldName, moduleSymtab);
-		    }
-        }
-	}
-
-    private void bindPossiblyRenamedIdentifier(Token newName, Token oldName, List<Definition> moduleSymtab) throws Exception
-    {
-        List<PhotranTokenRef> definitionsInModule = new LinkedList<PhotranTokenRef>();
-        String canonicalizedOldName = PhotranVPG.canonicalizeIdentifier(oldName.getText());
-        for (Definition def : moduleSymtab)
-            if (def != null && def.matches(canonicalizedOldName))
-                definitionsInModule.add(def.getTokenRef());
-
-        for (PhotranTokenRef def : definitionsInModule)
-        {
-            bindRenamedEntity(newName, def);
-            bind(oldName, def);
-        }
-
-        Type type = definitionsInModule.size() == 1 ? vpg.getDefinitionFor(definitionsInModule.get(0)).getType() : Type.UNKNOWN;
-        addDefinition(newName, Definition.Classification.RENAMED_MODULE_ENTITY, type);
-    }
-
-//    private void bindPossiblyRenamedIdentifier(Token newName, Token oldName, ASTModuleNode moduleNode) throws Exception
-//    {
-//        List<PhotranTokenRef> definitionsInModule = moduleNode.manuallyResolve(oldName);
-//
-//        for (PhotranTokenRef def : definitionsInModule)
-//        {
-//            bindRenamedEntity(newName, def);
-//            bind(oldName, def);
-//        }
-//
-//        Type type = definitionsInModule.size() == 1 ? vpg.getDefinitionFor(definitionsInModule.get(0)).getType() : Type.UNKNOWN;
-//        addDefinition(newName, Definition.Classification.RENAMED_MODULE_ENTITY, type);
-//    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/PrivateCollector.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/PrivateCollector.java
deleted file mode 100644
index cc36cd1..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/PrivateCollector.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import org.eclipse.photran.internal.core.parser.ASTAccessStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTPrivateSequenceStmtNode;
-
-/**
- * Phase 2 of name-binding analysis.
- * <p> 
- * Visits an AST, marking scopes whose default visibilities are PRIVATE
- * so that this will be known when the {@link DefinitionCollector}
- * begins collecting declarations.
- * 
- * @author Jeff Overbey
- * @see Binder
- */
-class PrivateCollector extends BindingCollector
-{
-    // --VISITOR METHODS-------------------------------------------------
-
-    // # R522
-    // <AccessStmt> ::=
-    // <LblDef> <AccessSpec> ( T_COLON T_COLON )? <AccessIdList> T_EOS
-    // | <LblDef> <AccessSpec> T_EOS
-    //
-    // # R523
-    // <AccessIdList> ::=
-    // <AccessId>
-    // | @:<AccessIdList> T_COMMA <AccessId>
-    //
-    // <AccessId> ::=
-    // <GenericName>
-    // | <GenericSpec>
-
-    @Override public void visitASTAccessStmtNode(final ASTAccessStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getAccessIdList() == null)
-        {
-            if (node.getAccessSpec().isPrivate())
-            {
-                try
-                {
-                    setScopeDefaultVisibilityToPrivate(node.getAccessSpec().findFirstToken().getEnclosingScope());
-                }
-                catch (Exception e)
-                {
-                    throw new Error(e);
-                }
-            }
-        }
-    }
-
-    // # R424
-    // <PrivateSequenceStmt> ::=
-    //     <LblDef> T_PRIVATE T_EOS
-    //  | <LblDef> T_SEQUENCE T_EOS
-    
-    @Override public void visitASTPrivateSequenceStmtNode(ASTPrivateSequenceStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.isPrivate())
-        {
-        	try
-        	{
-        		setScopeDefaultVisibilityToPrivate(node.getPrivateToken().getEnclosingScope());
-        	}
-        	catch (Exception e)
-        	{
-        		throw new Error(e);
-        	}
-        }
-    }
-
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ReferenceCollector.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ReferenceCollector.java
deleted file mode 100644
index 92850df..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ReferenceCollector.java
+++ /dev/null
@@ -1,1295 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.analysis.types.FunctionType;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTAcImpliedDoNode;
-import org.eclipse.photran.internal.core.parser.ASTAllocateObjectNode;
-import org.eclipse.photran.internal.core.parser.ASTArrayElementNode;
-import org.eclipse.photran.internal.core.parser.ASTAssignStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTAssignedGotoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTCPrimaryNode;
-import org.eclipse.photran.internal.core.parser.ASTCallStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTCaseStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTCommonBlockNode;
-import org.eclipse.photran.internal.core.parser.ASTCommonBlockObjectNode;
-import org.eclipse.photran.internal.core.parser.ASTCommonStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTCycleStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTDataImpliedDoNode;
-import org.eclipse.photran.internal.core.parser.ASTDataRefNode;
-import org.eclipse.photran.internal.core.parser.ASTDataStmtValueNode;
-import org.eclipse.photran.internal.core.parser.ASTDerivedTypeStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEditElementNode;
-import org.eclipse.photran.internal.core.parser.ASTElseIfStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTElseStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTElseWhereStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndBlockDataStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndDoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndForallStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndIfStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndInterfaceStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndModuleStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndProgramStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndSelectStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndTypeStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndWhereStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTExitStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFieldSelectorNode;
-import org.eclipse.photran.internal.core.parser.ASTFinalBindingNode;
-import org.eclipse.photran.internal.core.parser.ASTForallTripletSpecListNode;
-import org.eclipse.photran.internal.core.parser.ASTFormatStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionArgListNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionArgNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionParNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTGenericBindingNode;
-import org.eclipse.photran.internal.core.parser.ASTInputImpliedDoNode;
-import org.eclipse.photran.internal.core.parser.ASTIoControlSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTLoopControlNode;
-import org.eclipse.photran.internal.core.parser.ASTMaskedElseWhereStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleProcedureStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTNamedConstantUseNode;
-import org.eclipse.photran.internal.core.parser.ASTNamelistGroupsNode;
-import org.eclipse.photran.internal.core.parser.ASTNamelistStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTOutputImpliedDoNode;
-import org.eclipse.photran.internal.core.parser.ASTPointerFieldNode;
-import org.eclipse.photran.internal.core.parser.ASTPointerObjectNode;
-import org.eclipse.photran.internal.core.parser.ASTProcedureNameListNode;
-import org.eclipse.photran.internal.core.parser.ASTSFDataRefNode;
-import org.eclipse.photran.internal.core.parser.ASTSFExprListNode;
-import org.eclipse.photran.internal.core.parser.ASTSFVarNameNode;
-import org.eclipse.photran.internal.core.parser.ASTScalarVariableNode;
-import org.eclipse.photran.internal.core.parser.ASTSectionSubscriptNode;
-import org.eclipse.photran.internal.core.parser.ASTSpecificBindingNode;
-import org.eclipse.photran.internal.core.parser.ASTStmtFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTStructureComponentNode;
-import org.eclipse.photran.internal.core.parser.ASTStructureConstructorNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineArgNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineParNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeAttrSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTUFPrimaryNode;
-import org.eclipse.photran.internal.core.parser.ASTVarOrFnRefNode;
-import org.eclipse.photran.internal.core.parser.ASTVariableNode;
-import org.eclipse.photran.internal.core.parser.ASTWaitSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTWaitStmtNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.util.Pair;
-
-/**
- * Phase 7 of name-binding analysis.
- * <p> 
- * Visits an AST, collecting variables references outside declaration and
- * specification statements.  Also marks variable accesses as reads, writes,
- * or both.
- * <p>
- * Note: Fields in derived types (e.g., <FieldSelector>) and named function arguments are NOT handled.
- * 
- * @author Jeff Overbey
- * @see Binder
- */
-class ReferenceCollector extends BindingCollector
-{
-    private void markAccess(Token ident, VariableAccess access)
-    {
-        vpgProvider.markAccess(ident, access);
-    }
-
-    @Override public void visitASTFormatStmtNode(ASTFormatStmtNode node)
-    {
-        // There are no identifiers in FORMAT statements, and Photran
-        // doesn't parse FORMAT statements completely correctly, so
-        // don't traverse children of this node
-    }
-    
-    // Occurs only in the context of an <SFExprList>, which provides the
-    // argument expressions in an array access (but not a function call)
-    @Override public void visitASTSFDataRefNode(ASTSFDataRefNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getName();
-        if (ident != null)
-        {
-            bind(ident);
-            markAccess(ident, VariableAccess.READ);
-        }
-    }
-
-    // Occurs in the context of a <RdFmtId> or a <CExpr>.
-    // A <CExpr> occurs in the context of:
-    //   <ConnectSpec>, <CloseSpec>, <FormatIdentifier>, <InquireSpec>
-    @Override public void visitASTCPrimaryNode(ASTCPrimaryNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getName() != null)
-        {
-            Token ident = node.getName().getName();
-            bind(ident);
-            markAccess(ident, VariableAccess.RW);
-        }
-    }
-
-    // Occurs in the context of <UFExpr>,
-    // which occurs in the context of a <UnitIdentifier>, <RdUnitId>, <RdFmtIdExpr>
-    @Override public void visitASTUFPrimaryNode(ASTUFPrimaryNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getName() != null)
-        {
-            Token ident = node.getName().getName();
-            bind(ident);
-            markAccess(ident, VariableAccess.RW);
-        }
-    }
-
-    // <NamedConstantUse> ::= T_IDENT
-
-    @Override public void visitASTNamedConstantUseNode(ASTNamedConstantUseNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getName();
-        bind(ident);
-        markAccess(ident, VariableAccess.READ);
-    }
-
-    // # R430
-    // <EndTypeStmt> ::=
-    // <LblDef> T_ENDTYPE <TypeName>? T_EOS
-    // | <LblDef> T_END T_TYPE <TypeName>? T_EOS
-
-    @Override public void visitASTEndTypeStmtNode(ASTEndTypeStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getTypeName() != null) bind(node.getTypeName().getTypeName());
-    }
-
-    // # R431
-    // <StructureConstructor> ::= <TypeName> T_LPAREN <ExprList> T_RPAREN
-
-    @Override public void visitASTStructureConstructorNode(ASTStructureConstructorNode node)
-    {
-        super.traverseChildren(node);
-        bind(node.getTypeName());
-    }
-
-    // # R434
-    // <AcImpliedDo> ::=
-    // T_LPAREN <Expr> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN
-    // | T_LPAREN <Expr> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN
-    // | T_LPAREN <AcImpliedDo> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN
-    // | T_LPAREN <AcImpliedDo> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN
-
-    @Override public void visitASTAcImpliedDoNode(ASTAcImpliedDoNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getImpliedDoVariable().getImpliedDoVariable();
-        bind(ident);
-        markAccess(ident, VariableAccess.IMPLIED_DO);
-    }
-
-    // # R502
-    // <TypeSpec> ::=
-    // T_INTEGER
-    // | T_REAL
-    // | T_DOUBLEPRECISION
-    // | T_COMPLEX
-    // | T_LOGICAL
-    // | T_CHARACTER
-    // | T_INTEGER <KindSelector>
-    // | T_REAL <KindSelector>
-    // | T_DOUBLE T_PRECISION
-    // | T_COMPLEX <KindSelector>
-    // | T_CHARACTER <CharSelector>
-    // | T_LOGICAL <KindSelector>
-    // | T_TYPE T_LPAREN <TypeName> T_RPAREN
-
-    @Override public void visitASTTypeSpecNode(ASTTypeSpecNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getTypeName() != null) bind(node.getTypeName());
-    }
-
-    // # R535 <Expr> must be scalar-int-expr
-    // <DataImpliedDo> ::=
-    // T_LPAREN <DataIDoObjectList> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN
-    // | T_LPAREN <DataIDoObjectList> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN
-
-    @Override public void visitASTDataImpliedDoNode(ASTDataImpliedDoNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getImpliedDoVariable();
-        bind(ident);
-        markAccess(ident, VariableAccess.IMPLIED_DO);
-    }
-
-    // <DataStmtValue> ::=
-    // <DataStmtConstant>
-    // | T_ICON T_ASTERISK <DataStmtConstant>
-    // | <NamedConstantUse> T_ASTERISK <DataStmtConstant>
-
-    // Occurs in the context of a <DataStmtValueList>, which occurs in the context of
-    // a <DataStmtSet>
-    @Override public void visitASTDataStmtValueNode(ASTDataStmtValueNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getNamedConstKind() != null)
-        {
-            Token ident = node.getNamedConstKind().getName();
-            bind(ident);
-            markAccess(ident, VariableAccess.READ);
-        }
-    }
-
-    // # R544
-    // <NamelistStmt> ::=
-    // <LblDef> T_NAMELIST <NamelistGroups> T_EOS
-    //
-    // <NamelistGroups> ::=
-    // T_SLASH <NamelistGroupName> T_SLASH <NamelistGroupObject>
-    // | @:<NamelistGroups> T_SLASH <NamelistGroupName> T_SLASH <NamelistGroupObject>
-    // | @:<NamelistGroups> T_COMMA T_SLASH <NamelistGroupName> T_SLASH <NamelistGroupObject>
-    // | @:<NamelistGroups> T_COMMA <NamelistGroupObject>
-    //
-    // # R545
-    // <NamelistGroupObject> ::= <VariableName>
-
-    @Override public void visitASTNamelistStmtNode(ASTNamelistStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTNamelistGroupsNode> groups = node.getNamelistGroups();
-        for (int i = 0; i < groups.size(); i++)
-        {
-            bind(groups.get(i).getVariableName());
-        }
-    }
-
-    // # R549
-    // <CommonStmt> ::=
-    // <LblDef> T_COMMON <Comlist> T_EOS
-    //
-    // <Comlist> ::=
-    // <CommonBlockObject>
-    // | <Comblock> <CommonBlockObject>
-    // | @:<Comlist> T_COMMA <CommonBlockObject>
-    // | @:<Comlist> <Comblock> <CommonBlockObject>
-    // | @:<Comlist> T_COMMA <Comblock> <CommonBlockObject>
-    //
-    // <Comblock> ::=
-    // T_SLASH T_SLASH
-    // | T_SLASH <CommonBlockName> T_SLASH
-    //
-    // # R550
-    // <CommonBlockObject> ::=
-    // <VariableName>
-    // | <ArrayDeclarator>
-
-    @Override public void visitASTCommonStmtNode(ASTCommonStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTCommonBlockNode> list = node.getCommonBlockList();
-        if (list == null) return;
-        
-        for (int i = 0; i < list.size(); i++)
-        {
-            IASTListNode<ASTCommonBlockObjectNode> objects = list.get(i).getCommonBlockObjectList();
-            for (int j = 0; j < objects.size(); j++)
-            {
-                ASTCommonBlockObjectNode obj = objects.get(j);
-                
-                List<PhotranTokenRef> bindings = bind(obj.getVariableName());
-                
-                if (obj.getArraySpec() != null)
-                {
-                    try
-                    {
-                        for (PhotranTokenRef tr : bindings)
-                        {
-                            Definition def = vpg.getDefinitionFor(tr);
-                            def.setArraySpec(obj.getArraySpec());
-                            vpgProvider.setDefinitionFor(tr, def);
-                        }
-                    }
-                    catch (Exception e)
-                    {
-                        throw new Error(e);
-                    }
-                }
-            }
-        }
-    }
-    
-    // <ScalarVariable> ::=
-    // <VariableName>
-    // | <ArrayElement>
-
-    // Occurs in the context of <ConnectSpec>, <CloseSpec>, <IOControlSpec>, <PositionSpec>, <InquireStmt>, <InquireSpec>
-    
-    @Override public void visitASTScalarVariableNode(ASTScalarVariableNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getVariableName();
-        if (ident != null)
-        {
-            bind(ident);
-            markAccess(ident, VariableAccess.WRITE);
-        }
-    }
-
-    // # R612
-    // <DataRef> ::=
-    // varName:<Name>
-    // | @:<DataRef> ( T_LPAREN <SectionSubscriptList> T_RPAREN )? T_PERCENT componentName:<Name>
-    //
-    // # R601 The various forms of variables have to be recognized semantically;
-    // <Variable> ::= 
-    //     <DataRef> ( T_LPAREN <SectionSubscriptList> T_RPAREN ( <SubstringRange> )? )?
-    //   | <SubstrConst>
-
-    @Override public void visitASTDataRefNode(ASTDataRefNode node)
-    {
-        super.traverseChildren(node);
-        
-        Token ident = node.getName();
-        if (ident != null)
-        {
-            // <Variable> is the only context where a <DataRef> does not refer to a member of a derived type 
-        	if (!node.hasDerivedTypeComponentName() && node.getParent().getParent() instanceof ASTVariableNode)
-        	{
-        		bind(ident);
-        		// FIXME: Variable access
-        	}
-        	else if (!node.hasDerivedTypeComponentName() && node.getParent().getParent() instanceof ASTCallStmtNode)
-        	{
-                bind(ident);
-                // FIXME: Variable access
-        	}
-        	else
-        	{
-        		dontbind(ident);
-        	}
-        }
-        if (node.getName/*getComponentName*/() != null)
-            dontbind(node.getName/*getComponentName*/());
-    }
-
-    // # R614
-    // <StructureComponent> ::=
-    // <VariableName> <FieldSelector>
-    // | @:<StructureComponent> <FieldSelector>
-
-    // Occurs in the context of <DataIDoObject>, nested <StructureComponent>s, <ArrayElement>, 
-    @Override
-    public void visitASTStructureComponentNode(ASTStructureComponentNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getVariableName() != null)
-        {
-            Token ident = node.getVariableName().getVariableName();
-            bind(ident);
-            markAccess(ident, VariableAccess.READ);
-        }
-    }
-
-    // <FieldSelector> ::=
-    //   T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <Name>
-    // | T_PERCENT <Name>
-    
-    @Override public void visitASTFieldSelectorNode(ASTFieldSelectorNode node)
-    {
-        super.traverseChildren(node);
-        dontbind(node.getName/*getComponentName*/());
-    }
-    
-    // # R615
-    // <ArrayElement> ::=
-    // <VariableName> T_LPAREN <SectionSubscriptList> T_RPAREN
-    // | <StructureComponent> T_LPAREN <SectionSubscriptList> T_RPAREN
-
-    @Override public void visitASTArrayElementNode(ASTArrayElementNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getVariableName();
-        if (ident != null)
-        {
-            bind(ident);
-            markAccess(ident, VariableAccess.READ);
-        }
-    }
-
-    // <AllocateObject> ::=
-    // <VariableName>
-    // | @:<AllocateObject> <FieldSelector>
-
-    @Override public void visitASTAllocateObjectNode(ASTAllocateObjectNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getVariableName() != null)
-        {
-            Token ident = node.getVariableName().getVariableName();
-            bind(ident);
-            markAccess(ident, VariableAccess.WRITE);
-        }
-    }
-
-    // # R630
-    // <PointerObject> ::=
-    // <Name>
-    // | <PointerField>
-    //
-    // <PointerField> ::=
-    // <Name> T_LPAREN <SFExprList> T_RPAREN T_PERCENT <Name>
-    // | <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN T_PERCENT <Name>
-    // | <Name> T_PERCENT <Name>
-    // | @:<PointerField> <FieldSelector>
-
-    // Occurs in the context of a NULLIFY statement
-    @Override public void visitASTPointerObjectNode(ASTPointerObjectNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getName() != null)
-        {
-            Token ident = node.getName().getName();
-            bind(ident);
-            markAccess(ident, VariableAccess.WRITE);
-        }
-        else
-        {
-            IASTListNode<ASTPointerFieldNode> list = node.getPointerField();
-            for (int i = 0; i < list.size(); i++)
-            {
-                if (list.get(i).getName() != null)
-                {
-                    Token ident = list.get(i).getName().getName();
-                    bind(ident);
-                    markAccess(ident, VariableAccess.WRITE);
-                }
-                
-                if (list.get(i).getComponentName() != null)
-                    dontbind(list.get(i).getComponentName().getName());
-                
-                if (list.get(i).getSFDummyArgNameList() != null)
-                {
-                    for (int j = 0; j < list.get(i).getSFDummyArgNameList().size(); j++)
-                    {
-                        Token ident = list.get(i).getSFDummyArgNameList().get(j).getName/*getVariableName*/();
-                        bind(ident);
-                        markAccess(ident, VariableAccess.READ);
-                    }
-                }
-            }
-        }
-    }
-
-    // # R701
-    // <Primary> ::=
-    // <LogicalConstant>
-    // | T_SCON
-    // | <UnsignedArithmeticConstant>
-    // | <ArrayConstructor>
-    // | <Name> ( T_LPAREN <SectionSubscriptList> T_RPAREN ( <SubstringRange> )? )?
-    // | <Name> T_PERCENT <DataRef> ( T_LPAREN <SectionSubscriptList> T_RPAREN ( <SubstringRange> )? )?
-    // | <Name> T_LPAREN <SectionSubscriptList> T_RPAREN T_PERCENT <DataRef> ( T_LPAREN <SectionSubscriptList> T_RPAREN ( <SubstringRange> )? )?
-    // | <FunctionReference> ( <SubstringRange> )?
-    // | <FunctionReference> T_PERCENT <DataRef> ( T_LPAREN <SectionSubscriptList> T_RPAREN ( <SubstringRange> )? )?
-    // | T_LPAREN <Expr> T_RPAREN
-    // | <SubstrConst>
-    // # JO -- Added substring of constant strings
-
-    @Override public void visitASTVarOrFnRefNode(ASTVarOrFnRefNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getName() != null && node.getName().getName() != null && node.getName().getName().getText().trim().length() > 0)
-        {
-            bind(node.getName().getName());
-            markAccess(node.getName().getName(), determineAccess(node));
-            // TODO: If this is a function call, we shouldn't mark it with a read access
-        }
-
-        IASTListNode<ASTFunctionArgListNode> list = node.getFunctionArgList();
-        if (list != null)
-            for (int i = 0; i < list.size(); i++)
-                if (list.get(i).getFunctionArg() != null)
-                    dontbind(list.get(i).getFunctionArg().getName());
-    }
-
-    private VariableAccess determineAccess(ASTVarOrFnRefNode node)
-    {
-        if (isVariableExpr(node) && isSubprogramInvocationArg(node))
-            return getSubprogramArgIntent(getSubprogramArgInfo(node));
-        else
-            return VariableAccess.READ;
-    }
-
-    private boolean isVariableExpr(ASTVarOrFnRefNode node)
-    {
-        return node.getName() != null
-            && node.getFunctionArgList() == null
-            && node.getPrimarySectionSubscriptList() == null
-            && node.getSubstringRange() == null
-            && node.getDerivedTypeComponentRef() == null
-            && node.getComponentSectionSubscriptList() == null
-            && node.getSubstringRange2() == null;
-    }
-
-    private boolean isSubprogramInvocationArg(ASTVarOrFnRefNode node)
-    {
-        return getSubprogramArgInfo(node) != null;
-    }
-
-    private Pair<Token, ? extends Object> getSubprogramArgInfo(ASTVarOrFnRefNode node)
-    {
-        Pair<Token, ? extends Object> result = getSubroutineArgInfo(node);
-        if (result != null) return result;
-        
-        result = getFunctionArgInfo(node);
-        if (result != null) return result;
-        
-        result = getPrimarySectionSubcriptInfo(node);
-        return result;
-    }
-    
-    private Pair<Token, ? extends Object> getSubroutineArgInfo(ASTVarOrFnRefNode node)
-    {
-        IASTNode parent = node.getParent();
-        IASTNode grandparent = parent.getParent(); if (grandparent == null) return null;
-        IASTNode greatGrandparent = grandparent.getParent(); if (greatGrandparent == null) return null;
-
-        if (parent instanceof ASTSubroutineArgNode && greatGrandparent instanceof ASTCallStmtNode)
-        {
-            ASTCallStmtNode callStmt = (ASTCallStmtNode)greatGrandparent;
-            ASTSubroutineArgNode argNode = (ASTSubroutineArgNode)parent;
-            if (argNode.getName() != null)
-            {
-                return new Pair<Token, String>(
-                    callStmt.getSubroutineName(),
-                    argNode.getName().getText());
-            }
-            else
-            {
-                return new Pair<Token, Integer>(
-                    callStmt.getSubroutineName(),
-                    callStmt.getArgList().indexOf(parent));
-            }
-        }
-        return null;
-    }
-    
-    private Pair<Token, String> getFunctionArgInfo(ASTVarOrFnRefNode node)
-    {
-        IASTNode parent = node.getParent();
-        IASTNode grandparent = parent.getParent(); if (grandparent == null) return null;
-        IASTNode greatGrandparent = grandparent.getParent(); if (greatGrandparent == null) return null;
-        IASTNode greatGreatGrandparent = greatGrandparent.getParent(); if (greatGreatGrandparent == null) return null;
-
-        if (node.getParent() instanceof ASTFunctionArgNode
-            && grandparent instanceof ASTFunctionArgListNode
-            && greatGreatGrandparent instanceof ASTVarOrFnRefNode)
-        {
-            ASTVarOrFnRefNode fnCall = (ASTVarOrFnRefNode)greatGreatGrandparent;
-            if (fnCall.getFunctionArgList() != null)
-            {
-                return new Pair<Token, String>(
-                    fnCall.getName().getName(),
-                    //fnCall.getFunctionArgList().indexOf(grandparent));
-                    ((ASTFunctionArgNode)parent).getName().getText());
-            }
-        }
-        return null;
-    }
-
-    private Pair<Token, Integer> getPrimarySectionSubcriptInfo(ASTVarOrFnRefNode node)
-    {
-        IASTNode parent = node.getParent();
-        IASTNode grandparent = parent.getParent(); if (grandparent == null) return null;
-        IASTNode greatGrandparent = grandparent.getParent(); if (greatGrandparent == null) return null;
-
-        if (parent instanceof ASTSectionSubscriptNode && greatGrandparent instanceof ASTVarOrFnRefNode)
-        {
-            ASTVarOrFnRefNode fnCall = (ASTVarOrFnRefNode)greatGrandparent;
-            if (fnCall.getPrimarySectionSubscriptList() != null
-                    && fnCall.getPrimarySectionSubscriptList().contains(parent))
-                return new Pair<Token, Integer>(
-                    fnCall.getName().getName(),
-                    fnCall.getPrimarySectionSubscriptList().indexOf(parent));
-        }
-        
-        return null;
-    }
-
-    private VariableAccess getSubprogramArgIntent(Pair<Token, ? extends Object> subprogramArgInfo)
-    {
-        Token subprogramName = subprogramArgInfo.fst;
-        if (subprogramName != null)
-        {
-            List<PhotranTokenRef> bindings = bind(subprogramName); // List<Definition> bindings = subprogramName.resolveBinding();
-            if (bindings.size() >= 1)
-                return getSubprogramArgIntentFromDef(vpg.getDefinitionFor(bindings.get(0)), subprogramArgInfo.snd);
-        }
-        return VariableAccess.RW;
-    }
-
-    private VariableAccess getSubprogramArgIntentFromDef(Definition def, Object subprogramArg)
-    {
-        if (def != null && def.isSubprogram())
-        {
-            Type fnType = def.getType();
-            if (fnType instanceof FunctionType)
-            {
-                FunctionType functionType = (FunctionType)fnType;
-                if (subprogramArg instanceof Integer)
-                    return functionType.getArgumentAccess((Integer)subprogramArg);
-                else if (subprogramArg instanceof String)
-                    return functionType.getArgumentAccess((String)subprogramArg);
-            }
-
-            return VariableAccess.RW; // Should never happen, but default to intent(inout) if it does
-        }
-        // Not a subprogram
-        {
-            return VariableAccess.READ;
-        }
-    }
-
-    @Override public void visitASTSFExprListNode(ASTSFExprListNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getSFDummyArgNameList() != null)
-        {
-            for (int j = 0; j < node.getSFDummyArgNameList().size(); j++)
-            {
-                Token ident = node.getSFDummyArgNameList().get(j).getName/*getVariableName*/();
-                bind(ident);
-                markAccess(ident, VariableAccess.READ);
-            }
-        }
-    }
-    
-    @Override public void visitASTSFVarNameNode(ASTSFVarNameNode node)
-    {
-        super.traverseChildren(node);
-        
-        Token ident = node.getName().getName();
-        bind(ident);
-        markAccess(ident, VariableAccess.READ);
-    }
-    
-    // # R735 - JO - Macro substituted
-    // <AssignmentStmt> ::=
-    // <LblDef> <Name> T_EQUALS <Expr> T_EOS
-    // | <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN T_EQUALS <Expr> T_EOS
-    // | <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN <SubstringRange> T_EQUALS <Expr> T_EOS
-    // | <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN <SubstringRange> T_EQUALS <Expr> T_EOS
-    // | <LblDef> <Name> T_PERCENT <DataRef> ( T_LPAREN <SectionSubscriptList> T_RPAREN ( <SubstringRange> )? )? T_EQUALS <Expr> T_EOS
-    // | <LblDef> <Name> T_LPAREN <SFExprList> T_RPAREN T_PERCENT <DataRef> ( T_LPAREN <SectionSubscriptList> T_RPAREN ( <SubstringRange> )? )? T_EQUALS <Expr> T_EOS
-    // | <LblDef> <Name> T_LPAREN <SFDummyArgNameList> T_RPAREN T_PERCENT <DataRef> ( T_LPAREN <SectionSubscriptList> T_RPAREN ( <SubstringRange> )? )? T_EQUALS
-    // <Expr> T_EOS
-
-    @Override public void visitASTAssignmentStmtNode(ASTAssignmentStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        Token lhsIdent = node.getLhsVariable().getName();
-        bind(lhsIdent);
-        markAccess(lhsIdent, VariableAccess.WRITE);
-        
-        if (node.getLhsNameList() != null)
-        {
-            for (int j = 0; j < node.getLhsNameList().size(); j++)
-            {
-                Token ident = node.getLhsNameList().get(j).getName();
-                bind(ident);
-                markAccess(ident, VariableAccess.READ);
-            }
-        }
-    }
-
-    // # R744
-    // <MaskedElsewhereStmt> ::=
-    // <LblDef> T_ELSEWHERE T_LPAREN <MaskExpr> T_RPAREN ( <EndName> )? T_EOS
-
-    @Override public void visitASTMaskedElseWhereStmtNode(ASTMaskedElseWhereStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R745
-    // <ElsewhereStmt> ::=
-    // <LblDef> T_ELSEWHERE ( <EndName> )? T_EOS
-
-    @Override public void visitASTElseWhereStmtNode(ASTElseWhereStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R746
-    // <EndWhereStmt> ::=
-    // <LblDef> T_ENDWHERE ( <EndName> )? T_EOS
-    // | <LblDef> T_END T_WHERE ( <EndName> )? T_EOS
-
-    @Override public void visitASTEndWhereStmtNode(ASTEndWhereStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R750
-    // <ForallTripletSpecList> ::=
-    //     | <Name> -:T_EQUALS Lb:<Subscript> -:T_COLON Ub:<Subscript>
-    //     | <Name> -:T_EQUALS Lb:<Subscript> -:T_COLON Ub:<Subscript> -:T_COLON stepExpr:<Expr>
-
-    @Override public void visitASTForallTripletSpecListNode(ASTForallTripletSpecListNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getName().getName();
-        bind(ident);
-        markAccess(ident, VariableAccess.FORALL);
-    }
-    
-    // # R753
-    // <EndForallStmt> ::=
-    // <LblDef> T_END T_FORALL ( <EndName> )? T_EOS
-    // | <LblDef> T_ENDFORALL ( <EndName> )? T_EOS
-
-    @Override public void visitASTEndForallStmtNode(ASTEndForallStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R804
-    // <ElseIfStmt> ::=
-    // <LblDef> T_ELSEIF T_LPAREN <Expr> T_RPAREN T_THEN T_EOS
-    // | <LblDef> T_ELSEIF T_LPAREN <Expr> T_RPAREN T_THEN <EndName> T_EOS
-    // | <LblDef> T_ELSE T_IF T_LPAREN <Expr> T_RPAREN T_THEN T_EOS
-    // | <LblDef> T_ELSE T_IF T_LPAREN <Expr> T_RPAREN T_THEN <EndName> T_EOS
-
-    @Override public void visitASTElseIfStmtNode(ASTElseIfStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R805
-    // <ElseStmt> ::=
-    // <LblDef> T_ELSE T_EOS
-    // | <LblDef> T_ELSE <EndName> T_EOS
-
-    @Override public void visitASTElseStmtNode(ASTElseStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R806
-    // <EndIfStmt> ::=
-    // <LblDef> T_ENDIF ( <EndName> )? T_EOS
-    // | <LblDef> T_END T_IF ( <EndName> )? T_EOS
-
-    @Override public void visitASTEndIfStmtNode(ASTEndIfStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R810
-    // <CaseStmt> ::=
-    // <LblDef> T_CASE <CaseSelector> T_EOS
-    // | <LblDef> T_CASE <CaseSelector> <Name> T_EOS
-
-    @Override public void visitASTCaseStmtNode(ASTCaseStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getName() != null) bind(node.getName().getName());
-    }
-
-    // # R811
-    // <EndSelectStmt> ::=
-    // <LblDef> T_ENDSELECT ( <EndName> )? T_EOS
-    // | <LblDef> T_END T_SELECT ( <EndName> )? T_EOS
-
-    @Override public void visitASTEndSelectStmtNode(ASTEndSelectStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // <LoopControl> ::=
-    // <VariableName> T_EQUALS <Expr> T_COMMA <Expr>
-    // | <VariableName> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr>
-    // | T_WHILE T_LPAREN <Expr> T_RPAREN
-
-    @Override public void visitASTLoopControlNode(ASTLoopControlNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getVariableName();
-        if (ident != null)
-        {
-            bind(ident);
-            markAccess(ident, VariableAccess.WRITE);
-        }
-    }
-
-    // # R825
-    // <EndDoStmt> ::=
-    // <LblDef> T_ENDDO ( <EndName> )? T_EOS
-    // | <LblDef> T_END T_DO ( <EndName> )? T_EOS
-
-    @Override public void visitASTEndDoStmtNode(ASTEndDoStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R834
-    // <CycleStmt> ::=
-    // <LblDef> T_CYCLE ( <Name> )? T_EOS
-
-    @Override public void visitASTCycleStmtNode(ASTCycleStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getName() != null) bind(node.getName());
-    }
-
-    // # R835
-    // <ExitStmt> ::=
-    // <LblDef> T_EXIT ( <Name> )? T_EOS
-
-    @Override public void visitASTExitStmtNode(ASTExitStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getName() != null) bind(node.getName());
-    }
-
-    // <IoControlSpec> ::=
-    // T_FMTEQ <FormatIdentifier>
-    // | T_UNITEQ <UnitIdentifier>
-    // | T_RECEQ <Expr>
-    // | T_ENDEQ <LblRef>
-    // | T_ERREQ <LblRef>
-    // | T_IOSTATEQ <ScalarVariable>
-    // | T_NMLEQ <NamelistGroupName>
-    // | T_ADVANCEEQ <CExpr>
-    // | T_SIZEEQ <Variable>
-    // | T_EOREQ <LblRef>
-
-    @Override public void visitASTIoControlSpecNode(ASTIoControlSpecNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getNamelistGroupName() != null)
-        {
-            Token ident = node.getNamelistGroupName().getNamelistGroupName();
-            bind(ident);
-            markAccess(ident, VariableAccess.WRITE); // TODO: Is WRITE what we want?
-        }
-    }
-
-    // # R916
-    // <InputImpliedDo> ::=
-    // T_LPAREN <InputItemList> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN
-    // | T_LPAREN <InputItemList> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN
-
-    @Override public void visitASTInputImpliedDoNode(ASTInputImpliedDoNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getImpliedDoVariable();
-        bind(ident);
-        markAccess(ident, VariableAccess.IMPLIED_DO);
-    }
-
-    // <OutputImpliedDo> ::=
-    // T_LPAREN <Expr> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN
-    // | T_LPAREN <Expr> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN
-    // | T_LPAREN <OutputItemList1> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_RPAREN
-    // | T_LPAREN <OutputItemList1> T_COMMA <ImpliedDoVariable> T_EQUALS <Expr> T_COMMA <Expr> T_COMMA <Expr> T_RPAREN
-
-    @Override public void visitASTOutputImpliedDoNode(ASTOutputImpliedDoNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getImpliedDoVariable();
-        bind(ident);
-        markAccess(ident, VariableAccess.IMPLIED_DO);
-    }
-
-    // <EditElement> ::=
-    // T_FCON
-    // | T_SCON
-    // | T_IDENT
-    // | T_LPAREN <FmtSpec> T_RPAREN
-    // | T_HCON
-
-    @Override public void visitASTEditElementNode(ASTEditElementNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getIdentifier();
-        if (ident != null)
-        {
-            bind(ident); // TODO: Is ANY correct?
-            markAccess(ident, VariableAccess.READ);
-        }
-    }
-
-    // # R1103
-    // <EndProgramStmt> ::=
-    // <LblDef> T_END T_EOS
-    // | <LblDef> T_ENDPROGRAM ( <EndName> )? T_EOS
-    // | <LblDef> T_END T_PROGRAM ( <EndName> )? T_EOS
-
-    @Override public void visitASTEndProgramStmtNode(ASTEndProgramStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R1106
-    // <EndModuleStmt> ::=
-    // <LblDef> T_END T_EOS
-    // | <LblDef> T_ENDMODULE ( <EndName> )? T_EOS
-    // | <LblDef> T_END T_MODULE ( <EndName> )? T_EOS
-
-    @Override public void visitASTEndModuleStmtNode(ASTEndModuleStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R1114
-    // <EndBlockDataStmt> ::=
-    // <LblDef> T_END T_EOS
-    // | <LblDef> T_ENDBLOCKDATA ( <EndName> )? T_EOS
-    // | <LblDef> T_END T_BLOCKDATA ( <EndName> )? T_EOS
-    // | <LblDef> T_ENDBLOCK T_DATA ( <EndName> )? T_EOS
-    // | <LblDef> T_END T_BLOCK T_DATA ( <EndName> )? T_EOS
-
-    @Override public void visitASTEndBlockDataStmtNode(ASTEndBlockDataStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R1204
-    // <EndInterfaceStmt> ::=
-    // <LblDef> T_ENDINTERFACE (<EndName>)? T_EOS
-    // | <LblDef> T_END T_INTERFACE (<EndName>)? T_EOS
-
-    @Override public void visitASTEndInterfaceStmtNode(ASTEndInterfaceStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName().getEndName());
-    }
-
-    // # R1206
-    // <ModuleProcedureStmt> ::=
-    // <LblDef> T_MODULE T_PROCEDURE <ProcedureNameList> T_EOS
-    //
-    // <ProcedureNameList> ::=
-    // <ProcedureName>
-    // | @:<ProcedureNameList> T_COMMA <ProcedureName>
-    //
-    // <ProcedureName> ::= T_IDENT
-
-    @Override public void visitASTModuleProcedureStmtNode(ASTModuleProcedureStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTProcedureNameListNode> list = node.getProcedureNameList();
-        for (int i = 0; i < list.size(); i++)
-            bind(list.get(i).getProcedureName());
-    }
-
-    // # R1211
-    // <CallStmt> ::=
-    // <LblDef> T_CALL <SubroutineNameUse> T_EOS
-    // | <LblDef> T_CALL <SubroutineNameUse> T_LPAREN <SubroutineArgList> T_RPAREN T_EOS
-    //
-    // <SubroutineArgList> ::=
-    // /empty/
-    // | <SubroutineArg>
-    // | @:<SubroutineArgList> T_COMMA <SubroutineArg>
-    //
-    // <SubroutineArg> ::=
-    // <Expr>
-    // | T_ASTERISK <LblRef>
-    // | <Name> T_EQUALS <Expr>
-    // | <Name> T_EQUALS T_ASTERISK <LblRef>
-    // | T_HCON
-    // | <Name> T_EQUALS T_HCON
-
-    @Override public void visitASTCallStmtNode(ASTCallStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getSubroutineName() != null)
-            bind(node.getSubroutineName());
-
-        IASTListNode<ASTSubroutineArgNode> list = node.getArgList();
-        if (list != null)
-            for (int i = 0; i < list.size(); i++)
-                if (list.get(i) != null && list.get(i).getName() != null)
-                    dontbind(list.get(i).getName());
-    }
-
-    // # R1217 chain rule deleted
-    // <FunctionStmt> ::=
-    // <LblDef> <FunctionPrefix> <FunctionName> T_LPAREN <FunctionPars> T_RPAREN ( T_RESULT T_LPAREN <Name> T_RPAREN )? T_EOS
-    // | <LblDef> <FunctionPrefix> <FunctionName> /error/ T_EOS
-    //
-    // <FunctionPars> ::=
-    // /empty/
-    // | <FunctionPar>
-    // | @:<FunctionPars> T_COMMA <FunctionPar>
-    //
-    // <FunctionPar> ::= <DummyArgName>
-    //
-    // # R1218
-    // <FunctionPrefix> ::=
-    // T_FUNCTION
-    // | <PrefixSpecList> T_FUNCTION
-    //
-    // <PrefixSpecList> ::=
-    // <PrefixSpec>
-    // | @:<PrefixSpecList> <PrefixSpec>
-    //
-    // # R1219
-    // <PrefixSpec> ::=
-    // <TypeSpec>
-    // | T_RECURSIVE
-    // | T_PURE
-    // | T_ELEMENTAL
-
-    @Override public void visitASTFunctionStmtNode(ASTFunctionStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTFunctionParNode> list = node.getFunctionPars();
-        if (list != null)
-            for (int i = 0; i < list.size(); i++)
-                bindAsParam(list.get(i).getVariableName());
-        
-        if (node.hasResultClause())
-            bind(node.getName());
-    }
-
-    // # R1220
-    // <EndFunctionStmt> ::=
-    // <LblDef> T_END T_EOS
-    // | <LblDef> T_ENDFUNCTION ( <EndName> )? T_EOS
-    // | <LblDef> T_END T_FUNCTION ( <EndName> )? T_EOS
-
-    @Override public void visitASTEndFunctionStmtNode(ASTEndFunctionStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R1222
-    // <SubroutineStmt> ::=
-    // <LblDef> <SubroutinePrefix> <SubroutineName> ( T_LPAREN <SubroutinePars> T_RPAREN )? T_EOS
-    // | <LblDef> <SubroutinePrefix> <SubroutineName> /error/ T_EOS
-    //
-    // <SubroutinePrefix> ::=
-    // T_SUBROUTINE
-    // | <PrefixSpecList> T_SUBROUTINE
-    //
-    // <SubroutinePars> ::=
-    // /empty/
-    // | <SubroutinePar>
-    // | @:<SubroutinePars> T_COMMA <SubroutinePar>
-    //
-    // # R1223
-    // <SubroutinePar> ::=
-    // <DummyArgName>
-    // | T_ASTERISK
-
-    @Override public void visitASTSubroutineStmtNode(ASTSubroutineStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getSubroutinePars() != null)
-        {
-            IASTListNode<ASTSubroutineParNode> list = node.getSubroutinePars();
-            for (int i = 0; i < list.size(); i++)
-                if (list.get(i) != null && !list.get(i).isAsterisk())
-                    bindAsParam(list.get(i).getVariableName());
-        }
-    }
-
-    // # R1224
-    // <EndSubroutineStmt> ::=
-    // <LblDef> T_END T_EOS
-    // | <LblDef> T_ENDSUBROUTINE ( <EndName> )? T_EOS
-    // | <LblDef> T_END T_SUBROUTINE ( <EndName> )? T_EOS
-
-    @Override public void visitASTEndSubroutineStmtNode(ASTEndSubroutineStmtNode node)
-    {
-        super.traverseChildren(node);
-        if (node.getEndName() != null) bind(node.getEndName());
-    }
-
-    // # R1228
-    // # This may turn out to be an assignment statement, but the form given here
-    // # allows for name analysis in the case that it actually IS a statement
-    // # function definition;
-    // <StmtFunctionStmt> ::= <LblDef> <Name> <StmtFunctionRange>
-    //
-    // <StmtFunctionRange> ::= T_LPAREN T_RPAREN T_EQUALS <Expr> T_EOS
-    //
-    // <StmtFunctionRange> ::= T_LPAREN <SFDummyArgNameList> T_RPAREN T_EQUALS <Expr> T_EOS
-    //
-    // <SFDummyArgNameList> ::=
-    // <SFDummyArgName>
-    // | @:<SFDummyArgNameList> T_COMMA <SFDummyArgName>
-
-    @Override public void visitASTStmtFunctionStmtNode(ASTStmtFunctionStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        // Assume this is actually an assignment statement instead of a statement function
-        
-        //addDefinition(node.getName(), Type.UNKNOWN);
-        Token functionName = node.getName().getName();
-        bind(functionName);
-
-        if (node.getSFDummyArgNameList() != null)
-        {
-            for (int j = 0; j < node.getSFDummyArgNameList().size(); j++)
-            {
-                Token argName = node.getSFDummyArgNameList().get(j).getName();
-                bind(argName);
-                markAccess(functionName, VariableAccess.STMT_FUNCTION_ARG);
-            }
-        }
-    }
-
-    // #/* Assign Statement */
-    // <AssignStmt> ::=
-    // <LblDef> T_ASSIGN <LblRef> T_TO <VariableName> T_EOS
-
-    @Override public void visitASTAssignStmtNode(ASTAssignStmtNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getVariableName();
-        bind(ident);
-        markAccess(ident, VariableAccess.WRITE);
-    }
-
-    // #/* Assigned GOTO Statement */
-    // <AssignedGotoStmt> ::=
-    // <LblDef> <GoToKw> <VariableName> T_EOS
-    // | <LblDef> <GoToKw> <VariableName> T_LPAREN <LblRefList> T_RPAREN T_EOS
-    // | <LblDef> <GoToKw> <VariableComma> T_LPAREN <LblRefList> T_RPAREN T_EOS
-    //
-    // <VariableComma> ::= <VariableName> T_COMMA
-
-    @Override public void visitASTAssignedGotoStmtNode(ASTAssignedGotoStmtNode node)
-    {
-        super.traverseChildren(node);
-        Token ident = node.getVariableName();
-        bind(ident);
-        markAccess(ident, VariableAccess.READ);
-    }
-
-    // F03
-    @Override public void visitASTDerivedTypeStmtNode(ASTDerivedTypeStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        if (node.getTypeAttrSpecList() != null)
-            for (ASTTypeAttrSpecNode spec : node.getTypeAttrSpecList())
-                if (spec.isExtends())
-                    bind(spec.getParentTypeName());
-    }
-    
-    // F03
-    @Override public void visitASTSpecificBindingNode(ASTSpecificBindingNode node)
-    {
-        super.visitASTSpecificBindingNode(node);
-        
-        if (node.getInterfaceName() != null)
-            bind(node.getInterfaceName());
-        
-        if (node.getProcedureName() != null)
-            setTypeBoundProcedureAttribInDefinition(bind(node.getProcedureName()), true);
-        else
-            setTypeBoundProcedureAttribInDefinition(bind(node.getBindingName()), false);
-    }
-    
-    private void setTypeBoundProcedureAttribInDefinition(List<PhotranTokenRef> definitionTokenRefs, boolean renamed)
-    {
-        for (PhotranTokenRef tokenRef : definitionTokenRefs)
-        {
-            Definition def = PhotranVPG.getInstance().getDefinitionFor(tokenRef);
-            def.markAsTypeBoundProcedure(renamed);
-            vpgProvider.setDefinitionFor(tokenRef, def);
-        }
-    }
-
-    // F03
-    @Override public void visitASTGenericBindingNode(ASTGenericBindingNode node)
-    {
-        super.visitASTGenericBindingNode(node);
-        
-        for (Token name : node.getBindingNameList())
-            bind(name);
-    }
-    
-    // F03
-    @Override public void visitASTFinalBindingNode(ASTFinalBindingNode node)
-    {
-        super.visitASTFinalBindingNode(node);
-        
-        for (Token name : node.getFinalSubroutineNameList())
-            bind(name);
-    }
-    
-    // F03
-    @Override public void visitASTWaitStmtNode(ASTWaitStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        for (ASTWaitSpecNode waitSpec : node.getWaitSpecList())
-        {
-            if (waitSpec.getKeyword() != null)
-            {
-                String keyword = waitSpec.getKeyword().getText().toLowerCase();
-                if (keyword.equals("id") || keyword.equals("iomsg") || keyword.equals("iostat")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-                {
-                    Token variable = waitSpec.getExpr().findFirstToken();
-                    if (variable != null && variable.getTerminal() == Terminal.T_IDENT)
-                    {
-                        bind(variable);
-                        markAccess(variable, VariableAccess.WRITE);
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ScopePrint.txt b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ScopePrint.txt
deleted file mode 100644
index 2d5c29c..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ScopePrint.txt
+++ /dev/null
@@ -1,105 +0,0 @@
-    
-    // Debugging ----------------------------------------------------------------------------------
-
-    /** Prints a textual representation of the global scope (and all nested scopes) */
-    public void printGlobalSymbolTableOn(PrintStream out)
-    {
-        Scope scope = this;
-        while (scope.parentScope != null) scope = scope.parentScope;
-        out.println(scope.toString(0));
-    }
-
-    /**
-     * Describe the contents of this symbol table.
-     * 
-     * @param indent Number of spaces to indent each line. (This is useful when displaying nested
-     *            symbol tables.)
-     * @return <code>String</code>
-     */
-    public String toString(int indent)
-    {
-        StringBuffer sb = new StringBuffer();
-        
-        if (internal)
-        {
-            indent(indent, sb);
-            sb.append("* Internal/contained\n");
-        }
-        
-        if (entriesArePrivateByDefault)
-        {
-            indent(indent, sb);
-            sb.append("* Default visibility is PRIVATE\n");
-        }
-
-        // Write out implicit spec if top level table or if it differs from its parent
-        if (parentScope == null || implicitSpec != parentScope.implicitSpec)
-        {
-            indent(indent, sb);
-            sb.append("* Implicit ");
-            sb.append(implicitSpec == null ? "none\n\n" : "enabled\n\n");
-        }
-
-//        // Write out module import info
-//        for (ModuleUse useInfo : moduleUseInfo)
-//        {
-//            indent(indent, sb);
-//            sb.append("* Use ");
-//            sb.append(useInfo.toString());
-//            sb.append("\n");
-//        }
-
-        // Write out entries
-        for (int i = 0; i < bindings.size(); i++)
-        {
-            Binding b = bindings.get(i);
-            if (!(b instanceof Intrinsic))
-            {
-                sb.append(b == null ? "(null binding)" : b.toString(indent));
-                sb.append("\n");
-                
-                if (b instanceof Definition)
-                {
-                    for (Binding ref : findAllReferences((Definition)b))
-                    {
-                        indent(indent + 4, sb);
-                        sb.append("Referenced" + ref.describeLocation() + "\n");
-                    }
-                }
-            }
-        }
-
-        // Write out nested scopes
-        for (int i = 0; i < nestedScopes.size(); i++)
-        {
-            Scope ns = nestedScopes.get(i);
-            
-            if (ns == null)
-                sb.append("(null nested scope)");
-            else
-            {
-                sb.append("\n");
-                indent(indent, sb);
-                sb.append("Nested scope");
-                if (ns.parentEntry != null) sb.append(" for " + ns.parentEntry);
-                sb.append(":\n");
-                sb.append(ns.toString(indent + 4));
-            }
-        }
-        
-        return sb.toString();
-    }
-
-    protected void indent(int indent, StringBuffer sb)
-    {
-        for (int i = 0; i < indent; i++)
-            sb.append(' ');
-    }
-
-    /**
-     * Return a friendly listing of the contents of this symbol table.
-     */
-    public String toString()
-    {
-        return toString(0);
-    }
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ScopingNode.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ScopingNode.java
deleted file mode 100644
index c41a062..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/ScopingNode.java
+++ /dev/null
@@ -1,1004 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition.Visibility;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.Token.FakeToken;
-import org.eclipse.photran.internal.core.parser.ASTBlockConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTBlockDataNameNode;
-import org.eclipse.photran.internal.core.parser.ASTBlockDataStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTBlockDataSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTBlockStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTCallStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTContainsStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTDerivedTypeDefNode;
-import org.eclipse.photran.internal.core.parser.ASTDerivedTypeStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndBlockDataStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndBlockStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndInterfaceStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndModuleStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndNameNode;
-import org.eclipse.photran.internal.core.parser.ASTEndProgramStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndSubmoduleStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndTypeStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionNameNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTGenericNameNode;
-import org.eclipse.photran.internal.core.parser.ASTGenericSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTInterfaceBlockNode;
-import org.eclipse.photran.internal.core.parser.ASTInterfaceStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNameNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTProgramNameNode;
-import org.eclipse.photran.internal.core.parser.ASTProgramStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubmoduleNode;
-import org.eclipse.photran.internal.core.parser.ASTSubmoduleStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineNameNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeNameNode;
-import org.eclipse.photran.internal.core.parser.ASTUseStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTVarOrFnRefNode;
-import org.eclipse.photran.internal.core.parser.ASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IBlockDataBodyConstruct;
-import org.eclipse.photran.internal.core.parser.IBodyConstruct;
-import org.eclipse.photran.internal.core.parser.IDerivedTypeBodyConstruct;
-import org.eclipse.photran.internal.core.parser.IInterfaceSpecification;
-import org.eclipse.photran.internal.core.parser.IInternalSubprogram;
-import org.eclipse.photran.internal.core.parser.IModuleBodyConstruct;
-import org.eclipse.photran.internal.core.util.Notification;
-import org.eclipse.photran.internal.core.vpg.AnnotationType;
-import org.eclipse.photran.internal.core.vpg.EdgeType;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGWriter;
-
-/**
- * An AST node representing a scope.
- * <p>
- * (View the type hierarchy to see which nodes are scoping nodes.)
- *
- * @author Jeff Overbey
- */
-public abstract class ScopingNode extends ASTNode
-{
-    public static ScopingNode getEnclosingScope(IASTNode node)
-    {
-        for (IASTNode candidate = node.getParent(); candidate != null; candidate = candidate.getParent())
-        {
-            if (isScopingNode(candidate))
-            {
-                ScopingNode scope = (ScopingNode)candidate;
-
-                //if (node == scope.getRepresentativeToken().findToken())
-                if (shouldBeBoundToOuterScope(node))
-                    return getEnclosingScope(scope);
-                else
-                    return scope;
-            }
-        }
-
-        return null;
-    }
-
-    public static ScopingNode getLocalScope(IASTNode node)
-    {
-        for (IASTNode candidate = node.getParent(); candidate != null; candidate = candidate.getParent())
-            if (isScopingNode(candidate))
-                return (ScopingNode)candidate;
-
-        return null;
-    }
-
-	/**
-	 * In cases such as
-	 * <pre>
-	 * SUBROUTINE S
-	 *   INTEGER :: S
-	 * END SUBROUTINE S
-	 * </pre>
-	 * the <code>S</code>'s in the Subroutine and End Subroutine statements are under the
-	 * ASTSubroutineSubprogram node in the AST, but they should actually be bound in the
-	 * <i>outer</i> scope.
-	 * <p>
-	 * In general, this is true for
-	 * derived type names, program names, module names, block data names,
-	 * interface names, subroutine names, function names, submodule names, and block
-	 * construct names in the beginning and ending
-	 * statements for their respective scoping nodes.
-	 */
-    private static boolean shouldBeBoundToOuterScope(IASTNode node)
-    {
-    	IASTNode parent = node.getParent();
-    	if (parent == null) return false;
-    	IASTNode grandparent = parent.getParent();
-    	if (grandparent == null) return false;
-
-    	if (isDeclStmtForScope(parent))
-    	{
-    	    if (parent instanceof ASTFunctionStmtNode && node == ((ASTFunctionStmtNode)parent).getName()) // result clause
-    	        return false;
-    	    else
-    	        return true;
-    	}
-    	else if (parent instanceof ASTProgramNameNode
-    		|| parent instanceof ASTFunctionNameNode
-    		|| parent instanceof ASTSubroutineNameNode
-    		|| parent instanceof ASTModuleNameNode
-    		|| parent instanceof ASTBlockDataNameNode
-    		|| parent instanceof ASTTypeNameNode       // <-   These are used in other contexts
-    		|| parent instanceof ASTGenericNameNode    //   |  as well, so we must test the
-    		|| parent instanceof ASTGenericSpecNode    //   |  grandparent node to make a
-    		|| parent instanceof ASTEndNameNode)       // <-   decision
-		{
-    		if (inAnonymousInterface(grandparent))
-    			return false;
-            else
-                return isDeclStmtForScope(grandparent);
-		}
-    	else return false;
-	}
-
-    private static boolean isDeclStmtForScope(IASTNode node)
-    {
-        return node instanceof ASTProgramStmtNode
-        	|| node instanceof ASTFunctionStmtNode
-        	|| node instanceof ASTSubroutineStmtNode
-        	|| node instanceof ASTModuleStmtNode
-        	|| node instanceof ASTBlockDataStmtNode
-        	|| node instanceof ASTDerivedTypeStmtNode
-        	|| node instanceof ASTInterfaceStmtNode
-        	|| node instanceof ASTSubmoduleStmtNode
-        	|| node instanceof ASTBlockStmtNode
-        	|| node instanceof ASTEndProgramStmtNode
-        	|| node instanceof ASTEndFunctionStmtNode
-        	|| node instanceof ASTEndSubroutineStmtNode
-        	|| node instanceof ASTEndModuleStmtNode
-        	|| node instanceof ASTEndBlockDataStmtNode
-        	|| node instanceof ASTEndTypeStmtNode
-        	|| node instanceof ASTEndInterfaceStmtNode
-        	|| node instanceof ASTEndSubmoduleStmtNode
-        	|| node instanceof ASTEndBlockStmtNode;
-    }
-
-	private static boolean inAnonymousInterface(IASTNode n)
-	{
-		for (IASTNode node = n.getParent(); node != null; node = node.getParent())
-			if (node instanceof ASTInterfaceBlockNode && isAnonymousInterface((ASTInterfaceBlockNode)node))
-				return true;
-		return false;
-	}
-
-	public static boolean isScopingNode(IASTNode node)
-    {
-    	return node instanceof ASTExecutableProgramNode
-    		|| node instanceof ASTMainProgramNode
-    		|| node instanceof ASTFunctionSubprogramNode
-    		|| node instanceof ASTSubroutineSubprogramNode
-    		|| node instanceof ASTModuleNode
-    		|| node instanceof ASTBlockDataSubprogramNode
-    		|| node instanceof ASTDerivedTypeDefNode
-    		|| (node instanceof ASTInterfaceBlockNode && !isAnonymousInterface((ASTInterfaceBlockNode)node))
-    		|| node instanceof ASTSubmoduleNode
-    		|| node instanceof ASTBlockConstructNode;
-    }
-
-	private static boolean isAnonymousInterface(ASTInterfaceBlockNode node)
-	{
-		return node.getInterfaceStmt().getGenericName() != null
-			&& node.getInterfaceStmt().getGenericSpec() != null;
-	}
-
-    public ScopingNode getEnclosingScope()
-    {
-    	return getEnclosingScope(this);
-    }
-
-    public ScopingNode getGlobalScope()
-    {
-    	IASTNode result = this;
-
-    	// Find root of AST (i.e., topmost ASTExecutableProgramNode)
-    	while (result.getParent() != null) result = result.getParent();
-
-    	return (ScopingNode)result;
-    }
-
-    /*
-     * According to a profile obtained (6/24/09) by running
-     *     org.eclipse.photran.cmdline/vpgstats-profiled
-     * on FMLIB (one of the projects in UIUC's SVN repo),
-     * caching the representative token for a scope reduced
-     * the Binder's maximal times as follows:
-     *                            BEFORE============   AFTER============
-     *     DefinitionCollector:     8771 ms (FM.f90)    3475 ms (FM.f90)
-     *     ImplicitSpecCollector:   1816 ms (FM.f90)     404 ms (FM.f90)
-     *     ReferenceCollector:    122225 ms (FM.f90)   35226 ms (FM.f90)
-     */
-    private PhotranTokenRef cachedRepresentataiveToken = null;
-
-    public PhotranTokenRef getRepresentativeToken()
-    {
-        return getRepresentativeToken(false);
-    }
-
-    public PhotranTokenRef getRepresentativeToken(boolean force)
-    {
-        if (force || cachedRepresentataiveToken == null)
-        {
-            Token result = internalGetRepresentativeToken();
-            if (result == null)
-            {
-                Token firstToken = findFirstToken();
-                if (firstToken == null) throw new Error(Messages.ScopingNode_EmptyFile);
-                cachedRepresentataiveToken = new PhotranTokenRef(firstToken.getLogicalFile(), -1, 0);
-            }
-            else
-                cachedRepresentataiveToken = result.getTokenRef();
-        }
-
-        return cachedRepresentataiveToken;
-    }
-
-    private Token internalGetRepresentativeToken()
-    {
-    	// TODO: GET RID OF THIS MESS AFTER INDIVIDUAL NODES CAN BE CUSTOMIZED
-    	// AND DYNAMICALLY DISPATCHED TO!
-
-    	if (this instanceof ASTExecutableProgramNode)
-    	{
-    		return null;
-    	}
-    	else if (this instanceof ASTMainProgramNode)
-    	{
-    		ASTProgramStmtNode m = ((ASTMainProgramNode)this).getProgramStmt();
-    		if (m != null)
-    		{
-    			if (m.getProgramName() != null)
-    				return m.getProgramName().getProgramName();
-    			else
-    				return m.getProgramToken();
-    		}
-    		else
-    		{
-	    		ASTEndProgramStmtNode s = ((ASTMainProgramNode)this).getEndProgramStmt();
-	    		return s.getEndToken();
-    		}
-    	}
-    	else if (this instanceof ASTFunctionSubprogramNode)
-    	{
-    		return ((ASTFunctionSubprogramNode)this).getFunctionStmt().getFunctionName().getFunctionName();
-    	}
-    	else if (this instanceof ASTSubroutineSubprogramNode)
-    	{
-    		return ((ASTSubroutineSubprogramNode)this).getSubroutineStmt().getSubroutineName().getSubroutineName();
-    	}
-    	else if (this instanceof ASTModuleNode)
-    	{
-    		return ((ASTModuleNode)this).getModuleStmt().getModuleName().getModuleName();
-    	}
-    	else if (this instanceof ASTBlockDataSubprogramNode)
-    	{
-    		ASTBlockDataStmtNode s = ((ASTBlockDataSubprogramNode)this).getBlockDataStmt();
-    		if (s.getBlockDataName() != null)
-    			return s.getBlockDataName().getBlockDataName();
-    		else
-    			return s.getBlockDataToken();
-    	}
-    	else if (this instanceof ASTDerivedTypeDefNode)
-    	{
-    		return ((ASTDerivedTypeDefNode)this).getDerivedTypeStmt().getTypeName();
-    	}
-    	else if (this instanceof ASTInterfaceBlockNode)
-		{
-    		ASTInterfaceStmtNode s = ((ASTInterfaceBlockNode)this).getInterfaceStmt();
-			if (s.getGenericName() != null)
-				return s.getGenericName().getGenericName();
-			else if (s.getGenericSpec() != null && s.getGenericSpec().getEqualsToken() != null)
-				return s.getGenericSpec().getEqualsToken();
-			else
-				return s.getInterfaceToken();
-		}
-        else if (this instanceof ASTSubmoduleNode)
-        {
-            return ((ASTSubmoduleNode)this).getSubmoduleStmt().getSubmoduleName().getModuleName();
-        }
-        else if (this instanceof ASTBlockConstructNode)
-        {
-            return ((ASTBlockConstructNode)this).findFirstToken();
-        }
-    	else
-    	{
-    		throw new UnsupportedOperationException();
-    	}
-    }
-
-    public void clearAllCachedRepresentativeTokens()
-    {
-        this.accept(new ASTVisitor()
-        {
-            @Override public void visitASTNode(IASTNode node)
-            {
-                if (isScopingNode(node))
-                    ((ScopingNode)node).cachedRepresentataiveToken = null;
-                super.visitASTNode(node);
-            }
-        });
-    }
-    
-    public ASTNode getHeaderStmt()
-    {
-        // TODO: GET RID OF THIS MESS AFTER INDIVIDUAL NODES CAN BE CUSTOMIZED
-        // AND DYNAMICALLY DISPATCHED TO!
-
-        if (this instanceof ASTExecutableProgramNode)
-            return null;
-        else if (this instanceof ASTMainProgramNode)
-            return ((ASTMainProgramNode)this).getProgramStmt();
-        else if (this instanceof ASTFunctionSubprogramNode)
-            return ((ASTFunctionSubprogramNode)this).getFunctionStmt();
-        else if (this instanceof ASTSubroutineSubprogramNode)
-            return ((ASTSubroutineSubprogramNode)this).getSubroutineStmt();
-        else if (this instanceof ASTModuleNode)
-            return ((ASTModuleNode)this).getModuleStmt();
-        else if (this instanceof ASTBlockDataSubprogramNode)
-            return ((ASTBlockDataSubprogramNode)this).getBlockDataStmt();
-        else if (this instanceof ASTDerivedTypeDefNode)
-            return ((ASTDerivedTypeDefNode)this).getDerivedTypeStmt();
-        else if (this instanceof ASTInterfaceBlockNode)
-            return ((ASTInterfaceBlockNode)this).getInterfaceStmt();
-        else if (this instanceof ASTSubmoduleNode)
-            return ((ASTSubmoduleNode)this).getSubmoduleStmt();
-        else if (this instanceof ASTBlockConstructNode)
-            return ((ASTBlockConstructNode)this).getBlockStmt();
-        else
-            throw new UnsupportedOperationException();
-    }
-
-    public IASTListNode<? extends IASTNode /*IBodyConstruct*/> getBody()
-    {
-        // TODO: GET RID OF THIS MESS AFTER INDIVIDUAL NODES CAN BE CUSTOMIZED
-        // AND DYNAMICALLY DISPATCHED TO!
-
-        if (this instanceof ASTExecutableProgramNode)
-            return null;
-        else if (this instanceof ASTMainProgramNode)
-            return ((ASTMainProgramNode)this).getBody();
-        else if (this instanceof ASTFunctionSubprogramNode)
-            return ((ASTFunctionSubprogramNode)this).getBody();
-        else if (this instanceof ASTSubroutineSubprogramNode)
-            return ((ASTSubroutineSubprogramNode)this).getBody();
-        else if (this instanceof ASTModuleNode)
-            return ((ASTModuleNode)this).getModuleBody();
-        else if (this instanceof ASTBlockDataSubprogramNode)
-            return ((ASTBlockDataSubprogramNode)this).getBlockDataBody();
-        else if (this instanceof ASTDerivedTypeDefNode)
-            return ((ASTDerivedTypeDefNode)this).getDerivedTypeBody();
-        else if (this instanceof ASTInterfaceBlockNode)
-            return ((ASTInterfaceBlockNode)this).getInterfaceBlockBody();
-        else if (this instanceof ASTSubmoduleNode)
-            return ((ASTSubmoduleNode)this).getModuleBody();
-        else if (this instanceof ASTBlockConstructNode)
-            return ((ASTBlockConstructNode)this).getBody();
-        else
-            throw new UnsupportedOperationException();
-    }
-
-    public IASTListNode<? extends IASTNode /*IBodyConstruct*/> getOrCreateBody()
-    {
-        if (getBody() == null)
-        {
-            // TODO: GET RID OF THIS MESS AFTER INDIVIDUAL NODES CAN BE CUSTOMIZED
-            // AND DYNAMICALLY DISPATCHED TO!
-
-            if (this instanceof ASTMainProgramNode)
-                ((ASTMainProgramNode)this).setBody(new ASTListNode<IBodyConstruct>());
-            else if (this instanceof ASTFunctionSubprogramNode)
-                ((ASTFunctionSubprogramNode)this).setBody(new ASTListNode<IBodyConstruct>());
-            else if (this instanceof ASTSubroutineSubprogramNode)
-                ((ASTSubroutineSubprogramNode)this).setBody(new ASTListNode<IBodyConstruct>());
-            else if (this instanceof ASTModuleNode)
-                ((ASTModuleNode)this).setModuleBody(new ASTListNode<IModuleBodyConstruct>());
-            else if (this instanceof ASTBlockDataSubprogramNode)
-                ((ASTBlockDataSubprogramNode)this).setBlockDataBody(new ASTListNode<IBlockDataBodyConstruct>());
-            else if (this instanceof ASTDerivedTypeDefNode)
-                ((ASTDerivedTypeDefNode)this).setDerivedTypeBody(new ASTListNode<IDerivedTypeBodyConstruct>());
-            else if (this instanceof ASTInterfaceBlockNode)
-                ((ASTInterfaceBlockNode)this).setInterfaceBlockBody(new ASTListNode<IInterfaceSpecification>());
-            else if (this instanceof ASTSubmoduleNode)
-                ((ASTSubmoduleNode)this).setModuleBody(new ASTListNode<IModuleBodyConstruct>());
-            else if (this instanceof ASTBlockConstructNode)
-                ((ASTBlockConstructNode)this).setBody(new ASTListNode<IBodyConstruct>());
-            else
-                throw new UnsupportedOperationException();
-        }
-
-        return getBody();
-    }
-
-    public IASTListNode<IInternalSubprogram> getInternalSubprograms()
-    {
-        // TODO: GET RID OF THIS MESS AFTER INDIVIDUAL NODES CAN BE CUSTOMIZED
-        // AND DYNAMICALLY DISPATCHED TO!
-
-        if (this instanceof ASTMainProgramNode)
-            return ((ASTMainProgramNode)this).getInternalSubprograms();
-        else if (this instanceof ASTFunctionSubprogramNode)
-            return ((ASTFunctionSubprogramNode)this).getInternalSubprograms();
-        else if (this instanceof ASTSubroutineSubprogramNode)
-            return ((ASTSubroutineSubprogramNode)this).getInternalSubprograms();
-        else if (this instanceof ASTModuleNode)
-            return collectModuleSubprograms(((ASTModuleNode)this).getModuleBody());
-        else if (this instanceof ASTSubmoduleNode)
-            return collectModuleSubprograms(((ASTSubmoduleNode)this).getModuleBody());
-        else
-            return new ASTListNode<IInternalSubprogram>();
-    }
-    
-    public ASTContainsStmtNode getContainsStmt()
-    {
-        // TODO: GET RID OF THIS MESS AFTER INDIVIDUAL NODES CAN BE CUSTOMIZED
-        // AND DYNAMICALLY DISPATCHED TO!
-
-        if (this instanceof ASTMainProgramNode)
-            return ((ASTMainProgramNode)this).getContainsStmt();
-        else if (this instanceof ASTFunctionSubprogramNode)
-            return ((ASTFunctionSubprogramNode)this).getContainsStmt();
-        else if (this instanceof ASTSubroutineSubprogramNode)
-            return ((ASTSubroutineSubprogramNode)this).getContainsStmt();
-        else if (this instanceof ASTModuleNode)
-            return getContainsStatement(((ASTModuleNode)this).getModuleBody());
-        else if (this instanceof ASTSubmoduleNode)
-            return getContainsStatement(((ASTSubmoduleNode)this).getModuleBody());
-        else
-            return new ASTContainsStmtNode();
-    }
-    
-    
-    private ASTContainsStmtNode getContainsStatement(IASTListNode<IModuleBodyConstruct> moduleBody)
-    {
-     
-        for (IModuleBodyConstruct c : moduleBody)
-            if (c instanceof ASTContainsStmtNode)
-                return (ASTContainsStmtNode)c ;
-        return null ;
-    }
-
-    private IASTListNode<IInternalSubprogram> collectModuleSubprograms(IASTListNode<IModuleBodyConstruct> moduleBody)
-    {
-        IASTListNode<IInternalSubprogram> result = new ASTListNode<IInternalSubprogram>();
-        for (IModuleBodyConstruct c : moduleBody)
-        {
-            if (c instanceof ASTSubroutineSubprogramNode || c instanceof ASTFunctionSubprogramNode)
-            {
-                IASTNode oldParent = c.getParent();
-                result.add((IInternalSubprogram)c); // Will reset parent of c
-                c.setParent(oldParent);
-            }
-        }
-        return result;
-    }
-
-    public boolean isSubprogram()
-    {
-        return this instanceof ASTFunctionSubprogramNode || this instanceof ASTSubroutineSubprogramNode;
-    }
-
-    public boolean isMainProgram()
-    {
-        return this instanceof ASTMainProgramNode;
-    }
-
-    public boolean isModule()
-    {
-        return this instanceof ASTModuleNode;
-    }
-
-    public boolean isInternal()
-    {
-    	return getParent() instanceof IInternalSubprogram;
-    }
-
-    public ImplicitSpec getImplicitSpec()
-    {
-    	return getRepresentativeToken().getAnnotation(AnnotationType.SCOPE_IMPLICIT_SPEC_ANNOTATION_TYPE);
-    }
-
-    public boolean isImplicitNone()
-    {
-    	return getImplicitSpec() == null;
-    }
-
-    public boolean isDefaultVisibilityPrivate()
-    {
-		return getRepresentativeToken().getAnnotation(AnnotationType.SCOPE_DEFAULT_VISIBILITY_IS_PRIVATE_ANNOTATION_TYPE) != null;
-    }
-
-    public boolean isParentScopeOf(ScopingNode scope)
-    {
-    	for (IASTNode node = scope.getParent(); node != null; node = node.getParent())
-    		if (node == this)
-    			return true;
-
-    	return false;
-    }
-
-    /** @return this scope and all scopes nested within it */
-    public List<ScopingNode> getAllContainedScopes()
-    {
-		final List<ScopingNode> scopes = new LinkedList<ScopingNode>();
-
-		this.accept(new ASTVisitor()
-		{
-			@Override public void visitASTNode(IASTNode node)
-			{
-				if (isScopingNode(node))
-					scopes.add((ScopingNode)node);
-				super.visitASTNode(node);
-			}
-		});
-
-	    return scopes;
-    }
-
-    private static interface BindingResolutionCallback
-    {
-    	void foundDefinition(PhotranTokenRef definition, ScopingNode scope);
-    }
-
-	public ScopingNode findScopeDeclaringOrImporting(Token identifier)
-	{
-		try
-		{
-			manuallyResolve(identifier, new BindingResolutionCallback()
-	    	{
-				public void foundDefinition(PhotranTokenRef definition, ScopingNode scope)
-				{
-					throw new Notification(scope);
-				}
-	    	});
-
-			return null;
-		}
-		catch (Notification n)
-		{
-			return (ScopingNode)n.getResult();
-		}
-	}
-
-	public Iterable<ScopingNode> findImportingScopes()
-	{
-	    if (this instanceof ASTModuleNode)
-	    {
-            return new Iterable<ScopingNode>()
-            {
-                public Iterator<ScopingNode> iterator()
-                {
-                    String moduleName = getName();
-                    return new ModuleIterator(moduleName);
-                }
-            };
-	    }
-	    else
-	    {
-            return Collections.emptyList();
-	    }
-	}
-
-	private static class ModuleIterator implements Iterator<ScopingNode>
-	{
-	    private String moduleName;
-	    private Iterator<IFile> files;
-        private Iterator<ScopingNode> scopesInFile;
-
-        public ModuleIterator(String moduleName)
-        {
-            this.moduleName = moduleName;
-            this.files = PhotranVPG.getInstance().findFilesThatImportModule(moduleName).iterator();
-            this.scopesInFile = Collections.<ScopingNode>emptyList().iterator();
-        }
-
-        public boolean hasNext()
-        {
-            if (scopesInFile.hasNext())
-                return true;
-            else
-                return this.files.hasNext();
-        }
-
-        public ScopingNode next()
-        {
-            if (scopesInFile.hasNext())
-                return scopesInFile.next();
-            else
-                return firstScopeInNextFile();
-        }
-
-        private ScopingNode firstScopeInNextFile()
-        {
-            if (!files.hasNext()) return null;
-            
-            IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(files.next());
-            if (ast == null) return firstScopeInNextFile();
-            
-            scopesInFile = collectImportingScopingNodes(ast).iterator();
-            if (!scopesInFile.hasNext()) return firstScopeInNextFile();
-            
-            return scopesInFile.next();
-        }
-
-        private Set<ScopingNode> collectImportingScopingNodes(IFortranAST ast)
-        {
-            final Set<ScopingNode> importingScopes = new HashSet<ScopingNode>();
-            ast.accept(new ASTVisitor()
-            {
-                @Override public void visitASTUseStmtNode(ASTUseStmtNode node)
-                {
-                    if (node.getName().getText().equalsIgnoreCase(moduleName))
-                        importingScopes.add(node.findFirstToken().getEnclosingScope());
-                }
-            });
-            return importingScopes;
-        }
-
-        public void remove()
-        {
-            throw new UnsupportedOperationException();
-        }
-	}
-
-	public static ScopingNode findScopingNodeForRepresentativeToken(PhotranTokenRef tr)
-	{
-	    PhotranVPG vpg = PhotranVPG.getInstance();
-
-	    if (tr.getOffset() < 0)
-	        return vpg.acquireTransientAST(tr.getFilename()).getRoot();
-	    else
-	        return tr.findToken().findNearestAncestor(ScopingNode.class);
-	}
-
-	private HashMap<String, List<PhotranTokenRef>> definitionCache = new HashMap<String, List<PhotranTokenRef>>();
-
-    public List<PhotranTokenRef> manuallyResolve(Token identifier)
-    {
-        String canonicalizedIdentifier = null;
-        if (PhotranVPG.getProvider().isDefinitionCachingEnabled())
-        {
-            canonicalizedIdentifier = PhotranVPG.canonicalizeIdentifier(identifier.getText());
-            if (definitionCache.containsKey(canonicalizedIdentifier))
-                return definitionCache.get(canonicalizedIdentifier);
-        }
-
-    	final List<PhotranTokenRef> bindings = new LinkedList<PhotranTokenRef>();
-
-    	manuallyResolve(identifier, new BindingResolutionCallback()
-    	{
-			public void foundDefinition(PhotranTokenRef definition, ScopingNode scope)
-			{
-				bindings.add(definition);
-			}
-    	});
-
-        if (PhotranVPG.getProvider().isDefinitionCachingEnabled())
-            definitionCache.put(canonicalizedIdentifier, bindings);
-
-    	return bindings;
-    }
-
-    public List<PhotranTokenRef> manuallyResolveInLocalScope(Token identifier)
-    {
-    	final List<PhotranTokenRef> bindings = new LinkedList<PhotranTokenRef>();
-
-    	manuallyResolveInLocalScope(identifier, new BindingResolutionCallback()
-    	{
-			public void foundDefinition(PhotranTokenRef definition, ScopingNode scope)
-			{
-				bindings.add(definition);
-			}
-    	});
-
-    	return bindings;
-    }
-
-    private void manuallyResolve(Token identifier, BindingResolutionCallback result)
-    {
-        if (!manuallyResolveInLocalScope(identifier, result))
-            if (!manuallyResolveInParentScopes(identifier, result))
-                if (!manuallyResolveIntrinsic(identifier, result))
-                    attemptToDeclareImplicit(identifier, result);
-    }
-
-    public List<PhotranTokenRef> manuallyResolveNoImplicits(Token identifier)
-    {
-        final List<PhotranTokenRef> bindings = new LinkedList<PhotranTokenRef>();
-
-        manuallyResolveNoImplicits(identifier, new BindingResolutionCallback()
-        {
-            public void foundDefinition(PhotranTokenRef definition, ScopingNode scope)
-            {
-                bindings.add(definition);
-            }
-        });
-
-        return bindings;
-    }
-
-    private void manuallyResolveNoImplicits(Token identifier, BindingResolutionCallback result)
-    {
-        if (!manuallyResolveInLocalScope(identifier, result))
-            if (!manuallyResolveInParentScopes(identifier, result))
-                manuallyResolveIntrinsic(identifier, result);
-    }
-
-	private boolean manuallyResolveInLocalScope(Token identifier, BindingResolutionCallback bindings)
-	{
-    	String name = PhotranVPG.canonicalizeIdentifier(identifier.getText());
-    	boolean wasSuccessful = false;
-
-    	for (Definition def : getAllDefinitions())
-    	{
-    		if (def != null && def.matches(name)) // TODO: Why are we getting null here?
-    		{
-    			bindings.foundDefinition(def.getTokenRef(), this);
-    			wasSuccessful = true;
-    		}
-    	}
-
-		return wasSuccessful;
-	}
-
-	private boolean manuallyResolveInParentScopes(Token identifier, BindingResolutionCallback bindings)
-	{
-		for (ScopingNode scope = getEnclosingScope(); scope != null; scope = scope.getEnclosingScope())
-			if (scope.manuallyResolveInLocalScope(identifier, bindings))
-				return true;
-
-		return false;
-	}
-
-	private boolean manuallyResolveIntrinsic(Token identifier, BindingResolutionCallback bindings)
-	{
-    	Definition def = Intrinsic.resolve(identifier);
-		if (def == null) return false;
-
-		PhotranVPG.getProvider().setDefinitionFor(identifier.getTokenRef(), def);
-        bindings.foundDefinition(def.getTokenRef(), getGlobalScope());
-		return true;
-	}
-
-	private void attemptToDeclareImplicit(Token identifier, BindingResolutionCallback bindings)
-	{
-		PhotranVPGWriter vpg = PhotranVPG.getProvider();
-		ImplicitSpec implicitSpec = getImplicitSpec();
-
-		if (implicitSpec == null) return; // Implicit None
-
-		if (identifier instanceof FakeToken) return; // Not a real token; used to test bindings only
-
-    	String name = PhotranVPG.canonicalizeIdentifier(identifier.getText());
-
-
-    	PhotranTokenRef tokenRef = identifier.getTokenRef();
-		Type type = implicitSpec.getType(name.charAt(0));
-        Definition.Classification classification = Definition.Classification.IMPLICIT_LOCAL_VARIABLE;
-        if (isSubroutineNameInCallStmt(identifier) || isFunctionNameInFunctionCall(identifier))
-            classification = Definition.Classification.IMPLICIT_EXTERNAL_SUBPROGRAM;
-        else
-            classification = Definition.Classification.IMPLICIT_LOCAL_VARIABLE;
-		Definition def = new Definition(identifier.getText(), tokenRef, classification, /*Visibility.PUBLIC,*/ type);
-
-    	vpg.setDefinitionFor(tokenRef, def);
-    	vpg.markScope(tokenRef, this);
-    	vpg.markDefinitionVisibilityInScope(tokenRef, this, Visibility.PUBLIC);
-    	bindings.foundDefinition(tokenRef, getGlobalScope());
-	}
-
-    private boolean isSubroutineNameInCallStmt(Token identifier)
-    {
-        ASTCallStmtNode call = identifier.findNearestAncestor(ASTCallStmtNode.class);
-        if (call != null && call.getSubroutineName() != null)
-            return matches(call.getSubroutineName(), identifier);
-        else
-            return false;
-    }
-
-    private boolean isFunctionNameInFunctionCall(Token identifier)
-    {
-        ASTVarOrFnRefNode call = identifier.findNearestAncestor(ASTVarOrFnRefNode.class);
-        if (call != null && call.getName() != null)
-            return matches(call.getName().getName(), identifier)
-                && (call.getPrimarySectionSubscriptList() != null
-                    || call.getFunctionArgList() != null);
-        else
-            return false;
-    }
-
-    private boolean matches(Token identifier1, Token identifier2)
-    {
-        if (identifier1 == null || identifier2 == null)
-            return false;
-        else
-            return    PhotranVPG.canonicalizeIdentifier(identifier1.getText())
-              .equals(PhotranVPG.canonicalizeIdentifier(identifier2.getText()));
-    }
-
-    public List<Definition> getAllDefinitions()
-	{
-		PhotranVPG vpg = PhotranVPG.getInstance();
-		List<Definition> result = new LinkedList<Definition>();
-
-    	for (PhotranTokenRef t : this.getRepresentativeToken().followIncoming(EdgeType.DEFINED_IN_SCOPE_EDGE_TYPE))
-    		result.add(vpg.getDefinitionFor(t));
-
-//    	for (PhotranTokenRef t : vpg.db.getIncomingEdgeSources(this.getRepresentativeToken(), PhotranVPG.IMPORTED_INTO_SCOPE_EDGE_TYPE))
-//    		result.add(vpg.getDefinitionFor(t));
-
-    	return result;
-	}
-
-	public List<Definition> getAllPublicDefinitions()
-	{
-        PhotranVPG vpg = PhotranVPG.getInstance();
-		List<Definition> result = new LinkedList<Definition>();
-
-    	for (Definition def : getAllDefinitions())
-    		if (def != null && vpg.getVisibilityFor(def, this).equals(Visibility.PUBLIC))
-    			result.add(def);
-
-    	return result;
-	}
-
-    public IMarker createMarker()
-    {
-        try
-        {
-        	Token firstToken = findFirstTokenIn(this);
-        	Token lastToken = findLastTokenIn(this);
-
-        	if (firstToken == null
-        	    || lastToken == null
-                || firstToken.getPhysicalFile() == null
-                || firstToken.getPhysicalFile().getIFile() == null)
-        	    return null;
-
-            int startOffset = firstToken.getFileOffset();
-            startOffset -= firstToken.getWhiteBefore().length();
-
-            int endOffset = lastToken.getFileOffset()+lastToken.getLength();
-            //endOffset += lastToken.getWhiteAfter().length();
-
-            IMarker marker = firstToken.getPhysicalFile().getIFile().createMarker(IMarker.TEXT);
-			marker.setAttribute(IMarker.CHAR_START, startOffset);
-			marker.setAttribute(IMarker.CHAR_END, endOffset);
-            return marker;
-        }
-        catch (CoreException e)
-        {
-            return null;
-        }
-    }
-
-    // TODO: This was copied from FortranRefactoring.java
-    // Parse Tree Searching ///////////////////////////////////////////////////
-
-    protected Token findFirstTokenIn(ASTNode node)
-    {
-        try
-        {
-            node.accept(new ASTVisitor()
-            {
-                @Override
-                public void visitToken(Token token)
-                {
-                    throw new Notification(token);
-                }
-
-            });
-        }
-        catch (Notification n)
-        {
-            return (Token)n.getResult();
-        }
-        return null;
-    }
-
-    private final static class LastTokenVisitor extends ASTVisitor
-    {
-        private Token lastToken;
-
-        @Override
-        public void visitToken(Token token)
-        {
-            lastToken = token;
-        }
-
-        public Token getLastToken() { return lastToken; }
-    }
-
-    protected Token findLastTokenIn(ASTNode node)
-    {
-        LastTokenVisitor lastTokenVisitor = new LastTokenVisitor();
-        node.accept(lastTokenVisitor);
-        return lastTokenVisitor.getLastToken();
-    }
-
-    public boolean isNamed(String targetName)
-    {
-        String name = getName();
-        if (name == null) return false;
-
-        String actualName = PhotranVPG.canonicalizeIdentifier(name);
-        String expectedName = PhotranVPG.canonicalizeIdentifier(targetName);
-        return actualName.equals(expectedName);
-    }
-
-    public String getName()
-    {
-        return getName(PhotranVPG.getInstance().isInHypotheticalMode());
-    }
-
-    public String getName(boolean force)
-    {
-        Token nameToken = getNameToken(force);
-        return nameToken == null ? null : nameToken.getText();
-    }
-
-    public Token getNameToken()
-    {
-        return getNameToken(PhotranVPG.getInstance().isInHypotheticalMode());
-    }
-
-    public Token getNameToken(boolean force)
-    {
-        Token repToken = force
-            ? internalGetRepresentativeToken() // does not use cached TokenRef
-            : getRepresentativeToken().findTokenOrReturnNull(); // might use cached TokenRef
-        if (repToken == null || repToken.getTerminal() != Terminal.T_IDENT)
-            return null;
-        else
-            return repToken;
-    }
-
-    /** @return a human-readable description of this scope */
-    public String describe()
-    {
-        Token nameToken = getNameToken();
-        if (nameToken == null)
-            return Messages.ScopingNode_Anonymous;
-        else
-            return nameToken.getText();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/SpecificationCollector.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/SpecificationCollector.java
deleted file mode 100644
index 9c9c90d..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/SpecificationCollector.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTAllocatableStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTArrayAllocationNode;
-import org.eclipse.photran.internal.core.parser.ASTArrayDeclaratorNode;
-import org.eclipse.photran.internal.core.parser.ASTAsynchronousStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTBindStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTCommonBlockBinding;
-import org.eclipse.photran.internal.core.parser.ASTDimensionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTIntentParListNode;
-import org.eclipse.photran.internal.core.parser.ASTIntentStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTNamedConstantDefNode;
-import org.eclipse.photran.internal.core.parser.ASTOptionalParListNode;
-import org.eclipse.photran.internal.core.parser.ASTOptionalStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTParameterStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTPointerStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTPointerStmtObjectNode;
-import org.eclipse.photran.internal.core.parser.ASTProtectedStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSaveStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSavedEntityNode;
-import org.eclipse.photran.internal.core.parser.ASTTargetObjectNode;
-import org.eclipse.photran.internal.core.parser.ASTTargetStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTValueStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTVariableNameNode;
-import org.eclipse.photran.internal.core.parser.ASTVolatileStmtNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IBindEntity;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-
-/**
- * Phase 4 of name-binding analysis.
- * <p> 
- * Visits specification statements in an AST, updating the corresponding
- * {@link Definition} objects stored in the VPG.
- * 
- * @author Jeff Overbey
- * @see Binder
- */
-class SpecificationCollector extends VisibilityCollector
-{
-    // # R520
-    // <IntentStmt> ::=
-    // <LblDef> T_INTENT T_LPAREN <IntentSpec> T_RPAREN ( T_COLON T_COLON )? <IntentParList> T_EOS
-    //
-    // <IntentParList> ::=
-    // <IntentPar>
-    // | @:<IntentParList> T_COMMA <IntentPar>
-    //
-    // <IntentPar> ::=
-    // <DummyArgName>
-
-    @Override public void visitASTIntentStmtNode(ASTIntentStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTIntentParListNode> list = node.getVariableList();
-        for (int i = 0; i < list.size(); i++)
-        {
-            List<PhotranTokenRef> bindings = bind(list.get(i).getVariableName());
-
-            for (PhotranTokenRef tr : bindings)
-            {
-                Definition def = vpg.getDefinitionFor(tr);
-                def.setIntent(node.getIntentSpec());
-                vpgProvider.setDefinitionFor(tr, def);
-            }
-        }
-    }
-
-    // # R521
-    // <OptionalStmt> ::=
-    // <LblDef> T_OPTIONAL ( T_COLON T_COLON )? <OptionalParList> T_EOS
-    //
-    // <OptionalParList> ::=
-    // <OptionalPar>
-    // | @:<OptionalParList> T_COMMA <OptionalPar>
-    //
-    // <OptionalPar> ::= <DummyArgName>
-
-    @Override public void visitASTOptionalStmtNode(ASTOptionalStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTOptionalParListNode> list = node.getVariableList();
-        for (int i = 0; i < list.size(); i++)
-        {
-            List<PhotranTokenRef> bindings = bind(list.get(i).getVariableName());
-
-            for (PhotranTokenRef tr : bindings)
-            {
-                Definition def = vpg.getDefinitionFor(tr);
-                def.setOptional();
-                vpgProvider.setDefinitionFor(tr, def);
-            }
-        }
-    }
-
-    // # R524
-    // <SaveStmt> ::=
-    // <LblDef> T_SAVE T_EOS
-    // | <LblDef> T_SAVE ( T_COLON T_COLON )? <SavedEntityList> T_EOS
-    //
-    // # R525
-    // <SavedEntityList> ::=
-    // <SavedEntity>
-    // | @:<SavedEntityList> T_COMMA <SavedEntity>
-    //
-    // <SavedEntity> ::=
-    // <VariableName>
-    // | <SavedCommonBlock>
-    //
-    // <SavedCommonBlock> ::= T_SLASH <CommonBlockName> T_SLASH
-
-    @Override public void visitASTSaveStmtNode(ASTSaveStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTSavedEntityNode> list = node.getVariableList();
-        if (list == null) return;
-        for (int i = 0; i < list.size(); i++)
-        {
-            ASTSavedEntityNode entity = list.get(i);
-            if (entity.getVariableName() != null)
-            {
-                List<PhotranTokenRef> bindings = bind(entity.getVariableName());
-
-                for (PhotranTokenRef tr : bindings)
-                {
-                    Definition def = vpg.getDefinitionFor(tr);
-                    def.setSave();
-                    vpgProvider.setDefinitionFor(tr, def);
-                }
-            }
-            else if (entity.getCommonBlockName() != null)
-            {
-                List<PhotranTokenRef> bindings = bind(entity.getCommonBlockName());
-
-                for (PhotranTokenRef tr : bindings)
-                {
-                    Definition def = vpg.getDefinitionFor(tr);
-                    def.setSave();
-                    vpgProvider.setDefinitionFor(tr, def);
-                }
-            }
-        }
-    }
-
-    // # R526
-    // <DimensionStmt> ::=
-    // <LblDef> T_DIMENSION ( T_COLON T_COLON )? <ArrayDeclaratorList> T_EOS
-    //
-    // <ArrayDeclaratorList> ::=
-    // <ArrayDeclarator>
-    // | @:<ArrayDeclaratorList> T_COMMA <ArrayDeclarator>
-    //
-    // <ArrayDeclarator> ::= <VariableName> T_LPAREN <ArraySpec> T_RPAREN
-
-    @Override public void visitASTDimensionStmtNode(final ASTDimensionStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        final IASTListNode<ASTArrayDeclaratorNode> decls = node.getArrayDeclaratorList();
-        for (int i = 0; i < decls.size(); i++)
-        {
-            List<PhotranTokenRef> bindings = bind(decls.get(i).getVariableName());
-
-            try
-            {
-	            for (PhotranTokenRef tr : bindings)
-	            {
-	            	Definition def = vpg.getDefinitionFor(tr);
-	            	def.setArraySpec(decls.get(i).getArraySpec());
-	            	vpgProvider.setDefinitionFor(tr, def);
-	            }
-            }
-            catch (Exception e)
-            {
-            	throw new Error(e);
-            }
-        }
-    }
-
-    // # R527
-    // <AllocatableStmt> ::=
-    // <LblDef> T_ALLOCATABLE ( T_COLON T_COLON )? <ArrayAllocationList> T_EOS
-    //
-    // <ArrayAllocationList> ::=
-    // <ArrayAllocation>
-    // | @:<ArrayAllocationList> T_COMMA <ArrayAllocation>
-    //
-    // <ArrayAllocation> ::=
-    // <ArrayName>
-    // | <ArrayName> T_LPAREN <DeferredShapeSpecList> T_RPAREN
-
-    @Override public void visitASTAllocatableStmtNode(ASTAllocatableStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTArrayAllocationNode> list = node.getArrayAllocationList();
-        for (int i = 0; i < list.size(); i++)
-        {
-            List<PhotranTokenRef> bindings = bind(list.get(i).getArrayName());
-
-            for (PhotranTokenRef tr : bindings)
-            {
-                Definition def = vpg.getDefinitionFor(tr);
-                def.setAllocatable();
-                vpgProvider.setDefinitionFor(tr, def);
-            }
-        }
-    }
-
-    // # R528 /* <ObjectName> renamed to <PointerName> to simplify Sem. Anal. */
-    // <PointerStmt> ::=
-    // <LblDef> T_POINTER ( T_COLON T_COLON )? <PointerStmtObjectList> T_EOS
-    //
-    // <PointerStmtObjectList> ::=
-    // <PointerStmtObject>
-    // | @:<PointerStmtObjectList> T_COMMA <PointerStmtObject>
-    //
-    // <PointerStmtObject> ::=
-    // <PointerName>
-    // | <PointerName> T_LPAREN <DeferredShapeSpecList> T_RPAREN
-    //
-    // <PointerName> ::= T_IDENT
-
-    @Override public void visitASTPointerStmtNode(ASTPointerStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTPointerStmtObjectNode> list = node.getPointerStmtObjectList();
-        for (int i = 0; i < list.size(); i++)
-        {
-            List<PhotranTokenRef> bindings = bind(list.get(i).getPointerName());
-
-            for (PhotranTokenRef tr : bindings)
-            {
-                Definition def = vpg.getDefinitionFor(tr);
-                def.setPointer();
-                vpgProvider.setDefinitionFor(tr, def);
-            }
-        }
-    }
-
-    //
-    //
-    // # R529 /* <ObjectName> renamed to <TargetName> to simplify Sem. Anal. */
-    // <TargetStmt> ::=
-    // <LblDef> T_TARGET ( T_COLON T_COLON )? <TargetObjectList> T_EOS
-    //
-    // <TargetObjectList> ::=
-    // <TargetObject>
-    // | @:<TargetObjectList> T_COMMA <TargetObject>
-    //
-    // <TargetObject> ::=
-    // <TargetName>
-    // | <TargetName> T_LPAREN <ArraySpec> T_RPAREN
-    //
-    // <TargetName> ::= T_IDENT
-
-    @Override public void visitASTTargetStmtNode(ASTTargetStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTTargetObjectNode> list = node.getTargetObjectList();
-        for (int i = 0; i < list.size(); i++)
-        {
-            List<PhotranTokenRef> bindings = bind(list.get(i).getTargetName());
-
-            for (PhotranTokenRef tr : bindings)
-            {
-                Definition def = vpg.getDefinitionFor(tr);
-                def.setTarget();
-                vpgProvider.setDefinitionFor(tr, def);
-            }
-        }
-    }
-
-    // # R530
-    // <ParameterStmt> ::=
-    // <LblDef> T_PARAMETER T_LPAREN <NamedConstantDefList> T_RPAREN T_EOS
-    //
-    // # R531
-    // <NamedConstantDefList> ::=
-    // <NamedConstantDef>
-    // | @:<NamedConstantDefList> T_COMMA <NamedConstantDef>
-    //
-    // <NamedConstantDef> ::= <NamedConstant> T_EQUALS <Expr>
-
-    @Override public void visitASTParameterStmtNode(ASTParameterStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<ASTNamedConstantDefNode> list = node.getNamedConstantDefList();
-        for (int i = 0; i < list.size(); i++)
-        {
-            List<PhotranTokenRef> bindings = bind(list.get(i).getNamedConstant());
-
-            try
-            {
-                for (PhotranTokenRef tr : bindings)
-                {
-                    Definition def = vpg.getDefinitionFor(tr);
-                    def.setParameter();
-                    vpgProvider.setDefinitionFor(tr, def);
-                }
-            }
-            catch (Exception e)
-            {
-                throw new Error(e);
-            }
-        }
-    }
-    
-    // F03
-    @Override public void visitASTAsynchronousStmtNode(ASTAsynchronousStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<Token> list = node.getObjectList();
-        for (int i = 0; i < list.size(); i++)
-            bind(list.get(i));
-    }
-    
-    // F03
-    @Override public void visitASTBindStmtNode(ASTBindStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<IBindEntity> list = node.getBindEntityList();
-        for (int i = 0; i < list.size(); i++)
-        {
-            IBindEntity entity = list.get(i);
-            if (entity instanceof ASTCommonBlockBinding)
-                bind(((ASTCommonBlockBinding)entity).getCommonBlockName());
-            else
-                bind(((ASTVariableNameNode)entity).getVariableName());
-        }
-    }
-    
-    // F03
-    @Override public void visitASTProtectedStmtNode(ASTProtectedStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<Token> list = node.getEntityNameList();
-        for (int i = 0; i < list.size(); i++)
-            bind(list.get(i));
-    }
-    
-    // F03
-    @Override public void visitASTValueStmtNode(ASTValueStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<Token> list = node.getEntityNameList();
-        for (int i = 0; i < list.size(); i++)
-            bind(list.get(i));
-    }
-    
-    // F03
-    @Override public void visitASTVolatileStmtNode(ASTVolatileStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<Token> list = node.getEntityNameList();
-        for (int i = 0; i < list.size(); i++)
-            bind(list.get(i));
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/SubprogramTypeCollector.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/SubprogramTypeCollector.java
deleted file mode 100644
index 24c9062..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/SubprogramTypeCollector.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.analysis.types.FunctionType;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTFunctionParNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineParNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeSpecNode;
-import org.eclipse.photran.internal.core.vpg.AnnotationType;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-
-/**
- * Phase 5 of name-binding analysis.
- * <p>
- * Visits subprogram declarations, setting their types in the VPG.
- *
- * @author Jeff Overbey
- * @see Binder
- */
-class SubprogramTypeCollector extends BindingCollector
-{
-    @Override public void visitASTSubroutineStmtNode(ASTSubroutineStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        PhotranTokenRef tokenRef = node.getSubroutineName().getSubroutineName().getTokenRef();
-        updateDefinitionWithTypeInfo(tokenRef, typeOf(node));
-    }
-
-    @Override public void visitASTFunctionStmtNode(ASTFunctionStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        PhotranTokenRef tokenRef = node.getFunctionName().getFunctionName().getTokenRef();
-        updateDefinitionWithTypeInfo(tokenRef, typeOf(node));
-    }
-    
-    private void updateDefinitionWithTypeInfo(PhotranTokenRef tokenRef, FunctionType type)
-    {
-        Definition def = vpg.getDefinitionFor(tokenRef);
-        def.setType(type);
-        vpgProvider.setDefinitionFor(tokenRef, def);
-    }
-
-    private FunctionType typeOf(ASTSubroutineStmtNode node)
-    {
-        FunctionType type = new FunctionType(node.getSubroutineName().getSubroutineName().getText());
-        
-        type.setReturnType(Type.VOID);
-        
-        if (node.getSubroutinePars() != null)
-        {
-            for (ASTSubroutineParNode param : node.getSubroutinePars())
-            {
-                if (param.isAsterisk())
-                {
-                    // TODO: type.addArgument(name, type, intent)
-                }
-                else
-                {
-                    type.addArgument(
-                        param.getVariableName().getText(),
-                        typeOf(param.getVariableName()),
-                        intentOf(param.getVariableName()));
-                }
-            }
-        }
-        return type;
-    }
-
-    private FunctionType typeOf(ASTFunctionStmtNode node)
-    {
-        FunctionType type = new FunctionType(node.getFunctionName().getFunctionName().getText());
-        
-        if (node.getPrefixSpecList() != null)
-        {
-            for (int i = 0; i < node.getPrefixSpecList().size(); i++)
-            {
-                ASTTypeSpecNode typeSpec = node.getPrefixSpecList().get(i).getTypeSpec();
-                if (typeSpec != null)
-                    type.setReturnType(Type.parse(typeSpec));
-            }
-        }
-        
-        if (node.hasResultClause())
-            type.setReturnType(typeOf(node.getName()));
-        
-        if (node.getFunctionPars() != null)
-        {
-            for (ASTFunctionParNode param : node.getFunctionPars())
-                type.addArgument(
-                    param.getVariableName().getText(),
-                    typeOf(param.getVariableName()),
-                    intentOf(param.getVariableName()));
-        }
-        return type;
-    }
-
-    private Type typeOf(Token variableName)
-    {
-        Definition def = bindUniquely(variableName);
-        return def == null ? Type.UNKNOWN : def.getType();
-    }
-
-    private VariableAccess intentOf(Token variableName)
-    {
-        Definition def = bindUniquely(variableName);
-        if (def == null) return VariableAccess.RW;
-        
-        if (def.isIntentIn() && def.isIntentOut())
-            return VariableAccess.RW;
-        else if (def.isIntentIn())
-            return VariableAccess.READ;
-        else if (def.isIntentOut())
-            return VariableAccess.WRITE;
-        else
-            return VariableAccess.RW;
-    }
-    
-    private Definition bindUniquely(Token ident)
-    {
-        List<PhotranTokenRef> bindings = bind(ident);
-        if (bindings.size() >= 1)
-            return bindings.get(0).getAnnotation(AnnotationType.DEFINITION_ANNOTATION_TYPE);
-        else
-            return null;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/VariableAccess.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/VariableAccess.java
deleted file mode 100644
index bae32ae..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/VariableAccess.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.eclipse.photran.internal.core.parser.IExecutionPartConstruct;
-import org.eclipse.photran.internal.core.vpg.IPhotranSerializable;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGSerializer;
-
-/**
- * Enumeration of ways in which a variable may be accessed within an {@link IExecutionPartConstruct}.
- * 
- * @author Jeff Overbey
- */
-public enum VariableAccess implements IPhotranSerializable
-{
-    /**
-     * Indicates a use of a variable name in a declarative context, i.e., a context which does not
-     * correspond to either a read or a write of the variable.
-     */
-    NONE,
-    
-    /** Indicates a (potential) read of the variable */
-    READ,
-
-    /** Indicates a (potential) write of the variable */
-    WRITE,
-
-    /** Indicates that the variable may (potentially) be read, written, or both */
-    RW,
-
-    /**
-     * Indicates that the variable is being used as an implied-do variable.  This indicates
-     * neither a read nor a write of the variable, however, since the implied-do variable is
-     * in a new scope.
-     */
-    IMPLIED_DO,
-
-    /**
-     * Indicates that the variable is being used as a forall index variable.  This indicates
-     * neither a read nor a write of the variable, however, since the index variable is in a
-     * new scope within the forall construct.
-     */
-    FORALL,
-
-    /**
-     * Indicates that the variable's name is being used as a formal argument name for a
-     * statement function.  This indicates neither a read nor a write of the variable, however,
-     * since the function argument is in a new scope.
-     */
-    STMT_FUNCTION_ARG;
-
-    public char getSerializationCode()
-    {
-        return PhotranVPGSerializer.CLASS_VARIABLEACCESS;
-    }
-
-    public void writeTo(OutputStream out) throws IOException
-    {
-        PhotranVPGSerializer.serialize(this.ordinal(), out);
-    }
-
-    public static VariableAccess readFrom(InputStream in)
-    {
-        int ordinal = PhotranVPGSerializer.deserialize(in);
-        return VariableAccess.values()[ordinal];
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/VisibilityCollector.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/VisibilityCollector.java
deleted file mode 100644
index ce32b85..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/VisibilityCollector.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.binding;
-
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTAccessStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTGenericNameNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IAccessId;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-
-/**
- * Abstract superclass that visits PUBLIC and PRIVATE specification statements
- * and sets the visibility of the corresponding definition accordingly.
- * <p>
- * This is a common superclass of both {@link SpecificationCollector}
- * and {@link ModuleLoader}.  Since Access-Spec statements can be
- * used to change the visibility of definitions imported from modules,
- * we must interpret these *twice*: first, we attempt to resolve them
- * to a locally-declared definition in the {@link SpecificationCollector}
- * (since the {@link ModuleLoader} will subsequently export any module
- * symbol tables).  Then, after any modules have been loaded, we
- * attempt to resolve them to an imported definition in the
- * {@link ModuleLoader}.
- * 
- * @author Jeff Overbey
- */
-public abstract class VisibilityCollector extends BindingCollector
-{
-    // # R522
-    // <AccessStmt> ::=
-    // <LblDef> <AccessSpec> ( T_COLON T_COLON )? <AccessIdList> T_EOS
-    // | <LblDef> <AccessSpec> T_EOS
-    //
-    // # R523
-    // <AccessIdList> ::=
-    // <AccessId>
-    // | @:<AccessIdList> T_COMMA <AccessId>
-    //
-    // <AccessId> ::=
-    // <GenericName>
-    // | <GenericSpec>
-
-    @Override public void visitASTAccessStmtNode(final ASTAccessStmtNode node)
-    {
-        super.traverseChildren(node);
-        
-        IASTListNode<IAccessId> list = node.getAccessIdList();
-        if (list == null) return; // This case handled in DefinitionCollector
-        
-        ScopingNode enclosingScope = node.findNearestAncestor(ScopingNode.class);
-
-        for (int i = 0; i < list.size(); i++)
-        {
-            if (list.get(i) instanceof ASTGenericNameNode)
-            {
-                List<PhotranTokenRef> bindings = bindNoImplicits(((ASTGenericNameNode)list.get(i)).getGenericName());
-
-                try
-                {
-                    for (PhotranTokenRef tr : bindings)
-                    {
-                        Definition def = vpg.getDefinitionFor(tr);
-                        def.setVisibility(node.getAccessSpec(), enclosingScope);
-                        vpgProvider.setDefinitionFor(tr, def);
-                    }
-                }
-                catch (Exception e)
-                {
-                    throw new Error(e);
-                }
-            }
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/messages.properties b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/messages.properties
deleted file mode 100644
index f16fcae..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/messages.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-ModuleLoader_LoadingModule=Loading module {0}...
-ModuleLoader_ModuleNotFoundInFile=Module {0} not found in {1}
-ModuleLoader_ModuleNotFoundInModulePathsButFoundElsewhere=The module {0} could not be found in any of the folders in the module paths for this project.  However, it was found in a folder not in the module path.
-ModuleLoader_NoFilesExportAModuleNamed=There are no files that export a module named {0}
-ScopingNode_Anonymous=(anonymous)
-ScopingNode_EmptyFile=Empty file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/package-info.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/package-info.java
deleted file mode 100644
index 5ce659f..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/binding/package-info.java
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * The classes in this package perform name binding analysis on Fortran programs and store the
- * results in the VPG database.  The entrypoint to the analysis is
- * {@link Binder#bind(org.eclipse.photran.core.IFortranAST, org.eclipse.core.resources.IFile)}.
- * <b>This analysis should only be invoked by
- * {@link org.eclipse.photran.internal.core.vpg.PhotranVPGBuilder};</b> clients should retrieve
- * the computed name binding information by calling
- * {@link org.eclipse.photran.internal.core.lexer.Token#resolveBinding()}.
- * <p>
- * For more information, please see the <i>Photran Developer's Guide</i> in the
- * org.eclipse.photran-dev-docs project.
- */
-package org.eclipse.photran.internal.core.analysis.binding;
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/LoopDependences.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/LoopDependences.java
deleted file mode 100644
index 30b99f2..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/LoopDependences.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.dependence;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;
-import org.eclipse.photran.internal.core.analysis.loops.GenericASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.core.parser.IExecutionPartConstruct;
-import org.eclipse.rephraserengine.core.analysis.dependence.Dependence;
-import org.eclipse.rephraserengine.core.analysis.dependence.DependenceTestFailure;
-import org.eclipse.rephraserengine.core.analysis.dependence.Direction;
-import org.eclipse.rephraserengine.core.analysis.dependence.IDependenceTester;
-
-/**
- * Computes a set of dependences in a perfect loop nest.
- * <p>
- * THIS IS PRELIMINARY AND EXPERIMENTAL.  IT IS NOT APPROPRIATE FOR PRODUCTION USE.
- *
- * @author Jeff Overbey
- */
-public class LoopDependences
-{
-    private IDependenceTester[] testers;
-    private PerfectLoopNest loopNest;
-    private ArrayList<VariableReference> varRefs;
-    private ArrayList<Dependence> dependences;
-
-    private LoopDependences(ASTProperLoopConstructNode perfectLoopNest, IDependenceTester... testers)
-    {
-        this.testers = testers;
-        this.loopNest = new PerfectLoopNest(perfectLoopNest);
-        this.varRefs = new ArrayList<VariableReference>();
-        this.dependences = new ArrayList<Dependence>();
-    }
-
-    /** Factory method */
-    public static LoopDependences computeFor(
-            ASTProperLoopConstructNode perfectLoopNest,
-            IDependenceTester... testers)
-        throws DependenceTestFailure
-    {
-        return new LoopDependences(perfectLoopNest, testers).collect();
-    }
-
-    private LoopDependences collect()
-    {
-        if (loopNest.containsDoWhileLoops())
-            throw new DependenceTestFailure(Messages.LoopDependences_LoopNestContainsADoWhileLoop);
-
-        collectReadsAndWrites();
-        collectDependences();
-
-        return this;
-    }
-
-    private void collectReadsAndWrites()
-    {
-        loopNest.getBody().accept(new Visitor());
-    }
-
-    private class Visitor extends GenericASTVisitorWithLoops
-    {
-        private IExecutionPartConstruct lastNodeSuccessfullyHandled = null;
-
-        @Override public void visitASTAssignmentStmtNode(ASTAssignmentStmtNode node)
-        {
-            if (node.getDerivedTypeComponentRef() != null)
-                throw new DependenceTestFailure(Messages.LoopDependences_LoopContainsAnAssignmentToADerivedTypeComponent);
-
-            varRefs.addAll(VariableReference.fromRHS(node));
-            varRefs.add(VariableReference.fromLHS(node));
-
-            lastNodeSuccessfullyHandled = node;
-        }
-
-        @Override public void visitIExecutionPartConstruct(IExecutionPartConstruct node)
-        {
-            if (node != lastNodeSuccessfullyHandled)
-                throw new DependenceTestFailure(Messages.bind(Messages.LoopDependences_LoopContains, node.getClass().getSimpleName()));
-        }
-    }
-
-    public Collection<VariableReference> getReads()
-    {
-        ArrayList<VariableReference> result = new ArrayList<VariableReference>(varRefs.size());
-        for (VariableReference ref : varRefs)
-            if (!ref.isWrite)
-                result.add(ref);
-
-        return result;
-    }
-
-    public Collection<VariableReference> getWrites()
-    {
-        ArrayList<VariableReference> result = new ArrayList<VariableReference>(varRefs.size());
-        for (VariableReference ref : varRefs)
-            if (ref.isWrite)
-                result.add(ref);
-
-        return result;
-    }
-
-    private void collectDependences()
-    {
-        for (int i = 0; i < varRefs.size(); i++)
-        {
-            VariableReference from = varRefs.get(i);
-            for (int j = 0; j < varRefs.size(); j++)
-            {
-                if (j != i)
-                {
-                    VariableReference to = varRefs.get(j);
-                    testForDependence(from, to);
-                }
-            }
-        }
-    }
-
-    private void testForDependence(VariableReference from, VariableReference to)
-    {
-        if (from.variable.equals(to.variable))
-        {
-            if (from.isWrite || to.isWrite)
-            {
-                if (from.isScalar()
-                    || to.isScalar()
-                    || loopNest.testForDependenceUsing(testers, from, to, new Direction[] {}))
-                {
-                    markDependence(from, to);
-                }
-            }
-        }
-    }
-
-    private void markDependence(VariableReference from, VariableReference to)
-    {
-        dependences.add(new Dependence(from, to));
-    }
-
-    /** @return all of the dependences in the given loop */
-    public Collection<Dependence> getDependences()
-    {
-        return dependences;
-    }
-
-    @Override public String toString()
-    {
-        StringBuilder sb = new StringBuilder();
-        sb.append("Reads: "); //$NON-NLS-1$
-        sb.append(getReads());
-        sb.append("\nWrites: "); //$NON-NLS-1$
-        sb.append(getWrites());
-        sb.append("\n\nDependences:"); //$NON-NLS-1$
-        for (Dependence dep : dependences)
-            sb.append("\n    " + dep); //$NON-NLS-1$
-        return sb.toString();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/Messages.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/Messages.java
deleted file mode 100644
index d62a9ca..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/Messages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.dependence;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.core.analysis.dependence.messages"; //$NON-NLS-1$
-
-    public static String LoopDependences_LoopContains;
-
-    public static String LoopDependences_LoopContainsAnAssignmentToADerivedTypeComponent;
-
-    public static String LoopDependences_LoopNestContainsADoWhileLoop;
-
-    public static String PerfectLoopNest_LinearFunctionOfNonIndexVariable;
-
-    public static String PerfectLoopNest_OnlySingleSubscriptsAreCurrentlySupported;
-
-    public static String VariableReference_AssignmentStmtCannotBeProcessed;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/PerfectLoopNest.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/PerfectLoopNest.java
deleted file mode 100644
index 845c5ae..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/PerfectLoopNest.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.dependence;
-
-import java.util.ArrayList;
-
-import org.eclipse.photran.internal.core.analysis.dependence.VariableReference.LinearFunction;
-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTIntConstNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IExecutionPartConstruct;
-import org.eclipse.photran.internal.core.parser.IExpr;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.analysis.dependence.DependenceTestFailure;
-import org.eclipse.rephraserengine.core.analysis.dependence.Direction;
-import org.eclipse.rephraserengine.core.analysis.dependence.IDependenceTester;
-import org.eclipse.rephraserengine.core.analysis.dependence.IDependenceTester.Result;
-
-/**
- * A utility class describing a perfect nest of DO-loops.
- * <p>
- * THIS IS PRELIMINARY AND EXPERIMENTAL.  IT IS NOT APPROPRIATE FOR PRODUCTION USE.
- *
- * @author Jeff Overbey
- */
-public /*was package-private*/ class PerfectLoopNest
-{
-    /** The loops in the nest, from outermost to innermost */
-    private ArrayList<ASTProperLoopConstructNode> loopNest;
-
-    private int n;
-    private int[] L;
-    private int[] U;
-
-    public PerfectLoopNest(ASTProperLoopConstructNode perfectLoopNest)
-    {
-        constructLoopNest(perfectLoopNest);
-        n = loopNest.size();
-        setBounds();
-    }
-
-    private void setBounds()
-    {
-        L = new int[n];
-        U = new int[n];
-
-        for (int i = 0; i < n; i++)
-        {
-            L[i] = lb(loopNest.get(i));
-            U[i] = ub(loopNest.get(i));
-        }
-    }
-
-    private void constructLoopNest(ASTProperLoopConstructNode perfectLoopNest)
-    {
-        this.loopNest = new ArrayList<ASTProperLoopConstructNode>();
-
-        ASTProperLoopConstructNode thisLoop = perfectLoopNest;
-        do
-        {
-            loopNest.add(thisLoop);
-
-            if (thisLoop.getBody().size() == 1
-                && thisLoop.getBody().get(0) instanceof ASTProperLoopConstructNode)
-                thisLoop = (ASTProperLoopConstructNode)thisLoop.getBody().get(0);
-            else
-                thisLoop = null;
-        }
-        while (thisLoop != null);
-    }
-
-    private int lb(ASTProperLoopConstructNode loop)
-    {
-        return intConstValueOr(Integer.MIN_VALUE, loop.getLoopHeader().getLoopControl().getLb());
-    }
-
-    private int ub(ASTProperLoopConstructNode loop)
-    {
-        return intConstValueOr(Integer.MAX_VALUE, loop.getLoopHeader().getLoopControl().getUb());
-    }
-
-    private int intConstValueOr(int defaultValue, IExpr expr)
-    {
-        if (expr instanceof ASTIntConstNode)
-            return Integer.parseInt(((ASTIntConstNode)expr).getIntConst().getText());
-        else
-            return defaultValue;
-    }
-
-    public ASTProperLoopConstructNode outermostLoop()
-    {
-        return loopNest.get(0);
-    }
-
-    public ASTProperLoopConstructNode innermostLoop()
-    {
-        return loopNest.get(loopNest.size()-1);
-    }
-
-    public IASTListNode<IExecutionPartConstruct> getBody()
-    {
-        return innermostLoop().getBody();
-    }
-
-    public int getNumberOfLoops()
-    {
-        return loopNest.size();
-    }
-
-    public boolean containsDoWhileLoops()
-    {
-        for (int i = 0; i < loopNest.size(); i++)
-            if (loopNest.get(i).isDoWhileLoop())
-                return true;
-
-        return false;
-    }
-
-    /** @return the name of the indexing variable for the given loop (1..n) */
-    public String getIndexVariable(int i)
-    {
-        if (i <= 0 || i > getNumberOfLoops())
-            throw new IllegalArgumentException("Cannot retrieve index variable for loop " + i + //$NON-NLS-1$
-                                               " in a " + getNumberOfLoops() + "-loop nest"); //$NON-NLS-1$ //$NON-NLS-2$
-
-        ASTProperLoopConstructNode targetLoop = loopNest.get(i-1);
-        if (targetLoop.isDoWhileLoop())
-            return null;
-        else
-            return PhotranVPG.canonicalizeIdentifier(targetLoop.getIndexVariable().getText());
-    }
-
-    /*
-     * TODO: L and U use min and max integer values, which may not be correct; also,
-     *       this assumes that the loop is normalized, or at least has a positive step
-     */
-    public boolean testForDependenceUsing(IDependenceTester[] testers,
-        VariableReference from,
-        VariableReference to,
-        Direction[] direction)
-    {
-        int[] a = coefficients(from);
-        int[] b = coefficients(to);
-
-        Result result = Result.POSSIBLE_DEPENDENCE;
-        for (IDependenceTester test : testers)
-        {
-            result = test.test(n, L, U, a, b, direction);
-            if (result.isDefinite())
-                break;
-        }
-        return result.dependenceMightExist();
-    }
-
-    private int[] coefficients(VariableReference var)
-    {
-        if (var.indices.length > 1)
-            throw new DependenceTestFailure(Messages.PerfectLoopNest_OnlySingleSubscriptsAreCurrentlySupported);
-
-        LinearFunction fn = var.indices[0];
-
-        int targetLoop = loopWithIndexVariable(fn.variable);
-        if (targetLoop == 0)
-            throw new DependenceTestFailure(Messages.PerfectLoopNest_LinearFunctionOfNonIndexVariable);
-
-        int[] result = new int[n+1];
-        result[0] = fn.y_intercept;
-        result[targetLoop] = fn.slope;
-        return result;
-    }
-
-    /** @return the loop (1..n) with the given variable as its indexing variable */
-    private int loopWithIndexVariable(String variable)
-    {
-        for (int i = 1; i <= n; i++)
-            if (variable.equals(getIndexVariable(i)))
-                return i;
-
-        return 0;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/VariableReference.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/VariableReference.java
deleted file mode 100644
index 7aeed1a..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/VariableReference.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.dependence;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.photran.internal.core.analysis.loops.GenericASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTVarOrFnRefNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IExpr;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.analysis.dependence.DependenceTestFailure;
-import org.eclipse.rephraserengine.core.analysis.dependence.IVariableReference;
-
-/**
- * Describes a reference to a scalar variable or a reference into an array variable where
- * each subscript is a linear function.
- * <p>
- * This class is intended to describe scalar variable references as well as array references
- * such as A(3), A(I), A(3+I), A(2*I+1), A(3, 4), and A(I, J, K) where each subscript is
- * a function of the form <i>m*x+b</i> where <i>m</i> and <i>b</i> are integer constants
- * and <i>x</i> is a scalar variable.
-  * <p>
- * THIS IS PRELIMINARY AND EXPERIMENTAL.  IT IS NOT APPROPRIATE FOR PRODUCTION USE.
-*
- * @author Jeff Overbey
- */
-public /*was package-private*/ class VariableReference implements IVariableReference
-{
-    /**
-     * Represents a linear function <i>m*x+b</i>, where <i>m</i> and <i>b</i> are integer
-     * constants and <i>x</i> is a scalar variable.
-     *
-     * @author Jeff Overbey
-     */
-    public static class LinearFunction
-    {
-        /** The value of <i>m</i>, where this object represents the linear function <i>m*x+b</i> */
-        public final int slope;
-
-        /**
-         * The (canonicalized) name of the variable <i>x</i>,
-         * where this object represents the linear function <i>m*x+b</i>
-         */
-        public final String variable;
-
-        /** The value of <i>b</i>, where this object represents the linear function <i>m*x+b</i> */
-        public final int y_intercept;
-
-        private LinearFunction(int slope, String variable, int y_intercept)
-        {
-            super();
-            this.slope = slope;
-            this.variable = variable;
-            this.y_intercept = y_intercept;
-        }
-
-        /** Factory method */
-        public static LinearFunction from(String slope, String variable, String y_intercept)
-        {
-            try
-            {
-                int    m = slope == null || slope.equals("") ? 1 : Integer.parseInt(slope); //$NON-NLS-1$
-                String x = variable == null ? null : PhotranVPG.canonicalizeIdentifier(variable);
-                int    b = y_intercept == null || y_intercept.equals("") ? 0 : Integer.parseInt(y_intercept); //$NON-NLS-1$
-                return new LinearFunction(
-                    m,
-                    x,
-                    b);
-            }
-            catch (NumberFormatException e)
-            {
-                return null;
-            }
-        }
-
-        /** Array factory method */
-        public static LinearFunction[] fromList(IASTListNode<? extends IASTNode> list)
-        {
-            if (list == null) return null;
-
-            LinearFunction[] result = new LinearFunction[list.size()];
-            for (int i = 0; i < list.size(); i++)
-            {
-                LinearFunction thisIndex = fromNode(list.get(i));
-                if (thisIndex == null) return null;
-                result[i] = thisIndex;
-            }
-            return result;
-        }
-
-        /*
-         * Regex notes:
-         *     \S matches any non-whitespace character
-         *     \d matches [0-9]
-         *     \w matches [A-Za-z_0-9]
-         *     Parentheses define a capturing group (capturing groups are numbered below)
-         */
-        //                                            12  3                      4           5              6
-        //                                              ===m===         *        ==x==          +           ==b==
-        private static Pattern mxb = Pattern.compile("((-?(\\d+)[ \t]*\\*[ \t]*)?(\\w+)[ \t]*(\\+|-)[ \t]*)?(\\d+)"); //$NON-NLS-1$
-        //                                             12                        3
-        //                                              ===m===         *        ==x==
-        private static Pattern mx  = Pattern.compile( "((-?\\d+)[ \t]*\\*[ \t]*)?(\\w+)"); //$NON-NLS-1$
-        //                                            1                      23                        4
-        //                                            ===b===         +       ===m===         *        ==x==
-        private static Pattern bmx = Pattern.compile("(-?\\d+)[ \t]*\\+[ \t]*((-?\\d+)[ \t]*\\*[ \t]*)?(\\w+)"); //$NON-NLS-1$
-        //                                                    1     2      3            4
-        //                                            -       ==x==           +         ==b==
-        private static Pattern nxb = Pattern.compile("-[ \\t]*(\\w+)([ \t]*(\\+|-)[ \t]*(\\d+))?"); //$NON-NLS-1$
-        //                                            1                             2
-        //                                            ===b===         +      -      ==x==
-        private static Pattern bnx = Pattern.compile("(-?\\d+)[ \t]*\\+[ \t]*-[ \t]*(\\w+)"); //$NON-NLS-1$
-
-        /** Factory method */
-        public static LinearFunction fromNode(IASTNode node)
-        {
-            String str = node.toString().trim();
-            if (str.startsWith(",")) str = str.substring(1); //$NON-NLS-1$
-            str = str.trim();
-
-            Matcher m;
-
-            m = mxb.matcher(str);
-            if (m.matches()) return LinearFunction.from(m.group(3), m.group(4), intString(m.group(5), m.group(6)));
-
-            m = mx.matcher(str);
-            if (m.matches()) return LinearFunction.from(m.group(2), m.group(3), null);
-
-            m = bmx.matcher(str);
-            if (m.matches()) return LinearFunction.from(m.group(3), m.group(4), m.group(1));
-
-            m = nxb.matcher(str);
-            if (m.matches()) return LinearFunction.from("-1", m.group(1), intString(m.group(3), m.group(4))); //$NON-NLS-1$
-
-            m = bnx.matcher(str);
-            if (m.matches()) return LinearFunction.from("-1", m.group(2), m.group(1)); //$NON-NLS-1$
-
-            return null;
-        }
-
-        private static String intString(String sign, String value)
-        {
-            if (sign == null)
-                return value;
-            else if (value == null)
-                return null;
-            else
-                return sign.replace("+", "") + value; //$NON-NLS-1$ //$NON-NLS-2$
-        }
-
-        @Override public String toString()
-        {
-            if (variable == null)
-                return Integer.toString(y_intercept);
-            else
-                return slope
-                    + "*" //$NON-NLS-1$
-                    + variable
-                    + (y_intercept >= 0 ? "+" : "-") //$NON-NLS-1$ //$NON-NLS-2$
-                    + Math.abs(y_intercept);
-        }
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    /** The AST node representing the variable access */
-    public final IASTNode node;
-
-    /** The (canonicalized) name of the variable being referenced */
-    public final String variable;
-
-    /** The indices into that variable, or <code>null</code> if the variable is scalar or the indices are
-     *  not linear functions of the expected form */
-    public final LinearFunction[] indices;
-
-    /** True iff this reference is a write; false if it is a read */
-    protected final boolean isWrite;
-
-    private VariableReference(IASTNode node, String array, LinearFunction[] indices, boolean isWrite)
-    {
-        this.node = node;
-        this.variable = array;
-        this.indices = indices;
-        this.isWrite = isWrite;
-    }
-
-    /** Factory method */
-    public static VariableReference fromLHS(ASTAssignmentStmtNode node)
-    {
-        String lhsVar = PhotranVPG.canonicalizeIdentifier(node.getLhsVariable().getName().getText());
-
-        LinearFunction[] lhsIndices = null;
-        if (node.getLhsExprList() != null)
-            lhsIndices = LinearFunction.fromList(node.getLhsExprList());
-        else if (node.getLhsNameList() != null)
-            lhsIndices = LinearFunction.fromList(node.getLhsNameList());
-
-        return new VariableReference(node, lhsVar, lhsIndices, true);
-    }
-
-    /** Factory method */
-    public static Collection<VariableReference> fromRHS(ASTAssignmentStmtNode node)
-    {
-        if (node.getRhs() == null)
-            throw new DependenceTestFailure(
-                Messages.bind(
-                    Messages.VariableReference_AssignmentStmtCannotBeProcessed,
-                    node.toString().trim()));
-        
-        return VariableReference.fromExpr(node.getRhs(), false);
-    }
-
-    /** Factory method */
-    public static Collection<VariableReference> fromExpr(IExpr expr, final boolean isWrite)
-    {
-        final ArrayList<VariableReference> result = new ArrayList<VariableReference>();
-        expr.accept(new GenericASTVisitorWithLoops()
-        {
-            @Override
-            public void visitASTVarOrFnRefNode(ASTVarOrFnRefNode node)
-            {
-                if (node.getName() == null
-                    || node.getFunctionArgList() != null
-                    || node.getDerivedTypeComponentRef() != null
-                    || node.getComponentSectionSubscriptList() != null
-                    || node.getSubstringRange() != null)
-                {
-                    return;
-                }
-
-                String name = PhotranVPG.canonicalizeIdentifier(node.getName().getName().getText());
-                LinearFunction[] indices = LinearFunction.fromList(node.getPrimarySectionSubscriptList());
-                result.add(new VariableReference(node, name, indices, isWrite));
-            }
-        });
-        return result;
-    }
-
-    @Override public String toString()
-    {
-        StringBuilder sb = new StringBuilder();
-        sb.append(variable);
-        if (indices != null)
-        {
-            sb.append("("); //$NON-NLS-1$
-            for (int i = 0; i < indices.length; i++)
-                sb.append((i > 0 ? ", " : "") + indices[i]); //$NON-NLS-1$ //$NON-NLS-2$
-            sb.append(")"); //$NON-NLS-1$
-        }
-        return sb.toString();
-    }
-
-    @Override public boolean equals(Object o)
-    {
-        if (!this.getClass().equals(o.getClass())) return false;
-
-        return this.toString().equals(o.toString()); // Cheat -- for testing only
-    }
-
-    @Override public int hashCode()
-    {
-        return toString().hashCode();
-    }
-
-    /** @return true iff this variable reference represents a read, rather than a write, of the variable */
-    public boolean isRead()
-    {
-        return !isWrite;
-    }
-
-    /** @return true iff this variable reference represents a write, rather than a read, of the variable */
-    public boolean isWrite()
-    {
-        return isWrite;
-    }
-
-    /** @return true if this variable is a scalar or an array access with the subscripts not of the expected form */
-    public boolean isScalar()
-    {
-        return indices == null;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/messages.properties b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/messages.properties
deleted file mode 100644
index cc4b680..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/messages.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-LoopDependences_LoopContains=The loop contains an {0}
-LoopDependences_LoopContainsAnAssignmentToADerivedTypeComponent=The loop contains an assignment to a derived type component
-LoopDependences_LoopNestContainsADoWhileLoop=The loop nest contains a do-while loop
-PerfectLoopNest_LinearFunctionOfNonIndexVariable=Linear function of non-index variable
-PerfectLoopNest_OnlySingleSubscriptsAreCurrentlySupported=Only single subscripts are currently supported
-VariableReference_AssignmentStmtCannotBeProcessed=The assignment statement\n{0}\ncannot be processed.
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/package-info.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/package-info.java
deleted file mode 100644
index 0395243..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/dependence/package-info.java
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * The classes in this package perform array dependence analysis on Fortran programs.
- * <p>
- * <b>This is experimental/prototype code.  It is incomplete and is currently unfit for use in
- * production.</b>
- */
-package org.eclipse.photran.internal.core.analysis.dependence;
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/flow/ControlFlowAnalysis.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/flow/ControlFlowAnalysis.java
deleted file mode 100644
index 476d2b6..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/flow/ControlFlowAnalysis.java
+++ /dev/null
@@ -1,587 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Matthew Fotzler, UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.flow;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;
-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.parser.ASTAllStopStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTArithmeticIfStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTAssignStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTAssignedGotoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTAssociateConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTBlockConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTComputedGotoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTCriticalConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTCycleStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTElseConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTElseIfConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTElseWhereConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTEndFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndModuleStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndProgramStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTExitStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTForallConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTGotoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTIfConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTIfStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTLblRefListNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTMaskedElseWhereConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTReturnStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSelectTypeConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTStopStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTWhereConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTWhereStmtNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IActionStmt;
-import org.eclipse.photran.internal.core.parser.IExecutableConstruct;
-import org.eclipse.photran.internal.core.parser.IObsoleteActionStmt;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGWriter;
-
-/**
- * Generates a control flow graph of an AST.
- * <p>
- * This implementation performs two passes over the AST. The first pass collects all labels,
- * assigned labels, and loops mapped to the exit statement nodes contained in their body. This data
- * is necessary for constructs which behave similarly to a GOTO. The second pass builds the Control
- * Flow Graph.
- * <p>
- * FIXME: Enable in production (see {@link PhotranVPGWriter#TEMP_____ENABLE_FLOW_ANALYSIS}). This
- * is temporarily disabled for several reasons:
- * <ol>
- * <li>We need to check the impact on performance (indexing time)
- * <li>Note: The select case, if, do, and where constructs are not structured correctly in the AST.
- * For this patch, If/where should work correctly, but select case/old style do loops should not.
- * There are open bugs for these problems in Bugzilla.
- * <li>There is a small problem with the handling of if constructs: It works correctly when there
- * is an else clause, but when there isn't an else clause, there should also be an edge from the
- * if-then statement to the statement following the if construct. (This will be easy to fix after I
- * fix the AST.)
- * </ol>
- * 
- * @author Matthew Fotzler
- */
-public class ControlFlowAnalysis extends ASTVisitorWithLoops
-{
-    public static void analyze(String filename, ASTExecutableProgramNode ast)
-    {
-        final HashMap<String, IActionStmt> labels = new HashMap<String, IActionStmt>();
-        final HashMap<String, String> assignedLabels = new HashMap<String, String>();
-        final HashMap<ASTProperLoopConstructNode, Set<ASTExitStmtNode>> exitsList = new HashMap<ASTProperLoopConstructNode, Set<ASTExitStmtNode>>();
-        ast.accept(new ASTVisitorWithLoops()
-        {
-            @Override
-            public void visitASTAssignStmtNode(ASTAssignStmtNode node)
-            {
-                assignedLabels.put(node.getVariableName().getText(), node.getAssignedLblRef()
-                    .getLabel().getText());
-            }
-
-            @Override
-            public void visitASTProperLoopConstructNode(ASTProperLoopConstructNode node)
-            {
-                exitsList.put(node, node.getExits());
-
-                traverseChildren(node);
-            }
-
-            @Override
-            public void visitIActionStmt(IActionStmt node)
-            {
-                if (node.getLabel() != null) labels.put(node.getLabel().getText(), node);
-            }
-        });
-        ast.accept(new ControlFlowAnalysis(filename, labels, assignedLabels, exitsList));
-    }
-
-    private Set<IASTNode> predecessors = Collections.<IASTNode> emptySet();
-
-    private HashMap<String, IActionStmt> labels = new HashMap<String, IActionStmt>();
-
-    private HashMap<String, String> assignedLabels = new HashMap<String, String>();
-
-    private HashMap<ASTProperLoopConstructNode, Set<ASTExitStmtNode>> exitsList = new HashMap<ASTProperLoopConstructNode, Set<ASTExitStmtNode>>();
-
-    private Set<IASTNode> handled = new HashSet<IASTNode>(128);
-
-    private ControlFlowAnalysis(String filename, HashMap<String, IActionStmt> labels,
-        HashMap<String, String> assignedLabels,
-        HashMap<ASTProperLoopConstructNode, Set<ASTExitStmtNode>> exitsList)
-    {
-        this.labels = labels;
-        this.assignedLabels = assignedLabels;
-        this.exitsList = exitsList;
-        new PhotranTokenRef(filename, Integer.MAX_VALUE, 0);
-    }
-
-    private void createFlow(IASTNode pred, IASTNode toNode)
-    {
-        PhotranTokenRef from = pred.findFirstToken().getTokenRef();
-        PhotranTokenRef to = toNode.findFirstToken().getTokenRef();
-
-        PhotranVPG.getProvider().createFlow(from, to);
-    }
-
-    private void flowTo(IASTNode toNode)
-    {
-        for (IASTNode pred : predecessors)
-            createFlow(pred, toNode);
-
-        predecessors = Collections.<IASTNode> singleton(toNode);
-        handled.add(toNode);
-    }
-
-    private void flowToExit(IASTNode node)
-    {
-        flowTo(node);
-        predecessors = Collections.<IASTNode> emptySet();
-    }
-    
-    @Override
-    public void visitIActionStmt(IActionStmt node)
-    {
-        if (!handled.contains(node)) visitIExecutableConstruct(node);
-    }
-
-    @Override
-    public void visitIExecutableConstruct(IExecutableConstruct node)
-    {
-        if (!handled.contains(node))
-        {
-            flowTo(node);
-            handled.add(node);
-        }
-    }
-
-    @Override
-    public void visitIObsoleteActionStmt(IObsoleteActionStmt node)
-    {
-        if (!handled.contains(node)) visitIActionStmt(node);
-    }
-
-    @Override
-    public void visitASTAllStopStmtNode(ASTAllStopStmtNode node)
-    {
-        flowTo(node);
-        this.predecessors = Collections.<IASTNode> emptySet();
-    }
-
-    @Override
-    public void visitASTArithmeticIfStmtNode(ASTArithmeticIfStmtNode node)
-    {
-        flowTo(node);
-
-        String label = node.getFirst().getLabel().getText();
-        IASTNode destination = labels.get(label);
-        if (destination != null) createFlow(node, destination);
-        
-        label = node.getSecond().getLabel().getText();
-        destination = labels.get(label);
-        if (destination != null) createFlow(node, destination);
-        
-        label = node.getThird().getLabel().getText();
-        destination = labels.get(label);
-        if (destination != null) createFlow(node, destination);
-
-        this.predecessors = Collections.<IASTNode> emptySet();
-    }
-
-    @Override
-    public void visitASTAssignedGotoStmtNode(ASTAssignedGotoStmtNode node)
-    {
-        flowTo(node);
-
-        String label = assignedLabels.get(node.getVariableName().getText());
-        IASTNode destination = labels.get(label);
-        if (destination != null) createFlow(node, destination);
-
-        this.predecessors = Collections.<IASTNode> emptySet();
-    }
-
-    @Override
-    public void visitASTAssociateConstructNode(ASTAssociateConstructNode node)
-    {
-        flowTo(node);
-        traverseChildren(node);
-    }
-
-    @Override
-    public void visitASTBlockConstructNode(ASTBlockConstructNode node)
-    {
-        flowTo(node);
-        traverseChildren(node);
-    }
-
-    @Override
-    public void visitASTComputedGotoStmtNode(ASTComputedGotoStmtNode node)
-    {
-        flowTo(node);
-
-        for(ASTLblRefListNode lblnode : node.getLblRefList())
-        {
-            String label = lblnode.getLabel().getText();
-            IASTNode destination = labels.get(label);
-            if(destination != null) createFlow(node, destination);
-        }
-    }
-
-    @Override
-    public void visitASTCriticalConstructNode(ASTCriticalConstructNode node)
-    {
-        flowTo(node);
-        traverseChildren(node);
-    }
-
-    @Override
-    public void visitASTCycleStmtNode(ASTCycleStmtNode node)
-    {
-        flowTo(node);
-
-        createFlow(node, node.findNearestAncestor(ASTProperLoopConstructNode.class));
-
-        this.predecessors = Collections.<IASTNode> emptySet();
-    }
-
-    @Override
-    public void visitASTElseConstructNode(ASTElseConstructNode node)
-    {
-        flowTo(node);
-
-        if (node.getConditionalBody() != null)
-            node.getConditionalBody().accept(this);
-    }
-
-    @Override
-    public void visitASTElseIfConstructNode(ASTElseIfConstructNode node)
-    {
-        flowTo(node);
-
-        Set<IASTNode> oldpredecessors = new HashSet<IASTNode>();
-        Set<IASTNode> conditionalpreds = new HashSet<IASTNode>();
-
-        oldpredecessors.addAll(this.predecessors);
-        node.getConditionalBody().accept(this);
-        conditionalpreds.addAll(this.predecessors);
-        this.predecessors = oldpredecessors;
-        if (node.getElseIfConstruct() != null)
-        {
-            node.getElseIfConstruct().accept(this);
-            conditionalpreds.addAll(this.predecessors);
-        }
-        if (node.getElseConstruct() != null)
-        {
-            node.getElseConstruct().accept(this);
-            conditionalpreds.addAll(this.predecessors);
-        }
-
-        this.predecessors = conditionalpreds;
-    }
-
-    @Override
-    public void visitASTElseWhereConstructNode(ASTElseWhereConstructNode node)
-    {
-        flowTo(node);
-        node.getWhereBodyConstructBlock().accept(this);
-    }
-
-    @Override
-    public void visitASTEndFunctionStmtNode(ASTEndFunctionStmtNode node)
-    {
-        flowToExit(node);
-    }
-
-    @Override
-    public void visitASTEndModuleStmtNode(ASTEndModuleStmtNode node)
-    {
-        flowToExit(node);
-    }
-
-    @Override
-    public void visitASTEndProgramStmtNode(ASTEndProgramStmtNode node)
-    {
-        flowToExit(node);
-    }
-
-    @Override
-    public void visitASTEndSubroutineStmtNode(ASTEndSubroutineStmtNode node)
-    {
-        flowToExit(node);
-    }
-
-    @Override
-    public void visitASTExitStmtNode(ASTExitStmtNode node)
-    {
-        flowToExit(node);
-    }
-
-    @Override
-    public void visitASTForallConstructNode(ASTForallConstructNode node)
-    {
-        flowTo(node);
-        node.getForallBody().accept(this);
-        flowTo(node);
-    }
-
-    @Override
-    public void visitASTFunctionStmtNode(ASTFunctionStmtNode node)
-    {
-        this.predecessors = Collections.<IASTNode> emptySet();
-        flowTo(node);
-
-        traverseChildren(node);
-    }
-
-    @Override
-    public void visitASTGotoStmtNode(ASTGotoStmtNode node)
-    {
-        flowTo(node);
-
-        String label = node.getGotoLblRef().getLabel().getText();
-        IASTNode destination = labels.get(label);
-        if (destination != null) createFlow(node, destination);
-
-        this.predecessors = Collections.<IASTNode> emptySet();
-    }
-
-    // @Override
-    // public void visitASTCaseConstructNode(ASTCaseConstructNode node)
-    // {
-    // final HashSet<ASTCaseStmtNode> caseNodes = new HashSet<ASTCaseStmtNode>();
-    // Set<IASTNode> casepredecessors = new HashSet<IASTNode>();
-    // Set<IASTNode> newpredecessors = new HashSet<IASTNode>();
-    //
-    // flowTo(node);
-    //
-    // casepredecessors.add(node);
-    //
-    // node.getSelectCaseBody().accept(new ASTVisitor(){
-    // @Override
-    // public void visitASTCaseStmtNode(ASTCaseStmtNode node)
-    // {
-    // caseNodes.add(node);
-    // }
-    // });
-    //
-    // for(ASTCaseStmtNode casenode : caseNodes)
-    // {
-    // this.predecessors = casepredecessors;
-    // casenode.accept(this);
-    // newpredecessors.addAll(this.predecessors);
-    // }
-    //
-    // this.predecessors = newpredecessors;
-    // }
-    //
-    // @Override
-    // public void visitASTCaseStmtNode(ASTCaseStmtNode node)
-    // {
-    // flowTo(node);
-    //
-    // node.getBody().accept(this);
-    // }
-
-    @Override
-    public void visitASTIfConstructNode(ASTIfConstructNode node)
-    {
-        flowTo(node);
-
-        Set<IASTNode> oldpredecessors = new HashSet<IASTNode>();
-        Set<IASTNode> conditionalpreds = new HashSet<IASTNode>();
-
-        oldpredecessors.addAll(this.predecessors);
-        node.getConditionalBody().accept(this);
-        conditionalpreds.addAll(this.predecessors);
-        this.predecessors = oldpredecessors;
-        if (node.getElseIfConstruct() != null)
-        {
-            node.getElseIfConstruct().accept(this);
-            conditionalpreds.addAll(this.predecessors);
-        }
-        if (node.getElseConstruct() != null)
-        {
-            node.getElseConstruct().accept(this);
-            conditionalpreds.addAll(this.predecessors);
-        }
-
-        this.predecessors = conditionalpreds;
-    }
-
-    @Override
-    public void visitASTIfStmtNode(ASTIfStmtNode node)
-    {
-        flowTo(node);
-
-        Set<IASTNode> predsBeforeStmt = this.predecessors; // == { node }
-        if (node.getActionStmt() != null)
-            node.getActionStmt().accept(this);
-        Set<IASTNode> predsAfterStmt = this.predecessors;
-
-        Set<IASTNode> newPredecessors = new HashSet<IASTNode>();
-        newPredecessors.addAll(predsBeforeStmt);
-        newPredecessors.addAll(predsAfterStmt);
-        this.predecessors = newPredecessors;
-    }
-
-    @Override
-    public void visitASTMainProgramNode(ASTMainProgramNode node)
-    {
-        this.predecessors = Collections.<IASTNode> emptySet();
-        flowTo(node);
-        traverseChildren(node);
-    }
-
-    @Override
-    public void visitASTMaskedElseWhereConstructNode(ASTMaskedElseWhereConstructNode node)
-    {
-        flowTo(node);
-
-        Set<IASTNode> oldpredecessors = new HashSet<IASTNode>();
-        Set<IASTNode> newpredecessors = new HashSet<IASTNode>();
-
-        oldpredecessors.addAll(this.predecessors);
-        node.getWhereBodyConstructBlock().accept(this);
-        newpredecessors.addAll(this.predecessors);
-        this.predecessors = oldpredecessors;
-        if (node.getMaskedElseWhereConstruct() != null)
-        {
-            node.getMaskedElseWhereConstruct().accept(this);
-            newpredecessors.addAll(this.predecessors);
-        }
-        if (node.getElseWhereConstruct() != null)
-        {
-            node.getElseWhereConstruct().accept(this);
-            newpredecessors.addAll(this.predecessors);
-        }
-
-        this.predecessors = newpredecessors;
-    }
-
-    @Override
-    public void visitASTModuleStmtNode(ASTModuleStmtNode node)
-    {
-        this.predecessors = Collections.<IASTNode> emptySet();
-        flowTo(node);
-        traverseChildren(node);
-    }
-
-    @Override
-    public void visitASTProperLoopConstructNode(ASTProperLoopConstructNode node)
-    {
-        HashSet<IASTNode> newpredecessors = new HashSet<IASTNode>();
-
-        flowTo(node);
-        node.getBody().accept(this);
-        flowTo(node);
-
-        newpredecessors.addAll(this.predecessors);
-
-        if (exitsList.get(node) != null) for (ASTExitStmtNode exitnode : exitsList.get(node))
-        {
-            if (isPredecessor(node, exitnode)) newpredecessors.add(exitnode);
-        }
-        this.predecessors = newpredecessors;
-    }
-
-    protected boolean isPredecessor(ASTProperLoopConstructNode node, ASTExitStmtNode exitnode)
-    {
-        if (exitnode.getName() == null) return true;
-
-        if (node.getLoopHeader().getName() == null) return false;
-
-        if (exitnode.getName().getText().equals(node.getLoopHeader().getName().getText()))
-            return true;
-        else
-            return false;
-    }
-
-    @Override
-    public void visitASTReturnStmtNode(ASTReturnStmtNode node)
-    {
-        flowToExit(node);
-    }
-
-    @Override
-    public void visitASTSelectTypeConstructNode(ASTSelectTypeConstructNode node)
-    {
-        HashSet<IASTNode> newpredecessors = new HashSet<IASTNode>();
-        flowTo(node);
-
-        Set<IASTNode> oldpredecessors = this.predecessors;
-        for (IASTNode innerNode : node.getSelectTypeBody())
-        {
-            this.predecessors = oldpredecessors;
-            innerNode.accept(this);
-            newpredecessors.addAll(this.predecessors);
-        }
-
-        this.predecessors = newpredecessors;
-    }
-
-    @Override
-    public void visitASTStopStmtNode(ASTStopStmtNode node)
-    {
-        flowToExit(node);
-    }
-
-    @Override
-    public void visitASTSubroutineStmtNode(ASTSubroutineStmtNode node)
-    {
-        this.predecessors = Collections.<IASTNode> emptySet();
-        flowTo(node);
-
-        traverseChildren(node);
-    }
-
-    @Override
-    public void visitASTWhereConstructNode(ASTWhereConstructNode node)
-    {
-        flowTo(node);
-
-        Set<IASTNode> oldpredecessors = new HashSet<IASTNode>();
-        Set<IASTNode> newpredecessors = new HashSet<IASTNode>();
-
-        oldpredecessors.addAll(this.predecessors);
-        node.getWhereBodyConstructBlock().accept(this);
-        newpredecessors.addAll(this.predecessors);
-        this.predecessors = oldpredecessors;
-        if (node.getMaskedElseWhereConstruct() != null)
-        {
-            node.getMaskedElseWhereConstruct().accept(this);
-            newpredecessors.addAll(this.predecessors);
-        }
-        if (node.getElseWhereConstruct() != null)
-        {
-            node.getElseWhereConstruct().accept(this);
-            newpredecessors.addAll(this.predecessors);
-        }
-
-        this.predecessors = newpredecessors;
-    }
-
-    @Override
-    public void visitASTWhereStmtNode(ASTWhereStmtNode node)
-    {
-        flowTo(node);
-        node.getAssignmentStmt().accept(this);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/ASTProperLoopConstructNode.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/ASTProperLoopConstructNode.java
deleted file mode 100644
index 9f2213a..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/ASTProperLoopConstructNode.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.loops;
-
-import java.util.HashSet;
-
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTEndDoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTExitStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTIntConstNode;
-import org.eclipse.photran.internal.core.parser.ASTLabelDoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTLoopControlNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTUnaryExprNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-import org.eclipse.photran.internal.core.parser.IExecutableConstruct;
-import org.eclipse.photran.internal.core.parser.IExecutionPartConstruct;
-import org.eclipse.photran.internal.core.parser.IExpr;
-
-/**
- * A custom AST node for Fortran DO loops.
- * <p>
- * Due to a deficiency in the parser, DO-constructs are not recognized as a single construct; DO and END DO statements
- * are recognized as ordinary statements on par with the statements comprising their body.
- * <p>
- * This class provides a &quot;proper&quot; representation of DO-loops.  Call
- * {@link LoopReplacer#replaceAllLoopsIn(org.eclipse.photran.internal.core.analysis.binding.ScopingNode)} to identify
- * the loops in an AST and replace them with {@link ASTProperLoopConstructNode}s.  After this has been done, the AST
- * can be visited using an {@link IASTVisitorWithLoops}.
- * 
- * @author Jeff Overbey
- * @author Ashley Kasza - added small functions for getting to the bounds of a loop easier.
- * 
- * @see LoopReplacer
- * @see IASTVisitorWithLoops
- */
-public class ASTProperLoopConstructNode extends ASTNode implements IExecutableConstruct
-{
-    private ASTLabelDoStmtNode loopHeader;
-    private IASTListNode<IExecutionPartConstruct> body;
-    private ASTEndDoStmtNode endDoStmt;
-    
-    public ASTProperLoopConstructNode()
-    {
-        body = new ASTListNode<IExecutionPartConstruct>();
-        body.setParent(this);
-    }
-
-    public ASTLabelDoStmtNode getLoopHeader()
-    {
-        return this.loopHeader;
-    }
-    
-    public void setLoopHeader(ASTLabelDoStmtNode header)
-    {
-        this.loopHeader = header;
-        if (header != null) header.setParent(this);
-    }
-
-    public IASTListNode<IExecutionPartConstruct> getBody()
-    {
-        return this.body;
-    }
-
-    public ASTEndDoStmtNode getEndDoStmt()
-    {
-        return this.endDoStmt;
-    }
-    
-    public void setEndDoStmt(ASTEndDoStmtNode endDoStmt)
-    {
-        this.endDoStmt = endDoStmt;
-        if (endDoStmt != null) endDoStmt.setParent(this);
-    }
-
-    @Override public void accept(IASTVisitor visitor)
-    {
-        if (visitor instanceof IASTVisitorWithLoops)
-            ((IASTVisitorWithLoops)visitor).visitASTProperLoopConstructNode(this);
-        visitor.visitIExecutableConstruct(this);
-        visitor.visitASTNode(this);
-    }
-
-    @Override protected int getNumASTFields()
-    {
-        return 3;
-    }
-
-    @Override protected IASTNode getASTField(int index)
-    {
-        switch (index)
-        {
-        case 0:  return this.loopHeader;
-        case 1:  return this.body;
-        case 2:  return this.endDoStmt;
-        default: throw new IllegalArgumentException();
-        }
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override protected void setASTField(int index, IASTNode value)
-    {
-        switch (index)
-        {
-        case 0:  this.loopHeader = (ASTLabelDoStmtNode)value; if (loopHeader != null) loopHeader.setParent(this); break;
-        case 1:  this.body = (IASTListNode<IExecutionPartConstruct>)value; if (body != null) body.setParent(this); break;
-        case 2:  this.endDoStmt = (ASTEndDoStmtNode)value; if (endDoStmt != null) endDoStmt.setParent(this); break;
-        default: throw new IllegalArgumentException();
-        }
-    }
-    
-    private ASTLoopControlNode getLoopControl()
-    {
-        return this.getLoopHeader().getLoopControl();
-    }
-    
-    // UTILITY METHODS ////////////////////////////////////////////////////////////////////////////
-    
-    public boolean isDoWhileLoop()
-    {
-        return getLoopHeader().getLoopControl().getVariableName() == null;
-    }
-    
-    public IExpr getLowerBoundIExpr()
-    {
-        ASTLoopControlNode node = this.getLoopControl();
-        return node.getLb();
-    }
-
-    public void setLowerBoundIExpr(int newLower)
-    {
-        ASTLoopControlNode node = this.getLoopControl();
-        IExpr low = node.getLb();
-        low.replaceWith(Integer.toString(newLower));
-    }
-
-    public IExpr getUpperBoundIExpr()
-    {
-        ASTLoopControlNode node = this.getLoopControl();
-        return node.getUb();
-    }
-
-    public void setUpperBoundIExpr(int newUpper)
-    {
-        ASTLoopControlNode node = this.getLoopControl();
-        IExpr upper = node.getUb();
-        upper.replaceWith(Integer.toString(newUpper));
-    }
-
-    /**
-     * finds the number representation of the lower bound of the loop
-     * @return integer value of lower bound, -1 if its not an integer
-     */
-    public int getLowerBoundInt() throws NumberFormatException
-    {
-        ASTLoopControlNode node = this.getLoopControl();
-        IExpr expr = node.getLb();
-        if (expr instanceof ASTIntConstNode)
-        {
-            return Integer.parseInt(expr.findFirstToken().getText());
-        }
-        else
-        {
-            throw new NumberFormatException();
-        }
-    }
-
-    /**
-     * finds number representation of the upper bound
-     * @return the integer representation of upper bound, -1 if its not an integer
-     */
-    public int getUpperBoundInt()
-    {
-        ASTLoopControlNode node = this.getLoopControl();
-        IExpr expr = node.getUb();
-        if (expr instanceof ASTIntConstNode)
-        {
-            return Integer.parseInt(expr.findFirstToken().getText());
-        }
-        else
-        {
-            throw new NumberFormatException();
-        }
-    }
-
-    public int getStepInt()
-    {
-        ASTLoopControlNode node = this.getLoopControl();
-        IExpr expr = node.getStep();
-        if (expr instanceof ASTIntConstNode
-            || (expr instanceof ASTUnaryExprNode && ((ASTUnaryExprNode)expr).getOperand() instanceof ASTIntConstNode))
-            return Integer.parseInt(expr.toString());
-        else if (expr == null)
-            return 1;
-        else
-            throw new NumberFormatException();
-    }
-
-    public void setStepInt(int newStep)
-    {
-        ASTLoopControlNode node = this.getLoopControl();
-        IExpr step = node.getStep();
-        if (step == null)
-        {
-            String s = "," + Integer.toString(newStep);//$NON-NLS-1$
-            Token newVal = new Token(Terminal.T_ICON, s);
-            ASTIntConstNode newStepVar = new ASTIntConstNode();
-            newStepVar.setIntConst(newVal);
-            node.setStep(newStepVar);
-        }
-        else
-        {
-            step.replaceWith(Integer.toString(newStep));
-        }
-    }
-    
-    public Token getIndexVariable()
-    {
-        return getLoopHeader().getLoopControl().getVariableName();
-    }
-    
-    public HashSet<ASTExitStmtNode> getExits()
-    {
-        final HashSet<ASTExitStmtNode> exits = new HashSet<ASTExitStmtNode>();
-        
-        getBody().accept(new ASTVisitorWithLoops(){
-           @Override public void visitASTExitStmtNode(ASTExitStmtNode node)
-           {
-               exits.add(node);
-           }
-        });
-        
-        return exits;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/ASTVisitorWithLoops.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/ASTVisitorWithLoops.java
deleted file mode 100644
index 1868498..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/ASTVisitorWithLoops.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.loops;
-
-import org.eclipse.photran.internal.core.parser.ASTVisitor;
-
-/**
- * An extension of {@link ASTVisitor} which implements {@link IASTVisitorWithLoops}.
- *  
- * @author Jeff Overbey
- * @see IASTVisitorWithLoops
- */
-public class ASTVisitorWithLoops extends ASTVisitor implements IASTVisitorWithLoops
-{
-    public void visitASTProperLoopConstructNode(ASTProperLoopConstructNode node) { traverseChildren(node); }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/GenericASTVisitorWithLoops.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/GenericASTVisitorWithLoops.java
deleted file mode 100644
index f1053b6..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/GenericASTVisitorWithLoops.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.loops;
-
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-
-/**
- * An extension of {@link GenericASTVisitor} which implements {@link IASTVisitorWithLoops}.
- *  
- * @author Jeff Overbey
- * @see IASTVisitorWithLoops
- */
-public class GenericASTVisitorWithLoops extends GenericASTVisitor implements IASTVisitorWithLoops
-{
-    public void visitASTProperLoopConstructNode(ASTProperLoopConstructNode node) {}
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/IASTVisitorWithLoops.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/IASTVisitorWithLoops.java
deleted file mode 100644
index 6be3c93..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/IASTVisitorWithLoops.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.loops;
-
-import org.eclipse.photran.internal.core.parser.IASTVisitor;
-
-/**
- * An extension of {@link IASTVisitorWithLoops} which contains an additional method so that it can visit
- * {@link ASTProperLoopConstructNode}s.
- * 
- * @author Jeff Overbey
- * @see ASTProperLoopConstructNode
- */
-public interface IASTVisitorWithLoops extends IASTVisitor
-{
-    void visitASTProperLoopConstructNode(ASTProperLoopConstructNode node);
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/LoopReplacer.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/LoopReplacer.java
deleted file mode 100644
index ebdf80f..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/LoopReplacer.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.loops;
- 
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.parser.ASTDoConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTEndDoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTLabelDoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IActionStmt;
-import org.eclipse.photran.internal.core.parser.IExecutableConstruct;
-import org.eclipse.photran.internal.core.parser.IExecutionPartConstruct;
-import org.eclipse.photran.internal.core.parser.IObsoleteActionStmt;
-
-/**
- * Identifies DO-loops in a Fortran AST and replaces them with {@link ASTProperLoopConstructNode}s.
- * <p>
- * Due to a deficiency in the parser, DO-constructs are not recognized as a single construct; DO and END DO statements
- * are recognized as ordinary statements on par with the statements comprising their body.
- * <p>
- * {@link ASTProperLoopConstructNode} provides a &quot;proper&quot; representation of DO-loops.  Invoking
- * {@link #replaceAllLoopsIn(ScopingNode)} will identify the loops in an AST and replace them with
- * {@link ASTProperLoopConstructNode}s.  After this has been done, the AST can be visited using an
- * {@link IASTVisitorWithLoops}.
- * 
- * @author Jeff Overbey
- * @author Mariano Mendez
- * 
- * @see LoopReplacer
- * @see IASTVisitorWithLoops
- */
-public class LoopReplacer
-{
-    public static void replaceAllLoopsIn(ScopingNode scope)
-    {
-        new LoopReplacer().replaceLoopsFromLastToFirstIn(scope);
-    }
-    
-    /** A list of all the loops in scope, from last to first */
-    private List<ASTDoConstructNode> queue = new LinkedList<ASTDoConstructNode>();
-    
-    private void replaceLoopsFromLastToFirstIn(ScopingNode scope)
-    {
-        collectLoopsIn(scope);
-        while (!queue.isEmpty())
-            replaceLoop(queue.remove(0));
-    }
-
-    private void collectLoopsIn(ScopingNode scope)
-    {
-        scope.accept(new ASTVisitor()
-        {
-            @Override public void visitASTDoConstructNode(ASTDoConstructNode node)
-            {
-                // Collect all DoLoopsStmt 
-                    queue.add(0, node);
-            }
-        });
-    }
-
-    private void replaceLoop(ASTDoConstructNode loopToReplace)
-    {
-        // Save ancestor nodes, since parent pointers will be changed when we manipulate
-        // the AST in #buildASTProperLoopConstructNode below.
-        IASTNode oldParent = loopToReplace.getParent();
-        ScopingNode scope = loopToReplace.findNearestAncestor(ScopingNode.class);
-        
-        // Now manipulate the AST
-        ASTProperLoopConstructNode newLoop = buildASTProperLoopConstructNode(loopToReplace, scope);
-        loopToReplace.replaceWith(newLoop);
-        newLoop.setParent(oldParent);
-    }
-
-    private ASTProperLoopConstructNode buildASTProperLoopConstructNode(ASTDoConstructNode loopToReplace, ScopingNode scope)
-    {
-        ASTLabelDoStmtNode lastLoopHeader = loopToReplace.getLabelDoStmt();
-        
-        // First, remove siblings of lastLoopHeader that should actually be in the loop body
-        ASTProperLoopConstructBuilder nodeBuilder = new ASTProperLoopConstructBuilder(lastLoopHeader);
-        scope.accept(nodeBuilder);
-
-        // We needed to keep the loop header in the AST so that that ASTProperLoopConstructBuilder could find it
-        // Now that it's finished, we can move the loop header into the ASTProperLoopConstructNode
-        lastLoopHeader.removeFromTree();
-        nodeBuilder.result.setLoopHeader(lastLoopHeader);
-
-        return nodeBuilder.result;
-    }
-    
-    private class ASTProperLoopConstructBuilder extends ASTVisitorWithLoops
-    {
-        private final ASTProperLoopConstructNode result = new ASTProperLoopConstructNode();
-        private final ASTLabelDoStmtNode loopHeader;
-        private final IASTNode doConstructNode;
-        private final IASTNode listEnclosingDoConstructNode;
-        private boolean loopHeaderFound = false;
-        private IASTNode oldStyleEndLoopRef=null;
-        
-        // First, save ancestor nodes, since parent pointers will be changed when we
-        // manipulate the AST in the #visit methods below
-        public ASTProperLoopConstructBuilder(ASTLabelDoStmtNode loopHeader)
-        {
-            this.loopHeader = loopHeader;
-            this.doConstructNode = loopHeader.getParent();
-            this.listEnclosingDoConstructNode = doConstructNode.getParent();
-            this.oldStyleEndLoopRef=null;
-        }
-        
-        // Start accumulating body statements when we find the loop header
-        @Override public void visitASTLabelDoStmtNode(ASTLabelDoStmtNode node)
-        {
-            if (node == loopHeader)
-                loopHeaderFound = true;
-            
-            traverseChildren(node);
-        }
-
-        // Accumulate all statements between the loop header and the END DO stmt
-        @Override public void visitIExecutionPartConstruct(IExecutionPartConstruct node)
-        {
-            if (shouldBeInLoopBody(node))
-            {
-                node.removeFromTree();
-                this.result.getBody().add(node);
-            }
-        }
-        
-        @Override public void visitIExecutableConstruct(IExecutableConstruct node)
-        {
-            visitIExecutionPartConstruct(node);
-        }
-
-        @Override public void visitIActionStmt(IActionStmt node)
-        {
-            //  Obtain a reference to the end of the old Style Loop Node  
-            visitIExecutionPartConstruct(node);
-            if (isOldStyleDoLoopEnd(node)) 
-            {
-                this.result.setEndDoStmt(null);
-                this.oldStyleEndLoopRef=node; 
-            }
-            //traverseChildren(node);
-        }
-        
-        @Override public void visitIObsoleteActionStmt(IObsoleteActionStmt node)
-        {
-            visitIExecutionPartConstruct(node);
-        }
-
-        private boolean shouldBeInLoopBody(IExecutionPartConstruct node)
-        {
-            return loopHeaderFound
-                && !endDoStmtFound()
-                && !oldStyleEndLoopFound()
-                && !isLoopHeader(node)
-                && isCurrentlySiblingOfLoopHeader(node);
-        }
-        
-        private boolean isOldStyleDoLoopEnd( IActionStmt node  )
-        {
-            if ( (node.getLabel()!=null) && (this.loopHeader.getLblRef()!=null) )
-            {
-                return loopHeaderFound 
-                    && !endDoStmtFound()   
-                    && !(node.getParent() == this.listEnclosingDoConstructNode)  
-                    && this.loopHeader.getLblRef().getLabel().getText().equals(node.getLabel().getText()) ;
-            }
-            return false;
-        }
-
-        
-        private boolean isCurrentlySiblingOfLoopHeader(IExecutionPartConstruct node)
-        {
-            return node.getParent() == listEnclosingDoConstructNode;
-        }
-
-        // Don't accumulate either the ASTLabelDoStmtNode or the ASTDoConstructNode in the body; these are the header
-        private boolean isLoopHeader(IExecutionPartConstruct node)
-        {
-            return node == loopHeader || node == doConstructNode;
-        }
-
-        // Stop accumulating body statements as soon as we find an END DO stmt
-        @Override public void visitASTEndDoStmtNode(ASTEndDoStmtNode node)
-        {
-          if (loopHeaderFound && !endDoStmtFound() && (node.getParent() == listEnclosingDoConstructNode) && !oldStyleEndLoopFound() )
-            {
-                node.removeFromTree();
-                this.result.setEndDoStmt(node);
-            }
-            
-            traverseChildren(node);
-        }
-
-        private boolean endDoStmtFound()
-        {
-            return this.result.getEndDoStmt() != null;
-        }
-        
-        private boolean oldStyleEndLoopFound()
-        {
-            return this.oldStyleEndLoopRef != null;
-        }
-        
-        
-        @Override public void visitASTProperLoopConstructNode(ASTProperLoopConstructNode node)
-        {
-            // Do not traverse child statements of nested loops
-            // Except if you are working with a Shared Do Loop Termination
-            // you need to know where is the ending Loop 
-            
-            if (node.getLoopHeader().getLblRef()==null) return;
-            if (this.loopHeader.getLblRef()==null) return;
-            
-            String nodeLabel=node.getLoopHeader().getLblRef().getLabel().getText();
-            String headerLabel= this.loopHeader.getLblRef().getLabel().getText();
-            
-            if ( !endDoStmtFound() && !oldStyleEndLoopFound()  && nodeLabel.equals(headerLabel) ) 
-            {
-                visitIExecutionPartConstruct(node);
-                this.oldStyleEndLoopRef=node.getLoopHeader().getLblRef();    
-            }  
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/package-info.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/package-info.java
deleted file mode 100644
index 2835aa2..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/loops/package-info.java
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * The classes in this package support the recognition of DO loops in the AST.  These are not
- * recognized directly by the parser since old-style DO loops are terminated based on a user-defined
- * label.
- * <p>
- * For more information, please see the <i>Photran Developer's Guide</i> in the
- * org.eclipse.photran-dev-docs project.
- * 
- * @see LoopReplacer
- */
-package org.eclipse.photran.internal.core.analysis.loops;
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/ArraySpec.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/ArraySpec.java
deleted file mode 100644
index ba0a4d9..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/ArraySpec.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.types;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.photran.internal.core.parser.ASTArraySpecNode;
-import org.eclipse.photran.internal.core.parser.ASTAssumedShapeSpecListNode;
-import org.eclipse.photran.internal.core.parser.ASTAssumedSizeSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTDeferredShapeSpecListNode;
-import org.eclipse.photran.internal.core.parser.ASTExplicitShapeSpecNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.vpg.IPhotranSerializable;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGSerializer;
-
-/**
- * A smarter, persistable representation of an {@link ASTArraySpecNode}, i.e., an <i>ArraySpec</i>
- * in the Fortran grammar.
- * 
- * @author Jeff Overbey
- * 
- * @see Dimension
- */
-public class ArraySpec implements IPhotranSerializable
-{
-	private static final long serialVersionUID = 1L;
-	
-    // ***WARNING*** If any fields change, the serialization methods (below) must also change!
-    protected List<Dimension> dimensions = new LinkedList<Dimension>();
-    protected boolean assumedOrDeferredShape = false;
-
-    // # R513 see 16
-    // <ArraySpec> ::=
-    //     <ExplicitShapeSpecList>
-    //   | <AssumedSizeSpec>
-    //   | <AssumedShapeSpecList>
-    //   | <DeferredShapeSpecList>
-
-    public ArraySpec(ASTArraySpecNode spec)
-    {
-        if (spec.getExplicitShapeSpecList() != null)
-            parseExplicitShapeArray(spec.getExplicitShapeSpecList());
-        else if (spec.getAssumedSizeSpec() != null)
-            parseAssumedSizeArray(spec.getAssumedSizeSpec());
-        else if (spec.getAssumedShapeSpecList() != null)
-            parseAssumedShapeArray(spec.getAssumedShapeSpecList());
-        else if (spec.getDeferredShapeSpecList() != null)
-            parseDeferredShapeArray(spec.getDeferredShapeSpecList());
-        else
-            throw new Error("Unexpected entity in <ArraySpec>"); //$NON-NLS-1$
-    }
-
-    //    # R514
-    //    <ExplicitShapeSpecList> ::=
-    //        <ExplicitShapeSpec>
-    //      | @:<ExplicitShapeSpecList> T_COMMA <ExplicitShapeSpec>
-
-    private void parseExplicitShapeArray(IASTListNode<ASTExplicitShapeSpecNode> node)
-    {
-        for (int i = 0; i < node.size(); i++)
-            dimensions.add(new Dimension(node.get(i)));
-    }
-    
-    //    # R519
-    //    <AssumedSizeSpec> ::=
-    //        T_ASTERISK
-    //      | <LowerBound> T_COLON T_ASTERISK
-    //      | <ExplicitShapeSpecList> T_COMMA T_ASTERISK
-    //      | <ExplicitShapeSpecList> T_COMMA <LowerBound> T_COLON T_ASTERISK
-
-    private void parseAssumedSizeArray(ASTAssumedSizeSpecNode assumedSizeSpec)
-    {
-        assumedOrDeferredShape = true;
-    }
-
-    //    <AssumedShapeSpecList> ::=
-    //        <LowerBound> T_COLON
-    //      | <DeferredShapeSpecList> T_COMMA <LowerBound> T_COLON
-    //      | @:<AssumedShapeSpecList> T_COMMA <AssumedShapeSpec>
-
-    private void parseAssumedShapeArray(IASTListNode<ASTAssumedShapeSpecListNode> assumedShapeSpecList)
-    {
-        assumedOrDeferredShape = true;
-    }
-
-    //    # R518
-    //    <DeferredShapeSpecList> ::=
-    //        <DeferredShapeSpec>
-    //      | @:<DeferredShapeSpecList> T_COMMA <DeferredShapeSpec>
-    //
-    //    <DeferredShapeSpec> ::= T_COLON
-
-    private void parseDeferredShapeArray(IASTListNode<ASTDeferredShapeSpecListNode> deferredShapeSpecList)
-    {
-        assumedOrDeferredShape = true;
-    }
-
-    /** @return true iff this array has an explicit shape and each dimension has constant bounds */
-    public boolean hasFixedConstantDimensions()
-    {
-        if (assumedOrDeferredShape) return false;
-        
-        for (Dimension d : dimensions)
-            if (!d.hasConstantBounds())
-                return false;
-        
-        return true;
-    }
-    
-    /** @return the dimensions of this array */
-    public Iterable<Dimension> getDimensions()
-    {
-        return dimensions;
-    }
-    
-    /** @return the rank of this array */
-    public int getRank()
-    {
-        return dimensions.size();
-    }
-
-    @Override public String toString()
-    {
-        StringBuffer sb = new StringBuffer();
-        sb.append("("); //$NON-NLS-1$
-        for (int i = 0; i < dimensions.size(); i++)
-        {
-            if (i > 0) sb.append(","); //$NON-NLS-1$
-            sb.append(dimensions.get(i).toString());
-        }
-        sb.append(")"); //$NON-NLS-1$
-        return sb.toString();
-    }
-    
-    @Override public boolean equals(Object other)
-    {
-        if (!(other instanceof ArraySpec)) return false;
-        
-        ArraySpec o = (ArraySpec)other;
-        return this.dimensions.equals(o.dimensions) && this.assumedOrDeferredShape == o.assumedOrDeferredShape;
-    }
-    
-    @Override public int hashCode()
-    {
-        return dimensions.hashCode() + (assumedOrDeferredShape ? 1 : 0);
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////
-    // IPhotranSerializable Implementation
-    ////////////////////////////////////////////////////////////////////////////////
-
-//  protected List<Dimension> dimensions = new LinkedList<Dimension>();
-//  protected boolean assumedOrDeferredShape = false;
-
-    private ArraySpec(List<Dimension> dimensions, boolean assumedOrDeferredShape)
-    {
-        this.dimensions = dimensions;
-        this.assumedOrDeferredShape = assumedOrDeferredShape;
-    }
-    
-    public void writeTo(OutputStream out) throws IOException
-    {
-        PhotranVPGSerializer.serialize(dimensions.size(), out);
-        
-        for (Dimension dim : dimensions)
-            PhotranVPGSerializer.serialize(dim, out);
-        
-        PhotranVPGSerializer.serialize(assumedOrDeferredShape, out);
-    }
-    
-    public static ArraySpec readFrom(InputStream in) throws IOException
-    {
-        int numDimensions = PhotranVPGSerializer.deserialize(in);
-        
-        ArrayList<Dimension> dimensions = new ArrayList<Dimension>(numDimensions);
-        for (int i = 0; i < numDimensions; i++)
-            dimensions.add((Dimension)PhotranVPGSerializer.deserialize(in));
-        
-        boolean assumedOrDeferredShape = PhotranVPGSerializer.deserialize(in);
-        
-        return new ArraySpec(dimensions, assumedOrDeferredShape);
-    }
-    
-    public char getSerializationCode()
-    {
-        return PhotranVPGSerializer.CLASS_ARRAYSPEC;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/DerivedType.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/DerivedType.java
deleted file mode 100644
index 93b239e..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/DerivedType.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.types;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.eclipse.photran.internal.core.vpg.PhotranVPGSerializer;
-
-/**
- * A {@link Type} representing a Fortran derived type with a particular name.
- * 
- * @author Jeff Overbey
- */
-public class DerivedType extends Type
-{
-    private static final long serialVersionUID = 1L;
-    
-    // ***WARNING*** If any fields change, the serialization methods (below) must also change!
-    private String name;
-
-    public DerivedType(String name)
-    {
-        this.name = name.toLowerCase();
-    }
-
-    @Override public String toString()
-    {
-        return "type(" + name + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-    }
-   
-    @Override public <T> T processUsing(TypeProcessor<T> p)
-    {
-        return p.ifDerivedType(name, this);
-    }
-    
-    @Override public boolean equals(Object other)
-    {
-        // TODO: Does not consider scope
-        return other instanceof DerivedType && ((DerivedType)other).name.equals(this.name);
-    }
-    
-    @Override public int hashCode()
-    {
-        return name.hashCode();
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////
-    // IPhotranSerializable Implementation
-    ////////////////////////////////////////////////////////////////////////////////
-    
-    public static String getStaticThreeLetterTypeSerializationCode()
-    {
-        return "dtv"; //$NON-NLS-1$
-    }
-    
-    @Override public String getThreeLetterTypeSerializationCode()
-    {
-        return "dtv"; //$NON-NLS-1$
-    }
-
-    @Override void finishWriteTo(OutputStream out) throws IOException
-    {
-        PhotranVPGSerializer.serialize(name, out);
-    }
-
-    public static Type finishReadFrom(InputStream in) throws IOException
-    {
-        String name = PhotranVPGSerializer.deserialize(in);
-        return new DerivedType(name);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/Dimension.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/Dimension.java
deleted file mode 100644
index 6fc683d..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/Dimension.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.types;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.PrintStream;
-
-import org.eclipse.photran.internal.core.parser.ASTExplicitShapeSpecNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IExpr;
-import org.eclipse.photran.internal.core.vpg.IPhotranSerializable;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGSerializer;
-
-/**
- * Contains the <b>lower and upper bounds</b> of one dimension of an explicit-shape array.
- * 
- * @author Jeff Overbey
- * 
- * @see ArraySpec
- */
-public class Dimension implements IPhotranSerializable
-{
-	private static final long serialVersionUID = 1L;
-	
-    // ***WARNING*** If any fields change, the serialization methods (below) must also change!
-    private String lboundAsString, uboundAsString;
-
-    //    <ExplicitShapeSpec> ::=
-    //        <LowerBound> T_COLON <UpperBound>
-    //      | <UpperBound>
-
-    public Dimension(ASTExplicitShapeSpecNode node)
-    {
-        IExpr lbound = node.getLb();
-        IExpr ubound = node.getUb();
-        
-        lboundAsString = lbound == null ? null : getSourceCodeFromASTNode(lbound);
-        uboundAsString = ubound == null ? null : getSourceCodeFromASTNode(ubound);
-    }
-   
-    /** @return true iff both the upper bound and lower bound are integer constants */
-    public boolean hasConstantBounds()
-    {
-        return uboundAsString != null && isLiteralInteger(lboundAsString) && isLiteralInteger(uboundAsString);
-    }
-
-    private boolean isLiteralInteger(String string)
-    {
-        if (string == null) return true;
-        
-        string = string.trim();
-        for (int i = 0, len = string.length(); i < len; i++)
-            if (!Character.isDigit(string.charAt(i)))
-                return false;
-        return true;
-    }
-
-    /** @return the constant lower bound (assumes <code>hasConstantBounds</code> returned true) */
-    public int getConstantLowerBound()
-    {
-        return lboundAsString == null ? 1 : Integer.parseInt(lboundAsString.trim());
-    }
-    
-    /** @return the constant upper bound (assumes <code>hasConstantBounds</code> returned true) */
-    public int getConstantUpperBound()
-    {
-        return Integer.parseInt(uboundAsString.trim());
-    }
-    
-    // Copied from SourcePrinter; refactor somehow
-    private static String getSourceCodeFromASTNode(IASTNode node)
-    {
-        ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
-        node.printOn(new PrintStream(out), null);
-        return out.toString();
-    }
-
-    @Override public String toString()
-    {
-        StringBuffer sb = new StringBuffer();
-        if (lboundAsString != null)
-        {
-            sb.append(lboundAsString);
-            sb.append(":"); //$NON-NLS-1$
-        }
-        sb.append(uboundAsString);
-        return sb.toString();
-    }
-    
-    @Override public boolean equals(Object other)
-    {
-        if (!(other instanceof Dimension)) return false;
-        
-        Dimension o = (Dimension)other;
-        return equals(this.lboundAsString, o.lboundAsString) && equals(this.uboundAsString, o.uboundAsString);
-    }
-    
-    private boolean equals(Object a, Object b)
-    {
-        if (a == null && b == null)
-            return true;
-        else if (a != null && b != null)
-            return a.equals(b);
-        else
-            return false;
-    }
-
-    @Override public int hashCode()
-    {
-        return hashCode(lboundAsString) + hashCode(uboundAsString);
-    }
-
-    private int hashCode(Object o)
-    {
-        return o == null ? 0 : o.hashCode();
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////
-    // IPhotranSerializable Implementation
-    ////////////////////////////////////////////////////////////////////////////////
-
-//    private String lboundAsString, uboundAsString;
-
-    private Dimension() {;}
-
-    public static Dimension readFrom(InputStream in) throws IOException
-    {
-        Dimension result = new Dimension();
-        result.lboundAsString = PhotranVPGSerializer.deserialize(in);
-        result.uboundAsString = PhotranVPGSerializer.deserialize(in);
-        return result;
-    }
-    
-    public void writeTo(OutputStream out) throws IOException
-    {
-        PhotranVPGSerializer.serialize(lboundAsString, out);
-        PhotranVPGSerializer.serialize(uboundAsString, out);
-    }
-    
-    public char getSerializationCode()
-    {
-        return PhotranVPGSerializer.CLASS_DIMENSION;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/FunctionType.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/FunctionType.java
deleted file mode 100644
index d33453f..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/FunctionType.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.types;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.photran.internal.core.analysis.binding.VariableAccess;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGSerializer;
-
-/**
- * Represents a function type, i.e., a {@link Type} with a list of argument types and a return type.
- * 
- * @author Jeff Overbey
- */
-public class FunctionType extends Type
-{
-    private static final long serialVersionUID = 1L;
-    
-    // ***WARNING*** If any fields change, the serialization methods (below) must also change!
-    private String name;
-    private Type returnType = Type.UNKNOWN;
-    private List<String> argumentNames = new LinkedList<String>();
-    private List<Type> argumentTypes = new LinkedList<Type>();
-    private List<VariableAccess> argumentIntents = new LinkedList<VariableAccess>();
-
-    public FunctionType(String name)
-    {
-        this.name = name.toLowerCase();
-    }
-    
-    /** @return the return type of the function */
-    public Type getReturnType()
-    {
-        return returnType;
-    }
-
-    /**
-     * @param argument the index of the function argument (0 = first argument, 1 = second, etc.)
-     * @return the type of the given argument
-     */
-    public Type getArgumentType(int argument)
-    {
-        if (argument < 0 || argument >= argumentIntents.size())
-            return Type.TYPE_ERROR;
-        else
-            return argumentTypes.get(argument);
-    }
-
-    /**
-     * @param argument the index of the function argument (0 = first argument, 1 = second, etc.)
-     * @return the type of the given argument 
-     */
-    public Type getArgumentType(String argName)
-    {
-        return getArgumentType(argumentNames.indexOf(PhotranVPG.canonicalizeIdentifier(argName)));
-    }
-
-    /**
-     * @param argument the index of the function argument (0 = first argument, 1 = second, etc.)
-     * @return {@link VariableAccess#READ} if the given argument is intent(in),
-     *         {@link VariableAccess#WRITE} if the given argument is intent(out), and
-     *         {@link VariableAccess#RW} otherwise. 
-     */
-    public VariableAccess getArgumentAccess(int argument)
-    {
-        if (argument < 0 || argument >= argumentIntents.size())
-            return VariableAccess.RW;
-        else
-            return argumentIntents.get(argument);
-    }
-
-    /**
-     * @param argument the index of the function argument (0 = first argument, 1 = second, etc.)
-     * @return {@link VariableAccess#READ} if the given argument is intent(in),
-     *         {@link VariableAccess#WRITE} if the given argument is intent(out), and
-     *         {@link VariableAccess#RW} otherwise. 
-     */
-    public VariableAccess getArgumentAccess(String argName)
-    {
-        return getArgumentAccess(argumentNames.indexOf(PhotranVPG.canonicalizeIdentifier(argName)));
-    }
-
-    public void setReturnType(Type type)
-    {
-        this.returnType = type;
-    }
-
-    public void addArgument(String name, Type type, VariableAccess intent)
-    {
-        if (name == null) name = ""; //$NON-NLS-1$
-        if (type == null) type = Type.UNKNOWN;
-        if (intent == null) intent = VariableAccess.RW;
-
-        argumentNames.add(PhotranVPG.canonicalizeIdentifier(name));
-        argumentTypes.add(type);
-        argumentIntents.add(intent);
-    }
-
-    @Override public String toString()
-    {
-        return "function(" + name + "): " + argumentTypes + " -> " + returnType; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-    }
-
-    @Override public <T> T processUsing(TypeProcessor<T> p)
-    {
-        return p.ifFunctionType(name, this);
-    }
-    
-    @Override public boolean equals(Object other)
-    {
-        // TODO: Does not consider scope
-        return other instanceof FunctionType && ((FunctionType)other).name.equals(this.name);
-    }
-    
-    @Override public int hashCode()
-    {
-        return name.hashCode();
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////
-    // IPhotranSerializable Implementation
-    ////////////////////////////////////////////////////////////////////////////////
-    
-    public static String getStaticThreeLetterTypeSerializationCode()
-    {
-        return "fun"; //$NON-NLS-1$
-    }
-    
-    @Override public String getThreeLetterTypeSerializationCode()
-    {
-        return "fun"; //$NON-NLS-1$
-    }
-
-//    private String name;
-//    private Type returnType = Type.UNKNOWN;
-//    private List<Type> argumentTypes = new LinkedList<Type>();
-
-    @Override void finishWriteTo(OutputStream out) throws IOException
-    {
-        PhotranVPGSerializer.serialize(name, out);
-        
-        PhotranVPGSerializer.serialize(returnType, out);
-        
-        int args = argumentTypes.size();
-        
-        PhotranVPGSerializer.serialize(args, out);
-        for (int i = 0; i < args; i++)
-        {
-            PhotranVPGSerializer.serialize(argumentNames.get(i), out);
-            PhotranVPGSerializer.serialize(argumentTypes.get(i), out);
-            PhotranVPGSerializer.serialize(argumentIntents.get(i), out);
-        }
-    }
-
-    public static Type finishReadFrom(InputStream in) throws IOException
-    {
-        String name = PhotranVPGSerializer.deserialize(in);
-        FunctionType result = new FunctionType(name);
-        
-        result.returnType = PhotranVPGSerializer.deserialize(in);
-        
-        int args = PhotranVPGSerializer.deserialize(in);
-        for (int i = 0; i < args; i++)
-        {
-            result.argumentNames.add((String)PhotranVPGSerializer.deserialize(in));
-            result.argumentTypes.add((Type)PhotranVPGSerializer.deserialize(in));
-            result.argumentIntents.add((VariableAccess)PhotranVPGSerializer.deserialize(in));
-        }
-        
-        return result;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/Type.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/Type.java
deleted file mode 100644
index 717c8f3..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/Type.java
+++ /dev/null
@@ -1,442 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.types;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.parser.ASTTypeSpecNode;
-import org.eclipse.photran.internal.core.vpg.IPhotranSerializable;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGSerializer;
-
-/**
- * Represents the type of a Fortran expression or variable.
- * <p>
- * Does not include any information about kinds or character lengths. Does not include any
- * information about array indexing; that is stored in the variable's {@link Definition}.
- * 
- * @author Jeff Overbey
- */
-@SuppressWarnings("serial")
-public abstract class Type implements IPhotranSerializable, Serializable
-{
-	private static final long serialVersionUID = 1L;
-
-    // ***WARNING*** If any fields change, the serialization methods (below) must also change!
-
-	@Override public abstract String toString();
-    
-    public abstract String getThreeLetterTypeSerializationCode();
-    
-    abstract void finishWriteTo(OutputStream out) throws IOException;
-    
-    public abstract <T> T processUsing(TypeProcessor<T> p);
-    
-    public Type getCommonType(Type another)
-    {
-        return this.equals(another) ? this : null;
-    }
-    
-    @Override public boolean equals(Object other)
-    {
-        return other instanceof Type && ((Type)other).toString().equals(this.toString());
-    }
-
-    // # R502
-    // <TypeSpec> ::=
-    //   T_INTEGER
-    // | T_REAL
-    // | T_DOUBLEPRECISION
-    // | T_COMPLEX
-    // | T_LOGICAL
-    // | T_CHARACTER
-    // | T_INTEGER <KindSelector>
-    // | T_REAL <KindSelector>
-    // | T_DOUBLE T_PRECISION
-    // | T_COMPLEX <KindSelector>
-    // | T_CHARACTER <CharSelector>
-    // | T_LOGICAL <KindSelector>
-    // | T_TYPE T_LPAREN <TypeName> T_RPAREN
-    
-    public static Type parse(ASTTypeSpecNode node)
-    {
-        if (node.isInteger())
-            return Type.INTEGER;
-        else if (node.isReal())
-            return Type.REAL;
-        else if (node.isDouble())
-            return Type.DOUBLEPRECISION;
-        else if (node.isComplex())
-            return Type.COMPLEX;
-        else if (node.isDblComplex())
-            return Type.DOUBLECOMPLEX;
-        else if (node.isLogical())
-            return Type.LOGICAL;
-        else if (node.isCharacter())
-            return Type.CHARACTER;
-        else if (node.isDerivedType())
-            return node.getTypeName() == null ? new DerivedType("") : new DerivedType(node.getTypeName().getText()); //$NON-NLS-1$
-        else
-            throw new Error("Unexpected case parsing <TypeSpec> node"); //$NON-NLS-1$
-    }
-
-    private static abstract class PrimitiveType extends Type
-    {
-        @Override final void finishWriteTo(OutputStream out) throws IOException
-        {
-            // Nothing extra to write for primitive types
-        }
-    }
-    
-    public static Type INTEGER = new PrimitiveType()
-    {
-        @Override public String toString()
-        {
-            return "integer"; //$NON-NLS-1$
-        }
-        
-        @Override public String getThreeLetterTypeSerializationCode()
-        {
-           return "int";  //$NON-NLS-1$
-        }
-        
-        @Override public <T> T processUsing(TypeProcessor<T> p)
-        {
-            return p.ifInteger(this);
-        }
-
-        @Override
-        public Type getCommonType(Type other)
-        {
-            return this.processUsing(new TypeProcessor<Type>()
-                                     {
-                                        @Override public Type ifComplex(Type type) { return Type.COMPLEX; }
-                                        @Override public Type ifDoublePrecision(Type type) { return Type.DOUBLEPRECISION; }
-                                        @Override public Type ifInteger(Type type) { return Type.INTEGER; }
-                                        @Override public Type ifReal(Type type) { return Type.REAL; }
-                                     });
-        }
-    };
-
-    public static Type REAL = new PrimitiveType()
-    {
-        @Override public String toString()
-        {
-            return "real"; //$NON-NLS-1$
-        }
-        
-        @Override public String getThreeLetterTypeSerializationCode()
-        {
-           return "rea";  //$NON-NLS-1$
-        }
-        
-        @Override public <T> T processUsing(TypeProcessor<T> p)
-        {
-            return p.ifReal(this);
-        }
-
-        @Override
-        public Type getCommonType(Type other)
-        {
-            return this.processUsing(new TypeProcessor<Type>()
-                                     {
-                                        @Override public Type ifComplex(Type type) { return Type.COMPLEX; }
-                                        @Override public Type ifDoublePrecision(Type type) { return Type.DOUBLEPRECISION; }
-                                        @Override public Type ifInteger(Type type) { return Type.REAL; }
-                                        @Override public Type ifReal(Type type) { return Type.REAL; }
-                                     });
-        }
-    };
-
-    public static Type DOUBLEPRECISION = new PrimitiveType()
-    {
-        @Override public String toString()
-        {
-            return "double precision"; //$NON-NLS-1$
-        }
-        
-        @Override public String getThreeLetterTypeSerializationCode()
-        {
-           return "dbl";  //$NON-NLS-1$
-        }
-        
-        @Override public <T> T processUsing(TypeProcessor<T> p)
-        {
-            return p.ifDoublePrecision(this);
-        }
-
-        @Override
-        public Type getCommonType(Type other)
-        {
-            return this.processUsing(new TypeProcessor<Type>()
-                                     {
-                                        @Override public Type ifComplex(Type type) { return Type.COMPLEX; }
-                                        @Override public Type ifDoublePrecision(Type type) { return Type.DOUBLEPRECISION; }
-                                        @Override public Type ifInteger(Type type) { return Type.DOUBLEPRECISION; }
-                                        @Override public Type ifReal(Type type) { return Type.DOUBLEPRECISION; }
-                                     });
-        }
-    };
-
-    public static Type COMPLEX = new PrimitiveType()
-    {
-        @Override public String toString()
-        {
-            return "complex"; //$NON-NLS-1$
-        }
-        
-        @Override public String getThreeLetterTypeSerializationCode()
-        {
-           return "cpx";  //$NON-NLS-1$
-        }
-
-        @Override public <T> T processUsing(TypeProcessor<T> p)
-        {
-            return p.ifComplex(this);
-        }
-
-        @Override
-        public Type getCommonType(Type other)
-        {
-            return this.processUsing(new TypeProcessor<Type>()
-                                     {
-                                        @Override public Type ifComplex(Type type) { return Type.COMPLEX; }
-                                        @Override public Type ifDoublePrecision(Type type) { return Type.COMPLEX; }
-                                        @Override public Type ifInteger(Type type) { return Type.COMPLEX; }
-                                        @Override public Type ifReal(Type type) { return Type.COMPLEX; }
-                                     });
-        }
-    };
-
-    public static Type DOUBLECOMPLEX = new PrimitiveType()
-    {
-        @Override public String toString()
-        {
-            return "doublecomplex"; //$NON-NLS-1$
-        }
-        
-        @Override public String getThreeLetterTypeSerializationCode()
-        {
-           return "dcx";  //$NON-NLS-1$
-        }
-
-        @Override public <T> T processUsing(TypeProcessor<T> p)
-        {
-            return p.ifDoubleComplex(this);
-        }
-
-        @Override
-        public Type getCommonType(Type other)
-        {
-            return this.processUsing(new TypeProcessor<Type>()
-                                     {
-                                        @Override public Type ifComplex(Type type) { return Type.DOUBLECOMPLEX; }
-                                        @Override public Type ifDoublePrecision(Type type) { return Type.DOUBLECOMPLEX; }
-                                        @Override public Type ifInteger(Type type) { return Type.DOUBLECOMPLEX; }
-                                        @Override public Type ifReal(Type type) { return Type.DOUBLECOMPLEX; }
-                                     });
-        }
-    };
-
-    public static Type LOGICAL = new PrimitiveType()
-    {
-        @Override public String toString()
-        {
-            return "logical"; //$NON-NLS-1$
-        }
-        
-        @Override public String getThreeLetterTypeSerializationCode()
-        {
-           return "log";  //$NON-NLS-1$
-        }
-
-        @Override public <T> T processUsing(TypeProcessor<T> p)
-        {
-            return p.ifLogical(this);
-        }
-    };
-
-    public static Type CHARACTER = new PrimitiveType()
-    {
-        @Override public String toString()
-        {
-            return "character"; //$NON-NLS-1$
-        }
-        
-        @Override public String getThreeLetterTypeSerializationCode()
-        {
-           return "chr";  //$NON-NLS-1$
-        }
-
-        @Override public <T> T processUsing(TypeProcessor<T> p)
-        {
-            return p.ifCharacter(this);
-        }
-    };
-
-    /**
-     * Type of
-     * <ul>
-     * <li> entities imported from a module that could not be found or was not loaded
-     * <li> interface blocks
-     * <li> external subprograms
-     * <li> intrinsics
-     * <li> functions
-     * </ul>
-     */
-    public static Type UNKNOWN = new PrimitiveType()
-    {
-        @Override public String toString()
-        {
-            return "(unknown)"; //$NON-NLS-1$
-        }
-        
-        @Override public String getThreeLetterTypeSerializationCode()
-        {
-           return "unk";  //$NON-NLS-1$
-        }
-
-        @Override public <T> T processUsing(TypeProcessor<T> p)
-        {
-            return p.ifUnknown(this);
-        }
-    };
-
-    /**
-     * Name of a derived type, namelist, common block, where statement, program name, etc.
-     */
-    public static Type VOID = new PrimitiveType()
-    {
-        @Override public String toString()
-        {
-            return "(unclassified)"; //$NON-NLS-1$
-        }
-        
-        @Override public String getThreeLetterTypeSerializationCode()
-        {
-           return "voi";  //$NON-NLS-1$
-        }
-
-        @Override public <T> T processUsing(TypeProcessor<T> p)
-        {
-            return p.ifUnclassified(this);
-        }
-    };
-
-    /**
-     * Type of expressions which do not type check
-     */
-    public static Type TYPE_ERROR = new PrimitiveType()
-    {
-        @Override public String toString()
-        {
-            return "(type error)"; //$NON-NLS-1$
-        }
-        
-        @Override public String getThreeLetterTypeSerializationCode()
-        {
-           return "err";  //$NON-NLS-1$
-        }
-
-        @Override public <T> T processUsing(TypeProcessor<T> p)
-        {
-            return p.ifError(this);
-        }
-    };
-    
-    ////////////////////////////////////////////////////////////////////////////////
-    // IPhotranSerializable Implementation
-    ////////////////////////////////////////////////////////////////////////////////
-    
-    private static Map<String, Object> threeLetterTypeSerializationCodes;
-    
-    private static void setThreeLetterTypeSerializationCode(Type type)
-    {
-        String code = type.getThreeLetterTypeSerializationCode();
-        checkCode(code);
-        threeLetterTypeSerializationCodes.put(code, type);
-    }
-    
-    private static void setThreeLetterSerializationCode(Class<? extends Type> typeClass)
-    {
-        threeLetterTypeSerializationCodes.put((String)invokeStatic("getStaticThreeLetterTypeSerializationCode", typeClass, new Class<?>[0]), typeClass); //$NON-NLS-1$
-    }
-
-    private static void checkCode(String code)
-    {
-        if (code == null || code.length() != 3)
-            throw new IllegalArgumentException("Invalid three-letter code for Type serialization: " + code); //$NON-NLS-1$
-        else if (threeLetterTypeSerializationCodes.containsKey(code))
-            throw new IllegalArgumentException("Duplicate three-letter code for Type serialization: " + code); //$NON-NLS-1$
-    }
-
-    static
-    {
-        threeLetterTypeSerializationCodes = new HashMap<String, Object>();
-        setThreeLetterTypeSerializationCode(INTEGER);
-        setThreeLetterTypeSerializationCode(REAL);
-        setThreeLetterTypeSerializationCode(DOUBLEPRECISION);
-        setThreeLetterTypeSerializationCode(COMPLEX);
-        setThreeLetterTypeSerializationCode(DOUBLECOMPLEX);
-        setThreeLetterTypeSerializationCode(LOGICAL);
-        setThreeLetterTypeSerializationCode(CHARACTER);
-        setThreeLetterTypeSerializationCode(UNKNOWN);
-        setThreeLetterTypeSerializationCode(VOID);
-        setThreeLetterTypeSerializationCode(TYPE_ERROR);
-        setThreeLetterSerializationCode(DerivedType.class);
-        setThreeLetterSerializationCode(FunctionType.class);
-    }
-    
-    public static Type readFrom(InputStream in) throws IOException
-    {
-        String code = PhotranVPGSerializer.deserialize(in);
-        if (!threeLetterTypeSerializationCodes.containsKey(code))
-            throw new IOException("Unrecognized type code: " + code); //$NON-NLS-1$
-        
-        Object o = threeLetterTypeSerializationCodes.get(code);
-        if (o instanceof Type)
-            return (Type)o;
-        else if (o instanceof Class)
-            return invokeStatic("finishReadFrom", (Class<?>)o, new Class<?>[] { InputStream.class }, in); //$NON-NLS-1$
-        else
-            throw new IOException();
-    }
-
-    public void writeTo(OutputStream out) throws IOException
-    {
-        PhotranVPGSerializer.serialize(getThreeLetterTypeSerializationCode(), out);
-        finishWriteTo(out);
-    }
-    
-    public char getSerializationCode()
-    {
-        return PhotranVPGSerializer.CLASS_TYPE;
-    }
-
-    
-    @SuppressWarnings("unchecked")
-    private static <T> T invokeStatic(String method, Class<?> o, Class<?>[] argTypes, Object... args)
-    {
-        try
-        {
-            return (T)o.getMethod(method, argTypes).invoke(null, args);
-        }
-        catch (Exception e)
-        {
-            throw new Error(e.getClass().getSimpleName() + ": " + e.getMessage()); //$NON-NLS-1$
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/TypeChecker.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/TypeChecker.java
deleted file mode 100644
index 6d233a3..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/TypeChecker.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.types;
-
-import org.eclipse.photran.internal.core.parser.ASTBinaryExprNode;
-import org.eclipse.photran.internal.core.parser.ASTComplexConstNode;
-import org.eclipse.photran.internal.core.parser.ASTDblConstNode;
-import org.eclipse.photran.internal.core.parser.ASTIntConstNode;
-import org.eclipse.photran.internal.core.parser.ASTLogicalConstNode;
-import org.eclipse.photran.internal.core.parser.ASTNestedExprNode;
-import org.eclipse.photran.internal.core.parser.ASTOperatorNode;
-import org.eclipse.photran.internal.core.parser.ASTRealConstNode;
-import org.eclipse.photran.internal.core.parser.ASTStringConstNode;
-import org.eclipse.photran.internal.core.parser.ASTUnaryExprNode;
-import org.eclipse.photran.internal.core.parser.ASTVisitor;
-import org.eclipse.photran.internal.core.parser.IExpr;
-
-/**
- * A type checker for Fortran programs.
- * <p>
- * <b>This is incomplete. It can't type check expressions containing function calls, for
- * example.</b>
- * 
- * @author Stoyan Gaydarov
- */
-public class TypeChecker
-{
-    private TypeChecker() {}
-    
-    public static Type getTypeOf(IExpr expression)
-    {
-        return new TypingVisitor().getTypeOf(expression);
-    }
-    
-    protected static class TypingVisitor extends ASTVisitor
-    {
-        protected Type topType;
-        
-        public Type getTypeOf(IExpr expression)
-        {
-            expression.accept(this);
-            
-            return topType == null ? Type.UNKNOWN : topType;
-        }
-            
-        @Override
-        public void visitASTBinaryExprNode(ASTBinaryExprNode node)
-        {
-            Type lhsType = getTypeOf(node.getLhsExpr());
-            Type rhsType = getTypeOf(node.getRhsExpr());
-            ASTOperatorNode op = node.getOperator();
-            
-            //there is no binary operation we can do
-            //unknown and anything = unknown
-            //error and anything = error
-            if( lhsType.equals(Type.UNKNOWN) || lhsType.equals(Type.TYPE_ERROR) ||
-                rhsType.equals(Type.UNKNOWN) || rhsType.equals(Type.TYPE_ERROR) ||
-                rhsType.equals(Type.VOID)    || lhsType.equals(Type.VOID)         )
-            {
-                topType = Type.TYPE_ERROR;
-                return;
-            }
-            
-            // This is for + - * / and **
-            if(op.hasPowerOp() || op.hasDivideOp() || 
-               op.hasMinusOp() || op.hasPlusOp()   || op.hasTimesOp())
-            {
-                topType = checkNumericOperations(lhsType, rhsType);
-            }
-            //This is for an AND, OR, EQV, and NEQV of logical operators
-            else if(op.hasAndOp() || op.hasOrOp() || op.hasEqvOp() || op.hasNeqvOp())
-            {
-                topType = checkLogicalComparisons(lhsType, rhsType);
-            }
-            else if(op.hasGeOp() || op.hasGtOp()  ||
-                    op.hasLeOp() || op.hasLtOp()  ||  //SlashOp?
-                    op.hasEqOp() || op.hasNeOp()  || op.hasEqEqOp() )
-            {
-                topType = checkNumericComparison(lhsType, rhsType, op);
-            }
-            else if( op.hasConcatOp())
-            {
-                if(lhsType.equals(Type.CHARACTER) && lhsType.equals(rhsType))
-                    topType = Type.CHARACTER;
-                else
-                    topType = Type.UNKNOWN;
-            }
-            else //TODO anything else
-                topType = Type.UNKNOWN;
-        }
-
-        /**
-         * @param node
-         * @param lhsType
-         * @param rhsType
-         */
-        private Type checkNumericOperations(Type lhsType, Type rhsType)
-        {
-            //if the left or right side are any of these then there is a type error
-            if ( lhsType.equals(Type.LOGICAL) || lhsType.equals(Type.CHARACTER) ||
-                 rhsType.equals(Type.LOGICAL) || rhsType.equals(Type.CHARACTER)   )
-            {
-                return Type.TYPE_ERROR;
-            }
-            
-            //When the types are the same then the result is that type
-            if(lhsType.equals(rhsType))
-            {
-                return lhsType;
-            }
-            
-            //When the first is an Integer
-            if (lhsType.equals(Type.INTEGER) )
-            {
-                return checkIntegerOperations(rhsType);
-            }
-            //When the first is a Real
-            else if ( lhsType.equals(Type.REAL) )
-            {
-                return checkRealOperations(rhsType);
-            }
-            //When the first is a Complex
-            else if ( lhsType.equals(Type.COMPLEX) )
-            {
-                return checkComplexComparison(rhsType);
-            }
-            //When the first is a Double Precision
-            else if ( lhsType.equals(Type.DOUBLEPRECISION ))
-            {
-                return checkDoubleComparison(rhsType);
-            }
-            else
-                return Type.UNKNOWN;
-        }
-
-        /**
-         * @param node
-         * @param rhsType
-         */
-        private Type checkComplexComparison(Type rhsType)
-        {
-            if(rhsType.equals(Type.INTEGER) || rhsType.equals(Type.REAL) || rhsType.equals(Type.DOUBLEPRECISION))
-                return Type.COMPLEX;
-            else
-                return Type.UNKNOWN;
-        }
-
-        /**
-         * @param node
-         * @param rhsType
-         */
-        private Type checkDoubleComparison(Type rhsType)
-        {
-            if (rhsType.equals(Type.INTEGER) || rhsType.equals(Type.REAL))
-                return Type.DOUBLEPRECISION;
-            else if(rhsType.equals(Type.COMPLEX))
-                return Type.COMPLEX;
-            else
-                return Type.UNKNOWN;
-        }
-
-        /**
-         * @param node
-         * @param rhsType
-         */
-        private Type checkRealOperations(Type rhsType)
-        {
-            if (rhsType.equals(Type.INTEGER))
-                return Type.REAL;
-            else if(rhsType.equals(Type.DOUBLEPRECISION))
-                return Type.DOUBLEPRECISION;
-            else if(rhsType.equals(Type.COMPLEX))
-                return Type.COMPLEX;
-            else
-                return Type.UNKNOWN;
-        }
-
-        /**
-         * @param node
-         * @param rhsType
-         */
-        private Type checkIntegerOperations(Type rhsType)
-        {
-            if(rhsType.equals(Type.REAL))
-                return Type.REAL;
-            else if(rhsType.equals(Type.COMPLEX))
-                return Type.COMPLEX;
-            else if(rhsType.equals(Type.DOUBLEPRECISION))
-                return Type.DOUBLEPRECISION;
-            else
-                return Type.UNKNOWN;
-        }
-
-        /**
-         * @param node
-         * @param lhsType
-         * @param rhsType
-         */
-        private Type checkLogicalComparisons(Type lhsType, Type rhsType)
-        {
-            if( lhsType.equals(Type.LOGICAL) && rhsType.equals(Type.LOGICAL))
-                return Type.LOGICAL;
-            else
-                return Type.TYPE_ERROR;
-        }
-
-        /**
-         * @param node
-         * @param lhsType
-         * @param rhsType
-         */
-        private Type checkNumericComparison(Type lhsType, Type rhsType, ASTOperatorNode op)
-        {
-            //you can't do this kind of comparison on logical and character types
-            if ( lhsType.equals(Type.LOGICAL) || lhsType.equals(Type.CHARACTER) || 
-                 rhsType.equals(Type.LOGICAL) || rhsType.equals(Type.CHARACTER)   )
-            {
-                //System.out.println(lhsType + "\t::\t" + rhsType);
-                return Type.TYPE_ERROR;
-            }
-            //Complex only has == and /=
-            else if(lhsType.equals(Type.COMPLEX) || rhsType.equals(Type.COMPLEX))
-            {
-                if(op.hasEqEqOp() || op.hasEqOp() || op.hasNeOp()) //remove EqEq
-                    return Type.LOGICAL;
-                else
-                    return Type.TYPE_ERROR;
-            }
-            //All the remaining cases are ok
-            else
-                return Type.LOGICAL;
-        }
-
-        @Override
-        public void visitASTIntConstNode(ASTIntConstNode node)
-        {
-            topType = Type.INTEGER;
-        }
-        
-        @Override
-        public void visitASTDblConstNode(ASTDblConstNode node)
-        {
-            topType = Type.DOUBLEPRECISION;
-        }
-
-        @Override
-        public void visitASTLogicalConstNode(ASTLogicalConstNode node)
-        {
-            topType = Type.LOGICAL;
-        }
-
-        @Override
-        public void visitASTNestedExprNode(ASTNestedExprNode node)
-        {
-            topType = getTypeOf(node.getExpr());
-        }
-
-        @Override
-        public void visitASTRealConstNode(ASTRealConstNode node)
-        {
-            topType = Type.REAL;
-        }
-
-        @Override
-        public void visitASTStringConstNode(ASTStringConstNode node)
-        {
-            topType = Type.CHARACTER;
-        }
-        
-        @Override
-        public void visitASTComplexConstNode(ASTComplexConstNode node)
-        {
-            topType = Type.COMPLEX;
-        }
-
-        @Override
-        public void visitASTUnaryExprNode(ASTUnaryExprNode node)
-        {
-            Type operand = getTypeOf(node.getOperand());
-            ASTOperatorNode operator = node.getOperator();
-
-            //character has no unary operations
-            if(operand.equals(Type.CHARACTER))
-                topType = Type.TYPE_ERROR;
-            // .NOT. only applies to logical
-            else if(operator != null && operator.hasNotOp() )
-            {
-                if(operand.equals(Type.LOGICAL))
-                    topType = Type.LOGICAL;
-                else
-                    topType = Type.TYPE_ERROR;
-            }
-            //logical has no other unary operations
-            else if(operand.equals(Type.LOGICAL))
-                topType = Type.TYPE_ERROR;
-            //the type of the expression is the same as the operand
-            else
-                topType = operand;
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/TypeProcessor.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/TypeProcessor.java
deleted file mode 100644
index 6f55283..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/TypeProcessor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.types;
-
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-
-/**
- * Allows for double-dispatch on a {@link Definition} in order to process its type.
- * 
- * @author Jeff Overbey
- * @param <T>
- * 
- * @see org.eclipse.photran.internal.core.analysis.binding.Definition#getType()
- * @see Type#processUsing(TypeProcessor)
- */
-public abstract class TypeProcessor<T>
-{
-	public T ifInteger(Type type) {return null;}
-	public T ifReal(Type type) {return null;}
-	public T ifDoublePrecision(Type type) {return null;}
-    public T ifComplex(Type type) {return null;}
-    public T ifDoubleComplex(Type type) {return null;}
-	public T ifLogical(Type type) {return null;}
-	public T ifCharacter(Type type) {return null;}
-    public T ifDerivedType(String derivedTypeName, DerivedType type) {return null;}
-    public T ifFunctionType(String name, FunctionType functionType) {return null;}
-    public T ifUnknown(Type type) {return null;}
-    public T ifUnclassified(Type type) {return null;}
-    public T ifError(Type type) {return null;}
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/package-info.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/package-info.java
deleted file mode 100644
index b1927ba..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/analysis/types/package-info.java
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * The classes in this package support type checking for Fortran programs.
- * <p>
- * For more information, please see the <i>Photran Developer's Guide</i> in the
- * org.eclipse.photran-dev-docs project.
- * 
- * @see TypeChecker
- */
-package org.eclipse.photran.internal.core.analysis.types;
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/properties/SearchPathProperties.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/properties/SearchPathProperties.java
deleted file mode 100644
index 854217f..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/properties/SearchPathProperties.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.properties;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-/**
- * Provides access to the module paths and include paths for a project.
- * <p>
- * The user may set these via the Fortran &gt; Analysis/Refactoring category in the
- * project properties dialog.
- * 
- * @author Jeff Overbey
- * @author Jungyoon Lee, Kun Koh, Nam Kim, David Weiner
- * @author Timofey Yuvashev
- * 
- * @see org.eclipse.photran.internal.ui.properties.SearchPathsPropertyPage
- */
-public class SearchPathProperties extends AbstractProperties
-{
-    public static final String ENABLE_VPG_PROPERTY_NAME = "EnableVPG"; //$NON-NLS-1$
-    public static final String ENABLE_DECL_VIEW_PROPERTY_NAME = "EnableDeclView"; //$NON-NLS-1$
-    public static final String ENABLE_CONTENT_ASSIST_PROPERTY_NAME = "EnableContentAssist"; //$NON-NLS-1$
-    public static final String ENABLE_HOVER_TIP_PROPERTY_NAME = "EnableHoverTip"; //$NON-NLS-1$
-    public static final String MODULE_PATHS_PROPERTY_NAME = "FortranModulePaths"; //$NON-NLS-1$
-    public static final String INCLUDE_PATHS_PROPERTY_NAME = "FortranIncludePaths"; //$NON-NLS-1$
-    
-    public SearchPathProperties()
-    {
-    }
-    
-    public SearchPathProperties(IProject project)
-    {
-        setProject(project);
-    }
-    
-    @Override protected void initializeDefaults(IProject proj, IPreferenceStore properties)
-    {
-        String defaultDir = proj.getFullPath().toOSString();
-        
-        //Set the default include and module paths to the root of the project
-        properties.setDefault(INCLUDE_PATHS_PROPERTY_NAME, 
-                              defaultDir);
-        properties.setDefault(MODULE_PATHS_PROPERTY_NAME, 
-                              defaultDir);
-    }
-
-    @Override public String getProperty(IProject project, String propertyName)
-    {
-        String result = super.getProperty(project, propertyName);
-
-        if (propertyName.equals(ENABLE_DECL_VIEW_PROPERTY_NAME)
-                || propertyName.equals(ENABLE_CONTENT_ASSIST_PROPERTY_NAME))
-            return result.equals("true") && getProperty(project, ENABLE_VPG_PROPERTY_NAME).equals("true") //$NON-NLS-1$ //$NON-NLS-2$
-                   ? "true" //$NON-NLS-1$
-                   : ""; //$NON-NLS-1$
-        else
-            return result == null ? "" : result; //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/properties/package-info.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/properties/package-info.java
deleted file mode 100644
index a16c4e7..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/properties/package-info.java
+++ /dev/null
@@ -1,5 +0,0 @@
-/**
- * The classes in this package support the Fortran project properties that are visible in the
- * Fortran &gt; Analysis/Refactoring category in the project properties dialog.
- */
-package org.eclipse.photran.internal.core.properties;
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddIdentifierToEndRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddIdentifierToEndRefactoring.java
deleted file mode 100644
index 1b4a8ef..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddIdentifierToEndRefactoring.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTFunctionSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTVisitor;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;
-
-/**
- * Refactoring to add the identifier to an END statement in Fortran files.
- *
- * @author Matthew Fotzler
- */
-public class AddIdentifierToEndRefactoring extends FortranResourceRefactoring
-{
-    @Override
-    public String getName()
-    {
-        return Messages.AddIdentifierToEndRefactoring_Name;
-    }
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-        removeFixedFormFilesFrom(this.selectedFiles, status);
-        removeCpreprocessedFilesFrom(this.selectedFiles, status);
-    }
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        try
-        {
-            for (IFile file : selectedFiles)
-            {
-                IFortranAST ast = vpg.acquirePermanentAST(file);
-                if (ast == null)
-                    status.addError(Messages.bind(Messages.AddIdentifierToEndRefactoring_SelectedFileCannotBeParsed, file.getName()));
-                
-                makeChangesTo(file, ast, status, pm);
-                vpg.releaseAST(file);
-            }
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    private void makeChangesTo(IFile file, IFortranAST ast, RefactoringStatus status, IProgressMonitor pm)
-    {
-        if (ast == null) return;
-        
-        ast.accept(new ReplaceEndTokenVisitor());
-        addChangeFromModifiedAST(file, pm);
-    }
-
-    private final class ReplaceEndTokenVisitor extends ASTVisitor
-    {
-        @Override
-        public void visitASTSubroutineSubprogramNode(ASTSubroutineSubprogramNode node)
-        {
-            if (!node.getEndSubroutineStmt().hasEndSubroutine())
-            {
-                node.getEndSubroutineStmt().accept(new ASTVisitor()
-                {
-                    @Override
-                    public void visitToken(Token token)
-                    {
-                        if(token.getTerminal() == Terminal.T_END)
-                        {
-                            token.replaceWith(new Token(Terminal.T_ENDSUBROUTINE,
-                                token.getWhiteBefore(),
-                                "end subroutine", //$NON-NLS-1$
-                                "")); //$NON-NLS-1$
-                        }
-                    }
-                });
-            }
-            
-            String identifier = node.getSubroutineStmt().getSubroutineName().getSubroutineName().getWhiteBefore() + 
-                node.getSubroutineStmt().getSubroutineName().getSubroutineName().getText();
-            node.getEndSubroutineStmt().setEndName(new Token(Terminal.T_IDENT, identifier));
-            
-            traverseChildren(node);
-        }
-
-        @Override
-        public void visitASTMainProgramNode(ASTMainProgramNode node)
-        {
-            if(node.getProgramStmt() != null)
-                replaceEndProgramStmt(node);
-            
-            traverseChildren(node);
-        }
-
-        private void replaceEndProgramStmt(ASTMainProgramNode node)
-        {
-            if(!node.getEndProgramStmt().hasEndProgram())
-            {
-                node.getEndProgramStmt().accept(new ASTVisitor()
-                {
-                    @Override
-                    public void visitToken(Token token)
-                    {
-                        if(token.getTerminal() == Terminal.T_END)
-                        {
-                            token.replaceWith(new Token(Terminal.T_ENDPROGRAM,
-                                token.getWhiteBefore(),
-                                "end program", //$NON-NLS-1$
-                                "")); //$NON-NLS-1$ 
-                        }
-                    }
-                });
-            }
-            
-            String identifier = node.getProgramStmt().getProgramName().getProgramName().getWhiteBefore() +
-                node.getProgramStmt().getProgramName().getProgramName().getText();
-            node.getEndProgramStmt().setEndName(new Token(Terminal.T_ENDPROGRAM, identifier));
-        }
-
-        @Override
-        public void visitASTFunctionSubprogramNode(ASTFunctionSubprogramNode node)
-        {
-            if(!node.getEndFunctionStmt().hasEndFunction())
-            {
-                node.getEndFunctionStmt().accept(new ASTVisitor()
-                {
-                    @Override
-                    public void visitToken(Token token)
-                    {
-                        if(token.getTerminal() == Terminal.T_END)
-                        {
-                            token.replaceWith(new Token(Terminal.T_ENDFUNCTION,
-                                token.getWhiteBefore(),
-                                "end function", //$NON-NLS-1$
-                                "")); //$NON-NLS-1$
-                        }
-                    }
-                });
-            }
-            
-            String identifier = node.getFunctionStmt().getFunctionName().getFunctionName().getWhiteBefore() + 
-                node.getFunctionStmt().getFunctionName().getFunctionName().getText();
-            node.getEndFunctionStmt().setEndName(new Token(Terminal.T_ENDFUNCTION, identifier));
-            
-            traverseChildren(node);
-        }
-
-        @Override
-        public void visitASTModuleNode(ASTModuleNode node)
-        {
-            if(!node.getEndModuleStmt().hasEndModule())
-            {
-                node.accept(new ASTVisitor()
-                {
-                    @Override
-                    public void visitToken(Token token)
-                    {
-                        if(token.getTerminal() == Terminal.T_END)
-                        {
-                            token.replaceWith(new Token(Terminal.T_ENDMODULE,
-                                token.getWhiteBefore(),
-                                "end module", //$NON-NLS-1$
-                                "")); //$NON-NLS-1$
-                        }
-                    }
-                });
-            }
-            
-            String identifier = ((ASTModuleNode)node).getModuleStmt().getModuleName().getModuleName().getWhiteBefore() +
-                ((ASTModuleNode)node).getModuleStmt().getModuleName().getModuleName().getText();
-            ((ASTModuleNode)node).getEndModuleStmt().setEndName(new Token(Terminal.T_ENDMODULE, identifier));
-            
-            traverseChildren(node);
-        }
-    }
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddOnlyToUseStmtRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddOnlyToUseStmtRefactoring.java
deleted file mode 100644
index d6dcf65..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddOnlyToUseStmtRefactoring.java
+++ /dev/null
@@ -1,507 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.RefactoringStatusContext;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTSeparatedListNode;
-import org.eclipse.photran.internal.core.parser.ASTUseStmtNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * Refactoring to add an ONLY clause to a USE statement.
- *
- * @author Kurt Hendle
- * @author Jeff Overbey - externalized strings
- */
-public class AddOnlyToUseStmtRefactoring extends FortranEditorRefactoring
-{
-    private String moduleName = null;
-    private IProject projectInEditor = null;
-    private int numEntitiesInList = 0;
-    private ASTUseStmtNode useNode = null;
-    private List<IFile> filesContainingModule = null;
-
-    //private List<Definition> programEntities = new ArrayList<Definition>();
-    private ArrayList<String> entitiesInProgram = new ArrayList<String>();
-
-    private List<Definition> moduleEntities = new ArrayList<Definition>();
-    private ArrayList<String> entitiesInModule = new ArrayList<String>();
-
-    private List<Definition> existingOnlyList = new ArrayList<Definition>();
-    private List<Definition> defsToAdd = new ArrayList<Definition>();
-    private HashMap<Integer, String> entitiesToAdd = new HashMap<Integer, String>();
-
-    private Set<PhotranTokenRef> allReferences = null;
-
-    public AddOnlyToUseStmtRefactoring()
-    {
-    }
-
-    public AddOnlyToUseStmtRefactoring(IFile file, ITextSelection selection)
-    {
-        initialize(file, selection);
-    }
-
-    public ArrayList<String> getModuleEntityList()
-    {
-        return entitiesInModule;
-    }
-
-    public void addToOnlyList(String name)
-    {
-        if(!entitiesToAdd.containsValue(name))
-        {
-            entitiesToAdd.put(numEntitiesInList, PhotranVPG.canonicalizeIdentifier(name));
-
-            for(int i=0; i<moduleEntities.size(); i++)  //construct list of definitions
-            {
-                if(entitiesToAdd.get(numEntitiesInList).equals(moduleEntities.get(i).getCanonicalizedName()))
-                    defsToAdd.add(moduleEntities.get(i));
-            }
-
-            numEntitiesInList++;
-        }
-    }
-
-    public void removeFromOnlyList(String name)
-    {
-        for(int i=0; i<entitiesToAdd.size(); i++)
-        {
-            if(name.equalsIgnoreCase(entitiesToAdd.get(i)))
-            {
-                for(int j=0; j<moduleEntities.size(); j++)  //remove def from list
-                {
-                    if(entitiesToAdd.get(i).equalsIgnoreCase(moduleEntities.get(j).getCanonicalizedName()))
-                    {
-                        defsToAdd.remove(moduleEntities.get(j));
-                        existingOnlyList.remove(moduleEntities.get(j));
-                    }
-                }
-
-                entitiesToAdd.remove(i);
-                numEntitiesInList--;
-                return;
-            }
-        }
-    }
-
-    public HashMap<Integer, String> getNewOnlyList()
-    {
-        return entitiesToAdd;
-    }
-
-    public int getNumEntitiesInModule()
-    {
-        return moduleEntities.size();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.photran.internal.core.refactoring.infrastructure.AbstractFortranRefactoring#doCheckInitialConditions(org.eclipse.ltk.core.refactoring.RefactoringStatus, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        moduleName = this.selectedRegionInEditor.getText();
-        if(moduleName == null || moduleName.equals("")) //$NON-NLS-1$
-            fail(Messages.AddOnlyToUseStmtRefactoring_NoModuleNameSelected);
-
-        findUseStmtNode();
-        checkIfModuleExistsInProject();
-        getModuleDeclaredEntities();
-        getProgramDeclaredEntities();
-        readExistingOnlyList();
-    }
-
-    private void findUseStmtNode() throws PreconditionFailure
-    {
-      //get the use statement node in case we need to add to the only list
-        Token token = findEnclosingToken();
-        if(token == null)
-            fail(Messages.AddOnlyToUseStmtRefactoring_SelectModuleName);
-
-        useNode = token.findNearestAncestor(ASTUseStmtNode.class);
-        if(useNode == null)
-            fail(Messages.AddOnlyToUseStmtRefactoring_SelectModuleName);
-    }
-
-    private void checkIfModuleExistsInProject() throws PreconditionFailure
-    {
-      //Check to see if the module exists in the project
-        projectInEditor = this.fileInEditor.getProject();  //current project
-        filesContainingModule = vpg.findFilesThatExportModule(moduleName);
-
-        if(filesContainingModule.isEmpty() || filesContainingModule == null)
-            fail(Messages.bind(Messages.AddOnlyToUseStmtRefactoring_NoFilesContainModule, moduleName));
-        else if(filesContainingModule.size() > 1)
-            filterFileList();
-
-       //check again after the filtering happens
-        if(filesContainingModule.isEmpty() || filesContainingModule == null)
-            fail(Messages.bind(Messages.AddOnlyToUseStmtRefactoring_NoFilesContainModule, moduleName));
-
-        if(filesContainingModule.size() > 1)
-            fail(Messages.bind(Messages.AddOnlyToUseStmtRefactoring_MultipleDefinitionsOfModule, moduleName));
-    }
-
-    //same method used in CommonVarNamesRefactoring.java
-    private void filterFileList() throws PreconditionFailure
-    {
-        if(projectInEditor == null) fail(Messages.AddOnlyToUseStmtRefactoring_ProjectDoesNotExist);
-
-        //filter out files not in the project
-        int i = 0;
-        while(i < filesContainingModule.size())
-        {
-            if(filesContainingModule.get(i) == null
-                || filesContainingModule.get(i).getProject() != projectInEditor)
-                filesContainingModule.remove(i);   //shifts all elements left, don't increment i
-            else
-                i++;
-        }
-    }
-
-    //modified from RenameRefactoring.java
-    private Token findEnclosingToken() throws PreconditionFailure
-    {
-        Token selectedToken = findEnclosingToken(this.astOfFileInEditor, this.selectedRegionInEditor);
-        if (selectedToken == null)
-            fail(Messages.AddOnlyToUseStmtRefactoring_PleaseSelectModuleName);
-        return selectedToken;
-    }
-
-    private void getProgramDeclaredEntities() throws PreconditionFailure
-    {
-        IFortranAST ast = vpg.acquirePermanentAST(this.fileInEditor);
-        if(ast == null) return;
-
-        DeclarationVisitor visitor = new DeclarationVisitor();
-        ast.accept(visitor);
-        //AST will be released later
-    }
-
-    private void getModuleDeclaredEntities() throws PreconditionFailure
-    {
-        //get module declaration and check if it has declared entities
-        PhotranTokenRef moduleTokenRef = vpg.getModuleTokenRef(moduleName);
-        if(moduleTokenRef == null)
-            fail(Messages.bind(Messages.AddOnlyToUseStmtRefactoring_NoModuleNamed, moduleName));
-
-        Token moduleToken = moduleTokenRef.findTokenOrReturnNull();
-        if(moduleToken == null)
-            fail(Messages.AddOnlyToUseStmtRefactoring_ModuleTokenNotFound);
-
-        ASTModuleNode moduleNode = moduleToken.findNearestAncestor(ASTModuleNode.class);
-        if(moduleNode == null)
-            fail(Messages.AddOnlyToUseStmtRefactoring_ModuleNodeNodeFound);
-
-        moduleEntities = moduleNode.getAllPublicDefinitions();
-        if(moduleEntities.isEmpty())
-            fail(Messages.AddOnlyToUseStmtRefactoring_NoDeclarationsInModule);
-        else
-        {
-            for(int i=0; i<moduleEntities.size(); i++)
-                entitiesInModule.add(moduleEntities.get(i).getCanonicalizedName());
-        }
-    }
-
-    private void readExistingOnlyList()
-    {
-        @SuppressWarnings("rawtypes")
-        ASTSeparatedListNode existingOnlys = (ASTSeparatedListNode)useNode.getOnlyList();
-        if(existingOnlys != null)
-        {
-            for(int i=0; i<existingOnlys.size(); i++)
-            {
-                entitiesToAdd.put(i,
-                    PhotranVPG.canonicalizeIdentifier(existingOnlys.get(i).toString().trim()));
-            }
-
-            numEntitiesInList = entitiesToAdd.size();
-
-            for(int i=0; i<moduleEntities.size(); i++)  //construct list of definitions
-            {
-                if(entitiesToAdd.containsValue(moduleEntities.get(i).getCanonicalizedName()))
-                    existingOnlyList.add(moduleEntities.get(i));
-            }
-        }
-
-        //FIXME add functionality to search file for existing uses of module vars
-        //and automatically make them be added to the list
-        IFortranAST ast = vpg.acquirePermanentAST(this.fileInEditor);
-        if(ast == null) return;
-
-        TokenVisitor visitor = new TokenVisitor();
-        ast.accept(visitor);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.photran.internal.core.refactoring.infrastructure.AbstractFortranRefactoring#doCreateChange(org.eclipse.core.runtime.IProgressMonitor)
-     */
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,
-        OperationCanceledException
-    {
-        //nothing to do here
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.photran.internal.core.refactoring.infrastructure.AbstractFortranRefactoring#doCheckFinalConditions(org.eclipse.ltk.core.refactoring.RefactoringStatus, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        pm.beginTask(Messages.AddOnlyToUseStmtRefactoring_Analyzing, IProgressMonitor.UNKNOWN);
-
-        if(useNode == null)
-            fail(Messages.AddOnlyToUseStmtRefactoring_ModuleNameInUseStmtNotSelected);
-
-        pm.subTask(Messages.AddOnlyToUseStmtRefactoring_Parsing + fileInEditor.getName());
-        IFortranAST ast = vpg.acquirePermanentAST(fileInEditor);
-        if(ast == null) return;
-
-        pm.subTask(Messages.AddOnlyToUseStmtRefactoring_CheckingForConflicts);
-        checkConflictingBindings(ast, pm, status);  //find conflicts
-
-        pm.subTask(Messages.AddOnlyToUseStmtRefactoring_InsertingUseStmt);
-        createAndInsertUseStmt(ast);
-
-        pm.subTask(Messages.AddOnlyToUseStmtRefactoring_CreatingChangeObject);
-        addChangeFromModifiedAST(fileInEditor, pm);
-        vpg.releaseAST(fileInEditor);
-
-        pm.done();
-    }
-
-
-    /*
-     * This method assumes that any existing only list is OK. Only checks for conflicting
-     * bindings with NEW additions to only list.
-     */
-    private void checkConflictingBindings(IFortranAST ast, IProgressMonitor pm, RefactoringStatus status)
-    {
-        pm.subTask(Messages.AddOnlyToUseStmtRefactoring_FindingReferences);
-        allReferences = findModuleEntityRefs(ast);
-        //removeOriginalModuleRefs(); //possibly not needed - working without
-
-        for(Definition def : defsToAdd)
-        {
-            checkForConflictingBindings(pm,
-                new ConflictingBindingErrorHandler(status),
-                def,
-                allReferences,
-                def.getCanonicalizedName());
-        }
-    }
-
-  //Similar to ExtractProcedureRefactoring#localVariablesUsedIn
-    private Set<PhotranTokenRef> findModuleEntityRefs(IFortranAST ast)
-    {
-        final Set<PhotranTokenRef> result = new HashSet<PhotranTokenRef>();
-        final Collection<String> defNames = entitiesToAdd.values();
-        ast.accept(new GenericASTVisitor()
-        {
-            @Override public void visitToken(Token token)
-            {
-                if (token.getTerminal() == Terminal.T_IDENT)
-                {
-                    for (Definition def : token.resolveBinding())
-                    {
-                        if (defNames.contains(def.getCanonicalizedName()))
-                            result.addAll(def.findAllReferences(true));
-                    }
-                }
-            }
-        });
-
-        return result;
-    }
-
-    //remove module refs outside project and in the original module definition
-    // NOTE: not used for now, filtering conflicts working for now.
-    @SuppressWarnings("unused")
-    private void removeOriginalModuleRefs()
-    {
-        if(allReferences != null && allReferences.size() > 0)
-        {
-            HashSet<PhotranTokenRef> referencesToRemove = new HashSet<PhotranTokenRef>();
-
-            for(PhotranTokenRef ref : allReferences)
-            {
-                IFile file = ref.getFile();
-                IProject project = file.getProject();
-                if(!projectInEditor.equals(project))   //ref is in a file not in the project
-                    referencesToRemove.add(ref);
-                //else if(filesContainingModule.contains(file))  //ref is the module file itself
-                //    referencesToRemove.add(ref);
-            }
-
-            allReferences.removeAll(referencesToRemove);
-        }
-    }
-
-    private void createAndInsertUseStmt(IFortranAST ast)
-    {
-      //create the new only selection
-        String newOnlyAdditions = " "; //$NON-NLS-1$
-        Collection<String> varNames = new TreeSet<String>(entitiesToAdd.values()); // JO -- Sort names
-        Iterator<String> iter = varNames.iterator();
-        int counter = 0;
-
-        while(iter.hasNext())
-        {
-            newOnlyAdditions += iter.next();
-            if(counter < varNames.size()-1)
-                newOnlyAdditions += ", "; //$NON-NLS-1$
-            counter++;
-        }
-
-        //construct the new USE node and replace the old one in the ast
-        ASTUseStmtNode newStmtNode;
-        if(entitiesToAdd.size() > 0)// && entitiesToAdd.size() < moduleEntities.size())
-            newStmtNode = (ASTUseStmtNode)parseLiteralStatement("use " + //$NON-NLS-1$
-                useNode.getName().getText()+", only:" + newOnlyAdditions //$NON-NLS-1$
-                + System.getProperty("line.separator")); //$NON-NLS-1$
-        else
-            newStmtNode = (ASTUseStmtNode)parseLiteralStatement("use " + //$NON-NLS-1$
-                useNode.getName().getText() + System.getProperty("line.separator")); //$NON-NLS-1$
-
-        @SuppressWarnings("rawtypes")
-        ASTListNode body = (ASTListNode)useNode.getParent();
-        body.replaceChild(useNode, newStmtNode);
-        Reindenter.reindent(newStmtNode, ast);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ltk.core.refactoring.Refactoring#getName()
-     */
-    @Override
-    public String getName()
-    {
-        return Messages.AddOnlyToUseStmtRefactoring_Name;
-    }
-
-
-    private final class DeclarationVisitor extends GenericASTVisitor
-    {
-        @Override public void visitASTEntityDeclNode(ASTEntityDeclNode node)
-        {
-            String name = node.getObjectName().getObjectName().getText();
-            if(!entitiesInProgram.contains(name))
-            {
-                entitiesInProgram.add(name);
-            }
-        }
-    }
-
-    private final class TokenVisitor extends GenericASTVisitor
-    {
-        @Override public void visitToken(Token node)
-        {
-            String name = node.getText();
-            if(entitiesInModule.contains(name))
-                addToOnlyList(name);
-        }
-    }
-
-    //borrowed (slightly modified) from RenameRefactoring.java
-    private final class ConflictingBindingErrorHandler implements IConflictingBindingCallback
-    {
-        private final RefactoringStatus status;
-
-        private ConflictingBindingErrorHandler(RefactoringStatus status) { this.status = status; }
-
-        public void addConflictError(List<Conflict> conflictingDef)
-        {
-            for(Conflict conflict : conflictingDef)
-            {
-                //remove conflicts with the module itself
-                IFile file = conflict.tokenRef.getFile();
-                if(!filesContainingModule.contains(file) && file.getProject().equals(projectInEditor))
-                {
-                    String msg =
-                        Messages.bind(
-                            Messages.AddOnlyToUseStmtRefactoring_NameConflicts,
-                            conflict.name,
-                            vpg.getDefinitionFor(conflict.tokenRef));
-                    RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights problematic definition
-                    status.addError(msg, context);
-                }
-            }
-        }
-
-        public void addConflictWarning(List<Conflict> conflictingDef)
-        {
-            for(Conflict conflict : conflictingDef)
-            {
-                //remove conflicts with the module itself
-                IFile file = conflict.tokenRef.getFile();
-                if(!filesContainingModule.contains(file) && file.getProject().equals(projectInEditor))
-                {
-                    String msg =
-                        Messages.bind(
-                            Messages.AddOnlyToUseStmtRefactoring_NameMightConflict,
-                            conflict.name);
-                    RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights problematic definition
-                    status.addWarning(msg, context);
-                }
-            }
-        }
-
-        public void addReferenceWillChangeError(String newName, Token reference)
-        {
-            //add error for names being added conflicting with declared names in program
-            if(entitiesInProgram.contains(newName))
-            {
-                // The entity with the new name will shadow the definition to which this binding resolves
-                status.addError(
-                    Messages.bind(
-                        Messages.AddOnlyToUseStmtRefactoring_AddingWouldChangeMeaningOf,
-                        new Object[] {
-                            newName,
-                            reference.getText(),
-                            reference.getLine(),
-                            reference.getTokenRef().getFilename() }),
-                    createContext(reference)); // Highlight problematic reference
-            }
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddSubroutineParameterRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddSubroutineParameterRefactoring.java
deleted file mode 100644
index 7b9eb7c..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/AddSubroutineParameterRefactoring.java
+++ /dev/null
@@ -1,653 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Joe Handzik, Joe Gonzales, Marc Celani, and Jason Patel.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    Joe Handzik, Joe Gonzales, Marc Celani, and Jason Patel - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import java.util.ArrayList;

-import java.util.Collection;

-import java.util.Collections;

-import java.util.HashSet;

-import java.util.List;

-import java.util.Set;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.ltk.core.refactoring.RefactoringStatusContext;

-import org.eclipse.photran.internal.core.analysis.binding.Definition;

-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;

-import org.eclipse.photran.internal.core.lexer.Terminal;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.parser.ASTCallStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;

-import org.eclipse.photran.internal.core.parser.ASTIntConstNode;

-import org.eclipse.photran.internal.core.parser.ASTListNode;

-import org.eclipse.photran.internal.core.parser.ASTSeparatedListNode;

-import org.eclipse.photran.internal.core.parser.ASTSubroutineArgNode;

-import org.eclipse.photran.internal.core.parser.ASTSubroutineParNode;

-import org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;

-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;

-import org.eclipse.photran.internal.core.parser.IASTListNode;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.parser.IBodyConstruct;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;

-import org.eclipse.photran.internal.core.vpg.PhotranVPG;

-

-/**

- * 

- * 

- * This refactoring allows a user to select a subroutine and to add a new parameter to the list. The

- * refactoring will ask for a declaration line for the parameter, a default value with which to

- * update all callers of the subroutine, and a position in the list at which to add the new

- * parameter. The refactoring ensures that the declaration line is valid, contains some logic to

- * ensure that the default value matches the appropriate type, and ensures that the position is in

- * bounds. It then updates the subroutine signature and updates the callers of the subroutine. If

- * the callers specify the variable name in the call list, the refactoring will match this pattern.

- * 

- * @author Joe Handzik, Joe Gonzales, Marc Celani, Jason Patel

- */

-public class AddSubroutineParameterRefactoring extends FortranEditorRefactoring

-{

-    private ASTSubroutineStmtNode selectedSubroutine;

-

-    private List<ASTSubroutineParNode> oldParameterList;

-

-    private List<ASTSubroutineParNode> newParameterList;

-

-    private int position = 0;

-

-    private String parameterName = null;

-

-    private String declaration = "integer, intent(in) :: newName"; //$NON-NLS-1$

-

-    private String defaultValue = "0"; //$NON-NLS-1$

-

-    private ASTTypeDeclarationStmtNode declStmt = null;

-

-    private String type = "integer"; //$NON-NLS-1$

-

-    public List<ASTSubroutineParNode> getOldParameterList()

-    {

-        return oldParameterList;

-    }

-

-    public String getDeclaration()

-    {

-        assert declaration != null;

-        return this.declaration;

-    }

-

-    public int getPosition()

-    {

-        return this.position;

-    }

-

-    public String getDefault()

-    {

-        assert defaultValue != null;

-        return this.defaultValue;

-    }

-

-    public void setPosition(int position)

-    {

-        this.position = position;

-    }

-

-    /*

-     * Sets the declaration member, but first checks that an appropriate type is at the beggining of

-     * the declaration. If not, it assumes that "real" should be prepended. The type member is then

-     * set to this type.

-     * 

-     * @param declaration The declaration to be set.

-     */

-    public void setDeclaration(String declaration)

-    {

-        // Add "real" to all declaration lines that do not specify a type to avoid parser errors.

-

-        String[] declArgs = declaration.split(","); //$NON-NLS-1$

-        String[] validTypes = { "integer", "real", "logical", "double", "character" }; //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$

-        boolean hasTypeDefined = false;

-        for (int i = 0; i < validTypes.length; i++)

-        {

-            if (validTypes[i].equals(declArgs[0]))

-            {

-                hasTypeDefined = true;

-                type = declArgs[0];

-                break;

-            }

-        }

-

-        if (!hasTypeDefined)

-        {

-            type = "real"; //$NON-NLS-1$

-            if (declArgs.length == 1)

-                declaration = "real, " + declaration; //$NON-NLS-1$

-            else

-                declaration = "real" + " :: " + declaration; //$NON-NLS-1$ //$NON-NLS-2$

-        }

-

-        this.declaration = declaration;

-    }

-

-    public void setDefaultValue(String defValue)

-    {

-        defaultValue = defValue;

-    }

-

-    /*

-     * (non-Javadoc)

-     * 

-     * @see

-     * org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring#doCheckInitialConditions(

-     * org.eclipse.ltk.core.refactoring.RefactoringStatus,

-     * org.eclipse.core.runtime.IProgressMonitor)

-     */

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring.PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-

-        ensureSubroutineIsSelected();

-

-        if (!matchingDeclarationsInInterfacesUniquelyBind())

-            status

-                .addWarning(Messages.AddSubroutineParameterRefactoring_matchingDeclarationsDoNotUniquelyBind);

-

-        oldParameterList = getSubroutineParameters();

-    }

-

-    /*

-     * By looking at the AST tree, starting at the node supplied to the refactoring as the selected

-     * node, this method determines if a subroutine node has been selected or not.

-     */

-    private void ensureSubroutineIsSelected()

-        throws org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring.PreconditionFailure

-    {

-        IASTNode temporaryNode = findEnclosingNode(astOfFileInEditor, selectedRegionInEditor);

-

-        if (temporaryNode == null)

-            fail(Messages.AddSubroutineParameterRefactoring_selectSubroutineError);

-

-        if (temporaryNode instanceof ASTSubroutineSubprogramNode)

-            selectedSubroutine = ((ASTSubroutineSubprogramNode)temporaryNode).getSubroutineStmt();

-        else if (temporaryNode instanceof ASTSubroutineStmtNode)

-        {

-            if (temporaryNode.findNearestAncestor(ASTSubroutineSubprogramNode.class) == null)

-                fail(Messages.AddSubroutineParameterRefactoring_selectSubroutineError);

-            selectedSubroutine = (ASTSubroutineStmtNode)temporaryNode;

-        }

-        else

-            fail(Messages.AddSubroutineParameterRefactoring_selectSubroutineError);

-    }

-

-    /*

-     * This method determines if a matching declaration already exists in scope, and if so, will

-     * fail the refactoring.

-     */

-    private boolean matchingDeclarationsInInterfacesUniquelyBind()

-    {

-        for (Definition declaration : getInterfaceDeclarations())

-            if (declaration.resolveInterfaceBinding().size() != 1) return false;

-

-        return true;

-    }

-

-    /*

-     * (non-Javadoc)

-     * 

-     * @see

-     * org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring#doCheckFinalConditions(org

-     * .eclipse.ltk.core.refactoring.RefactoringStatus, org.eclipse.core.runtime.IProgressMonitor)

-     */

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring.PreconditionFailure

-    {

-        ensureDeclarationIsValid();

-

-        parameterName = declStmt.getEntityDeclList().get(0).getObjectName().getObjectName()

-            .getText();

-

-        ensurePositionIsValid();

-

-        ensureDefaultValueIsValid();

-

-        checkForConflictingBindings(pm, status);

-    }

-

-    /*

-     * This method ensures that the default value supplied is valid by applying logic that tests

-     * whether or not the default type supplied matches the type supplied in the declaration line.

-     * For example, .true. and .false. are reserved for logical types. This method also ensures that

-     * the default value is not a variable name beginning with a number.

-     */

-    private void ensureDefaultValueIsValid()

-        throws org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring.PreconditionFailure

-    {

-        if (defaultValue == null || defaultValue.equals("") || //$NON-NLS-1$

-            isWhiteSpace(defaultValue) || isVariableNameBeginningWithNumber(defaultValue)

-            || (isTrueOrFalse(defaultValue) && !type.equals("logical")) || //$NON-NLS-1$

-            (isANumber(defaultValue) && (!type.equals("integer") && !type.equals("real"))) || //$NON-NLS-1$//$NON-NLS-2$

-            (isRealAndNotInteger(defaultValue) && type.equals("integer")) || //$NON-NLS-1$

-            (defaultValue.equals("null") && !declaration.contains("pointer"))) //$NON-NLS-1$ //$NON-NLS-2$

-            fail(Messages.AddSubroutineParameterRefactoring_InvalidDefaultValue);

-    }

-

-    /*

-     * @param str A string to be tested

-     * 

-     * @return <code> true </code> if the selected string is a real number, and <code> false </code>

-     * if the selected string is ann integer or not a number.

-     */

-    private boolean isRealAndNotInteger(String str)

-    {

-        if (isANumber(str))

-        {

-            try

-            {

-                Integer.parseInt(str);

-            }

-            catch (NumberFormatException e)

-            {

-                return true;

-            }

-        }

-        return false;

-    }

-

-    /*

-     * @param str A string to be tested

-     * 

-     * @return <code> true </code> if the selected string is ".true." or ".false.", and <code> false

-     * </code> if the selected string is anything else.

-     */

-    private boolean isTrueOrFalse(String str)

-    {

-        if (str == null) return false;

-        return str.equals(".true.") || str.equals(".false."); //$NON-NLS-1$ //$NON-NLS-2$

-    }

-

-    /*

-     * @param str A string to be tested

-     * 

-     * @return <code> true </code> if the string begins with a number but is not a number (hence, a

-     * variable name beginning with a number) and <code> false </code> otherwise.

-     */

-    private boolean isVariableNameBeginningWithNumber(String str)

-    {

-        if (str != null)

-        {

-            if (str.length() != 0)

-            {

-                if (isANumber(str.substring(0, 1)))

-                {

-                    if (!isANumber(str)) return true;

-                }

-            }

-        }

-

-        return false;

-    }

-

-    /*

-     * @param str A string

-     * 

-     * @return <code> true </code> if str is a number.

-     */

-    private boolean isANumber(String str)

-    {

-        try

-        {

-            Double.parseDouble(str);

-        }

-        catch (NumberFormatException e)

-        {

-            return false;

-        }

-        return true;

-    }

-

-    /*

-     * This function ensures that the position given to the refactoring is in bounds for the current

-     * size of the list, and if not, fails the refactoring.

-     */

-    private void ensurePositionIsValid()

-        throws org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring.PreconditionFailure

-    {

-        if (position > oldParameterList.size() || position < 0)

-            fail(Messages.AddSubroutineParameterRefactoring_InvalidParameterPosition);

-    }

-

-    /*

-     * This function attempts to produce a declaration node by passing the declaration line on to a

-     * parser. If this node is returned as an error node, the refactoring fails.

-     */

-    private void ensureDeclarationIsValid()

-        throws org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring.PreconditionFailure

-    {

-        IBodyConstruct decl = parseLiteralStatementNoFail(declaration);

-        if (decl == null || !(decl instanceof ASTTypeDeclarationStmtNode))

-            fail(Messages.AddSubroutineParameterRefactoring_InvalidDeclaration);

-        declStmt = (ASTTypeDeclarationStmtNode)decl;

-        IASTListNode<ASTEntityDeclNode> entityDeclList = declStmt.getEntityDeclList();

-        if (entityDeclList == null)

-        {

-            fail(Messages.AddSubroutineParameterRefactoring_InvalidDeclaration);

-        }

-    }

-

-    /*

-     * This function checks to see whether or not the variable name supplied to the refactoring is

-     * already in scope in the subroutine.

-     */

-    private void checkForConflictingBindings(IProgressMonitor pm, RefactoringStatus status)

-    {

-        Definition def = arbitraryDefinitionInScope();

-        if (def == null) return; // No declarations in scope, so the new one can't conflict

-

-        checkForConflictingBindings(pm, new ConflictingBindingErrorHandler(status), def,

-            Collections.<PhotranTokenRef> emptyList(), parameterName);

-    }

-

-    /*

-     * This function returns an arbitrary definition line in scope of the current node. It is used

-     * to iterate through the declarations to see if there are any conflicts.

-     */

-    private Definition arbitraryDefinitionInScope()

-    {

-        ScopingNode enclosingScope = selectedSubroutine.findNearestAncestor(ScopingNode.class);

-        List<Definition> allDefs = enclosingScope.getAllDefinitions();

-        if (allDefs.isEmpty())

-            return null;

-        else

-            return allDefs.get(0);

-    }

-

-    /*

-     * @param str A string

-     * 

-     * @return <code> true </code> if str is only white space. This is used to test if default

-     * values are nothing but white space.

-     */

-    private boolean isWhiteSpace(String str)

-    {

-        return str.replace(" ", "").replace("\t", "").equals(""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$

-    }

-

-    /*

-     * (non-Javadoc)

-     * 

-     * @see

-     * org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring#doCreateChange(org.eclipse

-     * .core.runtime.IProgressMonitor)

-     */

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-

-        buildNewParameterListWithNewParameter();

-

-        // Change the arguments list to the new list

-        permuteArgumentList(selectedSubroutine);

-

-        addArgumentDeclaration(selectedSubroutine);

-

-        permuteCallSites();

-

-        addChangeFromModifiedAST(fileInEditor, pm);

-        vpg.releaseAST(fileInEditor);

-

-    }

-

-    /*

-     * This function adds the declaration line to the subroutine.

-     */

-    private void addArgumentDeclaration(ASTSubroutineStmtNode subroutineStatement)

-    {

-        ASTSubroutineSubprogramNode subroutine = (ASTSubroutineSubprogramNode)subroutineStatement

-            .getParent();

-

-        IASTListNode<IBodyConstruct> statements = subroutine.getBody();

-        if (statements == null)

-        {

-            statements = new ASTListNode<IBodyConstruct>();

-            subroutine.setBody(statements);

-        }

-

-        statements.add(0, declStmt);

-        Reindenter.reindent(declStmt, astOfFileInEditor);

-

-    }

-

-    /*

-     * (non-Javadoc)

-     * 

-     * @see org.eclipse.ltk.core.refactoring.Refactoring#getName()

-     */

-    @Override

-    public String getName()

-    {

-        return Messages.AddSubroutineParameterRefactoring_Name;

-    }

-

-    /*

-     * This function returns the list of subroutine parameters from the selected subroutine node.

-     */

-    public List<ASTSubroutineParNode> getSubroutineParameters()

-    {

-        if (selectedSubroutine.getSubroutinePars() != null)

-            return selectedSubroutine.getSubroutinePars();

-

-        return new ArrayList<ASTSubroutineParNode>();

-    }

-

-    /*

-     * This function returns a collection of interface declarations.

-     */

-    private Collection<Definition> getInterfaceDeclarations()

-    {

-        List<Definition> subroutineDefinitions = selectedSubroutine.getSubroutineName()

-            .getSubroutineName().resolveBinding();

-

-        if (subroutineDefinitions.size() != 1) return new ArrayList<Definition>();

-

-        return subroutineDefinitions.get(0).findMatchingDeclarationsInInterfaces();

-    }

-

-    /*

-     * This function builds the new parameter list to be supplied to the subroutine node by adding

-     * the new parameter to the list in the appropriate position.

-     */

-    public void buildNewParameterListWithNewParameter()

-    {

-        // Create new variable

-        ASTSubroutineParNode newParameter = new ASTSubroutineParNode();

-        Token variableName = generateVariableName();

-        newParameter.setVariableName(variableName);

-

-        // Create new list

-        newParameterList = new ArrayList<ASTSubroutineParNode>(oldParameterList);

-        newParameterList.add(position, newParameter);

-

-    }

-

-    /*

-     * This function returns a token for a variable with the name of the new parameter name.

-     */

-    private Token generateVariableName()

-    {

-        Token variableName = new Token(Terminal.T_IDENT, parameterName);

-        return variableName;

-    }

-

-    /*

-     * This function changes the argument list of the subroutine statement node to the new list

-     * generated in buildNewParameterListWithNewParameter()

-     */

-    protected void permuteArgumentList(ASTSubroutineStmtNode node)

-    {

-        ASTSeparatedListNode<ASTSubroutineParNode> newParameterList = new ASTSeparatedListNode<ASTSubroutineParNode>(

-            new Token(Terminal.T_COMMA, ","), this.newParameterList); //$NON-NLS-1$

-        node.setSubroutinePars(newParameterList);

-    }

-

-    /*

-     * This function changes all call sites to be updated to have the new argument in place, and

-     * will match any calling pattern currently used.

-     */

-    private void permuteCallSites()

-    {

-        for (ASTCallStmtNode callStmt : getCallSites())

-        {

-            int previousArgumentListSize = 0;

-

-            if (callStmt.getArgList() != null)

-            {

-                previousArgumentListSize = callStmt.getArgList().size();

-            }

-

-            // Generate new IExpression Node for the default value

-            ASTIntConstNode expr = new ASTIntConstNode();

-            expr.setIntConst(new Token(Terminal.T_ICON, defaultValue));

-            ASTSubroutineArgNode addedParArg = new ASTSubroutineArgNode();

-            addedParArg.setExpr(expr);

-

-            // Test to see if the call site is using the

-            // "(variableName = value, variablename = value)" pattern, or simply the

-            // "(value, value)" pattern

-            // The new parameter should follow this pattern at the call site, and should assume the

-            // (value) pattern if the list was previously empty.

-            if (previousArgumentListSize > 0)

-            {

-                int positionToCompareTo = Math.min(position, previousArgumentListSize - 1);

-                ASTSubroutineParNode firstParameter = oldParameterList.get(positionToCompareTo);

-                ASTSubroutineArgNode firstParameterArgument = getActualArgFromCallStmt(callStmt,

-                    firstParameter.getVariableName(), positionToCompareTo);

-                if (firstParameterArgument.getName() != null)

-                    addedParArg.setName(new Token(Terminal.T_IDENT, parameterName));

-            }

-

-            ArrayList<ASTSubroutineArgNode> newParameterListForCallSite = new ArrayList<ASTSubroutineArgNode>();

-

-            for (int i = 0; i < previousArgumentListSize; i++)

-            {

-                ASTSubroutineParNode desiredPar = oldParameterList.get(i);

-                ASTSubroutineArgNode desiredParArgument = getActualArgFromCallStmt(callStmt,

-                    desiredPar.getVariableName(), i);

-                newParameterListForCallSite.add(desiredParArgument);

-            }

-

-            newParameterListForCallSite.add(position, addedParArg);

-

-            ASTSeparatedListNode<ASTSubroutineArgNode> newArgList = new ASTSeparatedListNode<ASTSubroutineArgNode>(

-                new Token(Terminal.T_COMMA, ","), newParameterListForCallSite); //$NON-NLS-1$

-            callStmt.setArgList(newArgList);

-        }

-    }

-

-    /*

-     * This function returns the set of call sites for the subroutine that was selected.

-     */

-    private Set<ASTCallStmtNode> getCallSites()

-    {

-        List<Definition> subroutineDefinitions = selectedSubroutine.getSubroutineName()

-            .getSubroutineName().resolveBinding();

-        HashSet<ASTCallStmtNode> result = new HashSet<ASTCallStmtNode>();

-

-        if (subroutineDefinitions.size() != 1) return result;

-

-        for (PhotranTokenRef tokenRef : subroutineDefinitions.get(0).findAllReferences(true))

-        {

-            Token token = tokenRef.findToken();

-

-            ASTCallStmtNode callStmtNode = token.findNearestAncestor(ASTCallStmtNode.class);

-

-            if (callStmtNode != null) result.add(callStmtNode);

-        }

-

-        return result;

-    }

-

-    /*

-     * This function gets an argument from a call statement, in order to check if it follows the

-     * pattern of "Variablename = Value".

-     */

-    private ASTSubroutineArgNode getActualArgFromCallStmt(ASTCallStmtNode callStmt,

-        Token desiredParName, int desiredParIndex)

-    {

-        for (int i = 0; i < callStmt.getArgList().size(); i++)

-        {

-            ASTSubroutineArgNode argument = callStmt.getArgList().get(i);

-            if (argument.getName() == null || desiredParName == null)

-            {

-                if (i == desiredParIndex) return argument;

-            }

-            else

-            {

-                String argumentName = PhotranVPG.canonicalizeIdentifier(argument.getName()

-                    .getText());

-                String parameterName = PhotranVPG.canonicalizeIdentifier(desiredParName.getText());

-                if (argumentName.equals(parameterName)) return argument;

-            }

-        }

-        return null;

-    }

-

-    /*

-     * This class handles all error cases for conflicting variable names or bindings.

-     */

-    private final class ConflictingBindingErrorHandler implements IConflictingBindingCallback

-    {

-        private final RefactoringStatus status;

-

-        private ConflictingBindingErrorHandler(RefactoringStatus status)

-        {

-            this.status = status;

-        }

-

-        public void addConflictError(List<Conflict> conflictingDef)

-        {

-            Conflict conflict = conflictingDef.get(0);

-

-            String msg = Messages.bind(

-                Messages.AddSubroutineParameterRefactoring_NameConflictsWith, conflict.name,

-                vpg.getDefinitionFor(conflict.tokenRef));

-            RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights

-                                                                                 // problematic

-                                                                                 // definition

-            status.addError(msg, context);

-        }

-

-        public void addConflictWarning(List<Conflict> conflictingDef)

-        {

-            Conflict conflict = conflictingDef.get(0);

-

-            String msg = Messages.bind(

-                Messages.AddSubroutineParameterRefactoring_NameMightConflictWithSubprogram,

-                conflict.name);

-            RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights

-                                                                                 // problematic

-                                                                                 // definition

-            status.addWarning(msg, context);

-        }

-

-        public void addReferenceWillChangeError(String newName, Token reference)

-        {

-            throw new IllegalStateException();

-        }

-    }

-

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/CommonVarNamesRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/CommonVarNamesRefactoring.java
deleted file mode 100644
index b9455e6..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/CommonVarNamesRefactoring.java
+++ /dev/null
@@ -1,391 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.RefactoringStatusContext;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTCommonBlockNode;
-import org.eclipse.photran.internal.core.parser.ASTCommonBlockObjectNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * Refactoring to make COMMON block variable names consistent between
- * program, modules, subroutines, etc.
- *
- * @author Kurt Hendle
- * @author Ashley Kasza - externalized strings
- */
-public class CommonVarNamesRefactoring extends FortranEditorRefactoring
-{
-    private String commonBlockName = null;
-    private HashMap<String, Integer> oldVarNames = new HashMap<String, Integer>();
-    private HashMap<Integer, String> newVarNames = new HashMap<Integer, String>();
-    private HashMap<Integer, Definition> varDefs = new HashMap<Integer, Definition>();
-    private int numCommonVars = 0;
-
-    private ArrayList<String> oldNames = new ArrayList<String>();
-    private ArrayList<String> newNames = new ArrayList<String>();
-
-    private ASTCommonBlockNode commonBlockNode = null;
-    private List<IFile> filesContainingCommonBlock = null;
-
-    @Override
-    public String getName()
-    {
-        return Messages.CommonVarNamesRefactoring_Name;
-    }
-
-    public int getNumCommonVars()
-    {
-        return numCommonVars;
-    }
-
-    public ArrayList<String> getOldVarNames()
-    {
-        return oldNames;
-    }
-
-    public ArrayList<String> getNewVarNames()
-    {
-        return newNames;
-    }
-
-    public void modifyNewName(int varNum, String newName)
-    {
-        newVarNames.put(varNum, PhotranVPG.canonicalizeIdentifier(newName));
-    }
-
-    /* (non-Javadoc) auto-generated */
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-        commonBlockName = this.selectedRegionInEditor.getText();
-
-        Token token = findEnclosingToken();
-
-        commonBlockNode = token.findNearestAncestor(ASTCommonBlockNode.class);
-        if(commonBlockNode == null)
-            fail(Messages.bind(Messages.CommonVarNamesRefactoring_NoCommonBlockFoundWithName, commonBlockName));
-
-        //find all files in the project containing the block
-        filesContainingCommonBlock = PhotranVPG.getInstance().findFilesThatUseCommonBlock(commonBlockName);
-        if(filesContainingCommonBlock.isEmpty())
-            fail(Messages.CommonVarNamesRefactoring_NoFilesFoundContainingCommonBlock); //should never execute
-        else
-            filterCommonBlockFileList();
-
-        numCommonVars = commonBlockNode.getCommonBlockObjectList().size();
-
-        hashOldAndNewNames();
-        getVariableTypes();
-    }
-
-    //modified from RenameRefactoring.java
-    private Token findEnclosingToken() throws PreconditionFailure
-    {
-        Token selectedToken = findEnclosingToken(this.astOfFileInEditor, this.selectedRegionInEditor);
-        if (selectedToken == null)
-            fail(Messages.CommonVarNamesRefactoring_SelectCommonBlockName);
-        return selectedToken;
-    }
-
-    private void filterCommonBlockFileList() throws PreconditionFailure
-    {
-        IProject projectInEditor = this.fileInEditor.getProject();  //current project
-
-        if(projectInEditor == null) fail(Messages.CommonVarNamesRefactoring_ProjectDoesNotExist);
-
-        //filter out files not in the project
-        int i = 0;
-        while(i < filesContainingCommonBlock.size())
-        {
-            if(filesContainingCommonBlock.get(i) == null
-                || !filesContainingCommonBlock.get(i).getProject().equals(projectInEditor))
-                filesContainingCommonBlock.remove(i);   //shifts all elements left, don't increment i
-            else
-                i++;
-        }
-    }
-
-    private void hashOldAndNewNames()
-    {
-        //get the old variable names, create new ones
-        IASTListNode<ASTCommonBlockObjectNode> commonObjects = commonBlockNode.getCommonBlockObjectList();
-        Iterator<ASTCommonBlockObjectNode> iter = commonObjects.iterator();
-        int varNameNumber = 0;
-        String varName, newName;
-
-        while(iter.hasNext())
-        {
-            varName = PhotranVPG.canonicalizeIdentifier(iter.next().getVariableName().getText());
-            oldNames.add(varName);
-
-            varName = varName.replaceAll("_common", ""); //$NON-NLS-1$ //$NON-NLS-2$
-            newName = varName.concat("_common"); //$NON-NLS-1$
-            newNames.add(newName);
-
-            oldVarNames.put(varName, varNameNumber);
-            //only add new name if there is no existing alias
-            if (newVarNames.get(varNameNumber) == null)
-                newVarNames.put(varNameNumber, newName);
-            varNameNumber++;
-        }
-    }
-
-    private void getVariableTypes()
-    {
-        IASTListNode<ASTCommonBlockObjectNode> commonObjects = commonBlockNode.getCommonBlockObjectList();
-        int varNameNumber = 0;
-        Definition originalDef = null;
-
-        for (ASTCommonBlockObjectNode current : commonObjects)
-        {
-            originalDef = current.getVariableName().resolveBinding().get(0);
-            varDefs.put(varNameNumber, originalDef);
-
-            varNameNumber++;
-        }
-    }
-
-    private void checkConflictingBindings(ASTCommonBlockNode node, IProgressMonitor pm, RefactoringStatus status)
-    {
-        Definition defToRename = null;
-        Collection<String> newNames = newVarNames.values();
-        Collection<PhotranTokenRef> allReferences = null;
-
-        Iterator<ASTCommonBlockObjectNode> blockIter = node.getCommonBlockObjectList().iterator();
-        Iterator<String> nameIter = newNames.iterator();
-
-        String oldName, newName;
-
-        //check if each common variable can be renamed
-        while(blockIter.hasNext() && nameIter.hasNext())
-        {
-            defToRename = blockIter.next().getVariableName().resolveBinding().get(0);
-            allReferences = defToRename.findAllReferences(true);
-
-            oldName = defToRename.getCanonicalizedName();
-            newName = PhotranVPG.canonicalizeIdentifier(nameIter.next());
-
-            if(!oldName.equalsIgnoreCase(newName))
-            {
-                checkForConflictingBindings(pm,
-                    new ConflictingBindingErrorHandler(status),
-                    defToRename,
-                    allReferences,
-                    newName);
-            }
-        }
-    }
-
-    /* auto-generated */
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        //changes made in doCheckFinalConditions
-    }
-
-    /* (non-Javadoc) auto-generated */
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        assert filesContainingCommonBlock != null;
-
-        try
-        {
-            for (IFile file : filesContainingCommonBlock)
-                makeChangesTo(file, pm, status);
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    private void makeChangesTo(IFile file, IProgressMonitor pm, RefactoringStatus status) throws PreconditionFailure
-    {
-        IFortranAST ast = vpg.acquirePermanentAST(file);
-        if(ast == null) return;
-
-        try
-        {
-            ConsistencyVisitor replacer = new ConsistencyVisitor(pm, status);
-            ast.accept(replacer);
-
-            addChangeFromModifiedAST(file, pm);
-        }
-        catch(TypeError e)
-        {
-            fail(e.getMessage());
-        }
-
-        vpg.releaseAST(file);
-    }
-
-    /** This class is adapted/taken from the code in RenameRefactoring.java */
-    private final class ConsistencyVisitor extends GenericASTVisitor
-    {
-        private IProgressMonitor pm;
-        private RefactoringStatus status;
-        @SuppressWarnings("unused") private boolean changedAST = false;
-        private boolean changeNames = false;
-        private HashMap<String, Integer> oldVarNameHash = new HashMap<String, Integer>();
-        private HashMap<Integer, Definition> blockVarDefs = new HashMap<Integer, Definition>();
-
-        public ConsistencyVisitor(IProgressMonitor pm, RefactoringStatus status)
-        {
-            this.pm = pm;
-            this.status = status;
-        }
-
-        @Override public void visitASTCommonBlockNode(ASTCommonBlockNode node)
-        {
-            //make sure we aren't looking for null name
-            if(node.getName() == null && !commonBlockName.equals("")) //$NON-NLS-1$
-                return;
-
-            if((node.getName() == null && commonBlockName.equals("")) || //$NON-NLS-1$
-                commonBlockName.equalsIgnoreCase(node.getName().getCommonBlockName().getText()))
-            {
-                checkConflictingBindings(node, pm, status);
-                hashVarNames(node);
-            }
-        }
-
-        @Override public void visitToken(Token node)
-        {
-            if(changeNames)
-            {
-                for (Definition variable : blockVarDefs.values())
-                {
-                    if (variable.findAllReferences(true).contains(node.getTokenRef())
-                        || variable.getTokenRef().equals(node.getTokenRef()))
-                    //if(oldVarNameHash.get(node.getText()) != null)
-                    {
-                        try
-                        {
-                            changeName(node);
-                        }
-                        catch(TypeError e)
-                        {
-                            throw new TypeError(e.getMessage());
-                        }
-                    }
-                }
-            }
-        }
-
-        private void hashVarNames(ASTCommonBlockNode node)
-        {
-                //hash old names to new names and indicate name changes should be made
-                IASTListNode<ASTCommonBlockObjectNode> objects = node.getCommonBlockObjectList();
-                Definition currentDef;
-                String currentVarName;
-                int varNameNumber = 0;
-
-                for (ASTCommonBlockObjectNode current : objects)
-                {
-                    currentVarName = current.getVariableName().getText();
-                    oldVarNameHash.put(PhotranVPG.canonicalizeIdentifier(currentVarName), varNameNumber);
-
-                    currentDef = current.getVariableName().resolveBinding().get(0);
-                    blockVarDefs.put(varNameNumber, currentDef);
-
-                    varNameNumber++;
-                }
-
-                changeNames = true;
-        }
-
-        private  void changeName(Token node)
-        {
-            int newNameNumber = oldVarNameHash.get(node.getText());
-            Definition origDef = varDefs.get(newNameNumber);
-            Definition thisDef = blockVarDefs.get(newNameNumber);
-
-            if(origDef != null && thisDef != null) //skips nodes with null definitions
-            {
-               if((thisDef.getType().equals(origDef.getType())
-                   || (thisDef.isImplicit() || origDef.isImplicit())))
-                {
-                    String name = newVarNames.get(newNameNumber);
-                    node.setText(name);
-                    changedAST = true;
-                }
-                else
-                    throw new TypeError(Messages.CommonVarNamesRefactoring_VariableTypesDiffer);
-            }
-        }
-    }
-
-    //borrowed (slightly modified) from RenameRefactoring.java
-    private final class ConflictingBindingErrorHandler implements IConflictingBindingCallback
-    {
-        private final RefactoringStatus status;
-
-        private ConflictingBindingErrorHandler(RefactoringStatus status) { this.status = status; }
-
-        public void addConflictError(List<Conflict> conflictingDef)
-        {
-            Conflict conflict = conflictingDef.get(0);
-
-            String msg = Messages.bind(Messages.CommonVarNamesRefactoring_NameConflictsWith, conflict.name, vpg.getDefinitionFor(conflict.tokenRef));
-            RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights problematic definition
-            status.addError(msg, context);
-        }
-
-        public void addConflictWarning(List<Conflict> conflictingDef)
-        {
-            Conflict conflict = conflictingDef.get(0);
-
-            String msg = Messages.bind(Messages.CommonVarNamesRefactoring_NameMightConflictWithSubprogram, conflict.name);
-            RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights problematic definition
-            status.addWarning(msg, context);
-        }
-
-        public void addReferenceWillChangeError(String newName, Token reference)
-        {
-            //
-        }
-    }
-
-    //custom error class to avoid catching others
-    private final class TypeError extends Error
-    {
-        private static final long serialVersionUID = 1L;
-
-        public TypeError(String message)
-        {
-            super(message);
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/DataToParameterRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/DataToParameterRefactoring.java
deleted file mode 100644
index 733d4fa..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/DataToParameterRefactoring.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 UFSM - Universidade Federal de Santa Maria (www.ufsm.br).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTDataImpliedDoNode;
-import org.eclipse.photran.internal.core.parser.ASTDataStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTDataStmtValueNode;
-import org.eclipse.photran.internal.core.parser.ASTDatalistNode;
-import org.eclipse.photran.internal.core.parser.ASTDerivedTypeDefNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTVariableNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IDataStmtObject;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-
-/**
- * Data To Parameter: refactoring to transform variables declared as data in variables declared
- * with parameter attribute, when these are intended to be constants in source code.
- * Often, developers who want to use constants can confuse the data statement with the
- * attribute parameter, which is the most suitable in these cases. Making the substitution
- * can generate performance gains, because it decreases the access to variables.
- * 
- * @author Gustavo Rissetti
- * @author Timofey Yuvashev
- * @author Jeff Overbey
- * @author Ashley Kasza - externalized strings
- **/
-public class DataToParameterRefactoring extends FortranResourceRefactoring
-{
-    boolean changesWereMade = false;
-    
-    @Override
-    public String getName()
-    {
-        return Messages.DataToParameterRefactoring_Name;
-    }
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-        removeFixedFormFilesFrom(this.selectedFiles, status);
-        removeCpreprocessedFilesFrom(this.selectedFiles, status);
-    }
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        try
-        {
-            for (IFile file : selectedFiles)
-            {
-                IFortranAST ast = vpg.acquirePermanentAST(file);
-                if (ast == null)
-                {
-                    status.addError(Messages.bind(Messages.DataToParameterRefactoring_SelectedFileCannotBeParsed, file.getName()));
-                }
-                else
-                {
-                    makeChangesTo(file, ast, status, pm);
-                    vpg.releaseAST(file);
-                }
-            }
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    private void makeChangesTo(IFile file, IFortranAST ast, RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        for (ScopingNode scope : ast.getRoot().getAllContainedScopes())
-            new ScopeConverter().convert(scope, ast, status);
-
-        if (changesWereMade)
-        {
-            status.addWarning(Messages.DataToParameterRefactoring_RefactorNotConsideringVarAssignment);
-            addChangeFromModifiedAST(file, pm);
-        }
-    }
-
-    private class ScopeConverter
-    {
-        private IASTListNode<IASTNode> scopeBody;
-        private IFortranAST ast;
-        
-        private List<IASTNode> dataAndParameterStmts = new LinkedList<IASTNode>();
-        private List<IASTNode> nodesToDelete = new LinkedList<IASTNode>();
-        
-        @SuppressWarnings("unchecked")
-        public void convert(ScopingNode scope, IFortranAST ast, RefactoringStatus status) throws PreconditionFailure
-        {
-            if (scope instanceof ASTExecutableProgramNode || scope instanceof ASTDerivedTypeDefNode)
-                return;
-            
-            this.ast = ast;
-            this.scopeBody = (IASTListNode<IASTNode>)scope.getBody();
-            
-            convert(status);
-        }
-
-        private void convert(RefactoringStatus status) throws PreconditionFailure
-        {
-            List<String> assignedVars = determineAssignedVariables();
-            
-            for (IASTNode node : scopeBody)
-                if (node instanceof ASTDataStmtNode)
-                   convertDataStmt((ASTDataStmtNode)node, assignedVars, status);
-
-            insertAndDeleteStmts();
-            
-            removeLeadingComma();
-        }
-
-        /**
-         * In order to convert  <pre>data name / value /</pre>
-         * into <pre>parameter ( name = value )</pre>, the variable
-         * <i>name</i> cannot be assigned in the program, only read.
-         * 
-         * @return a list of variables that appear on the left-hand side of an assignment statement
-         */
-        private List<String> determineAssignedVariables()
-        {
-            List<String> assignedVars = new LinkedList<String>();
-            
-            for (IASTNode node : scopeBody)
-                if (node instanceof ASTAssignmentStmtNode)
-                    assignedVars.add(((ASTAssignmentStmtNode)node).getLhsVariable().getName().getText());
-            
-            return assignedVars;
-        }
-        
-        private void convertDataStmt(ASTDataStmtNode node, List<String> assignedVars, RefactoringStatus status) throws PreconditionFailure
-        {
-            if (node.getDatalist() == null)
-                throw new PreconditionFailure(Messages.DataToParameterRefactoring_EmptyDataListInNode);
-
-            int size = node.getDatalist().size();
-            for (ASTDatalistNode dataList : node.getDatalist())
-                size = new DataListConverter().convert(dataList, size, assignedVars, this, status);
-        }
-
-        private void insertAndDeleteStmts()
-        {
-            // Inserts all Parameter nodes created.
-            for (int i = 0; i<dataAndParameterStmts.size(); i+=2)
-            {
-                scopeBody.insertAfter(dataAndParameterStmts.get(i), dataAndParameterStmts.get(i+1));
-                Reindenter.reindent(dataAndParameterStmts.get(i+1), ast);
-            }
-            // Delete Data nodes which were empty.
-            for (int i = 0; i<nodesToDelete.size(); i++)
-            {
-                ASTDataStmtNode delete = (ASTDataStmtNode)nodesToDelete.get(i);
-                if(scopeBody.contains(delete)){
-                    delete.removeFromTree();
-                }
-            }
-        }
-
-        /**
-         * If any statement has been changed to
-         * <pre>data ,val /value/</pre>
-         * this removes the comma after the DATA keyword.
-         */
-        private void removeLeadingComma()
-        {
-            for (IASTNode node : scopeBody)
-            {                        
-                if (node instanceof ASTDataStmtNode)
-                {
-                    IASTNode comma = node;
-                    String source_comma = SourcePrinter.getSourceCodeFromASTNode(comma);
-                    String[] source_comma_split = source_comma.split("\n"); //$NON-NLS-1$
-                    // Find the Data statement.
-                    String statement = source_comma_split[source_comma_split.length-1].trim();
-                    String data = statement.substring(0, 4);
-                    String list_data = statement.substring(4);                            
-                    list_data = list_data.trim();
-                    if(list_data.startsWith(",")) //$NON-NLS-1$
-                    {
-                        // Remove the comma that is left.
-                        list_data = list_data.substring(1);
-                        list_data = list_data.trim();
-                        String new_source = new String(""); //$NON-NLS-1$
-                        for(int i=0; i<source_comma_split.length-1; i++)
-                        {
-                            new_source += source_comma_split[i] + "\n"; //$NON-NLS-1$
-                        }
-                        new_source += data + " " + list_data; //$NON-NLS-1$
-                        // Create the new node and replaces the old.
-                        IASTNode without_comma = parseLiteralStatement(new_source);
-                        comma.replaceWith(without_comma);
-                        Reindenter.reindent(without_comma, ast);
-                    }
-                }
-            }
-        }
-        
-        // These are used by DataListConverter, below
-
-        public void prependCommentsToLastParameterStmt(String comments)
-        {
-            IASTNode lastParameterStmt = dataAndParameterStmts.get(lastParameterStmtIndex());
-            IASTNode parameterStmtWithComments = parseLiteralStatement(comments + SourcePrinter.getSourceCodeFromASTNode(lastParameterStmt));
-            
-            replaceLastParameterStmtWith(parameterStmtWithComments);
-        }
-        
-        private int lastParameterStmtIndex()
-        {
-            return dataAndParameterStmts.size()-1;
-        }
-
-        private void replaceLastParameterStmtWith(IASTNode newParameterStmt)
-        {
-            dataAndParameterStmts.remove(lastParameterStmtIndex());
-            dataAndParameterStmts.add(newParameterStmt);
-        }
-
-        public void addDataStmtAndParameterStmt(IASTNode dataStmt, IASTNode parameter)
-        {
-            // Reference to where the new node should be inserted in the AST.
-            dataAndParameterStmts.add(dataStmt);
-            // New node to be inserted in the AST.
-            dataAndParameterStmts.add(parameter);
-        }
-
-        /** Adds the given node to the list of nodes to delete */
-        public void addNodeToDelete(ASTDataStmtNode dataStmt)
-        {
-            nodesToDelete.add(dataStmt);
-        }
-    }
-    
-    private class DataListConverter
-    {
-        private ScopeConverter scopeConverter;
-        private ASTDatalistNode dataList;
-        private IASTListNode<IDataStmtObject> objectList;
-        private IASTListNode<ASTDataStmtValueNode> valueList;
-        private ASTDataStmtNode dataStmt;
-        
-        private List<IDataStmtObject> objectsToDelete;
-        private List<ASTDataStmtValueNode> valuesToDelete;
-        
-        public int convert(ASTDatalistNode dataList, int numDataLists, List<String> assignedVars, ScopeConverter scopeConverter, RefactoringStatus status) throws PreconditionFailure
-        {
-            this.dataList = dataList;
-            this.objectList = dataList.getDataStmtSet().getDataStmtObjectList();
-            this.valueList = dataList.getDataStmtSet().getDataStmtValueList();
-            this.dataStmt = (ASTDataStmtNode)dataList.getParent().getParent();
-            this.scopeConverter = scopeConverter;
-            
-            this.objectsToDelete = new LinkedList<IDataStmtObject>();
-            this.valuesToDelete = new LinkedList<ASTDataStmtValueNode>();
-
-            transformToParameters(dataList, assignedVars, status);
-
-            return removeASTEntries(numDataLists);
-        }
-
-        protected void transformToParameters(ASTDatalistNode dataList, List<String> assignedVars, RefactoringStatus status)
-            throws org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring.PreconditionFailure
-        {
-            for (int i = 0; i < dataList.getDataStmtSet().getDataStmtObjectList().size(); i++)
-            {
-                String parameterName = objectList.get(i).toString().trim();
-                
-                if (objectList.get(i) instanceof ASTDataImpliedDoNode)
-                {
-                    status.addError(Messages.DataToParameterRefactoring_ImpliedDoNotSupported);
-                    break;
-                }
-                else
-                {
-                    Definition definition = getDefinition((ASTVariableNode)objectList.get(i));
-                    
-                    if (definition.getArraySpec() != null)
-                    {
-                        status.addError(Messages.DataToParameterRefactoring_ArraysNotSupported);
-                        break;
-                    }
-                    
-                    if (definition.isPointer())
-                    {
-                        status.addError(Messages.DataToParameterRefactoring_PointersNotSupported);
-                        break;
-                    }
-                    
-                    if (!assignedVars.contains(parameterName))
-                    {
-                        changesWereMade = true;
-                        
-                        IASTNode parameterStmt = createParameterStmt(i, parameterName);
-                        
-                        scopeConverter.addDataStmtAndParameterStmt(dataStmt, parameterStmt);
-                        
-                        valuesToDelete.add(valueList.get(i));
-                        objectsToDelete.add(objectList.get(i));
-                    }
-                }
-            }
-        }
-
-        private Definition getDefinition(ASTVariableNode astVariableNode) throws PreconditionFailure
-        {
-            List<Definition> definitionList = astVariableNode.findFirstToken().resolveBinding();
-            
-            if (definitionList.size() == 0)
-                throw new PreconditionFailure(Messages.DataToParameterRefactoring_DefinitionNotFound);
-            
-            if (definitionList.size() > 1)
-                throw new PreconditionFailure(Messages.DataToParameterRefactoring_AmbiguouslyDefined);
-
-            return definitionList.get(0);
-        }
-        
-        private IASTNode createParameterStmt(int index, String parameterName)
-        {
-            StringBuffer parameterStmt = new StringBuffer("parameter ( "); //$NON-NLS-1$
-            parameterStmt.append(parameterName + " = "); //$NON-NLS-1$
-            String value = valueList.get(index).getConstant().toString().trim();
-            parameterStmt.append(value);
-            parameterStmt.append(" )"); //$NON-NLS-1$
-            parameterStmt.append(trailingComments());
-            return parseLiteralStatement(parameterStmt.toString());
-        }
-
-        private String trailingComments()
-        {
-            // TODO: Use dataStmt.findLastToken().getWhiteBefore()?
-            String source = SourcePrinter.getSourceCodeFromASTNode(dataStmt);
-            String[] sourceSplit = source.split("\n"); //$NON-NLS-1$
-            String lastLine = sourceSplit[sourceSplit.length-1];
-            for (int index_comment = 0; index_comment < lastLine.length(); index_comment++)
-                if (lastLine.charAt(index_comment) == '!')
-                    return " " + lastLine.substring(index_comment); //$NON-NLS-1$
-            return ""; //$NON-NLS-1$
-        }
-
-        private int removeASTEntries(int numDataLists)
-        {
-            if (objectList.size() == objectsToDelete.size())
-                return removeEntireDataList(numDataLists);
-            else
-                return removeSpecifiedObjectsOnly(numDataLists);
-        }
-
-        private int removeEntireDataList(int numDataLists)
-        {
-            dataList.removeFromTree();
-            numDataLists--;
-            
-            // If a node has all its data removed, it is necessary to recover the
-            // comments that were before it and put them in place.
-            if (numDataLists == 0)
-            {
-                scopeConverter.prependCommentsToLastParameterStmt(leadingComments());
-                scopeConverter.addNodeToDelete(dataStmt);
-            }
-            
-            return numDataLists;
-        }
-
-        private String leadingComments()
-        {
-            String source = SourcePrinter.getSourceCodeFromASTNode(dataStmt);
-            String[] sourceSplit = source.split("\n"); //$NON-NLS-1$
-            String commentsBeforeLine = ""; //$NON-NLS-1$
-            for (int i = 0; i < sourceSplit.length - 1; i++)
-                commentsBeforeLine += sourceSplit[i]+"\n"; //$NON-NLS-1$
-            return commentsBeforeLine;
-        }
-
-        private int removeSpecifiedObjectsOnly(int numDataLists)
-        {
-            objectList.removeAll(objectsToDelete);
-            //A bit of a hack... This adds a white space before each remaining element in the data section.
-            //It is needed to prevent "clumping together" of the key-word "data" and the following variables
-            for (IDataStmtObject n : objectList)
-                n.findFirstToken().setWhiteBefore(" "); //$NON-NLS-1$
-
-            valueList.removeAll(valuesToDelete);
-            
-            return numDataLists;
-        }
-    }
-    
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        // The change is made in method makeChangesTo(...).
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/EncapsulateVariableRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/EncapsulateVariableRefactoring.java
deleted file mode 100644
index 2a8d7c3..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/EncapsulateVariableRefactoring.java
+++ /dev/null
@@ -1,724 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import static org.eclipse.photran.internal.core.reindenter.Reindenter.defaultIndentation;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.RefactoringStatusContext;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.Definition.Classification;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTAccessStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTAttrSpecSeqNode;
-import org.eclipse.photran.internal.core.parser.ASTCallStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTContainsStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTGenericNameNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTSeparatedListNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineArgNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTVarOrFnRefNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IAccessId;
-import org.eclipse.photran.internal.core.parser.IExpr;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;
-import org.eclipse.photran.internal.core.sourceform.SourceForm;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.rephraserengine.core.refactorings.UserInputBoolean;
-import org.eclipse.rephraserengine.core.refactorings.UserInputString;
-
-/**
- * Refactoring to create getter and setter subprograms for a module variable and replace variable
- * accesses with calls to those subprograms.
- * <p>
- * This refactoring accepts a module variable declaration, makes that declaration PRIVATE, adds
- * getter and setter procedures to the module, and then replaces accesses to the variable outside
- * the module with calls to the getter and setter routines.
- *
- * @author Tim Yuvashev
- * @author Jeff Overbey
- */
-@SuppressWarnings({ "rawtypes", "unchecked" })
-public class EncapsulateVariableRefactoring extends FortranEditorRefactoring
-{
-    private PhotranTokenRef selectedReference = null;
-    private Definition selectedTokenDef = null;
-    private boolean isUsedAsArgument = false;
-    //private PhotranTokenRef refInArgList = null;
-    private Set<PhotranTokenRef> allRefs = null;
-    private String getterName = null;
-    private String setterName = null;
-    private boolean wereMethodsCreated = false;
-    private boolean replaceAccessesInDeclaringModule = false;
-
-    public static final String AMBIGUOUS_DEF = Messages.EncapsulateVariableRefactoring_NoUniqueDefinition;
-
-    ///////////////////////////////////////////////////////////
-    ///             Public methods                         ///
-    /////////////////////////////////////////////////////////
-    public String getDefaultGetterName()
-    {
-        String capitalizedIdentName = getCapitalizedIdentName();
-        return "get"+capitalizedIdentName; //$NON-NLS-1$
-    }
-
-    public String getDefaultSetterName()
-    {
-        String capitalizedIdentName = getCapitalizedIdentName();
-        return "set"+capitalizedIdentName; //$NON-NLS-1$
-    }
-
-    @UserInputString(label="Getter method name ", defaultValueMethod="getDefaultGetterName")
-    public void setGetterName(String gName)
-    {
-        String parens = gName.length() < 2 ? "" : gName.substring(gName.length()-2, gName.length()); //$NON-NLS-1$
-        if(parens.equalsIgnoreCase("()")) //$NON-NLS-1$
-            getterName = gName.substring(0, gName.length()-2);
-        else
-            getterName = gName;
-    }
-
-    @UserInputString(label="Setter method name ", defaultValueMethod="getDefaultSetterName")
-    public void setSetterName(String sName)
-    {
-        String parens = sName.length() < 2 ? "" : sName.substring(sName.length()-2, sName.length()); //$NON-NLS-1$
-        if(parens.equalsIgnoreCase("()")) //$NON-NLS-1$
-            setterName = sName.substring(0, sName.length()-2);
-        else
-            setterName = sName;
-    }
-
-    public String getGetterName()
-    {
-        return getterName == null ? getDefaultGetterName() : getterName;
-    }
-
-    public String getSetterName()
-    {
-        return setterName == null ? getDefaultSetterName() : setterName;
-    }
-
-    @UserInputBoolean(label="Replace accesses in declaring module", defaultValue=false)
-    public void replaceAccessesInDeclaringModule(boolean replaceAccessesInDeclaringModule)
-    {
-        this.replaceAccessesInDeclaringModule = replaceAccessesInDeclaringModule;
-    }
-
-    public boolean isArgument()
-    {
-        return isUsedAsArgument;
-    }
-
-    @Override
-    public String getName()
-    {
-        return Messages.EncapsulateVariableRefactoring_Name;
-    }
-
-
-    ///////////////////////////////////////////////////////////
-    ///            Initial Precondition check              ///
-    /////////////////////////////////////////////////////////
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-        Token t = findEnclosingToken(this.astOfFileInEditor, this.selectedRegionInEditor);
-        if(t == null)
-            fail(Messages.EncapsulateVariableRefactoring_CouldNotFindToken);
-
-        selectedReference = t.getTokenRef();
-        Terminal term = t.getTerminal();
-        if(term == null || term != Terminal.T_IDENT)
-            fail(Messages.EncapsulateVariableRefactoring_PleaseSelectAnIdentifier);
-
-        selectedTokenDef = findUnambiguousDeclaration(t);
-        if(selectedTokenDef == null)
-            fail(AMBIGUOUS_DEF);
-
-        checkCanBeEncapsulated(selectedTokenDef);
-
-        allRefs = selectedTokenDef.findAllReferences(true);
-        checkForFixedFormReferences(allRefs);
-    }
-
-    protected void checkCanBeEncapsulated(Definition def) throws PreconditionFailure
-    {
-        if(!isDefinedInModule(def) ||
-                !def.getClassification().equals(Classification.VARIABLE_DECLARATION))
-            fail(Messages.EncapsulateVariableRefactoring_VariableNotSelected);
-        if(def.isParameter())
-            fail(Messages.EncapsulateVariableRefactoring_CannotEncapsulatePARAMETER);
-        if(def.isArray())
-            fail(Messages.EncapsulateVariableRefactoring_CannotEncapsulateArrays);
-        if(def.isPointer())
-            fail(Messages.EncapsulateVariableRefactoring_CannotEncapsulatePointers);
-        if(def.isTarget())
-            fail(Messages.EncapsulateVariableRefactoring_CannotEncapsulateTARGET);
-    }
-
-    protected boolean isDefinedInModule(Definition def)
-    {
-        Token t = def.getTokenRef().findTokenOrReturnNull();
-        if(t == null)
-            return false;
-        ASTModuleNode modNode = t.findNearestAncestor(ASTModuleNode.class);
-        return modNode != null;
-    }
-
-    protected void checkForFixedFormReferences(Set<PhotranTokenRef> refs) throws PreconditionFailure
-    {
-        for (PhotranTokenRef ref : refs)
-            checkForFixedForm(ref.getFile());
-    }
-
-    protected void checkForFixedForm(IFile file) throws PreconditionFailure
-    {
-        if (SourceForm.isFixedForm(file) && !FIXED_FORM_REFACTORING_ENABLED)
-        {
-            fail(
-                Messages.bind(
-                    Messages.EncapsulateVariableRefactoring_CannotRefactorFixedFormFile,
-                    file.getName()));
-        }
-    }
-
-    ///////////////////////////////////////////////////////////
-    ///            Final Precondition check                ///
-    /////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        checkForConflictingBindings(pm,
-                                    new ConflictingBindingErrorHandler(status),
-                                    selectedTokenDef,
-                                    allRefs,
-                                    getGetterName(),
-                                    getSetterName());
-
-        try
-        {
-            Token varDefTok = declarationToken();
-
-            ASTModuleNode declaringModule = varDefTok.findNearestAncestor(ASTModuleNode.class);
-            if (declaringModule == null) throw new IllegalStateException();
-
-            IFile defFile = varDefTok.getLogicalFile();
-            vpg.acquirePermanentAST(defFile);
-
-            for (IFile file : filesIn(allRefs))
-            {
-                for (PhotranTokenRef ref : allRefs)
-                {
-                    if (ref.getFile().equals(file))
-                    {
-                        Token t = ref.findTokenOrReturnNull();
-                        if(t == null)
-                            fail(Messages.EncapsulateVariableRefactoring_CouldNotFindTokenForVarRef);
-
-                        if(!isUsedAsArgument)
-                            detectIfUsedAsArgument(t, status);
-
-                        if(replaceAccessesInDeclaringModule || !isInModule(t, declaringModule))
-                            replaceWithGetOrSet(t, status);
-                    }
-                }
-
-                if (!file.equals(defFile))
-                    this.addChangeFromModifiedAST(file, pm);
-            }
-
-            this.addChangeFromModifiedAST(defFile, pm);
-            vpg.releaseAST(defFile);
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    private Set<IFile> filesIn(Set<PhotranTokenRef> refs)
-    {
-        Set<IFile> result = new HashSet<IFile>(64);
-        for (PhotranTokenRef r : refs)
-            result.add(r.getFile());
-        return result;
-    }
-
-    private boolean isInModule(Token t, ASTModuleNode m)
-    {
-        return t.findNearestAncestor(ASTModuleNode.class) == m;
-    }
-
-    private Token declarationToken() throws PreconditionFailure
-    {
-        Token varDefTok = selectedTokenDef.getTokenRef().findTokenOrReturnNull();
-        if(varDefTok == null)
-            fail(Messages.EncapsulateVariableRefactoring_CouldNotFindTokenForVarDef);
-        return varDefTok;
-    }
-
-    protected void detectIfUsedAsArgument(Token t, RefactoringStatus status) throws PreconditionFailure
-    {
-        //If reference is used as a parameter, then it has to be inside this node
-        ASTSubroutineArgNode subNode = t.findNearestAncestor(ASTSubroutineArgNode.class);
-
-        if(subNode != null)
-        {
-            if(!isUsedAsArgument) //No need to keep re-setting values after one
-                                  //instance was found
-            {
-                String message =
-                    Messages.bind(
-                        Messages.EncapsulateVariableRefactoring_WarningFunctionArgument,
-                        t.getPhysicalFile(),
-                        t.getLine());
-
-                RefactoringStatusContext context = createContext(t.getTokenRef()); // Highlights problematic definition in file
-                status.addWarning(message, context);
-                isUsedAsArgument = true;
-            }
-        }
-    }
-
-    protected void replaceWithGetOrSet(Token t, RefactoringStatus status) throws PreconditionFailure
-    {
-        if(isTokenRead(t))
-        {
-            replaceWithGetter(t);
-            if(!wereMethodsCreated)
-            {
-                setGetterAndSetter();
-                wereMethodsCreated = true;
-            }
-        }
-        else if(isTokenWrittenTo(t))
-        {
-            replaceWithSetter(t);
-            if(!wereMethodsCreated)
-            {
-                setGetterAndSetter();
-                wereMethodsCreated = true;
-            }
-        }
-        else //Neither written nor read (i.e. Access declaration (private,public))
-        {
-            String message =
-                Messages.bind(
-                    Messages.EncapsulateVariableRefactoring_WarningWillNotChangeReference,
-                    t.getPhysicalFile(),
-                    t.getLine());
-            RefactoringStatusContext context = createContext(t.getTokenRef());
-            status.addWarning(message, context);
-        }
-    }
-
-    protected boolean isTokenRead(Token t)
-    {
-        ASTVarOrFnRefNode expressionNode = t.findNearestAncestor(ASTVarOrFnRefNode.class);
-        if(expressionNode == null)
-            return false;
-        return true;
-    }
-
-    protected void replaceWithGetter(Token t) throws PreconditionFailure
-    {
-        checkIfCanEncapsulateWithGetter(t);
-
-        IExpr newExpr = parseLiteralExpression(getGetterName() + "()"); //$NON-NLS-1$
-        newExpr.findFirstToken().setWhiteBefore(""); //$NON-NLS-1$
-        IExpr oldExpr = t.findNearestAncestor(IExpr.class);
-        oldExpr.replaceWith(newExpr);
-        //newExpr.setParent(oldExpr.getParent());
-    }
-
-    protected void checkIfCanEncapsulateWithGetter(Token t) throws PreconditionFailure
-    {
-        IExpr expr = t.findNearestAncestor(IExpr.class);
-        if(expr == null)
-        {
-            fail(
-                Messages.bind(
-                    Messages.EncapsulateVariableRefactoring_NotAnExpression,
-                    t.getPhysicalFile(),
-                    t.getLine()));
-        }
-    }
-
-    protected void setGetterAndSetter() throws PreconditionFailure
-    {
-        Token varDefTok = declarationToken();
-        ASTModuleNode mod = varDefTok.findNearestAncestor(ASTModuleNode.class);
-        IASTListNode lst = mod.getBody();
-
-        addPrivateStatement(varDefTok, lst);
-        //TODO: Check for conflict names of functions
-        addGetterFunction(selectedTokenDef, lst);
-        addSetterFunction(selectedTokenDef, lst);
-    }
-
-    //TODO: Possibly re-factor this function (too long?)
-    protected void addPrivateStatement(Token varDefTok, IASTListNode lst) throws PreconditionFailure
-    {
-        ASTTypeDeclarationStmtNode typeDec = varDefTok.findNearestAncestor(ASTTypeDeclarationStmtNode.class);
-        for(int i = 0; i < lst.size(); i++)
-        {
-            IASTNode node = (IASTNode)lst.get(i);
-            if(node instanceof ASTTypeDeclarationStmtNode)
-            {
-                ASTTypeDeclarationStmtNode possibleTypeDec = (ASTTypeDeclarationStmtNode)node;
-                if(possibleTypeDec != null && possibleTypeDec == typeDec)
-                {
-                    ASTTypeDeclarationStmtNode newDeclNode = removePublicDeclarationIfNeeded(varDefTok, possibleTypeDec, lst);
-                    ASTAccessStmtNode newAccessNode =
-                        (ASTAccessStmtNode)parseLiteralStatement("private :: " + varDefTok.getText() + EOL); //$NON-NLS-1$
-
-                    newAccessNode.setParent(lst);
-
-                    if(newDeclNode != null)
-                    {
-                        lst.insertAfter(newDeclNode, newAccessNode);
-                        Reindenter.reindent(newDeclNode,
-                            vpg.acquireTransientAST(varDefTok.getLogicalFile()),
-                            Strategy.REINDENT_EACH_LINE);
-                    }
-                    else
-                        lst.insertAfter(possibleTypeDec, newAccessNode);
-
-                    Reindenter.reindent(newAccessNode,
-                                        vpg.acquireTransientAST(varDefTok.getLogicalFile()),
-                                        Strategy.REINDENT_EACH_LINE);
-                    break;
-                }
-            }
-        }
-    }
-
-    protected ASTTypeDeclarationStmtNode removePublicDeclarationIfNeeded(
-                Token varDefTok,
-                ASTTypeDeclarationStmtNode declNode,
-                IASTListNode lst)
-    {
-        if(declNode.getAttrSpecSeq() != null)
-        {
-            if(containsPublicInDecl(declNode.getAttrSpecSeq()))
-            {
-                return redeclareVariable(varDefTok, declNode);
-            }
-        }
-
-        boolean wasRemoved = false;
-        for(int i = 0; i < lst.size() && !wasRemoved; i++)
-        {
-            if(lst.get(i) instanceof ASTAccessStmtNode)
-            {
-                ASTAccessStmtNode accessNode = (ASTAccessStmtNode)lst.get(i);
-                wasRemoved = removeTokenFromPublicVarDecl(accessNode, varDefTok);
-                if(wasRemoved && accessNode.getAccessIdList().size() <= 0)
-                {
-                    lst.remove(accessNode);
-                    break;
-                }
-
-            }
-        }
-
-        return null;
-    }
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.photran.internal.core.refactoring.infrastructure.AbstractFortranRefactoring#doCreateChange(org.eclipse.core.runtime.IProgressMonitor)
-     */
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,
-        OperationCanceledException
-    {
-
-    }
-
-    protected boolean isTokenWrittenTo(Token t)
-    {
-        ASTAssignmentStmtNode assign = t.findNearestAncestor(ASTAssignmentStmtNode.class);
-        if(assign == null)
-            return false;
-        return true;
-    }
-
-
-
-    protected void replaceWithSetter(Token t)
-    {
-        String whiteBeforeOld = t.getWhiteBefore();
-
-        ASTAssignmentStmtNode oldAssignNode = t.findNearestAncestor(ASTAssignmentStmtNode.class);
-
-        //String rhsString = oldAssignNode.getRhs().toString().trim();
-
-        String setterString = "call " + getSetterName() + "()"; //$NON-NLS-1$ //$NON-NLS-2$
-        ASTCallStmtNode newCallNode = (ASTCallStmtNode)parseLiteralStatement(setterString);
-        newCallNode.findFirstToken().setWhiteBefore(whiteBeforeOld);
-
-        IASTListNode<ASTSubroutineArgNode> argList = convertToArguments(oldAssignNode);
-        argList.setParent(newCallNode);
-
-        newCallNode.setArgList(argList);
-        oldAssignNode.replaceWith(newCallNode);
-        //newCallNode.setParent(oldAssignNode.getParent());
-    }
-
-    protected IASTListNode<ASTSubroutineArgNode> convertToArguments(ASTAssignmentStmtNode oldAssignNode)
-    {
-        ASTSubroutineArgNode args = new ASTSubroutineArgNode();
-        Token tok = oldAssignNode.getRhs().findFirstToken();
-        tok.setWhiteBefore(""); //$NON-NLS-1$
-
-        args.setExpr(oldAssignNode.getRhs());
-        oldAssignNode.getRhs().setParent(args);
-
-        ArrayList<ASTSubroutineArgNode> argList = new ArrayList<ASTSubroutineArgNode>();
-        argList.add(args);
-        ASTSeparatedListNode<ASTSubroutineArgNode> sepList = new ASTSeparatedListNode<ASTSubroutineArgNode>(null, argList, true);
-
-        args.setParent(sepList);
-        return sepList;
-    }
-
-    protected int findOrCreateContainsIndex(IASTListNode lst)
-    {
-        boolean isFound = false;
-        int i = 0;
-        for(; i < lst.size(); i++)
-        {
-            IASTNode node = (IASTNode)lst.get(i);
-            if(node instanceof ASTContainsStmtNode)
-            {
-                isFound = true;
-                break;
-            }
-        }
-        if(!isFound)
-        {
-            ASTContainsStmtNode containsStmt = createContainsStmt();
-            lst.add(containsStmt);
-            i = lst.size() - 1;
-        }
-        return i;
-    }
-
-    protected void addGetterFunction(Definition def, IASTListNode lst)
-    {
-        int index = findOrCreateContainsIndex(lst);
-        ASTFunctionSubprogramNode funNode = createGetterFunction(def);
-        funNode.setParent(lst);
-        lst.insertAfter(lst.get(index), funNode);
-        Reindenter.reindent(funNode,
-            vpg.acquireTransientAST(def.getTokenRef().getFile()),
-            Strategy.SHIFT_ENTIRE_BLOCK);
-    }
-
-    protected void addSetterFunction(Definition def, IASTListNode lst)
-    {
-        int index = findOrCreateContainsIndex(lst);
-        ASTSubroutineSubprogramNode funNode = createSetterFunction(def);
-        funNode.setParent(lst);
-        lst.insertAfter(lst.get(index), funNode);
-        Reindenter.reindent(funNode,
-            vpg.acquireTransientAST(def.getTokenRef().getFile()),
-            Strategy.SHIFT_ENTIRE_BLOCK);
-    }
-
-    protected ASTFunctionSubprogramNode createGetterFunction(Definition def)
-    {
-        String type = def.getType().toString();
-        String getterFunction = type + " function " + getGetterName() + "()" + EOL + //$NON-NLS-1$ //$NON-NLS-2$
-                                defaultIndentation() + "implicit none" + EOL + //$NON-NLS-1$
-                                defaultIndentation() + getGetterName() + " = " + def.getTokenRef().getText() +EOL + //$NON-NLS-1$
-                                "end function" + EOL; //$NON-NLS-1$
-        ASTFunctionSubprogramNode newFunNode = (ASTFunctionSubprogramNode)parseLiteralProgramUnit(getterFunction);
-        return newFunNode;
-    }
-
-    protected ASTSubroutineSubprogramNode createSetterFunction(Definition def)
-    {
-        String type = def.getType().toString();
-        String valueName = "value"; //$NON-NLS-1$
-        String setterFunction = "subroutine " + getSetterName() + "(" + valueName + ")" + EOL + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-                                defaultIndentation() + "implicit none" + EOL + //$NON-NLS-1$
-                                defaultIndentation() + type + ", intent(in) :: " + valueName + EOL + //$NON-NLS-1$ //$NON-NLS-2$
-                                defaultIndentation() + def.getTokenRef().getText() +" = " + valueName + EOL + //$NON-NLS-1$ //$NON-NLS-2$
-                                "end subroutine" + EOL; //$NON-NLS-1$
-        ASTSubroutineSubprogramNode newSubNode = (ASTSubroutineSubprogramNode)parseLiteralProgramUnit(setterFunction);
-        return newSubNode;
-    }
-
-    protected boolean containsPublicInDecl(IASTListNode lst)
-    {
-        for(int i = 0; i < lst.size(); i++)
-        {
-            if(lst.get(i) instanceof ASTAttrSpecSeqNode)
-            {
-                ASTAttrSpecSeqNode secNode = (ASTAttrSpecSeqNode)lst.get(i);
-                if(secNode.getAttrSpec().getAccessSpec().isPublic())
-                    return true;
-            }
-        }
-        return false;
-    }
-
-    protected ASTTypeDeclarationStmtNode createNewDeclaration(Token varDefTok, ASTTypeSpecNode typeSpec)
-    {
-        String newDecl = findUnambiguousDeclaration(varDefTok).getType().toString() + " :: " + varDefTok.getText(); //$NON-NLS-1$
-        ASTTypeDeclarationStmtNode declNode = (ASTTypeDeclarationStmtNode)parseLiteralStatement(newDecl);
-        return declNode;
-    }
-
-    protected ASTTypeDeclarationStmtNode removeAllAndRedeclare(Token varDefTok, ASTTypeDeclarationStmtNode oldDeclNode)
-    {
-        ASTTypeDeclarationStmtNode newDeclNode = createNewDeclaration(varDefTok, oldDeclNode.getTypeSpec());
-        oldDeclNode.replaceWith(newDeclNode);
-        //newDeclNode.setParent(oldDeclNode.getParent());
-        return newDeclNode;
-    }
-
-    protected ASTTypeDeclarationStmtNode removeAndRedeclare(Token varDefTok, ASTTypeDeclarationStmtNode oldDeclNode)
-    {
-        ASTTypeDeclarationStmtNode newDeclNode = createNewDeclaration(varDefTok, oldDeclNode.getTypeSpec());
-        IASTListNode<ASTEntityDeclNode> lst = oldDeclNode.getEntityDeclList();
-        for(ASTEntityDeclNode declNode : lst)
-        {
-           if(declNode.findFirstToken() == varDefTok)
-           {
-               lst.remove(declNode);
-               break;
-           }
-        }
-        newDeclNode.setParent(oldDeclNode.getParent());
-        IASTListNode parent = (IASTListNode)oldDeclNode.getParent();
-        parent.insertAfter(oldDeclNode, newDeclNode);
-        return newDeclNode;
-    }
-
-    protected ASTTypeDeclarationStmtNode redeclareVariable(Token varDefTok, ASTTypeDeclarationStmtNode declNode)
-    {
-        IASTListNode declList = declNode.getEntityDeclList();
-        if(declList.size() == 1)
-            return removeAllAndRedeclare(varDefTok, declNode);
-        else
-            return removeAndRedeclare(varDefTok, declNode);
-    }
-
-    protected boolean removeTokenFromPublicVarDecl(ASTAccessStmtNode accessNode, Token varDefTok)
-    {
-        if(accessNode.getAccessSpec().isPublic())
-        {
-            IASTListNode<IAccessId> varList = accessNode.getAccessIdList();
-            for(IAccessId id : varList)
-            {
-                if(id instanceof ASTGenericNameNode)
-                {
-                    ASTGenericNameNode name = (ASTGenericNameNode)id;
-                    String nameLabel = name.findFirstToken().getText();
-                    if(nameLabel.equalsIgnoreCase(varDefTok.getText()))
-                    {
-                        varList.remove(id);
-                        return true;
-                    }
-
-                }
-            }
-        }
-        return false;
-    }
-
-    ///////////////////////////////////////////////////////////
-    ///             Private methods                        ///
-    /////////////////////////////////////////////////////////
-    private String getCapitalizedIdentName()
-    {
-        String identName = selectedReference.getText();
-        String fstLetter = identName.substring(0,1);
-        String upCase = fstLetter.toUpperCase();
-        String capitalizedIdentName = upCase.concat(identName.substring(1));
-        return capitalizedIdentName;
-    }
-
-
-    ///////////////////////////////////////////////////////////
-    ///           Conflict error hanlder class             ///
-    /////////////////////////////////////////////////////////
-    private final class ConflictingBindingErrorHandler implements IConflictingBindingCallback
-    {
-        private final RefactoringStatus status;
-
-        private ConflictingBindingErrorHandler(RefactoringStatus status) { this.status = status; }
-
-        public void addConflictError(List<Conflict> conflictingDef)
-        {
-            for(Conflict conflict : conflictingDef)
-            {
-                String msg =
-                    Messages.bind(
-                        Messages.EncapsulateVariableRefactoring_NameConflicts,
-                        conflict.name,
-                        vpg.getDefinitionFor(conflict.tokenRef));
-                RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights problematic definition
-                status.addError(msg, context);
-            }
-        }
-
-        public void addConflictWarning(List<Conflict> conflictingDef)
-        {
-            for(Conflict conflict : conflictingDef)
-            {
-                String msg =
-                    Messages.bind(
-                        Messages.EncapsulateVariableRefactoring_NameMightConflict,
-                        conflict.name);
-                RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights problematic definition
-                status.addWarning(msg, context);
-            }
-        }
-
-        public void addReferenceWillChangeError(String newName, Token reference)
-        {
-            // The entity with the new name will shadow the definition to which this binding resolves
-            /*status.addError("Changing the name to \"" + newName + "\""
-                        + " would change the meaning of \"" + reference.getText() + "\" on line " + reference.getLine()
-                        + " in " + reference.getTokenRef().getFilename(),
-                        createContext(reference)); // Highlight problematic reference*/
-        }
-    }
-
-
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ExtractLocalVariableRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ExtractLocalVariableRefactoring.java
deleted file mode 100644
index b5d310a..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ExtractLocalVariableRefactoring.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.RefactoringStatusContext;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.analysis.types.TypeChecker;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTUseStmtNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IActionStmt;
-import org.eclipse.photran.internal.core.parser.IBodyConstruct;
-import org.eclipse.photran.internal.core.parser.IExpr;
-import org.eclipse.photran.internal.core.parser.ISpecificationPartConstruct;
-import org.eclipse.photran.internal.core.parser.ISpecificationStmt;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-
-
-/**
- * Refactoring to extract an expression into a local (temporary) variable.
- *
- * INCOMPLETE
- *
- * @author Jeff Overbey
- * @author Ashley Kasza - externalized strings
- */
-public class ExtractLocalVariableRefactoring extends FortranEditorRefactoring
-{
-    ///////////////////////////////////////////////////////////////////////////
-    // Fields
-    ///////////////////////////////////////////////////////////////////////////
-
-    private IExpr selectedExpr;
-    private IActionStmt enclosingStmt;
-    @SuppressWarnings("rawtypes") private IASTListNode enclosingStmtList;
-    private ScopingNode enclosingScope;
-
-    private String decl = null;
-
-    private ASTTypeDeclarationStmtNode declToInsert = null;
-    private String name;
-
-    @Override
-    public String getName()
-    {
-        return Messages.ExtractLocalVariableRefactoring_Name;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // User-Specified Parameters
-    ///////////////////////////////////////////////////////////////////////////
-
-    public void setDecl(String decl)
-    {
-        assert decl != null;
-
-        this.decl = decl;
-    }
-
-    public String getDecl()
-    {
-        assert decl != null;
-
-        return this.decl;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Initial Preconditions
-    ///////////////////////////////////////////////////////////////////////////
-
-    @SuppressWarnings("rawtypes")
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        IASTNode selection = findEnclosingNode(this.astOfFileInEditor, this.selectedRegionInEditor);
-        if (selection == null || !(selection instanceof IExpr))
-            fail(Messages.ExtractLocalVariableRefactoring_SelectExpressionToExtract);
-
-        if (!nodeExactlyEnclosesRegion(selection, this.astOfFileInEditor, this.selectedRegionInEditor))
-            fail(Messages.ExtractLocalVariableRefactoring_ErrorSelectingPartOfExpression);
-
-        selectedExpr = (IExpr)selection;
-
-        enclosingStmt = selectedExpr.findNearestAncestor(IActionStmt.class);
-        if (enclosingStmt == null)
-            fail(Messages.ExtractLocalVariableRefactoring_VarsExtractedOnlyFromActionStmt);
-
-        if (!(enclosingStmt.getParent() instanceof IASTListNode)) // Should never happen since <ActionStmt> only under <Body>
-            fail(Messages.ExtractLocalVariableRefactoring_ExpressionNotInExtractableStmt);
-        enclosingStmtList = (IASTListNode)enclosingStmt.getParent();
-
-        enclosingScope = enclosingStmt.findNearestAncestor(ScopingNode.class);
-        if (enclosingScope == null) // Should never happen since <ActionStmt> only under <Body>
-            fail(Messages.ExtractLocalVariableRefactoring_VarsOnlyExtractedFromStmtsIn);
-
-        Type exprType = TypeChecker.getTypeOf(selectedExpr);
-        if (exprType == Type.TYPE_ERROR)
-        {
-            status.addWarning(Messages.ExtractLocalVariableRefactoring_ExpressionTypeNotBeAutoDetermined);
-            decl = "real :: newName"; //$NON-NLS-1$
-        }
-        else
-        {
-            decl = exprType.toString() + " :: newName"; //$NON-NLS-1$
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Final Preconditions
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        assert decl != null;
-
-        status.addWarning(Messages.ExtractLocalVariableRefactoring_ExtractionMayNotPreserveBehavior);
-
-        // Simple checks -- input validation
-
-        if (this.decl.trim().equals("")) //$NON-NLS-1$
-            fail(Messages.ExtractLocalVariableRefactoring_EnterDeclarationForExtractedVar);
-
-        IBodyConstruct decl = parseLiteralStatementNoFail(this.decl);
-        if (decl == null || !(decl instanceof ASTTypeDeclarationStmtNode))
-            fail(Messages.bind(Messages.ExtractLocalVariableRefactoring_InvalidTypeDeclStmt, this.decl));
-
-        declToInsert = (ASTTypeDeclarationStmtNode)decl;
-
-        if (declToInsert.getEntityDeclList() == null
-            || declToInsert.getEntityDeclList().size() != 1)
-            fail(Messages.ExtractLocalVariableRefactoring_DeclarationDoesNotDeclareSingleVar);
-
-        name = declToInsert.getEntityDeclList().get(0).getObjectName().getObjectName().getText();
-
-        if (declToInsert.getEntityDeclList().get(0).getInitialization() != null)
-            fail(Messages.ExtractLocalVariableRefactoring_DeclarationMustNotContainInitialization);
-
-        // Complex checks -- require program analysis
-
-        checkForConflictingBindings(pm, status);
-    }
-
-
-    private void checkForConflictingBindings(IProgressMonitor pm, RefactoringStatus status)
-    {
-        Definition def = arbitraryDefinitionInScope();
-        if (def == null) return; // No declarations in scope, so the new one can't conflict
-
-        checkForConflictingBindings(pm,
-            new ConflictingBindingErrorHandler(status),
-            def,
-            Collections.<PhotranTokenRef>emptyList(),
-            name);
-    }
-
-    private Definition arbitraryDefinitionInScope()
-    {
-        List<Definition> allDefs = enclosingScope.getAllDefinitions();
-        if (allDefs.isEmpty())
-            return null;
-        else
-            return allDefs.get(0);
-    }
-
-    private final class ConflictingBindingErrorHandler implements IConflictingBindingCallback
-    {
-        private final RefactoringStatus status;
-
-        private ConflictingBindingErrorHandler(RefactoringStatus status) { this.status = status; }
-
-        public void addConflictError(List<Conflict> conflictingDef)
-        {
-            Conflict conflict = conflictingDef.get(0);
-
-            String msg = Messages.bind(Messages.ExtractLocalVariableRefactoring_NameConflictsWith, conflict.name, vpg.getDefinitionFor(conflict.tokenRef));
-            RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights problematic definition
-            status.addError(msg, context);
-        }
-
-        public void addConflictWarning(List<Conflict> conflictingDef)
-        {
-            Conflict conflict = conflictingDef.get(0);
-
-            String msg = Messages.bind(Messages.ExtractLocalVariableRefactoring_NameMightConflictWithSubprogram, conflict.name);
-            RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights problematic definition
-            status.addWarning(msg, context);
-        }
-
-        public void addReferenceWillChangeError(String newName, Token reference)
-        {
-            throw new IllegalStateException();
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Change
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        assert declToInsert != null;
-
-        try
-        {
-            insertDeclaration();
-            insertAssignment();
-            replaceExpression();
-
-            this.addChangeFromModifiedAST(this.fileInEditor, pm);
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    private void insertDeclaration()
-    {
-        IASTListNode body = enclosingScope.getBody();
-        body.add(findIndexToInsertDeclarationIn(body), declToInsert);
-        Reindenter.reindent(declToInsert, astOfFileInEditor);
-    }
-
-    private int findIndexToInsertDeclarationIn(IASTListNode<? extends IASTNode> body)
-    {
-        int lastTypeDeclStmt = -1;
-        int lastSpecStmt = -1;
-        int lastUseStmt = -1;
-
-        for (int i = 0; i < body.size(); i++)
-        {
-            IASTNode thisStmt = body.get(i);
-            if (thisStmt instanceof ASTTypeDeclarationStmtNode)
-                lastTypeDeclStmt = i;
-            if (thisStmt instanceof ISpecificationPartConstruct
-                    || thisStmt instanceof ISpecificationStmt)
-                lastSpecStmt = i;
-            if (thisStmt instanceof ASTUseStmtNode)
-                lastUseStmt = i;
-        }
-
-        if (lastTypeDeclStmt >= 0)
-            return lastTypeDeclStmt + 1;
-        else if (lastSpecStmt >= 0)
-            return lastSpecStmt + 1;
-        else if (lastUseStmt >= 0)
-            return lastUseStmt + 1;
-        else
-            return 0;
-    }
-
-    @SuppressWarnings("unchecked")
-    private void insertAssignment()
-    {
-        IExpr expr = (IExpr)selectedExpr.clone();
-        expr.findFirstToken().setWhiteBefore(""); //$NON-NLS-1$
-        
-        ASTAssignmentStmtNode assignmentStmt = (ASTAssignmentStmtNode)parseLiteralStatement(name + " = " + expr); //$NON-NLS-1$
-        enclosingStmtList.insertBefore(enclosingStmt, assignmentStmt);
-        Reindenter.reindent(assignmentStmt, astOfFileInEditor);
-    }
-
-    private void replaceExpression()
-    {
-        IExpr variable = parseLiteralExpression(name.trim());
-        variable.findFirstToken().setWhiteBefore(selectedExpr.findFirstToken().getWhiteBefore());
-        selectedExpr.replaceWith(variable);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ExtractProcedureRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ExtractProcedureRefactoring.java
deleted file mode 100644
index e1c60cb..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ExtractProcedureRefactoring.java
+++ /dev/null
@@ -1,537 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.analysis.loops.GenericASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.Token.FakeToken;
-import org.eclipse.photran.internal.core.parser.ASTArrayDeclaratorNode;
-import org.eclipse.photran.internal.core.parser.ASTArraySpecNode;
-import org.eclipse.photran.internal.core.parser.ASTAttrSpecSeqNode;
-import org.eclipse.photran.internal.core.parser.ASTCharSelectorNode;
-import org.eclipse.photran.internal.core.parser.ASTContainsStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTDimensionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTObjectNameNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IBodyConstruct;
-import org.eclipse.photran.internal.core.parser.IExecutionPartConstruct;
-import org.eclipse.photran.internal.core.parser.IInternalSubprogram;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * Refactoring to extract a sequence of statements into a new subroutine,
- * replacing the sequence with a call to that subroutine.
- *
- * @author Jeff Overbey
- * @author Abhishek Sharma - Bug 313369
- */
-/*
- * (Eventually, this should be generalized to extract either a subroutine or function,
- * hence the name "extract procedure.")
- */
-public class ExtractProcedureRefactoring extends FortranEditorRefactoring
-{
-	private StatementSequence selection = null;
-	private List<Definition> localVarsToPassInAsParams = new LinkedList<Definition>();
-	private String newName = null;
-
-    @Override
-    public String getName()
-    {
-        return Messages.ExtractProcedureRefactoring_Name;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // User-Specified Parameters
-    ///////////////////////////////////////////////////////////////////////////
-
-    public void setName(String name)
-    {
-        assert name != null;
-
-        this.newName = name;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Initial Preconditions
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        // Ensure that partial loops won't be extracted
-        LoopReplacer.replaceAllLoopsIn(this.astOfFileInEditor.getRoot());
-
-    	selection = findEnclosingStatementSequence(this.astOfFileInEditor, this.selectedRegionInEditor);
-        if (selection == null || selection.selectedStmts.isEmpty())
-            fail(Messages.ExtractProcedureRefactoring_PleaseSelectContiguousStatements);
-
-        if (selection.enclosingScope == null)
-            fail("INTERNAL ERROR: Unable to locate enclosing scope"); //$NON-NLS-1$
-
-        if (!selection.enclosingScope.isSubprogram() && !selection.enclosingScope.isMainProgram())
-            fail(Messages.ExtractProcedureRefactoring_CanOnlyExtractFromSubprogramOrMainProgram);
-
-        for (IASTNode stmt : selection.selectedStmts)
-            if (!(stmt instanceof IBodyConstruct))
-                fail(
-                    Messages.bind(
-                        Messages.ExtractProcedureRefactoring_StatementCannotBeExtracted,
-                        stmt.toString().trim()));
-
-        checkForLabels(status);
-
-        for (IASTNode stmt : selection.selectedStmts)
-            if (!(stmt instanceof IExecutionPartConstruct))
-                fail(
-                    Messages.bind(
-                        Messages.ExtractProcedureRefactoring_OnlyExecutableStatementsCanBeExtracted,
-                        stmt.toString().trim()));
-
-        determineParameters();
-
-        for (Definition param : localVarsToPassInAsParams)
-            if (param.isPointer())
-                fail(Messages.ExtractProcedureRefactoring_ExtractionWouldRequirePointerParameter);
-    }
-
-    private void checkForLabels(RefactoringStatus status)
-    {
-        Pattern numericLabel = Pattern.compile("[0-9]+"); //$NON-NLS-1$
-
-        for (IASTNode stmt : selection.enclosingScope.getBody())
-        {
-            if (numericLabel.matcher(stmt.findFirstToken().getText()).matches())
-            {
-                status.addWarning(
-                    Messages.ExtractProcedureRefactoring_ProcedureContainsLabels,
-                    createContext(stmt.findFirstToken().getTokenRef()));
-                return;
-            }
-        }
-    }
-
-    private void determineParameters()
-    {
-        localVarsToPassInAsParams.addAll(localVariablesUsedIn(selection.selectedStmts));
-        localVarsToPassInAsParams.addAll(0, localVarsReferencedInDecls());
-    }
-
-    private List<Definition> localVarsReferencedInDecls()
-    {
-        List<Definition> result = new LinkedList<Definition>();
-
-        for (Set<Definition> addlVars = addlLocalVariablesReferencedIn(localVarsToPassInAsParams);
-             !addlVars.isEmpty();
-             addlVars = addlLocalVariablesReferencedIn(result))
-        {
-            result.addAll(0, addlVars);
-        }
-
-        return result;
-    }
-
-    private Set<Definition> localVariablesUsedIn(List<IASTNode> stmts)
-    {
-        Set<Definition> result = new TreeSet<Definition>();
-
-        for (IASTNode stmt : selection.selectedStmts)
-            result.addAll(localVariablesUsedIn(stmt));
-
-        return result;
-    }
-
-    private Set<Definition> localVariablesUsedIn(IASTNode node)
-    {
-        final Set<Definition> result = new TreeSet<Definition>();
-        node.accept(new GenericASTVisitorWithLoops()
-        {
-            @Override public void visitToken(Token token)
-            {
-                if (token.getTerminal() == Terminal.T_IDENT)
-                    for (Definition def : token.resolveBinding())
-                        if (def.isLocalVariable())
-                            result.add(def);
-            }
-        });
-        return result;
-    }
-
-    /**
-     * The extraction
-     * <pre>
-     * integer, parameter :: FIVE = 5
-     * integer, parameter :: SIZE = FIVE
-     * real :: matrix(SIZE, SIZE)
-     * matrix(:, :) = 0.0  ! <<<<< EXTRACT THIS STATEMENT
-     * </pre>
-     * will initially compute the set of local variables to be { matrix }.
-     * However, the declaration of matrix uses the declaration of SIZE,
-     * so the &quot;closure&quot; is { matrix, SIZE }, since this is the
-     * minimal set of variables that must be passed to the new procedure.
-     */
-    private Set<Definition> addlLocalVariablesReferencedIn(Collection<Definition> vars)
-    {
-        final Set<Definition> result = new TreeSet<Definition>();
-
-        for (Definition def : vars)
-        {
-            ASTArraySpecNode arraySpec = findArraySpec(def);
-            if (arraySpec != null)
-                result.addAll(localVariablesUsedIn(arraySpec));
-        }
-
-        return result;
-    }
-
-    private ASTArraySpecNode findArraySpec(Definition def)
-    {
-        ASTArraySpecNode arraySpec = findArraySpecInTypeDecl(def);
-        if (arraySpec != null)
-            return arraySpec;
-
-        arraySpec = findArraySpecInDimensionStmt(def);
-        return arraySpec;
-    }
-
-    private ASTArraySpecNode findArraySpecInTypeDecl(Definition def)
-    {
-        ASTTypeDeclarationStmtNode typeDecl = findTypeDeclaration(def);
-        if (typeDecl != null)
-        {
-            if (typeDecl.getAttrSpecSeq() != null)
-                for (ASTAttrSpecSeqNode attrSpecSeq : typeDecl.getAttrSpecSeq())
-                    if (attrSpecSeq.getAttrSpec().isDimension())
-                        return attrSpecSeq.getAttrSpec().getArraySpec();
-
-            for (ASTEntityDeclNode decl : typeDecl.getEntityDeclList())
-                if (decl.getArraySpec() != null && matches(decl.getObjectName(), def))
-                    return decl.getArraySpec();
-        }
-
-        return null;
-    }
-
-    private ASTTypeDeclarationStmtNode findTypeDeclaration(Definition def)
-    {
-        return def.getTokenRef().findToken().findNearestAncestor(ASTTypeDeclarationStmtNode.class);
-    }
-
-    private ASTArraySpecNode findArraySpecInDimensionStmt(final Definition def)
-    {
-        class Visitor extends GenericASTVisitor
-        {
-            private ASTArraySpecNode result = null;
-
-            @Override public void visitASTDimensionStmtNode(ASTDimensionStmtNode node)
-            {
-                for (ASTArrayDeclaratorNode arrayDeclarator : node.getArrayDeclaratorList())
-                    if (matches(arrayDeclarator, def))
-                        result = arrayDeclarator.getArraySpec();
-            }
-        }
-
-        ScopingNode scope = def.getTokenRef().findToken().findNearestAncestor(ScopingNode.class);
-        Visitor v = new Visitor();
-        scope.accept(v);
-        return v.result;
-    }
-
-    private boolean matches(ASTArrayDeclaratorNode arrayDeclarator, Definition def)
-    {
-        String declVar = PhotranVPG.canonicalizeIdentifier(arrayDeclarator.getVariableName().getText());
-        String targetVar = def.getCanonicalizedName();
-        return declVar.equals(targetVar);
-    }
-
-    private boolean matches(ASTObjectNameNode objectName, Definition def)
-    {
-        String declVar = PhotranVPG.canonicalizeIdentifier(objectName.getObjectName().getText());
-        String targetVar = def.getCanonicalizedName();
-        return declVar.equals(targetVar);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Final Preconditions
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        assert selection != null && (selection.enclosingScope.isSubprogram() || selection.enclosingScope.isMainProgram());
-        assert newName != null;
-
-        checkIfSubprogramNameIsValid();
-        checkIfSubprogramNameWillConflict(status);
-    }
-
-    private void checkIfSubprogramNameIsValid() throws PreconditionFailure
-    {
-        if (!isValidIdentifier(newName))
-            fail(Messages.bind(Messages.ExtractProcedureRefactoring_InvalidIdentifier, newName));
-    }
-
-    private void checkIfSubprogramNameWillConflict(RefactoringStatus status)
-    {
-        ScopingNode enclosingSubprogram = selection.enclosingScope;
-
-        ScopingNode outerScope = enclosingSubprogram.findNearestAncestor(ScopingNode.class);
-        if (outerScope == null)
-            throw new Error("INTERNAL ERROR: No outer scope"); //$NON-NLS-1$
-
-        FakeToken newSubprogramName = new FakeToken(enclosingSubprogram.getNameToken(), newName);
-        List<PhotranTokenRef> conflictingDefs = outerScope.manuallyResolveNoImplicits(newSubprogramName);
-        if (!conflictingDefs.isEmpty())
-        {
-            PhotranTokenRef conflict = conflictingDefs.get(0);
-            Token conflictToken = conflict.findToken();
-            status.addError(
-                Messages.bind(
-                    Messages.ExtractProcedureRefactoring_NameConflicts,
-                    new Object[] {
-                        newName,
-                        conflictToken.getText(),
-                        conflictToken.getLine(),
-                        conflict.getFilename()
-                    }),
-                createContext(conflict)); // Highlight problematic declaration
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Change
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        assert selection != null && (selection.enclosingScope.isSubprogram() || selection.enclosingScope.isMainProgram());
-        assert newName != null;
-
-        try
-        {
-            ASTSubroutineSubprogramNode newSubprogram = createNewSubprogram();
-            insertSubroutineCall();
-            moveStatementsIntoBodyOf(newSubprogram);
-
-            this.addChangeFromModifiedAST(this.fileInEditor, pm);
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    private ASTSubroutineSubprogramNode createNewSubprogram()
-    {
-        StringBuilder sb = new StringBuilder();
-
-        sb.append("\n"); //$NON-NLS-1$
-        sb.append("subroutine "); //$NON-NLS-1$
-        sb.append(newName);
-        sb.append(parameterList());
-        sb.append("\n"); //$NON-NLS-1$
-
-        sb.append(Reindenter.defaultIndentation());
-        sb.append("implicit none\n"); //$NON-NLS-1$
-
-        sb.append(parameterDeclarations());
-
-        sb.append("end subroutine\n"); //$NON-NLS-1$
-
-        ASTSubroutineSubprogramNode newSubroutine = (ASTSubroutineSubprogramNode)parseLiteralProgramUnit(sb.toString());
-
-        return insertNewSubprogram(newSubroutine);
-    }
-
-    /* The new subprogram must be an internal subprogram if the statements are being extracted
-     * from a main program or subprogram that contains other internal subprograms.  Otherwise,
-     * references to existing internal subprograms will not carry over to the extracted subprogram.
-     */
-    private ASTSubroutineSubprogramNode insertNewSubprogram(ASTSubroutineSubprogramNode newSubroutine)
-    {
-        if (selection.enclosingScope.isSubprogram())
-            return insertAfterEnclosingSubprogram(newSubroutine);
-        else if (selection.enclosingScope.isMainProgram())
-            return insertAsInternalSubprogramOf((ASTMainProgramNode)selection.enclosingScope, newSubroutine);
-        else
-            throw new IllegalStateException();
-    }
-
-    @SuppressWarnings({ "unchecked", "rawtypes" })
-    private ASTSubroutineSubprogramNode insertAfterEnclosingSubprogram(ASTSubroutineSubprogramNode newSubroutine)
-    {
-        ScopingNode enclosingSubprogram = selection.enclosingScope;
-
-        IASTNode parent = enclosingSubprogram.getParent();
-        if (!(parent instanceof IASTListNode))
-            throw new Error("INTERNAL ERROR: Subprogram parent is not IASTListNode"); //$NON-NLS-1$
-
-        ((IASTListNode)parent).insertAfter(enclosingSubprogram, newSubroutine);
-
-        Reindenter.reindent(newSubroutine, this.astOfFileInEditor);
-
-        return newSubroutine;
-    }
-
-    private ASTSubroutineSubprogramNode insertAsInternalSubprogramOf(ASTMainProgramNode program, ASTSubroutineSubprogramNode subprogram)
-    {
-        if (program.getContainsStmt() == null)
-        {
-            ASTContainsStmtNode containsStmt = createContainsStmt();
-            program.setContainsStmt(containsStmt);
-            containsStmt.setParent(program);
-        }
-
-        if (program.getInternalSubprograms() == null)
-        {
-            ASTListNode<IInternalSubprogram> internals = new ASTListNode<IInternalSubprogram>();
-            program.setInternalSubprograms(internals);
-            internals.setParent(program);
-        }
-
-        program.getInternalSubprograms().add(subprogram);
-        subprogram.setParent(program.getInternalSubprograms());
-
-        Reindenter.reindent(subprogram, this.astOfFileInEditor);
-
-        return subprogram;
-    }
-
-    private String parameterList()
-    {
-        StringBuilder sb = new StringBuilder();
-
-        sb.append("("); //$NON-NLS-1$
-
-        int i = 0;
-        for (Definition var : localVarsToPassInAsParams)
-        {
-            if (i++ > 0) sb.append(", "); //$NON-NLS-1$
-            sb.append(var.getDeclaredName());
-        }
-
-        sb.append(")"); //$NON-NLS-1$
-
-        return sb.toString();
-    }
-
-    private String parameterDeclarations()
-    {
-        StringBuilder sb = new StringBuilder();
-
-        for (Definition var : localVarsToPassInAsParams)
-        {
-            sb.append(Reindenter.defaultIndentation());
-            sb.append(declarationOf(var));
-            sb.append("\n"); //$NON-NLS-1$
-        }
-
-        return sb.toString();
-    }
-
-    private String declarationOf(Definition var)
-    {
-        StringBuilder sb = new StringBuilder();
-
-        sb.append(var.getType().toString());
-        if (var.getType().equals(Type.CHARACTER))
-            sb.append(getCharSelector(var));
-
-        if (var.isAllocatable()) sb.append(", allocatable"); //$NON-NLS-1$
-        if (var.isIntentIn() && !var.isIntentOut()) sb.append(", intent(in)"); //$NON-NLS-1$
-        if (!var.isIntentIn() && var.isIntentOut()) sb.append(", intent(out)"); //$NON-NLS-1$
-        if (var.isPointer()) sb.append(", pointer"); //$NON-NLS-1$
-        if (var.isTarget()) sb.append(", target"); //$NON-NLS-1$
-
-        sb.append(" :: "); //$NON-NLS-1$
-        sb.append(var.getDeclaredName());
-
-        if (var.getArraySpec() != null)
-            sb.append(var.getArraySpec());
-
-        return sb.toString();
-    }
-
-    private String getCharSelector(Definition var)
-    {
-        ASTTypeDeclarationStmtNode typeDeclStmt = var.getTokenRef().findToken().findNearestAncestor(ASTTypeDeclarationStmtNode.class);
-        if (typeDeclStmt != null)
-        {
-            ASTCharSelectorNode charSelector = typeDeclStmt.getTypeSpec().getCharSelector();
-            if (charSelector != null)
-            {
-//                sb.append("(LEN="); //$NON-NLS-1$
-//                sb.append(charSelector.getLengthExpr().toString());
-//                sb.append(")"); //$NON-NLS-1$
-                return charSelector.toString();
-            }
-        }
-        return ""; //$NON-NLS-1$
-    }
-
-    @SuppressWarnings({ "unchecked", "rawtypes" })
-    private void insertSubroutineCall()
-    {
-        StringBuilder sb = new StringBuilder();
-        sb.append("call "); //$NON-NLS-1$
-        sb.append(newName);
-        sb.append(parameterList());
-        sb.append("\n"); //$NON-NLS-1$
-
-        IBodyConstruct callStmt = parseLiteralStatement(sb.toString());
-        ((IASTListNode)selection.listContainingStmts).insertBefore(selection.firstStmt(), callStmt);
-        callStmt.setParent(selection.listContainingStmts);
-        Reindenter.reindent(callStmt, this.astOfFileInEditor);
-    }
-
-    private void moveStatementsIntoBodyOf(ASTSubroutineSubprogramNode newSubprogram)
-    {
-        for (IASTNode stmt : selection.selectedStmts)
-        {
-            assert stmt instanceof IBodyConstruct;
-
-            stmt.removeFromTree();
-            newSubprogram.getBody().add((IBodyConstruct)stmt);
-            stmt.setParent(newSubprogram.getBody());
-        }
-
-        Reindenter.reindent(selection.firstToken(), selection.lastToken(), this.astOfFileInEditor);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/FuseLoopsRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/FuseLoopsRefactoring.java
deleted file mode 100644
index 4eb44da..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/FuseLoopsRefactoring.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import java.util.ArrayList;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;

-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;

-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;

-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;

-import org.eclipse.photran.internal.core.lexer.Terminal;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.parser.ASTIntConstNode;

-import org.eclipse.photran.internal.core.parser.IASTListNode;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.parser.IExecutionPartConstruct;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;

-

-/**

- * Aligns the bounds of two loops, and then fuses them into a single loop. Only applies to loops with integer values as bounds. Also, be

- * aware of using the iteration variable for reads, writes, or parameters.

- * @author Ashley Kasza

- */

-public class FuseLoopsRefactoring extends FortranEditorRefactoring

-{

-    private ArrayList<ASTProperLoopConstructNode> loopList;

-    private ASTProperLoopConstructNode firstDoLoop;

-    private ASTProperLoopConstructNode secondDoLoop;

-    private int firstNormal, secondNormal;

-

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-

-        LoopReplacer.replaceAllLoopsIn(this.astOfFileInEditor.getRoot());

-

-        loopList = new ArrayList<ASTProperLoopConstructNode>();

-

-        firstDoLoop = getLoopNode(this.astOfFileInEditor, this.selectedRegionInEditor);

-        if (firstDoLoop == null)

-        {

-            fail(Messages.FuseLoopsRefactoring_NoSecondLoopErrorMsg);

-        }

-

-        secondDoLoop = getSecondLoopToAlign(firstDoLoop);

-        if (secondDoLoop == null)

-        {

-            fail(Messages.FuseLoopsRefactoring_NoSecondLoopErrorMsg);

-        }

-        if (checkForIncorrectBounds())

-        {

-            fail(Messages.FuseLoopsRefactoring_SelectLoopWithIntegers);

-        }

-        try

-        {

-            firstDoLoop.getStepInt();

-            secondDoLoop.getStepInt();

-        }

-        catch (NumberFormatException e)

-        {

-            fail(Messages.FuseLoopsRefactoring_InvalidStepError);

-        }

-        if (!checkLoopCompatibility(firstDoLoop, secondDoLoop))

-        {

-            fail(Messages.FuseLoopsRefactoring_IncompatibleLoopErorrMessage);

-        }

-        if (checkForLabels(firstDoLoop.getBody()) || checkForLabels(secondDoLoop.getBody()))

-        {

-            fail(Messages.FuseLoopsRefactoring_SelectLoopsWithoutLabels);

-        }

-        if (checkForCycleExit(firstDoLoop.getBody()) || checkForCycleExit(secondDoLoop.getBody()))

-        {

-            fail(Messages.FuseLoopsRefactoring_CycleExitFails);

-        }

-    }

-

-    @SuppressWarnings("unchecked")

-    private ASTProperLoopConstructNode getSecondLoopToAlign(ASTProperLoopConstructNode loop)

-    {

-        ScopingNode scope = ScopingNode.getLocalScope(loop);

-        IASTListNode<IExecutionPartConstruct> body = (IASTListNode<IExecutionPartConstruct>)scope

-            .getOrCreateBody();

-        findAllLoopsInScope(body);

-        int i = loopList.indexOf(loop);

-        return loopList.get(i + 1);

-

-    }

-

-    private void findAllLoopsInScope(IASTNode node)

-    {

-        node.accept(new ASTVisitorWithLoops()

-        {

-            @Override

-            public void visitASTProperLoopConstructNode(ASTProperLoopConstructNode node)

-            {

-                loopList.add(node);

-            }

-        });

-    }

-

-    private boolean checkForIncorrectBounds()

-    {

-        if (!(firstDoLoop.getLowerBoundIExpr() instanceof ASTIntConstNode)

-            || !(firstDoLoop.getUpperBoundIExpr() instanceof ASTIntConstNode)

-            || !(secondDoLoop.getLowerBoundIExpr() instanceof ASTIntConstNode)

-            || !(secondDoLoop.getUpperBoundIExpr() instanceof ASTIntConstNode)) return true;

-        return false;

-    }

-

-    /**

-     * Checks for any labels in the body

-     * @param body - body of the loop to check

-     * @return true if there are labels, false if not

-     */

-    private boolean checkForLabels(IASTListNode<IExecutionPartConstruct> body)

-    {

-        for (int i = 0; i < body.size(); i++)

-        {

-            if ((body.get(i)).findFirstToken().getTerminal() == Terminal.T_ICON){ return true; }

-        }

-        return false;

-    }

-    

-    private boolean checkForCycleExit(IASTNode node)

-    {

-        FindKeywordVisitor findCycleExit = new FindKeywordVisitor();

-        node.accept(findCycleExit);

-        boolean theanswer = findCycleExit.getHasCycleExit();

-        return theanswer;

-    }

-

-    public class FindKeywordVisitor extends ASTVisitorWithLoops

-    {

-        private boolean hasCycleExit;

-        public FindKeywordVisitor()

-        {

-            super();

-            hasCycleExit = false;

-        }

-        public boolean getHasCycleExit()

-        {

-            return hasCycleExit;

-        }

-        @Override

-        public void visitToken(Token token)

-        {

-            if (token.getTerminal() == Terminal.T_EXIT || token.getTerminal() == Terminal.T_CYCLE)

-            {

-                hasCycleExit = true;

-            }

-        }

-    }

-    

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        // no final conditions

-    }

-

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-        normalizeLoopIterations(firstDoLoop, secondDoLoop);

-        fuseLoops(firstDoLoop, secondDoLoop);

-        Reindenter.reindent(firstDoLoop, this.astOfFileInEditor, Strategy.REINDENT_EACH_LINE);

-

-        this.addChangeFromModifiedAST(this.fileInEditor, pm);

-

-        vpg.releaseAST(this.fileInEditor);

-    }

-

-    void normalizeLoopIterations(ASTProperLoopConstructNode first, ASTProperLoopConstructNode second)

-    {

-        int fLow = first.getLowerBoundInt();

-        int fHigh = first.getUpperBoundInt();

-        int sLow = second.getLowerBoundInt();

-        int sHigh = second.getUpperBoundInt();

-        int fStep = first.getStepInt();

-        int sStep = second.getStepInt();

-

-        firstNormal = fHigh - fLow;

-        firstNormal = firstNormal / fStep;

-        secondNormal = sHigh - sLow;

-        secondNormal = secondNormal / sStep;

-        replaceIndexVariableNameWithUpdated(first.getBody(), fStep, fLow, first.getIndexVariable()

-            .getText());

-        replaceIndexVariableNameWithUpdated(second.getBody(), sStep, sLow, second.getIndexVariable()

-            .getText());

-

-        first.setLowerBoundIExpr(0);

-        second.setLowerBoundIExpr(0);

-        first.setUpperBoundIExpr(firstNormal);

-        second.setUpperBoundIExpr(secondNormal);

-        first.setStepInt(1);

-        second.setStepInt(1);

-

-    }

-

-    private void replaceIndexVariableNameWithUpdated(IASTNode node, final int stepNum, final int low,

-        final String iterationName)

-    {

-        node.accept(new ASTVisitorWithLoops()

-        {

-            @Override

-            public void visitToken(Token token)

-            {

-                if (token.getTerminal() == Terminal.T_IDENT

-                    && token.getText().equalsIgnoreCase(iterationName))

-                {

-                    // replace i with iteration step i*step+lb

-                    String s = "(" + token.getText() + "*" + Integer.toString(stepNum); //$NON-NLS-1$ //$NON-NLS-2$

-                    s = s + "+" + Integer.toString(low) + ")"; //$NON-NLS-1$ //$NON-NLS-2$

-                    token.replaceWith(s);

-                }

-            }

-        });

-    }

-

-    @SuppressWarnings({ "rawtypes", "unchecked" })

-    private void fuseLoops(ASTProperLoopConstructNode first, ASTProperLoopConstructNode second)

-    {

-        IASTListNode firstBody = first.getBody();

-        IASTListNode secondBody = parseLiteralStatementSequence(second.getBody().toString());

-        replaceIndexVariableName(secondBody, (second.getIndexVariable().getText()),

-            (first.getIndexVariable().getText()));

-        firstBody.add(secondBody);

-

-        second.removeFromTree();

-

-    }

-

-    private void replaceIndexVariableName(IASTNode node, final String name,

-        final String replacer)

-    {

-        node.accept(new ASTVisitorWithLoops()

-        {

-            @Override

-            public void visitToken(Token token)

-            {

-                if (token.getTerminal() == Terminal.T_IDENT && (token.getText()).equals(name))

-                {

-                    token.setText(replacer);

-                }

-            }

-        });

-    }

-

-    private boolean checkLoopCompatibility(ASTProperLoopConstructNode first,

-        ASTProperLoopConstructNode second)

-    {

-        calculateNormalizedLoopBounds(first, second);

-        if (firstNormal == secondNormal) { return true; }

-        return false;

-    }

-

-    private void calculateNormalizedLoopBounds(ASTProperLoopConstructNode first,

-        ASTProperLoopConstructNode second)

-    {

-        int fLow = first.getLowerBoundInt();

-        int fHigh = first.getUpperBoundInt();

-        int sLow = second.getLowerBoundInt();

-        int sHigh = second.getUpperBoundInt();

-        int fStep = first.getStepInt();

-        int sStep = second.getStepInt();

-        firstNormal = fHigh - fLow;

-        firstNormal = firstNormal / fStep;

-        secondNormal = sHigh - sLow;

-        secondNormal = secondNormal / sStep;

-    }

-

-    @Override

-    public String getName()

-    {

-        return Messages.FuseLoopsRefactoring_LoopFusionName;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IfConstructStatementConversionRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IfConstructStatementConversionRefactoring.java
deleted file mode 100644
index 6413cb5..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IfConstructStatementConversionRefactoring.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Zeeshan Ansari, Mark Chen, Burim Isai, Waseem Sheikh, Mumtaz Vauhkonen. 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    Zeeshan Ansari

- *    Mark Chen

- *    Mumtaz Vauhkonen

- *    Burim Isai

- *    Waseem Sheikh

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.internal.core.parser.ASTIfConstructNode;

-import org.eclipse.photran.internal.core.parser.ASTIfStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTNode;

-import org.eclipse.photran.internal.core.parser.IExecutionPartConstruct;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;

-

-/**

- * Converts an IF construct to an IF statement and vice versa. User must select the entire IF

- * statement or IF construct block, and select the refactoring option in the menu.

- * 

- * @author Zeeshan Ansari

- * @author Mark Chen

- * @author Mumtaz Vauhkonrn

- * @author Burim Isai

- * @author Waseem Sheikh

- */

-public class IfConstructStatementConversionRefactoring extends FortranEditorRefactoring

-{

-    private ASTNode selectedNode = null;

-    private boolean shouldAddEmptyElseBlock = false;

-

-    /**

-     * Beyond the standard condition checks, this checks to ensure that a valid IF statement or IF

-     * construct is selected and is refactorable.

-     * 

-     * @param ifConstructNode

-     * @throws PreconditionFailure

-     */

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-

-        if (!fileInEditor.exists())

-            fail(Messages.FortranEditorRefactoring_CantPerformRefactoringOnFileThatDoesNotExist);

-

-        if (fileInEditor.isReadOnly())

-            fail(Messages.FortranEditorRefactoring_CantPerformRefactoringOnReadOnlyFile);

-

-        ASTIfStmtNode ifStmtNode = getNode(this.astOfFileInEditor, this.selectedRegionInEditor, ASTIfStmtNode.class);

-        ASTIfConstructNode ifConstructNode = getNode(this.astOfFileInEditor, this.selectedRegionInEditor, ASTIfConstructNode.class);

-

-        if (ifStmtNode != null)

-            selectedNode = ifStmtNode;

-        else if (ifConstructNode != null)

-        {

-            checkRefactorableConstruct(ifConstructNode);

-            selectedNode = ifConstructNode;

-        }

-        else

-            fail(Messages.IfConstructStatementConversionRefactoring_SelectAValidIfStatement);

-    }

-

-    /**

-     * Checks various conditions to see if the user-selected IF construct is refactorable to an IF

-     * statement. This includes making sure there is only one valid statement line in the construct

-     * and that the construct is not named.

-     * 

-     * @param ifConstructNode

-     * @throws PreconditionFailure

-     */

-    private void checkRefactorableConstruct(ASTIfConstructNode ifConstructNode) throws PreconditionFailure

-    {

-        // Checks for named construct

-        if (ifConstructNode.getIfThenStmt().getName() != null)

-            fail(Messages.IfConstructStatementConversionRefactoring_InvalidNamedConstruct);

-        

-        // Check for multiple statements within construct

-        if (ifConstructNode.getConditionalBody().size() > 1

-                || ifConstructNode.getElseIfConstruct() != null

-                || ifConstructNode.getElseConstruct() != null)

-            fail(Messages.IfConstructStatementConversionRefactoring_TooManyStatements);

-    }

-

-    public boolean isStmtNode()

-    {

-        return selectedNode != null && selectedNode instanceof ASTIfStmtNode;

-    }

-

-    public void setAddEmptyElseBlock()

-    {

-        shouldAddEmptyElseBlock = true;

-    }

-

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        // No final preconditions

-    }

-

-    /**

-     * Determines whether an IF statement is selected or an IF construct is selected (done in

-     * pre-condition). Depending on which, it will execute the appropriate refactoring (statement to

-     * construct or vise versa). It will then reindent the entire section of refactored code based

-     * on the formating context of the code around it.

-     * 

-     * @param pm

-     * @throws CoreException, OperationCanceledException

-     */

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-        if (selectedNode instanceof ASTIfStmtNode)

-            refactorIfStmt();

-        else if (selectedNode instanceof ASTIfConstructNode)

-            refactorIfConstruct();

-        else

-            throw new IllegalStateException();

-

-        Reindenter.reindent(selectedNode, this.astOfFileInEditor, Strategy.REINDENT_EACH_LINE);

-        this.addChangeFromModifiedAST(this.fileInEditor, pm);

-

-    }

-

-    protected void refactorIfStmt()

-    {

-        ASTIfStmtNode ifStmtNode = (ASTIfStmtNode)selectedNode;

-        ifStmtNode.replaceWith(createNewIfConstruct(ifStmtNode));

-    }

-

-    protected void refactorIfConstruct()

-    {

-        ASTIfConstructNode ifConstructNode = (ASTIfConstructNode)selectedNode;

-        ifConstructNode.replaceWith(createNewIfStmt(ifConstructNode));

-    }

-

-    /**

-     * Creates a new IF statement from the selected IF construct

-     * 

-     * @param ifConstructNode

-     */

-    private ASTIfStmtNode createNewIfStmt(ASTIfConstructNode ifConstructNode)

-    {

-        StringBuilder sb = new StringBuilder();

-

-        sb.append("    if ("); //$NON-NLS-1$

-        sb.append(ifConstructNode.getIfThenStmt().getGuardingExpression().toString().trim());

-        sb.append(") "); //$NON-NLS-1$

-        

-        if (!ifConstructNode.getConditionalBody().isEmpty())

-        {

-            IExecutionPartConstruct stmt = ifConstructNode.getConditionalBody().get(0);

-            

-            String leadingComments = stmt.findFirstToken().getWhiteBefore().trim();

-            if (!leadingComments.equals("")) //$NON-NLS-1$

-            {

-                sb.append("&\n"); //$NON-NLS-1$

-                sb.append(stmt.toString());

-            }

-            else

-            {

-                sb.append(stmt.toString().trim() + "\n"); //$NON-NLS-1$

-            }

-        }

-        

-        ASTIfStmtNode result = (ASTIfStmtNode)parseLiteralStatement(sb.toString());

-        

-        String trailingComments = ifConstructNode.getEndIfStmt().findFirstToken().getWhiteBefore();

-        if (!trailingComments.trim().equals("")) //$NON-NLS-1$

-            result.findLastToken().setWhiteAfter(trailingComments + "\n"); //$NON-NLS-1$

-

-        return result;

-    }

-

-    /**

-     * Creates a new IF construct from the selected IF statement, with an option to add an empty

-     * ELSE construct

-     * 

-     * @param ifConstructNode

-     */

-    private ASTIfConstructNode createNewIfConstruct(ASTIfStmtNode ifStmtNode)

-    {

-        StringBuilder sb = new StringBuilder();

-

-        sb.append("    if ("); //$NON-NLS-1$

-        sb.append(ifStmtNode.getGuardingExpression().toString());

-        sb.append(") then"); //$NON-NLS-1$

-        sb.append("\n        "); //$NON-NLS-1$

-        sb.append(ifStmtNode.getActionStmt().toString().trim());

-        sb.append("\n        !can add more statements here"); //$NON-NLS-1$

-        if (shouldAddEmptyElseBlock)

-        {

-            sb.append("\n    else"); //$NON-NLS-1$

-            sb.append("\n        !can add more statements here"); //$NON-NLS-1$

-        }

-        sb.append("\n    end if"); //$NON-NLS-1$

-

-        ASTIfConstructNode newIfConstructNode = (ASTIfConstructNode)parseLiteralStatement(sb

-            .toString());

-

-        return newIfConstructNode;

-    }

-

-    @Override

-    public String getName()

-    {

-        return Messages.IfConstructStatementConversionRefactoring_Name;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/InterchangeLoopsRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/InterchangeLoopsRefactoring.java
deleted file mode 100644
index 4fb9b08..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/InterchangeLoopsRefactoring.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;
-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTEndDoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTLabelDoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;
-
-/**
- * Interchanges two perfectly-nested DO-loops.
- *
- * @author Tim Yuvashev
- * @author Ashley Kasza - externalized strings
- */
-public class InterchangeLoopsRefactoring extends FortranEditorRefactoring
-{
-    private ASTProperLoopConstructNode outerLoop = null;
-    private ASTProperLoopConstructNode innerLoop = null;
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        // Change AST to represent DO-loops as ASTProperLoopConstructNodes
-        LoopReplacer.replaceAllLoopsIn(this.astOfFileInEditor.getRoot());
-
-        outerLoop = findOuterLoop();
-        innerLoop = findInnerLoop();
-        if (outerLoop == null || innerLoop == null || outerLoop == innerLoop)
-            fail(Messages.InterchangeLoopsRefactoring_SelectTwoPerfNextedLoops);
-
-        status.addWarning(Messages.InterchangeLoopsRefactoring_UncheckedTransNotGuaranteedToPreserve);
-    }
-
-    private ASTProperLoopConstructNode findOuterLoop()
-    {
-        return getLoopNode(this.astOfFileInEditor, this.selectedRegionInEditor);
-    }
-
-    private ASTProperLoopConstructNode findInnerLoop()
-    {
-        if (outerLoop != null)
-            return getLoopNode(outerLoop.getBody().findFirstToken(),
-                               outerLoop.getBody().findLastToken());
-        else
-            return null;
-    }
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        // No final preconditions
-    }
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,
-        OperationCanceledException
-    {
-        swapHeaders();
-        swapEndDoStmt();
-        swapComments();
-
-        Reindenter.reindent(outerLoop, this.astOfFileInEditor, Strategy.REINDENT_EACH_LINE);
-
-        this.addChangeFromModifiedAST(this.fileInEditor, pm);
-
-        vpg.releaseAST(this.fileInEditor);
-    }
-
-    protected void swapHeaders()
-    {
-        ASTLabelDoStmtNode outerHeader = outerLoop.getLoopHeader();
-        ASTLabelDoStmtNode innerHeader = innerLoop.getLoopHeader();
-
-        swap(outerHeader, innerHeader);
-    }
-
-    protected void swapEndDoStmt()
-    {
-        ASTEndDoStmtNode outerEnd = outerLoop.getEndDoStmt();
-        ASTEndDoStmtNode innerEnd = innerLoop.getEndDoStmt();
-
-        swap(outerEnd, innerEnd);
-    }
-
-    protected void swapComments()
-    {
-        Token outerLoopDoToken = outerLoop.getLoopHeader().findFirstToken();
-        Token innerLoopDoToken = innerLoop.getLoopHeader().findFirstToken();
-
-        String outerLoopWhiteText = outerLoopDoToken.getWhiteBefore();
-        String innerLoopWhiteText = innerLoopDoToken.getWhiteBefore();
-
-        innerLoopDoToken.setWhiteBefore(outerLoopWhiteText);
-        outerLoopDoToken.setWhiteBefore(innerLoopWhiteText);
-    }
-
-    protected void swap(ASTNode outerElement, ASTNode innerElement)
-    {
-        outerElement.setParent(innerLoop);
-        innerElement.setParent(outerLoop);
-        innerLoop.replaceChild(innerElement, outerElement);
-        outerLoop.replaceChild(outerElement, innerElement);
-    }
-
-    @Override
-    public String getName()
-    {
-        return Messages.InterchangeLoopsRefactoring_Name;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IntroImplicitNoneRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IntroImplicitNoneRefactoring.java
deleted file mode 100644
index 7a18d20..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IntroImplicitNoneRefactoring.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.parser.ASTDerivedTypeDefNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTImplicitStmtNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IBodyConstruct;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-
-/**
- * Refactoring to add an IMPLICIT NONE statement and explicit declarations for all
- * implicitly-declared variables into a scope and all nested scopes (where needed).
- *
- * @author Jeff Overbey, Timofey Yuvashev
- * @author Ashley Kasza - externalized strings
- */
-public class IntroImplicitNoneRefactoring extends FortranResourceRefactoring
-{
-    @Override
-    public String getName()
-    {
-        return Messages.IntroImplicitNoneRefactoring_Name;
-    }
-
-    /*
-     * public String getScopeDescription() { return selectedScope == null ||
-     * selectedScope.getHeaderStmt() == null ? "the selected scope..." : "\n" +
-     * SourcePrinter.getSourceCodeFromASTNode(selectedScope.getHeaderStmt()); }
-     */
-
-    // /////////////////////////////////////////////////////////////////////////
-    // Initial Preconditions
-    // /////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-        removeFixedFormFilesFrom(this.selectedFiles, status);
-        removeCpreprocessedFilesFrom(this.selectedFiles, status);        
-    }
-
-    // /////////////////////////////////////////////////////////////////////////
-    // Final Preconditions & Change Creation
-    // /////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        logVPGErrors(status, this.selectedFiles);
-
-        try
-        {
-            for (IFile f : this.selectedFiles)
-            {
-                IFortranAST tempAST = this.vpg.acquirePermanentAST(f);
-                if (tempAST == null)
-                {
-                    status.addError(
-                        Messages.bind(Messages.IntroImplicitNoneRefactoring_SelectedFileCannotBeParsed, f.getName()));
-                }
-                else
-                {
-                    introduceImplicitNoneInFile(pm, tempAST.getRoot(), tempAST, f);
-                    vpg.releaseAST(f);
-                }
-
-            }
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    @SuppressWarnings("unchecked")
-    private void introduceImplicitNoneInFile(
-        IProgressMonitor progressMonitor,
-        ScopingNode scopeNode,
-        IFortranAST ast,
-        IFile file)
-    {
-        assert scopeNode != null;
-        // Get all scopes contained in the file
-        List<ScopingNode> nodeList = scopeNode.getAllContainedScopes();
-
-        for (ScopingNode scope : nodeList)
-        {
-            if (!(scope instanceof ASTExecutableProgramNode)
-                && !(scope instanceof ASTDerivedTypeDefNode) && !scope.isImplicitNone())
-            {
-                ASTImplicitStmtNode implicitStmt = findExistingImplicitStatement(scope);
-                if (implicitStmt != null) implicitStmt.removeFromTree();
-
-                IASTListNode<IBodyConstruct> newDeclarations = constructDeclarations(scope);
-                IASTListNode<IASTNode> body = (IASTListNode<IASTNode>)scope.getOrCreateBody();
-                body.addAll(findIndexOfLastUseStmtIn(body)+1, newDeclarations);
-                Reindenter.reindent(newDeclarations, ast);
-            }
-        }
-
-        this.addChangeFromModifiedAST(file, progressMonitor);
-    }
-
-    private IASTListNode<IBodyConstruct> constructDeclarations(final ScopingNode scope)
-    {
-        final ArrayList<Definition> definitions = new ArrayList<Definition>(16);
-
-        for (Definition def : scope.getAllDefinitions())
-            if (def != null && def.isImplicit())
-                definitions.add(def);
-
-        StringBuilder newStmts = new StringBuilder();
-        newStmts.append("implicit none" + EOL); //$NON-NLS-1$
-        for (Definition def : sort(definitions))
-            newStmts.append(constructDeclaration(def));
-        return parseLiteralStatementSequence(newStmts.toString());
-    }
-
-    private ArrayList<Definition> sort(ArrayList<Definition> array)
-    {
-        for (int indexOfElementToInsert = 1;
-             indexOfElementToInsert < array.size();
-             indexOfElementToInsert++)
-        {
-            Definition def = array.get(indexOfElementToInsert);
-            int targetIndex = findInsertionIndexForSorting(array, indexOfElementToInsert);
-            for (int i = indexOfElementToInsert - 1; i >= targetIndex; i--)
-                array.set(i + 1, array.get(i));
-            array.set(targetIndex, def);
-        }
-        return array;
-    }
-
-    private int findInsertionIndexForSorting(ArrayList<Definition> array, int indexOfElementToInsert)
-    {
-        for (int beforeIndex = 0; beforeIndex < indexOfElementToInsert; beforeIndex++)
-            if (array.get(indexOfElementToInsert).getCanonicalizedName().compareTo(
-                array.get(beforeIndex).getCanonicalizedName()) < 0) return beforeIndex;
-
-        return indexOfElementToInsert;
-    }
-
-    private String constructDeclaration(final Definition def)
-    {
-        Type type = def.getType();
-        String typeString = type == null ? "type(unknown)" : type.toString(); // TODO //$NON-NLS-1$
-        return typeString + " :: " + def.getCanonicalizedName() + EOL; //$NON-NLS-1$
-    }
-
-    @Override
-    protected void doCreateChange(IProgressMonitor progressMonitor) throws CoreException,
-        OperationCanceledException
-    {
-        // Change creation done in #doCheckFinalConditions
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/KeywordCaseRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/KeywordCaseRefactoring.java
deleted file mode 100644
index 349a84c..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/KeywordCaseRefactoring.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;
-
-/**
- * Refactoring to unify case of all keywords in Fortran files.
- *
- * @author Kurt Hendle
- * @author Ashley Kasza - externalized strings
- */
-public class KeywordCaseRefactoring extends FortranResourceRefactoring
-{
-    private boolean lowerCase = true;   //true for lower case, false for upper case
-
-    @Override
-    public String getName()
-    {
-        return Messages.KeywordCaseRefactoring_Name;
-    }
-
-    public void setLowerCase(boolean value)
-    {
-        this.lowerCase = value;
-    }
-
-    /** borrowed from RepObsOpersRefactoring.java */
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-        removeFixedFormFilesFrom(this.selectedFiles, status);
-        removeCpreprocessedFilesFrom(this.selectedFiles, status);
-    }
-
-    /** borrowed from RepObsOpersRefactoring.java */
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        try
-        {
-            for (IFile file : selectedFiles)
-            {
-                IFortranAST ast = vpg.acquirePermanentAST(file);
-                if (ast == null)
-                    status.addError(Messages.bind(Messages.KeywordCaseRefactoring_SelectedFileCannotBeParsed, file.getName()));
-                makeChangesTo(file, ast, status, pm);
-                vpg.releaseAST(file);
-            }
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    /** modeled after RepObsOpersRefactoring.java */
-    private void makeChangesTo(IFile file, IFortranAST ast, RefactoringStatus status, IProgressMonitor pm) throws Error
-    {
-        try
-        {
-            if (ast == null) return;
-
-            CaseChangingVisitor replacer = new CaseChangingVisitor();
-            replacer.lowerCase = this.lowerCase;
-            ast.accept(replacer);
-            if (replacer.changedAST) // Do not include the file in changes unless actually changed
-                addChangeFromModifiedAST(file, pm);
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    /** borrowed from RepObsOpersRefactoring.java */
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-    }
-
-    private static final class CaseChangingVisitor extends GenericASTVisitor
-    {
-        private boolean changedAST = false;
-        private boolean lowerCase;
-
-        @Override
-        public void visitToken(Token node)
-        {
-            Terminal term = node.getTerminal();
-
-            if (term == Terminal.T_IDENT || term == Terminal.T_PCON ||
-                term == Terminal.T_FCON || term == Terminal.T_BCON ||
-                term == Terminal.T_ZCON || term == Terminal.T_SCON ||
-                term == Terminal.T_DCON || term == Terminal.T_XCON ||
-                term == Terminal.T_OCON || term == Terminal.T_HCON)
-            {
-                //ignore these 10 terminals (identifiers and constants)
-            }
-            else
-                changeCaseOf(node);
-        }
-
-        private void changeCaseOf(Token node)
-        {
-            if(lowerCase)
-                node.findFirstToken().setText(node.getText().toLowerCase());
-            else
-                node.findFirstToken().setText(node.getText().toUpperCase());
-
-            changedAST = true;
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MakePrivateEntityPublicRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MakePrivateEntityPublicRefactoring.java
deleted file mode 100644
index 8608d02..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MakePrivateEntityPublicRefactoring.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTAccessSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTAccessStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTAttrSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTAttrSpecSeqNode;
-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTExternalStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTGenericNameNode;
-import org.eclipse.photran.internal.core.parser.ASTInterfaceBlockNode;
-import org.eclipse.photran.internal.core.parser.ASTIntrinsicStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTObjectNameNode;
-import org.eclipse.photran.internal.core.parser.ASTSeparatedListNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-
-/**
- *
- * @author Kurt Hendle
- * @author Ashley Kasza - externalized strings
- */
-@SuppressWarnings({ "rawtypes", "unchecked" })
-public class MakePrivateEntityPublicRefactoring extends FortranEditorRefactoring
-{
-    //used by all forms
-    private int numPrivateEnt = 0;
-    private String identName = null;
-    private ASTAccessSpecNode accessNodeSpec = null;
-    //simple access statement
-    private ASTAccessStmtNode accessNode = null;
-    private ASTGenericNameNode identifierNode = null;
-    //access statement in declaration attributes
-    private String selectedVarType;
-    private String varSpecAttrs = ""; //$NON-NLS-1$
-    private ASTTypeDeclarationStmtNode declarationStmtNode = null;
-    private ASTEntityDeclNode entDeclNode = null;
-    private ASTObjectNameNode identNameNode = null;
-    //subroutine inside module with private statement by itself
-    private ASTSubroutineSubprogramNode subroutineNode = null;
-    //function inside module with private statement by itself
-    private ASTFunctionSubprogramNode functionNode = null;
-    //private statement by itself
-    private ASTAccessStmtNode lonePrivateNode = null;
-    private boolean entireProgramPriv = false;
-
-    @Override
-    public String getName()
-    {
-        return Messages.MakePrivateEntityPublicRefactoring_Name;
-    }
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        Token token = findEnclosingToken();
-
-        checkForUnsupportedType(token);
-
-        identName = this.selectedRegionInEditor.getText();
-        if(identName.equals("")) //$NON-NLS-1$
-            fail(Messages.MakePrivateEntityPublicRefactoring_SelectPrivateEntityName);
-
-        //see if any of the supported type of nodes exist and get their info
-        accessNode = token.findNearestAncestor(ASTAccessStmtNode.class);
-        if(accessNode != null)
-        {
-            accessNodeSpec = accessNode.getAccessSpec();
-            identifierNode = token.findNearestAncestor(ASTGenericNameNode.class);
-            numPrivateEnt = accessNode.getAccessIdList().size();
-        }
-        else
-            readDeclarationStmtNode(token);
-
-        if(declarationStmtNode == null && accessNode == null)
-            checkForSubroutineStmtNode(token);
-
-        if(subroutineNode == null && accessNode == null)
-            checkForFunctionStmtNode(token);
-
-        if(accessNodeSpec == null)
-            fail(Messages.MakePrivateEntityPublicRefactoring_NoPrivateEntitySelected);
-
-        if(accessNodeSpec.isPublic())
-            fail(Messages.MakePrivateEntityPublicRefactoring_PublicEntitySelectedSelectPrivate);
-    }
-
-    //modified from RenameRefactoring.java
-    private Token findEnclosingToken() throws PreconditionFailure
-    {
-        Token selectedToken = findEnclosingToken(this.astOfFileInEditor, this.selectedRegionInEditor);
-        if (selectedToken == null)
-            fail(Messages.MakePrivateEntityPublicRefactoring_HighlightPrivateEntityName);
-        return selectedToken;
-    }
-
-    //checks for intrinsics, externals, and interfaces - unsupported types
-    private void checkForUnsupportedType(Token token) throws PreconditionFailure
-    {
-      //check for an interface, intrinsic or external statement
-        ASTIntrinsicStmtNode intrinsic = token.findNearestAncestor(ASTIntrinsicStmtNode.class);
-        ASTExternalStmtNode external = token.findNearestAncestor(ASTExternalStmtNode.class);
-        ASTInterfaceBlockNode interfaceNode = token.findNearestAncestor(ASTInterfaceBlockNode.class);
-
-        if(intrinsic != null)
-            fail(Messages.MakePrivateEntityPublicRefactoring_DoesNotSupportIntrinsicEntities);
-        else if(external != null)
-            fail(Messages.MakePrivateEntityPublicRefactoring_DoesNotSupportExternalEntities);
-        else if(interfaceNode != null)
-            fail(Messages.MakePrivateEntityPublicRefactoring_DoesNotSupportInterfaceDeclarations);
-    }
-
-    //parses information from a declaration statement
-    private void readDeclarationStmtNode(Token token) throws PreconditionFailure
-    {
-        selectedVarType = vpg.getDefinitionFor(token.getTokenRef()).getType().toString();
-
-        declarationStmtNode = token.findNearestAncestor(ASTTypeDeclarationStmtNode.class);
-        entDeclNode = token.findNearestAncestor(ASTEntityDeclNode.class);
-
-        if(declarationStmtNode == null || entDeclNode == null)
-            return;//fail("Could not find private entity declaration.");
-
-        if(declarationStmtNode.getAttrSpecSeq() != null)
-        {
-            for(ASTAttrSpecSeqNode attrNode : declarationStmtNode.getAttrSpecSeq())
-            {
-                ASTAttrSpecNode specNode = attrNode.getAttrSpec();
-                if(!specNode.toString().trim().equals("private")) //$NON-NLS-1$
-                {
-                    varSpecAttrs += ","; //$NON-NLS-1$
-                    varSpecAttrs += specNode.toString();
-                }
-
-                if(specNode.getAccessSpec() != null)
-                    accessNodeSpec = specNode.getAccessSpec();
-            }
-        }
-
-        if(accessNodeSpec == null)
-            checkIfEntireProgramPriv(token); //see if a PRIVATE statement exists alone
-
-        identNameNode = token.findNearestAncestor(ASTObjectNameNode.class);
-        if(accessNodeSpec != null || entireProgramPriv)
-            numPrivateEnt = declarationStmtNode.getEntityDeclList().size();
-    }
-
-    private void checkForSubroutineStmtNode(Token token) throws PreconditionFailure
-    {
-        subroutineNode = token.findNearestAncestor(ASTSubroutineSubprogramNode.class);
-
-        if(subroutineNode != null)
-        {
-            checkIfEntireProgramPriv(token);
-            numPrivateEnt = 1;
-        }
-    }
-
-    private void checkForFunctionStmtNode(Token token)
-    {
-        functionNode = token.findNearestAncestor(ASTFunctionSubprogramNode.class);
-
-        if(functionNode != null)
-        {
-            checkIfEntireProgramPriv(token);
-            numPrivateEnt = 1;
-        }
-    }
-
-    private void checkIfEntireProgramPriv(Token token)
-    {
-        ASTListNode progBody = null;
-        //set which body to check
-        if(declarationStmtNode != null)
-            progBody = (ASTListNode)declarationStmtNode.getParent();
-        else if(subroutineNode != null)
-        {   //need to distinguish between module and main program node containing subroutine
-            if(token.findNearestAncestor(ASTMainProgramNode.class) != null)
-                progBody = (ASTListNode) ((ASTMainProgramNode)subroutineNode.getParent().getParent()).getBody();
-            else
-                progBody = (ASTListNode)subroutineNode.getParent();
-        }
-        else if(functionNode != null)
-        {   //also need to distinguish between module/main program
-            if(token.findNearestAncestor(ASTMainProgramNode.class) != null)
-                progBody = (ASTListNode) ((ASTMainProgramNode)functionNode.getParent().getParent()).getBody();
-            else
-                progBody = (ASTListNode)functionNode.getParent();
-        }
-
-        for(int i=0; i<progBody.size(); i++)
-        {
-            if(progBody.get(i) instanceof ASTAccessStmtNode)
-            {
-                ASTAccessStmtNode node = (ASTAccessStmtNode)progBody.get(i);
-                if(node.getAccessIdList() == null && node.getAccessSpec().isPrivate())
-                {
-                    accessNodeSpec = node.getAccessSpec();
-                    lonePrivateNode = node;
-                    entireProgramPriv = true;
-                }
-
-            }
-        }
-    }
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,
-        OperationCanceledException
-    {
-        IFortranAST ast = vpg.acquirePermanentAST(fileInEditor);
-        if(ast == null) return;
-
-        if(numPrivateEnt == 1)
-            changePrivateToPublic(ast);
-        else if(numPrivateEnt > 1)
-        {
-            createPublicNode(ast);
-            removeIdentifierFromPrivateList();
-        }
-
-        addChangeFromModifiedAST(fileInEditor, pm);
-        vpg.releaseAST(fileInEditor);
-    }
-
-    private void changePrivateToPublic(IFortranAST ast)
-    {
-        if(entireProgramPriv)
-        {  //whole program/subprogram is private so need to change the node to declare public
-            handleDeclarationSubroutineOrFunction(ast);
-        }
-        else
-        {   //simply switch private to public
-            Token newToken = new Token(Terminal.T_PUBLIC, "public"); //$NON-NLS-1$
-            accessNodeSpec.setIsPrivate(null);
-            accessNodeSpec.setIsPublic(newToken);
-
-            if(accessNode != null)
-                Reindenter.reindent(accessNode, ast);
-            else
-                Reindenter.reindent(declarationStmtNode, ast);
-        }
-    }
-
-    private void handleDeclarationSubroutineOrFunction(IFortranAST ast)
-    {
-        if(declarationStmtNode != null)
-        {
-            ASTTypeDeclarationStmtNode newStmtNode =
-                (ASTTypeDeclarationStmtNode) parseLiteralStatement(selectedVarType + ", public" + //$NON-NLS-1$
-                    varSpecAttrs + " :: " + identNameNode.getObjectName().getText() + //$NON-NLS-1$
-                    System.getProperty("line.separator")); //$NON-NLS-1$
-
-            ASTListNode body = (ASTListNode)declarationStmtNode.getParent();
-            body.replaceChild(declarationStmtNode, newStmtNode);
-            Reindenter.reindent(newStmtNode, ast);
-        }
-        else if(subroutineNode != null || functionNode != null)
-        {
-            ASTAccessStmtNode newStmtNode = (ASTAccessStmtNode)parseLiteralStatement("public " + //$NON-NLS-1$
-                identName + System.getProperty("line.separator")); //$NON-NLS-1$
-
-            ASTListNode body = (ASTListNode)lonePrivateNode.getParent();
-            body.insertAfter(lonePrivateNode, newStmtNode);
-            Reindenter.reindent(newStmtNode, ast);
-        }
-    }
-
-    private void createPublicNode(IFortranAST ast)
-    {
-        if(accessNode != null)
-        {
-            //make a new public ASTAccessStmtNode
-            ASTAccessStmtNode newStmtNode = (ASTAccessStmtNode)parseLiteralStatement("public " + //$NON-NLS-1$
-                identifierNode.getGenericName().getText()+System.getProperty("line.separator")); //$NON-NLS-1$
-
-            //insert the public node into the program body in AST
-            ASTListNode body = (ASTListNode)accessNode.getParent();
-            body.insertAfter(accessNode, newStmtNode);
-            Reindenter.reindent(newStmtNode, ast);
-        }
-        else
-        {
-            ASTTypeDeclarationStmtNode newStmtNode =
-                (ASTTypeDeclarationStmtNode) parseLiteralStatement(selectedVarType + ", public" + //$NON-NLS-1$
-                    varSpecAttrs + " :: " + identNameNode.getObjectName().getText() + //$NON-NLS-1$
-                    System.getProperty("line.separator")); //$NON-NLS-1$
-
-            ASTListNode body = (ASTListNode)declarationStmtNode.getParent();
-            body.insertAfter(declarationStmtNode, newStmtNode);
-            Reindenter.reindent(newStmtNode, ast);
-        }
-    }
-
-    private void removeIdentifierFromPrivateList()
-    {
-        if(accessNode != null)
-        {
-            ASTSeparatedListNode list = (ASTSeparatedListNode)accessNode.getAccessIdList();
-            list.remove(identifierNode); //remove old entry
-        }
-        else
-        {
-            ASTSeparatedListNode list = (ASTSeparatedListNode)declarationStmtNode.getEntityDeclList();
-            list.remove(entDeclNode);
-        }
-    }
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        //nothing to do here
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MakeSaveExplicitRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MakeSaveExplicitRefactoring.java
deleted file mode 100644
index 0a76096..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MakeSaveExplicitRefactoring.java
+++ /dev/null
@@ -1,431 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Stephen Downs, Robert Samblanet, Kevin Schilling, Jon 

- * Woolwine, and Chad Zamzow

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *      Stephen Downs, Robert Samblanet, Kevin Schilling, 

- *      Jon Woolwine, and Chad Zamzow

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import java.util.HashSet;

-import java.util.Iterator;

-import java.util.TreeSet;

-

-import org.eclipse.core.internal.resources.SavedState;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.core.IFortranAST;

-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;

-import org.eclipse.photran.internal.core.lexer.Terminal;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTAttrSpecNode;

-import org.eclipse.photran.internal.core.parser.ASTAttrSpecSeqNode;

-import org.eclipse.photran.internal.core.parser.ASTDatalistNode;

-import org.eclipse.photran.internal.core.parser.ASTDataStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;

-import org.eclipse.photran.internal.core.parser.ASTListNode;

-import org.eclipse.photran.internal.core.parser.ASTSaveStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTSavedEntityNode;

-import org.eclipse.photran.internal.core.parser.ASTSeparatedListNode;

-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTVariableNode;

-import org.eclipse.photran.internal.core.parser.ASTVisitor;

-import org.eclipse.photran.internal.core.parser.IASTListNode;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-

-/**

- * Makes all implicitly saved variables explicitly saved.

- * 

- * @author Stephen Downs

- * @author Robert Samblanet

- * @author Kevin Schilling

- * @author Jon Woolwine

- * @author Chad Zamzow

- */

-@SuppressWarnings("all")

-public class MakeSaveExplicitRefactoring extends FortranResourceRefactoring

-{

-    ///////////////////////////////////////////////////////////////////////////

-    // Fields

-    ///////////////////////////////////////////////////////////////////////////

-

-    @Override

-    public String getName()

-    {

-        return Messages.MakeSaveExplicitRefactoring_Name;

-    }

-    

-    private IFortranAST currAST = null;

-

-    ///////////////////////////////////////////////////////////////////////////

-    // Initial Preconditions

-    ///////////////////////////////////////////////////////////////////////////

-

-    /**

-     * @see MoveSavedToCommonBlockRefactoring

-     */

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-    throws PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-    }

-

-    ///////////////////////////////////////////////////////////////////////////

-    // Final Preconditions

-    ///////////////////////////////////////////////////////////////////////////

-

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure{

-        try

-        {

-            for (IFile file : selectedFiles)

-            {

-                IFortranAST ast = vpg.acquirePermanentAST(file);

-                if(ast == null)

-                {

-                    status.addError(Messages.bind(Messages.MakeSaveExplicitRefactoring_SelectedFileCannotBeParsed, file.getName()));

-                }

-                else

-                {

-                    currAST = ast;

-                    makeChangesTo(file, status, pm);

-                    vpg.releaseAST(file);

-                }

-            }

-        }

-        finally

-        {

-            vpg.releaseAllASTs();

-        }    

-    }

-

-    ///////////////////////////////////////////////////////////////////////////

-    // Change

-    ///////////////////////////////////////////////////////////////////////////

-

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException

-    {

-

-    }

-    

-    /**

-     * Given an AST, makes the refactoring changes by calling the makeAllSaveAttributesExplicit function 

-     * @param file

-     * @param status

-     * @param pm

-     * @throws PreconditionFailure

-     */

-    private void makeChangesTo(IFile file, RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure

-    {

-        for (ScopingNode scope : currAST.getRoot().getAllContainedScopes())

-        {

-            SavedVariableVisitor savedVariableVisitor = new SavedVariableVisitor();

-            scope.accept(savedVariableVisitor);

-            if(!savedVariableVisitor.hasGlobalSaveStmt() && !scope.isMainProgram())

-            {

-                HashSet<String> explicitlySavedVariables = savedVariableVisitor.getExplicitlySavedVariables();

-                TreeSet<String> dataVariables = savedVariableVisitor.getDataBlockVariables();

-                makeAllSaveAttributesExplicit(scope, explicitlySavedVariables, dataVariables);

-            }

-        }

-        addChangeFromModifiedAST(file, pm);

-    }

-    

-    /**

-     * Makes all implicit saves explicit in the given scope

-     * @param scope

-     * @param explicitlySavedVariables

-     * @param dataEntities

-     * @throws PreconditionFailure

-     */

-    private void makeAllSaveAttributesExplicit(ScopingNode scope, HashSet<String> explicitlySavedVariables, TreeSet<String> dataEntities) 

-    throws PreconditionFailure

-    {

-        if(scope.getBody() == null)

-        {

-            return;

-        }

-        

-        for (IASTNode node : scope.getBody().getChildren())

-        {

-            if (node instanceof ASTTypeDeclarationStmtNode)

-            {

-                ASTTypeDeclarationStmtNode declarationNode = (ASTTypeDeclarationStmtNode)node;

-                makeImplicitlySavedVariablesExplicitlySaved(scope, declarationNode, dataEntities, explicitlySavedVariables);

-            }

-        }

-        

-        //add all implicitly saved data block variables to a save statement

-        for(String variable : dataEntities)

-        {

-            if(!explicitlySavedVariables.contains(variable.toLowerCase()))

-            {

-                addVariableToSaveStmt(scope, variable);

-                explicitlySavedVariables.add(variable.toLowerCase());

-            }

-        }

-    }

-

-    /**

-     * Helper function that adds SAVE to a type declaration

-     * @param scope

-     * @param typeDeclaration

-     * @param dataEntities

-     * @param savedEntities

-     */

-    private void makeImplicitlySavedVariablesExplicitlySaved(ScopingNode scope, ASTTypeDeclarationStmtNode typeDeclaration, TreeSet<String> dataEntities, HashSet<String> savedEntities)

-    {

-        IASTListNode<ASTEntityDeclNode> entityDeclList = typeDeclaration.getEntityDeclList();

-        boolean declContainsSavedAndUnsavedVariables = containsUnsavedAndSavedVariables(typeDeclaration, dataEntities);

-        for(ASTEntityDeclNode variableDeclaration : entityDeclList)

-        {

-            if (isImplicitlySaved(scope, variableDeclaration, dataEntities) && 

-                !savedEntities.contains(declarationVariableName(variableDeclaration).toLowerCase()))

-            {

-                if(!declContainsSavedAndUnsavedVariables)

-                {

-                    String declString = SourcePrinter.getSourceCodeFromASTNode(typeDeclaration);

-                    ASTAttrSpecSeqNode attrSpecSeqNode = createSaveAttrSpecSeqNode(!declString.contains("::"));

-    

-                    // if there is no attrSpecSeq, create a new one and add it to the typeDeclaration

-                    if( typeDeclaration.getAttrSpecSeq() == null )

-                    {

-                        IASTListNode<ASTAttrSpecSeqNode> attrSpecSeq = new ASTListNode<ASTAttrSpecSeqNode>( 1 );  

-                        typeDeclaration.setAttrSpecSeq(attrSpecSeq);

-                    }

-    

-                    // add Save attribute to attrSpecSeq

-                    typeDeclaration.getAttrSpecSeq().add(attrSpecSeqNode);

-                    

-                    for(ASTEntityDeclNode decl : typeDeclaration.getEntityDeclList())

-                    {

-                        savedEntities.add(declarationVariableName(decl).toLowerCase());

-                    }

-                                        

-                    return;

-                }

-                else

-                {

-                    String variableName = declarationVariableName(variableDeclaration);

-                    savedEntities.add(variableName.toLowerCase());

-                    addVariableToSaveStmt(scope, variableName);

-                }

-            }

-        }

-    }

-

-    /**

-     * Helper function that adds the given variable name to a global save statement in the given scope

-     * @param scope

-     * @param variableName

-     */

-    private void addVariableToSaveStmt(ScopingNode scope, String variableName)

-    {

-        ASTSavedEntityNode savedEntity = new ASTSavedEntityNode();

-        Token savedEntityToken = new Token(Terminal.T_IDENT, variableName);

-        savedEntity.setVariableName(savedEntityToken);

-        for (IASTNode node : scope.getBody().getChildren())

-        {

-            if(node instanceof ASTSaveStmtNode)

-            {

-                IASTListNode<ASTSavedEntityNode> variableList = ((ASTSaveStmtNode)node).getVariableList();

-                ASTSeparatedListNode<ASTSavedEntityNode> astSeparatedListNode = (ASTSeparatedListNode<ASTSavedEntityNode>)variableList;

-                astSeparatedListNode.add(new Token(null, ", "), savedEntity);

-                return;

-            }

-        }

-        ASTSaveStmtNode newSaveStmt = (ASTSaveStmtNode)parseLiteralStatement("SAVE " + variableName);

-        IASTListNode body = scope.getBody();

-        body.add(0, newSaveStmt);

-        Reindenter.reindent(newSaveStmt, currAST);

-    }

-

-    /**

-     * Helper function that checks declaration lists to see if it contains both saved and unsaved variables

-     * @param typeDeclaration

-     * @param dataEntities

-     * @return

-     */

-    private boolean containsUnsavedAndSavedVariables(ASTTypeDeclarationStmtNode typeDeclaration, TreeSet<String> dataEntities)

-    {

-        if(typeDeclaration.getEntityDeclList() == null) return false;

-        boolean containsSaved = false, containsUnSaved = false;

-        

-        for(ASTEntityDeclNode decl : typeDeclaration.getEntityDeclList())

-        {

-            if (decl.getInitialization() == null

-                && !dataEntities.contains(declarationVariableName(decl).toLowerCase()))

-            {

-                containsUnSaved = true;

-            }

-            else

-            {

-                containsSaved = true;

-            }

-        }

-        return containsSaved && containsUnSaved;

-    }

-

-    /**

-     * Helper function that extracts the declaration variable name from a declaration node

-     * @param decl

-     * @return

-     */

-    private String declarationVariableName(ASTEntityDeclNode decl)

-    {

-        return decl.getObjectName().getObjectName().getText();

-    }

-

-    /**

-     * Helper function that checks to see if a given variable is implicitly saved

-     * @param scope

-     * @param variableDeclaration

-     * @param dataEntities

-     * @return

-     */

-    private boolean isImplicitlySaved(ScopingNode scope, ASTEntityDeclNode variableDeclaration, TreeSet<String> dataEntities)

-    {

-        return (variableDeclaration.getInitialization() != null ||

-            dataEntities.contains(declarationVariableName(variableDeclaration).toLowerCase()));

-    }

-

-    /**

-     * Creates a new AttrSpecSeqNode with SAVE attribute

-     * @return new AttrSpecSeqNode with SAVE attribute

-     */

-    private ASTAttrSpecSeqNode createSaveAttrSpecSeqNode(boolean addDblColon)

-    {

-        ASTAttrSpecSeqNode attrSpecSeqNode = new ASTAttrSpecSeqNode();

-        ASTAttrSpecNode attrSpecNode = new ASTAttrSpecNode();

-        

-        Token token;

-        if(addDblColon)

-        {

-            token = new Token(null, ", SAVE ::" );

-        }

-        else 

-        {

-            token = new Token(null, ", SAVE" );

-        }

-            

-        attrSpecNode.setIsSave( token );

-        attrSpecSeqNode.setAttrSpec(attrSpecNode);

-        return attrSpecSeqNode;

-    }

-    

-    /**

-     * Saved Variable Visitor class

-     * 

-     * Iterates through all nodes in a scope. While doing this, it checks three different cases:

-     * 1) If the node is a save statement, it checks to see if it is a global save statement.

-     * If it isn't, it adds all the saved variables to the explicitlySavedVariables list.

-     * 2) If the node is a declaration, it checks to see if it has been explicitly saved. If it

-     * has, it adds the variable to the explicitlySavedVariables list.

-     * 3) If the node is a data statement, it adds all variables in the data block to the 

-     * dataBlockVariables list.

-     * 

-     * @author ShinSheep

-     */

-    private class SavedVariableVisitor extends ASTVisitor

-    {

-        private boolean hasGlobalSaveStmt;

-        private HashSet<String> explicitlySavedVariables;

-        private TreeSet<String> dataBlockVariables;

-        private ASTSaveStmtNode saveStmt;

-        

-        public TreeSet<String> getDataBlockVariables()

-        {

-            return dataBlockVariables;

-        }

-

-        public HashSet<String> getExplicitlySavedVariables()

-        {

-            return explicitlySavedVariables;

-        }

-

-        public boolean hasGlobalSaveStmt()

-        {

-            return hasGlobalSaveStmt;

-        }

-

-        public SavedVariableVisitor()

-        {

-            super();

-            this.hasGlobalSaveStmt = false;

-            explicitlySavedVariables = new HashSet<String>();

-            dataBlockVariables = new TreeSet<String>();

-            saveStmt = null;

-        }

-

-        @Override

-        public void visitASTSaveStmtNode(ASTSaveStmtNode node)

-        {

-            this.saveStmt = node;

-            if (node.getVariableList() == null)

-            {

-                hasGlobalSaveStmt = true;

-            }

-            else

-            {

-                for(ASTSavedEntityNode variable : node.getVariableList())

-                {

-                   explicitlySavedVariables.add(variable.getVariableName().getText().toLowerCase());

-                }

-            }

-        }

-        

-        @Override

-        public void visitASTTypeDeclarationStmtNode(ASTTypeDeclarationStmtNode node)

-        {

-            IASTListNode<ASTAttrSpecSeqNode> attrSpecSeq = node.getAttrSpecSeq();

-            if(attrSpecSeq != null)

-            {

-                for(ASTAttrSpecSeqNode attrSpecSeqNode : attrSpecSeq)

-                {

-                    ASTAttrSpecNode attrSpecNode = attrSpecSeqNode.getAttrSpec();

-                    if(attrSpecNode != null && attrSpecNode.isSave())

-                    {

-                        for(ASTEntityDeclNode variable : node.getEntityDeclList())

-                        {

-                            explicitlySavedVariables.add(variable.getObjectName().getObjectName().getText().toLowerCase());

-                        }

-                    }

-                }

-            }

-        }

-        

-        @Override

-        public void visitASTDataStmtNode(ASTDataStmtNode node)

-        {

-            IASTListNode<ASTDatalistNode> dataList = ((ASTDataStmtNode)node).getDatalist();

-            for (IASTNode dataEntity : dataList.getChildren())

-            {

-                ASTDatalistNode dataListNode = (ASTDatalistNode)dataEntity;

-                for( IASTNode variableNameNode : dataListNode.getDataStmtSet().getDataStmtObjectList().getChildren())

-                {

-                    if(variableNameNode instanceof ASTVariableNode)

-                    {

-                        ASTVariableNode variableNode = (ASTVariableNode)variableNameNode;

-                        String variableName = variableNode.getDataRef().get(0).getName().getText();

-

-                        dataBlockVariables.add(variableName.toLowerCase());

-                    }

-                }

-            }      

-        }

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/Messages.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/Messages.java
deleted file mode 100644
index 8e51bfa..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/Messages.java
+++ /dev/null
@@ -1,506 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.core.refactoring.messages"; //$NON-NLS-1$
-
-    public static String AddIdentifierToEndRefactoring_Name;
-
-    public static String AddIdentifierToEndRefactoring_SelectedFileCannotBeParsed;
-
-    public static String AddOnlyToUseStmtRefactoring_AddingWouldChangeMeaningOf;
-
-    public static String AddOnlyToUseStmtRefactoring_Analyzing;
-
-    public static String AddOnlyToUseStmtRefactoring_CheckingForConflicts;
-
-    public static String AddOnlyToUseStmtRefactoring_CreatingChangeObject;
-
-    public static String AddOnlyToUseStmtRefactoring_FindingReferences;
-
-    public static String AddOnlyToUseStmtRefactoring_InsertingUseStmt;
-
-    public static String AddOnlyToUseStmtRefactoring_ModuleNameInUseStmtNotSelected;
-
-    public static String AddOnlyToUseStmtRefactoring_ModuleNodeNodeFound;
-
-    public static String AddOnlyToUseStmtRefactoring_ModuleTokenNotFound;
-
-    public static String AddOnlyToUseStmtRefactoring_MultipleDefinitionsOfModule;
-
-    public static String AddOnlyToUseStmtRefactoring_Name;
-
-    public static String AddOnlyToUseStmtRefactoring_NameConflicts;
-
-    public static String AddOnlyToUseStmtRefactoring_NameMightConflict;
-
-    public static String AddOnlyToUseStmtRefactoring_NoDeclarationsInModule;
-
-    public static String AddOnlyToUseStmtRefactoring_NoFilesContainModule;
-
-    public static String AddOnlyToUseStmtRefactoring_NoModuleNamed;
-
-    public static String AddOnlyToUseStmtRefactoring_NoModuleNameSelected;
-
-    public static String AddOnlyToUseStmtRefactoring_Parsing;
-
-    public static String AddOnlyToUseStmtRefactoring_PleaseSelectModuleName;
-
-    public static String AddOnlyToUseStmtRefactoring_ProjectDoesNotExist;
-
-    public static String AddOnlyToUseStmtRefactoring_SelectModuleName;
-    
-    public static String AddSubroutineParameterRefactoring_InvalidDeclaration;
-    
-    public static String AddSubroutineParameterRefactoring_InvalidDefaultValue;
-    
-    public static String AddSubroutineParameterRefactoring_InvalidParameterPosition;
-    
-    public static String AddSubroutineParameterRefactoring_matchingDeclarationsDoNotUniquelyBind;
-    
-    public static String AddSubroutineParameterRefactoring_Name;
-    
-    public static String AddSubroutineParameterRefactoring_NameConflictsWith;
-    
-    public static String AddSubroutineParameterRefactoring_NameMightConflictWithSubprogram;
-
-    public static String AddSubroutineParameterRefactoring_selectSubroutineError;
-
-    public static String EncapsulateVariableRefactoring_CannotEncapsulateArrays;
-
-    public static String EncapsulateVariableRefactoring_CannotEncapsulatePARAMETER;
-
-    public static String EncapsulateVariableRefactoring_CannotEncapsulatePointers;
-
-    public static String EncapsulateVariableRefactoring_CannotEncapsulateTARGET;
-
-    public static String EncapsulateVariableRefactoring_CannotRefactorFixedFormFile;
-
-    public static String EncapsulateVariableRefactoring_CouldNotFindToken;
-
-    public static String EncapsulateVariableRefactoring_CouldNotFindTokenForVarDef;
-
-    public static String EncapsulateVariableRefactoring_CouldNotFindTokenForVarRef;
-
-    public static String EncapsulateVariableRefactoring_Name;
-
-    public static String EncapsulateVariableRefactoring_NameConflicts;
-
-    public static String EncapsulateVariableRefactoring_NameMightConflict;
-
-    public static String EncapsulateVariableRefactoring_NotAnExpression;
-
-    public static String EncapsulateVariableRefactoring_NoUniqueDefinition;
-
-    public static String EncapsulateVariableRefactoring_PleaseSelectAnIdentifier;
-
-    public static String EncapsulateVariableRefactoring_VariableNotSelected;
-
-    public static String EncapsulateVariableRefactoring_WarningFunctionArgument;
-
-    public static String EncapsulateVariableRefactoring_WarningWillNotChangeReference;
-    public static String ExtractProcedureRefactoring_PleaseSelectContiguousStatements;
-
-    public static String ExtractProcedureRefactoring_CanOnlyExtractFromSubprogramOrMainProgram;
-
-    public static String ExtractProcedureRefactoring_ExtractionWouldRequirePointerParameter;
-
-    public static String ExtractProcedureRefactoring_InvalidIdentifier;
-
-    public static String ExtractProcedureRefactoring_Name;
-
-    public static String ExtractProcedureRefactoring_NameConflicts;
-
-    public static String ExtractProcedureRefactoring_OnlyExecutableStatementsCanBeExtracted;
-
-    public static String ExtractProcedureRefactoring_ProcedureContainsLabels;
-
-    public static String ExtractProcedureRefactoring_StatementCannotBeExtracted;
-    
-    public static String MakeSaveExplicitRefactoring_Name;
-    
-    public static String MakeSaveExplicitRefactoring_SelectedFileCannotBeParsed;
-
-    public static String MinOnlyListRefactoring_ModuleIsEmpty;
-
-    public static String MinOnlyListRefactoring_ModuleNodeNotFound;
-
-    public static String MinOnlyListRefactoring_ModuleNotFoundWithName;
-
-    public static String MinOnlyListRefactoring_ModuleTokenNotFound;
-
-    public static String MinOnlyListRefactoring_Name;
-
-    public static String MinOnlyListRefactoring_NoFilesContainModuleNamed;
-
-    public static String MinOnlyListRefactoring_NoModuleNameSelected;
-
-    public static String MinOnlyListRefactoring_PleaseSelectModuleName;
-
-    public static String MinOnlyListRefactoring_PleaseSelectModuleNameInUSEStatement;
-
-    public static String MinOnlyListRefactoring_ProjectDoesNotExist;
-
-    public static String MinOnlyListRefactoring_USEStatementNotFound;
-
-    public static String MoveSavedToCommonBlockRefactoring_AbsentOrAmbiguousDefinition;
-
-    public static String MoveSavedToCommonBlockRefactoring_CouldNotFindArrayDeclaration;
-
-    public static String MoveSavedToCommonBlockRefactoring_CouldNotFindDeclarationNode;
-
-    public static String MoveSavedToCommonBlockRefactoring_CouldNotFindTypeSpecificationNode;
-
-    public static String MoveSavedToCommonBlockRefactoring_Name;
-
-    public static String MoveSavedToCommonBlockRefactoring_OnlyInternalSubprogramsSupported;
-
-    public static String MoveSavedToCommonBlockRefactoring_PleaseSelectSubprogram;
-
-    public static String MoveSavedToCommonBlockRefactoring_PleaseSelectSubprogramNotInINTERFACE;
-
-    public static String RenameRefactoring_CannotRename;
-
-    public static String RenameRefactoring_CannotRenameAmbiguous;
-
-    public static String RenameRefactoring_CannotRenameInINCLUDEFile;
-
-    public static String RenameRefactoring_CannotRenameIntrinsicProcedure;
-
-    public static String RenameRefactoring_CannotRenameSubprogramArgs;
-
-    public static String RenameRefactoring_CannotRenameTypeBoundProcedures;
-
-    public static String RenameRefactoring_CannotRenameUsedInINCLUDEFile;
-
-    public static String RenameRefactoring_ChangingNameWouldChangeMeaning;
-
-    public static String RenameRefactoring_StatusCheckingIfReferencesInFileCanBeRenamed;
-
-    public static String RenameRefactoring_CPreprocessedFileWillNotBeRefactored;
-
-    public static String RenameRefactoring_FixedFormFileWillNotBeRefactored;
-
-    public static String RenameRefactoring_InvalidIdentifier;
-
-    public static String RenameRefactoring_MultipleDeclarationsFoundFor;
-
-    public static String RenameRefactoring_Name;
-
-    public static String RenameRefactoring_NameConflicts;
-
-    public static String RenameRefactoring_NameMightConflict;
-
-    public static String RenameRefactoring_NewNameIsExactlyTheSame;
-
-    public static String RenameRefactoring_NoDeclarationFoundFor;
-
-    public static String RenameRefactoring_PleaseSelectAnIdentifier;
-
-    public static String RenameRefactoring_StatusModifyingFile;
-
-    public static String RenameRefactoring_StatusRenaming;
-
-    public static String PermuteSubroutineArgsRefactoring_matchingDeclarationsDoNotUniquelyBind;
-
-    public static String PermuteSubroutineArgsRefactoring_name;
-
-    public static String PermuteSubroutineArgsRefactoring_selectedTextNotSubroutine;
-
-    public static String PermuteSubroutineArgsRefactoring_selectSubroutineError;
-
-    public static String PermuteSubroutineArgsRefactoring_subroutineParameterDefinitionError;
-
-    public static String CommonVarNamesRefactoring_Name;
-
-    public static String CommonVarNamesRefactoring_NameConflictsWith;
-
-    public static String CommonVarNamesRefactoring_NameMightConflictWithSubprogram;
-
-    public static String CommonVarNamesRefactoring_NoCommonBlockFoundWithName;
-
-    public static String CommonVarNamesRefactoring_NoFilesFoundContainingCommonBlock;
-
-    public static String CommonVarNamesRefactoring_ProjectDoesNotExist;
-
-    public static String CommonVarNamesRefactoring_SelectCommonBlockName;
-
-    public static String CommonVarNamesRefactoring_VariableTypesDiffer;
-    public static String DataToParameterRefactoring_AmbiguouslyDefined;
-
-    public static String DataToParameterRefactoring_ArraysNotSupported;
-
-    public static String DataToParameterRefactoring_DefinitionNotFound;
-
-    public static String DataToParameterRefactoring_EmptyDataListInNode;
-
-    public static String DataToParameterRefactoring_ImpliedDoNotSupported;
-
-    public static String DataToParameterRefactoring_Name;
-
-    public static String DataToParameterRefactoring_PointersNotSupported;
-
-    public static String DataToParameterRefactoring_RefactorNotConsideringVarAssignment;
-
-    public static String DataToParameterRefactoring_SelectedFileCannotBeParsed;
-    public static String ExtractLocalVariableRefactoring_DeclarationDoesNotDeclareSingleVar;
-
-    public static String ExtractLocalVariableRefactoring_DeclarationMustNotContainInitialization;
-
-    public static String ExtractLocalVariableRefactoring_EnterDeclarationForExtractedVar;
-
-    public static String ExtractLocalVariableRefactoring_ErrorSelectingPartOfExpression;
-
-    public static String ExtractLocalVariableRefactoring_ExpressionNotInExtractableStmt;
-
-    public static String ExtractLocalVariableRefactoring_ExpressionTypeNotBeAutoDetermined;
-
-    public static String ExtractLocalVariableRefactoring_ExtractionMayNotPreserveBehavior;
-
-    public static String ExtractLocalVariableRefactoring_InvalidTypeDeclStmt;
-
-    public static String ExtractLocalVariableRefactoring_Name;
-
-    public static String ExtractLocalVariableRefactoring_NameConflictsWith;
-
-    public static String ExtractLocalVariableRefactoring_NameMightConflictWithSubprogram;
-
-    public static String ExtractLocalVariableRefactoring_SelectExpressionToExtract;
-
-    public static String ExtractLocalVariableRefactoring_VarsExtractedOnlyFromActionStmt;
-
-    public static String ExtractLocalVariableRefactoring_VarsOnlyExtractedFromStmtsIn;
-
-    public static String InterchangeLoopsRefactoring_Name;
-    
-    public static String IfConstructStatementConversionRefactoring_Name;
-    
-    public static String IfConstructStatementConversionRefactoring_SelectAValidIfStatement;
-
-    public static String IfConstructStatementConversionRefactoring_InvalidNamedConstruct;
-    
-    public static String IfConstructStatementConversionRefactoring_TooManyStatements;
-    
-    public static String FortranEditorRefactoring_CantPerformRefactoringOnReadOnlyFile;
-    
-    public static String FortranEditorRefactoring_CantPerformRefactoringOnFileThatDoesNotExist;
-
-    public static String InterchangeLoopsRefactoring_SelectTwoPerfNextedLoops;
-
-    public static String InterchangeLoopsRefactoring_UncheckedTransNotGuaranteedToPreserve;
-
-    public static String IntroImplicitNoneRefactoring_Name;
-
-    public static String IntroImplicitNoneRefactoring_SelectedFileCannotBeParsed;
-
-    public static String KeywordCaseRefactoring_Name;
-
-    public static String KeywordCaseRefactoring_SelectedFileCannotBeParsed;
-
-    public static String LoopAlignmentRefactoring_LoopAlignmentName;
-
-    public static String LoopAlignmentRefactoring_LoopsNotCompatible;
-
-    public static String FuseLoopsRefactoring_CycleExitFails;
-
-    public static String FuseLoopsRefactoring_IncompatibleLoopErorrMessage;
-
-    public static String FuseLoopsRefactoring_InvalidLoopBounds;
-
-    public static String FuseLoopsRefactoring_InvalidStepError;
-
-    public static String FuseLoopsRefactoring_LoopFusionName;
-
-    public static String FuseLoopsRefactoring_NoSecondLoopErrorMsg;
-
-    public static String FuseLoopsRefactoring_SelectLoopsWithoutLabels;
-
-    public static String FuseLoopsRefactoring_SelectLoopWithIntegers;
-
-    public static String TileLoopRefactoring_CantTileLoopsWithStep;
-
-    public static String TileLoopRefactoring_InvalidTileSize;
-
-    public static String TileLoopRefactoring_InvalidTilingOffset;
-
-    public static String TileLoopRefactoring_LoopTilingName;
-
-    public static String TileLoopRefactoring_SelectLoopWithOnlyOneNestedLoop;
-
-    public static String TileLoopRefactoring_UnableToCreateNewIndex;
-
-    public static String UnrollLoopRefactoring_cannotUnrollLoopWithLabel;
-
-    public static String UnrollLoopRefactoring_InvalidStepError;
-
-    public static String UnrollLoopRefactoring_LoopUnrollingName;
-
-    public static String UnrollLoopRefactoring_LoopWritesToIndexVariable;
-
-    public static String UnrollLoopRefactoring_SelectLoopWithExplicitBound;
-
-    public static String UnrollLoopRefactoring_unableToCreateUpperBound;
-
-    public static String MakePrivateEntityPublicRefactoring_DoesNotSupportExternalEntities;
-
-    public static String MakePrivateEntityPublicRefactoring_DoesNotSupportInterfaceDeclarations;
-
-    public static String MakePrivateEntityPublicRefactoring_DoesNotSupportIntrinsicEntities;
-
-    public static String MakePrivateEntityPublicRefactoring_HighlightPrivateEntityName;
-
-    public static String MakePrivateEntityPublicRefactoring_Name;
-
-    public static String MakePrivateEntityPublicRefactoring_NoPrivateEntitySelected;
-
-    public static String MakePrivateEntityPublicRefactoring_PublicEntitySelectedSelectPrivate;
-
-    public static String MakePrivateEntityPublicRefactoring_SelectPrivateEntityName;
-    
-    public static String MoveCommonToModuleRefactoring_InvalidIdentifier;
-
-    public static String MoveCommonToModuleRefactoring_Name;
-
-    public static String MoveCommonToModuleRefactoring_SelectVarOrBlockInCommonStmt;
-
-    public static String MoveFromModuleRefactoring_Name;
-
-    public static String MoveFromModuleRefactoring_selectionNotInsideModuleError;
-
-    public static String MoveFromModuleRefactoring_textSelectionError;
-    
-    public static String RemoveArithmeticIfRefactoring_Error;
-
-    public static String RemoveArithmeticIfRefactoring_Name;
-
-    public static String RemoveBranchToEndIfRefactoring_BranchToImmediateEndIf;
-
-    public static String RemoveBranchToEndIfRefactoring_Name;
-
-    public static String RemoveBranchToEndIfRefactoring_NoEnclosingIfConstruct;
-
-    public static String RemoveBranchToEndIfRefactoring_NoGotoStatementReferencingThisLabel;
-
-    public static String RemoveBranchToEndIfRefactoring_NoGotoStatements;
-
-    public static String RemoveBranchToEndIfRefactoring_PleaseSelectLabeledEndIfStatement;
-
-    public static String RemoveComputedGoToRefactoring_Name;
-
-    public static String RemoveComputedGoToRefactoring_PleaseSelectComputedGotoStmt;
-
-    public static String RemovePauseStmtRefactoring_Name;
-
-    public static String RemovePauseStmtRefactoring_PleaseSelectAPauseStatement;
-
-    public static String RemoveRealAndDoublePrecisionLoopCountersRefactoring_Name;
-
-    public static String RemoveRealAndDoublePrecisionLoopCountersRefactoring_NotRealOrDoublePrecision;
-
-    public static String RemoveRealAndDoublePrecisionLoopCountersRefactoring_NoUniqueDeclaration;
-
-    public static String RemoveRealAndDoublePrecisionLoopCountersRefactoring_PleaseSelectACountedDoLoop;
-
-    public static String RemoveRealAndDoublePrecisionLoopCountersRefactoring_PleaseSelectADoLoop;
-
-    public static String RemoveUnusedVariablesRefactoring_CouldNotCompleteOperation;
-
-    public static String RemoveUnusedVariablesRefactoring_DoesNotRemovedUnusedVarsWithDefsOnAnotherLine;
-
-    public static String RemoveUnusedVariablesRefactoring_Name;
-
-    public static String RemoveUnusedVariablesRefactoring_RefactorAgainToRemoveAllUnusedVars;
-
-    public static String RemoveUnusedVariablesRefactoring_Scope;
-
-    public static String RemoveUnusedVariablesRefactoring_SelectedFileCannotBeParsed;
-
-    public static String RemoveUnusedVariablesRefactoring_SelectedFilesCannotBeParsed;
-
-    public static String RemoveUnusedVariablesRefactoring_SelectedFilesMustBeImplicitNone;
-
-    public static String RemoveUnusedVariablesRefactoring_UnusedVarsRemovedFromFile;
-
-    public static String RemoveUnusedVariablesRefactoring_VariableUnusedAndWillBeRemoved;
-
-    public static String ReplaceCharacterToCharacterLenRefactoring_CharacterStarDeclNotSelected;
-
-    public static String ReplaceCharacterToCharacterLenRefactoring_Name;
-
-    public static String ReplaceOldStyleDoLoopRefactoring_AmbiguousLabel;
-
-    public static String ReplaceOldStyleDoLoopRefactoring_EndOfLoopError;
-
-    public static String ReplaceOldStyleDoLoopRefactoring_MissingLabel;
-
-    public static String ReplaceOldStyleDoLoopRefactoring_Name;
-
-    public static String ReplaceOldStyleDoLoopRefactoring_ThereMustBeAtLeastOneOldStyleDoLoop;
-
-    public static String RepObsOpersRefactoring_Name;
-
-    public static String RepObsOpersRefactoring_SelectedFileCannotBeParsed;
-
-    public static String ReverseLoopRefactoring_Name;
-
-    public static String ReverseLoopRefactoring_SelectDoLoop;
-
-    public static String SafeDeleteInternalSubprogramRefactoring_MultipleDefinitions;
-
-    public static String SafeDeleteInternalSubprogramRefactoring_Name;
-
-    public static String SafeDeleteInternalSubprogramRefactoring_NoDefinition;
-
-    public static String SafeDeleteInternalSubprogramRefactoring_NoSubroutineSelected;
-
-    public static String SafeDeleteInternalSubprogramRefactoring_NotAnInternalSubprogram;
-
-    public static String SafeDeleteInternalSubprogramRefactoring_SubroutineMustHaveOnlyInternalReferences;
-
-    public static String StandardizeStatementsRefactoring_Name;
-
-    public static String StandardizeStatementsRefactoring_SelectedFileCannotBeParsed;
-    
-    public static String RemoveUnreferencedLabelsRefactoring_Name;
-    
-    public static String RemoveUnreferencedLabelsRefactoring_ThereMustBeAtLeastOneLabeledStatement;
-    
-    public static String RemoveAssignedGotoRefactoring_AllLabelsUsedInActionStatement;
-
-    public static String RemoveAssignedGotoRefactoring_ForFile;
-
-    public static String RemoveAssignedGotoRefactoring_LabelNotFound;
-
-    public static String RemoveAssignedGotoRefactoring_NothingToBeRefactored;
-
-    public static String RemoveAssignedGotoRefactoring_TheFollowingLabelsCannotBeRefactored;
-
-    public static String RemoveAssignedGoToRefactoring_Name;
-    
-    public static String RemoveAssignedGoToRefactoring_SelectedFileCannotBeParsed;
-
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MinOnlyListRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MinOnlyListRefactoring.java
deleted file mode 100644
index 1591df1..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MinOnlyListRefactoring.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTOnlyNode;
-import org.eclipse.photran.internal.core.parser.ASTSeparatedListNode;
-import org.eclipse.photran.internal.core.parser.ASTUseStmtNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-/**
- *
- * @author Kurt Hendle
- * @author Jeff Overbey - Externalized strings
- */
-public class MinOnlyListRefactoring extends FortranEditorRefactoring
-{
-    private String moduleName;
-    private ASTUseStmtNode useNode = null;
-    private List<IFile> filesContainingModule = null;
-    private List<Definition> moduleEntityDefs = new ArrayList<Definition>();
-    private ArrayList<String> moduleEntityNames = new ArrayList<String>();
-    private ArrayList<String> existingOnlyListNames = new ArrayList<String>();
-    private ArrayList<String> onlyNamesToKeep = new ArrayList<String>();
-    private int numOnlysToKeep = 0;
-
-    public String getModuleName()
-    {
-        return moduleName;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.photran.internal.core.refactoring.infrastructure.AbstractFortranRefactoring#doCheckInitialConditions(org.eclipse.ltk.core.refactoring.RefactoringStatus, org.eclipse.core.runtime.IProgressMonitor)
-     * nearly the same as AddOnlyToUseStmtRefactoring.java
-     */
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        moduleName = this.selectedRegionInEditor.getText();
-        if(moduleName == null || moduleName.equals("")) //$NON-NLS-1$
-            fail(Messages.MinOnlyListRefactoring_NoModuleNameSelected);
-
-        findUseStmtNode();
-        checkIfModuleExistsInProject();
-        getModuleDeclaredEntities(pm);
-        readExistingOnlyList();
-    }
-
-    //same as AddOnlyToUseStmtRefactoring.java
-    private void findUseStmtNode() throws PreconditionFailure
-    {
-      //get the use statement node in case we need to add to the only list
-        Token token = findEnclosingToken();
-        if(token == null)
-            fail(Messages.MinOnlyListRefactoring_PleaseSelectModuleNameInUSEStatement);
-
-        useNode = token.findNearestAncestor(ASTUseStmtNode.class);
-        if(useNode == null)
-            fail(Messages.MinOnlyListRefactoring_USEStatementNotFound);
-    }
-
-    //same as AddOnlyToUseStmtRefactoring.java
-    private void checkIfModuleExistsInProject() throws PreconditionFailure
-    {
-      //Check to see if the module exists in the project
-        filesContainingModule = vpg.findFilesThatExportModule(moduleName);
-
-        if(filesContainingModule.isEmpty() || filesContainingModule == null)
-            fail(Messages.bind(Messages.MinOnlyListRefactoring_NoFilesContainModuleNamed, moduleName));
-        else if(filesContainingModule.size() > 1)
-            filterFileList();
-
-       //check again after the filtering happens
-        if(filesContainingModule.isEmpty() || filesContainingModule == null)
-            fail(Messages.bind(Messages.MinOnlyListRefactoring_NoFilesContainModuleNamed, moduleName));
-    }
-
-    //same method used in CommonVarNamesRefactoring.java
-    private void filterFileList() throws PreconditionFailure
-    {
-        IProject projectInEditor = this.fileInEditor.getProject();  //current project
-
-        if(projectInEditor == null) fail(Messages.MinOnlyListRefactoring_ProjectDoesNotExist);
-
-        //filter out files not in the project
-        int i = 0;
-        while(i < filesContainingModule.size())
-        {
-            if(filesContainingModule.get(i) == null
-                || filesContainingModule.get(i).getProject() != projectInEditor)
-                filesContainingModule.remove(i);   //shifts all elements left, don't increment i
-            else
-                i++;
-        }
-    }
-
-    //modified from RenameRefactoring.java
-    private Token findEnclosingToken() throws PreconditionFailure
-    {
-        Token selectedToken = findEnclosingToken(this.astOfFileInEditor, this.selectedRegionInEditor);
-        if (selectedToken == null)
-            fail(Messages.MinOnlyListRefactoring_PleaseSelectModuleName);
-        return selectedToken;
-    }
-
-    //pretty much the same as AddOnlyToUseStmtRefactoring.java
-    private void getModuleDeclaredEntities(IProgressMonitor pm) throws PreconditionFailure
-    {
-        //get module declaration and check if it has declared entities
-        PhotranTokenRef moduleTokenRef = vpg.getModuleTokenRef(moduleName);
-        if(moduleTokenRef == null)
-            fail(Messages.bind(Messages.MinOnlyListRefactoring_ModuleNotFoundWithName, moduleName));
-
-        Token moduleToken = moduleTokenRef.findTokenOrReturnNull();
-        if(moduleToken == null){
-            fail(Messages.MinOnlyListRefactoring_ModuleTokenNotFound);
-        }
-
-        ASTModuleNode moduleNode = moduleToken.findNearestAncestor(ASTModuleNode.class);
-        if(moduleNode == null)
-            fail(Messages.MinOnlyListRefactoring_ModuleNodeNotFound);
-
-        moduleEntityDefs = moduleNode.getAllPublicDefinitions();
-        if(moduleEntityDefs.isEmpty())
-        {
-            fail(Messages.MinOnlyListRefactoring_ModuleIsEmpty);
-        }
-        else
-        {
-            for(int i=0; i<moduleEntityDefs.size(); i++)
-                moduleEntityNames.add(moduleEntityDefs.get(i).getCanonicalizedName());
-        }
-    }
-
-    //nearly the same as AddOnlyToUseStmtRefactoring.java
-    @SuppressWarnings("rawtypes")
-    private void readExistingOnlyList()
-    {
-        ASTSeparatedListNode existingOnlys = (ASTSeparatedListNode)useNode.getOnlyList();
-        if(existingOnlys != null){
-            String name;
-            ASTOnlyNode onlyNode = null;
-            for(int i=0; i<existingOnlys.size(); i++)
-            {
-                onlyNode = (ASTOnlyNode)existingOnlys.get(i);
-                name = PhotranVPG.canonicalizeIdentifier(onlyNode.getName().getText().trim());
-                if(moduleEntityNames.contains(name))
-                {
-                    if(onlyNode.isRenamed())    //add new name before original
-                        existingOnlyListNames.add(onlyNode.getNewName().getText());
-                    existingOnlyListNames.add(name);
-                }
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.photran.internal.core.refactoring.infrastructure.AbstractFortranRefactoring#doCreateChange(org.eclipse.core.runtime.IProgressMonitor)
-     */
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,
-        OperationCanceledException
-    {
-        IFile file = this.fileInEditor;
-        IFortranAST ast = vpg.acquirePermanentAST(file);
-        if(ast == null) return;
-
-        OnlyTokenVisitor visitor = new OnlyTokenVisitor();
-        ast.accept(visitor);
-
-        //actual change takes place here after parsing the AST
-        if(numOnlysToKeep == moduleEntityDefs.size())
-            removeOnlyList(pm, ast);
-        else if(onlyNamesToKeep.isEmpty())
-            useNode.removeFromTree(); // remove use node since it is unused
-        else
-            createAndAddMinOnlyList(pm, ast);
-
-        addChangeFromModifiedAST(fileInEditor, pm);
-        vpg.releaseAST(file);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.photran.internal.core.refactoring.infrastructure.AbstractFortranRefactoring#doCheckFinalConditions(org.eclipse.ltk.core.refactoring.RefactoringStatus, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        //
-    }
-
-    @SuppressWarnings("rawtypes")
-    private void removeOnlyList(IProgressMonitor pm, IFortranAST ast)
-    {
-        if(ast == null) return;
-
-        ASTUseStmtNode newStmtNode = (ASTUseStmtNode)parseLiteralStatement("use " + //$NON-NLS-1$
-            useNode.getName().getText() + System.getProperty("line.separator")); //$NON-NLS-1$
-
-        ASTListNode body = (ASTListNode)useNode.getParent();
-        body.replaceChild(useNode, newStmtNode);
-        Reindenter.reindent(newStmtNode, ast);
-    }
-
-    @SuppressWarnings("rawtypes")
-    private void createAndAddMinOnlyList(IProgressMonitor pm, IFortranAST ast)
-    {
-        if(ast == null) return;
-
-        String list = ""; //$NON-NLS-1$
-        String name;
-        int counter = 0;
-
-        while(counter < onlyNamesToKeep.size())
-        {
-            name = onlyNamesToKeep.get(counter);
-
-            //add the new name for this renamed variable if necessary
-            if(!moduleEntityNames.contains(name))
-            {
-                list += name + " => "; //$NON-NLS-1$
-                counter++;
-                name = onlyNamesToKeep.get(counter); //update name
-            }
-
-            list += name;
-            if(counter < onlyNamesToKeep.size()-1)
-                list += ", "; //$NON-NLS-1$
-            counter++;
-        }
-
-        //construct the new USE node and replace the old one in the ast
-        ASTUseStmtNode newStmtNode = (ASTUseStmtNode)parseLiteralStatement("use " + //$NON-NLS-1$
-            useNode.getName().getText()+", only: " + list + System.getProperty("line.separator")); //$NON-NLS-1$ //$NON-NLS-2$
-
-        ASTListNode body = (ASTListNode)useNode.getParent();
-        body.replaceChild(useNode, newStmtNode);
-        Reindenter.reindent(newStmtNode, ast);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ltk.core.refactoring.Refactoring#getName()
-     */
-    @Override
-    public String getName()
-    {
-        return Messages.MinOnlyListRefactoring_Name;
-    }
-
-    private final class OnlyTokenVisitor extends GenericASTVisitor
-    {
-        @Override public void visitToken(Token node)
-        {
-            String name = PhotranVPG.canonicalizeIdentifier(node.getText());
-
-            if((existingOnlyListNames.contains(name) || moduleEntityNames.contains(name)) &&
-                !(node.getParent() instanceof ASTOnlyNode) &&
-                !(node.getEnclosingScope() instanceof ASTModuleNode))
-            {
-                if(!onlyNamesToKeep.contains(name))
-                {
-                    onlyNamesToKeep.add(name);
-                    numOnlysToKeep++;
-                }
-            }
-
-            //add the new name and original name to keep list
-            if(existingOnlyListNames.contains(name) &&
-                !onlyNamesToKeep.contains(name) &&
-                node.getParent() instanceof ASTOnlyNode)
-            {
-                ASTOnlyNode thisOnlyNode = (ASTOnlyNode)node.getParent();
-                if(thisOnlyNode.isRenamed())
-                {
-                    onlyNamesToKeep.add(thisOnlyNode.getNewName().getText());
-                    onlyNamesToKeep.add(thisOnlyNode.getName().getText());
-                    numOnlysToKeep++;
-                }
-            }
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MoveCommonToModuleRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MoveCommonToModuleRefactoring.java
deleted file mode 100644
index 0d30f43..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MoveCommonToModuleRefactoring.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTCommonBlockNameNode;
-import org.eclipse.photran.internal.core.parser.ASTCommonBlockNode;
-import org.eclipse.photran.internal.core.parser.ASTCommonBlockObjectNode;
-import org.eclipse.photran.internal.core.parser.ASTCommonStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTUseStmtNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.ISpecificationPartConstruct;
-import org.eclipse.photran.internal.core.parser.ISpecificationStmt;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.refactorings.UserInputString;
-
-/**
- * Refactoring to move a COMMON block into a module.
- * <p>
- * THIS REFACTORING IS INCOMPLETE.  IT *DOES NOT* WORK CORRECTLY YET.
- *
- * @author Jeff Overbey
- * @author Ashley Kasza - externalized strings
- */
-public class MoveCommonToModuleRefactoring extends FortranEditorRefactoring
-{
-    private static final String CRLF = System.getProperty("line.separator"); //$NON-NLS-1$
-
-    private ASTCommonBlockNode commonBlockToMove = null;
-    private String nameOfCommonBlockToMove = null;
-    private String newModuleName = null;
-    private Set<IFile> affectedFiles = null;
-
-    @Override
-    public String getName()
-    {
-        return Messages.MoveCommonToModuleRefactoring_Name;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // User-Accessible Parameters
-    ///////////////////////////////////////////////////////////////////////////
-
-    public String getSuggestedNewModuleName()
-    {
-        assert commonBlockToMove != null && nameOfCommonBlockToMove != null;
-
-        return nameOfCommonBlockToMove.equals("") ? "common" : nameOfCommonBlockToMove; //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-    @UserInputString(label="Create a module named ", defaultValueMethod="getSuggestedNewModuleName")
-    public void setNewModuleName(String name)
-    {
-        assert name != null;
-
-        this.newModuleName = name;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Initial Preconditions
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        findEnclosingCommonBlock();
-        determineEnclosingCommonBlockName();
-        determineAffectedFiles();
-
-        // TODO: Require implicit none?
-
-        // TODO: Make sure all uses of this common block are identical (names, types)
-        // so that USE-ing the module will not cause naming conflicts
-    }
-
-    private void findEnclosingCommonBlock() throws PreconditionFailure
-    {
-        Token enclosingToken = findEnclosingToken(this.astOfFileInEditor, this.selectedRegionInEditor);
-        if (enclosingToken == null)
-            fail(Messages.MoveCommonToModuleRefactoring_SelectVarOrBlockInCommonStmt);
-
-        commonBlockToMove = enclosingToken.findNearestAncestor(ASTCommonBlockNode.class);
-        if (commonBlockToMove == null)
-            fail(Messages.MoveCommonToModuleRefactoring_SelectVarOrBlockInCommonStmt);
-    }
-
-    private void determineEnclosingCommonBlockName()
-    {
-        nameOfCommonBlockToMove = getCommonBlockName(commonBlockToMove);
-    }
-
-    private String getCommonBlockName(ASTCommonBlockNode commonBlockToMove)
-    {
-        ASTCommonBlockNameNode commonBlockNameToken = commonBlockToMove.getName();
-        if (commonBlockNameToken != null)
-            return commonBlockNameToken.getCommonBlockName().getText();
-        else
-            return ""; //$NON-NLS-1$
-    }
-
-    private void determineAffectedFiles() throws PreconditionFailure
-    {
-        affectedFiles = new HashSet<IFile>();
-        affectedFiles.add(fileInEditor);
-        affectedFiles.addAll(vpg.findFilesThatUseCommonBlock(nameOfCommonBlockToMove));
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Final Preconditions
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        assert commonBlockToMove != null && nameOfCommonBlockToMove != null && affectedFiles != null;
-        assert newModuleName != null;
-
-        if (!isValidIdentifier(newModuleName)) fail(Messages.bind(Messages.MoveCommonToModuleRefactoring_InvalidIdentifier, newModuleName));
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Change
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        assert commonBlockToMove != null && nameOfCommonBlockToMove != null && affectedFiles != null;
-        assert newModuleName != null;
-
-        try
-        {
-            for (IFile file : affectedFiles)
-            {
-                if (file.equals(fileInEditor))
-                    createModule();
-
-                replaceCommonBlockWithModuleUseIn(file);
-                addChangeFromModifiedAST(file, pm);
-            }
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    private void createModule()
-    {
-        ASTModuleNode module = createEmptyModule();
-
-        for (ASTCommonBlockObjectNode obj : commonBlockToMove.getCommonBlockObjectList())
-            populateModuleWithDeclarations(module, obj.getVariableName());
-
-        addModuleAtBeginningOfFile(module);
-    }
-
-    private ASTModuleNode createEmptyModule()
-    {
-        String moduleSource =
-            "module " + newModuleName + CRLF + //$NON-NLS-1$
-            Reindenter.defaultIndentation() + "implicit none" + CRLF + //$NON-NLS-1$
-            "end module " + newModuleName + CRLF; //$NON-NLS-1$
-        return (ASTModuleNode)parseLiteralProgramUnit(moduleSource);
-    }
-
-    private void populateModuleWithDeclarations(ASTModuleNode module, Token variable)
-    {
-        List<ISpecificationPartConstruct> specificationStmts = findSpecificationStmtsFor(variable);
-        module.getModuleBody().addAll(specificationStmts);
-    }
-
-    private List<ISpecificationPartConstruct> findSpecificationStmtsFor(Token variable)
-    {
-        List<Definition> defs = variable.resolveBinding();
-        if (defs.size() == 1)
-            return findSpecificationStmtsFor(defs.get(0));
-        else
-            throw new Error(); // TODO
-    }
-
-    private List<ISpecificationPartConstruct> findSpecificationStmtsFor(Definition def)
-    {
-        List<ISpecificationPartConstruct> result = new LinkedList<ISpecificationPartConstruct>();
-
-        ASTTypeDeclarationStmtNode typeDecl = def.getTokenRef().findToken().findNearestAncestor(ASTTypeDeclarationStmtNode.class);
-        if (typeDecl != null)
-            result.add((ISpecificationPartConstruct)typeDecl.clone());
-
-        for (PhotranTokenRef tokRef : def.findAllReferences(false))
-        {
-            ISpecificationStmt enclosingSpecStmt = tokRef.findToken().findNearestAncestor(ISpecificationStmt.class);
-            if (enclosingSpecStmt != null && !(enclosingSpecStmt instanceof ASTCommonStmtNode))
-                result.add((ISpecificationPartConstruct)enclosingSpecStmt.clone());
-        }
-
-        return result;
-    }
-
-    private void addModuleAtBeginningOfFile(ASTModuleNode module)
-    {
-        astOfFileInEditor.getRoot().getProgramUnitList().add(0, module);
-        Reindenter.reindent(module, astOfFileInEditor, Strategy.REINDENT_EACH_LINE);
-    }
-
-    private void replaceCommonBlockWithModuleUseIn(IFile file)
-    {
-        IFortranAST ast = vpg.acquireTransientAST(file);
-
-        for (ASTCommonBlockNode commonBlock : findCommonBlocksWithCorrectNameIn(ast))
-        {
-            removeSpecificationStmtsForCommonBlockVars(commonBlock);
-
-            ASTCommonStmtNode enclosingCommonStmt = commonBlock.findNearestAncestor(ASTCommonStmtNode.class);
-
-            addUseStmtAtBeginningOfScopeContaining(enclosingCommonStmt, ast);
-
-            if (commonStmtContainsOnlyOneCommonBlock(enclosingCommonStmt))
-                enclosingCommonStmt.removeFromTree();
-            else
-                commonBlock.removeFromTree();
-        }
-    }
-
-    private List<ASTCommonBlockNode> findCommonBlocksWithCorrectNameIn(IFortranAST ast)
-    {
-        // Note that we must traverse the tree *before* we start changing it
-        // to prevent ConcurrentModificationExceptions on list nodes
-
-        final List<ASTCommonBlockNode> result = new LinkedList<ASTCommonBlockNode>();
-        ast.accept(new GenericASTVisitor()
-        {
-            @Override
-            public void visitASTCommonBlockNode(ASTCommonBlockNode commonBlock)
-            {
-                if (commonBlockHasSameName(commonBlock))
-                    result.add(commonBlock);
-            }
-        });
-        return result;
-    }
-
-    private void removeSpecificationStmtsForCommonBlockVars(ASTCommonBlockNode commonBlock)
-    {
-        // TODO: Should only remove this variable, not the entire spec statement
-        //   common a, b
-        //   integer :: a, b
-        // will cause an IllegalStateException since the decl statement will be removed twice
-
-        for (ASTCommonBlockObjectNode obj : commonBlock.getCommonBlockObjectList())
-            for (ISpecificationPartConstruct specStmt : findSpecificationStmtsFor(obj.getVariableName()))
-                try
-        {
-                specStmt.removeFromTree();
-        }
-        catch (IllegalStateException e)
-        {
-            // FIXME HACK -- Ignore
-        }
-    }
-
-    @SuppressWarnings("unchecked")
-    private void addUseStmtAtBeginningOfScopeContaining(ASTCommonStmtNode enclosingCommonStmt, IFortranAST ast)
-    {
-        ASTUseStmtNode useStmt = (ASTUseStmtNode)parseLiteralStatement("use " + newModuleName); //$NON-NLS-1$
-
-        ScopingNode enclosingScope = enclosingCommonStmt.findNearestAncestor(ScopingNode.class);
-        ((IASTListNode<IASTNode>)enclosingScope.getBody()).add(0, useStmt);
-
-        Reindenter.reindent(useStmt, ast);
-    }
-
-    private boolean commonBlockHasSameName(ASTCommonBlockNode commonBlock)
-    {
-        String cnameOfThisCommonBlock = PhotranVPG.canonicalizeIdentifier(getCommonBlockName(commonBlock));
-        String cnameOfCommonBlockToMove = PhotranVPG.canonicalizeIdentifier(nameOfCommonBlockToMove);
-        return cnameOfThisCommonBlock.equals(cnameOfCommonBlockToMove);
-    }
-
-    private boolean commonStmtContainsOnlyOneCommonBlock(ASTCommonStmtNode enclosingCommonStmt)
-    {
-        return enclosingCommonStmt.getCommonBlockList().size() == 1;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MoveSavedToCommonBlockRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MoveSavedToCommonBlockRefactoring.java
deleted file mode 100644
index f989ebd..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/MoveSavedToCommonBlockRefactoring.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.TreeSet;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.Token.FakeToken;
-import org.eclipse.photran.internal.core.parser.ASTArrayDeclaratorNode;
-import org.eclipse.photran.internal.core.parser.ASTArraySpecNode;
-import org.eclipse.photran.internal.core.parser.ASTAttrSpecNode;
-import org.eclipse.photran.internal.core.parser.ASTAttrSpecSeqNode;
-import org.eclipse.photran.internal.core.parser.ASTCommonStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTDimensionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTInitializationNode;
-import org.eclipse.photran.internal.core.parser.ASTInterfaceBlockNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTSaveStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSavedEntityNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeSpecNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IBodyConstruct;
-import org.eclipse.photran.internal.core.parser.ISpecificationStmt;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-
-/**
- * Refactoring to move saved variables of a subprogram to a global common block in Fortran programs.
- * The current implementation assumes that the subprogram is in the CONTAINS section of the PROGRAM.
- *
- * @author Stas Negara
- */
-public class MoveSavedToCommonBlockRefactoring extends FortranEditorRefactoring
-{
-    /** The OS-dependent end-of-line sequence (\n or \r\n) */
-    private static final String EOL = System.getProperty("line.separator"); //$NON-NLS-1$
-
-    private static final String SELECT_SUBPROGRAM_WARNING = Messages.MoveSavedToCommonBlockRefactoring_PleaseSelectSubprogram;
-    private static final String SELECT_NON_INTERFACE_SUBPROGRAM_WARNING = Messages.MoveSavedToCommonBlockRefactoring_PleaseSelectSubprogramNotInINTERFACE;
-
-    private String subprogramName = null;
-    private ScopingNode subprogramNode = null;
-    private IASTListNode<IBodyConstruct> subprogramBodyNode = null;
-    private ASTMainProgramNode mainProgramNode = null;
-
-    @Override
-    public String getName()
-    {
-        return Messages.MoveSavedToCommonBlockRefactoring_Name;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Initial Preconditions
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        Token token = findEnclosingToken(this.astOfFileInEditor, this.selectedRegionInEditor);
-        if (token == null) fail(SELECT_SUBPROGRAM_WARNING);
-
-        if (token.findNearestAncestor(ASTInterfaceBlockNode.class) != null){
-            fail(SELECT_NON_INTERFACE_SUBPROGRAM_WARNING);
-        }
-
-        ASTSubroutineStmtNode subroutineStmtNode = token.findNearestAncestor(ASTSubroutineStmtNode.class);
-        if (subroutineStmtNode == null){
-            ASTFunctionStmtNode functionStmtNode = token.findNearestAncestor(ASTFunctionStmtNode.class);
-            if (functionStmtNode == null){
-                fail(SELECT_SUBPROGRAM_WARNING);
-            }
-            subprogramName = functionStmtNode.getFunctionName().getFunctionName().getText();
-            subprogramNode = (ASTFunctionSubprogramNode) functionStmtNode.getParent();
-            subprogramBodyNode = ((ASTFunctionSubprogramNode) subprogramNode).getBody();
-        }else{
-            subprogramName = subroutineStmtNode.getSubroutineName().getSubroutineName().getText();
-            subprogramNode = (ASTSubroutineSubprogramNode) subroutineStmtNode.getParent();
-            subprogramBodyNode = ((ASTSubroutineSubprogramNode) subprogramNode).getBody();
-        }
-
-        //TODO: Consider situations when a subprogram is 1) in the same file but outside the program and 2) in a separate file
-
-        ScopingNode enclosingScope = subprogramNode.getEnclosingScope();
-        if (!(enclosingScope instanceof ASTMainProgramNode)){
-            fail(Messages.MoveSavedToCommonBlockRefactoring_OnlyInternalSubprogramsSupported);
-        }
-        mainProgramNode = (ASTMainProgramNode) enclosingScope;
-    }
-
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Final Preconditions
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        //No input from the user => no final conditions to check
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Change
-    ///////////////////////////////////////////////////////////////////////////
-
-    //TODO: Consider when the program and the subprogram are in different files
-    @Override
-    protected void doCreateChange(IProgressMonitor progressMonitor) throws CoreException, OperationCanceledException
-    {
-        assert subprogramNode != null;
-        assert subprogramBodyNode != null;
-        assert subprogramName != null;
-        assert mainProgramNode != null;
-
-        //TODO: What about common blocks and saved common blocks?
-        try{
-            if (subprogramBodyNode == null)
-                return; //no body => no variables
-
-            TreeSet<Definition> savedVariableDefinitions = getSavedVariableDefinitions();
-
-            StringBuffer globalVariableDeclarations = new StringBuffer();
-            StringBuffer commonBlockVariables = new StringBuffer();
-
-            Iterator<Definition> definitionIterator = savedVariableDefinitions.iterator();
-            while(definitionIterator.hasNext()){
-                Definition definition = definitionIterator.next();
-                String globalTypeDeclarationString = constructGlobalTypeDeclarationFor(definition);
-                if (globalTypeDeclarationString != null){
-                    globalVariableDeclarations.append(EOL).append(globalTypeDeclarationString).append(EOL);
-                    //Should be the new name already
-                    commonBlockVariables.append(definition.getTokenRef().findToken().getText()).append(","); //$NON-NLS-1$
-                }
-            }
-            if (globalVariableDeclarations.length() > 0){
-                createGlobalCommonBlock(globalVariableDeclarations, commonBlockVariables);
-            }
-            this.addChangeFromModifiedAST(this.fileInEditor, progressMonitor);
-        }catch(Exception ex){
-            ex.printStackTrace();
-        }
-        finally{
-            vpg.releaseAllASTs();
-        }
-    }
-
-    private void createGlobalCommonBlock(StringBuffer globalVariableDeclarations, StringBuffer commonBlockVariables){
-        String commonBlockName = generateUniqueCommonBlockName();
-        //Create COMMON spec, removing trailing comma from the sequence of variables
-        String commonBlock = EOL + "COMMON /" + commonBlockName + "/ " + //$NON-NLS-1$ //$NON-NLS-2$
-                             commonBlockVariables.toString().substring(0, commonBlockVariables.length() - 1) + EOL;
-        globalVariableDeclarations.append(commonBlock);
-
-        IASTListNode<IBodyConstruct> mainProgramListNode = parseLiteralStatementSequence(globalVariableDeclarations.toString());
-        mainProgramNode.getBody().addAll(findIndexToInsertTypeDeclaration(mainProgramNode.getBody()), mainProgramListNode);
-
-        IASTListNode<IBodyConstruct> subprogramListNode = parseLiteralStatementSequence(commonBlock);
-        subprogramBodyNode.addAll(findIndexToInsertTypeDeclaration(subprogramBodyNode), subprogramListNode);
-
-        Reindenter.reindent(mainProgramListNode, astOfFileInEditor);
-        Reindenter.reindent(subprogramListNode, astOfFileInEditor);
-    }
-
-    private String generateUniqueCommonBlockName(){
-        String commonBlockName = subprogramName + "_common1"; //$NON-NLS-1$
-        int counter = 1;
-        //Give it a Token to keep happy FakeToken creation
-        while (isConflictingOrShadowing(mainProgramNode.findFirstToken(), commonBlockName)){
-            counter++;
-            commonBlockName = subprogramName + "_common" + counter; //$NON-NLS-1$
-        }
-        return commonBlockName;
-    }
-
-    private Definition getUniqueDefinitionOrFail(Token variableName) throws PreconditionFailure{
-        List<Definition> variableDefinitions = variableName.resolveBinding();
-        if (variableDefinitions.size() > 1 || variableDefinitions.size() == 0){
-            fail(
-                Messages.bind(
-                    Messages.MoveSavedToCommonBlockRefactoring_AbsentOrAmbiguousDefinition,
-                    variableName.getText()));
-        }
-        return variableDefinitions.get(0);
-    }
-
-    /**
-     * Has a side-effect - removes the processed saveNode from the tree.
-     * @param saveNode
-     * @param savedVariableDefinitions
-     * @throws PreconditionFailure
-     */
-    private void collectSaveStmtVariableDefinitions(ASTSaveStmtNode saveNode, TreeSet<Definition> savedVariableDefinitions) throws PreconditionFailure{
-        IASTListNode<ASTSavedEntityNode> variableList = saveNode.getVariableList();
-        if (variableList == null){
-            // All variables are saved => all should be moved, but continue to remove other potential SAVE nodes
-            savedVariableDefinitions.addAll(subprogramNode.getAllDefinitions());
-        }else{
-            Iterator<ASTSavedEntityNode> variableIterator = variableList.iterator();
-            while(variableIterator.hasNext()){
-                ASTSavedEntityNode savedVariable = variableIterator.next();
-                savedVariableDefinitions.add(getUniqueDefinitionOrFail(savedVariable.getVariableName()));
-            }
-        }
-        saveNode.removeFromTree();
-    }
-
-    /**
-     * Has a side-effect - removes SAVE specification of the type declaration, if present.
-     * @param typeDeclaration
-     * @param savedVariableDefinitions
-     * @throws PreconditionFailure
-     */
-    private void collectTypeDeclarationVariableDefinitions(ASTTypeDeclarationStmtNode typeDeclaration, TreeSet<Definition> savedVariableDefinitions) throws PreconditionFailure{
-        //Check for SAVE specification
-        IASTListNode<ASTAttrSpecSeqNode> attrSpecSeq = typeDeclaration.getAttrSpecSeq();
-        if (attrSpecSeq != null){
-            Iterator<ASTAttrSpecSeqNode> specIterator = attrSpecSeq.iterator();
-            while(specIterator.hasNext()){
-                ASTAttrSpecSeqNode attrSpecSeqNode = specIterator.next();
-                ASTAttrSpecNode attrSpecNode = attrSpecSeqNode.getAttrSpec();
-                if (attrSpecNode != null && attrSpecNode.isSave()){
-                    //All variables of this declaration are saved
-                    IASTListNode<ASTEntityDeclNode> entityDeclList = typeDeclaration.getEntityDeclList();
-                    Iterator<ASTEntityDeclNode> declIterator = entityDeclList.iterator();
-                    while(declIterator.hasNext()){
-                        ASTEntityDeclNode variableDeclaration = declIterator.next();
-                        savedVariableDefinitions.add(getUniqueDefinitionOrFail(variableDeclaration.getObjectName().getObjectName()));
-                    }
-                    //Remove SAVE spec
-                    attrSpecSeq.remove(attrSpecSeqNode);
-                    return;
-                }
-            }
-        }
-        //Check for initialized variables (they are also saved)
-        IASTListNode<ASTEntityDeclNode> entityDeclList = typeDeclaration.getEntityDeclList();
-        Iterator<ASTEntityDeclNode> declIterator = entityDeclList.iterator();
-        while(declIterator.hasNext()){
-            ASTEntityDeclNode variableDeclaration = declIterator.next();
-            if (variableDeclaration.getInitialization() != null){
-                savedVariableDefinitions.add(getUniqueDefinitionOrFail(variableDeclaration.getObjectName().getObjectName()));
-            }
-        }
-    }
-
-    private TreeSet<Definition> getSavedVariableDefinitions() throws PreconditionFailure{
-        //Use sorted set to facilitate the unit testing (this way the variables order will not be volatile as in HashSet)
-        TreeSet<Definition> savedVariableDefinitions = new TreeSet<Definition>();
-        Iterator< ? extends IASTNode> childrenIterator = subprogramBodyNode.getChildren().iterator();
-        while(childrenIterator.hasNext()){
-            IASTNode node = childrenIterator.next();
-            if (node instanceof ASTSaveStmtNode){
-                collectSaveStmtVariableDefinitions((ASTSaveStmtNode) node, savedVariableDefinitions);
-            }else if (node instanceof ASTTypeDeclarationStmtNode){
-                collectTypeDeclarationVariableDefinitions((ASTTypeDeclarationStmtNode) node, savedVariableDefinitions);
-            }
-        }
-        return savedVariableDefinitions;
-    }
-
-    /**
-     * Besides constructing the declaration to be inserted in the main program, removes initializations of variables that are moved to
-     * the global common block. Also generates the unique name for the moved variable and renames all references accordingly.
-     * May return null value, if the variable definition should not be moved (e.g., if it is a PARAMETER variable)
-     */
-    private String constructGlobalTypeDeclarationFor(Definition variableDefinition) throws PreconditionFailure
-    {
-        //Ignore dummy variables (subprogram's formal parameters)
-        if (variableDefinition.isSubprogramArgument()){
-            return null;
-        }
-        StringBuffer result = new StringBuffer();
-        //gfortran will allow duplicates in stand alone specs (with exceptions, e.g., DIMENSION should not be duplicated),
-        //but will complain about duplicates in type declaration, so, keep track of the used specs
-        HashSet<String> usedSpecs = new HashSet<String>();
-
-        String variableInitAndArraySpec = processOriginalTypeDeclaration(variableDefinition, result, usedSpecs);
-
-        if (variableInitAndArraySpec == null){
-            //This is null only if the global declaration should not be created
-            return null;
-        }
-
-        //At this point we know that the variable will be moved, so, generate a unique name for it and rename all occurences
-        String newVariableName = generateUniqueVariableNameAndUpdateDefinition(variableDefinition);
-
-        processSpecifications(newVariableName, variableDefinition, result, usedSpecs);
-
-        result.append(" :: ").append(newVariableName).append(variableInitAndArraySpec); //$NON-NLS-1$
-        return result.toString();
-    }
-
-    private String processOriginalTypeDeclaration(Definition variableDefinition, StringBuffer result, HashSet<String> usedSpecs)
-                                                  throws PreconditionFailure{
-        Token definitionToken = variableDefinition.getTokenRef().findToken();
-        ASTTypeDeclarationStmtNode typeDeclaration = definitionToken.findNearestAncestor(ASTTypeDeclarationStmtNode.class);
-        if (typeDeclaration == null){
-            //The type of the variable is not specified
-            result.append("TYPE(UNKNOWN)"); //$NON-NLS-1$
-        }else{
-            ASTTypeSpecNode typeSpecNode = typeDeclaration.getTypeSpec();
-            if (typeSpecNode == null){
-                //Why could this happen?
-                fail(
-                    Messages.bind(
-                        Messages.MoveSavedToCommonBlockRefactoring_CouldNotFindTypeSpecificationNode,
-                        variableDefinition.getCanonicalizedName()));
-            }
-            result.append(SourcePrinter.getSourceCodeFromASTNode(typeSpecNode).trim().toUpperCase());
-
-            IASTListNode<ASTAttrSpecSeqNode> attrSpecSeq = typeDeclaration.getAttrSpecSeq();
-            if (attrSpecSeq != null){
-                Iterator<ASTAttrSpecSeqNode> iterator = attrSpecSeq.iterator();
-                while(iterator.hasNext()){
-                    ASTAttrSpecSeqNode attrSpecSeqNode = iterator.next();
-                    ASTAttrSpecNode attrSpecNode = attrSpecSeqNode.getAttrSpec();
-                    //SAVE spec was removed from the list, not the tree, which takes the immediate effect, so, no need to check for it
-                    //If other specs are correct for the subprogram, they should be correct outside it too
-                    //E.g., for the case of INTENT - it is illegal to SAVE those variables, so the control flow should not get here
-                    if (attrSpecNode != null ){
-                        if (attrSpecNode.isParameter()){
-                            //PARAMETER variables should not be moved
-                            return null;
-                        }
-                        String spec = SourcePrinter.getSourceCodeFromASTNode(attrSpecNode).trim().toUpperCase();
-                        result.append(", ").append(spec); //$NON-NLS-1$
-                        usedSpecs.add(spec);
-                    }
-                }
-            }
-        }
-        return processEntityDeclNode(variableDefinition);
-    }
-
-    private String processEntityDeclNode(Definition variableDefinition) throws PreconditionFailure{
-        StringBuffer returnString = new StringBuffer();
-        Token definitionToken = variableDefinition.getTokenRef().findToken();
-        ASTEntityDeclNode declarationNode = definitionToken.findNearestAncestor(ASTEntityDeclNode.class);
-        if (declarationNode == null){
-            //really this should not happen
-            fail(
-                Messages.bind(
-                    Messages.MoveSavedToCommonBlockRefactoring_CouldNotFindDeclarationNode,
-                    variableDefinition.getCanonicalizedName()));
-        }
-        ASTInitializationNode initializationNode = declarationNode.getInitialization();
-        if (initializationNode != null){
-            returnString.append(SourcePrinter.getSourceCodeFromASTNode(initializationNode));
-            declarationNode.setInitialization(null);
-        }
-        ASTArraySpecNode arraySpecNode= declarationNode.getArraySpec();
-        if (arraySpecNode != null){
-            returnString.append("(").append(SourcePrinter.getSourceCodeFromASTNode(arraySpecNode).trim()).append(")"); //$NON-NLS-1$ //$NON-NLS-2$
-        }
-        return returnString.toString();
-    }
-
-    private void processSpecifications(String newVariableName, Definition variableDefinition, StringBuffer result, HashSet<String> usedSpecs)
-                                       throws PreconditionFailure{
-        for (PhotranTokenRef tokenReference : variableDefinition.findAllReferences(false)){
-            //Rename all occurences of the variable to the generated unique name
-            tokenReference.findToken().setText(newVariableName);
-
-            ISpecificationStmt enclosingSpecStmt = tokenReference.findToken().findNearestAncestor(ISpecificationStmt.class);
-            if (enclosingSpecStmt != null){
-                //Special processing for DIMENSION, because we need to take into account the dimension itself, besides DIMENSION keyword
-                //Note: DIMENSION is not allowed to be duplicated, so do not check here
-                if (enclosingSpecStmt instanceof ASTDimensionStmtNode){
-                    ASTArrayDeclaratorNode arrayDeclaratorNode = tokenReference.findToken().findNearestAncestor(ASTArrayDeclaratorNode.class);
-                    ASTArraySpecNode arraySpec = null;
-                    if (arrayDeclaratorNode == null || (arraySpec = arrayDeclaratorNode.getArraySpec()) == null ){
-                        //really this should not happen
-                        fail(
-                            Messages.bind(
-                                Messages.MoveSavedToCommonBlockRefactoring_CouldNotFindArrayDeclaration,
-                                variableDefinition.getCanonicalizedName()));
-                    }
-                    result.append(", DIMENSION(").append(SourcePrinter.getSourceCodeFromASTNode(arraySpec)).append(")"); //$NON-NLS-1$ //$NON-NLS-2$
-                //Filter out COMMON and SAVE specs (although SAVE was removed from the tree, the references were not updated yet)
-                }else if (!(enclosingSpecStmt instanceof ASTSaveStmtNode) && !(enclosingSpecStmt instanceof ASTCommonStmtNode)){
-                    //For all other specs the keyword is enough (again, INTENT should not appear here)
-                    String spec = enclosingSpecStmt.findFirstToken().getText().trim().toUpperCase();
-                    if (!usedSpecs.contains(spec)){
-                        result.append(", ").append(spec); //$NON-NLS-1$
-                        usedSpecs.add(spec);
-                    }
-                }
-            }
-        }
-    }
-
-    private String generateUniqueVariableNameAndUpdateDefinition(Definition variableDefinition){
-        Token definitionToken = variableDefinition.getTokenRef().findToken();
-        String newVariableName = variableDefinition.getCanonicalizedName() + "_xxx1"; //$NON-NLS-1$
-        int counter = 1;
-        while (isConflictingOrShadowing(definitionToken, newVariableName)){
-            counter++;
-            newVariableName = variableDefinition.getCanonicalizedName() + "_xxx" + counter; //$NON-NLS-1$
-        }
-        definitionToken.setText(newVariableName);
-        return newVariableName;
-    }
-
-    //The newVariableName should have no appearance in the program code
-    private boolean isConflictingOrShadowing(Token baseToken, String newVariableName){
-        Token fakeToken = new FakeToken(baseToken, newVariableName);
-
-        List<PhotranTokenRef> conflictingDef = subprogramNode.manuallyResolve(fakeToken);
-        conflictingDef.addAll(mainProgramNode.manuallyResolve(fakeToken));
-
-        for (ScopingNode importingScope : subprogramNode.findImportingScopes()){
-            conflictingDef.addAll(importingScope.manuallyResolve(fakeToken));
-        }
-        for (ScopingNode importingScope : mainProgramNode.findImportingScopes()){
-            conflictingDef.addAll(importingScope.manuallyResolve(fakeToken));
-        }
-        return !conflictingDef.isEmpty();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/PermuteSubroutineArgsRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/PermuteSubroutineArgsRefactoring.java
deleted file mode 100644
index 8f34343..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/PermuteSubroutineArgsRefactoring.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Matthew Fotzler, UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTCallStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSeparatedListNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineArgNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineParNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * A refactoring that changes the signature of a subroutine subprogram,
- * swapping the arguments around at all declarations and call sites.
- * 
- * @author Matthew Fotzler
- */
-public class PermuteSubroutineArgsRefactoring extends FortranEditorRefactoring
-{
-    private ASTSubroutineStmtNode selectedSubroutine;
-    private List<ASTSubroutineParNode> oldParameterList;
-    private List<ASTSubroutineParNode> newParameterList;
-    private List<Integer> sigma;
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-    throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        //ASTSubroutineSubprogramNode s = getNode(astOfFileInEditor, selectedRegionInEditor, ASTSubroutineSubprogramNode.class);
-
-        newParameterList = new ArrayList<ASTSubroutineParNode>();
-        if(sigma == null) sigma = new ArrayList<Integer>();
-
-        IASTNode temporaryNode = findEnclosingNode(astOfFileInEditor, selectedRegionInEditor);
-
-        if(temporaryNode == null)
-            fail(Messages.PermuteSubroutineArgsRefactoring_selectedTextNotSubroutine);
-
-        if(temporaryNode instanceof ASTSubroutineSubprogramNode)
-            selectedSubroutine = ((ASTSubroutineSubprogramNode)temporaryNode).getSubroutineStmt();
-        else if(temporaryNode instanceof ASTSubroutineStmtNode)
-        {
-            if(temporaryNode.findNearestAncestor(ASTSubroutineSubprogramNode.class) == null)
-                fail(Messages.PermuteSubroutineArgsRefactoring_selectSubroutineError);
-            selectedSubroutine = (ASTSubroutineStmtNode)temporaryNode;
-        }
-        else
-            fail(Messages.PermuteSubroutineArgsRefactoring_selectedTextNotSubroutine);
-
-        oldParameterList = getSubroutineParameters();
-        newParameterList = getSubroutineParameters();
-        
-        if(!matchingDeclarationsInInterfacesUniquelyBind())
-            status.addWarning(Messages.PermuteSubroutineArgsRefactoring_matchingDeclarationsDoNotUniquelyBind);
-    }
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-    throws org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring.PreconditionFailure
-    {
-
-    }
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,
-    OperationCanceledException
-    {
-        buildNewParameterListFromSigma();
-        
-        // steps 1-3
-        permuteDummyArguments(selectedSubroutine);
-
-        permuteCallSites();
-
-        permuteSubroutineInInterfaceBlocks();
-
-        addChangeFromModifiedAST(fileInEditor, pm);
-        vpg.releaseAST(fileInEditor);
-    }
-    
-    public void setSigma(List<Integer> sigma)
-    {
-        this.sigma = sigma;
-    }
-    
-    // used for the junit test marker
-    public void buildNewParameterListFromSigma()
-    {
-        newParameterList = new ArrayList<ASTSubroutineParNode>();
-        
-        for(int i : sigma)
-            newParameterList.add(oldParameterList.get(i));
-    }
-
-    protected void permuteDummyArguments(ASTSubroutineStmtNode node)
-    {
-        ASTSeparatedListNode<ASTSubroutineParNode> newParameterList = new ASTSeparatedListNode<ASTSubroutineParNode>(new Token(Terminal.T_COMMA, ","), this.newParameterList); //$NON-NLS-1$
-        node.setSubroutinePars(newParameterList);
-    }
-
-    private void permuteCallSites()
-    {
-        for(ASTCallStmtNode callStmt : getCallSites())
-        {
-            int m = 0;
-
-            if(callStmt.getArgList() != null)
-            {
-                m = callStmt.getArgList().size();
-            }
-
-            // 2a
-            boolean K = false;
-
-            // 2b
-            ArrayList<ASTSubroutineArgNode> L_prime = new ArrayList<ASTSubroutineArgNode>();
-
-            // step 2c
-            for(int i : sigma)
-            {
-                ASTSubroutineParNode desiredPar = oldParameterList.get(i);
-                ASTSubroutineArgNode A_i = getActualArgFromCallStmt(callStmt, desiredPar.getVariableName(), i);
-                
-                if(i > m)
-                    K = true;
-                
-                // 2cii
-                if(A_i != null)
-                {
-                    // 2ciiA
-                    if(A_i.getName() != null)
-                        K = true;
-                    
-                    // 2ciiB
-                    if(K == false || A_i.getName() != null)
-                        L_prime.add(A_i);
-                    
-                    // 2ciiC
-                    if(K == true && A_i.getName() == null)
-                    {
-                        A_i.setName(new Token(Terminal.T_IDENT, desiredPar.getVariableName().getText()));
-                        L_prime.add(A_i);
-                    }
-                }
-            }
-            
-            ASTSeparatedListNode<ASTSubroutineArgNode> newArgList = new ASTSeparatedListNode<ASTSubroutineArgNode>(new Token(Terminal.T_COMMA, ","), L_prime); //$NON-NLS-1$
-            callStmt.setArgList(newArgList);
-        }
-    }
-
-    private ASTSubroutineArgNode getActualArgFromCallStmt(ASTCallStmtNode callStmt, Token desiredParName, int desiredParIndex)
-    {
-        for(int i = 0; i < callStmt.getArgList().size(); i++)
-        {
-            ASTSubroutineArgNode argument = callStmt.getArgList().get(i);
-            if(argument.getName() == null || desiredParName == null)
-            {
-                if(i == desiredParIndex)
-                    return argument;
-            }
-            else
-            {
-                String argumentName = PhotranVPG.canonicalizeIdentifier(argument.getName().getText());
-                String parameterName = PhotranVPG.canonicalizeIdentifier(desiredParName.getText());
-                if(argumentName.equals(parameterName))
-                    return argument;
-            }
-        }
-        return null;
-    }
-
-    private void permuteSubroutineInInterfaceBlocks()
-    {
-        for(Definition declaration : getInterfaceDeclarations())
-        {
-            ASTSubroutineStmtNode subroutineStmt = declaration.getTokenRef().findToken().findNearestAncestor(ASTSubroutineStmtNode.class);
-            
-            if (subroutineStmt != null &&
-                subroutineStmt.getSubroutinePars() != null && 
-                subroutineStmt.getSubroutinePars().size() == newParameterList.size())
-                    permuteDummyArguments(subroutineStmt);
-        }
-    }
-    
-    private Collection<Definition> getInterfaceDeclarations()
-    {
-        List<Definition> subroutineDefinitions = selectedSubroutine.getSubroutineName().getSubroutineName().resolveBinding();
-        
-        if(subroutineDefinitions.size() != 1)
-            return new ArrayList<Definition>();
-        
-        return subroutineDefinitions.get(0).findMatchingDeclarationsInInterfaces();
-    }
-    
-    private boolean matchingDeclarationsInInterfacesUniquelyBind()
-    {
-        for(Definition declaration : getInterfaceDeclarations())
-            if(declaration.resolveInterfaceBinding().size() != 1)
-                return false;
-        
-        return true;
-    }
-
-    @Override
-    public String getName()
-    {
-        return Messages.PermuteSubroutineArgsRefactoring_name;
-    }
-
-    public List<ASTSubroutineParNode> getSubroutineParameters()
-    {
-        if(selectedSubroutine.getSubroutinePars() != null)
-            return selectedSubroutine.getSubroutinePars();
-
-        return new ArrayList<ASTSubroutineParNode>();
-    }
-
-    private Set<ASTCallStmtNode> getCallSites()
-    {
-        List<Definition> subroutineDefinitions = selectedSubroutine.getSubroutineName().getSubroutineName().resolveBinding();
-        HashSet<ASTCallStmtNode> result = new HashSet<ASTCallStmtNode>();
-
-        if (subroutineDefinitions.size() != 1)
-            return result; //probably should throw an error of some sort!
-
-        for(PhotranTokenRef tokenRef : subroutineDefinitions.get(0).findAllReferences(true))
-        {
-            Token token = tokenRef.findToken();
-
-            ASTCallStmtNode callStmtNode = token.findNearestAncestor(ASTCallStmtNode.class);
-
-            if(callStmtNode != null)
-                result.add(callStmtNode);
-        }
-
-        return result;
-    }
-
-    public boolean isUsedWithKeywordInCallStmt(ASTSubroutineParNode parameterNode)
-    {
-        for(ASTCallStmtNode callStmtNode : getCallSites())
-            for(ASTSubroutineArgNode argument : callStmtNode.getArgList())
-                if(argument.getName() != null && parameterNode.getVariableName() != null)
-                {
-                    String argumentName = PhotranVPG.canonicalizeIdentifier(argument.getName().getText());
-                    String parameterName = PhotranVPG.canonicalizeIdentifier(parameterNode.getVariableName().getText());
-                    if(argumentName.equals(parameterName))
-                        return true;
-                }
-
-        return false;
-    }
-
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveArithmeticIfRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveArithmeticIfRefactoring.java
deleted file mode 100644
index bb9d330..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveArithmeticIfRefactoring.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.parser.ASTArithmeticIfStmtNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;
-
-/**
- * Refactoring to remove arithmetic if statements in Fortran files.
- *
- * @author Matthew Fotzler
- * @author Jeff Overbey - Bug 335794
- */
-public class RemoveArithmeticIfRefactoring extends FortranResourceRefactoring
-{
-    @Override
-    public String getName()
-    {
-        return Messages.RemoveArithmeticIfRefactoring_Name;
-    }
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-        removeFixedFormFilesFrom(this.selectedFiles, status);
-        removeCpreprocessedFilesFrom(this.selectedFiles, status);
-    }
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        try
-        {
-            for (IFile file : selectedFiles)
-            {
-                IFortranAST ast = vpg.acquirePermanentAST(file);
-                if (ast == null)
-                    status.addError(Messages.bind(Messages.RemoveArithmeticIfRefactoring_Error, file.getName()));
-                makeChangesTo(file, ast, status, pm);
-                vpg.releaseAST(file);
-            }
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    private void makeChangesTo(IFile file, IFortranAST ast, RefactoringStatus status, IProgressMonitor pm)
-    {
-        if (ast == null) return;
-
-        List<ASTArithmeticIfStmtNode> nodesToReplace = findNodesToReplace(ast);
-        if (!nodesToReplace.isEmpty())
-        {
-            for (ASTArithmeticIfStmtNode node : nodesToReplace)
-                replaceNode(node, ast);
-            
-            addChangeFromModifiedAST(file, pm);
-        }
-    }
-
-    private List<ASTArithmeticIfStmtNode> findNodesToReplace(IFortranAST ast)
-    {
-        final List<ASTArithmeticIfStmtNode> result = new LinkedList<ASTArithmeticIfStmtNode>();
-        ast.accept(new GenericASTVisitor()
-        {
-            @Override public void visitASTArithmeticIfStmtNode(ASTArithmeticIfStmtNode node)
-            {
-                result.add(node);
-            }
-        });
-        return result;
-    }
-
-    private void replaceNode(ASTArithmeticIfStmtNode node, IFortranAST ast)
-    {
-        String first = node.getFirst().getLabel().getText();
-        String second = node.getSecond().getLabel().getText();
-        String third = node.getThird().getLabel().getText();
-        String conditionVariable = node.getExpr().toString();
-        String newNodeString = node.findFirstToken().getWhiteBefore();
-        if (node.getLabel() != null)
-            newNodeString += node.getLabel().getText() + " "; //$NON-NLS-1$
-        newNodeString += 
-            "if(" + conditionVariable + "< 0) then" + node.findLastToken().getWhiteBefore() +  //$NON-NLS-1$ //$NON-NLS-2$
-            "\ngoto " +  first +  //$NON-NLS-1$
-            "\nelse if(" + conditionVariable + " == 0) then " + //$NON-NLS-1$ //$NON-NLS-2$
-            "\ngoto " + second +  //$NON-NLS-1$
-            "\nelse " + //$NON-NLS-1$
-            "\ngoto " + third +  //$NON-NLS-1$
-            "\nend if"; //$NON-NLS-1$
-        
-        IASTNode newnode = parseLiteralStatement(newNodeString);
-        node.replaceWith(newnode);
-        Reindenter.reindent(newnode, ast, Strategy.REINDENT_EACH_LINE);
-    }
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveAssignedGotoRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveAssignedGotoRefactoring.java
deleted file mode 100644
index eba3545..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveAssignedGotoRefactoring.java
+++ /dev/null
@@ -1,666 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Andrea Dranberg, John Hammonds, Rajashekhar Arasanal, 

- * Balaji Ambresh Rajkumar and Paramvir Singh.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- * Andrea Dranberg, John Hammonds, Rajashekhar Arasanal, Balaji Ambresh Rajkumar

- * and Paramvir Singh - Initial API and implementation

- * 

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import java.util.HashMap;

-import java.util.LinkedList;

-import java.util.List;

-import java.util.Map;

-import java.util.Set;

-import java.util.TreeSet;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.core.IFortranAST;

-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;

-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.parser.ASTAssignStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTAssignedGotoStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTCaseConstructNode;

-import org.eclipse.photran.internal.core.parser.ASTNameNode;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.parser.IActionStmt;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;

-import org.eclipse.photran.internal.core.vpg.PhotranVPG;

-

-/**

- * Refactoring to remove assigned GOTO statements in selected Fortran files.

- * 

- * @author Andrea Dranberg

- * @author John Hammonds

- * @author Rajashekhar Arasanal

- * @author Balaji Ambresh Rajkumar

- * @author Paramvir Singh

- */

-public class RemoveAssignedGotoRefactoring extends FortranResourceRefactoring

-{

-    /**

-     * Maintains the lists of goto, assign and action statements that are required to do the actual

-     * refactoring for an IFile. Instances are created as part of initial precondition check and

-     * destroyed once the refactoring is done.

-     */

-    public static class FileInfo

-    {

-        // All Assigned statements in the Fortran file

-        private List<ASTAssignStmtNode> assignedStmtList;

-

-        // All GoTo statements in the Fortran file

-        private List<ASTAssignedGotoStmtNode> assignedGotoStmtList;

-

-        // All action statements in the Fortran file

-        private List<IActionStmt> actionStmtList;

-

-        private boolean isVariableInActionStmt;

-

-        private IFile file;

-

-        private PhotranVPG vpg;

-

-        private Set<String> labelAddresses;

-

-        protected FileInfo(PhotranVPG vpg, IFile file) throws PreconditionFailure

-        {

-            setVpg(vpg);

-            setFile(file);

-            assignedStmtList = new LinkedList<ASTAssignStmtNode>();

-            assignedGotoStmtList = new LinkedList<ASTAssignedGotoStmtNode>();

-            actionStmtList = new LinkedList<IActionStmt>();

-            labelAddresses = new TreeSet<String>();

-            initialize();

-        }

-

-        /**

-         * Collects all the assigned goto statements for the entire file and checks that there is at

-         * least one valid assigned goto to refactor.

-         * 

-         * @throws PreconditionFailure

-         */

-        private void initialize() throws PreconditionFailure

-        {

-            IFile file = getFile();

-            IFortranAST ast = (IFortranAST)getVpg().acquirePermanentAST(file);

-            if (ast == null) { throw new PreconditionFailure(Messages.bind(

-                Messages.RemoveAssignedGoToRefactoring_SelectedFileCannotBeParsed, file.getName())); }

-            collectAllAssignedGoTos(ast.getRoot());

-            ensureLabelAddressesArePresent(ast.getRoot());

-        }

-

-        public void cleanUp()

-        {

-            assignedStmtList.clear();

-            assignedGotoStmtList.clear();

-            actionStmtList.clear();

-            isVariableInActionStmt = false;

-            vpg.releaseAST(file);

-

-        }

-

-        public List<ASTAssignStmtNode> getAssignedStmtList()

-        {

-            return assignedStmtList;

-        }

-

-        public void setAssignedStmtList(List<ASTAssignStmtNode> assignedStmtList)

-        {

-            this.assignedStmtList = assignedStmtList;

-        }

-

-        public List<ASTAssignedGotoStmtNode> getAssignedGotoStmtList()

-        {

-            return assignedGotoStmtList;

-        }

-

-        public void setAssignedGotoStmtList(List<ASTAssignedGotoStmtNode> assignedGotoStmtList)

-        {

-            this.assignedGotoStmtList = assignedGotoStmtList;

-        }

-

-        public List<IActionStmt> getActionStmtList()

-        {

-            return actionStmtList;

-        }

-

-        public void setActionStmtList(List<IActionStmt> actionStmtList)

-        {

-            this.actionStmtList = actionStmtList;

-        }

-

-        public boolean isVariableInActionStmt()

-        {

-            return isVariableInActionStmt;

-        }

-

-        public void setVariableInActionStmt(boolean isVariableUsed)

-        {

-            this.isVariableInActionStmt = isVariableUsed;

-        }

-

-        public IFile getFile()

-        {

-            return file;

-        }

-

-        public void setFile(IFile file)

-        {

-            this.file = file;

-        }

-

-        public PhotranVPG getVpg()

-        {

-            return vpg;

-        }

-

-        public void setVpg(PhotranVPG vpg)

-        {

-            this.vpg = vpg;

-        }

-

-        /**

-         * Remove assign statements whose variable name is used in any action statement.

-         * 

-         * @return String of removed variable names.

-         */

-        private String removeVariablesUsedInActionStmt()

-        {

-            Set<String> removedVariables = new TreeSet<String>();

-            List<ASTAssignStmtNode> assignStmtList = getAssignedStmtList();

-            

-            for (int i = 0; i < assignStmtList.size(); i++)

-            {

-                List<IActionStmt> actionStmtList = getActionStmtList();

-                for (IActionStmt actionStmtNode : actionStmtList)

-                {

-                    String variable = ((ASTAssignStmtNode)assignStmtList.get(i)).getVariableName()

-                        .getText();

-                    if (doesActionStmtUseVariable(actionStmtNode, variable))

-                    {

-                        assignStmtList.remove(i);

-                        removedVariables.add(variable);

-                        --i;

-                        break;

-                    }

-                }

-            }

-            String returnString;

-            if (removedVariables.size() == 0)

-                returnString = ""; //$NON-NLS-1$

-            else

-                returnString = removedVariables.toString();

-            return returnString;

-        }

-

-        /**

-         * Determines if the variable is used within an action statement.

-         * 

-         * @param node The action statement node to search

-         * @param variable The label to be used in the goto statement

-         * @return true if label is in the action statement, otherwise false.

-         */

-        private boolean doesActionStmtUseVariable(IActionStmt node, final String variable)

-        {

-            setVariableInActionStmt(false);

-            node.accept(new ASTVisitorWithLoops()

-            {

-                @Override

-                public void visitASTNameNode(ASTNameNode nameNode)

-                {

-                    if (nameNode.getName().getText().equalsIgnoreCase(variable))

-                    {

-                        setVariableInActionStmt(true);

-                    }

-                }

-            });

-            return isVariableInActionStmt();

-        }

-

-        /**

-         * Sorts the assignment statements by label address.

-         */

-        private void sortAssignedStmtList()

-        {

-            int maxIndex = getAssignedStmtList().size();

-            for (int i = 0; i < maxIndex; i++)

-            {

-                for (int j = 0; j < maxIndex; j++)

-                {

-                    ASTAssignStmtNode assignNode1 = (ASTAssignStmtNode)getAssignedStmtList().get(i);

-                    ASTAssignStmtNode assignNode2 = (ASTAssignStmtNode)getAssignedStmtList().get(j);

-                    String ref1 = assignNode1.getAssignedLblRef().getLabel().getText();

-                    String ref2 = assignNode2.getAssignedLblRef().getLabel().getText();

-                    if (ref1.compareTo(ref2) < 0)

-                    {

-                        ASTAssignStmtNode temp = assignNode1;

-                        getAssignedStmtList().remove(assignNode1);

-                        getAssignedStmtList().add(j, temp);

-                    }

-                }

-            }

-        }

-

-        /**

-         * Remove duplicate assign statements. 2 Assign statements are considered to be duplicates if

-         * they have the same label addresses and variable names.

-         */

-        private void removeDuplicateAssigns()

-        {

-            int maxIndex = getAssignedStmtList().size();

-            for (int i = 0; i < maxIndex; i++)

-            {

-                for (int j = i + 1; j < maxIndex; j++)

-                {

-                    ASTAssignStmtNode assignNode1 = (ASTAssignStmtNode)getAssignedStmtList().get(i);

-                    ASTAssignStmtNode assignNode2 = (ASTAssignStmtNode)getAssignedStmtList().get(j);

-                    String ref1 = assignNode1.getAssignedLblRef().getLabel().getText();

-                    String ref2 = assignNode2.getAssignedLblRef().getLabel().getText();

-                    String var1 = assignNode1.getVariableName().getText();

-                    String var2 = assignNode2.getVariableName().getText();

-

-                    if (ref1.equals(ref2) && var1.equals(var2))

-                    {

-                        getAssignedStmtList().remove(j);

-                        maxIndex--;

-                        j--;

-                    }

-                }

-            }

-        }

-

-        /**

-         * Removes all goto labels used in an action statement. Checks if there is at least one

-         * assigned goto label left to refactor.

-         * @param scope

-         * @throws PreconditionFailure

-         */

-        private void ensureLabelAddressesArePresent(ScopingNode scope) throws PreconditionFailure

-        {

-            scope.accept(new ASTVisitorWithLoops()

-            {

-                @Override

-                public void visitIActionStmt(IActionStmt node)

-                {

-                    Token address = node.getLabel();

-                    if (address instanceof Token)

-                    {

-                        labelAddresses.remove(address.getText());

-                    }

-                    traverseChildren(node);

-                }

-            });

-            if (labelAddresses.size() != 0)

-                throw new PreconditionFailure(Messages.RemoveAssignedGotoRefactoring_LabelNotFound + file.getFullPath()); 

-        }

-

-        private void collectAllAssignedGoTos(ScopingNode scope)

-        {

-            scope.accept(new ASTVisitorWithLoops()

-            {

-                @Override

-                public void visitASTAssignStmtNode(ASTAssignStmtNode node)

-                {

-                    Token address = node.getAssignedLblRef().getLabel();

-                    if (address instanceof Token)

-                    {

-                        labelAddresses.add(address.getText());

-                    }

-                    getAssignedStmtList().add(0, node);

-                    traverseChildren(node);

-                }

-

-                // goto 100 --> ASTGotoStmtNode

-                // goto label --> ASTAssignedGotoStmtNode

-                @Override

-                public void visitASTAssignedGotoStmtNode(ASTAssignedGotoStmtNode node)

-                {

-                    getAssignedGotoStmtList().add(0, node);

-                    traverseChildren(node);

-                }

-

-                /**

-                 * Collect action statements that are not ASTAssignedGotoStmtNode or

-                 * ASTAssignStmtNode.

-                 */

-                @Override

-                public void visitIActionStmt(IActionStmt node)

-                {

-                    if (!(node instanceof ASTAssignedGotoStmtNode)

-                        && !(node instanceof ASTAssignStmtNode))

-                    {

-                        getActionStmtList().add(0, node);

-                        traverseChildren(node);

-                    }

-                }

-            });

-        }

-    }

-    

-    /**

-     * Keeps track of FileInfo for all the selected files.

-     * The store is cleared when refactoring starts, ends, when the refactoring is 

-     * canceled from the input page  or when an error occurs.

-     */

-    public static class FileInfoFactory

-    {

-        private static final Map<IFile, FileInfo> store = new HashMap<IFile, RemoveAssignedGotoRefactoring.FileInfo>();

-

-        public static FileInfo getInstance(IFile file, PhotranVPG vpg) throws PreconditionFailure

-        {

-            FileInfo storedInfo = store.get(file);

-

-            if (storedInfo != null)

-            {

-                return storedInfo;

-            }

-            FileInfo newInstance = new FileInfo(vpg, file);

-

-            store.put(file, newInstance);

-

-            return newInstance;

-        }

-

-        public static void reset()

-        {

-            for (Map.Entry<IFile, FileInfo> entry : store.entrySet())

-            {

-                entry.getValue().cleanUp();

-            }

-            store.clear();

-        }

-

-        public static void remove(FileInfo instance)

-        {

-            instance.cleanUp();

-            store.remove(instance.getFile());

-        }

-

-        public static void removeInstance(IFile file)

-        {

-            FileInfo instance = store.get(file);

-            remove(instance);

-        }

-    }

-

-    // Initialized to true by default since the button change listener from the

-    // input page would be triggered only when a selection is made.

-    // If the user directly clicks to OK button without making a choice, the button

-    // listener would not be invoked. Refer RemoveAssignedGotoInputPage for more info.

-    protected boolean isDefaultCaseRequired = true;

-

-    @Override

-    public String getName()

-    {

-        return Messages.RemoveAssignedGoToRefactoring_Name;

-    }

-

-    public void setDefaultSelected(boolean isDefaultCaseRequired)

-    {

-        this.isDefaultCaseRequired = isDefaultCaseRequired;

-    }

-

-    /**

-     * Checks the initial conditions before starting refactoring 

-     * 1. Checks if refactoring is enabled for this project 

-     * 2. Remove files with fixed form, from list of files to be refactored 

-     * 3. Remove C-Preprocessed files from list of files to be refactored

-     * 4. Initializes the FileInfo for all selected files. 

-     */

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-        removeFixedFormFilesFrom(selectedFiles, status);

-        removeCpreprocessedFilesFrom(selectedFiles, status);

-        FileInfoFactory.reset();

-        try

-        {

-            checkFilesForAssign(status);

-        }

-        catch (PreconditionFailure pre)

-        {

-            FileInfoFactory.reset();

-            status.addError(pre.getMessage());

-            throw pre;

-        }

-

-    }

-

-    /**

-     * Each selected file is checked for an assign statement. Any file that doesn't contain the

-     * assigned goto statement is considered to violate the precondition check.

-     * 

-     * @throws PreconditionFailure.

-     */

-    protected void checkFilesForAssign(RefactoringStatus status) throws PreconditionFailure

-    {

-        for (IFile file : selectedFiles)

-        {

-            FileInfo newInstance = FileInfoFactory.getInstance(file, vpg);

-            if (newInstance.getAssignedStmtList().isEmpty())

-            {

-                throw new PreconditionFailure(

-                    Messages.bind(

-                        Messages.RemoveAssignedGotoRefactoring_NothingToBeRefactored,

-                        file.getFullPath()));

-            }

-        }

-

-    }

-

-    /**

-     * Iterates over the list of selected files for refactoring. For each file 

-     * 1. It gets AST for that file 

-     * 2. Puts together a list of all Assign and GoTo statements 

-     * 3. Does actual refactoring for each of the Assign Gotos 

-     * 4. Releases the AST for that file.

-     */

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        for (IFile file : selectedFiles)

-        {

-            FileInfo data = FileInfoFactory.getInstance(file, vpg);

-            String removedVariables = data.removeVariablesUsedInActionStmt();

-

-            if (data.getAssignedStmtList().isEmpty())

-            {

-                FileInfoFactory.reset();

-                throw new PreconditionFailure(

-                    Messages.RemoveAssignedGotoRefactoring_AllLabelsUsedInActionStatement + file.getFullPath());

-            }

-            else if (removedVariables.length() != 0)

-            {

-                status

-                    .addWarning(new StringBuffer(

-                        Messages.RemoveAssignedGotoRefactoring_TheFollowingLabelsCannotBeRefactored)

-                        .append(removedVariables).append(Messages.RemoveAssignedGotoRefactoring_ForFile).append(file.getFullPath())

-                        .toString());

-            }

-        }

-    }

-

-    /**

-     * First try to create the case body by going through the list of ASSIGN statements. If we

-     * don't find any ASSIGN statement with the variable, return null.

-     */

-    private ASTCaseConstructNode createSelectCaseConstruct(

-        ASTAssignedGotoStmtNode assignedGotoNode, FileInfo data)

-    {

-        ASTCaseConstructNode caseStmt;

-        String caseConstructString = ""; //$NON-NLS-1$

-        String defaultCaseString = ""; //$NON-NLS-1$

-        String endSelectString = "end select"; //$NON-NLS-1$

-        

-        String caseBodyString = createSelectCaseBody(assignedGotoNode, data);

-

-        if (caseBodyString.length() == 0)

-        {

-            return null;

-        }

-        if (isDefaultCaseRequired)

-        {

-            defaultCaseString = "case default; stop \"Unknown label\"\n"; //$NON-NLS-1$

-        }

-        // Create the select case string.

-        String selCaseString = "select case (" + assignedGotoNode.getVariableName().getText() + ")"; //$NON-NLS-1$ //$NON-NLS-2$

-

-        // Create the end select.

-        caseConstructString = selCaseString + "\n" + caseBodyString + defaultCaseString //$NON-NLS-1$

-            + endSelectString + "\n"; //$NON-NLS-1$

-        caseStmt = (ASTCaseConstructNode)parseLiteralStatement(caseConstructString);

-        

-        return caseStmt;

-    }

-    

-    private String createSelectCaseBody(ASTAssignedGotoStmtNode assignedGotoNode, FileInfo data)

-    {

-        String caseBodyString = ""; //$NON-NLS-1$

-        List<ASTAssignStmtNode> list = data.getAssignedStmtList();

-        for (ASTAssignStmtNode assignNode : list)

-        {

-            if (assignNode.getVariableName().getText()

-                .equals(assignedGotoNode.getVariableName().getText()))

-            {

-                // There is at least one matching ASSIGN statement for the label.

-                caseBodyString += "case (" + assignNode.getAssignedLblRef().getLabel().getText() + "); "; //$NON-NLS-1$ //$NON-NLS-2$

-                caseBodyString += "goto " + assignNode.getAssignedLblRef().getLabel().getText() + "\n"; //$NON-NLS-1$ //$NON-NLS-2$

-            }

-        }

-        return caseBodyString;

-    }

-

-    /**

-     * Does the actual change to the selected files to replace the assigned goto statements.

-     * 

-     * @throws PreconditionFailure

-     */

-    private void makeChangesTo(IFile fileInEditor, IFortranAST ast, RefactoringStatus status,

-        IProgressMonitor pm) throws PreconditionFailure

-    {

-        if (ast == null)

-        { 

-            return; 

-        }

-        FileInfo data = FileInfoFactory.getInstance(fileInEditor, vpg);

-        

-        List<ASTAssignStmtNode> list = data.getAssignedStmtList();

-        for (ASTAssignStmtNode assignStmtNode : list)

-        {

-            replaceAssignedWithAssignment(ast, assignStmtNode);

-        }

-

-        data.sortAssignedStmtList();

-

-        // We also need to remove the duplicate ASSIGN statements so that the

-        // case construct should not have duplicate case statements in the body.

-        data.removeDuplicateAssigns();

-

-        List<ASTAssignedGotoStmtNode> assignedGotoList = data.getAssignedGotoStmtList();

-        for (ASTAssignedGotoStmtNode assignedGotoNode : assignedGotoList)

-        {

-            ASTCaseConstructNode caseConstructNode = createSelectCaseConstruct(assignedGotoNode,

-                data);

-

-            if (caseConstructNode != null)

-            {

-                caseConstructNode.getSelectCaseStmt().setLabel(assignedGotoNode.getLabel());

-                copyCommentsFromOldNode(assignedGotoNode, caseConstructNode);

-                assignedGotoNode.replaceWith(caseConstructNode);

-                Reindenter.reindent(caseConstructNode, ast, Strategy.SHIFT_ENTIRE_BLOCK);

-            }

-        }

-

-        this.addChangeFromModifiedAST(fileInEditor, pm);

-    }

-

-    /**

-     * Builds and replaces an existing assign statement an assignment statement.

-     * 1. Create the label

-     * 2. Build the basic assignment string

-     * 3. Create the node from the strings.

-     * 4. Replace the old with the new

-     * 5. Properly format the new node

-     * 

-     * @param ast The AST in use

-     * @param node The assign statement node to replace

-     */

-    private void replaceAssignedWithAssignment(IFortranAST ast, ASTAssignStmtNode node)

-    {

-        String labelStr = (node.getLabel() != null) ? node.getLabel().getText() : ""; //$NON-NLS-1$

-

-        String assignmentStr = node.getVariableName().getText() + " = " //$NON-NLS-1$

-            + node.getAssignedLblRef().getLabel().getText();

-        ASTAssignmentStmtNode assignmentStmt = (ASTAssignmentStmtNode)parseLiteralStatement(labelStr

-            + assignmentStr);

-        node.replaceWith(assignmentStmt);

-

-        Reindenter.reindent(assignmentStmt.findFirstToken(), assignmentStmt.findLastToken(), ast);

-        copyCommentsFromOldNode(node, assignmentStmt);

-    }

-

-    /**

-     * Does the refactoring for each selected file.

-     * Cleans up the FileInfo of the visited files.

-     * 

-     * @throws OperationCanceledException if the refactoring fails.

-     */

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-        RefactoringStatus status = new RefactoringStatus();

-        for (IFile file : selectedFiles)

-        {

-            IFortranAST ast = vpg.acquirePermanentAST(file);

-            try

-            {

-                makeChangesTo(file, ast, status, pm);

-                FileInfoFactory.removeInstance(file);

-            }

-            catch (PreconditionFailure e)

-            {

-                FileInfoFactory.reset();

-                throw new OperationCanceledException(e.getMessage());

-            }

-        }

-    }

-

-    /**

-     * Copies the formatting and comments from the oldNode to the new one to preserve the structure

-     * when replacing a node.

-     * 

-     * @param oldNode The node replaced by the refactoring

-     * @param newNode The node inserted with the refactoring

-     */

-    private void copyCommentsFromOldNode(IASTNode oldNode, IASTNode newNode)

-    {

-        // Copy the formatting and comments before the statement. 

-        newNode.findFirstToken().setWhiteBefore(oldNode.findFirstToken().getWhiteBefore());

-

-        // Copy the comments from end of the statement. 

-        newNode.findLastToken().setWhiteBefore(oldNode.findLastToken().getWhiteBefore());

-    }

-    

-    public PhotranVPG getVpg()

-    {

-        return vpg;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveBranchToEndIfRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveBranchToEndIfRefactoring.java
deleted file mode 100644
index 24043be..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveBranchToEndIfRefactoring.java
+++ /dev/null
@@ -1,440 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Rita Chow, Nicola Hall, Jerry Hsiao, Mark Mozolewski, Chamil Wijenayaka
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rita Chow - Initial Implementation
- *    Nicola Hall - Initial Implementation
- *    Jerry Hsiao - Initial Implementation
- *    Mark Mozolewski - Initial Implementation
- *    Chamil Wijenayaka - Initial Implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.LinkedList;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;
-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;
-import org.eclipse.photran.internal.core.parser.ASTContinueStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndIfStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTGotoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTIfConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IActionStmt;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-
-/**
- * Remove branching to END IF statement from outside its IF ... END IF block. Such branching should
- * be replaced with branching to CONTINUE statement that immediately follows the END IF statement.
- * If the END IF statement is followed by a CONTINUE statement then outside GOTO branches should
- * target the CONTINUE statement. If one does not exist the refactoring will insert one and target
- * it. GOTOs inside the selected IF block are not re-targeted.
- * 
- * User Selection Requirements: The labeled END IF that they want considered for the refactoring.
- * 
- * @author Rita Chow (chow15), Jerry Hsiao (jhsiao2), Mark Mozolewski (mozolews), Chamil Wijenayaka
- *         (wijenay2), Nicola Hall (nfhall2)
- */
-public class RemoveBranchToEndIfRefactoring extends FortranEditorRefactoring
-{
-    private ASTEndIfStmtNode selectedEndIfNode;
-    private ASTIfConstructNode selectedIfConstructNode;
-    private ASTContinueStmtNode continueAfterIfStmtNode;
-    private LinkedList<ASTGotoStmtNode> gotoStatementWithEndIfLabel;
-    private LinkedList<ASTGotoStmtNode> selectedGotoStatementWithEndIfLabel;
-
-    /**
-     * Preconditions that are checked before the refactoring is applied are: 1) END IF selected must
-     * be labeled and part of an IF block. 2) GOTO from either inside the selected IF block or
-     * outside the selected IF block must target the label of the END IF selected. 3) must be more
-     * GOTOs than just in local selected END IF scope.
-     * 
-     */
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        // Check if selected text is a portion within an END IF statement with label.
-        selectedEndIfNode = findEnclosingNode(this.astOfFileInEditor, this.selectedRegionInEditor, ASTEndIfStmtNode.class);
-        if (selectedEndIfNode == null || selectedEndIfNode.getLabel() == null)
-            fail(Messages.RemoveBranchToEndIfRefactoring_PleaseSelectLabeledEndIfStatement);
-
-        // Check if selected END IF is within an IF block.
-        selectedIfConstructNode = selectedEndIfNode.findNearestAncestor(ASTIfConstructNode.class);
-        if (selectedIfConstructNode == null)
-            fail(Messages.RemoveBranchToEndIfRefactoring_NoEnclosingIfConstruct);
-
-        // Check if selected scope contains a branch.
-        LinkedList<ASTGotoStmtNode> gotoStatements = getGotoNodes(ScopingNode.getLocalScope(selectedEndIfNode));
-        if (gotoStatements.isEmpty())
-            fail(Messages.RemoveBranchToEndIfRefactoring_NoGotoStatements);
-
-        // Check if contains a GOTO statement with selected END IF label.
-        gotoStatementWithEndIfLabel = findGotoForLabel(gotoStatements, selectedEndIfNode.getLabel().getText());
-        if (gotoStatementWithEndIfLabel.size() == 0)
-            fail(Messages.RemoveBranchToEndIfRefactoring_NoGotoStatementReferencingThisLabel);
-
-        // Check to see if there are branches outside of selected if block to selected END IF label.
-        LinkedList<ASTGotoStmtNode> selectedGotoStatements = getGotoNodes(selectedIfConstructNode);
-        selectedGotoStatementWithEndIfLabel = findGotoForLabel(selectedGotoStatements,
-            selectedEndIfNode.getLabel().getText());
-        if (selectedGotoStatementWithEndIfLabel.size() == gotoStatementWithEndIfLabel.size())
-            fail(Messages.RemoveBranchToEndIfRefactoring_BranchToImmediateEndIf);
-
-        continueAfterIfStmtNode = continueAfterIfStmt(selectedIfConstructNode);
-    }
-
-    /**
-     * There are no final conditions.
-     */
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        // No final conditions
-    }
-
-    /**
-     * Separate refactroing methods based on if there is a CONTINUE statement after the selected END
-     * IF (if so target it) or if no CONTINUE statement exists after the END IF block (insert one
-     * with unique label and have GOTO statements outside the IF block target it.).
-     */
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,
-        OperationCanceledException
-    {
-        if (continueAfterIfStmtNode == null)
-            changeNoContinueAfterEndIf(); // User Story #2
-        else
-            changeGotoLabelToContinueLabel(); // User Story #1
-
-        // User Story 3 checked in doCheckInitialConditions
-        this.addChangeFromModifiedAST(this.fileInEditor, pm);
-    }
-
-    /**
-     * Main refactoring code for condition when CONTINUE statement follows the END..IF that was
-     * selected for refactoring. The logic will renumber/retarget any GOTO statements in the GOTO to
-     * that of the CONINUE label. (Per FORTRAN language standard the CONTINUE statement must have a
-     * label). If any GOTO statement inside the selected END..IF targets the END..IF selected for
-     * the Refactoring then the label of the END..IF will not be removed and that inner GOTO will
-     * still target it. If there are no inner GOTOs targeting the END..IF label then the END..IF
-     * label will be removed as part of the refactoring.
-     * 
-     */
-    private void changeGotoLabelToContinueLabel()
-    {
-        // Check all GOTO statements in the entire PROGRAM to see if they target the END..IF label
-        // number selected during the Refactoring. If so then retarget/renumber them to the
-        // CONTINUE block that follows. (Note: Inner GOTO statements that that target the END..IF
-        // statement are not retargeted/renumbered.)
-        for (ASTGotoStmtNode gotoNode : gotoStatementWithEndIfLabel)
-        {
-            // Do not re-target GOTO statements from within the selected END..IF for refactoring.
-            if (!selectedGotoStatementWithEndIfLabel.contains(gotoNode))
-            { // Goto targeted to our selected IF..ENDIF block
-                gotoNode.getGotoLblRef().getLabel()
-                    .setText(continueAfterIfStmtNode.getLabel().getText()); // Use existing
-            }
-        }
-
-        // Label of selected END..IF for Refactoring is only removed after all other GOTOs have been
-        // retargeted and if no inner GOTO statements target its label.
-        if (selectedGotoStatementWithEndIfLabel.isEmpty())
-        {
-            selectedEndIfNode.setLabel(null);
-            selectedEndIfNode.findFirstToken().setWhiteBefore(
-                selectedIfConstructNode.findFirstToken().getWhiteBefore()); // reindenter alt.
-        }
-    }
-
-    /**
-     * Modify Fortran code to add a CONTINUE statement after labeled END IF then remove END IF label
-     * only if there are no GOTO statements within the selected IF statement that target that END IF
-     * statement.
-     * 
-     */
-    private void changeNoContinueAfterEndIf()
-    {
-        // build the CONTINUE node
-        if (continueAfterIfStmtNode != null) { return; }
-
-        @SuppressWarnings("unchecked")
-        ASTListNode<ASTNode> listNode = (ASTListNode<ASTNode>)selectedIfConstructNode.getParent();
-
-        // build the CONTINUE statement program source code
-        String programString = "program p\n" + selectedEndIfNode.getLabel().getText() + " CONTINUE" //$NON-NLS-1$ //$NON-NLS-2$
-            + EOL + "end program"; //$NON-NLS-1$
-        ASTMainProgramNode programNode = (ASTMainProgramNode)parseLiteralProgramUnit(programString);
-        ASTContinueStmtNode continueStmt = (ASTContinueStmtNode)programNode.getBody().get(0);
-
-        // insert into AST
-        continueStmt.setParent(selectedIfConstructNode.getParent());
-        listNode.insertAfter(selectedIfConstructNode, continueStmt);
-
-        // clear label on END IF statement
-        if (selectedGotoStatementWithEndIfLabel.size() == 0)
-        {
-            selectedEndIfNode.setLabel(null);
-            // correct indentation
-            selectedEndIfNode.findFirstToken().setWhiteBefore(
-                selectedIfConstructNode.findFirstToken().getWhiteBefore());
-        }
-        else
-        {
-            // Grab all labels
-            LinkedList<IActionStmt> actionStmts = getActionStmts(ScopingNode
-                .getLocalScope(selectedEndIfNode));
-
-            // Calculate unique label
-            String label = getUniqueLabel(actionStmts);
-
-            // Set continue label to new label
-            continueStmt.getLabel().setText(label);
-
-            // Set all goto statements to new label
-            for (ASTGotoStmtNode node : gotoStatementWithEndIfLabel)
-            {
-                if (!selectedGotoStatementWithEndIfLabel.contains(node))
-                {
-                    node.getGotoLblRef().getLabel().setText(label);
-                }
-            }
-        }
-    }
-
-    /**
-     * Build a list of all GOTO node types from the starting node.
-     * 
-     * @param startNode Node to start the search.
-     * 
-     * @return LinkedList of GOTO nodes.
-     */
-    private LinkedList<ASTGotoStmtNode> getGotoNodes(IASTNode startNode)
-    {
-        if (startNode == null) { return null; }
-
-        /*
-         * Unable to find all goto statements when there are do loops in startNode, so need to
-         * search in the do loops separately.
-         */
-        final LinkedList<ASTGotoStmtNode> gotoNodes = getGotoStmtsInAllProperLoopConstructs(startNode);
-
-        startNode.accept(new ASTVisitor()
-        {
-            @Override
-            public void visitASTGotoStmtNode(ASTGotoStmtNode node)
-            {
-                gotoNodes.add(node);
-            }
-        });
-
-        return gotoNodes;
-    }
-
-    /**
-     * Build a list of all proper-loop-construct node types from the starting node.
-     * 
-     * @param startNode Node to start the search.
-     * @return LinkedList of proper-loop-construct nodes.
-     */
-    private LinkedList<ASTGotoStmtNode> getGotoStmtsInAllProperLoopConstructs(IASTNode startNode)
-    {
-        final LinkedList<ASTGotoStmtNode> gotoNodes = new LinkedList<ASTGotoStmtNode>();
-        final LinkedList<ASTProperLoopConstructNode> loopNodes = getProperLoopConstructs(startNode);
-
-        for (ASTProperLoopConstructNode loop : loopNodes)
-        {
-            for (IASTNode node : loop.getBody())
-            {
-                node.accept(new ASTVisitor()
-                {
-                    @Override
-                    public void visitASTGotoStmtNode(ASTGotoStmtNode node)
-                    {
-                        gotoNodes.add(node);
-                    }
-                });
-            }
-        }
-
-        return gotoNodes;
-    }
-
-    /**
-     * Find GOTO node(s) based on matching label.
-     * 
-     * @param gotos List of GOTO statements to check for matching label.
-     * @param label Label to match against.
-     * @return List of GOTO nodes that target the specified label.
-     */
-    private LinkedList<ASTGotoStmtNode> findGotoForLabel(LinkedList<ASTGotoStmtNode> gotos,
-        String label)
-    {
-        if (gotos == null) { return new LinkedList<ASTGotoStmtNode>(); }
-
-        LinkedList<ASTGotoStmtNode> gotoWithLabel = new LinkedList<ASTGotoStmtNode>();
-        for (ASTGotoStmtNode gotoNode : gotos)
-        {
-            if (gotoNode.getGotoLblRef().getLabel().getText().contentEquals(label))
-            {
-                gotoWithLabel.add(gotoNode);
-            }
-        }
-
-        return gotoWithLabel;
-    }
-
-    /**
-     * Check for CONTINUE statement after a if construct node
-     * 
-     * @param ifStmt If construct node.
-     * @return continue statement node or null.
-     */
-    private static ASTContinueStmtNode continueAfterIfStmt(ASTIfConstructNode ifStmt)
-    {
-        if (ifStmt == null) { return null; }
-
-        @SuppressWarnings("unchecked")
-        ASTListNode<ASTNode> list = (ASTListNode<ASTNode>)ifStmt.getParent();
-
-        for (int i = 0; i < list.size() - 1; i++)
-        {
-            if (list.get(i) != null)
-            {
-                if (list.get(i).equals(ifStmt))
-                {
-                    if (list.get(i + 1) instanceof ASTContinueStmtNode) { return (ASTContinueStmtNode)list
-                        .get(i + 1); }
-                }
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * Generate a unique label based on the labels passed in (unique in that find the largest and
-     * add 10)
-     * 
-     * @param actionStmts List of statements that may be labeled to consider for a unique label.
-     * @return Unique label value.
-     */
-    private String getUniqueLabel(LinkedList<IActionStmt> actionStmts)
-    {
-        int label = Integer.parseInt(selectedEndIfNode.getLabel().getText());
-        for (IActionStmt stmt : actionStmts)
-        {
-            if (stmt.getLabel() != null)
-            {
-                int currentLabel = Integer.parseInt(stmt.getLabel().getText());
-                if (currentLabel > label)
-                {
-                    label = currentLabel;
-                }
-            }
-        }
-        label += 10;
-
-        return String.valueOf(label);
-    }
-
-    /**
-     * Find Action statement nodes in the tree from the starting search node.
-     * 
-     * @param startNode Starting node from which to perform the search.
-     * @return LinkedList of action statement nodes that are found.
-     */
-    private LinkedList<IActionStmt> getActionStmts(IASTNode startNode)
-    {
-        final LinkedList<IActionStmt> actionStmts = getActionStmtsInAllProperLoopConstructs();
-        startNode.accept(new ASTVisitor()
-        {
-            @Override
-            public void visitIActionStmt(IActionStmt node)
-            {
-                actionStmts.add(node);
-            }
-        });
-
-        return actionStmts;
-    }
-
-    /**
-     * Find Action statement nodes in entire file in editor.
-     * 
-     * @return LinkedList of action statement nodes found.
-     */
-    private LinkedList<IActionStmt> getActionStmtsInAllProperLoopConstructs()
-    {
-        final LinkedList<IActionStmt> actionStmts = new LinkedList<IActionStmt>();
-        final LinkedList<ASTProperLoopConstructNode> loopNodes = getProperLoopConstructs(ScopingNode
-            .getLocalScope(selectedEndIfNode));
-
-        for (ASTProperLoopConstructNode loop : loopNodes)
-        {
-            for (IASTNode node : loop.getBody())
-            {
-                node.accept(new ASTVisitor()
-                {
-                    @Override
-                    public void visitIActionStmt(IActionStmt node)
-                    {
-                        actionStmts.add(node);
-                    }
-                });
-            }
-        }
-
-        return actionStmts;
-    }
-
-    /**
-     * Find all proper loop constructs in the tree from the starting search node.
-     * 
-     * @param startNode Starting node from which to perform the search.
-     * @return LinkedList of proper loop construct nodes found.
-     */
-    private LinkedList<ASTProperLoopConstructNode> getProperLoopConstructs(IASTNode startNode)
-    {
-        final LinkedList<ASTProperLoopConstructNode> loopNodes = new LinkedList<ASTProperLoopConstructNode>();
-
-        // Change AST to represent DO-loops as ASTProperLoopConstructNodes
-        LoopReplacer.replaceAllLoopsIn(this.astOfFileInEditor.getRoot());
-
-        startNode.accept(new ASTVisitorWithLoops()
-        {
-            @Override
-            public void visitASTProperLoopConstructNode(ASTProperLoopConstructNode node)
-            {
-                loopNodes.add(node);
-            }
-        });
-
-        return loopNodes;
-    }
-
-    /**
-     * Provide GUI refactoring label.
-     */
-    @Override
-    public String getName()
-    {
-        return Messages.RemoveBranchToEndIfRefactoring_Name;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveComputedGoToRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveComputedGoToRefactoring.java
deleted file mode 100644
index 0be0bcb..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveComputedGoToRefactoring.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.internal.core.parser.ASTComputedGotoStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTLblRefListNode;

-import org.eclipse.photran.internal.core.parser.ASTNode;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.parser.IExpr;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-

-/**

- * Refactoring which replaces a computed GOTO statement with a SELECT CASE statement with nested

- * GOTO statements.

- * 

- * @author Rui Wang

- */

-public class RemoveComputedGoToRefactoring extends FortranEditorRefactoring

-{

-    private ASTComputedGotoStmtNode computedGoto = null;

-    

-    @Override

-    public String getName()

-    {

-        return Messages.RemoveComputedGoToRefactoring_Name;

-    }

-

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-

-        ASTNode oldNode = getNode(this.astOfFileInEditor, this.selectedRegionInEditor, ASTComputedGotoStmtNode.class);

-        if (oldNode == null)

-            fail(Messages.RemoveComputedGoToRefactoring_PleaseSelectComputedGotoStmt);

-        else

-            computedGoto = (ASTComputedGotoStmtNode)oldNode;

-    }

-

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        // No final preconditions

-    }

-

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException

-    {

-        IASTNode newNode = makeSelectStmt();

-

-        computedGoto.replaceWith(newNode);

-        copyCommentsFromOldNode(newNode);

-        Reindenter.reindent(newNode, astOfFileInEditor);

-

-        this.addChangeFromModifiedAST(this.fileInEditor, pm);

-

-        vpg.releaseAST(this.fileInEditor);

-    }

-    

-    private IASTNode makeSelectStmt()

-    {

-        removeLeadingSpacesFrom(computedGoto.getExpr());

-        

-        StringBuilder stmt = new StringBuilder(256);

-        

-        stmt.append("select case ("); //$NON-NLS-1$

-        stmt.append(computedGoto.getExpr());

-        stmt.append(")\n"); //$NON-NLS-1$

-        

-        int i = 1;

-        for (ASTLblRefListNode refListNode : computedGoto.getLblRefList())

-        {

-            stmt.append("case ("); //$NON-NLS-1$

-            stmt.append(i);

-            stmt.append(")\n        go to "); //$NON-NLS-1$

-            stmt.append(refListNode.getLabel().getText());

-            stmt.append("\n"); //$NON-NLS-1$

-            i++;

-        }

-        stmt.append("end select"); //$NON-NLS-1$

-        

-        return parseLiteralStatementNoFail(stmt.toString());

-    }

-

-    private void removeLeadingSpacesFrom(IExpr expr)

-    {

-        expr.findFirstToken().setWhiteBefore(""); //$NON-NLS-1$

-    }

-

-    private void copyCommentsFromOldNode(IASTNode newNode)

-    {

-        newNode.findFirstToken().setWhiteBefore(computedGoto.findFirstToken().getWhiteBefore());

-    }

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemovePauseStmtRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemovePauseStmtRefactoring.java
deleted file mode 100644
index 8620972..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemovePauseStmtRefactoring.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Rita Chow, Nicola Hall, Jerry Hsiao, Mark Mozolewski, Chamil Wijenayaka
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rita Chow - Initial Implementation
- *    Nicola Hall - Initial Implementation
- *    Jerry Hsiao - Initial Implementation
- *    Mark Mozolewski - Initial Implementation
- *    Chamil Wijenayaka - Initial Implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTPauseStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTPrintStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTReadStmtNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-
-/**
- * This feature address the replacement of the PAUSE statement with a PRINT and READ statement.
- * Execution of a PAUSE statement may be different on different platforms. The refactoring assumes
- * the most basic functionality: it replaces the PAUSE statement with a PRINT statement that
- * displays the message of the PAUSE statement, immediately followed by a READ statement that waits
- * for any input from the user.
- * 
- * User Selection Requirements: The PAUSE statement to be replaced.
- * 
- * @author Rita Chow (chow15), Jerry Hsiao (jhsiao2), Mark Mozolewski (mozolews), Chamil Wijenayaka
- *         (wijenay2), Nicola Hall (nfhall2)
- */
-public class RemovePauseStmtRefactoring extends FortranEditorRefactoring
-{
-    private ASTPauseStmtNode selectedPauseStmt = null;
-
-    /**
-     * Preconditions checks: Check if project has refactoring is enabled. Checks that the user
-     * selects a PAUSE statement for refactoring. Failure to meet these conditions will result in a
-     * fail-initial condition.
-     */
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring.PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        // Check if selected is a PAUSE statement
-        selectedPauseStmt = findEnclosingNode(this.astOfFileInEditor, this.selectedRegionInEditor, ASTPauseStmtNode.class);
-        if (selectedPauseStmt == null)
-            fail(Messages.RemovePauseStmtRefactoring_PleaseSelectAPauseStatement);
-    }
-
-    /**
-     * FinalConditions no final checks required.
-     */
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring.PreconditionFailure
-    {
-    }
-
-    /**
-     * Performs main refactoring (delegated to other methods).
-     */
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,
-        OperationCanceledException
-    {
-        changePauseStmt();
-        this.addChangeFromModifiedAST(this.fileInEditor, pm);
-    }
-
-
-    /**
-     * Insert modified PRINT statement and build READ() AST node to insert in to the program after
-     * the PRINT statement.
-     */
-    private void changePauseStmt()
-    {
-        String pauseMessage = "\'\'"; //$NON-NLS-1$;
-
-        // Contents of the PRINT statement to maintain.
-        if (selectedPauseStmt.getStringConst() != null)
-            pauseMessage = selectedPauseStmt.getStringConst().getText();
-
-        // Build new AST node for modified PRINT statement and new READ statement.
-        String indent = selectedPauseStmt.findFirstToken().getWhiteBefore();
-
-        ASTPrintStmtNode printStmt = (ASTPrintStmtNode)parseLiteralStatement(
-            indent + "PRINT *, " + pauseMessage + selectedPauseStmt.findLastToken().getWhiteBefore() + EOL); //$NON-NLS-1$
-        if (selectedPauseStmt.getLabel() != null)
-            printStmt.setLabel(selectedPauseStmt.getLabel());
-        selectedPauseStmt.replaceWith(printStmt);
-
-        indent = indent.substring(indent.lastIndexOf('\n')+1);
-        ASTReadStmtNode readStmt = (ASTReadStmtNode)parseLiteralStatement(
-            indent + "READ (*, *)" + EOL); //$NON-NLS-1$
-        @SuppressWarnings("unchecked")
-        ASTListNode<ASTNode> listNode = (ASTListNode<ASTNode>)selectedPauseStmt.getParent();
-        listNode.insertAfter(printStmt, readStmt);
-    }
-
-    /**
-     * Provide GUI refactoring label.
-     */
-    @Override
-    public String getName()
-    {
-        return Messages.RemovePauseStmtRefactoring_Name;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveRealAndDoublePrecisionLoopCountersRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveRealAndDoublePrecisionLoopCountersRefactoring.java
deleted file mode 100644
index 4e87493..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveRealAndDoublePrecisionLoopCountersRefactoring.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Rita Chow, Nicola Hall, Jerry Hsiao, Mark Mozolewski, Chamil Wijenayaka
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rita Chow - Initial Implementation
- *    Nicola Hall - Initial Implementation
- *    Jerry Hsiao - Initial Implementation
- *    Mark Mozolewski - Initial Implementation
- *    Chamil Wijenayaka - Initial Implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;
-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTDoConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTIfConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTListNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.IExecutionPartConstruct;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-
-/**
- * Remove Real and Double Precision Loop Counter Refactoring:
- * 
- * This refactoring will take a controlled DO loop, i.e. on that specifies the starting and ending
- * values for the control loop index and transform it to an uncontrolled do loop where the same loop
- * index and values are manually inserted into to the loop. If a explicit step size is specified is
- * used, otherwise an implicit one is inserted. The refactoring checks the start/end values of the
- * loop control variable to determine if the loop control variable should increment or decrement.
- * 
- * User Selection Requirements: A controlled DO loop statement to be considered for refactoring.
- * 
- * @author Rita Chow (chow15), Nicola Hall (nfhall2), Jerry Hsiao (jhsiao2), Mark Mozolewski
- *         (mozolews), Chamil Wijenayaka (wijenay2)
- */
-public class RemoveRealAndDoublePrecisionLoopCountersRefactoring extends FortranEditorRefactoring
-{
-    private ASTProperLoopConstructNode selectedDoLoopNode = null;
-
-    private boolean shouldReplaceWithDoWhileLoop = false;
-
-    /**
-     * Provide GUI refactoring label.
-     */
-    @Override
-    public String getName()
-    {
-        return Messages.RemoveRealAndDoublePrecisionLoopCountersRefactoring_Name;
-    }
-
-    /**
-     * Set method for DO or DO WHILE refactoring selection variable.
-     * 
-     * @param value Set tracking variable for DO or DO WHILE refactoring selection.
-     */
-    public void setShouldReplaceWithDoWhileLoop(boolean value)
-    {
-        this.shouldReplaceWithDoWhileLoop = value;
-    }
-
-    /**
-     * Precondition checks: Check if project has refactoring enabled.
-     */
-    /**
-     * The following initial conditions are checked (a failure of any will result in a
-     * fail-initial): - A controlled DO loop must be selected by the user. - Loop control variables
-     * of a controlled DO loop must be declared as type REAL or DOUBLE PRECISION only.
-     */
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        // Change AST to represent DO-loops as ASTProperLoopConstructNodes
-        LoopReplacer.replaceAllLoopsIn(this.astOfFileInEditor.getRoot());
-
-        // Identify selected DO loop.
-        selectedDoLoopNode = findEnclosingNode(this.astOfFileInEditor, this.selectedRegionInEditor, ASTProperLoopConstructNode.class);
-
-        // Check for invalid selection (DO statement not selected)
-        if (selectedDoLoopNode == null)
-        {
-            fail(Messages.RemoveRealAndDoublePrecisionLoopCountersRefactoring_PleaseSelectADoLoop);
-        }
-
-        // Check uncontrolled DO loop selected.
-        if (selectedDoLoopNode.getLoopHeader().getLoopControl() == null)
-        {
-            fail(Messages.RemoveRealAndDoublePrecisionLoopCountersRefactoring_PleaseSelectACountedDoLoop);
-        }
-
-        // Find all REAL and DOUBLE declared variables.
-        List<Definition> bindings = selectedDoLoopNode.getLoopHeader().getLoopControl().getVariableName().resolveBinding();
-        if (bindings.size() != 1)
-            fail(Messages.RemoveRealAndDoublePrecisionLoopCountersRefactoring_NoUniqueDeclaration);
-        
-        Type type = bindings.get(0).getType();
-        if (!type.equals(Type.REAL) && !type.equals(Type.DOUBLEPRECISION))
-            fail(Messages.bind(Messages.RemoveRealAndDoublePrecisionLoopCountersRefactoring_NotRealOrDoublePrecision, type.toString()));
-    }
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-    }
-
-    /**
-     * After initial conditions checks pass there is a proper controlled DO loop variable to
-     * refactor. The refactoring consists of building a number of AST node elements and inserting
-     * them in to the program to do the work that the controlled DO loop would have done. This
-     * includes: 1) Initial loop control variable assignment (starting value). 2)
-     * Increment/Decrement control variable by specified amount (implicit or explicit step size) 3)
-     * Check inside DO loop to see if loop variable limit specified is exceeded.
-     */
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,
-        OperationCanceledException
-    {
-        String ifCheckLb = selectedDoLoopNode.getLoopHeader().getLoopControl().getLb().toString();
-        String ifCheckUb = selectedDoLoopNode.getLoopHeader().getLoopControl().getUb().toString();
-        String ifCheckVar = selectedDoLoopNode.getLoopHeader().getLoopControl().getVariableName()
-            .getText().toString();
-
-        // Implicit step size check.
-        String ifCheckStep = null;
-        if (selectedDoLoopNode.getLoopHeader().getLoopControl().getStep() != null)
-        {
-            ifCheckStep = selectedDoLoopNode.getLoopHeader().getLoopControl().getStep().toString();
-        }
-        else
-        {
-            ifCheckStep = " 1"; //$NON-NLS-1$
-        }
-
-        String ifCheckIncrDecr = ""; //$NON-NLS-1$
-        String ifCheckStr = ""; //$NON-NLS-1$
-
-        // Work with both as double type.
-        double dLb = Double.valueOf(ifCheckLb.trim()).doubleValue();
-        double dUb = Double.valueOf(ifCheckUb.trim()).doubleValue();
-
-        // Check for > or < IF check.
-        if (dLb < dUb)
-        {
-            if (shouldReplaceWithDoWhileLoop)
-                ifCheckStr = ifCheckVar + " <=" + ifCheckUb; //$NON-NLS-1$
-            else
-                ifCheckStr = ifCheckVar + " >" + ifCheckUb; //$NON-NLS-1$
-            ifCheckIncrDecr = " +"; //$NON-NLS-1$
-        }
-        else
-        {
-            if (shouldReplaceWithDoWhileLoop)
-                ifCheckStr = ifCheckVar + " >=" + ifCheckUb; //$NON-NLS-1$
-            else
-                ifCheckStr = ifCheckVar + " <" + ifCheckUb; //$NON-NLS-1$
-            ifCheckIncrDecr = " -"; //$NON-NLS-1$
-        }
-
-        // AST modification for refactoring.
-        if (shouldReplaceWithDoWhileLoop)
-            insertNewDoWhileLoop(ifCheckLb, ifCheckVar, ifCheckStep, ifCheckIncrDecr, ifCheckStr);
-        else
-            insertNewDoLoop(ifCheckLb, ifCheckVar, ifCheckStep, ifCheckIncrDecr, ifCheckStr);
-
-        // Finalize
-        this.addChangeFromModifiedAST(this.fileInEditor, pm);
-    }
-
-    /**
-     * With provided strings this method builds the new AST nodes for the initial variable
-     * assignment, increment/decrement statement, and IF DO loop break statement. They are then
-     * inserted in to the proper hierarchy of the program AST structure. (See main refactoring
-     * comments at the top of the file for a list of steps performed.)
-     * 
-     * @param ifCheckLb Lower bound (starting value) of loop variable.
-     * @param ifCheckVar Loop control variable name.
-     * @param ifCheckStep Loop counter variable step size (implicitly or explicitly declared)
-     * @param ifCheckIncrDecr (+/-) Depending on loop variable count direction.
-     * @param ifCheckStr The IF check condition to break the DO loop.
-     */
-    private void insertNewDoLoop(String ifCheckLb, String ifCheckVar, String ifCheckStep,
-        String ifCheckIncrDecr, String ifCheckStr)
-    {
-        // Build initial value assignment node.
-        insertInitialCounterAssignment(ifCheckVar, ifCheckLb);
-
-        // Remove DO control
-        int sizeOfLoopControlString = selectedDoLoopNode.getLoopHeader().getLoopControl()
-            .toString().length();
-        String replaceLoopControlStringWith = ""; //$NON-NLS-1$
-        for (int i = 0; i < sizeOfLoopControlString; i++)
-        {
-            replaceLoopControlStringWith += " "; //$NON-NLS-1$
-        }
-        selectedDoLoopNode.getLoopHeader().setLoopControl(null);
-        selectedDoLoopNode
-            .getLoopHeader()
-            .findLastToken()
-            .setWhiteBefore(
-                replaceLoopControlStringWith
-                    + selectedDoLoopNode.getLoopHeader().findLastToken().getWhiteBefore());
-
-        // Build increment assignment node.
-        ASTAssignmentStmtNode incrDecrNode = insertCounterAssignment(ifCheckVar, ifCheckIncrDecr,
-            ifCheckStep);
-
-        // Build IF node for checking DO limits.
-        IExecutionPartConstruct lastNodeInDoLoopBody = selectedDoLoopNode.getBody().get(selectedDoLoopNode.getBody().size() - 1);
-        String initialIndent = ScopingNode.getLocalScope(selectedDoLoopNode).getBody().findFirstToken().getWhiteBefore();
-        initialIndent = initialIndent.substring(initialIndent.lastIndexOf('\n')+1);
-        String programString = ""; //$NON-NLS-1$
-        programString = "program p\n" + lastNodeInDoLoopBody.findFirstToken().getWhiteBefore() //$NON-NLS-1$
-            + "IF(" + ifCheckStr + ") THEN\n" //$NON-NLS-1$ //$NON-NLS-2$
-            + lastNodeInDoLoopBody.findFirstToken().getWhiteBefore()
-            + initialIndent
-            + "EXIT\n" //$NON-NLS-1$
-            + lastNodeInDoLoopBody.findFirstToken().getWhiteBefore()
-            + "END IF" + EOL + "end program"; //$NON-NLS-1$ //$NON-NLS-2$
-        ASTMainProgramNode programNode = (ASTMainProgramNode)parseLiteralProgramUnit(programString);
-        ASTIfConstructNode ifNode = (ASTIfConstructNode)programNode.getBody().get(0);
-
-        // Insert IF node into AST
-        ifNode.setParent(selectedDoLoopNode.getParent());
-        selectedDoLoopNode.getBody().insertAfter(incrDecrNode, ifNode);
-        //Reindenter.reindent(ifNode, astOfFileInEditor, Strategy.REINDENT_EACH_LINE);
-    }
-
-    /**
-     * With provided strings this method builds the new AST nodes for the initial variable
-     * assignment, increment/decrement statement, and DO WHILE loop check statement. They are then
-     * inserted in to the proper hierarchy of the program AST structure. (See main refactoring
-     * comments at the top of the file for a list of steps performed.)
-     * 
-     * @param ifCheckLb Lower bound (starting value) of loop variable.
-     * @param ifCheckVar Loop control variable name.
-     * @param ifCheckStep Loop counter variable step size (implicitly or explicitly declared)
-     * @param ifCheckIncrDecr (+/-) Depending on loop variable count direction.
-     * @param ifCheckStr The IF check condition to break the DO loop.
-     */
-    private void insertNewDoWhileLoop(String ifCheckLb, String ifCheckVar, String ifCheckStep,
-        String ifCheckIncrDecr, String ifCheckStr)
-    {
-        // Build initial value assignment node.
-        insertInitialCounterAssignment(ifCheckVar, ifCheckLb);
-
-        // Build increment assignment node.
-        insertCounterAssignment(ifCheckVar, ifCheckIncrDecr, ifCheckStep);
-
-        // Change do loop to while do loop
-        String programString = ""; //$NON-NLS-1$
-        programString = "program p\n" //$NON-NLS-1$
-            + selectedDoLoopNode.getLoopHeader().findFirstToken().getWhiteBefore() + "DO WHILE (" //$NON-NLS-1$
-            + ifCheckStr + ")" //$NON-NLS-1$
-            + selectedDoLoopNode.getLoopHeader().findLastToken().getWhiteBefore() + EOL
-            + "EXIT\nENDDO" + EOL + "end program"; //$NON-NLS-1$ //$NON-NLS-2$
-
-        ASTMainProgramNode programNode = (ASTMainProgramNode)parseLiteralProgramUnit(programString);
-        ASTDoConstructNode doConstructNode = (ASTDoConstructNode)programNode.getBody().get(0);
-        selectedDoLoopNode.setLoopHeader(doConstructNode.getLabelDoStmt());
-        selectedDoLoopNode.getLoopHeader().findLastToken()
-            .setWhiteBefore(selectedDoLoopNode.getLoopHeader().findLastToken().getWhiteBefore());
-    }
-
-    /**
-     * Creates an assignment statement node for the initial loop counter value assignment and
-     * inserts it before the selected DO loop of the refactoring.
-     * 
-     * @param ifCheckVar Loop control variable name.
-     * @param ifCheckLb Lower bound (starting value) of loop variable.
-     */
-    private void insertInitialCounterAssignment(String ifCheckVar, String ifCheckLb)
-    {
-        String programString = "program p\n" + selectedDoLoopNode.findFirstToken().getWhiteBefore() + ifCheckVar + //$NON-NLS-1$
-            " =" + ifCheckLb + EOL + "end program"; //$NON-NLS-1$ //$NON-NLS-2$
-        ASTMainProgramNode programNode = (ASTMainProgramNode)parseLiteralProgramUnit(programString);
-        ASTAssignmentStmtNode initValNode = (ASTAssignmentStmtNode)programNode.getBody().get(0);
-
-        // Insert initial value assignment node into AST
-        initValNode.setParent(selectedDoLoopNode.getParent());
-        @SuppressWarnings("unchecked")
-        ASTListNode<ASTNode> doNode = (ASTListNode<ASTNode>)selectedDoLoopNode.getParent();
-        doNode.insertBefore(selectedDoLoopNode, initValNode);
-        
-        //Reindenter.reindent(initValNode, astOfFileInEditor, Strategy.REINDENT_EACH_LINE);
-    }
-
-    /**
-     * Creates an assignment statement node for the loop counter variable assignment and inserts it
-     * after the selected DO loop of the refactoring.
-     * 
-     * @param ifCheckVar Loop control variable name.
-     * @param ifCheckIncrDecr (+/-) Depending on loop variable count direction.
-     * @param ifCheckStep Loop counter variable step size (implicitly or explicitly declared)
-     */
-    private ASTAssignmentStmtNode insertCounterAssignment(String ifCheckVar,
-        String ifCheckIncrDecr, String ifCheckStep)
-    {
-        IExecutionPartConstruct lastNodeInDoLoopBody = selectedDoLoopNode.getBody().get(
-            selectedDoLoopNode.getBody().size() - 1);
-        String programString = ""; //$NON-NLS-1$
-        programString = "program p\n" + lastNodeInDoLoopBody.findFirstToken().getWhiteBefore() + ifCheckVar + //$NON-NLS-1$
-            " = " + ifCheckVar + ifCheckIncrDecr + ifCheckStep + EOL + "end program"; //$NON-NLS-1$ //$NON-NLS-2$
-        ASTMainProgramNode programNode = (ASTMainProgramNode)parseLiteralProgramUnit(programString);
-        ASTAssignmentStmtNode incrDecrNode = (ASTAssignmentStmtNode)programNode.getBody().get(0);
-
-        // Insert increment/decrement assignment node into AST
-        incrDecrNode.setParent(selectedDoLoopNode.getParent());
-
-        selectedDoLoopNode.getBody().insertAfter(lastNodeInDoLoopBody, incrDecrNode);
-        //Reindenter.reindent(incrDecrNode, astOfFileInEditor, Strategy.REINDENT_EACH_LINE);
-
-        return incrDecrNode;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveUnreferencedLabelsRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveUnreferencedLabelsRefactoring.java
deleted file mode 100644
index 64690ae..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveUnreferencedLabelsRefactoring.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Mariano Mendez and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Mariano Mendez - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.parser.ASTContinueStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTLblRefNode;
-import org.eclipse.photran.internal.core.parser.ASTVisitor;
-import org.eclipse.photran.internal.core.parser.IActionStmt;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;
-
-/**
- * Removes the labels that are not being used anymore in the code 
- * 
- * @author Mariano Mendez
- */
-public class RemoveUnreferencedLabelsRefactoring extends FortranEditorRefactoring
-{
-    private Map< String,Integer> labelMap;
-
-    @Override
-    public String getName()
-    {
-        return Messages.RemoveUnreferencedLabelsRefactoring_Name;
-    }
-
-    //////////////////////////////////////////////////////////////////////
-    //          INITIAL CONDITIONS 
-    /////////////////////////////////////////////////////////////////////
-    
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        labelMap= new HashMap<String,Integer>();
-        ensureProjectHasRefactoringEnabled(status);
-        collectAllLabels(this.astOfFileInEditor.getRoot());
-        collectAllReferences(this.astOfFileInEditor.getRoot());
-        if (labelMap.size()==0) 
-            fail(Messages.RemoveUnreferencedLabelsRefactoring_ThereMustBeAtLeastOneLabeledStatement);
-    }
-     
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
-        throws PreconditionFailure
-    {
-        // No final preconditions
-    }
-    
-    ///////////////////////////////////////////////////////////////////////////
-    // Change
-    ///////////////////////////////////////////////////////////////////////////
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        ScopingNode scope = this.astOfFileInEditor.getRoot(); 
-      
-        scope.accept(new ASTVisitorWithLoops()
-        {            
-            // Visit IActionStmt Nodes
-            @Override public void visitIActionStmt (IActionStmt node)
-            {
-             // get the statements labeled
-                if (node.getLabel()!=null) 
-                {
-                    String key =node.getLabel().getText();
-                    if (labelMap.containsKey(key))
-                    {
-                        Integer refCount =labelMap.get(key);
-                        if (refCount==0) 
-                        {
-                            // remove the label 
-                            node.setLabel(null);
-                            if (node instanceof ASTContinueStmtNode)
-                            {
-                                node.removeFromTree();
-                            }
-                            Reindenter.reindent(node,astOfFileInEditor,Strategy.REINDENT_EACH_LINE);
-                        }
-                    }
-                }
-            }
-           
-        });
-        this.addChangeFromModifiedAST(this.fileInEditor, pm);
-        vpg.releaseAST(this.fileInEditor); 
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Helpers
-    ///////////////////////////////////////////////////////////////////////////
-    
-    private void collectAllLabels(ScopingNode scope)
-    {
-        // Visit the AST 
-        scope.accept(new ASTVisitorWithLoops()
-        {            
-            // Visit IActionStmt Nodes
-            @Override public void visitIActionStmt (IActionStmt node)
-            {
-                // get the statements labeled
-                if (node.getLabel()!=null) 
-                {
-                    String key =node.getLabel().getText();
-                    if (!labelMap.containsKey(key)) labelMap.put(key, new Integer(0));
-                }
-                traverseChildren(node);
-            }
-        });
-    }
-
-    private void collectAllReferences(ScopingNode scope)
-    {
-        // Visit the AST 
-        scope.accept(new ASTVisitorWithLoops()
-        {    
-            //ASTLblRefNode
-            @Override public void visitASTLblRefNode(ASTLblRefNode node)
-            {
-                // get Label references count
-                if (node.getLabel()!=null) 
-                {
-                    String key = node.getLabel().getText();
-                    if (labelMap.containsKey(key))
-                        labelMap.put(key,(labelMap.get(key)+1));
-                }
-                traverseChildren(node);
-            }
-        });
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveUnusedVariablesRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveUnusedVariablesRefactoring.java
deleted file mode 100644
index 8351ddd..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RemoveUnusedVariablesRefactoring.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 UFSM - Universidade Federal de Santa Maria (www.ufsm.br).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTObjectNameNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;
-
-/**
- * Remove Unused Variables: refactoring that removes unused variables in Fortran code,
- * making it more readable, and could generate gains of performance, depending on the
- * compiler used.
- * 
- * @author Gustavo Rissetti
- * @author Timofey Yuvashev
- * @author Jeff Overbey
- * @author Ashley Kasza - externalized strings
- **/
-/*
- * TODO - JO - Can we avoid running multiple times?
- * TODO - JO - What about specification stmts?
- */
-public class RemoveUnusedVariablesRefactoring extends FortranResourceRefactoring{
-
-    @Override
-    public String getName()
-    {
-        return Messages.RemoveUnusedVariablesRefactoring_Name;
-    }
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-        removeFixedFormFilesFrom(this.selectedFiles, status);
-        removeCpreprocessedFilesFrom(this.selectedFiles, status);
-        
-        ensureAllScopesAreImplicitNone(status);
-    }
-
-    /**
-     * Checks that all scopes contained in all selected files are IMPLICIT NONE.
-     * <p>
-     * If they are not, this issues an error, informing the user that this refactoring has
-     * the prerequisite that the code is IMPLICIT NONE.
-     */
-    private void ensureAllScopesAreImplicitNone(RefactoringStatus status)
-        throws PreconditionFailure
-    {
-        try
-        {
-            for (IFile file : selectedFiles)
-            {
-                IFortranAST ast = vpg.acquirePermanentAST(file);
-                if(ast == null)
-                {
-                    status.addError(Messages.bind(Messages.RemoveUnusedVariablesRefactoring_SelectedFileCannotBeParsed, file.getName()));
-                }
-                else
-                {
-                    ensureAllScopesAreImplicitNone(file, ast);
-                    vpg.releaseAST(file);
-                }
-            }
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    private void ensureAllScopesAreImplicitNone(IFile file, IFortranAST ast)
-        throws PreconditionFailure
-    {
-        for (ScopingNode scope : ast.getRoot().getAllContainedScopes())
-            if (!(scope instanceof ASTExecutableProgramNode))
-                if (!scope.isImplicitNone())
-                    fail(Messages.bind(Messages.RemoveUnusedVariablesRefactoring_SelectedFilesMustBeImplicitNone, file.getName()));
-    }
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure{
-        try
-        {
-            for (IFile file : selectedFiles)
-            {
-                IFortranAST ast = vpg.acquirePermanentAST(file);
-                if(ast == null)
-                {
-                    status.addError(Messages.bind(Messages.RemoveUnusedVariablesRefactoring_SelectedFilesCannotBeParsed, file.getName()));
-                }
-                else
-                {
-                    makeChangesTo(file, ast, status, pm);
-                    vpg.releaseAST(file);
-                }
-            }
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }    
-    }
-
-    private void makeChangesTo(IFile file, IFortranAST ast, RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        boolean hasChanged = false;
-
-        for (ScopingNode scope : ast.getRoot().getAllContainedScopes())
-            if (removedUnusedVariablesFromScope(scope))
-                hasChanged = true;
-
-        if (hasChanged)
-        {
-            addChangeFromModifiedAST(file, pm);
-            status.addInfo(Messages.bind(Messages.RemoveUnusedVariablesRefactoring_RefactorAgainToRemoveAllUnusedVars, file.getName()));
-            status.addWarning(Messages.RemoveUnusedVariablesRefactoring_DoesNotRemovedUnusedVarsWithDefsOnAnotherLine);
-        }
-        else
-        {
-            status.addInfo(Messages.bind(Messages.RemoveUnusedVariablesRefactoring_UnusedVarsRemovedFromFile, file.getName()));
-        }
-    }
-
-    private boolean removedUnusedVariablesFromScope(ScopingNode scope)
-        throws PreconditionFailure
-    {
-        assert debug(Messages.bind(Messages.RemoveUnusedVariablesRefactoring_Scope, scope.getClass().getName()));
-        
-        boolean hasChanged = false;
-        
-        for (Definition def : scope.getAllDefinitions())
-        {
-            if (def != null && def.isLocalVariable() && def.findAllReferences(true).isEmpty())
-            {
-                removeVariableDeclFor(def);
-                hasChanged = true;
-            }
-        }
-
-        return hasChanged;
-    }
-
-    private void removeVariableDeclFor(Definition def) throws PreconditionFailure
-    {
-        assert debug(Messages.bind(Messages.RemoveUnusedVariablesRefactoring_VariableUnusedAndWillBeRemoved, def.getDeclaredName()));
-        
-        ASTTypeDeclarationStmtNode declarationNode = getTypeDeclarationStmtNode(def.getTokenRef().findToken().getParent());
-        
-        IASTListNode<ASTEntityDeclNode> entityDeclList = declarationNode.getEntityDeclList();
-        if (entityDeclList.size() == 1)
-        {
-            declarationNode.replaceWith("\n"); //$NON-NLS-1$
-        }
-        else
-        {
-            removeVariableDeclFromList(def, entityDeclList);
-            //declarationNode.setEntityDeclList(entityDeclList); // JO -- redundant
-        }
-    }
-
-    private void removeVariableDeclFromList(Definition def,
-                                            IASTListNode<ASTEntityDeclNode> entityDeclList)
-        throws PreconditionFailure
-    {
-        for (ASTEntityDeclNode decl : entityDeclList)
-        {
-            // TODO - JO - Can we use pointer comparison rather than text comparison?
-            ASTObjectNameNode objectName = decl.getObjectName();
-            String declName = objectName.getObjectName().getText(); 
-            if (declName.equals(def.getDeclaredName()))
-            {
-                if (!entityDeclList.remove(decl))
-                {
-                    fail(Messages.RemoveUnusedVariablesRefactoring_CouldNotCompleteOperation);
-                }                                    
-                break;
-            }
-        } 
-        
-        //Add a whitespace so that variable names and keywords don't clump together
-        //i.e. "integer x,y" doesn't become "integerx,y"
-        entityDeclList.findFirstToken().setWhiteBefore(" "); //$NON-NLS-1$
-    }
-
-    private ASTTypeDeclarationStmtNode getTypeDeclarationStmtNode(IASTNode node)
-    {
-        if (node == null)
-            return null;
-        else if (node instanceof ASTTypeDeclarationStmtNode)
-            return (ASTTypeDeclarationStmtNode)node;
-        else
-            return getTypeDeclarationStmtNode(node.getParent());
-    }
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        // The change is made in method makeChangesTo(...).
-    }
-    
-    private boolean debug(String msg)
-    {
-        System.out.println(msg);
-        return true;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RenameRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RenameRefactoring.java
deleted file mode 100644
index 68de48f..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RenameRefactoring.java
+++ /dev/null
@@ -1,385 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.RefactoringStatusContext;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.refactoring.interfaces.IRenameRefactoring;
-import org.eclipse.photran.internal.core.sourceform.SourceForm;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-
-/**
- * Refactoring to rename identifiers in Fortran programs.
- *
- * @author Jeff Overbey
- */
-public class RenameRefactoring extends FortranEditorRefactoring implements IRenameRefactoring
-{
-    private Definition definitionToRename = null;
-    private Collection<PhotranTokenRef> allReferences = null;
-    private String oldName = null, newName = null;
-    private boolean shouldBindInterfacesAndExternals = true;
-
-    @Override
-    public String getName()
-    {
-        return Messages.RenameRefactoring_Name;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // User-Accessible Parameters
-    ///////////////////////////////////////////////////////////////////////////
-
-    public String getOldNameOfIdentifier()
-    {
-    	assert oldName != null;
-
-    	return oldName;
-    }
-
-    public void setNewNameForIdentifier(String newName)
-    {
-        assert newName != null;
-
-        this.newName = newName;
-    }
-
-    public void setShouldBindInterfacesAndExternals(boolean value)
-    {
-        this.shouldBindInterfacesAndExternals = value;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Initial Preconditions
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-
-        oldName = findEnclosingToken().getText();
-        definitionToRename = findDeclarationToRename();
-
-        checkIfDefinitionCanBeRenamed();
-    }
-
-	private Token findEnclosingToken() throws PreconditionFailure
-	{
-		Token selectedToken = findEnclosingToken(this.astOfFileInEditor, this.selectedRegionInEditor);
-        if (selectedToken == null || !isIdentifier(selectedToken))
-            fail(Messages.RenameRefactoring_PleaseSelectAnIdentifier);
-		return selectedToken;
-	}
-
-	private Definition findDeclarationToRename() throws PreconditionFailure
-	{
-		List<Definition> declarations = findEnclosingToken().resolveBinding();
-
-        if (declarations.size() == 0)
-        	fail(Messages.bind(Messages.RenameRefactoring_NoDeclarationFoundFor, oldName));
-        else if (declarations.size() > 1)
-        	fail(Messages.bind(Messages.RenameRefactoring_MultipleDeclarationsFoundFor, oldName));
-
-        return declarations.get(0);
-	}
-
-	private void checkIfDefinitionCanBeRenamed() throws PreconditionFailure
-	{
-		if (definitionToRename.isSubprogramArgument())
-        	fail(Messages.RenameRefactoring_CannotRenameSubprogramArgs);
-
-		// F03
-		if (definitionToRename.isTypeBoundProcedure() && !definitionToRename.isRenamedTypeBoundProcedure())
-		    fail(Messages.RenameRefactoring_CannotRenameTypeBoundProcedures);
-
-        if (!definitionToRename.isLocalVariable()
-               && !definitionToRename.isSubprogram()
-               && !definitionToRename.isExternal()
-               && !definitionToRename.isInterface()
-               && !definitionToRename.isDerivedType()
-               && !definitionToRename.isModuleEntityBeforeRename()
-               && !definitionToRename.isRenamedModuleEntity()
-               && !definitionToRename.isMainProgram()
-               && !definitionToRename.isNamelist()
-               && !definitionToRename.isCommon()
-               && !definitionToRename.isBlockData())
-        {
-               fail(
-                   Messages.bind(
-                       Messages.RenameRefactoring_CannotRename,
-                       definitionToRename.describeClassification(),
-                       oldName));
-        }
-
-        if (definitionToRename.isIntrinsic())
-               fail(Messages.bind(Messages.RenameRefactoring_CannotRenameIntrinsicProcedure, oldName));
-
-        if (isPreprocessed(definitionToRename.getTokenRef().findToken()))
-               fail(Messages.bind(Messages.RenameRefactoring_CannotRenameInINCLUDEFile, oldName));
-	}
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Final Preconditions
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCheckFinalConditions(final RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        assert definitionToRename != null;
-        assert newName != null;
-        assert allReferences == null;
-
-        if (newName.equals(oldName))
-            fail(
-                Messages.bind(
-                    Messages.RenameRefactoring_NewNameIsExactlyTheSame,
-                    newName));
-        // OK if capitalization is different
-
-        if (!isValidIdentifier(newName)) fail(Messages.bind(Messages.RenameRefactoring_InvalidIdentifier, newName));
-
-        allReferences = definitionToRename.findAllReferences(shouldBindInterfacesAndExternals);
-        removeFixedFormReferences(status);
-        removeCPreprocessedReferences(status);
-        checkIfReferencesCanBeRenamed(pm);
-
-        checkForConflictingBindings(
-            pm,
-            new ConflictingBindingErrorHandler(status),
-            definitionToRename,
-            allReferences,
-            newName);
-    }
-
-    private final class ConflictingBindingErrorHandler implements IConflictingBindingCallback
-    {
-        private final RefactoringStatus status;
-
-        private ConflictingBindingErrorHandler(RefactoringStatus status) { this.status = status; }
-
-        public void addConflictError(List<Conflict> conflictingDef)
-        {
-            Conflict conflict = conflictingDef.get(0);
-
-            String msg =
-                Messages.bind(
-                    Messages.RenameRefactoring_NameConflicts,
-                    conflict.name,
-                    vpg.getDefinitionFor(conflict.tokenRef));
-            RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights problematic definition
-            status.addError(msg, context);
-        }
-
-        public void addConflictWarning(List<Conflict> conflictingDef)
-        {
-            Conflict conflict = conflictingDef.get(0);
-
-            String msg =
-                Messages.bind(
-                    Messages.RenameRefactoring_NameMightConflict,
-                    conflict.name);
-            RefactoringStatusContext context = createContext(conflict.tokenRef); // Highlights problematic definition
-            status.addWarning(msg, context);
-        }
-
-        public void addReferenceWillChangeError(String newName, Token reference)
-        {
-            // The entity with the new name will shadow the definition to which this binding resolves
-            status.addError(
-                Messages.bind(
-                    Messages.RenameRefactoring_ChangingNameWouldChangeMeaning,
-                    new Object[] {
-                        newName,
-                        reference.getText(),
-                        reference.getLine(),
-                        reference.getTokenRef().getFilename() }),
-                createContext(reference)); // Highlight problematic reference
-        }
-    }
-
-    private void removeFixedFormReferences(RefactoringStatus status)
-    {
-        if (FIXED_FORM_REFACTORING_ENABLED) return;
-        
-        HashSet<IFile> fixedFormFiles = new HashSet<IFile>();
-        HashSet<IFile> freeFormFiles = new HashSet<IFile>();
-        HashSet<PhotranTokenRef> referencesToRemove = new HashSet<PhotranTokenRef>();
-
-        for (PhotranTokenRef reference : allReferences)
-        {
-            IFile file = reference.getFile();
-
-            if (fixedFormFiles.contains(file))
-            {
-                referencesToRemove.add(reference);
-            }
-            else if (freeFormFiles.contains(file))
-            {
-                continue;
-            }
-            else if (SourceForm.isFixedForm(file))
-            {
-                fixedFormFiles.add(file);
-                status.addError(Messages.bind(Messages.RenameRefactoring_FixedFormFileWillNotBeRefactored, file.getName()));
-                referencesToRemove.add(reference);
-            }
-            else
-            {
-                freeFormFiles.add(file);
-            }
-        }
-
-        allReferences.removeAll(referencesToRemove);
-    }
-    
-    private void removeCPreprocessedReferences(RefactoringStatus status)
-    {
-        HashSet<IFile> cppFiles = new HashSet<IFile>();
-        HashSet<IFile> freeFormFiles = new HashSet<IFile>();
-        HashSet<PhotranTokenRef> referencesToRemove = new HashSet<PhotranTokenRef>();
-
-        for (PhotranTokenRef reference : allReferences)
-        {
-            IFile file = reference.getFile();
-
-            if (cppFiles.contains(file))
-            {
-                referencesToRemove.add(reference);
-            }
-            else if (freeFormFiles.contains(file))
-            {
-                continue;
-            }
-            else if (SourceForm.isCPreprocessed(file))
-            {
-                cppFiles.add(file);
-                status.addError(
-                    Messages.bind(
-                        Messages.RenameRefactoring_CPreprocessedFileWillNotBeRefactored,
-                        file.getName()));
-                referencesToRemove.add(reference);
-            }
-            else
-            {
-                freeFormFiles.add(file);
-            }
-        }
-
-        allReferences.removeAll(referencesToRemove);
-    }
-
-    private void checkIfReferencesCanBeRenamed(IProgressMonitor pm) throws PreconditionFailure
-    {
-        for (PhotranTokenRef ref : allReferences)
-        {
-            pm.subTask(Messages.bind(Messages.RenameRefactoring_StatusCheckingIfReferencesInFileCanBeRenamed, ref.getFilename()));
-
-            Token reference = ref.findToken();
-
-            if (reference.resolveBinding().size() > 1)
-                fail(
-                    Messages.bind(
-                        Messages.RenameRefactoring_CannotRenameAmbiguous, new Object[] {
-                        oldName,
-                        describeToken(reference),
-                        oldName }));
-
-            if (isPreprocessed(reference))
-                fail(
-                    Messages.bind(
-                        Messages.RenameRefactoring_CannotRenameUsedInINCLUDEFile,
-                        oldName,
-                        describeToken(reference)));
-        }
-    }
-
-
-
-
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Change
-    ///////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        assert definitionToRename != null;
-        assert allReferences != null;
-        assert newName != null;
-
-        Set<IFile> filesToChange = determineFilesToChange();
-        pm.beginTask(Messages.RenameRefactoring_StatusRenaming, filesToChange.size());
-
-        try
-        {
-            for (IFile file : filesToChange)
-	            makeChangesTo(file, pm);
-        }
-        finally
-        {
-        	vpg.releaseAllASTs();
-            pm.done();
-        }
-    }
-
-    private Set<IFile> determineFilesToChange()
-    {
-        Set<IFile> files = new HashSet<IFile>(allReferences.size() + 2);
-
-        files.add(fileInEditor); // File in the editor (containing the reference)
-        files.add(definitionToRename.getTokenRef().getFile());
-
-        for (PhotranTokenRef ref : allReferences)
-            files.add(ref.getFile());
-
-        return files;
-    }
-
-    private void makeChangesTo(IFile file, IProgressMonitor pm) throws Error
-    {
-        try
-        {
-            pm.subTask(Messages.bind(Messages.RenameRefactoring_StatusModifyingFile, file.getName()));
-            pm.worked(1);
-
-            vpg.acquirePermanentAST(file);
-
-            if (definitionToRename.getTokenRef().getFile().equals(file))
-                definitionToRename.getTokenRef().findToken().setText(newName);
-
-            for (PhotranTokenRef ref : allReferences)
-                if (ref.getFile().equals(file))
-                    ref.findToken().setText(newName);
-
-            addChangeFromModifiedAST(file, pm);
-
-            vpg.releaseAST(file);
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RepObsOpersRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RepObsOpersRefactoring.java
deleted file mode 100644
index 0c4e9b1..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/RepObsOpersRefactoring.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UFSM - Universidade Federal de Santa Maria (www.ufsm.br)
- *     UNIJUI - Universidade Regional do Noroeste do Estado do Rio Grande do Sul (www.unijui.edu.br)
- *     UIUC (modified to use MultipleFileFortranRefactoring)
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.parser.ASTOperatorNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;
-
-/**
- * Refactoring to replace obsolete operators in Fortran files.
- *
- * @author Bruno B. Boniati
- * @author Jeff Overbey
- * @author Ashley Kasza - externalized strings
- */
-public class RepObsOpersRefactoring extends FortranResourceRefactoring
-{
-    @Override
-    public String getName()
-    {
-        return Messages.RepObsOpersRefactoring_Name;
-    }
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-        removeFixedFormFilesFrom(this.selectedFiles, status);
-        removeCpreprocessedFilesFrom(this.selectedFiles, status);
-    }
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        try
-        {
-            for (IFile file : selectedFiles)
-            {
-                IFortranAST ast = vpg.acquirePermanentAST(file);
-                if (ast == null)
-                    status.addError(Messages.bind(Messages.RepObsOpersRefactoring_SelectedFileCannotBeParsed, file.getName()));
-                makeChangesTo(file, ast, status, pm);
-                vpg.releaseAST(file);
-            }
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    private void makeChangesTo(IFile file, IFortranAST ast, RefactoringStatus status, IProgressMonitor pm) throws Error
-    {
-        try
-        {
-            if (ast == null) return;
-
-            OperatorReplacingVisitor replacer = new OperatorReplacingVisitor();
-            ast.accept(replacer);
-            if (replacer.changedAST) // Do not include the file in the list of changes unless it actually changed
-                addChangeFromModifiedAST(file, pm);
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    private static final class OperatorReplacingVisitor extends GenericASTVisitor
-    {
-        private boolean changedAST = false;
-
-        @Override
-        public void visitASTNode(IASTNode node)
-        {
-            if (node instanceof ASTOperatorNode)
-                replaceOperatorIn((ASTOperatorNode)node);
-
-            traverseChildren(node);
-        }
-
-        private void replaceOperatorIn(ASTOperatorNode op)
-        {
-            if (op.hasLtOp()) setText(op, "<"); //$NON-NLS-1$
-            if (op.hasLeOp()) setText(op, "<="); //$NON-NLS-1$
-            if (op.hasEqOp()) setText(op, "=="); //$NON-NLS-1$
-            if (op.hasNeOp()) setText(op, "/="); //$NON-NLS-1$
-            if (op.hasGtOp()) setText(op, ">"); //$NON-NLS-1$
-            if (op.hasGeOp()) setText(op, ">="); //$NON-NLS-1$
-        }
-
-        private void setText(ASTOperatorNode op, String newText)
-        {
-            op.findFirstToken().setText(newText);
-            changedAST = true;
-        }
-    }
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-    }
-}
-
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReplaceCharacterStarRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReplaceCharacterStarRefactoring.java
deleted file mode 100644
index 80d4f91..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReplaceCharacterStarRefactoring.java
+++ /dev/null
@@ -1,342 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mariano Mendez and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    Mariano Mendez - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import java.util.LinkedList;

-import java.util.List;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.core.IFortranAST;

-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;

-import org.eclipse.photran.internal.core.lexer.Terminal;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.parser.ASTArraySpecNode;

-import org.eclipse.photran.internal.core.parser.ASTCharSelectorNode;

-import org.eclipse.photran.internal.core.parser.ASTDerivedTypeDefNode;

-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;

-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;

-import org.eclipse.photran.internal.core.parser.ASTInitializationNode;

-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTTypeSpecNode;

-import org.eclipse.photran.internal.core.parser.ASTVisitor;

-import org.eclipse.photran.internal.core.parser.IASTListNode;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-

-/**

- * This refactoring removes old-style CHARACTER*n declarations, replacing them with

- * new-style CHARACTER(LEN=n) declarations.

- * 

- * @author Mariano Mendez

- */

-public class ReplaceCharacterStarRefactoring extends FortranEditorRefactoring

-{

-    @Override

-    public String getName()

-    {

-        return Messages.ReplaceCharacterToCharacterLenRefactoring_Name;

-    }

-

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-         

-        ensureProjectHasRefactoringEnabled(status);

-        removeFixedFormFilesFrom(this.selectedFiles, status);

-        removeCpreprocessedFilesFrom(this.selectedFiles, status);

-        

-        //iterateThroughAllTypeDeclarationStmtNodes(this.astOfFileInEditor.getRoot());

-        CharacterNodesVisitor characterVisitor = new CharacterNodesVisitor();

-        this.astOfFileInEditor.accept(characterVisitor);

-        

-        // if there is not any character * a message is shown 

-        if (characterVisitor.getList().size()<1) 

-            fail(Messages.ReplaceCharacterToCharacterLenRefactoring_CharacterStarDeclNotSelected); 

-    }

-    

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        // No final preconditions

-    }

-    

-    @SuppressWarnings("unchecked")

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-        IFile file = this.fileInEditor;

-        IFortranAST ast = vpg.acquirePermanentAST(file);

-        List<ScopingNode> scopes = ast.getRoot().getAllContainedScopes();

-        for (ScopingNode scope : scopes)

-            if (!(scope instanceof ASTExecutableProgramNode) && !(scope instanceof ASTDerivedTypeDefNode))

-                removeOldCharacterDecl((IASTListNode<IASTNode>)scope.getBody(),ast);

-        

-        this.addChangeFromModifiedAST(this.fileInEditor, pm);

-        vpg.releaseAST(this.fileInEditor);

-    }

-    

-    private void removeOldCharacterDecl(IASTListNode<IASTNode> body , IFortranAST ast)

-    {

-        // to removes all character declaration from a scope

-        // first creates a list of Character Declaration 

-        List<ASTTypeDeclarationStmtNode> typeCharDeclStmts = createCharTypeDeclStmtList(body, ast);

-        insertNewStmts(typeCharDeclStmts, body,ast);

-        removeOldStmts(typeCharDeclStmts, body);

-    }

-    

-    private List<ASTTypeDeclarationStmtNode> createCharTypeDeclStmtList(IASTListNode<IASTNode> body , IFortranAST ast)

-    {

-        List<ASTTypeDeclarationStmtNode> statements = new LinkedList<ASTTypeDeclarationStmtNode>();

-        CharacterNodesVisitor charVitor= new CharacterNodesVisitor();

-        ast.accept(charVitor);

-        for ( IASTNode node : body )

-        {

-            if (node instanceof ASTTypeDeclarationStmtNode  &&   charVitor.getList().contains(node) ) 

-                changeOldCharStyleDecl((ASTTypeDeclarationStmtNode)node, statements);

-        }

-        return statements;

-    }

-   

-    

-    private void changeOldCharStyleDecl(ASTTypeDeclarationStmtNode typeDeclStmt, List<ASTTypeDeclarationStmtNode> statements)

-    {

-        // changes the format of old character Declaration

-        IASTListNode<ASTEntityDeclNode> variables = typeDeclStmt.getEntityDeclList();

-        

-        for (int i=0; i<variables.size(); i++)

-        {

-            ASTTypeDeclarationStmtNode newStmt = createNewVariableDeclaration(typeDeclStmt, i);

-            // Add a reference to the old statement (this will have an even-numbered index in the list)

-            statements.add((ASTTypeDeclarationStmtNode)typeDeclStmt);

-            // Then add the new declaration (this will have an odd-numbered index in the list)

-            // before insert the new statement it must be rewritten to character(Len= )    

-            statements.add(newStmt);

-        }

-    }

-    

-   

-    // Borrowed from Standarize Statements

-    @SuppressWarnings("unchecked")

-    private ASTTypeDeclarationStmtNode createNewVariableDeclaration(ASTTypeDeclarationStmtNode typeDeclStmt, int i)

-    {

-        IASTListNode<ASTEntityDeclNode> variables = typeDeclStmt.getEntityDeclList();

-        ASTTypeDeclarationStmtNode newStmt = (ASTTypeDeclarationStmtNode)typeDeclStmt.clone();

-        if (i>0) newStmt.setTypeSpec(createTypeSpecNodeFrom(typeDeclStmt));

-        IASTListNode<ASTEntityDeclNode> newVariable =  (IASTListNode<ASTEntityDeclNode>)variables.clone();

-        List<ASTEntityDeclNode> listOfVariablesToRemove = new LinkedList<ASTEntityDeclNode>();

-        for (int j=0; j<variables.size(); j++)

-            if (j != i)

-                listOfVariablesToRemove.add(newVariable.get(j));

-        newVariable.removeAll(listOfVariablesToRemove);

-        newStmt.setEntityDeclList(newVariable);

-        // Insert "::" if the original statement does not contain that already

-        String source = addTwoColons(newStmt);                              

-        newStmt = (ASTTypeDeclarationStmtNode)parseLiteralStatement(source);

-        // replace old Style Character

-        newStmt=characterToCharacterLen(newStmt);

-        return newStmt;

-        

-    }

-    

-    private ASTTypeDeclarationStmtNode characterToCharacterLen ( ASTTypeDeclarationStmtNode Stmt)

-    {

-        String length=""; //$NON-NLS-1$

-        String literalIniDec=""; //$NON-NLS-1$

-        ASTTypeSpecNode type=Stmt.getTypeSpec();

-        ASTEntityDeclNode declNode=Stmt.getEntityDeclList().get(0);

-        if (Stmt.getTypeSpec().getCharSelector()!= null)

-        { 

-            if (declNode.getCharLength() ==null)  length=type.getCharSelector().getConstIntLength().getText(); // is a: character * 10 aString

-            else 

-            {

-                 // is a: character *10  First, Second*5  <----- is the second case  composed declaration

-                length=declNode.getCharLength().getConstIntLength().getText();

-                declNode.getCharLength().removeFromTree(); // remove from tree length

-                type.getCharSelector().removeFromTree();  // remove from tree character selector 

-            }

-        }

-        else 

-        {

-            if (declNode.getCharLength() !=null) // is a : character string*10

-            {     

-                length=declNode.getCharLength().getConstIntLength().getText();

-                declNode.getCharLength().removeFromTree();

-            }

-            else 

-            {

-                String strType=type.getCharacterToken().getText();

-                if (strType.contains("*")) length=strType.substring(strType.indexOf("*")+1);//  is :character* //$NON-NLS-1$ //$NON-NLS-2$

-                else length="1"; //$NON-NLS-1$ //  is : character

-            }

-        }

-        String source1= "character(len=" + length + ")" +"::"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$     

-        literalIniDec=getLiteralDeclaration(Stmt.getEntityDeclList().get(0).getInitialization());

-        String source2 =  getIdentifier(Stmt.getEntityDeclList().get(0));

-        String commentsBefore=Stmt.findFirstToken().getWhiteBefore();

-        String commentsAfter=Stmt.findLastToken().getWhiteBefore();

-        String literalStmt=commentsBefore+source1+source2 + literalIniDec +commentsAfter;

-        Stmt=(ASTTypeDeclarationStmtNode)parseLiteralStatement(literalStmt);

-        return Stmt;

-    }

-

-    private String getIdentifier(ASTEntityDeclNode declNode)

-    {

-       String varName=declNode.getObjectName().getObjectName().getText();

-       ASTArraySpecNode  arraySpec= declNode.getArraySpec();

-       

-       if (arraySpec!=null) varName= varName +"(" +arraySpec.toString() +")" ;   //$NON-NLS-1$ //$NON-NLS-2$

-       return varName;

-    }

-    

-    private String getLiteralDeclaration(ASTInitializationNode initializationNode)

-    {

-        if (initializationNode!=null)

-        {

-            // the character is initialized

-            String iniStr= initializationNode.getAssignedExpr().toString();

-            return  "=" + iniStr ; //$NON-NLS-1$ 

-        }

-        return ""; //$NON-NLS-1$

-    }

-    

-    // Borrowed from Standarize Statements

-    private ASTTypeSpecNode createTypeSpecNodeFrom(ASTTypeDeclarationStmtNode typeDeclStmt)

-    {

-        ASTTypeSpecNode typeNode = new ASTTypeSpecNode();

-        String type = typeDeclStmt.getTypeSpec().toString().trim();

-        String[] typeWithoutComments = type.split("\n"); //$NON-NLS-1$

-        type = typeWithoutComments[typeWithoutComments.length - 1].trim();

-        typeNode.setIsInteger(new Token(Terminal.T_INTEGER, type));

-        return typeNode;

-    }

-

-    // Borrowed from Standarize Statements

-    private String addTwoColons(ASTTypeDeclarationStmtNode newStmt)

-    {

-        String source = SourcePrinter.getSourceCodeFromASTNode(newStmt);

-        int position_type = newStmt.getTypeSpec().toString().length();

-        String twoPoints = ""; //$NON-NLS-1$

-        String source_1 = source.substring(0, position_type);

-        String source_2 = source.substring(position_type,source.length());

-        if (!containsColonColon(source_2)) 

-        {

-            twoPoints = " :: "; //$NON-NLS-1$

-        }

-        // New statement, with the two points (::).

-        source = source_1+twoPoints+source_2.trim();

-        return source;

-    }

-    

-     

-    // Borrowed from Standarize Statements

-    /** @return true iff <code>s</code> contains :: outside a comment */

-    private boolean containsColonColon(String s)

-    {        

-        for (int i=0; i<s.length()-1; i++)

-        {

-            char p1 = s.charAt(i);

-            char p2 = s.charAt(i+1);

-            if (p1 == '!' || p2 == '!')

-            {

-                return false;

-            }

-            else if (p1 == ':' && p2 ==':')

-            {

-                return true;

-            }

-        }

-        return false;

-    }

-

-    // Borrowed from Standarize Statements

-    private void insertNewStmts(List<ASTTypeDeclarationStmtNode> typeDeclStmts,

-        IASTListNode<IASTNode> body, IFortranAST ast)

-    {

-        for (int i = 0; i<typeDeclStmts.size(); i+=2)

-        {

-            body.insertBefore(typeDeclStmts.get(i), typeDeclStmts.get(i+1));

-            Reindenter.reindent(typeDeclStmts.get(i+1), ast);

-        }

-    }

-

-    /**

-    * Removes the old statements from the AST.

-    * <p>

-    * These have even-numbered indices in the list (see {@link #createTypeDeclStmtList(IASTListNode)})

-    */

-    // Borrowed from Standarize Statements

-    private void removeOldStmts(List<ASTTypeDeclarationStmtNode> typeDeclStmts,

-            IASTListNode<IASTNode> body)

-    {

-        for (int i = 0; i<typeDeclStmts.size(); i+=2)

-        {

-            ASTTypeDeclarationStmtNode delete = typeDeclStmts.get(i);

-            if (body.contains(delete))

-            {

-                delete.removeFromTree();

-            }

-        }

-    }

-    

-        

-    private static final class CharacterNodesVisitor extends ASTVisitor

-    {

-        private List<ASTTypeDeclarationStmtNode> oldCcharDeclaStmtList= new LinkedList<ASTTypeDeclarationStmtNode>();

-      

-        @Override 

-        public void visitASTTypeDeclarationStmtNode (ASTTypeDeclarationStmtNode node)

-        {

-            // If the declaration type is a Character

-            // is a character* declaration type then I include it in the list

-            ASTTypeSpecNode specTypeNode=node.getTypeSpec(); 

-            if (specTypeNode!= null && specTypeNode.isCharacter()) 

-            {

-                ASTCharSelectorNode charSelectorNode = specTypeNode.getCharSelector();

-                // Is a character !                  

-                if (charSelectorNode!=null)

-                {

-                    if (isAnOldCharacterDecl(charSelectorNode))

-                    {

-                        // put the node in the list is a Character *

-                        oldCcharDeclaStmtList.add(node);

-                    }

-                }

-                else oldCcharDeclaStmtList.add(node);

-            }

-        }

-        

-        public List<ASTTypeDeclarationStmtNode> getList() 

-        {

-            return this.oldCcharDeclaStmtList;

-        } 

-        

-        private boolean isAnOldCharacterDecl(ASTCharSelectorNode node)

-        {

-            return  ! node.isAssumedLength() 

-                    && ! node.isColon()  

-                    && ! (node.getConstIntLength()==null) 

-                    && (node.getLengthExpr()== null)

-                    && (node.getKindExpr()==null)

-                    && (node.getKindExpr2()==null);

-        }  

-        

-    }

-    

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReplaceOldStyleDoLoopRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReplaceOldStyleDoLoopRefactoring.java
deleted file mode 100644
index 9be9e7e..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReplaceOldStyleDoLoopRefactoring.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Mariano Mendez and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    Mariano Mendez - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import java.util.Iterator;

-import java.util.LinkedList;

-import java.util.List;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;

-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;

-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;

-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.parser.ASTEndDoStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTLabelDoStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTLblRefNode;

-import org.eclipse.photran.internal.core.parser.IASTListNode;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.parser.IActionStmt;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;

-

-/**

- * Refactoring to replace old DO-LOOP formats by adding a more structured 

- * format construction with the END - DO statement . It works with Shared Do Loop Termination too. 

- *  

- * @author Mariano Mendez

- */

-public class ReplaceOldStyleDoLoopRefactoring extends FortranEditorRefactoring

-{

-    private List<ASTProperLoopConstructNode> loopList= new LinkedList<ASTProperLoopConstructNode>();

-    private List<IActionStmt> lblList= new LinkedList<IActionStmt>();

-    

-    @Override

-    public String getName()

-    {

-        return Messages.ReplaceOldStyleDoLoopRefactoring_Name;

-    }

-    

-    //////////////////////////////////////////////////////////////////////

-    //          INITIAL CONDITIONS 

-    /////////////////////////////////////////////////////////////////////

-    

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-        // Change AST to represent DO-loops as ASTProperLoopConstructNodes

-        LoopReplacer.replaceAllLoopsIn(this.astOfFileInEditor.getRoot());

-        // Collect All Loops and all labels 

-        collectAllLoopsAndLabelsIn(this.astOfFileInEditor.getRoot());

-        //must have at last one OldStyle Do-Loop

-        if (getOldStyleDoLoopCount()==0) 

-            fail(Messages.ReplaceOldStyleDoLoopRefactoring_ThereMustBeAtLeastOneOldStyleDoLoop);

-        // for each oldStyle DoLoop

-        

-        for(ASTProperLoopConstructNode node : loopList)

-        {

-            if (isOldStyleDoLoop(node))

-            {

-               ASTLabelDoStmtNode loopHeader=node.getLoopHeader();

-                //there must be exactly one statement with the given "Label"

-               int labelCount=getCountForLabel(loopHeader.getLblRef().getLabel());

-               String labelName=loopHeader.getLblRef().getLabel().getText();

-                if (labelCount>1)

-                    fail(

-                        Messages.bind(

-                            Messages.ReplaceOldStyleDoLoopRefactoring_AmbiguousLabel,

-                            labelName

-                        )

-                    );

-                else if (labelCount<1)

-                     fail(

-                         Messages.bind(

-                             Messages.ReplaceOldStyleDoLoopRefactoring_MissingLabel,

-                             labelName

-                         )  

-                     );                

-                if (!isSharedDoLoop(node))

-                {

-                    // it must be at the same level of the nesting as ASTDoStmt 

-                    // then the grandpa of the labeledStmt (must be the loopBody) == father of LoopHeader  

-                    IActionStmt labeledStmt= getLabeledStatement(loopHeader.getLblRef().getLabel());

-                    IASTNode loopBody=labeledStmt.getParent();

-                    if (loopBody.getParent()!=loopHeader.getParent())

-                        fail(

-                            Messages.bind(

-                                Messages.ReplaceOldStyleDoLoopRefactoring_EndOfLoopError,

-                                labelName

-                            )  

-                        );

-                }     

-            }    

-        }

-    

-    }

-

-     

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        // No final preconditions

-    }

-    

-    ///////////////////////////////////////////////////////////////////////////

-    // Change

-    ///////////////////////////////////////////////////////////////////////////

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-        // For Each Old Style DoLoop in the list

-        for(ASTProperLoopConstructNode node : loopList)

-        {

-            if (isOldStyleDoLoop(node))

-            {

-                ASTEndDoStmtNode newNode = (ASTEndDoStmtNode) parseLiteralStatement ("END DO" + EOL); //$NON-NLS-1$

-                // Add and END DO Statement

-                node.setEndDoStmt(newNode);

-                // Remove from the Loop Header the label Reference 

-                node.getLoopHeader().setLblRef(null);

-                

-                // Re-indent the node

-                Reindenter.reindent( node, this.astOfFileInEditor, Strategy.REINDENT_EACH_LINE);

-            }    

-        }    

-        this.addChangeFromModifiedAST(this.fileInEditor, pm);

-        vpg.releaseAST(this.fileInEditor);

-    }

-

-    

-    ///////////////////////////////////////////////////////////////////////////////

-    //  AUXILIARY METHODS

-    //////////////////////////////////////////////////////////////////////////////

-    

-    private void collectAllLoopsAndLabelsIn(ScopingNode scope)

-    {

-        //(Code taken and modified from LoopReplacer )

-        scope.accept(new ASTVisitorWithLoops()

-        {

-            @Override public void visitASTProperLoopConstructNode (ASTProperLoopConstructNode node)

-            {

-                //Get loops

-                    loopList.add(0, node);

-                    traverseChildren(node);

-            }

-            

-            @Override public void visitIActionStmt (IActionStmt node)

-            {

-                // get the statements labeled

-                if(node.getLabel()!=null) 

-                    lblList.add(0, node);

-                traverseChildren(node);

-            }

-        });

-    }

-    

-    

-    private boolean isSharedDoLoop( ASTProperLoopConstructNode node)

-    {  

-        IASTNode parentNode= node.getParent();

-        if( (parentNode instanceof IASTListNode<?>) &&  (parentNode.getParent() instanceof ASTProperLoopConstructNode) )

-        {   

-            // if is a Body get parent 

-            parentNode=parentNode.getParent();

-            if ( parentNode instanceof ASTProperLoopConstructNode) 

-            {

-                ASTLblRefNode headerNodeLabelRef=node.getLoopHeader().getLblRef();

-                if (headerNodeLabelRef!=null) 

-                {

-                    Token headerNodeLabel=headerNodeLabelRef.getLabel();

-                    //

-                    ASTLblRefNode parentNodeRefLbl= ((ASTProperLoopConstructNode)parentNode).getLoopHeader().getLblRef();

-                    if (parentNodeRefLbl!=null) 

-                    {

-                        Token parentNodeLabel=parentNodeRefLbl.getLabel();

-                        if (parentNodeLabel.getText().equals(headerNodeLabel.getText())) return true;

-                        else return false;

-                    }

-                    else return false ;

-                } else return false;

-            }

-        }

-        else 

-        {

-            // check the children 

-            for (IASTNode child : node.getBody())

-            {

-                if (child instanceof ASTProperLoopConstructNode)

-                {

-                    

-                    ASTLblRefNode headerLabelRef =node.getLoopHeader().getLblRef();

-                    if (headerLabelRef !=null) 

-                    {

-                        Token headerLabel=headerLabelRef.getLabel();

-                        ASTLblRefNode childLabelRefNode= ((ASTProperLoopConstructNode)child).getLoopHeader().getLblRef();

-                        if (childLabelRefNode!= null) 

-                        {

-                            Token childLabel=childLabelRefNode.getLabel();

-                            if (childLabel.getText().equals(headerLabel.getText())) return true;

-                            else return false;

-                        }

-                        else return false;

-                    }else return false;

-                }    

-            }                 

-        }

-        

-        return false;

-    }

- 

-    

-    private int getOldStyleDoLoopCount()

-    {

-        int count = 0;

-        

-        for(ASTProperLoopConstructNode loopNode : loopList){

-            if (isOldStyleDoLoop(loopNode))count++;

-        }        

-        return count;

-    }    

-    

-    private boolean isOldStyleDoLoop(ASTProperLoopConstructNode node)

-    {

-        return (node.getEndDoStmt()==null 

-               && node.getLoopHeader().getLblRef()!=null);

-    }

-    

-    private int getCountForLabel(Token label)

-    {

-        int count = 0 ;

-        Iterator<IActionStmt> it = lblList.iterator(); 

-                

-        while (it.hasNext())

-        {

-            IActionStmt node =it.next();

-            if(label.getText().equals(node.getLabel().getText())) count++;

-        }

-        return count;

-    }

-    

-    private IActionStmt getLabeledStatement(Token label)

-    {

-        Iterator<IActionStmt> it = lblList.iterator(); 

-        

-        while (it.hasNext())

-        {

-            IActionStmt node =it.next();

-            if(label.getText().equals(node.getLabel().getText())) return node;

-        }

-        return null;

-    }   

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReverseLoopRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReverseLoopRefactoring.java
deleted file mode 100644
index 515f620..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/ReverseLoopRefactoring.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;

-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.parser.ASTIntConstNode;

-import org.eclipse.photran.internal.core.parser.ASTLoopControlNode;

-import org.eclipse.photran.internal.core.parser.IExpr;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;

-

-/**

- * Refactoring to reverse a DO-loop.

- * <p>

- * For example, this will change <tt>DO I = 1, 5, 2</tt> into <tt>DO I = 5, 1, -2</tt>. 

- * 

- * @author Ashley Kasza

- */

-public class ReverseLoopRefactoring extends FortranEditorRefactoring

-{

-    private ASTProperLoopConstructNode doLoop = null;

-

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-        

-        LoopReplacer.replaceAllLoopsIn(this.astOfFileInEditor.getRoot());

-        doLoop = getLoopNode(this.astOfFileInEditor, this.selectedRegionInEditor);

-        if(doLoop == null){fail(Messages.ReverseLoopRefactoring_SelectDoLoop);}  

-        

-        

-    }

-    

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        // No final preconditions

-    }

-    

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-        changeDoLoopHeader();

-        Reindenter.reindent(doLoop, this.astOfFileInEditor, Strategy.REINDENT_EACH_LINE);

-        this.addChangeFromModifiedAST(this.fileInEditor, pm);

-        vpg.releaseAST(this.fileInEditor);

-    }

-

-    private void changeDoLoopHeader()

-    {

-        ASTLoopControlNode doLoopControlNode = doLoop.getLoopHeader().getLoopControl();

-        

-        IExpr low = doLoopControlNode.getLb(); // "lower bound" as in the first number to appear, not necessarily the lower number

-        IExpr high = doLoopControlNode.getUb();

-        IExpr step = doLoopControlNode.getStep(); // null if there isn't one.

-        

-        doLoopControlNode.setUb(low);

-        doLoopControlNode.setLb(high);

-        doLoopControlNode.setStep(updateStep(step));

-    }

-    

-    protected ASTIntConstNode updateStep(IExpr step)

-    {

-        if (step == null)

-        {

-            // The loop was incrementing by 1, so change to decrement by 1

-            ASTIntConstNode i = new ASTIntConstNode();

-            i.setIntConst(new Token(null, ",-1")); //$NON-NLS-1$

-            return i;

-        }

-        else

-        {

-            ASTIntConstNode j = new ASTIntConstNode();

-            j.setIntConst(new Token(null, "-(" + step.toString() + ")")); //$NON-NLS-1$ //$NON-NLS-2$

-            return j;

-        }

-    }

-    

-    

-    @Override

-    public String getName()

-    {

-        return Messages.ReverseLoopRefactoring_Name;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/SafeDeleteInternalSubprogramRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/SafeDeleteInternalSubprogramRefactoring.java
deleted file mode 100644
index 83cc64a..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/SafeDeleteInternalSubprogramRefactoring.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import java.util.List;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.internal.core.analysis.binding.Definition;

-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.parser.ASTAccessStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTSubroutineNameNode;

-import org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode;

-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;

-import org.eclipse.photran.internal.core.parser.IASTListNode;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.parser.IAccessId;

-import org.eclipse.photran.internal.core.parser.IInternalSubprogram;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;

-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;

-

-/**

- * Refactoring to delete un-referenced internal subprograms.If the subprogram has only internal

- * references then delete the subprogram in all cases.If the particular subprogram happens to be the

- * only internal subprogram then remove the contains statement and any access statement.

- * 

- * @author Abhishek Sharma

- */

-public class SafeDeleteInternalSubprogramRefactoring extends FortranEditorRefactoring

-{

-

-    private ASTSubroutineSubprogramNode subProgramNode;

-

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-

-        ensureProjectHasRefactoringEnabled(status);

-

-        IASTNode selectedNode = findEnclosingNode(astOfFileInEditor, selectedRegionInEditor);

-

-        if (selectedNode == null) fail(Messages.SafeDeleteInternalSubprogramRefactoring_NoSubroutineSelected);

-

-        if (selectedNode instanceof ASTSubroutineSubprogramNode)

-            subProgramNode = ((ASTSubroutineSubprogramNode)selectedNode);

-

-        else if (selectedNode instanceof ASTSubroutineStmtNode

-            || selectedNode instanceof ASTSubroutineNameNode)

-        {

-            ASTSubroutineSubprogramNode NearestAncestor = selectedNode

-                .findNearestAncestor(ASTSubroutineSubprogramNode.class);

-            subProgramNode = NearestAncestor;

-        }

-

-        if (subProgramNode == null) fail(Messages.SafeDeleteInternalSubprogramRefactoring_NoSubroutineSelected);

-

-        // list of definitions.Ideally there should be only 1 element in the list

-        List<Definition> definitionsList = subProgramNode.getSubroutineStmt().getSubroutineName()

-            .getSubroutineName().resolveBinding();

-

-        if (definitionsList.size() == 0)

-            throw new PreconditionFailure(Messages.SafeDeleteInternalSubprogramRefactoring_NoDefinition);

-        else if (definitionsList.size() > 1)

-            throw new PreconditionFailure(Messages.SafeDeleteInternalSubprogramRefactoring_MultipleDefinitions);

-        else if (definitionsList.get(0).isInternalSubprogramDefinition() == false)

-            throw new PreconditionFailure(Messages.SafeDeleteInternalSubprogramRefactoring_NotAnInternalSubprogram);

-

-        for (PhotranTokenRef tokenRef : definitionsList.get(0).findAllReferences(true))

-        {

-            // token is neither in the access statement nor does it occur in itself(recursive)

-            if (tokenRef.findToken().findNearestAncestor(ASTAccessStmtNode.class) == null

-                    && tokenRef.findToken().findNearestAncestor(ASTSubroutineSubprogramNode.class) != subProgramNode)

-                fail(Messages.SafeDeleteInternalSubprogramRefactoring_SubroutineMustHaveOnlyInternalReferences);

-        }

-

-    }

-

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring.PreconditionFailure

-    {

-    }

-

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-        removeReferenceInAccessStatement();

-        removeSubProgram();

-        this.addChangeFromModifiedAST(this.fileInEditor, pm);

-

-        vpg.releaseAllASTs();

-    }

-

-    private void removeSubProgram()

-    {

-        ScopingNode enclosingScope = subProgramNode.findNearestAncestor(ScopingNode.class);

-

-        if (enclosingScope != null)

-        {

-            IASTListNode<IInternalSubprogram> internalSubprogramList = enclosingScope.getInternalSubprograms();

-

-            if (internalSubprogramList.size() == 1)

-                enclosingScope.getContainsStmt().removeFromTree();

-

-            subProgramNode.removeFromTree();

-        }

-    }

-

-    private void removeReferenceInAccessStatement()

-    {

-        List<Definition> definitionsList = subProgramNode.getSubroutineStmt().getSubroutineName()

-            .getSubroutineName().resolveBinding();

-

-        for (PhotranTokenRef tokenRef : definitionsList.get(0).findAllReferences(true))

-        {

-

-            if (tokenRef.findToken().findNearestAncestor(ASTAccessStmtNode.class) != null)

-            {

-                IASTListNode<IAccessId> accessIdList = tokenRef.findToken()

-                    .findNearestAncestor(ASTAccessStmtNode.class).getAccessIdList();

-

-                if (accessIdList.size() == 1)

-                    tokenRef.findToken().findNearestAncestor(ASTAccessStmtNode.class)

-                        .removeFromTree();

-                else

-                {

-                    Token token = tokenRef.findToken();

-                    IAccessId accessID = token.findNearestAncestor(IAccessId.class);

-                    accessIdList.remove(accessID);

-                }

-            }

-        }

-

-    }

-

-    @Override

-    public String getName()

-    {

-        return Messages.SafeDeleteInternalSubprogramRefactoring_Name;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/StandardizeStatementsRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/StandardizeStatementsRefactoring.java
deleted file mode 100644
index cc8f595..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/StandardizeStatementsRefactoring.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 UFSM - Universidade Federal de Santa Maria (www.ufsm.br).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTDerivedTypeDefNode;
-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeSpecNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;
-import org.eclipse.photran.internal.core.reindenter.Reindenter;
-
-/**
- * Standardize Statements: refactoring that rewrites variables declarations,
- * transforming them into simple statements, always containing the two points (::)
- * that are characteristic of Fortran, making the code more readable.
- * 
- * @author Gustavo Rissetti
- * @author Timofey Yuvashev
- * @author Jeff Overbey
- * @author Ashley Kasza - externalized strings
- **/
-public class StandardizeStatementsRefactoring extends FortranResourceRefactoring{
-
-    @Override
-    public String getName()
-    {
-        return Messages.StandardizeStatementsRefactoring_Name;
-    }
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        ensureProjectHasRefactoringEnabled(status);
-        removeFixedFormFilesFrom(this.selectedFiles, status);
-        removeCpreprocessedFilesFrom(this.selectedFiles, status);
-    }
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        try
-        {
-            for (IFile file : selectedFiles)
-            {
-                IFortranAST ast = vpg.acquirePermanentAST(file);
-                if (ast == null)
-                {
-                    status.addError(Messages.bind(Messages.StandardizeStatementsRefactoring_SelectedFileCannotBeParsed, file.getName()));
-                }
-                makeChangesTo(file, ast, status, pm);
-                vpg.releaseAST(file);
-            }
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-    
-    @SuppressWarnings("unchecked")
-    private void makeChangesTo(IFile file, IFortranAST ast, RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {            
-        List<ScopingNode> scopes = ast.getRoot().getAllContainedScopes();
-        for (ScopingNode scope : scopes)
-            if (!(scope instanceof ASTExecutableProgramNode) && !(scope instanceof ASTDerivedTypeDefNode))
-                standardizeStmtsInScope((IASTListNode<IASTNode>)scope.getBody(), ast);
-
-        addChangeFromModifiedAST(file, pm);
-    }
-
-    private void standardizeStmtsInScope(IASTListNode<IASTNode> body, IFortranAST ast)
-    {
-        List<ASTTypeDeclarationStmtNode> typeDeclStmts = createTypeDeclStmtList(body);
-        insertNewStmts(typeDeclStmts, body, ast);
-        removeOldStmts(typeDeclStmts, body);
-    }
-    
-    /**
-     *  @return a list of {@link ASTTypeDeclarationStmtNode}s where the nodes at odd-numbered
-     *  indices are old statements to remove and those at even-numbered indices are the new,
-     *  standardized statements to insert
-     */
-    private List<ASTTypeDeclarationStmtNode> createTypeDeclStmtList(IASTListNode<IASTNode> body)
-    {
-        List<ASTTypeDeclarationStmtNode> statements = new LinkedList<ASTTypeDeclarationStmtNode>(); 
-        
-        for (IASTNode node : body)
-            if (node instanceof ASTTypeDeclarationStmtNode)
-                standardizeTypeDeclStmt((ASTTypeDeclarationStmtNode)node, statements);
-        
-        return statements;
-    }
-
-    private void standardizeTypeDeclStmt(ASTTypeDeclarationStmtNode typeDeclStmt, List<ASTTypeDeclarationStmtNode> statements)
-    {
-        IASTListNode<ASTEntityDeclNode> variables = typeDeclStmt.getEntityDeclList();
-        
-        for (int i=0; i<variables.size(); i++)
-        {
-            ASTTypeDeclarationStmtNode newStmt = createNewVariableDeclaration(typeDeclStmt, i);
-            
-            // Add a reference to the old statement (this will have an even-numbered index in the list)
-            statements.add((ASTTypeDeclarationStmtNode)typeDeclStmt);
-            
-            // Then add the new declaration (this will have an odd-numbered index in the list)
-            statements.add(newStmt);
-        }
-    }
-
-    @SuppressWarnings("unchecked")
-    private ASTTypeDeclarationStmtNode createNewVariableDeclaration(ASTTypeDeclarationStmtNode typeDeclStmt, int i)
-    {
-        IASTListNode<ASTEntityDeclNode> variables = typeDeclStmt.getEntityDeclList();
-        
-        ASTTypeDeclarationStmtNode newStmt = (ASTTypeDeclarationStmtNode)typeDeclStmt.clone();
-        if (i>0) newStmt.setTypeSpec(createTypeSpecNodeFrom(typeDeclStmt));
-
-        IASTListNode<ASTEntityDeclNode> newVariable =  (IASTListNode<ASTEntityDeclNode>)variables.clone();
-        List<ASTEntityDeclNode> listOfVariablesToRemove = new LinkedList<ASTEntityDeclNode>();
-        for (int j=0; j<variables.size(); j++)
-            if (j != i)
-                listOfVariablesToRemove.add(newVariable.get(j));
-        newVariable.removeAll(listOfVariablesToRemove);
-        newStmt.setEntityDeclList(newVariable);
-        
-        // Insert "::" if the original statement does not contain that already
-        String source = addTwoColons(newStmt);
-                                      
-        newStmt = (ASTTypeDeclarationStmtNode)parseLiteralStatement(source);
-        return newStmt;
-    }
-
-    private ASTTypeSpecNode createTypeSpecNodeFrom(ASTTypeDeclarationStmtNode typeDeclStmt)
-    {
-        ASTTypeSpecNode typeNode = new ASTTypeSpecNode();
-        String type = typeDeclStmt.getTypeSpec().toString().trim();
-        String[] typeWithoutComments = type.split("\n"); //$NON-NLS-1$
-        type = typeWithoutComments[typeWithoutComments.length - 1].trim();
-        typeNode.setIsInteger(new Token(Terminal.T_INTEGER, type));
-        return typeNode;
-    }
-
-    private String addTwoColons(ASTTypeDeclarationStmtNode newStmt)
-    {
-        String source = SourcePrinter.getSourceCodeFromASTNode(newStmt);
-        int position_type = newStmt.getTypeSpec().toString().length();
-        String twoPoints = ""; //$NON-NLS-1$
-        String source_1 = source.substring(0, position_type);
-        String source_2 = source.substring(position_type,source.length());
-        if (!containsColonColon(source_2)) 
-        {
-            twoPoints = " :: "; //$NON-NLS-1$
-        }
-        // New statement, with the two points (::).
-        source = source_1+twoPoints+source_2.trim();
-        return source;
-    }
-    
-    /** @return true iff <code>s</code> contains :: outside a comment */
-    private boolean containsColonColon(String s)
-    {        
-        for (int i=0; i<s.length()-1; i++)
-        {
-            char p1 = s.charAt(i);
-            char p2 = s.charAt(i+1);
-            if (p1 == '!' || p2 == '!')
-            {
-                return false;
-            }
-            else if (p1 == ':' && p2 ==':')
-            {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Insert the new, standardized statements in the AST.
-     * <p>
-     * These have odd-numbered indices in the list (see {@link #createTypeDeclStmtList(IASTListNode)})
-     */
-    private void insertNewStmts(List<ASTTypeDeclarationStmtNode> typeDeclStmts,
-                                IASTListNode<IASTNode> body,
-                                IFortranAST ast)
-    {
-        for (int i = 0; i<typeDeclStmts.size(); i+=2)
-        {
-            body.insertBefore(typeDeclStmts.get(i), typeDeclStmts.get(i+1));
-            Reindenter.reindent(typeDeclStmts.get(i+1), ast);
-        }
-    }
-
-    /**
-     * Removes the old statements from the AST.
-     * <p>
-     * These have even-numbered indices in the list (see {@link #createTypeDeclStmtList(IASTListNode)})
-     */
-    private void removeOldStmts(List<ASTTypeDeclarationStmtNode> typeDeclStmts,
-                                IASTListNode<IASTNode> body)
-    {
-        for (int i = 0; i<typeDeclStmts.size(); i+=2)
-        {
-            ASTTypeDeclarationStmtNode delete = typeDeclStmts.get(i);
-            if (body.contains(delete))
-            {
-                delete.removeFromTree();
-            }
-        }
-    }
-
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        // The change is made in method makeChangesTo(...).
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/TileLoopRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/TileLoopRefactoring.java
deleted file mode 100644
index 90f8901..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/TileLoopRefactoring.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import java.util.List;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.internal.core.analysis.binding.Definition;

-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;

-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;

-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;

-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;

-import org.eclipse.photran.internal.core.lexer.Terminal;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.parser.ASTIntConstNode;

-import org.eclipse.photran.internal.core.parser.ASTVisitor;

-import org.eclipse.photran.internal.core.parser.IASTListNode;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.parser.IExecutionPartConstruct;

-import org.eclipse.photran.internal.core.parser.IExpr;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;

-import org.eclipse.rephraserengine.core.refactorings.UserInputString;

-

-/**

- * Loop refactoring to take a nested loop and change the data accesses to a tiled form.

- * @author Ashley Kasza

- */

-public class TileLoopRefactoring extends FortranEditorRefactoring

-{

-    private ASTProperLoopConstructNode doLoop;

-    private ASTProperLoopConstructNode secondDoLoop;

-    private String newFirstIndexVar;

-    private String newSecondIndexVar;

-    private int tilingSize;

-    private int tilingOffset;

-    private boolean hasLoopDependency;

-

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-

-        LoopReplacer.replaceAllLoopsIn(this.astOfFileInEditor.getRoot());

-        

-        doLoop = getLoopNode(this.astOfFileInEditor, this.selectedRegionInEditor);

-        // fail if no do loop was selected

-        if (doLoop == null)

-        {

-            fail(Messages.ReverseLoopRefactoring_SelectDoLoop);

-        }

-        secondDoLoop = findSecondDoLoop(doLoop);

-        if(secondDoLoop == null){

-            fail(Messages.ReverseLoopRefactoring_SelectDoLoop);

-        }

-        //check for nested loops.

-        if(findNumberOfLoops() != 1){

-            fail(Messages.TileLoopRefactoring_SelectLoopWithOnlyOneNestedLoop);

-        }

-        newFirstIndexVar = findNewIndexVariableName(doLoop, doLoop.getIndexVariable().getText());

-        newSecondIndexVar = findNewIndexVariableName(secondDoLoop, secondDoLoop.getIndexVariable().getText());

-        if(newFirstIndexVar == null || newSecondIndexVar == null){

-            fail(Messages.TileLoopRefactoring_UnableToCreateNewIndex);

-        }

-        

-        try{

-            if(doLoop.getStepInt() != 1 || secondDoLoop.getStepInt() != 1){

-                fail(Messages.TileLoopRefactoring_CantTileLoopsWithStep);

-            }

-        }catch(NumberFormatException e){

-            fail(Messages.TileLoopRefactoring_CantTileLoopsWithStep);

-        }

-        

-    }

-    

-    private ASTProperLoopConstructNode findSecondDoLoop(ASTProperLoopConstructNode firstLoop){

-        IASTListNode<IExecutionPartConstruct> firstBody = firstLoop.getBody();

-        return firstBody.findFirst(ASTProperLoopConstructNode.class);

-    }

-    

-    private String findNewIndexVariableName(ASTProperLoopConstructNode nodeInScope, String indexVar){

-        boolean canUse;

-        String newIndexVar = indexVar;

-        for (int i = 1; i <= 10; i++)

-        {

-            canUse = true;

-            ScopingNode scope = ScopingNode.getLocalScope(nodeInScope);

-            List<Definition> defList = scope.getAllDefinitions();

-            for (Definition d : defList)

-            {

-                if (d != null && d.getCanonicalizedName().equals(newIndexVar.toLowerCase()))

-                {

-                    newIndexVar = indexVar + Integer.toString(i);

-                    canUse = false;

-                }

-            }

-            if (canUse == true)

-            {

-                return newIndexVar;

-            }

-        }

-        return null;

-    }

-    

-    

-    private int findNumberOfLoops(){

-        int loopCount = 0;

-       IASTListNode<IExecutionPartConstruct> doLoopBody = doLoop.getBody();

-       for(int i = 0; i < doLoopBody.size(); i++){

-           if(doLoopBody.get(i) instanceof ASTProperLoopConstructNode){

-               loopCount++;

-           }

-       }

-       return loopCount;

-    }

-

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        // no final conditions

-        if(tilingSize <= 0){

-            fail(Messages.TileLoopRefactoring_InvalidTileSize);

-        }

-        if(tilingOffset <0){

-            fail(Messages.TileLoopRefactoring_InvalidTilingOffset);

-        }

-    }

-    

-

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-        ScopingNode scope = ScopingNode.getLocalScope(doLoop);

-        

-        hasLoopDependency = false;

-        findIndexVariableInHeader(secondDoLoop.getLoopHeader(), doLoop.getIndexVariable().getText());

-        

-        declareNewLoopVariables(scope);

-        

-        @SuppressWarnings("unused")

-        ASTProperLoopConstructNode node = loopTilingTransformation();

-        //parseLiteralDoLoop(node.toString());

-        //scope = ScopingNode.getLocalScope(node);

-        

-        //Reindenter.reindent(loopTilingTransformation(), this.astOfFileInEditor, Strategy.REINDENT_EACH_LINE);

-        Reindenter.reindent(scope.getBody(), this.astOfFileInEditor, Strategy.REINDENT_EACH_LINE);

-

-        this.addChangeFromModifiedAST(this.fileInEditor, pm);

-

-        vpg.releaseAST(this.fileInEditor);

-    }

-    

-    private void findIndexVariableInHeader(IASTNode node, final String indexVariable){

-        node.accept(new ASTVisitorWithLoops()

-        {

-            @Override public void visitToken(Token token)

-            {

-                if(token.getTerminal() == Terminal.T_IDENT && (token.getText()).equalsIgnoreCase(indexVariable)){

-                    hasLoopDependency = true;

-                }

-            }

-

-        });

-        //hasLoopDependency = false;

-    }

-    

-    

-    @SuppressWarnings({ "unchecked", "rawtypes" })

-    private ASTProperLoopConstructNode loopTilingTransformation(){

-

-        ASTProperLoopConstructNode firstElementLoop = constructNewElementLoop(doLoop, newFirstIndexVar); //inner loop

-        ASTProperLoopConstructNode firstTileLoop = createNewTileLoop(doLoop, newFirstIndexVar);

-        ASTProperLoopConstructNode secondElementLoop = constructNewElementLoop(secondDoLoop, newSecondIndexVar);

-        ASTProperLoopConstructNode secondTileLoop = createNewTileLoop(secondDoLoop, newSecondIndexVar);

-        

-        if(hasLoopDependency){

-            replaceBound(secondTileLoop.getLowerBoundIExpr(), doLoop.getLowerBoundIExpr().toString(), firstTileLoop.getIndexVariable().getText(), true);

-            replaceBound(secondTileLoop.getUpperBoundIExpr(), doLoop.getUpperBoundIExpr().toString(), firstTileLoop.getIndexVariable().getText(), false);

-        }

-        

-        IASTListNode body;

-        body = secondElementLoop.getBody();

-        body.add(secondDoLoop.getBody());

-        body = firstElementLoop.getBody();

-        body.add(secondElementLoop);

-        body = secondTileLoop.getBody();

-        body.add(firstElementLoop);

-        body = firstTileLoop.getBody();

-        body.add(secondTileLoop);

-        

-        doLoop.replaceWith(firstTileLoop);

-        return firstTileLoop;

-    }

-    

-    private void replaceBound(IExpr expr, String replace1, String replace2, boolean isLb){

-        if(!(expr instanceof ASTIntConstNode))

-        {

-            IExpr dummyBound = (IExpr)(expr.clone());

-            IExpr dummyBound2 = (IExpr)(expr.clone());

-            replaceFirstLoopIndexVariable(dummyBound, doLoop.getIndexVariable().getText(), replace1);

-            replaceFirstLoopIndexVariable(dummyBound2, doLoop.getIndexVariable().getText(), replace2);

-            if(!(dummyBound.toString().equals(dummyBound2.toString()))){

-                String replacementBound;

-                if(isLb == true)

-                    replacementBound = String.format("max(%s,%s)", dummyBound.toString(), dummyBound2.toString()); //$NON-NLS-1$

-                else

-                    replacementBound = String.format("min(%s,%s)", dummyBound.toString(), dummyBound2.toString()); //$NON-NLS-1$

-                expr.replaceWith(replacementBound);

-            }

-        }

-    }

-    

-    private void replaceFirstLoopIndexVariable(IASTNode node, final String indexVar, final String replacement)

-    {

-        node.accept(new ASTVisitor()

-        {

-            @Override public void visitToken(Token token)

-            {

-                if(token.getTerminal() == Terminal.T_IDENT && token.getText().equalsIgnoreCase(indexVar)){

-                    token.replaceWith(replacement);

-                }

-            }

-        });

-    }

-    

-    @SuppressWarnings("unchecked")

-    private void declareNewLoopVariables(ScopingNode scope){

-        //ScopingNode scope = ScopingNode.getLocalScope(doLoop);

-        IASTListNode<IASTNode> scopeBody = (IASTListNode<IASTNode>)scope.getOrCreateBody();

-        String declarationString = "integer :: " + newFirstIndexVar + ", " + newSecondIndexVar; //$NON-NLS-1$ //$NON-NLS-2$

-        int insertionIndex = findIndexToInsertTypeDeclaration(scopeBody);

-        scopeBody.add(insertionIndex, parseLiteralStatement(declarationString));

-    }

-    

-    private ASTProperLoopConstructNode createNewTileLoop(ASTProperLoopConstructNode inputLoop, String newIndexVar){

-

-        String newLb = getNewBoundsString(inputLoop.getLowerBoundIExpr());

-        String newUb = getNewBoundsString(inputLoop.getUpperBoundIExpr());

-        String loopHeader = String.format("do %s=%s,%s,%s\nend do\n", newIndexVar, //$NON-NLS-1$

-            newLb, newUb,tilingSize); 

-        return parseLiteralDoLoop(loopHeader);

-    }

-    

-    private String getNewBoundsString(IExpr expr){

-        if(expr instanceof ASTIntConstNode){

-            int loopBoundInt = Integer.parseInt(expr.toString());

-            int newBound = (int)Math.floor((double)(loopBoundInt-tilingOffset)/tilingSize);

-            newBound = (newBound * tilingSize)+tilingOffset;

-            return Integer.toString(newBound);

-        }else{

-            

-            //interchangeWithIdentifier = true;

-            return String.format("floor(real(%s-%s)/%s)*%s+%s",expr.toString(), Integer.toString(tilingOffset), Integer.toString(tilingSize), //$NON-NLS-1$ 

-                Integer.toString(tilingSize), Integer.toString(tilingOffset)); 

-        }

-        

-    }

-    

-    private ASTProperLoopConstructNode constructNewElementLoop(ASTProperLoopConstructNode inputLoop, String newIndexVar){

-        

-        String elementLoopLb = String.format("max(%s,%s)", inputLoop.getLowerBoundIExpr().toString(), newIndexVar);//$NON-NLS-1$

-        String elementLoopUb = String.format("min(%s,%s+%s)", inputLoop.getUpperBoundIExpr().toString(), newIndexVar, (tilingSize-1));//$NON-NLS-1$

-        String elementLoopFull = String.format("do %s=%s,%s\n end do\n", inputLoop.getIndexVariable().getText(), elementLoopLb, elementLoopUb); //$NON-NLS-1$

-        ASTProperLoopConstructNode newNode = parseLiteralDoLoop(elementLoopFull);

-        return newNode;

-    }

-    

-    

-    @UserInputString(label = "Enter tile size ", defaultValueMethod= "getSuggestedTilingSize")

-    public void setLoopTilingStepNumber(String input)

-    {

-        tilingSize = Integer.parseInt(input);

-    }

-    public String getSuggestedTilingSize()

-    {

-        return "1"; //$NON-NLS-1$

-    }

-    @UserInputString(label = "Enter tile offset ", defaultValueMethod = "getSuggestedTilingOffset")

-    public void setLoopTilingOffsetNumber(String input)

-    {

-        tilingOffset = Integer.parseInt(input);

-    }

-    public String getSuggestedTilingOffset()

-    {

-        return "1"; //$NON-NLS-1$

-    }

-    

-    @Override

-    public String getName()

-    {

-        return Messages.TileLoopRefactoring_LoopTilingName;

-    }

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/UnrollLoopRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/UnrollLoopRefactoring.java
deleted file mode 100644
index 76d563b..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/UnrollLoopRefactoring.java
+++ /dev/null
@@ -1,437 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import java.util.List;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.internal.core.analysis.binding.Definition;

-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;

-import org.eclipse.photran.internal.core.analysis.binding.VariableAccess;

-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;

-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;

-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;

-import org.eclipse.photran.internal.core.lexer.Terminal;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.parser.ASTIntConstNode;

-import org.eclipse.photran.internal.core.parser.ASTLoopControlNode;

-import org.eclipse.photran.internal.core.parser.IASTListNode;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.parser.IExecutionPartConstruct;

-import org.eclipse.photran.internal.core.parser.IExpr;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;

-import org.eclipse.rephraserengine.core.refactorings.UserInputBoolean;

-import org.eclipse.rephraserengine.core.refactorings.UserInputString;

-

-/**

- * Refactoring used to unroll a loop a certain number of times or completely.

- * 

- * @author Ashley Kasza

- */

-public class UnrollLoopRefactoring extends FortranEditorRefactoring

-{

-    private String LOOP_UPPER_BOUND = "loopUpperBound"; //$NON-NLS-1$

-

-    private ASTProperLoopConstructNode doLoop = null;

-

-    // user inputs

-    private boolean isCompleteUnrolling = false;

-

-    private int iterationStep = 0;

-

-    private boolean check = true;

-

-    //protected boolean variableIsWritten;

-

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-

-        LoopReplacer.replaceAllLoopsIn(this.astOfFileInEditor.getRoot());

-

-        // get loop node from the ast at the selected region

-        doLoop = getLoopNode(this.astOfFileInEditor, this.selectedRegionInEditor);

-        // fail if no do loop was selected

-        if (doLoop == null)

-        {

-            fail(Messages.ReverseLoopRefactoring_SelectDoLoop);

-        }

-

-        IASTListNode<IExecutionPartConstruct> body = doLoop.getBody();

-        if (checkForLabels(body))

-        {

-            fail(Messages.UnrollLoopRefactoring_cannotUnrollLoopWithLabel);

-        }

-        try

-        {

-            doLoop.getStepInt();

-        }

-        catch (NumberFormatException e)

-        {

-            fail(Messages.UnrollLoopRefactoring_InvalidStepError);

-        }

-        if (!(doLoop.getUpperBoundIExpr() instanceof ASTIntConstNode))

-        {

-            if(!checkLoopUpperBoundsNameAvailable())

-                fail(Messages.UnrollLoopRefactoring_unableToCreateUpperBound);

-        }

-        if(checkIndexVariableWrite(doLoop.getBody()))

-            fail(Messages.bind(Messages.UnrollLoopRefactoring_LoopWritesToIndexVariable, doLoop.getIndexVariable().getText()));

-    }

-    

-    private boolean checkIndexVariableWrite(IASTNode node)

-    {

-        FindNameVisitor findNameUse = new FindNameVisitor(doLoop.getIndexVariable().getText());

-        node.accept(findNameUse);

-        return findNameUse.getNameIsUsed();

-        

-    }

-    public class FindNameVisitor extends ASTVisitorWithLoops

-    {

-        private boolean indexIsWritten;

-        private String indexVariableName;

-        public FindNameVisitor(String name)

-        {

-            super();

-            indexIsWritten = false;

-            indexVariableName = name;

-        }

-        public boolean getNameIsUsed()

-        {

-            return indexIsWritten;

-        }

-        @Override

-        public void visitToken(Token token)

-        {

-            if (token.getTerminal() == Terminal.T_IDENT && token.getText().equals(indexVariableName))

-            {

-                if((token.getVariableAccessType()).equals(VariableAccess.WRITE))

-                {

-                    indexIsWritten = true;

-                }

-            }

-        }

-    }

-    

-    private boolean checkLoopUpperBoundsNameAvailable(){

-        boolean canUse;

-        for (int i = 1; i <= 10; i++)

-        {

-            canUse = true;

-            ScopingNode scope = ScopingNode.getLocalScope(doLoop);

-            List<Definition> defList = scope.getAllDefinitions();

-            for (Definition d : defList)

-            {

-                if (d != null && d.getCanonicalizedName().equals(LOOP_UPPER_BOUND.toLowerCase()))

-                {

-                    LOOP_UPPER_BOUND = "loopUpperBound" + Integer.toString(i); //$NON-NLS-1$

-                    canUse = false;

-                }

-            }

-            if (canUse == true)

-            {

-                //break;

-                return true;

-            }

-        }

-        return false;

-    }

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-

-        if ((!(doLoop.getLowerBoundIExpr() instanceof ASTIntConstNode) || !(doLoop

-            .getUpperBoundIExpr() instanceof ASTIntConstNode)) && isCompleteUnrolling)

-        {

-            fail(Messages.UnrollLoopRefactoring_SelectLoopWithExplicitBound);

-        }

-    }

-

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-        ASTLoopControlNode doLoopControlNode = doLoop.getLoopHeader().getLoopControl();

-        IASTListNode<IExecutionPartConstruct> doLoopBody = doLoop.getBody();

-        // Must get the parent here before any changes are made.

-        IASTNode doLoopParent = doLoop.getParent();

-

-        if (isCompleteUnrolling)

-        {

-

-            completeLoopUnrolling(doLoopControlNode, doLoopBody); 

-

-        }

-        else

-        {

-            numberedLoopUnrolling(doLoopBody, doLoopControlNode);

-

-        }

-

-        Reindenter.reindent(doLoopParent, this.astOfFileInEditor, Strategy.REINDENT_EACH_LINE);

-

-        this.addChangeFromModifiedAST(this.fileInEditor, pm);

-

-        vpg.releaseAST(this.fileInEditor);

-

-    }

-

-    /**

-     * Checks for any labels in the body

-     * @param body - body of the loop to check

-     * @return true if there are labels, false if not

-     */

-    private boolean checkForLabels(IASTListNode<IExecutionPartConstruct> body)

-    {

-        for (int i = 0; i < body.size(); i++)

-        {

-

-            if ((body.get(i)).findFirstToken().getTerminal() == Terminal.T_ICON)

-            {// instanceof ASTLabelNode){

-                return true;

-            }

-        }

-        return false;

-    }

-

-    /***********************************************************

-     * Functions used for unrolling a certain number of times.

-     ***********************************************************/

-

-    /**

-     * Function copies the body of the loop n times, replacing "i" with 1-n every time it copies

-     * @param doLoopBody - the body of the loop that's being unrolled

-     * @param doLoopControlNode - the bounds and step of the loop

-     */

-    @SuppressWarnings({ "unchecked", "rawtypes" })

-    protected void numberedLoopUnrolling(IASTListNode<IExecutionPartConstruct> doLoopBody,

-        ASTLoopControlNode doLoopControlNode)

-    {

-        if (!(doLoop.getUpperBoundIExpr() instanceof ASTIntConstNode))

-        {

-            evalExpressionBeforeLoop();

-            // upper = parseLiteralExpression(LOOP_UPPER_BOUND);

-            doLoopControlNode.setUb(parseLiteralExpression(LOOP_UPPER_BOUND));

-        }

-        boolean checkAllStatements = false;

-        IASTListNode newBody = (IASTListNode<IExecutionPartConstruct>)(doLoopBody.clone());

-        IASTListNode dummyBody = null;

-        String iterationName = (doLoopControlNode.getVariableName()).getText();

-        // IExpr stepNode = doLoopControlNode.getStep();

-        int step = 1;

-        int checkBound = 0;

-        if (doLoop.getLowerBoundIExpr() instanceof ASTIntConstNode

-            && doLoop.getUpperBoundIExpr() instanceof ASTIntConstNode)

-        {

-            int high = doLoop.getUpperBoundInt();

-            int low = doLoop.getLowerBoundInt();

-            checkBound = (high - low + 1) % (step * iterationStep);

-        }else{

-            checkAllStatements = true;

-        }

-        

-        step = doLoop.getStepInt();

-        // System.out.println(step);

-        for (int i = 1; i < iterationStep; i++)

-        {

-            // replace "i" with 1-#, and add it to the AST

-            dummyBody = replaceIndexVariableNameInBody(doLoop.getBody(), iterationName, (i) * step);

-

-            if (check == true && (i == checkBound || checkAllStatements))

-            {

-                dummyBody.add(0, includeBoundsCheck(i * step, iterationName));

-            }

-            newBody.addAll(dummyBody);

-        }

-        doLoopBody.replaceWith(newBody);

-        doLoop.setStepInt(step * iterationStep);

-        // changeDoLoopStep(doLoopControlNode);

-    }

-

-    /**

-     * Adds an if statement before each loop body to check bounds

-     * @param step - by how much a loop steps

-     * @return

-     */

-    private IASTNode includeBoundsCheck(int indexPlus, String iterationName)

-    {

-        IASTNode checkNode = null;

-        IExpr upper = doLoop.getUpperBoundIExpr();

-        String checkBounds = "if(" + iterationName + "+" + indexPlus; //$NON-NLS-1$ //$NON-NLS-2$

-        if (doLoop.getStepInt() > 0)

-        { // loop increments

-            checkBounds += ">" + upper.findFirstToken().getText();//$NON-NLS-1$

-        }

-        else

-        { // loop decrements

-            checkBounds += "<" + upper.findFirstToken().getText(); //$NON-NLS-1$

-        }

-        checkBounds += ") exit"; //$NON-NLS-1$

-        checkNode = parseLiteralStatementSequence(checkBounds);

-        return checkNode;

-    }

-

-    /**

-     * take an expression out of the upper bound and evals it before the loop.

-     * @param ub - upper bound of a loop

-     */

-    @SuppressWarnings("unchecked")

-    private void evalExpressionBeforeLoop()

-    {

-

-        ScopingNode scope = ScopingNode.getLocalScope(doLoop);

-        IASTListNode<IASTNode> body = (IASTListNode<IASTNode>)scope.getOrCreateBody();

-        String upperBound = LOOP_UPPER_BOUND + " = " + doLoop.getUpperBoundIExpr().toString(); //$NON-NLS-1$

-        int upperBoundIndx = (body).indexOf(doLoop);

-        IASTNode upperBoundNode = parseLiteralStatement(upperBound);

-        body.add(upperBoundIndx, upperBoundNode);

-        String declarationString = "integer :: " + LOOP_UPPER_BOUND; //$NON-NLS-1$

-        int insertionIndex = findIndexToInsertTypeDeclaration(body);

-        body.add(insertionIndex, parseLiteralStatement(declarationString));

-    }

-

-    /**

-     * Function to visit all statements in node and replace instances of "i"

-     * @param node - node to search through

-     * @param name - instance name to look for (usually "i")

-     * @param iteration - number to replace "i" with

-     */

-

-    @SuppressWarnings("rawtypes")

-    private IASTListNode replaceIndexVariableNameInBody(IASTNode node, final String name,

-        final int iteration)

-    {

-        IASTListNode newBody = (IASTListNode)(node.clone());

-        newBody.accept(new ASTVisitorWithLoops()

-        {

-            @Override

-            public void visitToken(Token token)

-            {

-                if (token.getTerminal() == Terminal.T_IDENT && (token.getText()).equals(name))

-                {

-                    String s2 = token.getText();

-                    s2 = "(" + s2 + "+" + Integer.toString(iteration) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

-                    token.replaceWith(s2);

-                }

-            }

-

-        });

-        return newBody;

-    }

-

-

-    /********************************************************

-     * Functions for completely unrolling a loop

-     ********************************************************/

-

-    /**

-     * Determines the number of times to copy the body, then copies the body and replaces the

-     * iteration variable with 0-#

-     * @param doLoopControlNode is the bounds and step of the loop

-     * @param doLoopBody is all the statements contained in the do loop

-     */

-

-    private void completeLoopUnrolling(ASTLoopControlNode doLoopControlNode,

-        IASTListNode<IExecutionPartConstruct> doLoopBody)

-    {

-        Token varName = doLoopControlNode.getVariableName();

-        String iterationName = varName.getText(); // iterationName = i in do i=1,5

-        int l = doLoop.getLowerBoundInt();

-        int h = doLoop.getUpperBoundInt();

-

-        int step = 1;

-        step = doLoop.getStepInt();

-        IASTListNode<IExecutionPartConstruct> dummyBody = null;

-        IASTListNode<IExecutionPartConstruct> newBody = null;

-

-        newBody = replaceIndexVariableNameWithConst(doLoopBody, l, iterationName);

-        int counter = 1;

-        int bound = Math.abs(h - l);

-        int j = l;

-        while (counter <= bound)

-        {

-            j += step;

-            dummyBody = replaceIndexVariableNameWithConst(doLoopBody, j, iterationName);

-            newBody.addAll(dummyBody);

-            counter += Math.abs(step);

-        }

-        doLoop.replaceWith(newBody);

-    }

-

-    /**

-     * Function for finding all instances of "i" and changing them to a specific number

-     * @param node - the node to search through

-     * @param stepNum - the number used to replace "i"

-     */

-    @SuppressWarnings("unchecked")

-    private IASTListNode<IExecutionPartConstruct> replaceIndexVariableNameWithConst(IASTNode node,

-        final int stepNum, final String iterationName)

-    {

-        IASTListNode<IExecutionPartConstruct> newBody = (IASTListNode<IExecutionPartConstruct>)node.clone();

-        newBody.accept(new ASTVisitorWithLoops()

-        {

-            @Override

-            public void visitToken(Token token)

-            {

-                if (token.getTerminal() == Terminal.T_IDENT

-                    && token.getText().equalsIgnoreCase(iterationName))

-                {

-                    // replace i with iteration step

-                    String s = Integer.toString(stepNum);

-                    token.setText(s);

-                }

-            }

-        });

-        return newBody;

-    }

-

-    /****************************

-     * User Input functions

-     ***************************/

-

-    @UserInputString(label = "Enter unrolling count ", defaultValueMethod = "getSuggestedUnrollingCount")

-    public void setLoopUnrollNumber(String input)

-    {

-        iterationStep = Integer.parseInt(input);

-    }

-

-    public String getSuggestedUnrollingCount()

-    {

-        return "4"; //$NON-NLS-1$

-    }

-

-    @UserInputBoolean(label = "Complete unrolling")

-    public void setComplete(boolean isComplete)

-    {

-        isCompleteUnrolling = isComplete;

-    }

-

-    @UserInputBoolean(label = "Include bounds checking", defaultValue = true)

-    public void setBoundsChecking(boolean boundsCheck)

-    {

-        check = boundsCheck;

-    }

-

-    @Override

-    public String getName()

-    {

-        return Messages.UnrollLoopRefactoring_LoopUnrollingName;

-    }

-

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/_AST_VPG_HOWTO.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/_AST_VPG_HOWTO.java
deleted file mode 100644
index 845314e..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/_AST_VPG_HOWTO.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import java.util.List;

-

-import org.eclipse.photran.core.IFortranAST;

-import org.eclipse.photran.internal.core.analysis.binding.Definition;

-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;

-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;

-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;

-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;

-import org.eclipse.photran.internal.core.lexer.FixedFormReplacement;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.lexer.preprocessor.fortran_include.FortranIncludeDirective;

-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;

-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;

-import org.eclipse.photran.internal.core.parser.ASTVisitor;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.parser.IExecutableConstruct;

-import org.eclipse.photran.internal.core.parser.ISpecificationPartConstruct;

-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;

-

-/**

- * This class is for documentation only.  It provides several code snippets that illustrate how

- * to find things in a Photran AST and how to modify source source code using an AST.

- * 

- * @author Jeff Overbey

- */

-// Why is this documentation here rather than the Photran Developer's Guide?  Two reasons.

-// 1. This Java code actually gets compiled.  Examples in a PDF file don't.

-// 2. When Eclipse renames classes and methods, it also updates links in JavaDoc.  It does not

-//    refactor examples in a PDF file.

-@SuppressWarnings("all")

-public class _AST_VPG_HOWTO

-{

-    ////////////////////////////////////////////////////////////////////////////////////////////////

-    // TRAVERSAL & SEARCH

-    ////////////////////////////////////////////////////////////////////////////////////////////////

-

-    void iterateThroughAllTokensIn(IASTNode node)

-    {

-        node.accept(new ASTVisitor()

-        {

-            @Override public void visitToken(Token token)

-            {

-                // Do something with token

-            }

-        });

-    }

-    

-    void iterateThroughAllSubroutinesIn(IASTNode node)

-    {

-        node.accept(new ASTVisitor()

-        {

-            @Override public void visitASTSubroutineSubprogramNode(ASTSubroutineSubprogramNode node)

-            {

-                // Do something with node

-            }

-        });

-    }

-    

-    void iterateThroughAllDoLoopsIn(IFortranAST ast)

-    {

-        // See the Photran Developer's Guide: If you want an AST to have a "proper" structure

-        // for DO-loops, you must call this method:

-        LoopReplacer.replaceAllLoopsIn(ast.getRoot());

-        

-        // ...and then subclass from a different visitor class:

-        ast.accept(new ASTVisitorWithLoops()

-        {

-            @Override public void visitASTProperLoopConstructNode(ASTProperLoopConstructNode node)

-            {

-                // Do something with node

-            }

-        });

-    }

-

-    void findFirstTokenIn(IASTNode node)

-    {

-        Token token = node.findFirstToken(); // Returns null if the node contains no tokens

-    }

-

-    void findRootOfTheAST(IASTNode node)

-    {

-        ASTExecutableProgramNode root = node.findNearestAncestor(ASTExecutableProgramNode.class);

-    }

-

-    void findLastSpecificationStmtIn(ASTSubroutineSubprogramNode subroutine)

-    {

-        ISpecificationPartConstruct lastStmt =

-            subroutine.getBody().findLast(ISpecificationPartConstruct.class);

-            // May be null if there are no specification statements

-    }

-

-    void findFirstExecutableStmtIn(ASTSubroutineSubprogramNode subroutine)

-    {

-        IExecutableConstruct firstStmt =

-            subroutine.getBody().findFirst(IExecutableConstruct.class);

-            // May be null if there are no executable statements

-    }

-

-    ////////////////////////////////////////////////////////////////////////////////////////////////

-    // WHITETEXT (COMMENTS, WHITESPACE) AND SOURCE CODE

-    ////////////////////////////////////////////////////////////////////////////////////////////////

-

-    void printTheSourceCodeFromAnASTNode(IASTNode node)

-    {

-        System.out.println(node);

-    }

-    

-    void getCommentsAndWhitespacePreceding(IASTNode node)

-    {

-        String commentsAndWhitespace = node.findFirstToken().getWhiteBefore();

-    }

-    

-    void getCommentsAndWhitespaceAtEndOfFile(IFortranAST ast)

-    {

-        String commentsAndWhitespace;

-        

-        Token lastTokenInFile = ast.getRoot().findLastToken();

-        if (lastTokenInFile == null)

-            commentsAndWhitespace = "";

-        else

-            commentsAndWhitespace = lastTokenInFile.getWhiteAfter();

-    }

-    

-    ////////////////////////////////////////////////////////////////////////////////////////////////

-    // PREPROCESSOR DIRECTIVES

-    ////////////////////////////////////////////////////////////////////////////////////////////////

-

-    void dealWithPreprocessing(Token token)

-    {

-        if (token.getPreprocessorDirective() == null)

-        {

-            // No preprocessing; the token looks exactly the same in the user's source code

-        }

-        else if (token.getPreprocessorDirective() instanceof FixedFormReplacement)

-        {

-            // Token has spaces in the middle of it which were removed by the fixed form prepass

-        }

-        else if (token.getPreprocessorDirective() instanceof FortranIncludeDirective)

-        {

-            // Token is in a file included via a Fortran INCLUDE line

-        }

-        /*

-        else if (token.getPreprocessorDirective() instanceof CPreprocessorReplacement)

-        {

-            // Token is in a file #included via the C preprocessor,

-            // or it is the result of a C preprocessor macro expansion,

-            // or it is contains trigraphs that were replaced by the C preprocessor,

-            // or something like that.

-        }

-        */

-    }

-    

-    ////////////////////////////////////////////////////////////////////////////////////////////////

-    // NAMES, SCOPES, & BINDINGS

-    ////////////////////////////////////////////////////////////////////////////////////////////////

-

-    void findScopeOf(IASTNode node)

-    {

-        ScopingNode scope = node.findNearestAncestor(ScopingNode.class);

-        

-        // Note that several different AST nodes are subclasses of ScopingNode --

-        // ASTExecutableProgramNode (the root of the AST), ASTMainProgramNode,

-        // ASTFunctionSubprogramNode, etc. -- so any of these may be returned.

-    }

-

-    void findSubroutineContaining(IASTNode node)

-    {

-        ASTSubroutineSubprogramNode subroutine =

-            node.findNearestAncestor(ASTSubroutineSubprogramNode.class);

-            // Returns null if there is no enclosing subroutine

-        

-        /* Note that if this is invoked on part of "INTEGER :: I" in

-         * SUBROUTINE S()

-         * CONTAINS

-         *     FUNCTION F()

-         *         INTEGER :: I

-         *     END FUNCTION

-         * END SUBROUTINE

-         * this will return the ASTSubroutineSubprogramNode for S.

-         */

-    }

-    

-    void findAllSymbolsDefinedInTheScopeOf(ScopingNode scope)

-    {

-        for (Definition symbol : scope.getAllDefinitions())

-            if (symbol != null)

-                System.out.println(symbol.getCanonicalizedName());

-    }

-    

-    void findAllPublicallyAccessibleSymbolsDefinedIn(ScopingNode scope)

-    {

-        for (Definition symbol : scope.getAllPublicDefinitions())

-            System.out.println(symbol.getCanonicalizedName());

-    }

-    

-    void determineWhatSymbolIsDefinedBy(Token identifier)

-    {

-        if (identifier.isIdentifier()) // same as identifier.getTerminal() == Terminal.T_IDENT

-        {

-            List<Definition> definitions = identifier.resolveBinding();

-            

-            if (definitions.isEmpty())

-            {

-                // The symbol was not declared

-            }

-            else if (definitions.size() > 1)

-            {

-                // The symbol was declared multiple times, i.e., it is ambiguous

-            }

-            else

-            {

-                Definition symbol = definitions.get(0);

-            }

-        }

-    }

-    

-    void findAllPlacesWhereSymbolIsUsed(Definition symbol)

-    {

-        for (PhotranTokenRef location : symbol.findAllReferences(true))

-        {

-            Token reference = location.findToken();

-        }

-    }

-    

-    void determineIfASymbolHasThePARAMETERAttribute(Definition symbol)

-    {

-        if (symbol.isParameter())

-            System.out.println(true);

-    }

-

-    ////////////////////////////////////////////////////////////////////////////////////////////////

-    // REWRITING

-    ////////////////////////////////////////////////////////////////////////////////////////////////

-

-    void makeCopyOf(IASTNode node)

-    {

-        IASTNode copy = (IASTNode)node.clone();

-    }

-    

-    void changeTheTextOfAToken(Token token)

-    {

-        token.setText("whatever");

-    }

-    

-    void replacePartOfAnAST()

-    {

-        IASTNode node1 = whatever(), node2 = whatever();

-        

-        node1.replaceWith(node2);

-        

-        node1.replaceWith("You can also replace a node with a string, like this.");

-    }

-    

-    void deletePartOfAnAST(IASTNode node)

-    {

-        node.removeFromTree();

-    }

-

-    private IASTNode whatever() { throw new Error(); }

-}

diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/_REFACTORING_HOWTO.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/_REFACTORING_HOWTO.java
deleted file mode 100644
index 8e703e4..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/_REFACTORING_HOWTO.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.core.refactoring;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.OperationCanceledException;

-import org.eclipse.ltk.core.refactoring.RefactoringStatus;

-import org.eclipse.photran.core.IFortranAST;

-import org.eclipse.photran.internal.core.parser.IASTNode;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;

-

-/*

- * This file is for documentation only.  It provides classes that can be used as templates for

- * creating new refactorings.  For information on creating refactorings, see the

- * Photran Developer's Guide.

- */

-

-@SuppressWarnings("all")

-class SampleResourceRefactoring extends FortranResourceRefactoring

-{

-    @Override

-    public String getName()

-    {

-        return "Sample Resource Refactoring";

-    }

-

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-        removeFixedFormFilesFrom(this.selectedFiles, status);

-        removeCpreprocessedFilesFrom(this.selectedFiles, status);

-    }

-

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        try

-        {

-            for (IFile file : selectedFiles)

-            {

-                IFortranAST ast = vpg.acquirePermanentAST(file);

-                if (ast == null)

-                    status.addError("One of the selected files (" + file.getName()

-                        + ") cannot be parsed.");

-                makeChangesTo(file, ast, status, pm);

-                vpg.releaseAST(file);

-            }

-        }

-        finally

-        {

-            vpg.releaseAllASTs();

-        }

-    }

-

-    private void makeChangesTo(IFile file, IFortranAST ast, RefactoringStatus status,

-        IProgressMonitor pm) throws Error

-    {

-        try

-        {

-            if (ast == null) return;

-

-            // Do something with ast

-        }

-        catch (Exception e)

-        {

-            throw new Error(e);

-        }

-    }

-

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-        // Change created in #doCheckFinalConditions

-    }

-}

-

-@SuppressWarnings("all")

-class SampleEditorRefactoring extends FortranEditorRefactoring

-{

-    @Override

-    public String getName()

-    {

-        return "Sample Editor Refactoring";

-    }

-

-    @Override

-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        ensureProjectHasRefactoringEnabled(status);

-

-        @SuppressWarnings("unused")

-        IASTNode node = findEnclosingNode(this.astOfFileInEditor, this.selectedRegionInEditor);

-    }

-

-    @Override

-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)

-        throws PreconditionFailure

-    {

-        // No final preconditions

-    }

-

-    @Override

-    protected void doCreateChange(IProgressMonitor pm) throws CoreException,

-        OperationCanceledException

-    {

-        // Do something with

-

-        this.addChangeFromModifiedAST(this.fileInEditor, pm);

-

-        vpg.releaseAST(this.fileInEditor);

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/ASTNodeAdapterFactory.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/ASTNodeAdapterFactory.java
deleted file mode 100644
index 472698a..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/ASTNodeAdapterFactory.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring.infrastructure;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.rephraserengine.core.preservation.PreservationAnalysis;
-import org.eclipse.rephraserengine.core.preservation.ResetOffsetLength;
-import org.eclipse.rephraserengine.core.util.OffsetLength;
-
-/**
- * An adapter factory (registered in plugin.xml) that adapts {@link IASTNode} objects to:
- * <ul>
- * <li> {@link OffsetLength}
- * <li> {@link ResetOffsetLength}
- * </ul>
- *
- * @author Jeff Overbey
- * @see PreservationAnalysis
- */
-@SuppressWarnings("rawtypes")
-public class ASTNodeAdapterFactory implements IAdapterFactory
-{
-    private static final OffsetLength EMPTY_OFFSET_LENGTH = new OffsetLength(-1, 0);
-
-    public Class[] getAdapterList()
-    {
-        return new Class[]
-        {
-            OffsetLength.class,
-            ResetOffsetLength.class
-        };
-    }
-
-    public Object getAdapter(Object adaptableObject, Class adapterType)
-    {
-        if (!IASTNode.class.isAssignableFrom(adaptableObject.getClass())) return null;
-        IASTNode node = (IASTNode)adaptableObject;
-
-        if (adapterType.equals(OffsetLength.class))
-            return getOffsetLength(node, findRoot(node));
-        else if (adapterType.equals(ResetOffsetLength.class))
-            return reset(node);
-        else
-            return null;
-    }
-    
-    private ResetOffsetLength reset(IASTNode node)
-    {
-        node.accept(new GenericASTVisitor()
-        {
-            @Override public void visitToken(Token token)
-            {
-                token.setFileOffset(-1);
-            }
-        });
-        
-        return ResetOffsetLength.RESET;
-    }
-
-    private IASTNode findRoot(IASTNode node)
-    {
-        IASTNode root = node;
-        while (root.getParent() != null)
-            root = root.getParent();
-        return root;
-    }
-
-    private OffsetLength getOffsetLength(IASTNode node, IASTNode inAST)
-    {
-        Token first = node.findFirstToken();
-        Token last = node.findLastToken();
-        if (first == null || last == null) return EMPTY_OFFSET_LENGTH;
-
-        Token previous = findLastTokenBefore(first, inAST);
-
-        int offset = (previous == null ? 0 : previous.getFileOffset() + previous.getLength() + previous.getWhiteAfter().length());
-        int length = node.toString().length();
-        return new OffsetLength(offset, length);
-    }
-
-    private Token findLastTokenBefore(final Token target, IASTNode inAST)
-    {
-        class TokenFinder extends GenericASTVisitor
-        {
-            private Token lastToken = null;
-            private Token result = null;
-
-            @Override public void visitToken(Token thisToken)
-            {
-                if (thisToken == target)
-                    result = lastToken;
-
-                // Skip tokens from added subtrees (i.e., subtrees adapted to ResetOffsetLength)
-                if (thisToken.getFileOffset() >= 0)
-                    lastToken = thisToken;
-            }
-        }
-
-        TokenFinder t = new TokenFinder();
-        inAST.accept(t);
-        return t.result;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranEditorRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranEditorRefactoring.java
deleted file mode 100644
index 428828a..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranEditorRefactoring.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring.infrastructure;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.refactorings.IEditorRefactoring;
-
-/**
- * This is a base class for all Photran refactorings that apply to a single file
- * and possibly require user input/selection
- * @author Jeff Overbey, Timofey Yuvashev
- */
-public abstract class FortranEditorRefactoring
-    extends FortranResourceRefactoring
-    implements IEditorRefactoring
-{
-    /*
-     * By the time the Rephraser Engine was built (but after about 15 refactorings
-     * were built), we had established the precedent that all preconditions for
-     * Fortran refactorings were protected methods inherited from a superclass.
-     * In order to keep this (and avoid upsetting all the refactoring classes),
-     * these methods were placed into the MultipleFileFortranRefactoring class, and
-     * this class inherits from that.  Unfortunately, that means this class cannot
-     * inherit from VPGEditorRefactoring, which would be more logical.  So,
-     * VPGEditorRefactoring is copied into this class... which is probably OK since
-     * that class will rarely, if ever, change.  A more "correct" strategy would be
-     * to move all of the precondition checks into a Check class and have this
-     * inherit from VPGEditorRefactoring.  We should do that eventually, but it will
-     * be a fairly disruptive change...  TODO: Correct inheritance, move prec checks
-     */
-    
-    // v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v
-    // Copy of VPGEditorRefactoring
-    // v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v
-
-    protected IFile fileInEditor;
-    protected ITextSelection selectedRegionInEditor;
-    protected IFortranAST astOfFileInEditor;
-    
-    @Override
-    public final void initialize(List<IFile> files)
-    {
-        throw new IllegalArgumentException("#initialize(List) cannot be invoked on VPGEditorRefactoring"); //$NON-NLS-1$
-    }
-
-    public void initialize(IFile file, ITextSelection selection)
-    {
-        if (file == null) throw new IllegalArgumentException("file argument cannot be null"); //$NON-NLS-1$
-
-        super.initialize(Collections.<IFile>singletonList(file));
-        this.fileInEditor = file;
-        this.selectedRegionInEditor = selection;
-        this.astOfFileInEditor = null; // until #checkInitialConditions invoked
-    }
-
-    public void initialize(IFile file)
-    {
-        initialize(file, null);
-    }
-
-    @Override
-    protected void checkFiles(RefactoringStatus status) throws PreconditionFailure
-    {
-        assert fileInEditor != null;
-
-        checkIfFileIsAccessibleAndWritable(fileInEditor);
-
-        this.astOfFileInEditor = vpg.acquireTransientAST(fileInEditor);
-        logVPGErrors(status, fileInEditor);
-        if (astOfFileInEditor == null)
-            fail(Messages.FortranEditorRefactoring_FileInEditorCannotBeParsed);
-    }
-    
-    // ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
-
-    @Override
-    protected void ensureProjectHasRefactoringEnabled(RefactoringStatus status) throws PreconditionFailure
-    {
-        if (!PhotranVPG.getInstance().doesProjectHaveRefactoringEnabled(fileInEditor))
-            fail(Messages.FortranEditorRefactoring_AnalysisRefactoringNotEnabled);
-    }
-    
-    @Override
-    protected void postCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        vpg.releaseAST(fileInEditor);
-        this.astOfFileInEditor = null;
-    }
-
-    @Override
-    protected void preCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        // If the user clicked the Preview button, then decided to go back...
-        if (astOfFileInEditor == null)
-        {
-            // Re-acquire the AST, and re-analyze the selection
-            checkInitialConditions(pm);
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranResourceRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranResourceRefactoring.java
deleted file mode 100644
index 90d2e08..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranResourceRefactoring.java
+++ /dev/null
@@ -1,1151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring.infrastructure;
-
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.RefactoringStatusContext;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.FortranAST;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;
-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;
-import org.eclipse.photran.internal.core.lexer.ASTLexerFactory;
-import org.eclipse.photran.internal.core.lexer.IAccumulatingLexer;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.Token.FakeToken;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTCallStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTContainsStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTImplicitStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTUseStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTVarOrFnRefNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IBodyConstruct;
-import org.eclipse.photran.internal.core.parser.IExpr;
-import org.eclipse.photran.internal.core.parser.IProgramUnit;
-import org.eclipse.photran.internal.core.parser.ISpecificationPartConstruct;
-import org.eclipse.photran.internal.core.parser.Parser;
-import org.eclipse.photran.internal.core.util.IterableWrapper;
-import org.eclipse.photran.internal.core.util.Notification;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.refactorings.IResourceRefactoring;
-import org.eclipse.rephraserengine.core.util.OffsetLength;
-import org.eclipse.rephraserengine.core.vpg.refactoring.VPGResourceRefactoring;
-
-/**
- * This is a base class for all Photran refactorings that apply to multiple files
- * @author Jeff Overbey, Timofey Yuvashev
- */
-public abstract class FortranResourceRefactoring
-    extends VPGResourceRefactoring<IFortranAST, Token, PhotranVPG>
-    implements IResourceRefactoring
-{
-    // TEMPORARY -- So we can continue working on fixed form refactoring while effectively disabling it in the public 6.0 release
-    public static final boolean FIXED_FORM_REFACTORING_ENABLED = System.getenv("ENABLE_FIXED_FORM_REFACTORING") != null; //$NON-NLS-1$
-    
-    // TEMPORARY -- So we can continue working on fixed form refactoring while effectively disabling it in the public 6.0 release
-    public static final boolean PREPROCESSOR_REFACTORING_ENABLED = System.getenv("ENABLE_PREPROCESSOR_REFACTORING") != null; //$NON-NLS-1$
-    
-    @Override
-    protected final PhotranVPG getVPG()
-    {
-        return PhotranVPG.getInstance();
-    }
-
-    @Override
-    protected final void preCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        //status.addWarning("C preprocessor directives are IGNORED by the refactoring engine.  Use at your own risk.");
-     
-        if (FIXED_FORM_REFACTORING_ENABLED)
-        {
-            for (IFile file : this.selectedFiles)
-            {
-                if (org.eclipse.photran.internal.core.sourceform.SourceForm.isFixedForm(file))
-                {
-                    status.addWarning(Messages.FortranResourceRefactoring_IndentationAndLineLengthAreNotChecked);
-                    return;
-                }
-            }
-        }
-    }
-
-    @Override
-    protected final String getSourceCodeFromAST(IFortranAST ast)
-    {
-        return SourcePrinter.getSourceCodeFromAST(ast);
-    }
-
-    protected void ensureProjectHasRefactoringEnabled(RefactoringStatus status) throws PreconditionFailure
-    {
-        if (FortranCorePlugin.inTestingMode()) return;
-
-        HashSet<IFile> filesToBeRemoved = new HashSet<IFile>();
-
-        for (IFile f : this.selectedFiles)
-        {
-            if (!PhotranVPG.getInstance().doesProjectHaveRefactoringEnabled(f))
-            {
-                if (f.getProject() == null)
-                {
-                    status.addWarning(Messages.bind(Messages.FortranResourceRefactoring_FileIsNotInAFortranProject, f.getName()));
-                    filesToBeRemoved.add(f);
-                }
-                else
-                {
-                    status.addWarning(Messages.bind(Messages.FortranResourceRefactoring_AnalysisRefactoringNotEnabled, f.getProject().getName()));
-                    filesToBeRemoved.add(f);
-                }
-            }
-        }
-        //Remove files that didn't have Refactoring enabled in their projects
-        this.selectedFiles.removeAll(filesToBeRemoved);
-    }
-
-    protected void removeFixedFormFilesFrom(Collection<IFile> files, RefactoringStatus status)
-    {
-        if (FIXED_FORM_REFACTORING_ENABLED) return;
-        
-        Set<IFile> filesToRemove = new HashSet<IFile>();
-
-        for (IFile file : files)
-        {
-            if (!filesToRemove.contains(file) && org.eclipse.photran.internal.core.sourceform.SourceForm.isFixedForm(file))
-            {
-                status.addError(Messages.bind(Messages.FortranResourceRefactoring_FixedFormFileWillNotBeRefactored, file.getName()));
-                filesToRemove.add(file);
-            }
-        }
-
-        files.removeAll(filesToRemove);
-    }
-    
-    protected void removeCpreprocessedFilesFrom(Collection<IFile> files, RefactoringStatus status)
-    {
-        Set<IFile> filesToRemove = new HashSet<IFile>();
-
-        for (IFile file : files)
-        {
-            if (!filesToRemove.contains(file) && org.eclipse.photran.internal.core.sourceform.SourceForm.isCPreprocessed(file))
-            {
-                status.addError(Messages.bind(Messages.FortranResourceRefactoring_CPreprocessedFileWillNotBeRefactored, file.getName()));
-                filesToRemove.add(file);
-            }
-        }
-
-        files.removeAll(filesToRemove);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // U T I L I T Y   M E T H O D S
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-
-    // SOURCE FORMATTING //////////////////////////////////////////////////////
-
-    /**
-     * @return the whitespace preceding the given token.  Note that {@link Token#getWhiteBefore()}
-     *         may return comments and line continuations, while this method only returns everything
-     *         <i>following</i> the last <tt>\n</tt> (if any), so those will be omitted.
-     */
-    protected String extractWhitespacePreceding(Token token)
-    {
-        String result = token.getWhiteBefore();
-        return result.substring(result.lastIndexOf('\n')+1);
-    }
-
-    // REFACTORING STATUS /////////////////////////////////////////////////////
-
-    protected RefactoringStatusContext createContext(Token token)
-    {
-        return createContext(token.getTokenRef());
-    }
-
-    // CODE EXTRACTION ////////////////////////////////////////////////////////
-
-
-
-    /**
-     * Parses the given Fortran statement.
-     * <p>
-     * Internally, <code>string</code> is embedded into the following program
-     * <pre>
-     * program p
-     *   (string is placed here)
-     * end program
-     * </pre>
-     * which is parsed and its body extracted and returned,
-     * so <code>string</code> must "make sense" (syntactically) in this context.
-     * No semantic analysis is done; it is only necessary that the
-     * program be syntactically correct.
-     */
-    protected static IBodyConstruct parseLiteralStatement(String string)
-    {
-        return parseLiteralStatementSequence(string).get(0);
-    }
-
-    /**
-     * Parses the given Fortran statement, or returns <code>null</code> if the
-     * statement cannot be parsed.
-     *
-     * @see #parseLiteralStatement(String)
-     */
-    protected static IBodyConstruct parseLiteralStatementNoFail(String string)
-    {
-        try
-        {
-            return parseLiteralStatement(string);
-        }
-        catch (Throwable e)
-        {
-            return null;
-        }
-    }
-
-    /**
-     * Parses the given Fortran expression.
-     * <p>
-     * Internally, <code>string</code> is embedded into the following program
-     * <pre>
-     * program p
-     *   x = (string is placed here)
-     * end program
-     * </pre>
-     * which is parsed and the resulting expression extracted and returned,
-     * so <code>string</code> must "make sense" (syntactically) in this context.
-     * No semantic analysis is done; it is only necessary that the
-     * program be syntactically correct.
-     */
-    protected static IExpr parseLiteralExpression(String string)
-    {
-        return ((ASTAssignmentStmtNode)parseLiteralStatement("x = " + string)).getRhs(); //$NON-NLS-1$
-    }
-    
-    /**
-     * Parses the given list of Fortran statements.
-     * <p>
-     * @see parseLiteralStatement
-     */
-    protected static IASTListNode<IBodyConstruct> parseLiteralStatementSequence(String string)
-    {
-        string = "program p\n" + string + "\nend program"; //$NON-NLS-1$ //$NON-NLS-2$
-        return ((ASTMainProgramNode)parseLiteralProgramUnit(string)).getBody();
-    }
-
-    /**
-     * Parses the given DO-loop as a {@link ASTProperLoopConstructNode}.
-     * <p>
-     * @see parseLiteralStatement
-     */
-    protected static ASTProperLoopConstructNode parseLiteralDoLoop(String string)
-    {
-        string = "program p\n" + string + "\nend program"; //$NON-NLS-1$ //$NON-NLS-2$
-        ASTMainProgramNode prog = (ASTMainProgramNode)parseLiteralProgramUnit(string);
-        LoopReplacer.replaceAllLoopsIn(prog);
-        return (ASTProperLoopConstructNode)prog.getBody().get(0);
-    }
-
-    /** @return a CONTAINS statement */
-    protected static ASTContainsStmtNode createContainsStmt()
-    {
-        String string = "program p\ncontains\nsubroutine s\nend subroutine\nend program"; //$NON-NLS-1$
-        return ((ASTMainProgramNode)parseLiteralProgramUnit(string)).getContainsStmt();
-    }
-
-    /**
-     * Parses the given Fortran program unit.
-     * <p>
-     * No semantic analysis is done; it is only necessary that the
-     * program unit be syntactically correct.
-     */
-    protected static IProgramUnit parseLiteralProgramUnit(String string)
-    {
-        try
-        {
-            IAccumulatingLexer lexer = new ASTLexerFactory().createLexer(
-                new StringReader(string), null, "(none)"); //$NON-NLS-1$
-            Parser parser = new Parser();
-
-            FortranAST ast = new FortranAST(null, parser.parse(lexer), lexer.getTokenList());
-            return ast.getRoot().getProgramUnitList().get(0);
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    // USER INTERACTION ///////////////////////////////////////////////////////
-
-    protected static String describeToken(Token token)
-    {
-        return "\"" + token.getText() + "\" " + describeTokenPos(token); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-    protected static String describeTokenPos(Token token)
-    {
-        return Messages.bind(Messages.FortranResourceRefactoring_LineColumn, token.getLine(), token.getCol());
-    }
-
-    // TEXT<->TREE MAPPING ////////////////////////////////////////////////////
-
-    protected static Definition findUnambiguousDeclaration(Token t)
-    {
-        if(t == null)
-            return null;
-
-        List<Definition> defs = t.resolveBinding();
-        if(defs.size() <= 0 || defs.size() > 1)
-            return null;
-        return defs.get(0);
-    }
-
-    protected static Token findEnclosingToken(IFortranAST ast, final ITextSelection selection)
-    {
-        Token prevToken = null;
-        for (Token token : new IterableWrapper<Token>(ast))
-        {
-            if (OffsetLength.contains(token.getFileOffset(), token.getLength(),
-                                      selection.getOffset(), selection.getLength()))
-            {
-                String tokenText = token.getText();
-                //If we get whitespace, that means we want the previous token (cursor was put AFTER
-                // the identifier we want to rename
-                if(tokenText.length() == 1 && Character.isWhitespace(tokenText.charAt(0)))
-                {
-                    return prevToken;
-                }
-                else
-                    return token;
-            }
-            prevToken = token;
-        }
-        return null;
-    }
-
-    protected static IASTNode findEnclosingNode(IFortranAST ast, ITextSelection selection)
-    {
-        Token firstToken = findFirstTokenAfter(ast, selection.getOffset());
-        Token lastToken = findLastTokenBefore(ast, OffsetLength.getPositionPastEnd(selection.getOffset(), selection.getLength()));
-        if (firstToken == null || lastToken == null) return null;
-
-        for (IASTNode parent = lastToken.getParent(); parent != null; parent = parent.getParent())
-            if (contains(parent, firstToken))
-                return parent;
-
-        return null;
-    }
-
-    @SuppressWarnings("unchecked")
-    protected static <T extends IASTNode> T findEnclosingNode(IFortranAST ast, ITextSelection selection, Class<T> type)
-    {
-        IASTNode node = findEnclosingNode(ast, selection);
-        if (node == null) return null;
-        
-        if (type.isAssignableFrom(node.getClass()))
-            return (T)node;
-        else
-            return node.findNearestAncestor(type);
-    }
-
-    protected static boolean nodeExactlyEnclosesRegion(IASTNode parent, Token firstToken, Token lastToken)
-    {
-        return parent.findFirstToken() == firstToken && parent.findLastToken() == lastToken;
-    }
-
-    protected static boolean nodeExactlyEnclosesRegion(IASTNode node, IFortranAST ast, ITextSelection selection)
-    {
-        Token firstInNode = node.findFirstToken();
-        Token lastInNode = node.findLastToken();
-
-        Token firstInSel = findFirstTokenAfter(ast, selection.getOffset());
-        Token lastInSel = findLastTokenBefore(ast, OffsetLength.getPositionPastEnd(selection.getOffset(), selection.getLength()));
-
-        return firstInNode != null
-            && lastInNode != null
-            && firstInSel != null
-            && lastInSel != null
-            && firstInNode == firstInSel
-            && lastInNode == lastInSel;
-    }
-
-//    protected IASTNode findEnclosingNode(IFortranAST ast, ITextSelection selection, Nonterminal nodeType, boolean allowNesting)
-//    {
-//        IASTNode smallestEnclosure = findEnclosingNode(ast, selection);
-//        if (smallestEnclosure == null) return null;
-//
-//        for (IASTNode n = smallestEnclosure; n != null; n = n.getParent())
-//        {
-//            if (n.getNonterminal() == nodeType)
-//            {
-//                if (allowNesting)
-//                    return n;
-//                else if (n.getParent() == null)
-//                    return null;
-//                else if (n.getParent().getNonterminal() != nodeType)
-//                    return n;
-//                else if (n.getParent().getNonterminal() == nodeType)
-//                    continue;
-//            }
-//        }
-//
-//        return null;
-//    }
-
-    private static boolean contains(IASTNode target, Token token)
-    {
-        for (IASTNode node = token.getParent(); node != null; node = node.getParent())
-            if (node == target)
-                return true;
-        return false;
-    }
-
-    private static Token findFirstTokenAfter(IFortranAST ast, final int targetFileOffset)
-    {
-        for (Token token : new IterableWrapper<Token>(ast))
-            if (token.isOnOrAfterFileOffset(targetFileOffset))
-                return token;
-        return null;
-    }
-
-    private static Token findLastTokenBefore(IFortranAST ast, final int targetFileOffset)
-    {
-        Token previousToken = null;
-        for (Token token : new IterableWrapper<Token>(ast))
-        {
-            if (token.isOnOrAfterFileOffset(targetFileOffset))
-                return previousToken;
-            else
-                previousToken = token;
-        }
-        return null;
-    }
-
-    protected static class StatementSequence
-    {
-        public final ScopingNode enclosingScope;
-        public final IASTListNode<? extends IASTNode> listContainingStmts;
-        public final int startIndex;
-        public final int endIndex;
-        public final List<IASTNode> selectedStmts;
-
-        private StatementSequence(ScopingNode enclosingScope, IASTListNode<? extends IASTNode> body, int startIndex, int endIndex)
-        {
-            this.enclosingScope = enclosingScope;
-            this.listContainingStmts = body;
-            this.startIndex = startIndex;
-            this.endIndex = endIndex;
-
-//            this.precedingStmts = new ArrayList<IASTNode>();
-//            for (int i = 1; i < startIndex; i++)
-//                this.precedingStmts.add(body.get(i));
-
-            this.selectedStmts = new ArrayList<IASTNode>();
-            for (int i = startIndex; i <= endIndex; i++)
-                if (body.get(i) != null)
-                    this.selectedStmts.add(body.get(i));
-
-//            this.followingStmts = new ArrayList<IASTNode>();
-//            for (int i = endIndex + 1; i < body.size(); i++)
-//                this.followingStmts.add(body.get(i));
-        }
-
-        public IASTNode firstStmt()
-        {
-            return selectedStmts.get(0);
-        }
-
-        public Token firstToken()
-        {
-            return firstStmt().findFirstToken();
-        }
-
-        public IASTNode lastStmt()
-        {
-            return selectedStmts.get(selectedStmts.size()-1);
-        }
-
-        public Token lastToken()
-        {
-            return lastStmt().findLastToken();
-        }
-    }
-
-    protected static ASTProperLoopConstructNode getLoopNode(IFortranAST ast, ITextSelection selection)
-    {
-        /*Token firstToken = this.findFirstTokenAfter(ast, selection.getOffset());
-        Token lastToken = this.findLastTokenBefore(ast, selection.getOffset()+selection.getLength());
-        if (firstToken == null || lastToken == null)
-            return null;
-
-        return getLoopNode(firstToken, lastToken);*/
-        return (ASTProperLoopConstructNode)getNode(ast, selection, ASTProperLoopConstructNode.class);
-    }
-    /**start test code */
-    protected static ASTProperLoopConstructNode getLoopNodeAtIndx(IFortranAST ast, ITextSelection selection, int off)
-    {
-        return (ASTProperLoopConstructNode)getNodeAtIndx(ast, selection, ASTProperLoopConstructNode.class, off);
-    }
-    
-    protected static ASTNode getNodeAtIndx(IFortranAST ast, ITextSelection selection, Class<? extends ASTNode> node, int off)
-    {
-        Token firstToken = findFirstTokenAfter(ast, selection.getOffset()+off);
-        Token lastToken = findLastTokenBefore(ast, selection.getOffset()+selection.getLength());
-        if (firstToken == null || lastToken == null)
-            return null;
-        return getNode(firstToken, lastToken, node);
-    }
-    /**end test code*/
-    protected static <T extends IASTNode> T getNode(IFortranAST ast, ITextSelection selection, Class<T> node)
-    {
-        Token firstToken = findFirstTokenAfter(ast, selection.getOffset());
-        Token lastToken = findLastTokenBefore(ast, selection.getOffset()+selection.getLength());
-        if (firstToken == null || lastToken == null)
-            return null;
-        return getNode(firstToken, lastToken, node);
-    }
-
-    protected static <T extends IASTNode> T getNode(Token firstToken, Token lastToken, Class<T> node)
-    {
-        assert(firstToken != null);
-        assert(lastToken  != null);
-        T firstTokenNode = firstToken.findNearestAncestor(node);
-        T lastTokenNode = lastToken.findNearestAncestor(node);
-        if (firstTokenNode == null || lastTokenNode == null || firstTokenNode != lastTokenNode)
-            return null;
-        return firstTokenNode;
-        //return null;
-    }
-
-    protected static ASTProperLoopConstructNode getLoopNode(Token firstToken, Token lastToken)
-    {
-        /*assert(firstToken != null);
-        assert(lastToken  != null);
-        ASTProperLoopConstructNode loopContainingFirstToken = firstToken.findNearestAncestor(ASTProperLoopConstructNode.class);
-        ASTProperLoopConstructNode loopContainingLastToken = lastToken.findNearestAncestor(ASTProperLoopConstructNode.class);
-        if (loopContainingFirstToken == null || loopContainingLastToken == null || loopContainingFirstToken != loopContainingLastToken)
-            return null;
-
-        return loopContainingFirstToken;*/
-        return (ASTProperLoopConstructNode)getNode(firstToken, lastToken, ASTProperLoopConstructNode.class);
-    }
-
-    @SuppressWarnings("unchecked")
-    protected static StatementSequence findEnclosingStatementSequence(IFortranAST ast, ITextSelection selection)
-    {
-        Token firstToken = findFirstTokenAfter(ast, selection.getOffset());
-        Token lastToken = findLastTokenBefore(ast, selection.getOffset()+selection.getLength());
-        if (firstToken == null || lastToken == null) return null;
-
-        IASTListNode<? extends IASTNode> listContainingFirstToken = firstToken.findNearestAncestor(IASTListNode.class);
-        IASTListNode<? extends IASTNode> listContainingLastToken = lastToken.findNearestAncestor(IASTListNode.class);
-        if (listContainingFirstToken == null || listContainingLastToken == null || listContainingFirstToken != listContainingLastToken) return null;
-
-        IASTListNode<? extends IASTNode> listContainingStmts = listContainingFirstToken;
-        int startIndex = -1;
-        int endIndex = -1;
-        for (int i = 0; i < listContainingStmts.size(); i++)
-        {
-            IASTNode node = listContainingStmts.get(i);
-            if (contains(node, firstToken))
-                startIndex = i;
-            if (contains(node, lastToken))
-                endIndex = i;
-        }
-        if (startIndex < 0 || endIndex < 0 || endIndex < startIndex)
-            throw new Error("INTERNAL ERROR: Unable to locate selected statements in IASTListNode"); //$NON-NLS-1$
-
-        return new StatementSequence(
-            listContainingStmts.findNearestAncestor(ScopingNode.class),
-            listContainingStmts,
-            startIndex,
-            endIndex);
-    }
-
-//    private IASTListNode<? extends IASTNode> findEnclosingBodyNode(Token token)
-//    {
-//        ScopingNode scope = token.findNearestAncestor(ScopingNode.class);
-//        return scope == null ? null : scope.getBody();
-//    }
-//
-//    private boolean isBodyNode(IASTNode currentNode)
-//    {
-//        return currentNode instanceof ASTBodyNode;
-//    }
-//
-//    private boolean isNestedBodyNode(IASTNode currentNode)
-//    {
-//        return isBodyNode(currentNode)
-//               && currentNode.getParent() != null
-//               && currentNode.getParent() instanceof ASTBodyNode;
-//    }
-
-    protected static int findIndexToInsertTypeDeclaration(IASTListNode<? extends IASTNode> body)
-    {
-        IASTNode node = null;
-        Iterator<? extends IASTNode> iterator = body.iterator();
-        while(iterator.hasNext())
-        {
-            node = iterator.next();
-            if (!(node instanceof ASTUseStmtNode) && !(node instanceof ASTImplicitStmtNode))
-            {
-                break;
-            }
-        }
-        //If there are no other nodes besides use statements and implicit none, then increment the index
-        if (node instanceof ASTUseStmtNode || node instanceof ASTImplicitStmtNode)
-        {
-            return body.indexOf(node) + 1;
-        }else
-        {
-            return body.indexOf(node);
-        }
-    }
-
-    protected static int findIndexToInsertStatement(IASTListNode<? extends IASTNode> body)
-    {
-        IASTNode node = null;
-        Iterator<? extends IASTNode> iterator = body.iterator();
-        while(iterator.hasNext())
-        {
-            node = iterator.next();
-            if (!(node instanceof ISpecificationPartConstruct))
-            {
-                break;
-            }
-        }
-        //If there are no other nodes besides those that implement ISpecificationPartConstruct,
-        //then increment the index
-        if (node instanceof ISpecificationPartConstruct)
-        {
-            return body.indexOf(node) + 1;
-        }else
-        {
-            return body.indexOf(node);
-        }
-    }
-
-    protected ASTImplicitStmtNode findExistingImplicitStatement(final ScopingNode scope)
-    {
-        try
-        {
-            scope.accept(new GenericASTVisitor()
-            {
-                @Override
-                public void visitASTImplicitStmtNode(ASTImplicitStmtNode node)
-                {
-                    if (node.getImplicitToken().getEnclosingScope() == scope)
-                        throw new Notification(node);
-                }
-            });
-        }
-        catch (Notification n)
-        {
-            return (ASTImplicitStmtNode)n.getResult();
-        }
-        return null;
-    }
-
-    protected int findIndexOfLastUseStmtIn(IASTListNode<? extends IASTNode> body)
-    {
-        int result = -1;
-    
-        for (int i = 0; i < body.size(); i++)
-        {
-            if (body.get(i) instanceof ASTUseStmtNode)
-                result = i;
-            else
-                break; // USE statements precede all other statements, so we can stop here
-        }
-    
-        return result;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-    //
-    // P R E C O N D I T I O N S
-    //
-    ///////////////////////////////////////////////////////////////////////////
-    ///////////////////////////////////////////////////////////////////////////
-
-    protected static boolean isIdentifier(Token token)
-    {
-        return token != null && token.getTerminal() == Terminal.T_IDENT;
-    }
-
-    protected static boolean isPreprocessed(Token token)
-    {
-        return token.getPreprocessorDirective() != null;
-    }
-
-    protected static boolean isValidIdentifier(String name)
-    {
-        return Pattern.matches("[A-Za-z$][A-Za-z0-9$_]*", name); //$NON-NLS-1$
-    }
-
-    protected static boolean isBoundIdentifier(Token t)
-    {
-        return isIdentifier(t) && !t.resolveBinding().isEmpty();
-    }
-
-    protected static boolean isUniquelyDefinedIdentifer(Token t)
-    {
-        return isBoundIdentifier(t) && t.resolveBinding().size() == 1;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Check for conflicting bindings
-    ///////////////////////////////////////////////////////////////////////////
-
-    public static final class Conflict
-    {
-        public final String name;
-        public final PhotranTokenRef tokenRef;
-
-        public Conflict(String name, PhotranTokenRef tokenRef)
-        {
-            this.name = name;
-            this.tokenRef = tokenRef;
-        }
-    }
-
-
-    public static interface IConflictingBindingCallback
-    {
-        void addConflictError(List<Conflict> conflictingDef);
-        void addConflictWarning(List<Conflict> conflictingDef);
-        void addReferenceWillChangeError(String newName, Token reference);
-    }
-
-    /**
-     * Given a {@link Definition} and a list of references to that Definition
-     * (see {@link Definition#findAllReferences(boolean)}), checks if any of
-     * the <code>newNames</code> will conflict in the scope of any of the given
-     * references; if so, the given callback is invoked to record an error or
-     * warning.
-     * <p>
-     * This is the fundamental precondition check for Photran's Rename refactoring.
-     */
-    protected static void checkForConflictingBindings(
-        IProgressMonitor pm,
-        IConflictingBindingCallback callback,
-        Definition definitionToCheck,
-        Collection<PhotranTokenRef> allReferences,
-        String... newNames)
-    {
-        checkForConflictingBindings(pm, callback, definitionToCheck, allReferences, Arrays.asList(newNames));
-    }
-
-    /**
-     * Given a {@link Definition} and a list of references to that Definition
-     * (see {@link Definition#findAllReferences(boolean)}), checks if any of
-     * the <code>newNames</code> will conflict in the scope of any of the given
-     * references; if so, the given callback is invoked to record an error or
-     * warning.
-     * <p>
-     * This is the fundamental precondition check for Photran's Rename refactoring.
-     */
-    protected static void checkForConflictingBindings(
-        IProgressMonitor pm,
-        IConflictingBindingCallback callback,
-        Definition definitionToCheck,
-        Collection<PhotranTokenRef> allReferences,
-        Collection<String> newNames)
-    {
-        new CheckForConflictBindings(definitionToCheck, allReferences, newNames).check(pm, callback);
-    }
-
-    /**
-     * Determines whether a declaration with the given <code>name</code> can be added to the given scope.
-     */
-    protected static boolean checkIfDeclarationCanBeAddedToScope(
-        String name,
-        ScopingNode scope,
-        IProgressMonitor pm)
-    {
-        try
-        {
-            IConflictingBindingCallback callback = new IConflictingBindingCallback()
-            {
-                public void addConflictError(List<Conflict> conflictingDef)
-                {
-                    throw new Notification(Boolean.FALSE);
-                }
-
-                public void addConflictWarning(List<Conflict> conflictingDef)
-                {
-                    throw new Notification(Boolean.FALSE);
-                }
-
-                public void addReferenceWillChangeError(String newName, Token reference)
-                {
-                    throw new Notification(Boolean.FALSE);
-                }
-            };
-
-            new CheckForConflictBindings(scope, Collections.singleton(name)).check(pm, callback);
-        }
-        catch (Notification n)
-        {
-            return (Boolean)n.getResult();
-        }
-
-        return true;
-    }
-
-    private static final class CheckForConflictBindings
-    {
-        private IProgressMonitor pm = null;
-        private Definition definitionToCheck = null;
-        private ScopingNode scopeOfDefinitionToCheck = null;
-        private Collection<String> newNames = null;
-        private Collection<PhotranTokenRef> allReferences = null;
-
-        public CheckForConflictBindings(Definition definitionToCheck,
-                                        Collection<PhotranTokenRef> allReferences,
-                                        Collection<String> newNames)
-        {
-            this.definitionToCheck = definitionToCheck;
-            this.scopeOfDefinitionToCheck = definitionToCheck.getTokenRef().findToken().getEnclosingScope();
-            this.allReferences = allReferences;
-            this.newNames = newNames;
-        }
-
-        public CheckForConflictBindings(ScopingNode checkInScope,
-                                        Collection<String> newNames)
-        {
-            this.definitionToCheck = null;
-            this.scopeOfDefinitionToCheck = checkInScope;
-            this.allReferences = Collections.emptySet();
-            this.newNames = newNames;
-        }
-
-        public void check(IProgressMonitor pm, IConflictingBindingCallback callback)
-        {
-            this.pm = pm;
-
-            checkForConflictingDefinitionOrShadowing(callback);
-
-            for (PhotranTokenRef ref : findReferencesToShadowedDefinitions())
-                checkIfReferenceBindingWillChange(callback, ref, false);
-
-            for (PhotranTokenRef ref : allReferences)
-                checkIfReferenceBindingWillChange(callback, ref, true);
-        }
-
-        /** Check whether the new definition will either conflict with or shadow an existing definition */
-        private void checkForConflictingDefinitionOrShadowing(IConflictingBindingCallback callback)
-        {
-            List<Conflict> conflictingDef = findAllPotentiallyConflictingDefinitions();
-            if (!conflictingDef.isEmpty())
-                callback.addConflictError(conflictingDef);
-
-            conflictingDef = findAllPotentiallyConflictingUnboundSubprogramCalls();
-            if (!conflictingDef.isEmpty())
-                callback.addConflictWarning(conflictingDef);
-        }
-
-        private List<Conflict> findAllPotentiallyConflictingDefinitions()
-        {
-            List<Conflict> conflicts = new ArrayList<Conflict>();
-
-            if (definitionToCheck != null)
-            {
-                // Cannot call a main program (or function, etc.) X if it has an internal subprogram named X,
-                // even if that subprogram is never used (in which case it wouldn't be caught below)
-                if (definitionToCheck.isMainProgram()
-                    || definitionToCheck.isSubprogram()
-                    || definitionToCheck.isModule())
-                {
-                    findAllPotentiallyConflictingDefinitionsInScope(
-                        conflicts,
-                        definitionToCheck.getTokenRef().findToken().findNearestAncestor(ScopingNode.class),
-                        false);
-                }
-                for (String newName : newNames)
-                {
-                    if (definitionToCheck.isInternalSubprogramDefinition()
-                        && scopeContainingInternalSubprogram().isNamed(newName))
-                    {
-                        conflicts.add(
-                            new Conflict(
-                                newName,
-                                scopeContainingInternalSubprogram().getNameToken().getTokenRef()));
-                    }
-                }
-            }
-
-            for (ScopingNode importingScope : scopeItselfAndAllScopesThatImport(scopeOfDefinitionToCheck))
-            {
-                pm.subTask(Messages.bind(Messages.FortranResourceRefactoring_CheckingForConflictingDefinitionsIn, importingScope.describe()));
-                findAllPotentiallyConflictingDefinitionsInScope(conflicts, importingScope, true);
-            }
-
-            return conflicts;
-        }
-
-        private ScopingNode scopeContainingInternalSubprogram()
-        {
-            return definitionToCheck.getTokenRef().findToken().getEnclosingScope();
-        }
-
-        /**
-         * Cannot call a function X if it is defined in or imported into a scope with a function X already defined
-         * <p>
-         * The third parameter indicates whether or not we should check that the definition to check is actually imported
-         * into the target scope (it may not be if there is a USE statement with a Rename or ONLY list).
-         */
-        private void findAllPotentiallyConflictingDefinitionsInScope(List<Conflict> conflicts, ScopingNode importingScope, boolean shouldCheckIfDefinitionImportedIntoScope)
-        {
-            for (String newName : newNames)
-            {
-                List<PhotranTokenRef> definitionsLocalToScope = collectLocalDefinitions(importingScope);
-
-                if (isProgramOrSubprogramOrModuleScope(importingScope) && shouldCheckIfDefinitionImportedIntoScope)
-                {
-                    // Cannot call a variable X inside a function named X
-                    if (importingScope.isNamed(newName))
-                    {
-                        if (definitionToCheck == null || definitionsLocalToScope.contains(definitionToCheck.getTokenRef()))
-                        {
-                            conflicts.add(new Conflict(newName, importingScope.getNameToken().getTokenRef()));
-                        }
-                    }
-                    // Cannot call a variable X inside a function named Y inside a module named X
-                    else
-                    {
-                        ScopingNode parent = importingScope.findNearestAncestor(ScopingNode.class);
-                        if (parent != null && parent.isNamed(newName))
-                        {
-                            List<PhotranTokenRef> definitionsLocalToParent = collectLocalDefinitions(parent);
-                            if (definitionToCheck == null || definitionsLocalToParent.contains(definitionToCheck.getTokenRef()))
-                            {
-                                conflicts.add(new Conflict(newName, parent.getNameToken().getTokenRef()));
-                            }
-                        }
-                    }
-                }
-
-                // Cannot call a function X if it is defined in or imported into a scope with a function X already defined
-                Token newNameToken = definitionToCheck == null ? new FakeToken(scopeOfDefinitionToCheck, newName) : new FakeToken(definitionToCheck.getTokenRef().findToken(), newName);
-                for (PhotranTokenRef conflict : importingScope.manuallyResolveInLocalScope(newNameToken))
-                {
-                    if (definitionsLocalToScope.contains(conflict))
-                    {
-                        if (shouldCheckIfDefinitionImportedIntoScope)
-                        {
-                            if (definitionToCheck == null
-                                || definitionsLocalToScope.contains(definitionToCheck.getTokenRef()))
-                            {
-                                conflicts.add(new Conflict(newName, conflict));
-                            }
-                        }
-                        else
-                        {
-                            conflicts.add(new Conflict(newName, conflict));
-                        }
-                    }
-                }
-            }
-        }
-
-        /** Check whether the new definition will either conflict with or shadow an existing definition */
-        private List<PhotranTokenRef> findReferencesToShadowedDefinitions()
-        {
-            List<PhotranTokenRef> referencesToShadowedDefinitions = new LinkedList<PhotranTokenRef>();
-
-            for (String newName : newNames)
-            {
-                Token token = definitionToCheck == null ? new FakeToken(scopeOfDefinitionToCheck, newName) : new FakeToken(definitionToCheck.getTokenRef().findToken(), newName);
-
-                List<PhotranTokenRef> shadowedDefinitions = scopeOfDefinitionToCheck.manuallyResolve(token);
-                // TODO: Does not consider rename or only lists (need to tell if this SPECIFIC definition will be imported)
-                for (ScopingNode importingScope : scopeOfDefinitionToCheck.findImportingScopes())
-                {
-                    pm.subTask(Messages.bind(Messages.FortranResourceRefactoring_CheckingForReferencesTo, newName, importingScope.describe()));
-                    shadowedDefinitions.addAll(importingScope.manuallyResolve(token));
-                }
-
-                for (PhotranTokenRef def : shadowedDefinitions)
-                {
-                    Definition definition = PhotranVPG.getInstance().getDefinitionFor(def);
-                    if (definition != null)
-                        referencesToShadowedDefinitions.addAll(definition.findAllReferences(false));
-                }
-            }
-
-            return referencesToShadowedDefinitions;
-        }
-
-        private void checkIfReferenceBindingWillChange(IConflictingBindingCallback callback, PhotranTokenRef ref, boolean shouldReferenceRenamedDefinition)
-        {
-            pm.subTask(Messages.bind(Messages.FortranResourceRefactoring_CheckingForBindingConflictsIn, PhotranVPG.lastSegmentOfFilename(ref.getFilename())));
-
-            Token reference = ref.findToken();
-
-            if (definitionToCheck != null)
-            {
-                ScopingNode scopeOfDefinitionToRename = reference.findScopeDeclaringOrImporting(definitionToCheck);
-                if (scopeOfDefinitionToRename == null) return;
-
-                for (String newName : newNames)
-                {
-                    for (PhotranTokenRef existingBinding : new FakeToken(reference, newName).manuallyResolveBinding())
-                    {
-                        ScopingNode scopeOfExistingBinding = existingBinding.findToken().getEnclosingScope();
-
-                        boolean willReferenceRenamedDefinition = scopeOfExistingBinding.isParentScopeOf(scopeOfDefinitionToRename);
-                        if (shouldReferenceRenamedDefinition != willReferenceRenamedDefinition)
-                            callback.addReferenceWillChangeError(newName, reference);
-                    }
-                }
-            }
-            else
-            {
-                if (scopeOfDefinitionToCheck == reference.getLocalScope()
-                    || scopeOfDefinitionToCheck.isParentScopeOf(reference.getLocalScope()))
-                {
-                    for (String newName : newNames)
-                    {
-                        for (PhotranTokenRef existingBinding : new FakeToken(reference, newName).manuallyResolveBinding())
-                        {
-                            ScopingNode scopeOfExistingBinding = existingBinding.findToken().getEnclosingScope();
-
-                            boolean willReferenceRenamedDefinition = scopeOfExistingBinding.isParentScopeOf(scopeOfDefinitionToCheck);
-                            if (shouldReferenceRenamedDefinition != willReferenceRenamedDefinition)
-                                callback.addReferenceWillChangeError(newName, reference);
-                        }
-                    }
-                }
-            }
-        }
-
-        private List<Conflict> findAllPotentiallyConflictingUnboundSubprogramCalls()
-        {
-            final List<Conflict> conflictingDef = new ArrayList<Conflict>();
-
-            for (ScopingNode importingScope : scopeItselfAndAllScopesThatImport(scopeOfDefinitionToCheck))
-            {
-                pm.subTask(Messages.bind(Messages.FortranResourceRefactoring_CheckingForSubprogramBindingConflictsIn, importingScope.describe()));
-
-                importingScope.accept(new GenericASTVisitor()
-                {
-                    @Override public void visitASTVarOrFnRefNode(ASTVarOrFnRefNode node)
-                    {
-                        if (node.getName() != null && node.getName().getName() != null)
-                            checkForConflict(node.getName().getName());
-                    }
-
-                    @Override public void visitASTCallStmtNode(ASTCallStmtNode node)
-                    {
-                        if (node.getSubroutineName() != null)
-                            checkForConflict(node.getSubroutineName());
-                    }
-
-                    private void checkForConflict(Token name)
-                    {
-                        if (name.getLogicalFile() != null)
-                            for (String newName : newNames)
-                                if (name != null && name.getText().equals(newName) && name.resolveBinding().isEmpty())
-                                    conflictingDef.add(new Conflict(newName, name.getTokenRef()));
-                    }
-                });
-            }
-
-            return conflictingDef;
-        }
-
-        private Iterable<ScopingNode> scopeItselfAndAllScopesThatImport(final ScopingNode scope)
-        {
-            if (scope == null) return Collections.emptySet();
-
-            return new Iterable<ScopingNode>()
-            {
-                public Iterator<ScopingNode> iterator()
-                {
-                    return new Iterator<ScopingNode>()
-                    {
-                        private ScopingNode first = scope;
-                        private Iterator<ScopingNode> rest = scope.findImportingScopes().iterator();
-
-                        public boolean hasNext()
-                        {
-                            if (first != null)
-                                return true;
-                            else
-                                return rest.hasNext();
-                        }
-
-                        public ScopingNode next()
-                        {
-                            if (first != null)
-                            {
-                                ScopingNode result = first;
-                                first = null;
-                                return result;
-                            }
-                            else return rest.next();
-                        }
-
-                        public void remove() { throw new UnsupportedOperationException(); }
-                    };
-                }
-            };
-        }
-
-        private List<PhotranTokenRef> collectLocalDefinitions(ScopingNode importingScope)
-        {
-            List<PhotranTokenRef> definitionsLocalToScope = new ArrayList<PhotranTokenRef>();
-            for (Definition def : importingScope.getAllDefinitions())
-                if (def != null && !def.isIntrinsic())
-                    definitionsLocalToScope.add(def.getTokenRef());
-            return definitionsLocalToScope;
-        }
-
-        private boolean isProgramOrSubprogramOrModuleScope(ScopingNode scope)
-        {
-            return scope instanceof ASTMainProgramNode
-                || scope instanceof ASTFunctionSubprogramNode
-                || scope instanceof ASTSubroutineSubprogramNode
-                || scope instanceof ASTModuleNode;
-        }
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/Messages.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/Messages.java
deleted file mode 100644
index f5d14b3..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/Messages.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring.infrastructure;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.core.refactoring.infrastructure.messages"; //$NON-NLS-1$
-
-    public static String FortranEditorRefactoring_AnalysisRefactoringNotEnabled;
-
-    public static String FortranEditorRefactoring_FileInEditorCannotBeParsed;
-
-    public static String FortranResourceRefactoring_AnalysisRefactoringNotEnabled;
-
-    public static String FortranResourceRefactoring_CheckingForBindingConflictsIn;
-
-    public static String FortranResourceRefactoring_CheckingForConflictingDefinitionsIn;
-
-    public static String FortranResourceRefactoring_CheckingForReferencesTo;
-
-    public static String FortranResourceRefactoring_CheckingForSubprogramBindingConflictsIn;
-
-    public static String FortranResourceRefactoring_CPreprocessedFileWillNotBeRefactored;
-
-    public static String FortranResourceRefactoring_FileIsNotInAFortranProject;
-
-    public static String FortranResourceRefactoring_FixedFormFileWillNotBeRefactored;
-
-    public static String FortranResourceRefactoring_IndentationAndLineLengthAreNotChecked;
-
-    public static String FortranResourceRefactoring_LineColumn;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/SourcePrinter.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/SourcePrinter.java
deleted file mode 100644
index bc400c8..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/SourcePrinter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring.infrastructure;
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-
-/**
- * Methods to reproduce source code from a (modified) AST.
- * 
- * @author Jeff Overbey
- */
-public class SourcePrinter
-{
-    private static final String EOL = System.getProperty("line.separator"); //$NON-NLS-1$
-    
-    private SourcePrinter() {;}
-    
-    /** @return the source code for the given program, with the user's comments, capitalization, etc. retained */
-    public static String getSourceCodeFromAST(IFortranAST ast)
-    {
-        return getSourceCodeFromAST(ast.getRoot());
-    }
-    
-    /** @return the source code for the given program, with the user's comments, capitalization, etc. retained */
-    public static String getSourceCodeFromAST(ASTExecutableProgramNode ast)
-    {
-        String result = getSourceCodeFromASTNode(ast);
-        
-        // When we read in the AST, we use a LineAppendingInputStream so that the
-        // user does not have to have a final carriage return in their file.  However,
-        // we should chop that off here.
-        result = result.substring(0, Math.max(0, result.length() - EOL.length()));
-        
-        return result;
-    }
-    
-    /** @return the source code for the given AST node, with the user's comments, capitalization, etc. retained */
-    public static String getSourceCodeFromASTNode(IASTNode node)
-    {
-        ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
-        node.printOn(new PrintStream(out), null);
-        return out.toString();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/messages.properties b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/messages.properties
deleted file mode 100644
index 497ffb2..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-FortranEditorRefactoring_AnalysisRefactoringNotEnabled=Please enable analysis and refactoring in the project properties.
-FortranEditorRefactoring_FileInEditorCannotBeParsed=The file in the editor cannot be parsed.
-FortranResourceRefactoring_AnalysisRefactoringNotEnabled=Please enable analysis and refactoring in the project properties for {0}.
-FortranResourceRefactoring_CheckingForBindingConflictsIn=Checking for binding conflicts in {0}
-FortranResourceRefactoring_CheckingForConflictingDefinitionsIn=Checking for conflicting definitions in {0}
-FortranResourceRefactoring_CheckingForReferencesTo=Checking for references to {0} in {1}
-FortranResourceRefactoring_CheckingForSubprogramBindingConflictsIn=Checking for subprogram binding conflicts in {0}
-FortranResourceRefactoring_CPreprocessedFileWillNotBeRefactored=The C-preprocessed file {0} will not be refactored.
-FortranResourceRefactoring_FileIsNotInAFortranProject=The file {0} cannot be refactored because it is not inside a Fortran project.
-FortranResourceRefactoring_FixedFormFileWillNotBeRefactored=The fixed form file {0} will not be refactored.
-FortranResourceRefactoring_IndentationAndLineLengthAreNotChecked=Indentation and line length are NOT checked when refactoring FIXED form files.  Use at your own risk.
-FortranResourceRefactoring_LineColumn=(line {0}, column {1})
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/package-info.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/package-info.java
deleted file mode 100644
index 03132d5..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/package-info.java
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * This package contains infrastructure supporting Photran's refactorings.  The refactorings
- * themselves are in the <code>org.eclipse.photran.internal.core.refactoring</code> package.
- * <p>
- * For more information, please see the <i>Photran Developer's Guide</i> in the
- * org.eclipse.photran-dev-docs project.
- */
-package org.eclipse.photran.internal.core.refactoring.infrastructure;
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/IFortranEditorRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/IFortranEditorRefactoring.java
deleted file mode 100644
index 305faf7..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/IFortranEditorRefactoring.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring.interfaces;
-
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.rephraserengine.core.refactorings.IEditorRefactoring;
-
-/**
- * This is the interface implemented by all refactorings that subclass from
- * {@link FortranEditorRefactoring}.
- * 
- * @author Jeff Overbey
- */
-public interface IFortranEditorRefactoring extends IEditorRefactoring, ILTKRefactoring
-{
-
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/ILTKRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/ILTKRefactoring.java
deleted file mode 100644
index 4a7bc01..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/ILTKRefactoring.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring.interfaces;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * This is the interface implemented by all refactorings that subclass from
- * {@link Refactoring}.
- * 
- * @author Jeff Overbey
- */
-public interface ILTKRefactoring
-{
-    String getName();
-    RefactoringStatus checkInitialConditions(IProgressMonitor pm) throws CoreException, OperationCanceledException;
-    RefactoringStatus checkFinalConditions(IProgressMonitor pm) throws CoreException, OperationCanceledException;
-    Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException;
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/IRenameRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/IRenameRefactoring.java
deleted file mode 100644
index 848cdb8..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/IRenameRefactoring.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.refactoring.interfaces;
-
-import org.eclipse.photran.internal.core.refactoring.RenameRefactoring;
-
-/**
- * This is the interface implemented by {@link RenameRefactoring}.
- * 
- * @author Jeff Overbey
- */
-public interface IRenameRefactoring extends IFortranEditorRefactoring
-{
-    void setNewNameForIdentifier(String newName);
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/package-info.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/package-info.java
deleted file mode 100644
index 4568da1..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/interfaces/package-info.java
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * This package contains the interfaces implemented by various Fortran refactorings.
- * <p>
- * Generally speaking, refactorings are referenced directly by their class name.
- * This is true for most of Photran's code.
- * <p>
- * However, at UIUC, we have some alternate implementations of some refactorings,
- * and we reuse the test suite from the traditional implementation; therefore, the
- * test suites use the interfaces to refer to the refactoring.
- */
-package org.eclipse.photran.internal.core.refactoring.interfaces;
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/messages.properties b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/messages.properties
deleted file mode 100644
index 3de7224..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/messages.properties
+++ /dev/null
@@ -1,241 +0,0 @@
-AddIdentifierToEndRefactoring_Name=Add Identifier to End Statement
-AddIdentifierToEndRefactoring_SelectedFileCannotBeParsed=One of the selected files ({0}) cannot be parsed.
-AddOnlyToUseStmtRefactoring_AddingWouldChangeMeaningOf=Adding "{0}" to ONLY list would change the meaning of "{1}" on line {2} in {3}
-AddOnlyToUseStmtRefactoring_Analyzing=Analyzing
-AddOnlyToUseStmtRefactoring_CheckingForConflicts=Checking for conflicts after addition
-AddOnlyToUseStmtRefactoring_CreatingChangeObject=Creating change object
-AddOnlyToUseStmtRefactoring_FindingReferences=Finding references
-AddOnlyToUseStmtRefactoring_InsertingUseStmt=Inserting USE statement
-AddOnlyToUseStmtRefactoring_ModuleNameInUseStmtNotSelected=No module name in a USE statement is selected.
-AddOnlyToUseStmtRefactoring_ModuleNodeNodeFound=Module AST node could not be found.
-AddOnlyToUseStmtRefactoring_ModuleTokenNotFound=Module token could not be found.
-AddOnlyToUseStmtRefactoring_MultipleDefinitionsOfModule=Multiple definitions of module {0} exist in project.
-AddOnlyToUseStmtRefactoring_Name=Add Only Clause to Use Statement
-AddOnlyToUseStmtRefactoring_NameConflicts=The name "{0}" conflicts with {1}
-AddOnlyToUseStmtRefactoring_NameMightConflict=The name "{0}" might conflict with the name of an invoked subprogram.
-AddOnlyToUseStmtRefactoring_NoDeclarationsInModule=Module contains no declared entities. No ONLY statement necessary.
-AddOnlyToUseStmtRefactoring_NoFilesContainModule=No files in this project contain the module {0}.
-AddOnlyToUseStmtRefactoring_NoModuleNamed=No module with name {0} found.
-AddOnlyToUseStmtRefactoring_NoModuleNameSelected=No module name selected.
-AddOnlyToUseStmtRefactoring_Parsing=Parsing 
-AddOnlyToUseStmtRefactoring_PleaseSelectModuleName=Please select a module name.
-AddOnlyToUseStmtRefactoring_ProjectDoesNotExist=Project does not exist\!
-AddOnlyToUseStmtRefactoring_SelectModuleName=Please select the name of the module in the USE statement.
-AddSubroutineParameterRefactoring_InvalidDeclaration=Invalid declaration line for new parameter.
-AddSubroutineParameterRefactoring_InvalidDefaultValue=Invalid default value for this parameter for all callers of this subroutine.
-AddSubroutineParameterRefactoring_InvalidParameterPosition=Parameter position is out of bounds.
-AddSubroutineParameterRefactoring_matchingDeclarationsDoNotUniquelyBind=Matching declarations in interface blocks do not uniquely bind to the selected subroutine.
-AddSubroutineParameterRefactoring_Name=Add Subroutine Parameter
-AddSubroutineParameterRefactoring_NameConflictsWith=The name "{0}" conflicts with {1}
-AddSubroutineParameterRefactoring_NameMightConflictWithSubprogram=Name might have conflict with subprogram.
-AddSubroutineParameterRefactoring_selectSubroutineError=Please select a subroutine definition.
-PermuteSubroutineArgsRefactoring_matchingDeclarationsDoNotUniquelyBind=Matching declarations in interface blocks do not uniquely bind to the selected subroutine.
-PermuteSubroutineArgsRefactoring_name=Permute Subroutine Arguments
-PermuteSubroutineArgsRefactoring_selectedTextNotSubroutine=The selected text is not a subroutine.  Please select a subroutine.
-PermuteSubroutineArgsRefactoring_selectSubroutineError=Please select a subroutine definition.
-PermuteSubroutineArgsRefactoring_subroutineParameterDefinitionError=Error in subroutine parameter definition.
-CommonVarNamesRefactoring_Name=Make Common Block Variable Names Consistent
-CommonVarNamesRefactoring_NameConflictsWith=The name "{0}" conflicts with {1}
-CommonVarNamesRefactoring_NameMightConflictWithSubprogram=The name "{0}" might conflict with the name of an invoked subprogram.
-CommonVarNamesRefactoring_NoCommonBlockFoundWithName=No COMMON block found with name '{0}'.
-CommonVarNamesRefactoring_NoFilesFoundContainingCommonBlock=No files found containing the specified COMMON block.
-CommonVarNamesRefactoring_ProjectDoesNotExist=Project does not exist\!
-CommonVarNamesRefactoring_SelectCommonBlockName=Please select a COMMON block name (highlight the name, excluding /'s)
-CommonVarNamesRefactoring_VariableTypesDiffer=Variable types differ in different uses of the specified COMMON block. Refactoring will not proceed.
-DataToParameterRefactoring_AmbiguouslyDefined=Variable is ambiguously defined
-DataToParameterRefactoring_ArraysNotSupported=Arrays are not supported.
-DataToParameterRefactoring_DefinitionNotFound=Definition not found.
-DataToParameterRefactoring_EmptyDataListInNode=Data list of a node was empty. Refactoring failed
-DataToParameterRefactoring_ImpliedDoNotSupported=Implied DO loops are not supported by this refactoring.
-DataToParameterRefactoring_Name=Convert Data Statement to Parameter Statements
-DataToParameterRefactoring_PointersNotSupported=Pointers are not supported.
-DataToParameterRefactoring_RefactorNotConsideringVarAssignment=This refactoring is NOT considering variable assignment that could happen as a result of passing a variable to a function/subroutine by reference. 
-DataToParameterRefactoring_SelectedFileCannotBeParsed=One of the selected files ({0}) cannot be parsed.
-EncapsulateVariableRefactoring_CannotEncapsulateArrays=Arrays cannot be encapsulated.
-EncapsulateVariableRefactoring_CannotEncapsulatePARAMETER=Variables with the PARAMETER attribute cannot be encapsulated.
-EncapsulateVariableRefactoring_CannotEncapsulatePointers=Pointers cannot be encapsulated.
-EncapsulateVariableRefactoring_CannotEncapsulateTARGET=Variables with the TARGET attribute cannot be encapsulated.
-EncapsulateVariableRefactoring_CannotRefactorFixedFormFile=Fixed form files cannot currently be refactored. File {0} is in fixed form and contains a reference to the variable you want to encapsulate.
-EncapsulateVariableRefactoring_CouldNotFindToken=Could not find token based on selection.
-EncapsulateVariableRefactoring_CouldNotFindTokenForVarDef=Could not find a token corresponding to the variable definition
-EncapsulateVariableRefactoring_CouldNotFindTokenForVarRef=Could not find a token associated with the variable reference.
-EncapsulateVariableRefactoring_Name=Encapsulate Variable
-EncapsulateVariableRefactoring_NameConflicts=The name "{0}" conflicts with {1}
-EncapsulateVariableRefactoring_NameMightConflict=The name "{0}" might conflict with the name of an invoked subprogram.
-EncapsulateVariableRefactoring_NotAnExpression=Currently can only encapsulate variables that appear as expressions. This variable is used as a non-expression in {0} on line {1}.
-EncapsulateVariableRefactoring_NoUniqueDefinition=Could not find definition for this identifier, or its definition was ambiguous.
-EncapsulateVariableRefactoring_PleaseSelectAnIdentifier=Please select an identifier to encapsulate
-EncapsulateVariableRefactoring_VariableNotSelected=The selected entity is not a variable.  Please select a variable defined in a module to encapsulate.
-EncapsulateVariableRefactoring_WarningFunctionArgument=WARNING: The variable you want to encapsulate is used as an argument to a function. Encapsulating this variable might change the expected behavior of that function. Proceed at your own discretion.\n(File: {0}, line {1})
-EncapsulateVariableRefactoring_WarningWillNotChangeReference=WARNING: The following reference to the selected variable will not be changed since it is neither written nor read:\nFile: {0}, line {1}
-ExtractLocalVariableRefactoring_DeclarationDoesNotDeclareSingleVar=The declaration entered does not declare a single variable.
-ExtractLocalVariableRefactoring_DeclarationMustNotContainInitialization=The declaration must not contain an initialization.
-ExtractLocalVariableRefactoring_EnterDeclarationForExtractedVar=Please enter a declaration for the extracted variable.
-ExtractLocalVariableRefactoring_ErrorSelectingPartOfExpression=You have selected part of an expression, but either (1) the part you have selected is not an expression by itself, or (2) extracting that portion of the expression could change the meaning of the larger expression, due to a change in associativity or precedence.
-ExtractLocalVariableRefactoring_ExpressionNotInExtractableStmt=The selected expression is not located in a statement from which a variable can be extracted.
-ExtractLocalVariableRefactoring_ExpressionTypeNotBeAutoDetermined=The type of the expression could not be determined automatically.
-ExtractLocalVariableRefactoring_ExtractionMayNotPreserveBehavior=If any functions in the original or extracted expression have side effects, this refactoring may not preserve behavior.
-ExtractLocalVariableRefactoring_InvalidTypeDeclStmt=The text entered ("{0}") is not a valid type declaration statement.
-ExtractLocalVariableRefactoring_Name=Extract Local Variable
-ExtractLocalVariableRefactoring_NameConflictsWith=The name "{0}" conflicts with {1}
-ExtractLocalVariableRefactoring_NameMightConflictWithSubprogram=The name "{0}" might conflict with the name of an invoked subprogram
-ExtractLocalVariableRefactoring_SelectExpressionToExtract=Please select an expression to extract.
-ExtractLocalVariableRefactoring_VarsExtractedOnlyFromActionStmt=Variables can only be extracted from action statements (e.g., assignments, print statements, etc.).
-ExtractLocalVariableRefactoring_VarsOnlyExtractedFromStmtsIn=Variables can only be extracted from action statements inside functions, subroutines, and main programs.
-ExtractProcedureRefactoring_PleaseSelectContiguousStatements=Please select a sequence of contiguous statements to extract.
-ExtractProcedureRefactoring_CanOnlyExtractFromSubprogramOrMainProgram=Statements can only be extracted from inside a subprogram or main program.
-ExtractProcedureRefactoring_ExtractionWouldRequirePointerParameter=The selected statements cannot be extracted because doing so would require passing a pointer variable as a parameter
-ExtractProcedureRefactoring_InvalidIdentifier={0} is not a valid identifier
-ExtractProcedureRefactoring_Name=Extract Procedure
-ExtractProcedureRefactoring_NameConflicts=The name "{0}" conflicts with "{1}" on line {2} in {3}.
-ExtractProcedureRefactoring_OnlyExecutableStatementsCanBeExtracted=Only executable statements can be extracted; the statement "{0}" cannot.
-ExtractProcedureRefactoring_ProcedureContainsLabels=This procedure contains labels; the extracted subprogram may not be correct if the selected statements reference a label outside the extracted statements.
-ExtractProcedureRefactoring_StatementCannotBeExtracted=The statement "{0}" cannot be extracted
-InterchangeLoopsRefactoring_Name=Interchange Loops (Unchecked)
-InterchangeLoopsRefactoring_SelectTwoPerfNextedLoops=Please select two perfectly-nested loops to refactor.
-InterchangeLoopsRefactoring_UncheckedTransNotGuaranteedToPreserve=WARNING: This is an UNCHECKED TRANSFORMATION and is NOT guaranteed to preserve behavior.  Proceed at your own risk.
-IntroImplicitNoneRefactoring_Name=Introduce Implicit None
-IntroImplicitNoneRefactoring_SelectedFileCannotBeParsed=One of the selected files ({0}) cannot be parsed.
-KeywordCaseRefactoring_Name=Change Keyword Case
-KeywordCaseRefactoring_SelectedFileCannotBeParsed=One of the selected files ({0}) cannot be parsed.
-LoopAlignmentRefactoring_LoopAlignmentName=Loop Alignment
-LoopAlignmentRefactoring_LoopsNotCompatible=Loops aren't compatible for alignment
-FuseLoopsRefactoring_CycleExitFails=Can not fuse loops with a cycle or exit statement
-FuseLoopsRefactoring_IncompatibleLoopErorrMessage=Loop bounds are not compatible.
-FuseLoopsRefactoring_InvalidLoopBounds=Invalid Loop Bounds
-FuseLoopsRefactoring_InvalidStepError=Invalid step
-FuseLoopsRefactoring_LoopFusionName=Fuse Loops (Unchecked)
-FuseLoopsRefactoring_NoSecondLoopErrorMsg=Select a do loop with a second following do loop
-FuseLoopsRefactoring_SelectLoopsWithoutLabels=Please select loops without labels
-FuseLoopsRefactoring_SelectLoopWithIntegers=Please select loops with only Integers
-TileLoopRefactoring_CantTileLoopsWithStep=Can only tile loops with a step of 1
-TileLoopRefactoring_InvalidTileSize=Invalid tile size
-TileLoopRefactoring_InvalidTilingOffset=Invalid tiling offset
-TileLoopRefactoring_LoopTilingName=Tile Loop (Unchecked)
-TileLoopRefactoring_SelectLoopWithOnlyOneNestedLoop=Please select loop with only 1 nested loop at each level
-TileLoopRefactoring_UnableToCreateNewIndex=Unable to create new index variable
-UnrollLoopRefactoring_cannotUnrollLoopWithLabel=Can not unroll a loop containing a Label
-UnrollLoopRefactoring_InvalidStepError=Invalid step
-UnrollLoopRefactoring_LoopUnrollingName=Unroll Loop
-UnrollLoopRefactoring_LoopWritesToIndexVariable=Unable to unroll a loop that writes to index variable {0}
-UnrollLoopRefactoring_SelectLoopWithExplicitBound=Please select loop with explicit bounds
-UnrollLoopRefactoring_unableToCreateUpperBound=Unable to create variable LoopUpperBound
-MakePrivateEntityPublicRefactoring_DoesNotSupportExternalEntities=Refactoring does not support External entities.
-MakePrivateEntityPublicRefactoring_DoesNotSupportInterfaceDeclarations=Refactoring does not support Interface declarations.
-MakePrivateEntityPublicRefactoring_DoesNotSupportIntrinsicEntities=Refactoring does not support Intrinsic entities.
-MakePrivateEntityPublicRefactoring_HighlightPrivateEntityName=Please select a private entity name (highlight the entity name)
-MakePrivateEntityPublicRefactoring_Name=Make Private Entity Public
-MakePrivateEntityPublicRefactoring_NoPrivateEntitySelected=No private entities selected.
-MakePrivateEntityPublicRefactoring_PublicEntitySelectedSelectPrivate=Public entity is selected. Please select a Private entity.
-MakePrivateEntityPublicRefactoring_SelectPrivateEntityName=Please select a private entity name.
-MakeSaveExplicitRefactoring_Name=Make Save Attributes Explicit
-MakeSaveExplicitRefactoring_SelectedFileCannotBeParsed=One of the selected files ({0}) cannot be parsed.
-MinOnlyListRefactoring_ModuleIsEmpty=Module contains no declared entities. No ONLY clause is necessary. Please remove the ONLY clause from the USE statement.
-MinOnlyListRefactoring_ModuleNodeNotFound=Module AST node could not be found.
-MinOnlyListRefactoring_ModuleNotFoundWithName=No module with name {0}
-MinOnlyListRefactoring_ModuleTokenNotFound=Module token could not be found.
-MinOnlyListRefactoring_Name=Minimize Only List
-MinOnlyListRefactoring_NoFilesContainModuleNamed=No files in this project contain the module {0}.
-MinOnlyListRefactoring_NoModuleNameSelected=No module name selected.
-MinOnlyListRefactoring_PleaseSelectModuleName=Please select a module name.
-MinOnlyListRefactoring_PleaseSelectModuleNameInUSEStatement=Please select the name of the module in the USE statement.
-MinOnlyListRefactoring_ProjectDoesNotExist=Project does not exist\!
-MinOnlyListRefactoring_USEStatementNotFound=Use statement node could not be found.
-MoveCommonToModuleRefactoring_InvalidIdentifier={0}\ is not a valid identifier
-MoveCommonToModuleRefactoring_Name=Move Common Block to Module
-MoveCommonToModuleRefactoring_SelectVarOrBlockInCommonStmt=Please select a variable or block in a COMMON statement.
-MoveFromModuleRefactoring_Name=Move From Module Refactoring
-MoveFromModuleRefactoring_selectionNotInsideModuleError=The selected text was not inside of a module.
-MoveFromModuleRefactoring_textSelectionError=Token returned from text selection was invalid.
-MoveSavedToCommonBlockRefactoring_AbsentOrAmbiguousDefinition=Absent or ambiguous definition for variable "{0}".
-MoveSavedToCommonBlockRefactoring_CouldNotFindArrayDeclaration=Could not find array declaration for DIMENSION specification of variable "{0}".
-MoveSavedToCommonBlockRefactoring_CouldNotFindDeclarationNode=Could not find declaration node for variable "{0}".
-MoveSavedToCommonBlockRefactoring_CouldNotFindTypeSpecificationNode=Could not find type specification node for variable "{0}".
-MoveSavedToCommonBlockRefactoring_Name=Move Saved Variables to Common Block
-MoveSavedToCommonBlockRefactoring_OnlyInternalSubprogramsSupported=The current implementation handles only subprograms that are in the CONTAINS section of the PROGRAM.
-MoveSavedToCommonBlockRefactoring_PleaseSelectSubprogram=Please select a subroutine or a function (place the cursor in its statement).
-MoveSavedToCommonBlockRefactoring_PleaseSelectSubprogramNotInINTERFACE=The subroutine's or the function's statement should not be the interface declaration.
-RemoveArithmeticIfRefactoring_Error=One of the selected files ({0}) cannot be parsed.
-RemoveArithmeticIfRefactoring_Name=Remove Arithmetic If Statements
-RemoveAssignedGotoRefactoring_AllLabelsUsedInActionStatement=All the labels were used in an action statement. Nothing left to refactor for 
-RemoveAssignedGotoRefactoring_ForFile=\ for file 
-RemoveAssignedGotoRefactoring_LabelNotFound=One or more numeric labels used in ASSIGN statements are not found in file 
-RemoveAssignedGotoRefactoring_NothingToBeRefactored=Nothing to be refactored for the file {0}.  None of the files will be refactored.
-RemoveAssignedGotoRefactoring_TheFollowingLabelsCannotBeRefactored=The following labels cannot be refactored since they're used in an action statement : 
-RemoveAssignedGoToRefactoring_Name=Remove Assigned Goto
-RemoveAssignedGoToRefactoring_SelectedFileCannotBeParsed=One of the selected files ({0}) cannot be parsed.
-RemoveComputedGoToRefactoring_Name=Remove Computed Goto
-RemoveComputedGoToRefactoring_PleaseSelectComputedGotoStmt=Please select a computed GOTO statement.
-RemoveBranchToEndIfRefactoring_BranchToImmediateEndIf=All GOTO statements referencing this END IF statement's label are located inside the enclosing IF construct.
-RemoveBranchToEndIfRefactoring_Name=Remove Branch to End If Statement
-RemoveBranchToEndIfRefactoring_NoEnclosingIfConstruct=The selected END IF statement does not have an enclosing IF construct.
-RemoveBranchToEndIfRefactoring_NoGotoStatementReferencingThisLabel=There is no GOTO statement referencing this END IF statement's label.
-RemoveBranchToEndIfRefactoring_NoGotoStatements=There are no GOTO statements.
-RemoveBranchToEndIfRefactoring_PleaseSelectLabeledEndIfStatement=Please select an END IF statement with a statement label.
-RemoveComputedGoToRefactoring_Name=Remove Computed Go To
-RemoveComputedGoToRefactoring_PleaseSelectComputedGotoStmt=Please select a computed GOTO statement.
-RemovePauseStmtRefactoring_Name=Remove Pause Statement
-RemovePauseStmtRefactoring_PleaseSelectAPauseStatement=Please select a PAUSE statement.
-RemoveRealAndDoublePrecisionLoopCountersRefactoring_Name=Remove Real/Double Precision Loop Counter
-RemoveRealAndDoublePrecisionLoopCountersRefactoring_NotRealOrDoublePrecision=The selected DO loop does not have a real or double precision loop index variable (its type is {0})
-RemoveRealAndDoublePrecisionLoopCountersRefactoring_NoUniqueDeclaration=The loop index variable does not have a unique declaration.
-RemoveRealAndDoublePrecisionLoopCountersRefactoring_PleaseSelectACountedDoLoop=Please select a counted DO loop.
-RemoveRealAndDoublePrecisionLoopCountersRefactoring_PleaseSelectADoLoop=Please select a DO loop.
-RemoveUnreferencedLabelsRefactoring_Name=Remove Unreferenced Labels
-RemoveUnreferencedLabelsRefactoring_ThereMustBeAtLeastOneLabeledStatement=To perform this refactoring, there MUST be at least one labeled statement.
-RemoveUnusedVariablesRefactoring_CouldNotCompleteOperation=Sorry, could not complete the operation.
-RemoveUnusedVariablesRefactoring_DoesNotRemovedUnusedVarsWithDefsOnAnotherLine=This refactoring does not remove unused variables when their dimentions are specified on another line. I.e. real a /n/n dimention a(10) will not be removed.
-RemoveUnusedVariablesRefactoring_Name=Remove Unused Local Variables
-RemoveUnusedVariablesRefactoring_RefactorAgainToRemoveAllUnusedVars=After clicking 'Continue', do the same refactoring again to make sure that all unused variables are removed from file {0}!
-RemoveUnusedVariablesRefactoring_Scope=Scope: {0}
-RemoveUnusedVariablesRefactoring_SelectedFileCannotBeParsed=One of the selected files ({0}) cannot be parsed.
-RemoveUnusedVariablesRefactoring_SelectedFilesCannotBeParsed=One of the selected files ({0}) cannot be parsed
-RemoveUnusedVariablesRefactoring_SelectedFilesMustBeImplicitNone=All of the selected files must be IMPLICIT NONE. Please use the Introduce Implict None refactoring first to introduce IMPLICIT NONE statements in the file {0}.
-RemoveUnusedVariablesRefactoring_UnusedVarsRemovedFromFile=All unused variables have been removed from file {0}! 
-RemoveUnusedVariablesRefactoring_VariableUnusedAndWillBeRemoved=The variable [{0}] was not used and will be removed.
-RenameRefactoring_CannotRename=The {0} {1} cannot be renamed. Only local variables, subprograms and interfaces, derived types, main programs, namelists, common blocks, and block data subprograms can be renamed.  Derived type components and subprogram arguments cannot be renamed.
-RenameRefactoring_CannotRenameAmbiguous={0} cannot be renamed: {1} is an ambiguous reference (it refers to {2} but may refer to another entity as well).
-RenameRefactoring_CannotRenameInINCLUDEFile={0} cannot be renamed: It is declared in an INCLUDE file.
-RenameRefactoring_CannotRenameIntrinsicProcedure={0} cannot be renamed: It is an intrinsic procedure.
-RenameRefactoring_CannotRenameSubprogramArgs=Subprogram arguments cannot be renamed.
-RenameRefactoring_CannotRenameTypeBoundProcedures=Type-bound procedures cannot be renamed.
-RenameRefactoring_CannotRenameUsedInINCLUDEFile={0} cannot be renamed: It would require modifying an INCLUDE file ({1}).
-RenameRefactoring_ChangingNameWouldChangeMeaning=Changing the name to "{0}" would change the meaning of {1} on line {2} in {3}.
-RenameRefactoring_StatusCheckingIfReferencesInFileCanBeRenamed=Checking if references in {0} can be renamed
-RenameRefactoring_CPreprocessedFileWillNotBeRefactored=The C-preprocessed file {0} will not be refactored.
-RenameRefactoring_FixedFormFileWillNotBeRefactored=The fixed form file {0} will not be refactored.
-RenameRefactoring_InvalidIdentifier={0} is not a valid identifier
-RenameRefactoring_MultipleDeclarationsFoundFor=Multiple declarations were found for {0}.
-RenameRefactoring_Name=Rename
-RenameRefactoring_NameConflicts=The name "{0}" conflicts with {1}.
-RenameRefactoring_NameMightConflict=The name "{0}" might conflict with the name of an invoked subprogram.
-RenameRefactoring_NewNameIsExactlyTheSame=The new name ({0}) is exactly the same as the old name!
-RenameRefactoring_NoDeclarationFoundFor=No declaration was found for {0}.
-RenameRefactoring_PleaseSelectAnIdentifier=Please select an identifier to rename.
-RenameRefactoring_StatusModifyingFile=Modifying {0}
-RenameRefactoring_StatusRenaming=Renaming
-ReplaceCharacterToCharacterLenRefactoring_CharacterStarDeclNotSelected=Please select a CHARACTER*n declaration.
-ReplaceCharacterToCharacterLenRefactoring_Name=Replace Character* with Character(len=)
-ReplaceOldStyleDoLoopRefactoring_AmbiguousLabel=There is more than one instruction with the same label ("{0}").
-ReplaceOldStyleDoLoopRefactoring_EndOfLoopError=The loop is not terminated properly (statement at label {0}).
-ReplaceOldStyleDoLoopRefactoring_MissingLabel=The loop is terminated by statement {0}, but a statement with that label could not be found.
-ReplaceOldStyleDoLoopRefactoring_Name=Replace Old-Style Do Loops
-ReplaceOldStyleDoLoopRefactoring_ThereMustBeAtLeastOneOldStyleDoLoop=There must be at least one old-style do loop.
-RepObsOpersRefactoring_Name=Replace Obsolete Operators
-RepObsOpersRefactoring_SelectedFileCannotBeParsed=One of the selected files ({0}) cannot be parsed.
-ReverseLoopRefactoring_Name=Reverse Loop (Unchecked)
-ReverseLoopRefactoring_SelectDoLoop=Please select a DO loop.
-SafeDeleteInternalSubprogramRefactoring_MultipleDefinitions=Multiple definitions for data statement object
-SafeDeleteInternalSubprogramRefactoring_Name=Safe Delete
-SafeDeleteInternalSubprogramRefactoring_NoDefinition=No definition for data statement object found
-SafeDeleteInternalSubprogramRefactoring_NoSubroutineSelected=No subroutine selected
-SafeDeleteInternalSubprogramRefactoring_NotAnInternalSubprogram=Not an internal subprogram
-SafeDeleteInternalSubprogramRefactoring_SubroutineMustHaveOnlyInternalReferences=Subroutine must only have internal references.
-StandardizeStatementsRefactoring_Name=Standardize Statements
-StandardizeStatementsRefactoring_SelectedFileCannotBeParsed=One of the selected files ({0}) cannot be parsed.
-IfConstructStatementConversionRefactoring_Name= Convert Between If Statement and If Construct
-IfConstructStatementConversionRefactoring_SelectAValidIfStatement= Please select a valid IF statement or construct.
-IfConstructStatementConversionRefactoring_InvalidNamedConstruct= Cannot refactor a named IF construct. Please select an unnamed IF construct.
-IfConstructStatementConversionRefactoring_TooManyStatements= Selected IF construct contains too many statements and cannot be refactored to an IF statement.
-FortranEditorRefactoring_CantPerformRefactoringOnReadOnlyFile= Can't perform refactoring on a read-only file.
-FortranEditorRefactoring_CantPerformRefactoringOnFileThatDoesNotExist= Can't perform refactoring on a file that does not exist.
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/package-info.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/package-info.java
deleted file mode 100644
index 31f2852..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/package-info.java
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * This package contains Photran's refactorings.
- * <p>
- * For more information, please see the <i>Photran Developer's Guide</i> in the
- * org.eclipse.photran-dev-docs project.
- */
-package org.eclipse.photran.internal.core.refactoring;
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/LineColComputer.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/LineColComputer.java
deleted file mode 100644
index a44a535..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/LineColComputer.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.reindenter;
-
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.lexer.IPreprocessorReplacement;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-
-/**
- * Traverses the tokens in an AST, using the text stored in each token to update its line, column,
- * and file offset information.
- * <p>
- * This does <i>not</i> update stream offset information (this allows
- * {@link PhotranTokenRef#findToken()} to continue to work correctly).
- * 
- * @author Jeff Overbey
- * 
- * @see IFortranAST#recomputeLineColInfo()
- */
-final class LineColComputer extends ASTVisitorWithLoops
-{
-    private int fileOffset = 0;
-    private int col = 1;
-    private int line = 1;
-    private IPreprocessorReplacement lastPreprocRepl = null;
-
-    @Override public void visitToken(Token token)
-    {
-        IPreprocessorReplacement thisPreprocRepl = token.getPreprocessorDirective();
-
-        // This method's structure is similar to Token#printOn
-        if (thisPreprocRepl != lastPreprocRepl)
-        {
-            if (thisPreprocRepl != null)
-            {
-                updateLineColAndOffset(token.getWhiteBefore());
-                token.setFileOffset(fileOffset);
-                token.setLine(line);
-                token.setCol(col);
-                updateLineColAndOffset(thisPreprocRepl.toString());
-            }
-            lastPreprocRepl = thisPreprocRepl;
-        }
-
-        if (thisPreprocRepl == null)
-        {
-            updateLineColAndOffset(token.getWhiteBefore());
-            token.setFileOffset(fileOffset);
-            token.setLine(line);
-            token.setCol(col);
-            updateLineColAndOffset(token.getText());
-            updateLineColAndOffset(token.getWhiteAfter());
-        }
-    }
-
-    private void updateLineColAndOffset(String s)
-    {
-        for (int i = 0, len = s.length(); i < len; i++)
-        {
-            fileOffset++;
-            
-            if (s.charAt(i) == '\n')
-            {
-                line++;
-                col = 1;
-            }
-            else col++;
-        }
-    }
-
-//    /**
-//     * @return the (1-based) line number of the last token in the file (assuming that this visitor
-//     * has already traversed the AST)
-//     */
-//    public int lineNumberOfLastToken()
-//    {
-//        return line;
-//    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ReindentEachLineVisitor.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ReindentEachLineVisitor.java
deleted file mode 100644
index 2c67673..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ReindentEachLineVisitor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.reindenter;
-
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;
-
-/**
- * AST visitor implementing the {@link Strategy#REINDENT_EACH_LINE} reindentation strategy.
- * 
- * @author Jeff Overbey
- * @author Esfar Huq
- * @author Rui Wang
- */
-final class ReindentEachLineVisitor extends ReindentingVisitor
-{   
-    private StartOfLine previousLine;
-    private String previousIndentation;
-    
-    protected ReindentEachLineVisitor(IFortranAST ast, Token firstTokenInRegion, Token lastTokenInRegion)
-    {
-        super(ast, firstTokenInRegion, lastTokenInRegion);
-        
-        this.previousLine = StartOfLine.createForLastNonemptyLineAbove(getFirstLineToReindent(), this.ast);
-        if (this.previousLine == null)
-            this.previousIndentation = ""; //$NON-NLS-1$
-        else
-            this.previousIndentation = previousLine.getIndentation();
-    }
-
-    @Override protected void updateIndentation(StartOfLine currentLine)
-    {
-        final String currentIndentation = currentLine.getIndentation();
-        final String newIndentation = computeNewIndentation(currentLine);
-
-        currentLine.reindent(currentIndentation, newIndentation);
-        
-        // Lines with labels tend to have atypical indentation (heuristically),
-        // so try to avoid using them to compute the next line's indentation
-        // (unless we're the first line in the file or the first line in a
-        // DO-construct, IF-construct, etc.)
-        if (!currentLine.hasLabel() || previousLine == null || previousLine.startsIndentedRegion() || currentLine.endsIndentedRegion())
-            this.previousIndentation = currentLine.getIndentation();
-
-        this.previousLine = currentLine;
-    }
-
-    private String computeNewIndentation(StartOfLine currentLine)
-    {
-        if (previousLine == null) // currentLine is the line in the file
-            return ""; //$NON-NLS-1$
-        else if (previousLine.startsIndentedRegion() && !currentLine.isContinuationLine() && !currentLine.endsIndentedRegion())
-            return StartOfLine.getIncreasedIndentation(previousIndentation);
-        else if (currentLine.endsDoublyIndentedRegion() && !previousLine.startsIndentedRegion())
-            return StartOfLine.getDecreasedIndentation(StartOfLine.getDecreasedIndentation(previousIndentation));
-        else if (currentLine.isEndDoStmt() && previousLine.isContinueStmt())
-                //|| currentLine.isContinueStmt() && previousLine.isEndDoStmt())
-            return previousIndentation;
-        else if (currentLine.endsIndentedRegion() && !previousLine.startsIndentedRegion()
-                || currentLine.endsDoublyIndentedRegion() && previousLine.startsIndentedRegion())
-            return StartOfLine.getDecreasedIndentation(previousIndentation);
-        else
-            return previousIndentation;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/Reindenter.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/Reindenter.java
deleted file mode 100644
index 7a21885..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/Reindenter.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.reindenter;
-
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-
-/**
- * The Reindenter is used to correct indentation when a node is inserted or
- * moved in an AST so that the affected lines are correctly indented in their
- * new context.
- *  
- * @author Jeff Overbey
- */
-/*
- * This code is very specific to the way Photran's parser uses the whiteBefore and
- * whiteAfter parts of a Token; it will not generalize to parsers that, say, include
- * newlines in the whitetext.
- */
-public final class Reindenter
-{
-    public static enum Strategy
-    {
-        /**
-         * Shifts the entire region left or right to match its new surroundings, keeping
-         * the relative indentation of each line the same.
-         * <p>
-         * The algorithm is as follows:
-         * <ul>
-         *   <li> Usually, the reindented region is adjusted to match the indentation of
-         *        the next non-empty line following the region.
-         *   <li> However, if the next non-empty line starts with "END" (or something),
-         *        the reindented region is adjusted to match the indentation of
-         *        the last non-empty line above the region.
-         *   <li> However, if the last non-empty line above starts with a token like
-         *        "PROGRAM" or "IF," then a guess is made, and the indentation is set
-         *        to match the following line, but four spaces are added.
-         * </ul>
-         */
-        SHIFT_ENTIRE_BLOCK
-        {
-            @Override protected ReindentingVisitor createVisitor(IFortranAST ast, Token firstTokenInRegion, Token lastTokenInRegion)
-            {
-                return new ShiftBlockVisitor(ast, firstTokenInRegion, lastTokenInRegion);
-            }
-        },
-        
-        /**
-         * Shifts each lines in the region left or right to match its new surroundings.
-         * <p>
-         * The algorithm is as follows:
-         * <ul>
-         *   <li> Initially, the line is indented the same as the previous line.
-         *   <li> If the preceding line starts with PROGRAM, IF, DO, etc., the line is
-         *        indented an additional 4 spaces.
-         *   <li> If the line starts with END, it is unindented 4 spaces.
-         * </ul>
-         */
-        REINDENT_EACH_LINE
-        {
-            @Override protected ReindentingVisitor createVisitor(IFortranAST ast, Token firstTokenInRegion, Token lastTokenInRegion)
-            {
-                return new ReindentEachLineVisitor(ast, firstTokenInRegion, lastTokenInRegion);
-            }
-        };
-        
-        protected abstract ReindentingVisitor createVisitor(IFortranAST ast, Token firstTokenInRegion, Token lastTokenInRegion);
-    }
-    
-    public static void reindent(IASTNode node, IFortranAST ast)
-    {
-        reindent(node, ast, Strategy.SHIFT_ENTIRE_BLOCK);
-    }
-
-    public static void reindent(IASTNode node, IFortranAST ast, Strategy strategy)
-    {
-        reindent(node.findFirstToken(), node.findLastToken(), ast, strategy);
-    }
-
-    public static void reindent(Token firstTokenInAffectedNode, Token lastTokenInAffectedNode, IFortranAST ast)
-    {
-        reindent(firstTokenInAffectedNode, lastTokenInAffectedNode, ast, Strategy.SHIFT_ENTIRE_BLOCK);
-    }
-
-    public static void reindent(int fromLine, int thruLine, IFortranAST ast)
-    {
-        reindent(fromLine, thruLine, ast, Strategy.SHIFT_ENTIRE_BLOCK);
-    }
-
-    public static void reindent(int fromLine, int thruLine, IFortranAST ast, Strategy strategy)
-    {
-        reindent(ast.findFirstTokenOnOrAfterLine(fromLine), ast.findLastTokenOnOrBeforeLine(thruLine), ast, strategy);
-    }
-    
-    private static void reindent(Token firstTokenInRegion, Token lastTokenInRegion, IFortranAST ast, Strategy strategy)
-    {
-        if (firstTokenInRegion != null && lastTokenInRegion != null)
-            ast.accept(strategy.createVisitor(ast, firstTokenInRegion, lastTokenInRegion));
-    }
-    
-    public static String defaultIndentation()
-    {
-        return FortranPreferences.TAB_WIDTH.getStringOfSpaces();
-    }
-    
-    private Reindenter() {}
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ReindentingVisitor.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ReindentingVisitor.java
deleted file mode 100644
index b29bf4e..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ReindentingVisitor.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.reindenter;
-
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.FortranAST;
-import org.eclipse.photran.internal.core.analysis.loops.ASTVisitorWithLoops;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.TokenList;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-
-/**
- * Base class for an AST visitor implementing a reindentation strategy.
- * 
- * @author Jeff Overbey
- */
-abstract class ReindentingVisitor extends ASTVisitorWithLoops
-{
-    protected final IFortranAST ast;
-    protected final Token firstTokenInRegion;
-    protected final Token lastTokenInRegion;
-
-    private boolean inFormatRegion = false;
-    private Token previousToken = null;
-
-    protected ReindentingVisitor(IFortranAST ast, Token firstTokenInRegion, Token lastTokenInRegion)
-    {
-        this.ast = recomputeLineColInfo(ast);
-        this.lastTokenInRegion = lastTokenInRegion;
-        this.firstTokenInRegion = firstTokenInRegion;
-    }
-
-    /**
-     * Recomputes the AST's {@link TokenList}, as well as the line, column, and file offset
-     * information for each token. This is needed for line number-based searches to be correct.
-     * <p>
-     * This does <i>not</i> update the stream offset information for each token, and it returns a
-     * new {@link FortranAST} rather than modifying the existing one in-place. This allows
-     * {@link PhotranTokenRef#findToken()} to continue to work correctly.
-     */
-    /*
-     * A lengthier explanation:
-     * PhotranTokenRef#findToken() uses stream offset information (but not file offset, line, or
-     * column info) and looks it up by performing a binary search on the {@link TokenList}. So by
-     * not modifying the stream offset information and by not modifying the existing {@link
-     * TokenList}, it will continue to work correctly.)
-     */
-    private IFortranAST recomputeLineColInfo(IFortranAST ast)
-    {
-        ast.accept(new LineColComputer());
-        return new FortranAST(ast.getFile(), ast.getRoot(), new TokenList(ast.getRoot()));
-    }
-
-    protected StartOfLine getFirstLineToReindent()
-    {
-        if (isFirstTokenOnLine(firstTokenInRegion))
-            return StartOfLine.createForLineStartingWith(firstTokenInRegion);
-        else
-            return StartOfLine.createForFirstNonemptyLineBelow(firstTokenInRegion, ast);
-    }
-
-    private boolean isFirstTokenOnLine(Token token)
-    {
-        return token == ast.findFirstTokenOnLine(token.getLine());
-    }
-
-    @Override public void visitToken(Token token)
-    {
-    	if (token == firstTokenInRegion)
-            inFormatRegion = true;
-        else if (token == lastTokenInRegion)
-            inFormatRegion = false;
-
-        if (inFormatRegion && (previousToken == null || token.getLine() > previousToken.getLine()))
-            updateIndentation(StartOfLine.createForLineStartingWith(token));
-
-        previousToken = token;
-    }
-
-    /** Callback method that updates the indentation of the source line beginning with the given {@link StartOfLine}. */
-    protected abstract void updateIndentation(StartOfLine linePrefix);
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ShiftBlockVisitor.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ShiftBlockVisitor.java
deleted file mode 100644
index 1343925..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/ShiftBlockVisitor.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.reindenter;
-
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;
-
-/**
- * AST visitor implementing the {@link Strategy#SHIFT_ENTIRE_BLOCK} reindentation strategy.
- * 
- * @author Jeff Overbey
- */
-final class ShiftBlockVisitor extends ReindentingVisitor
-{
-    private String oldIndentation, newIndentation;
-
-    protected ShiftBlockVisitor(IFortranAST ast, Token firstTokenInRegion, Token lastTokenInRegion)
-    {
-        super(ast, firstTokenInRegion, lastTokenInRegion);
-        
-        this.oldIndentation = getFirstLineToReindent().getIndentation();
-
-        if (!setNewIndentationFromFollowingLine())
-            if (!setNewIndentationFromPreviousLine(getFirstLineToReindent()))
-                setNewIndentationToDefault();
-    }
-
-    private boolean setNewIndentationFromFollowingLine()
-    {
-        StartOfLine lineAfterReindentedRegion = StartOfLine.createForFirstNonemptyLineBelow(lastTokenInRegion.getLine(), this.ast);
-
-        if (lineAfterReindentedRegion == null) return false; // Cannot determine indentation
-        
-        if (lineAfterReindentedRegion.endsIndentedRegion()) return false; // Use the previous line rather than "guessing"
-
-        this.newIndentation = lineAfterReindentedRegion.getIndentation();
-        return true;
-    }
-
-    private boolean setNewIndentationFromPreviousLine(StartOfLine firstLineToReindent)
-    {
-        StartOfLine lineAboveReindentedRegion = StartOfLine.createForLastNonemptyLineAbove(firstLineToReindent, this.ast);
-        if (lineAboveReindentedRegion == null) return false; // Cannot determine indentation
-
-        if (lineAboveReindentedRegion.startsIndentedRegion())
-            this.newIndentation = lineAboveReindentedRegion.getIncreasedIndentation();
-        else
-            this.newIndentation = lineAboveReindentedRegion.getIndentation();
-        return true;
-    }
-
-    private void setNewIndentationToDefault()
-    {
-        this.newIndentation = ""; //$NON-NLS-1$
-    }
-
-    @Override protected void updateIndentation(StartOfLine line)
-    {
-        line.reindent(oldIndentation, newIndentation);
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/StartOfLine.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/StartOfLine.java
deleted file mode 100644
index 2f15b0e..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/reindenter/StartOfLine.java
+++ /dev/null
@@ -1,472 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.reindenter;
-
-import static org.eclipse.photran.internal.core.reindenter.Reindenter.defaultIndentation;
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-import java.util.ArrayList;
-
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTAssociateStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTBlockDataStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTBlockStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTCaseConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTCaseStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTContainsStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTContinueStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTDerivedTypeStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTDoConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTElseIfStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTElseStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTElseWhereStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndDoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTEndSelectStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTForallConstructStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTIfThenStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTInterfaceStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTLabelDoStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTProgramStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSelectCaseStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSelectTypeStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTVisitor;
-import org.eclipse.photran.internal.core.parser.ASTWhereConstructStmtNode;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.parser.IActionStmt;
-
-/**
- * The first token(s) on a line.
- * <p>
- * For a line beginning an {@link IActionStmt}, this contains its numeric statement label (if any)
- * and the first token of the statement.  For all other lines, including continued lines, this
- * consists of only the first token on the line.
- * 
- * @author Jeff Overbey
- */
-final class StartOfLine
-{
-    public static StartOfLine createForLine(int line, IFortranAST ast)
-    {
-        return StartOfLine.createForLineStartingWith(ast.findFirstTokenOnLine(line));
-    }
-    
-    public static StartOfLine createForFirstNonemptyLineBelow(Token token, IFortranAST ast)
-    {
-        return StartOfLine.createForFirstNonemptyLineBelow(token.getLine(), ast);
-    }
-    
-    public static StartOfLine createForFirstNonemptyLineBelow(int startLine, IFortranAST ast)
-    {
-        Token previousToken = null;
-        for (Token tok : ast)
-        {
-            if (tok.getLine() > startLine && (previousToken == null || previousToken.getLine() <= startLine))
-                return StartOfLine.createForLineStartingWith(tok);
-            
-            previousToken = tok;
-        }
-        
-        return null;
-    }
-
-    public static StartOfLine createForLastNonemptyLineAbove(StartOfLine line, IFortranAST ast)
-    {
-        return StartOfLine.createForLastNonemptyLineAbove(line.getFirstTokenOnLine().getLine(), ast);
-    }
-
-    private static StartOfLine createForLastNonemptyLineAbove(int startLine, IFortranAST ast)
-    {
-        for (int line = startLine - 1; line >= 0; line--)
-        {
-            Token firstBlockOnLine = ast.findFirstTokenOnLine(line);
-            if (firstBlockOnLine != null)
-                return StartOfLine.createForLineStartingWith(firstBlockOnLine);
-        }
-        
-        return null;
-    }
-    
-    public static StartOfLine createForLineStartingWith(Token token)
-    {
-        if (token == null)
-            return null;
-        else if (isLabel(token))
-            return new StartOfLine(token, getTokenFollowingLabel(token));
-        else
-            return new StartOfLine(null, token);
-    }
-
-    private static Token getTokenFollowingLabel(final Token label)
-    {
-        assert isLabel(label);
-        
-        class V extends ASTVisitor
-        {
-            private Token lastToken = null;
-            private Token tokenFollowingLabel = null;
-            
-            @Override public void visitToken(Token token)
-            {
-                if (lastToken == label)
-                    tokenFollowingLabel = token;
-                
-                lastToken = token;
-            }
-        }
-        
-        V v = new V();
-        label.getParent().accept(v);
-        return v.tokenFollowingLabel;
-    }
-
-    private static boolean isLabel(Token token)
-    {
-        return token != null
-            && token.getParent() != null
-            && token.getParent() instanceof IActionStmt
-            && ((IActionStmt)token.getParent()).getLabel() == token;
-    }
-
-    /** The numeric statement label (may be <code>null</code>) */
-    private final Token label;
-    
-    /** The first token of the statement that is not its numeric statement label (non-<code>null</code>) */
-    private final Token firstStmtToken;
-
-    /**
-     * @param label the statement label (may be <code>null</code>)
-     * @param firstStmtToken the first non-label token on the line (non-<code>null</code>)
-     */
-    private StartOfLine(Token label, Token firstStmtToken)
-    {
-        this.label = label; //new Token(Terminal.T_ICON, ""); $NON-NLS-1$
-        this.firstStmtToken = firstStmtToken;
-    }
-    
-    private String getComments()
-    {
-        Token token = getFirstTokenOnLine();
-        String whiteText = token.getWhiteBefore();
-        int lastCR = whiteText.lastIndexOf('\n');
-        if (lastCR >= 0)
-            return whiteText.substring(0, lastCR+1);
-        else
-            return ""; //$NON-NLS-1$
-    }
-    
-    public void reindent(String removeIndent, String addIndent)
-    {
-        reindentComments(removeIndent, addIndent);
-        reindentStatement(removeIndent, addIndent);
-    }
-
-    private void reindentComments(String removeIndent, String addIndent)
-    {
-        StringBuilder sb = new StringBuilder();
-        for (String line : splitLines(getComments()))
-            sb.append(reindentCommentLine(line, removeIndent, addIndent));
-        String reindentedComments = sb.toString();
-        
-        getFirstTokenOnLine().setWhiteBefore(reindentedComments + getIndentation());
-    }
-    
-    private ArrayList<String> splitLines(String comments)
-    {
-        ArrayList<String> result = new ArrayList<String>();
-        
-        int start = 0;
-        int end = comments.indexOf('\n', start);
-        
-        while (end >= start)
-        {
-            result.add(comments.substring(start, end+1));
-            
-            start = end + 1;
-            end = comments.indexOf('\n', start);
-        }
-        
-        if (comments.length() > start)
-            result.add(comments.substring(start, comments.length()));
-        
-        return result;
-    }
-
-    private String reindentCommentLine(String line, String removeIndent, String addIndent)
-    {
-        if (!line.trim().startsWith("!")) return line; //$NON-NLS-1$
-        
-        int endIndex = 0;
-        while (endIndex < line.length() && (line.charAt(endIndex) == ' ' || line.charAt(endIndex) == '\t'))
-            endIndex++;
-        
-        String indentation = line.substring(0, endIndex);
-        String comment = line.substring(endIndex);
-        
-        return newIndentation(indentation, removeIndent, addIndent) + comment;
-    }
-
-    private void reindentStatement(String removeIndent, String addIndent)
-    {
-        setIndentation(newIndentation(getIndentation(), removeIndent, addIndent));
-    }
-
-    /**
-     * Sets the indentation for the first (non-label) token on the line.
-     * <p>
-     * If <code>newIndentation</code> is eight spaces, then
-     * <pre>
-     * ! This is a comment
-     * print *, 0
-     * </pre>
-     * becomes
-     * <pre>
-     * ! This is a comment
-     *         print *, 0
-     * </pre>
-     * and
-     * <pre>
-     * ! This is a comment
-     * 10 print *, 0
-     * </pre>
-     * becomes
-     * <pre>
-     * ! This is a comment
-     * 10      print *, 0
-     * </pre>
-     * 
-     * In the preceding example, note that only six spaces are affixed, since the label is two
-     * characters long.
-     */
-    public void setIndentation(String newIndentation)
-    {
-        getFirstTokenOnLine().setWhiteBefore(getComments() + newIndentation);
-
-        if (label != null)
-        {
-            label.setWhiteBefore(getComments());
-            
-            int start = label.getText().length();
-            int end = newIndentation.length();
-            if (start < end)
-                firstStmtToken.setWhiteBefore(newIndentation.substring(start, end));
-            else
-                firstStmtToken.setWhiteBefore(" "); //$NON-NLS-1$
-        }
-    }
-
-    private String newIndentation(String currentIndentation, String removeIndent, String addIndent)
-    {
-        String newIndentation;
-        if (removeIndent.length() > currentIndentation.length())
-            newIndentation = ""; //$NON-NLS-1$
-        else if (currentIndentation.startsWith(removeIndent))
-            newIndentation = currentIndentation.substring(removeIndent.length());
-        else
-            newIndentation = currentIndentation;
-        
-        newIndentation += addIndent;
-        return newIndentation;
-    }
-
-    public String getIndentation()
-    {
-        String whiteText = getFirstTokenOnLine().getWhiteBefore();
-        int lastCR = whiteText.lastIndexOf('\n');
-        String result = whiteText.substring(lastCR + 1);
-        if (result.equals("") && getFirstTokenOnLine() == label) //$NON-NLS-1$
-        {
-            whiteText = spaces(label.getText().length()) + firstStmtToken.getWhiteBefore();
-            lastCR = whiteText.lastIndexOf('\n');
-            result = whiteText.substring(lastCR + 1);
-        }
-        return result;
-    }
-
-    private String spaces(int count)
-    {
-        StringBuilder sb = new StringBuilder(count);
-        for (int i = 0; i < count; i++)
-            sb.append(' ');
-        return sb.toString();
-    }
-
-    public Token getFirstTokenOnLine()
-    {
-        if (label != null)
-            return label;
-        else
-            return firstStmtToken;
-    }
-
-//    /**
-//     * @return the first token of the statement that is not its numeric statement label (non-<code>null</code>)
-//     */
-//    public Token getFirstStmtToken()
-//    {
-//        return firstStmtToken;
-//    }
-
-    public boolean startsIndentedRegion()
-    {
-        return starts(ASTProgramStmtNode.class)
-            || starts(ASTFunctionStmtNode.class)
-            || starts(ASTSubroutineStmtNode.class)
-            || starts(ASTModuleStmtNode.class)
-            || starts(ASTBlockStmtNode.class)
-            || starts(ASTBlockDataStmtNode.class)
-            || starts(ASTForallConstructStmtNode.class)
-            || starts(ASTWhereConstructStmtNode.class)
-            || starts(ASTDerivedTypeStmtNode.class)
-            || starts(ASTIfThenStmtNode.class)
-            || starts(ASTElseStmtNode.class)
-            || starts(ASTElseWhereStmtNode.class)
-            || starts(ASTElseIfStmtNode.class)
-            || starts(ASTSelectCaseStmtNode.class)
-            || starts(ASTSelectTypeStmtNode.class)
-            || starts(ASTCaseStmtNode.class)
-            || starts(ASTDoConstructNode.class)
-            || starts(ASTLabelDoStmtNode.class)
-            || starts(ASTInterfaceStmtNode.class)
-            || starts(ASTContainsStmtNode.class)
-            || starts(ASTAssociateStmtNode.class);
-    }
-
-    private boolean starts(Class<? extends IASTNode> nodeClass)
-    {
-        return firstStmtToken.findNearestAncestor(nodeClass) != null;
-    }
-
-    public boolean endsIndentedRegion()
-    {
-        Terminal t = firstStmtToken.getTerminal();
-        return t == Terminal.T_CASE && !isFirstCaseStmtInSelectConstruct()
-            || t == Terminal.T_CONTAINS
-            || t == Terminal.T_CONTINUE // Heuristically used to end old-style DO-loops
-            || t == Terminal.T_END
-            || t == Terminal.T_ENDBEFORESELECT
-            || t == Terminal.T_ENDBLOCK
-            || t == Terminal.T_ENDBLOCKDATA
-            || t == Terminal.T_ENDDO
-            || t == Terminal.T_ENDFILE
-            || t == Terminal.T_ENDFORALL
-            || t == Terminal.T_ENDFUNCTION
-            || t == Terminal.T_ENDIF
-            || t == Terminal.T_ENDINTERFACE
-            || t == Terminal.T_ENDMODULE
-            || t == Terminal.T_ENDPROGRAM
-            || t == Terminal.T_ENDSELECT
-            || t == Terminal.T_ENDSUBROUTINE
-            || t == Terminal.T_ENDTYPE
-            || t == Terminal.T_ENDWHERE
-            || t == Terminal.T_ELSE
-            || t == Terminal.T_ELSEWHERE
-            || t == Terminal.T_ELSEIF;
-    }
-
-    public boolean endsDoublyIndentedRegion()
-    {
-        /* SELECT CASE (i)
-         *     CASE (1)
-         *         PRINT *, "HI"
-         * END SELECT             ! << Note that indentation decreased by *two* levels
-         */
-        return firstStmtToken.findNearestAncestor(ASTEndSelectStmtNode.class) != null;
-    }
-    
-    private boolean isFirstCaseStmtInSelectConstruct()
-    {
-        ASTCaseConstructNode selectConstruct = firstStmtToken.findNearestAncestor(ASTCaseConstructNode.class);
-        if (selectConstruct == null) return false;
-        
-        ASTCaseStmtNode firstCaseStmt = selectConstruct.getSelectCaseBody().findFirst(ASTCaseStmtNode.class);
-        if (firstCaseStmt == null) return false;
-        
-        return firstStmtToken.findNearestAncestor(ASTCaseStmtNode.class) == firstCaseStmt;
-    }
-
-    @Override public String toString()
-    {
-        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
-        PrintStream out = new PrintStream(bytes);
-        if (label != null) label.printOn(out, null);
-        firstStmtToken.printOn(out, null);
-        return bytes.toString();
-    }
-
-    /**
-     * @return the indentation of this line, plus an additional unit of indentation
-     */
-    public String getIncreasedIndentation()
-    {
-        return getIncreasedIndentation(getIndentation());
-    }
-
-    /**
-     * @return the indentation of this line, plus an additional unit of indentation
-     */
-    public static String getIncreasedIndentation(String currentIndentation)
-    {
-        return currentIndentation + defaultIndentation();
-    }
-    
-    /**
-     * @return the indentation of this line without its final unit of indentation
-     */
-    public String getDecreasedIndentation()
-    {
-        return getDecreasedIndentation(getIndentation());
-    }
-    
-    /**
-     * @return the indentation of this line without its final unit of indentation
-     */
-    public static String getDecreasedIndentation(String indentation)
-    {
-        //String indentation = getIndentation();
-        if (indentation.endsWith(defaultIndentation()))
-            return indentation.substring(0, indentation.length()-defaultIndentation().length());
-        else if (indentation.endsWith("\t")) //$NON-NLS-1$
-            return indentation.substring(0, indentation.length()-1);
-        else
-            return indentation;
-    }
-
-    /** @return true iff this line starts with a numeric statement label */
-    public boolean hasLabel()
-    {
-        return label != null;
-    }
-
-    /** @return true iff this is a continuation of the statement on the previous line */
-    public boolean isContinuationLine()
-    {
-        String whiteText = firstStmtToken.getWhiteBefore();
-        if (whiteText.indexOf('!') >= 0)
-            whiteText = whiteText.substring(0, whiteText.indexOf('!'));
-        return whiteText.indexOf('&') >= 0;
-    }
-
-    public boolean isEndDoStmt()
-    {
-        return firstStmtToken.findNearestAncestor(ASTEndDoStmtNode.class) != null;
-    }
-
-    public boolean isContinueStmt()
-    {
-        return firstStmtToken.findNearestAncestor(ASTContinueStmtNode.class) != null;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/IterableWrapper.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/IterableWrapper.java
deleted file mode 100644
index 3272d76..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/IterableWrapper.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.util;
-
-import java.util.Iterator;
-
-/**
- * This is a kludge which allows an object to be iterated through via a Java 5 foreach loop, even though it was
- * not declared as such.
- * 
- * This is useful since part of Photran is Java 1.4-compliant and part is 1.5-compliant: it allows a 1.4-compliant
- * object to be iterated through without explicitly constructing an iterator.  When Photran is moved entirely to
- * Java 1.5, these wrappers can simply be removed and the foreach loops left as-is.  If iterators were manually
- * constructed, they would have to be replaced with foreach loops manually.
- * 
- * @author Jeff Overbey
- *
- * @param <T>
- * 
- * JAVA5: Eliminate after move to Java 5
- */
-public class IterableWrapper<T> implements Iterable<T>
-{
-    private Iterator<T> iterator;
-    
-    @SuppressWarnings("unchecked")
-    public IterableWrapper(Object o)
-    {
-        try
-        {
-            this.iterator = (Iterator<T>)o.getClass().getMethod("iterator").invoke(o); //$NON-NLS-1$
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    public Iterator<T> iterator()
-    {
-        return iterator;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/LineCol.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/LineCol.java
deleted file mode 100644
index 46785d7..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/LineCol.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.util;
-
-/**
- * Stores a <b>line</b> and a <b>column</b> number (two integers, typically positive).
- * 
- * <code>LineCol</code>s are frequently used to store the position of a cursor
- * in a text editor or the position of a piece of text in a file.
- * 
- * @author Jeff Overbey
- */
-public final class LineCol
-{
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Static Methods
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public static String toString(int line, int col)
-    {
-        return Messages.bind(Messages.LineCol_Description, line, col);
-    }
-    
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Fields
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    private int line = 0, col = 0;
-    
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Constructor
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public LineCol(int line, int col)
-    {
-        this.line = line;
-        this.col = col;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Accessor/Mutator Methods
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    
-    /** @return this line */
-    public int getLine()
-    {
-        return line;
-    }
-
-    /** Sets this line */
-    public void setLine(int line)
-    {
-        this.line = Math.max(line, 0);
-    }
-
-    /** @return this column */
-    public int getCol()
-    {
-        return col;
-    }
-
-    /** Sets this column */
-    public void setCol(int col)
-    {
-        this.col = Math.max(col, 0);
-    }
-    
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // toString
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    @Override public String toString()
-    {
-        return toString(line, col);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/Messages.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/Messages.java
deleted file mode 100644
index 8eaadb8..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/Messages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.util;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.core.util.messages"; //$NON-NLS-1$
-
-    public static String LineCol_Description;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/Notification.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/Notification.java
deleted file mode 100644
index 9d4e80f..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/Notification.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.util;
-
-/**
- * Visitors can throw a <code>Notification</code> exception to abort a traversal while "remembering"
- * a specific object (e.g., <code>Token</code> or <code>ParseTreeNode</code>) that was located during the traversal
- * (called the <b>stored object</b>).  This object can be retrieved by the method requesting the traversal
- * by catching the <code>Notification</code> and calling its <code>getResult</code> method.
- *  
- * @author Jeff Overbey
- * 
- * LATER: Type-parameterize upon Core move to Java 5
- */
-public class Notification extends Error
-{
-    private static final long serialVersionUID = 1L;
-
-    private Object t;
-    
-    public Notification(Object t) { this.t = t; }
-    
-    /** @return the stored object */
-    public Object getResult() { return t; }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/SemanticError.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/SemanticError.java
deleted file mode 100644
index bcab0e9..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/SemanticError.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.util;
-
-/**
- * A <code>SemanticError</code> is thrown when some some sort of non-syntactic error is detected in a program
- * (e.g., a module does not exist, a name is multiply declared, or an identifier cannot be resolved).
- * 
- * @author Jeff Overbey
- */
-public class SemanticError extends Exception
-{
-    private static final long serialVersionUID = 1L;
-
-    public SemanticError(String message)
-    {
-        super(message);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/messages.properties b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/messages.properties
deleted file mode 100644
index 5259d48..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-LineCol_Description=line {0}, column {1}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/package-info.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/package-info.java
deleted file mode 100644
index c661e88..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/util/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * This package contains an assortment of utility classes that don't fit anywhere else.
- */
-package org.eclipse.photran.internal.core.util;
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/AnnotationType.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/AnnotationType.java
deleted file mode 100644
index 93864bb..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/AnnotationType.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.vpg;
-
-/**
- * Enumeration of the types of annotations stored in Photran's VPG.
- * 
- * @author Jeff Overbey
- * 
- * @see PhotranVPG
- */
-public enum AnnotationType
-{
-    SCOPE_DEFAULT_VISIBILITY_IS_PRIVATE_ANNOTATION_TYPE(Messages.PhotranVPG_DefaultVisibilityForScopeIsPrivate),
-    SCOPE_IS_INTERNAL_ANNOTATION_TYPE(Messages.PhotranVPG_ScopeIsInternal),
-    SCOPE_IMPLICIT_SPEC_ANNOTATION_TYPE(Messages.PhotranVPG_ImplicitSpecForScope),
-    DEFINITION_ANNOTATION_TYPE(Messages.PhotranVPG_Definition),
-    TYPE_ANNOTATION_TYPE(Messages.PhotranVPG_Type),
-    MODULE_TOKENREF_ANNOTATION_TYPE(Messages.PhotranVPG_ModuleTokenRef),
-    MODULE_SYMTAB_ENTRY_COUNT_ANNOTATION_TYPE(Messages.PhotranVPG_ModuleSymbolTableEntryCount),
-    MODULE_SYMTAB_ENTRY_ANNOTATION_TYPE(Messages.PhotranVPG_ModuleSymbolTableEntry),
-    VARIABLE_ACCESS_ANNOTATION_TYPE(Messages.PhotranVPG_VariableAccess);
-
-    private final String description;
-    
-    private AnnotationType(String description)
-    {
-        this.description = description;
-    }
-    
-    @Override public String toString()
-    {
-        return description;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/EdgeType.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/EdgeType.java
deleted file mode 100644
index cb5aa9b..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/EdgeType.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.vpg;
-
-/**
- * Enumeration of the types of edges stored in Photran's VPG.
- * 
- * @author Jeff Overbey
- * 
- * @see PhotranVPG
- */
-public enum EdgeType
-{
-    DEFINED_IN_SCOPE_EDGE_TYPE(Messages.PhotranVPG_DefinitionScopeRelationship),
-    IMPORTED_INTO_SCOPE_EDGE_TYPE(Messages.PhotranVPG_DefinitionScopeRelationshipDueToModuleImport),
-    BINDING_EDGE_TYPE(Messages.PhotranVPG_NameBinding),
-    RENAMED_BINDING_EDGE_TYPE(Messages.PhotranVPG_RenamedBinding),
-    DEFINITION_IS_PRIVATE_IN_SCOPE_EDGE_TYPE(Messages.PhotranVPG_DefinitionIsPrivateInScope),
-    ILLEGAL_SHADOWING_EDGE_TYPE(Messages.PhotranVPG_IllegalShadowing),
-    CONTROL_FLOW_EDGE_TYPE(Messages.PhotranVPG_ControlFlow);
-
-    private final String description;
-    
-    private EdgeType(String description)
-    {
-        this.description = description;
-    }
-    
-    @Override public String toString()
-    {
-        return description;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/IPhotranSerializable.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/IPhotranSerializable.java
deleted file mode 100644
index b655fa9..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/IPhotranSerializable.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.vpg;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Serializable;
-
-/**
- * An object that can be serialized as an annotation in the VPG (or part of an annotation).
- * 
- * @author Jeff Overbey
- * 
- * @see PhotranVPGSerializer
- * @see PhotranVPGDB#setAnnotation(PhotranTokenRef, int, Serializable)
- */
-public interface IPhotranSerializable extends Serializable
-{
-    /**
-     * @return a character unique to this class that identifies it when deserializing
-     *  objects; this should be one of the CLASS_* constants defined at the top of
-     *  {@link PhotranVPGSerializer} 
-     */
-    public char getSerializationCode();
-    
-    /**
-     * Serializes this object to the given stream by invoking
-     * {@link PhotranVPGSerializer#serialize(Serializable, OutputStream)}
-     * on each of its fields
-     */
-    public void writeTo(OutputStream out) throws IOException;    
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/Messages.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/Messages.java
deleted file mode 100644
index 1c5f0e0..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/Messages.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.vpg;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.core.vpg.messages"; //$NON-NLS-1$
-
-    public static String PhotranVPG_AnalysisRefactoringNotEnabled;
-
-    public static String PhotranVPG_ControlFlow;
-
-    public static String PhotranVPG_DefaultVisibilityForScopeIsPrivate;
-
-    public static String PhotranVPG_Definition;
-
-    public static String PhotranVPG_DefinitionIsPrivateInScope;
-
-    public static String PhotranVPG_DefinitionScopeRelationship;
-
-    public static String PhotranVPG_DefinitionScopeRelationshipDueToModuleImport;
-
-    public static String PhotranVPG_FileIsNotInAFortranProject;
-
-    public static String PhotranVPG_GlobalScope;
-
-    public static String PhotranVPG_IllegalShadowing;
-
-    public static String PhotranVPG_ImplicitSpecForScope;
-
-    public static String PhotranVPG_ModuleSymbolTableEntry;
-
-    public static String PhotranVPG_ModuleSymbolTableEntryCount;
-
-    public static String PhotranVPG_ModuleTokenRef;
-
-    public static String PhotranVPG_NameBinding;
-
-    public static String PhotranVPG_NotAFortranSourceFile;
-
-    public static String PhotranVPG_OffsetN;
-
-    public static String PhotranVPG_PhotranIndexer;
-
-    public static String PhotranVPG_ProjectIsNotAccessible;
-
-    public static String PhotranVPG_ProjectIsNotAFortranProject;
-
-    public static String PhotranVPG_RenamedBinding;
-
-    public static String PhotranVPG_ScopeIsInternal;
-
-    public static String PhotranVPG_Type;
-
-    public static String PhotranVPG_VariableAccess;
-
-    public static String PhotranVPGBuilder_ErrorParsingFile;
-
-    public static String PhotranVPGBuilder_ErrorParsingFileMessage;
-
-    public static String PhotranVPGBuilder_FileContainsSyntaxErrors;
-
-    public static String PhotranVPGSerializer_AnnotationCorrupted;
-
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranTokenRef.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranTokenRef.java
deleted file mode 100644
index 9779dc3..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranTokenRef.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.vpg;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Serializable;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.rephraserengine.core.util.OffsetLength;
-import org.eclipse.rephraserengine.core.vpg.NodeRef;
-import org.eclipse.rephraserengine.core.vpg.VPG;
-
-/**
- * A reference to a token in a Fortran AST (used by the VPG).
- * 
- * @author Jeff Overbey
- * 
- * @see PhotranVPG
- */
-public class PhotranTokenRef extends NodeRef<Token> implements IPhotranSerializable //, Comparable<PhotranTokenRef>
-{
-	private static final long serialVersionUID = 1L;
-	
-    // ***WARNING*** If any fields change, the serialization methods (below) must also change!
-
-	public PhotranTokenRef(String filename, int offset, int length)
-	{
-		super(filename, offset, length);
-		if (filename == null) throw new IllegalArgumentException();
-	}
-	
-	public PhotranTokenRef(IFile file, int offset, int length)
-	{
-		this(file == null ? "" : PhotranVPG.getFilenameForIFile(file), offset, length); //$NON-NLS-1$
-	}
-	
-	public PhotranTokenRef(PhotranTokenRef copyFrom)
-	{
-		super(copyFrom);
-	}
-
-    public PhotranTokenRef(String filename, OffsetLength ol)
-    {
-        this(filename, ol.getOffset(), ol.getLength());
-    }
-
-    public IFile getFile()
-	{
-		return PhotranVPG.getIFileForFilename(getFilename());
-	}
-    
-    @Override public Token getASTNode()
-    {
-        return findToken();
-    }
-	
-	public Token findToken()
-	{
-		try
-		{
-	        IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(getFilename());
-	        if (ast == null)
-	            return null;
-	        else
-	            return ast.findTokenByStreamOffsetLength(getOffset(), getLength());
-		}
-		catch (Exception e)
-		{
-			throw new Error(e);
-		}
-	}
-	
-	public Token findTokenOrReturnNull()
-	{
-		return findToken();
-	}
-	
-	public String getText()
-	{
-		return findToken().getText();
-	}
-
-    public int compareTo(PhotranTokenRef that)
-    {
-        // Compare lexicographically as an ordered triple (filename, offset, length)
-        int result = this.getFilename().compareTo(that.getFilename());
-        if (result == 0) result = Integer.valueOf(this.getOffset()).compareTo(that.getOffset());
-        if (result == 0) result = Integer.valueOf(this.getLength()).compareTo(that.getLength());
-        return result;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // AST Mapping
-    ///////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Returns a list of the tokens pointed at by an edge extending from the given token.
-     * <p>
-     * To only return edges of a particular type, set the <code>edgeType</code>
-     * parameter to that type.
-     *
-     * @param edgeType the type of edge (an arbitrary non-negative integer), or
-     *                 {@link VPG#ALL_EDGES} to process all edges, regardless
-     *                 of type
-     * @since 3.0
-     */
-    @SuppressWarnings("unchecked")
-    @Override public Iterable<PhotranTokenRef> followOutgoing(int edgeType)
-    {
-        return super.followOutgoing(edgeType);
-    }
-
-    public Iterable<PhotranTokenRef> followOutgoing(EdgeType edgeType)
-    {
-        return super.followOutgoing(edgeType.ordinal());
-    }
-
-    /**
-     * Returns a list of the tokens which have an edges pointing at the given token.
-     * <p>
-     * To only return edges of a particular type, set the <code>edgeType</code>
-     * parameter to that type.
-     *
-     * @param edgeType the type of edge (an arbitrary non-negative integer), or
-     *                 {@link VPG#ALL_EDGES} to process all edges, regardless
-     *                 of type
-     * @since 3.0
-     */
-    @SuppressWarnings("unchecked")
-    @Override public Iterable<PhotranTokenRef> followIncoming(int edgeType)
-    {
-        return super.followIncoming(edgeType);
-    }
-
-    public Iterable<PhotranTokenRef> followIncoming(EdgeType edgeType)
-    {
-        return super.followIncoming(edgeType.ordinal());
-    }
-    
-    public <R extends Serializable> R getAnnotation(AnnotationType annotationType)
-    {
-        return super.getAnnotation(annotationType.ordinal());
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override protected PhotranVPG getVPG()
-    {
-        return PhotranVPG.getInstance();
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////
-    // IPhotranSerializable Implementation
-    ////////////////////////////////////////////////////////////////////////////////
-    
-    public static PhotranTokenRef readFrom(InputStream in) throws IOException
-    {
-        String filename = PhotranVPGSerializer.deserialize(in);
-        int offset = PhotranVPGSerializer.deserialize(in);
-        int length = PhotranVPGSerializer.deserialize(in);
-        return new PhotranTokenRef(filename, offset, length);
-    }
-    
-    public void writeTo(OutputStream out) throws IOException
-    {
-        PhotranVPGSerializer.serialize(getFilename(), out);
-        PhotranVPGSerializer.serialize(getOffset(), out);
-        PhotranVPGSerializer.serialize(getLength(), out);
-    }
-    
-    public char getSerializationCode()
-    {
-        return PhotranVPGSerializer.CLASS_TOKENREF;
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPG.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPG.java
deleted file mode 100644
index 8a89a0c..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPG.java
+++ /dev/null
@@ -1,565 +0,0 @@
-package org.eclipse.photran.internal.core.vpg;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.TreeSet;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.FProjectNature;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.Definition.Visibility;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTErrorConstructNode;
-import org.eclipse.photran.internal.core.parser.ASTErrorProgramUnitNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTExternalNameListNode;
-import org.eclipse.photran.internal.core.parser.ASTExternalStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTVisitor;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.parser.IProgramUnit;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-import org.eclipse.photran.internal.core.properties.SearchPathProperties;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-
-/**
- * Photran's Virtual Program Graph.
- *
- * @author Jeff Overbey
- */
-//public class PhotranVPG extends EclipseVPG<IFortranAST, Token, PhotranTokenRef, PhotranVPGDB, PhotranVPGLog>
-public class PhotranVPG extends EclipseVPG<IFortranAST, Token, PhotranTokenRef>
-{
-    private static PhotranVPG instance = null;
-
-    public static PhotranVPG getInstance()
-    {
-        if (instance == null)
-        {
-            PhotranVPGComponentFactory locator = new PhotranVPGComponentFactory();
-            
-            if (/*inTestingMode() ||*/ FortranPreferences.ENABLE_VPG_LOGGING.getValue())
-            {
-                instance = new PhotranVPG(locator)
-                {
-                    @Override public void debug(String message, String filename)
-                    {
-                        System.out.println(message + " - " + lastSegmentOfFilename(filename)); //$NON-NLS-1$
-                    }
-                };
-            }
-            else
-            {
-                instance = new PhotranVPG(locator);
-            }
-        }
-        
-        return instance;
-    }
-    
-    public static PhotranVPGWriter getProvider()
-    {
-        return getInstance().getVPGWriter();
-    }
-
-    //protected PhotranVPG(PhotranVPGNodeFactory locator, PhotranVPGDB db)
-    protected PhotranVPG(PhotranVPGComponentFactory locator)
-    {
-        super(locator, Messages.PhotranVPG_PhotranIndexer, 2);
-    }
-
-    @Override public void start()
-    {
-        if (!FortranCorePlugin.inTestingMode()) super.start();
-    }
-    
-    public static String canonicalizeIdentifier(String identifier)
-    {
-        return identifier.trim().toLowerCase().replaceAll("[ \t\r\n]", ""); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-
-
-
-
-
-
-
-
-
-
-
-
-    public ArrayList<Definition> findAllExternalSubprogramsNamed(String name)
-    {
-        ArrayList<Definition> result = new ArrayList<Definition>();
-        for (IFile file : findFilesThatExportSubprogram(name))
-            result.addAll(findSubprograms(name, file));
-        return result;
-    }
-
-    private ArrayList<Definition> findSubprograms(String name, IFile file)
-    {
-        ArrayList<Definition> result = new ArrayList<Definition>();
-        String cname = canonicalizeIdentifier(name);
-
-        IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(file);
-        if (ast != null)
-        {
-            ASTExecutableProgramNode node = ast.getRoot();
-            for (IProgramUnit pu : node.getProgramUnitList())
-            {
-                PhotranTokenRef tr = attemptToMatch(cname, pu);
-                if (tr != null)
-                {
-                    Definition d = getDefinitionFor(tr);
-                    if (d != null) result.add(d);
-                }
-            }
-        }
-
-        return result;
-    }
-
-    private PhotranTokenRef attemptToMatch(String cname, IProgramUnit pu)
-    {
-        if (pu instanceof ASTSubroutineSubprogramNode)
-            return attemptToMatch(cname, ((ASTSubroutineSubprogramNode)pu).getSubroutineStmt());
-        else if (pu instanceof ASTFunctionSubprogramNode)
-            return attemptToMatch(cname, ((ASTFunctionSubprogramNode)pu).getFunctionStmt());
-        else
-            return null;
-    }
-
-    private PhotranTokenRef attemptToMatch(String cname, ASTSubroutineStmtNode functionStmt)
-    {
-        return attemptToMatch(cname, functionStmt.getSubroutineName().getSubroutineName());
-    }
-
-    private PhotranTokenRef attemptToMatch(String cname, ASTFunctionStmtNode functionStmt)
-    {
-        return attemptToMatch(cname, functionStmt.getFunctionName().getFunctionName());
-    }
-
-    private PhotranTokenRef attemptToMatch(String cname, Token nameToken)
-    {
-            String thisSub = canonicalizeIdentifier(nameToken.getText());
-            if (thisSub.equals(cname))
-                return nameToken.getTokenRef();
-            else
-                return null;
-    }
-    
-    public static ASTNodeWithErrorRecoverySymbols findFirstErrorIn(ASTExecutableProgramNode ast)
-    {
-        class V extends ASTVisitor
-        {
-            private ASTNodeWithErrorRecoverySymbols firstError = null;
-            
-            @Override public void visitASTErrorProgramUnitNode(ASTErrorProgramUnitNode node)
-            {
-                if (firstError == null)
-                    firstError = node;
-            }
-
-            @Override public void visitASTErrorConstructNode(ASTErrorConstructNode node)
-            {
-                if (firstError == null)
-                    firstError = node;
-            }
-        };
-        
-        V v = new V();
-        ast.accept(v);
-        return v.firstError;
-    }
-
-//    private ArrayList<Definition> mapDefinitions(ArrayList<PhotranTokenRef> tokenRefs)
-//    {
-//        ArrayList<Definition> result = new ArrayList<Definition>();
-//        for (PhotranTokenRef tr : tokenRefs)
-//        {
-//            Definition def = getDefinitionFor(tr);
-//            if (def != null)
-//                result.add(def);
-//        }
-//        return result;
-//    }
-
-    public ArrayList<Definition> findAllDeclarationsInInterfacesForExternalSubprogram(String name)
-    {
-        ArrayList<Definition> result = new ArrayList<Definition>();
-        for (IFile file : findFilesThatImportSubprogram(name))
-            result.addAll(findInterfaceSubprograms(name, file));
-        return result;
-    }
-
-    private ArrayList<Definition> findInterfaceSubprograms(String name, IFile file)
-    {
-        ArrayList<Definition> result = new ArrayList<Definition>();
-
-        IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(file);
-        if (ast != null)
-            ast.accept(new InterfaceVisitor(result, canonicalizeIdentifier(name)));
-
-        return result;
-    }
-
-    private final class InterfaceVisitor extends GenericASTVisitor
-    {
-        private final ArrayList<Definition> result;
-        private final String canonicalizedName;
-
-        public InterfaceVisitor(ArrayList<Definition> result, String canonicalizedName)
-        {
-            this.result = result;
-            this.canonicalizedName = canonicalizedName;
-        }
-
-        @Override public void visitASTFunctionStmtNode(ASTFunctionStmtNode node)
-        {
-            addIfDefinedInInterface(attemptToMatch(canonicalizedName, node));
-        }
-
-        @Override public void visitASTSubroutineStmtNode(ASTSubroutineStmtNode node)
-        {
-            addIfDefinedInInterface(attemptToMatch(canonicalizedName, node));
-        }
-
-        private void addIfDefinedInInterface(PhotranTokenRef tr)
-        {
-            Definition def = tr == null ? null : getDefinitionFor(tr);
-            if (def != null && def.isExternalSubprogramReferenceInInterfaceBlock())
-                result.add(def);
-        }
-    }
-
-    public ArrayList<Definition> findAllDeclarationsInExternalStmts(String name)
-    {
-        ArrayList<Definition> result = new ArrayList<Definition>();
-        for (IFile file : findFilesThatImportSubprogram(name))
-            result.addAll(findExternalStmts(name, file));
-        return result;
-    }
-
-    private ArrayList<Definition> findExternalStmts(String name, IFile file)
-    {
-        ArrayList<Definition> result = new ArrayList<Definition>();
-
-        IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(file);
-        if (ast != null)
-            ast.accept(new ExternalStmtVisitor(result, canonicalizeIdentifier(name)));
-
-        return result;
-    }
-
-    private final class ExternalStmtVisitor extends GenericASTVisitor
-    {
-        private final ArrayList<Definition> result;
-        private final String canonicalizedName;
-
-        public ExternalStmtVisitor(ArrayList<Definition> result, String canonicalizedName)
-        {
-            this.result = result;
-            this.canonicalizedName = canonicalizedName;
-        }
-
-        // # R1208
-        // <ExternalStmt> ::=
-        // <LblDef> T_EXTERNAL <ExternalNameList> T_EOS
-        // | <LblDef> T_EXTERNAL T_COLON T_COLON <ExternalNameList> T_EOS
-        //
-        // <ExternalNameList> ::=
-        // <ExternalName>
-        // | @:<ExternalNameList> T_COMMA <ExternalName>
-
-        @Override public void visitASTExternalStmtNode(ASTExternalStmtNode node)
-        {
-            super.traverseChildren(node);
-
-            IASTListNode<ASTExternalNameListNode> list = node.getExternalNameList();
-            for (int i = 0; i < list.size(); i++)
-                add(attemptToMatch(canonicalizedName, list.get(i).getExternalName()));
-        }
-
-        private void add(PhotranTokenRef tr)
-        {
-            Definition def = tr == null ? null : getDefinitionFor(tr);
-            if (def != null) // && def.getClassification().equals(Classification.EXTERNAL))
-                result.add(def);
-        }
-    }
-
-    private List<IFile> getOutgoingIFileDependenciesFrom(String targetFilename)
-    {
-        List<IFile> files = new LinkedList<IFile>();
-        for (String filename : super.getOutgoingDependenciesFrom(targetFilename))
-        {
-            IFile file = getIFileForFilename(filename);
-            if (file != null) files.add(file);
-        }
-        return files;
-    }
-
-    private List<IFile> getIncomingIFileDependenciesTo(String targetFilename)
-    {
-        List<IFile> files = new LinkedList<IFile>();
-        for (String filename : super.getIncomingDependenciesTo(targetFilename))
-            files.add(getIFileForFilename(filename));
-        return files;
-    }
-
-    public List<IFile> findFilesThatExportSubprogram(String subprogramName)
-    {
-        return getOutgoingIFileDependenciesFrom("subprogram:" + canonicalizeIdentifier(subprogramName)); //$NON-NLS-1$
-    }
-
-    public List<IFile> findFilesThatImportSubprogram(String subprogramName)
-    {
-        return getIncomingIFileDependenciesTo("subprogram:" + canonicalizeIdentifier(subprogramName)); //$NON-NLS-1$
-    }
-
-    public List<IFile> findFilesThatExportModule(String moduleName)
-    {
-        return getOutgoingIFileDependenciesFrom("module:" + canonicalizeIdentifier(moduleName)); //$NON-NLS-1$
-    }
-
-    public List<IFile> findFilesThatImportModule(String moduleName)
-    {
-        return getIncomingIFileDependenciesTo("module:" + canonicalizeIdentifier(moduleName)); //$NON-NLS-1$
-    }
-
-    public List<IFile> findFilesThatUseCommonBlock(String commonBlockName)
-    {
-        // The unnamed common block is stored with the empty name as its name
-        if (commonBlockName == null) commonBlockName = ""; //$NON-NLS-1$
-
-        return getIncomingIFileDependenciesTo("common:" + canonicalizeIdentifier(commonBlockName)); //$NON-NLS-1$
-    }
-
-    public Iterable<String> listAllModules()
-    {
-        return listAllDependentFilenamesStartingWith("module:"); //$NON-NLS-1$
-    }
-
-    public Iterable<String> listAllSubprograms()
-    {
-        return listAllDependentFilenamesStartingWith("subprogram:"); //$NON-NLS-1$
-    }
-
-    public Iterable<String> listAllCommonBlocks()
-    {
-        return listAllFilenamesWithDependentsStartingWith("common:"); //$NON-NLS-1$
-    }
-
-    private Iterable<String> listAllDependentFilenamesStartingWith(String prefix)
-    {
-        /*
-         * When there is a module "module1" declared in module1.f90, the VPG
-         * will contain a dependency
-         *
-         *     module:module1    -----depends-on----->    module1.f90
-         *
-         * So we can determine all modules by searching the list of dependent
-         * filenames.  Note that this will include every module that is
-         * declared, even if it is never used.
-         * 
-         * This same procedure works for external subprograms as well.
-         */
-
-        TreeSet<String> result = new TreeSet<String>();
-        for (String name : listAllDependentFilenames())
-            if (name.startsWith(prefix))
-                result.add(name.substring(prefix.length()));
-        for (String name : listAllFilenamesWithDependents())
-            if (name.startsWith(prefix))
-                result.add(name.substring(prefix.length()));
-        return result;
-    }
-
-    private Iterable<String> listAllFilenamesWithDependentsStartingWith(String prefix)
-    {
-        /*
-         * When there is a common block "common1" declared in common1.f90, the VPG
-         * will contain a dependency
-         *
-         *     common1.f90    -----depends-on----->    common:common1
-         *
-         * So we can determine all commons by searching the list of filenames
-         * with dependencies.
-         */
-
-        TreeSet<String> result = new TreeSet<String>();
-        for (String name : listAllFilenamesWithDependents())
-            if (name.startsWith(prefix))
-                result.add(name.substring(prefix.length()));
-        return result;
-    }
-
-    public Definition getDefinitionFor(PhotranTokenRef tokenRef)
-    {
-        return tokenRef.getAnnotation(AnnotationType.DEFINITION_ANNOTATION_TYPE);
-    }
-
-    public Type getTypeFor(PhotranTokenRef tokenRef)
-    {
-        return tokenRef.getAnnotation(AnnotationType.TYPE_ANNOTATION_TYPE);
-    }
-
-    public Visibility getVisibilityFor(Definition def, ScopingNode visibilityInScope)
-    {
-        PhotranTokenRef targetScope = visibilityInScope.getRepresentativeToken();
-
-        for (PhotranTokenRef privateScope : def.getTokenRef().followOutgoing(EdgeType.DEFINITION_IS_PRIVATE_IN_SCOPE_EDGE_TYPE))
-            if (privateScope.equals(targetScope))
-                return Visibility.PRIVATE;
-
-        return Visibility.PUBLIC;
-    }
-
-    public PhotranTokenRef getModuleTokenRef(String moduleName)
-    {
-        String filename = "module:" + canonicalizeIdentifier(moduleName); //$NON-NLS-1$
-        PhotranTokenRef tokenRef = getVPGNode(filename, 0, 0);
-        //System.err.println("getModuleTokenRef(" + moduleName + ") returning " + db.getAnnotation(tokenRef, MODULE_TOKENREF_ANNOTATION_TYPE));
-        return tokenRef.getAnnotation(AnnotationType.MODULE_TOKENREF_ANNOTATION_TYPE);
-    }
-
-    public List<Definition> getModuleSymbolTable(String moduleName)
-    {
-        return getProvider().getModuleSymbolTable(moduleName);
-    }
-
-
-
-
-
-    @Override
-    public String describeEdgeType(int edgeType)
-    {
-        return getProvider().describeEdgeType(edgeType);
-    }
-
-    @Override
-    public String describeAnnotationType(int annotationType)
-    {
-        return getProvider().describeAnnotationType(annotationType);
-    }
-
-
-
-    
-    public boolean doesProjectHaveRefactoringEnabled(IFile file)
-    {
-        if (FortranCorePlugin.inTestingMode()) return true;
-
-        String vpgEnabledProperty = new SearchPathProperties().getProperty(
-            file,
-            SearchPathProperties.ENABLE_VPG_PROPERTY_NAME);
-        return vpgEnabledProperty != null && vpgEnabledProperty.equals("true"); //$NON-NLS-1$
-    }
-
-
-
-
-
-
-
-
-
-
-    @Override public String getSourceCodeFromAST(IFortranAST ast)
-    {
-        return ast.getRoot().toString();
-    }
-
-
-
-
-
-
-
-
-    @Override
-    public boolean shouldProcessFile(IFile file)
-    {
-        return FortranCorePlugin.hasFortranContentType(file.getName()); 
-    }
-
-    @Override
-    public boolean shouldProcessProject(IProject project)
-    {
-        try
-        {
-            if (!project.isAccessible()) return false;
-            if (!project.hasNature(FProjectNature.F_NATURE_ID)) return false;
-            return FortranCorePlugin.inTestingMode() || new SearchPathProperties().getProperty(project, SearchPathProperties.ENABLE_VPG_PROPERTY_NAME).equals("true"); //$NON-NLS-1$
-        }
-        catch (CoreException e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    public String describeWhyCannotProcessProject(IProject project)
-    {
-        try
-        {
-            if (!project.isAccessible())
-                return Messages.bind(Messages.PhotranVPG_ProjectIsNotAccessible, project.getName());
-            else if (!project.hasNature(FProjectNature.F_NATURE_ID))
-                return Messages.bind(Messages.PhotranVPG_ProjectIsNotAFortranProject, project.getName());
-            else if (!new SearchPathProperties().getProperty(project, SearchPathProperties.ENABLE_VPG_PROPERTY_NAME).equals("true")) //$NON-NLS-1$
-                return Messages.bind(Messages.PhotranVPG_AnalysisRefactoringNotEnabled, project.getName());
-            else
-                return null;
-        }
-        catch (CoreException e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    public String describeWhyCannotProcessFile(IFile file)
-    {
-        if (file.getProject() == null)
-            return Messages.bind(Messages.PhotranVPG_FileIsNotInAFortranProject, file.getName());
-        else if (!shouldProcessProject(file.getProject()))
-            return describeWhyCannotProcessProject(file.getProject());
-        else if (!shouldProcessFile(file))
-            return Messages.bind(
-                Messages.PhotranVPG_NotAFortranSourceFile,
-                file.getName(),
-                file.getFileExtension());
-        else
-            return null;
-    }
-
-    @Override
-    public boolean isVirtualFile(String filename)
-    {
-        return filename.startsWith("module:") || filename.startsWith("common:") || filename.startsWith("subprogram:"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-    }
-
-
-
-
-
-    @Override
-    public IFortranAST parse(final String filename)
-    {
-        return ((PhotranVPGWriter)getVPGWriter()).parse(filename);
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGComponentFactory.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGComponentFactory.java
deleted file mode 100644
index e4f6279..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGComponentFactory.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.vpg;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.Activator;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-import org.eclipse.rephraserengine.core.vpg.IVPGComponentFactory;
-import org.eclipse.rephraserengine.core.vpg.VPGDB;
-import org.eclipse.rephraserengine.core.vpg.VPGLog;
-import org.eclipse.rephraserengine.core.vpg.db.profiling.ProfilingDB;
-import org.eclipse.rephraserengine.core.vpg.eclipse.IEclipseVPGComponentFactory;
-
-/**
- * Photran's {@link IVPGComponentFactory}, which creates the log, database, etc. used by {@link PhotranVPG}.
- * 
- * @author Jeff Overbey
- */
-public class PhotranVPGComponentFactory
-  implements IEclipseVPGComponentFactory<IFortranAST, Token, PhotranTokenRef>
-{
-    public VPGLog<Token, PhotranTokenRef> createLog()
-    {
-        File logFile = new File(
-            Activator.getDefault().getStateLocation().addTrailingSeparator().toOSString() +
-            "photran70vpg-log.txt"); //$NON-NLS-1$
-
-        return new VPGLog<Token, PhotranTokenRef>(logFile, this);
-    }
-
-    public VPGDB<IFortranAST, Token, PhotranTokenRef> createDatabase(VPGLog<Token, PhotranTokenRef> log)
-    {
-        File file = FortranCorePlugin.inTestingMode()
-            ? createTempFile()
-            : getFileInPluginStateLocation();
-        
-        if (FortranPreferences.ENABLE_VPG_LOGGING.getValue())
-            System.out.println("Using Photran VPG database " + file.getAbsolutePath()); //$NON-NLS-1$
-
-        return new ProfilingDB<IFortranAST, Token, PhotranTokenRef>(
-            new PhotranVPGDB1(this, file, log));
-            //new PhotranVPGDB2(this, file, log));
-    }
-
-    private static File createTempFile()
-    {
-        try
-        {
-            File f = File.createTempFile("vpg", null); //$NON-NLS-1$
-            f.deleteOnExit();
-            return f;
-        }
-        catch (IOException e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    private static File getFileInPluginStateLocation()
-    {
-        return new File(Activator.getDefault().getStateLocation().addTrailingSeparator().toOSString() + "photran70vpg.new"); //$NON-NLS-1$
-    }
-
-    public PhotranVPGWriter createVPGWriter(VPGDB<IFortranAST, Token, PhotranTokenRef> db, VPGLog<Token,PhotranTokenRef> log)
-    {
-        return new PhotranVPGWriter(db, log);
-    }
-
-    public PhotranTokenRef getVPGNode(String filename, int offset, int length)
-    {
-        return new PhotranTokenRef(filename, offset, length);
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGDB1.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGDB1.java
deleted file mode 100644
index 5c3851a..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGDB1.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.eclipse.photran.internal.core.vpg;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Serializable;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.rephraserengine.core.vpg.VPGLog;
-import org.eclipse.rephraserengine.core.vpg.db.caching.CachingDB;
-import org.eclipse.rephraserengine.core.vpg.db.cdt.CDTDB;
-
-/**
- * Photran VPG database based on CDT's B-tree infrastructure and a caching decorator.
- * 
- * @author Jeff Overbey
- */
-public class PhotranVPGDB1 extends CachingDB<IFortranAST, Token, PhotranTokenRef>
-{
-    public PhotranVPGDB1(PhotranVPGComponentFactory locator, File file, VPGLog<Token,PhotranTokenRef> log)
-    {
-        super(new PhotranCDTDB(locator, file, log), 500, 10000);
-    }
-
-    static class PhotranCDTDB extends CDTDB<IFortranAST, Token, PhotranTokenRef>
-    {
-        private PhotranCDTDB(PhotranVPGComponentFactory locator, File file, VPGLog<Token,PhotranTokenRef> log)
-        {
-            super(file, locator, log);
-        }
-
-        @Override
-        protected long getModificationStamp(String filename)
-        {
-            if (PhotranVPG.getInstance().isVirtualFile(filename)) return Long.MIN_VALUE;
-
-            IFile ifile = PhotranVPG.getIFileForFilename(filename);
-            return ifile == null ? Integer.MIN_VALUE : ifile.getLocalTimeStamp();
-        }
-
-        @Override protected byte[] serialize(Serializable annotation) throws IOException
-        {
-            ByteArrayOutputStream out = new ByteArrayOutputStream();
-            PhotranVPGSerializer.serialize(annotation, out);
-            return out.toByteArray();
-
-//            ByteArrayOutputStream out = new ByteArrayOutputStream();
-//            new ObjectOutputStream(out).writeObject(annotation);
-//            return out.toByteArray();
-        }
-
-        @Override protected Serializable deserialize(InputStream binaryStream) throws IOException, ClassNotFoundException
-        {
-            return PhotranVPGSerializer.deserialize(binaryStream);
-
-//            return (Serializable)new ObjectInputStream(binaryStream).readObject();
-        }
-    }
-
-    @Override
-    public String describeEdgeType(int edgeType)
-    {
-        return super.describeEdgeType(edgeType);
-    }
-
-    @Override
-    public String describeAnnotationType(int annotationType)
-    {
-        return super.describeAnnotationType(annotationType);
-    }
-
-    @Override
-    public String describeToken(String filename, int offset, int length)
-    {
-        return super.describeToken(filename, offset, length);
-    }
-
-    @Override
-    public void clearDatabase()
-    {
-        super.db.clearDatabase();
-    }
-
-    @Override
-    public void deleteAllEdgesAndAnnotationsFor(String filename)
-    {
-        // module:whatever entries do not have edges, but they have
-        // annotations.  However, these are populated when the
-        // corresponding "real" file (whatever.f90) is parsed.
-        // We should not delete them here, because populateVPG()
-        // will not reconstruct them.
-        if (!PhotranVPG.getInstance().isVirtualFile(filename))
-            super.deleteAllEdgesAndAnnotationsFor(filename);
-    }
-
-    // HYPOTHETICAL UPDATING ///////////////////////////////////////////////////
-
-    @Override public void enterHypotheticalMode() throws IOException
-    {
-        PhotranVPG.getProvider().moduleSymTabCache.clear();
-        super.enterHypotheticalMode();
-    }
-
-    @Override public void leaveHypotheticalMode() throws IOException
-    {
-        PhotranVPG.getProvider().moduleSymTabCache.clear();
-        super.leaveHypotheticalMode();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGDB2.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGDB2.java
deleted file mode 100644
index ac62cf4..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGDB2.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.photran.internal.core.vpg;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.rephraserengine.core.vpg.VPGLog;
-import org.eclipse.rephraserengine.core.vpg.db.ram.RAMDB;
-
-/**
- * Photran VPG database implemented as a persisted in-memory database.
- * 
- * @author Jeff Overbey
- */
-public class PhotranVPGDB2 extends RAMDB<IFortranAST, Token, PhotranTokenRef>
-{
-    PhotranVPGDB2(PhotranVPGComponentFactory locator, File file, VPGLog<Token, PhotranTokenRef> log)
-    {
-        super(locator, file);
-    }
-
-    @Override
-    public long getModificationStamp(String filename)
-    {
-        if (PhotranVPG.getInstance().isVirtualFile(filename)) return Long.MIN_VALUE;
-
-        IFile ifile = PhotranVPG.getIFileForFilename(filename);
-        return ifile == null ? Integer.MIN_VALUE : ifile.getLocalTimeStamp();
-    }
-    
-    @Override protected Object readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
-    {
-        return in.readObject();
-    }
-
-//    @Override protected byte[] serialize(Serializable annotation) throws IOException
-//    {
-//        ByteArrayOutputStream out = new ByteArrayOutputStream();
-//        PhotranVPGSerializer.serialize(annotation, out);
-//        return out.toByteArray();
-//    }
-//
-//    @Override protected Serializable deserialize(InputStream binaryStream) throws IOException, ClassNotFoundException
-//    {
-//        return PhotranVPGSerializer.deserialize(binaryStream);
-//    }
-
-    @Override
-    public void deleteAllEdgesAndAnnotationsFor(String filename)
-    {
-        // module:whatever entries do not have edges, but they have
-        // annotations.  However, these are populated when the
-        // corresponding "real" file (whatever.f90) is parsed.
-        // We should not delete them here, because populateVPG()
-        // will not reconstruct them.
-        if (!PhotranVPG.getInstance().isVirtualFile(filename))
-            super.deleteAllEdgesAndAnnotationsFor(filename);
-    }
-
-    // HYPOTHETICAL UPDATING ///////////////////////////////////////////////////
-
-    @Override public void enterHypotheticalMode() throws IOException
-    {
-        PhotranVPG.getProvider().moduleSymTabCache.clear();
-        super.enterHypotheticalMode();
-    }
-
-    @Override public void leaveHypotheticalMode() throws IOException
-    {
-        PhotranVPG.getProvider().moduleSymTabCache.clear();
-        super.leaveHypotheticalMode();
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGSerializer.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGSerializer.java
deleted file mode 100644
index 9e569b7..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGSerializer.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.vpg;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Serializable;
-
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ImplicitSpec;
-import org.eclipse.photran.internal.core.analysis.binding.VariableAccess;
-import org.eclipse.photran.internal.core.analysis.types.ArraySpec;
-import org.eclipse.photran.internal.core.analysis.types.Dimension;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-
-/**
- * Serializes {@link IPhotranSerializable} objects for storage as annotations in the VPG.
- * 
- * @author Jeff Overbey
- * 
- * @see IPhotranSerializable
- * @see PhotranVPGDB#setAnnotation(PhotranTokenRef, int, Serializable)
- */
-/*
- * The VPG originally used Java's built-in serialization mechanism (see commented-out
- * code in PhotranVPGDB#serialize(Serializable)}, but according to a profile, that was
- * consuming significant time in the POP and LAPACK test applications; using this custom
- * serialization mechanism improved indexing time by 28% and reduced the database size by
- * about half (in POP's case).
- */
-public class PhotranVPGSerializer
-{
-    private PhotranVPGSerializer() {;}
-    
-    // EACH SERIALIZABLE CLASS MUST HAVE A UNIQUE LETTER
-    public static final byte CLASS_NULL           = '0';
-    public static final byte CLASS_STRING         = 's';
-    public static final byte CLASS_INT            = 'i';
-    public static final byte CLASS_BOOLEAN        = 'b';
-    public static final byte CLASS_TOKENREF       = 'T';
-    public static final byte CLASS_DEFINITION     = 'D';
-    public static final byte CLASS_TYPE           = 'Y';
-    public static final byte CLASS_ARRAYSPEC      = 'A';
-    public static final byte CLASS_DIMENSION      = 'M';
-    public static final byte CLASS_IMPLICITSPEC   = 'I';
-    public static final byte CLASS_VARIABLEACCESS = 'V';
-
-    protected static IOException readFailure()
-    {
-        return new IOException(Messages.PhotranVPGSerializer_AnnotationCorrupted);
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////
-    // Serialization
-    ////////////////////////////////////////////////////////////////////////////////
-
-    /*
-     * WHEN OBJECTS ARE SERIALIZED...
-     * 
-     * (1) The first byte written is the CLASS_* character, as defined above,
-     *     indicating what the class of the object is
-     * 
-     * (2) The #writeTo method is called on the object, which then calls back to
-     *     this class to serialize its sub-objects (i.e., the values of its fields).
-     *     
-     * Since null, String, int, and boolean don't have #readFrom methods, they are
-     * handled using custom serialization code below.
-     */
-    
-    public static void serialize(int annotation, OutputStream out) throws IOException
-    {
-        out.write(CLASS_INT);
-        writeInt(annotation, out);
-    }
-
-    public static void serialize(boolean annotation, OutputStream out) throws IOException
-    {
-        out.write(CLASS_BOOLEAN);
-        writeBoolean(annotation, out);
-    }
-
-    public static void serialize(String annotation, OutputStream out) throws IOException
-    {
-        if (annotation == null) { serializeNull(out); return; }
-
-        out.write(CLASS_STRING);
-        writeString((String)annotation, out);
-    }
-
-    public static void serialize(IPhotranSerializable annotation, OutputStream out) throws IOException
-    {
-        if (annotation == null) { serializeNull(out); return; }
-
-        IPhotranSerializable ann = (IPhotranSerializable)annotation;
-        out.write(ann.getSerializationCode());
-        //serialize(annotation.getClass().getSimpleName(), out);
-        ann.writeTo(out);
-    }
-
-    private static void serializeNull(OutputStream out) throws IOException
-    {
-        out.write(CLASS_NULL);
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////
-    // Deserialization
-    ////////////////////////////////////////////////////////////////////////////////
-
-    /*
-     * WHEN OBJECTS ARE DESERIALIZED...
-     * 
-     * (1) The first byte read is matched against the CLASS_* constants
-     *     above to determine the class of the serialized object
-     * 
-     * (2) The #readFrom method is called on the class, which then calls back to
-     *     this class to deserialize its sub-objects (i.e., the values of its fields).
-     *     
-     * Since null, String, int, and boolean don't have #readFrom methods, they are
-     * handled using custom serialization code below.
-     */
-    
-    @SuppressWarnings("unchecked")
-    public static <T extends Serializable> T deserialize(InputStream in)
-    {
-        try
-        {
-            int code = in.read();
-            switch (code)
-            {
-                case CLASS_NULL:           return null;
-                case CLASS_STRING:         return (T)readString(in);
-                case CLASS_INT:            return (T)Integer.valueOf(readInt(in));
-                case CLASS_BOOLEAN:        return (T)Boolean.valueOf(readBoolean(in));
-
-                case CLASS_TOKENREF:       return (T)PhotranTokenRef.readFrom(in);
-                case CLASS_DEFINITION:     return (T)Definition.readFrom(in);
-                case CLASS_TYPE:           return (T)Type.readFrom(in);
-                case CLASS_ARRAYSPEC:      return (T)ArraySpec.readFrom(in);
-                case CLASS_DIMENSION:      return (T)Dimension.readFrom(in);
-                case CLASS_IMPLICITSPEC:   return (T)ImplicitSpec.readFrom(in);
-                case CLASS_VARIABLEACCESS: return (T)VariableAccess.readFrom(in);
-
-                default:                 throw new Error("Unknown class code in deserialization: " + Integer.toString(code)); //$NON-NLS-1$
-            }
-        }
-        catch (IOException e)
-        {
-            throw new Error(e);
-        }
-    }
-    
-    ////////////////////////////////////////////////////////////////////////////////
-    // Methods for (de)serializing primitives and Strings
-    ////////////////////////////////////////////////////////////////////////////////
-
-    private static void writeString(String string, OutputStream out) throws IOException
-    {
-        if (string == null)
-        {
-            writeInt(-1, out);
-        }
-        else
-        {
-            byte[] stringBytes = string.getBytes();
-            writeInt(stringBytes.length, out);
-            out.write(stringBytes);
-        }
-    }
-    
-    private static String readString(InputStream in) throws IOException
-    {
-        int numBytesInString = readInt(in);
-        if (numBytesInString < 0)
-        {
-            return null;
-        }
-        else
-        {
-            byte[] stringBytes = new byte[numBytesInString];
-            in.read(stringBytes);
-            return new String(stringBytes);
-        }
-    }
-    
-    private static void writeInt(int value, OutputStream out) throws IOException
-    {
-        out.write((value & 0xFF000000) >>> 24);
-        out.write((value & 0x00FF0000) >>> 16);
-        out.write((value & 0x0000FF00) >>> 8);
-        out.write((value & 0x000000FF) >>> 0);
-    }
-    
-    private static int readInt(InputStream in) throws IOException
-    {
-        byte bytes[] = new byte[4];
-        in.read(bytes);
-        return
-              ((bytes[0] & 0xFF) << 24)
-            | ((bytes[1] & 0xFF) << 16)
-            | ((bytes[2] & 0xFF) << 8)
-            | ((bytes[3] & 0xFF) << 0);
-    }
-    
-    private static void writeBoolean(boolean value, OutputStream out) throws IOException
-    {
-        out.write(value ? 'T' : 'F');
-    }
-    
-    private static boolean readBoolean(InputStream in) throws IOException
-    {
-        switch (in.read())
-        {
-            case 'T':   return true;
-            case 'F':   return false;
-            default:    throw readFailure();
-        }
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////
-    // Serializes arbitrary objects, including boxed primitives
-    ////////////////////////////////////////////////////////////////////////////////
-
-    public static void serialize(Serializable object, OutputStream out) throws IOException
-    {
-        // We could use reflection to find the right overload...
-        //         PhotranVPGSerializer.class.getMethod("serialize",
-        //                                              object.getClass(),
-        //                                              OutputStream.class).invoke(object, out);
-        //  ...but it's ridiculously slow
-
-        if (object == null)
-            serialize((String)null, out);
-        else if (object instanceof String)
-            serialize((String)object, out);
-        else if (object instanceof Integer)
-            serialize(((Integer)object).intValue(), out);
-        else if (object instanceof Boolean)
-            serialize(((Boolean)object).booleanValue(), out);
-        else if (object instanceof IPhotranSerializable)
-            serialize((IPhotranSerializable)object, out);
-        else
-            throw new IllegalArgumentException("Cannot serialize " + object.getClass().getSimpleName()); //$NON-NLS-1$
-    }
-}
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGStartup.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGStartup.java
deleted file mode 100644
index 5bd7a08..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGStartup.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.vpg;
-
-import org.eclipse.ui.IStartup;
-
-/**
- * Called by Eclipse when the VPG plug-in is loaded
- * (see the org.eclipse.ui.startup extension point).
- * 
- * @author Jeff Overbey
- */
-public class PhotranVPGStartup implements IStartup
-{
-    public void earlyStartup()
-	{
-		// Load the VPG and the parser, and start the indexer thread
-		PhotranVPG.getInstance().start();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGWriter.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGWriter.java
deleted file mode 100644
index b5a23b2..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPGWriter.java
+++ /dev/null
@@ -1,866 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.vpg;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStreamReader;
-import java.io.PrintStream;
-import java.io.Reader;
-import java.io.StreamTokenizer;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.FortranAST;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.SyntaxException;
-import org.eclipse.photran.internal.core.analysis.binding.Binder;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.Definition.Visibility;
-import org.eclipse.photran.internal.core.analysis.binding.ImplicitSpec;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.analysis.binding.VariableAccess;
-import org.eclipse.photran.internal.core.analysis.flow.ControlFlowAnalysis;
-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;
-import org.eclipse.photran.internal.core.lexer.ASTLexerFactory;
-import org.eclipse.photran.internal.core.lexer.FixedFormReplacement;
-import org.eclipse.photran.internal.core.lexer.IAccumulatingLexer;
-import org.eclipse.photran.internal.core.lexer.LexerException;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.preprocessor.fortran_include.IncludeLoaderCallback;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTNodeWithErrorRecoverySymbols;
-import org.eclipse.photran.internal.core.parser.Parser;
-import org.eclipse.photran.internal.core.sourceform.ISourceForm;
-import org.eclipse.photran.internal.core.sourceform.SourceForm;
-import org.eclipse.rephraserengine.core.util.LRUCache;
-import org.eclipse.rephraserengine.core.vpg.ILazyVPGPopulator;
-import org.eclipse.rephraserengine.core.vpg.VPGDB;
-import org.eclipse.rephraserengine.core.vpg.VPGDependency;
-import org.eclipse.rephraserengine.core.vpg.VPGEdge;
-import org.eclipse.rephraserengine.core.vpg.VPGLog;
-import org.eclipse.rephraserengine.core.vpg.VPGWriter;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPGWriter;
-
-/**
- * Photran's {@link VPGWriter}; provides methods for manipulating the VPG database.
- * <p>
- * This class includes a number of Photran-specific methods that are used only when collecting name
- * bindings and writing them to the VPG database.
- * 
- * @author Jeff Overbey
- */
-public class PhotranVPGWriter extends EclipseVPGWriter<IFortranAST, Token, PhotranTokenRef>
-{
-	protected PhotranVPGWriter(VPGDB<IFortranAST, Token, PhotranTokenRef> db, VPGLog<Token, PhotranTokenRef> log)
-	{
-	    super(db, log);
-	}
-
-    public void markFileAsExportingSubprogram(IFile file, String subprogramName)
-    {
-        db.ensure(new VPGDependency<IFortranAST, Token, PhotranTokenRef>("subprogram:" + canonicalizeIdentifier(subprogramName), getFilenameForIFile(file))); //$NON-NLS-1$
-    }
-
-    public void markFileAsImportingSubprogram(IFile file, String subprogramName)
-    {
-        db.ensure(new VPGDependency<IFortranAST, Token, PhotranTokenRef>(getFilenameForIFile(file), "subprogram:" + canonicalizeIdentifier(subprogramName))); //$NON-NLS-1$
-    }
-
-    public void markFileAsExportingModule(IFile file, String moduleName)
-    {
-        db.ensure(new VPGDependency<IFortranAST, Token, PhotranTokenRef>("module:" + canonicalizeIdentifier(moduleName), getFilenameForIFile(file))); //$NON-NLS-1$
-    }
-
-	public void markFileAsImportingModule(IFile file, String moduleName)
-	{
-	    db.ensure(new VPGDependency<IFortranAST, Token, PhotranTokenRef>(getFilenameForIFile(file), "module:" + canonicalizeIdentifier(moduleName))); //$NON-NLS-1$
-	}
-
-    public void markFileAsUsingCommonBlock(IFile file, String commonBlockName)
-    {
-        db.ensure(new VPGDependency<IFortranAST, Token, PhotranTokenRef>(getFilenameForIFile(file), "common:" + canonicalizeIdentifier(commonBlockName))); //$NON-NLS-1$
-    }
-
-	public void setDefinitionFor(PhotranTokenRef tokenRef, Definition definition)
-	{
-	    db.setAnnotation(tokenRef, AnnotationType.DEFINITION_ANNOTATION_TYPE, definition);
-	}
-
-    public void markDefinitionVisibilityInScope(PhotranTokenRef definitionTokenRef, ScopingNode scope, Visibility visibility)
-    {
-        //System.err.println("Marking " + definitionTokenRef.findToken().getText() + " " + visibility + " in " + scope.getRepresentativeToken().findTokenOrReturnNull());
-
-        VPGEdge<IFortranAST, Token, PhotranTokenRef> privateEdge = new VPGEdge<IFortranAST, Token, PhotranTokenRef>(definitionTokenRef, scope.getRepresentativeToken(), EdgeType.DEFINITION_IS_PRIVATE_IN_SCOPE_EDGE_TYPE);
-        if (visibility.equals(Visibility.PRIVATE))
-            db.ensure(privateEdge);
-        else
-            db.delete(privateEdge);
-    }
-
-    public void markScope(PhotranTokenRef identifier, ScopingNode scope)
-    {
-        db.ensure(new VPGEdge<IFortranAST, Token, PhotranTokenRef>(identifier, scope.getRepresentativeToken(), EdgeType.DEFINED_IN_SCOPE_EDGE_TYPE));
-    }
-
-    public void markIllegalShadowing(PhotranTokenRef shadowingIdent, PhotranTokenRef shadowedIdent)
-    {
-        db.ensure(new VPGEdge<IFortranAST, Token, PhotranTokenRef>(shadowingIdent, shadowedIdent, EdgeType.ILLEGAL_SHADOWING_EDGE_TYPE));
-    }
-
-	public void markBinding(PhotranTokenRef reference, PhotranTokenRef definition)
-	{
-	    db.ensure(new VPGEdge<IFortranAST, Token, PhotranTokenRef>(reference, definition, EdgeType.BINDING_EDGE_TYPE));
-	}
-
-	public void markRenamedBinding(PhotranTokenRef reference, PhotranTokenRef definition)
-	{
-	    db.ensure(new VPGEdge<IFortranAST, Token, PhotranTokenRef>(reference, definition, EdgeType.RENAMED_BINDING_EDGE_TYPE));
-	}
-
-	public void setScopeImplicitSpec(ScopingNode scope, ImplicitSpec implicitSpec)
-	{
-		if (implicitSpec != null)
-		    db.setAnnotation(scope.getRepresentativeToken(), AnnotationType.SCOPE_IMPLICIT_SPEC_ANNOTATION_TYPE, implicitSpec);
-		else
-		    db.deleteAnnotation(scope.getRepresentativeToken(), AnnotationType.SCOPE_IMPLICIT_SPEC_ANNOTATION_TYPE);
-	}
-
-    public void setDefaultScopeVisibilityToPrivate(ScopingNode scope)
-    {
-        db.setAnnotation(scope.getRepresentativeToken(), AnnotationType.SCOPE_DEFAULT_VISIBILITY_IS_PRIVATE_ANNOTATION_TYPE, Boolean.TRUE);
-    }
-
-    public void setModuleSymbolTable(Token moduleNameToken, List<Definition> symbolTable)
-    {
-        PhotranVPG vpg = PhotranVPG.getInstance();
-        
-        clearModuleSymbolTableEntries(moduleNameToken);
-
-        String filename = "module:" + canonicalizeIdentifier(moduleNameToken.getText()); //$NON-NLS-1$
-        PhotranTokenRef tokenRef = vpg.getVPGNode(filename, 0, 0);
-        db.setAnnotation(tokenRef, AnnotationType.MODULE_TOKENREF_ANNOTATION_TYPE, moduleNameToken.getTokenRef());
-
-        int entries = 0;
-        for (Definition def : symbolTable)
-        {
-            tokenRef = vpg.getVPGNode(filename, entries++, 0);
-            db.setAnnotation(tokenRef, AnnotationType.MODULE_SYMTAB_ENTRY_ANNOTATION_TYPE, def);
-        }
-
-        tokenRef = vpg.getVPGNode(filename, 0, 0);
-        db.setAnnotation(tokenRef, AnnotationType.MODULE_SYMTAB_ENTRY_COUNT_ANNOTATION_TYPE, Integer.valueOf(entries));
-    }
-
-    protected LRUCache<String, List<Definition>> moduleSymTabCache = new LRUCache<String, List<Definition>>(MODULE_SYMTAB_CACHE_SIZE);
-    protected long moduleSymTabCacheHits = 0L, moduleSymTabCacheMisses = 0L;
-
-    public List<Definition> getModuleSymbolTable(String moduleName)
-    {
-        if (moduleSymTabCache.contains(moduleName))
-        {
-            moduleSymTabCacheHits++;
-            return moduleSymTabCache.get(moduleName);
-        }
-        moduleSymTabCacheMisses++;
-
-        int entries = countModuleSymbolTableEntries(moduleName);
-
-        if (entries == 0) return new LinkedList<Definition>();
-
-        String filename = "module:" + canonicalizeIdentifier(moduleName); //$NON-NLS-1$
-        ArrayList<Definition> result = new ArrayList<Definition>(entries);
-        for (int i = 0; i < entries; i++)
-        {
-            PhotranTokenRef tokenRef = PhotranVPG.getInstance().getVPGNode(filename, i, 0);
-            Object entry = db.getAnnotation(tokenRef, AnnotationType.MODULE_SYMTAB_ENTRY_ANNOTATION_TYPE);
-            if (entry != null && entry instanceof Definition)
-                result.add((Definition)entry);
-        }
-
-        moduleSymTabCache.cache(moduleName, result);
-
-        return result;
-    }
-
-    protected int countModuleSymbolTableEntries(String canonicalizedModuleName)
-    {
-        String filename = "module:" + canonicalizedModuleName; //$NON-NLS-1$
-        PhotranTokenRef tokenRef = PhotranVPG.getInstance().getVPGNode(filename, 0, 0);
-        Object result = db.getAnnotation(tokenRef, AnnotationType.MODULE_SYMTAB_ENTRY_COUNT_ANNOTATION_TYPE);
-        return result == null || !(result instanceof Integer) ? 0 : ((Integer)result).intValue();
-    }
-
-    private void clearModuleSymbolTableEntries(Token moduleNameToken)
-    {
-        PhotranVPG vpg = PhotranVPG.getInstance();
-        
-        String canonicalizedModuleName = canonicalizeIdentifier(moduleNameToken.getText());
-
-        moduleSymTabCache.remove(canonicalizedModuleName);
-
-        int entries = countModuleSymbolTableEntries(canonicalizedModuleName);
-        if (entries > 0)
-        {
-            String filename = "module:" + canonicalizedModuleName; //$NON-NLS-1$
-
-            for (int i = 0; i < entries; i++)
-            {
-                PhotranTokenRef tokenRef = vpg.getVPGNode(filename, i, 0);
-                db.deleteAnnotation(tokenRef, AnnotationType.MODULE_SYMTAB_ENTRY_ANNOTATION_TYPE);
-            }
-
-            PhotranTokenRef tokenRef = vpg.getVPGNode(filename, 0, 0);
-            db.setAnnotation(tokenRef, AnnotationType.MODULE_SYMTAB_ENTRY_COUNT_ANNOTATION_TYPE, Integer.valueOf(0));
-        }
-    }
-
-    public void printModuleSymTabCacheStatisticsOn(PrintStream out)
-    {
-        out.println("Module Symbol Table Cache Statistics:"); //$NON-NLS-1$
-
-        long edgeTotal = moduleSymTabCacheHits + moduleSymTabCacheMisses;
-        float edgeHitRatio = edgeTotal == 0 ? 0 : ((float)moduleSymTabCacheHits) / edgeTotal * 100;
-        out.println("    Hit Ratio:        " + moduleSymTabCacheHits + "/" + edgeTotal + " (" + (long)Math.round(edgeHitRatio) + "%)"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-    }
-
-    public void resetStatistics()
-    {
-        moduleSymTabCacheHits = moduleSymTabCacheMisses = 0L;
-    }
-
-    @Override
-    public void computeDependencies(final String filename)
-    {
-        if (PhotranVPG.getInstance().isVirtualFile(filename)) return;
-
-        computeDependenciesUsingFastTokenizer(filename); //computeDependenciesUsingLexer(filename);
-    }
-
-    /** @see org.eclipse.photran.managedbuilder.core.makegen.DefaultFortranDependencyCalculator */
-    private void computeDependenciesUsingFastTokenizer(String filename)
-    {
-        try {
-            IFile file = getIFileForFilename(filename);
-            if (file == null) return;
-            
-            Reader r = new BufferedReader(new InputStreamReader(file.getContents(true), file.getCharset()));
-            StreamTokenizer st = new StreamTokenizer(r);
-            st.commentChar('!');
-            st.eolIsSignificant(false);
-            st.slashSlashComments(false);
-            st.slashStarComments(false);
-            st.wordChars('_', '_');
-            
-            while (st.nextToken() != StreamTokenizer.TT_EOF) {
-                if (st.ttype == StreamTokenizer.TT_WORD) {
-                    if (st.sval.equalsIgnoreCase("module")) { //$NON-NLS-1$
-                        st.nextToken();
-                        if (st.ttype == StreamTokenizer.TT_WORD) {
-                            markFileAsExportingModule(file, st.sval);
-                        } else {
-                            st.pushBack();
-                        }
-                    }
-                    else if (st.sval.equalsIgnoreCase("use")) { //$NON-NLS-1$
-                        st.nextToken();
-                        if (st.ttype == StreamTokenizer.TT_WORD) {
-                            markFileAsImportingModule(file, st.sval);
-                        } else {
-                            st.pushBack();
-                        }
-                    }
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            FortranCorePlugin.log(e);
-        }
-    }
-
-    private void computeDependenciesUsingLexer(final String filename)
-    {
-        ISourceForm sourceForm = determineSourceForm(filename);
-        try
-        {
-            IAccumulatingLexer lexer = new ASTLexerFactory().createLexer(getIFileForFilename(filename), sourceForm);
-            long start = System.currentTimeMillis();
-            calculateDependencies(filename, lexer);
-            PhotranVPG.getInstance().debug("  - Elapsed time in calculateDependencies: " + (System.currentTimeMillis()-start) + " ms", filename); //$NON-NLS-1$ //$NON-NLS-2$
-        }
-        catch (Exception e)
-        {
-            log.logError(e, new PhotranTokenRef(filename, 0, 0));
-        }
-    }
-
-    private ISourceForm determineSourceForm(final String filename)
-    {
-        IFile file = getIFileForFilename(filename);
-        if (file == null)
-            return SourceForm.of(filename);
-        else
-            return SourceForm.of(file).configuredWith(new IncludeLoaderCallback(file.getProject())
-            {
-                @Override
-                public Reader getIncludedFileAsStream(String fileToInclude) throws FileNotFoundException
-                {
-                    // When we encounter an INCLUDE directive, set up a file dependency in the VPG
-
-                    db.ensure(new VPGDependency<IFortranAST, Token, PhotranTokenRef>(
-                                filename,
-                                getFilenameForIFile(getIncludedFile(fileToInclude))));
-
-                    return super.getIncludedFileAsStream(fileToInclude);
-                }
-
-                @Override
-                public void logError(String message, IFile topLevelFile, int offset)
-                {
-                    PhotranVPG.getInstance().getLog().clearEntriesFor(PhotranVPG.getFilenameForIFile(topLevelFile));
-                    PhotranVPG.getInstance().getLog().logError(message, new PhotranTokenRef(topLevelFile, offset, 0));
-                }
-            });
-    }
-
-    private void calculateDependencies(String filename, IAccumulatingLexer lexer)
-    {
-        if (!PhotranVPG.getInstance().isVirtualFile(filename))
-        {
-            db.deleteAllIncomingDependenciesFor(filename);
-            db.deleteAllOutgoingDependenciesFor(filename);
-        }
-
-        if (lexer == null) return;
-
-        try
-        {
-            calculateFileDepsFromModuleAndUseStmts(filename, lexer);
-        }
-        catch (LexerException e)
-        {
-            if (e.getFile() != null && e.getFile().getIFile() != null)
-                filename = PhotranVPG.getFilenameForIFile(e.getFile().getIFile());
-
-            log.logError(
-                e.getMessage(),
-                new PhotranTokenRef(filename, e.getTokenOffset(), e.getTokenLength()));
-
-        }
-        catch (Exception e)
-        {
-            log.logError(e);
-        }
-    }
-
-    /**
-     * Calculates what modules are imported or exported by a particular file and marks these dependencies in the VPG.
-     *
-     * Since the dependency calculation will be run on every file in the workspace, it is essential that this method
-     * be fast (while remaining accurate).  This implementation uses the lexer to find the token sequences "USE x"
-     * and "MODULE x", which is equivalent to but significantly faster than parsing the file and traversing the AST
-     * to find USE and MODULE statements.
-     */
-    private void calculateFileDepsFromModuleAndUseStmts(String filename, IAccumulatingLexer lexer) throws Exception
-    {
-        IFile file = getIFileForFilename(filename);
-        final int WAITING_FOR_TOKEN = 0, LAST_TOKEN_WAS_USE = 1, LAST_TOKEN_WAS_MODULE = 2;
-
-        int state = WAITING_FOR_TOKEN;
-        for (Token tok = lexer.yylex(); tok != null && tok.getTerminal() != Terminal.END_OF_INPUT; tok = lexer.yylex())
-        {
-            if (state == WAITING_FOR_TOKEN && tok.getTerminal() == Terminal.T_USE)
-            {
-                state = LAST_TOKEN_WAS_USE;
-            }
-            else if (state == WAITING_FOR_TOKEN && tok.getTerminal() == Terminal.T_MODULE)
-            {
-                state = LAST_TOKEN_WAS_MODULE;
-            }
-            else if (state == LAST_TOKEN_WAS_USE)
-            {
-                if (tok.getTerminal() == Terminal.T_IDENT)
-                    markFileAsImportingModule(file, tok.getText());
-                state = WAITING_FOR_TOKEN;
-            }
-            else if (state == LAST_TOKEN_WAS_MODULE)
-            {
-                if (tok.getTerminal() == Terminal.T_IDENT)
-                    markFileAsExportingModule(file, tok.getText());
-                state = WAITING_FOR_TOKEN;
-            }
-        }
-    }
-
-    @Override
-    public void computeEdgesAndAnnotationsFromModifiedAST(String filename, IFortranAST ast)
-    {
-        if (ast == null)
-            throw new IllegalArgumentException(filename + " returned null AST"); //$NON-NLS-1$
-        
-        try
-        {
-            final String charset = Charset.defaultCharset().name(); // Platform's default charset
-            ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
-            ast.getRoot().printOn(new PrintStream(out, false, charset), null);
-            ast = parse(filename, new InputStreamReader(new ByteArrayInputStream(out.toByteArray()), charset));
-
-            computeEdgesAndAnnotations(filename, ast);
-        }
-        catch (UnsupportedEncodingException e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    public IFortranAST parse(final String filename)
-    {
-        return parse(filename, null);
-    }
-
-    private IFortranAST parse(String filename, Reader stream)
-    {
-        if (filename == null || PhotranVPG.getInstance().isVirtualFile(filename)) return null;
-
-        IFile file = getIFileForFilename(filename); if (file == null) return null;
-        try
-        {
-            ISourceForm sourceForm = determineSourceForm(filename);
-            try
-            {
-                if (stream == null) stream = new BufferedReader(new InputStreamReader(file.getContents(true), file.getCharset()));
-                IAccumulatingLexer lexer = new ASTLexerFactory().createLexer(stream, file, filename, sourceForm);
-                long start = System.currentTimeMillis();
-                ASTExecutableProgramNode ast = parser.parse(lexer);
-                checkForErrors(ast, filename);
-                PhotranVPG.getInstance().debug("  - Elapsed time in Parser#parse: " + (System.currentTimeMillis()-start) + " ms", filename); //$NON-NLS-1$ //$NON-NLS-2$
-                return new FortranAST(file, ast, lexer.getTokenList());
-            }
-            catch (SyntaxException e)
-            {
-                if (e.getFile() != null && e.getFile().getIFile() != null)
-                    filename = PhotranVPG.getFilenameForIFile(e.getFile().getIFile());
-
-                log.clearEntriesFor(PhotranVPG.getFilenameForIFile(e.getFile().getIFile()));
-                log.logError(
-                    Messages.bind(
-                        Messages.PhotranVPGBuilder_ErrorParsingFileMessage,
-                        filename,
-                        e.getMessage()),
-                    new PhotranTokenRef(filename, e.getTokenOffset(), e.getTokenLength()));
-//              else
-//                  logError(file, Messages.bind(Messages.PhotranVPGBuilder_ErrorParsingFile, filename), e);
-                return null;
-            }
-            catch (LexerException e)
-            {
-                if (e.getFile() != null && e.getFile().getIFile() != null)
-                    filename = PhotranVPG.getFilenameForIFile(e.getFile().getIFile());
-
-                log.clearEntriesFor(filename);
-                log.logError(
-                    Messages.bind(
-                        Messages.PhotranVPGBuilder_ErrorParsingFileMessage,
-                        filename,
-                        e.getMessage()),
-                    new PhotranTokenRef(filename, e.getTokenOffset(), e.getTokenLength()));
-//              }
-//              else
-//                  logError(file, Messages.bind(Messages.PhotranVPGBuilder_ErrorParsingFile, filename), e);
-                return null;
-            }
-    //        catch (CoreException e)
-    //        {
-    //            IFile errorFile = getFileFromStatus(e.getStatus());
-    //            if (errorFile != null)
-    //                log.logError("Error parsing " + filename + ": " + e.getMessage(),
-    //                    new PhotranTokenRef(errorFile, 0, 0));
-    //            else
-    //                logError(file, "Error parsing " + filename, e);
-    //            return null;
-    //        }
-            catch (Throwable e)
-            {
-                logError(file, Messages.bind(Messages.PhotranVPGBuilder_ErrorParsingFile, filename), e);
-                return null;
-            }
-        }
-        finally
-        {
-            try
-            {
-                if (stream != null) stream.close();
-            }
-            catch (Throwable x)
-            {
-                // Ignore
-            }
-        }
-    }
-
-    private void checkForErrors(ASTExecutableProgramNode ast, String filename)
-    {
-        ASTNodeWithErrorRecoverySymbols firstError = PhotranVPG.findFirstErrorIn(ast);
-        if (firstError != null)
-        {
-            PhotranTokenRef errorTokenRef = getErrorTokenRef(filename, firstError.getErrorToken());
-            log.clearEntriesFor(filename);
-            log.logError(
-                Messages.bind(
-                    Messages.PhotranVPGBuilder_FileContainsSyntaxErrors,
-                    filename),
-                errorTokenRef);
-        }
-    }
-
-    private PhotranTokenRef getErrorTokenRef(String filename, Token errorToken)
-    {
-        if (isPreprocessed(errorToken))
-            return null;
-        else
-            // errorToken will have its filename set to null, so we must construct a TokenRef manually
-            return new PhotranTokenRef(filename,
-                                       errorToken.getStreamOffset(),
-                                       errorToken.getLength());
-    }
-
-    private boolean isPreprocessed(Token token)
-    {
-        return token.getPreprocessorDirective() != null
-            && !(token.getPreprocessorDirective() instanceof FixedFormReplacement);
-    }
-
-    private void logError(IFile file, String message, Throwable e)
-    {
-        StringBuilder sb = new StringBuilder();
-        sb.append(message);
-        sb.append(": "); //$NON-NLS-1$
-        sb.append(e.getMessage());
-        sb.append('\n');
-        sb.append(e.getClass().getName());
-        sb.append(":\n"); //$NON-NLS-1$
-        ByteArrayOutputStream bs = new ByteArrayOutputStream();
-        e.printStackTrace(new PrintStream(bs));
-        sb.append(bs);
-
-        if (file != null)
-            log.logError(sb.toString(), new PhotranTokenRef(file, 0, 0));
-        else
-            log.logError(sb.toString());
-    }
-
-    @Override
-    public void populateVPG(String filename, IFortranAST ast)
-    {
-        if (!PhotranVPG.getInstance().isVirtualFile(filename))
-        {
-            db.deleteAllIncomingDependenciesFor(filename);
-            db.deleteAllOutgoingDependenciesFor(filename);
-        }
-
-        if (ast == null || isEmpty(ast.getRoot())) return;
-
-        long start = System.currentTimeMillis();
-        Binder.bind(ast, getIFileForFilename(filename));
-        PhotranVPG.getInstance().debug("  - Elapsed time in Binder#bind: " + (System.currentTimeMillis()-start) + " ms", filename); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-    @Override public ILazyVPGPopulator[] getLazyEdgePopulators()
-    {
-        return new ILazyVPGPopulator[]
-        {
-            //new BindingPopulator(),
-            new ControlFlowPopulator(),
-        };
-    }
-
-    private static class ControlFlowPopulator implements ILazyVPGPopulator
-    {
-        public void populateVPG(String filename)
-        {
-            IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(filename);
-            if (ast == null || isEmpty(ast.getRoot())) return;
-            
-            LoopReplacer.replaceAllLoopsIn(ast.getRoot());
-            long start = System.currentTimeMillis();
-            ControlFlowAnalysis.analyze(filename, ast.getRoot());
-            PhotranVPG.getInstance().debug("  - Elapsed time in ControlFlowAnalysis#analyze: " + (System.currentTimeMillis()-start) + " ms", filename); //$NON-NLS-1$ //$NON-NLS-2$
-        }
-
-        public boolean dependentFilesMustBePopulated()
-        {
-            return false;
-        }
-        
-        public int[] edgeTypesPopulated()
-        {
-            return new int[] { EdgeType.CONTROL_FLOW_EDGE_TYPE.ordinal() };
-        }
-        
-        public int[] annotationTypesPopulated()
-        {
-            return new int[0];
-        }
-    }
-    
-//    private static class BindingPopulator implements ILazyVPGPopulator
-//    {
-//        public void populateVPG(String filename)
-//        {
-//            IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(filename);
-//            if (ast == null || isEmpty(ast.getRoot())) return;
-//            
-//            long start = System.currentTimeMillis();
-//            Binder.bindLazy(ast, getIFileForFilename(filename));
-//            PhotranVPG.getInstance().debug("  - Elapsed time in Binder#bindLazy: " + (System.currentTimeMillis() - start) + " ms", filename); //$NON-NLS-1$ //$NON-NLS-2$
-//        }
-//
-//        public boolean dependentFilesMustBePopulated()
-//        {
-//            return true;
-//        }
-//        
-//        public int[] edgeTypesPopulated()
-//        {
-//            return new int[]
-//            {
-//                // ReferenceCollector - name bindings (references)
-//                EdgeType.BINDING_EDGE_TYPE.ordinal(),
-//                
-//                // ReferenceCollector - implicit declarations
-//                EdgeType.DEFINED_IN_SCOPE_EDGE_TYPE.ordinal(),
-//                EdgeType.DEFINITION_IS_PRIVATE_IN_SCOPE_EDGE_TYPE.ordinal()
-//            };
-//        }
-//        
-//        public int[] annotationTypesPopulated()
-//        {
-//            return new int[]
-//            {                  
-//                // ModuleLoader
-//                AnnotationType.MODULE_TOKENREF_ANNOTATION_TYPE.ordinal(),
-//                AnnotationType.MODULE_SYMTAB_ENTRY_ANNOTATION_TYPE.ordinal(),
-//                AnnotationType.MODULE_SYMTAB_ENTRY_COUNT_ANNOTATION_TYPE.ordinal(),
-//                
-//                // ReferenceCollector - variable accesses
-//                AnnotationType.VARIABLE_ACCESS_ANNOTATION_TYPE.ordinal(),
-//                
-//                // ReferenceCollector - implicit declarations
-//                AnnotationType.DEFINITION_ANNOTATION_TYPE.ordinal(),
-//            };
-//        }
-//    }
-    
-    public static boolean isEmpty(ASTExecutableProgramNode ast)
-    {
-        return ast.findFirstToken() == null;
-    }
-
-    public void logError(String message)
-    {
-        log.logError(message);
-    }
-    
-    public void logError(String message, PhotranTokenRef tokenRef)
-    {
-        log.logError(message, tokenRef);
-    }
-
-
-
-//    @Override public void debug(String message, String filename)
-//    {
-//    }
-
-
-
-
-
-
-
-
-    // Tested empirically on ibeam-cpp-mod: 5 does better than 3, but 10 does not do better than 5
-    private static final int MODULE_SYMTAB_CACHE_SIZE = 5;
-
-
-    protected Parser parser = new Parser();
-
-
-    public String describeEdgeType(int edgeType)
-    {
-        return EdgeType.values()[edgeType].toString();
-    }
-
-    public String describeAnnotationType(int annotationType)
-    {
-        return AnnotationType.values()[annotationType].toString();
-    }
-
-    protected String describeToken(String filename, int offset, int length)
-    {
-        try
-        {
-            if (offset == -1 && length == 0) return Messages.PhotranVPG_GlobalScope;
-
-            Token token = PhotranVPG.getInstance().acquireTransientAST(filename).findTokenByStreamOffsetLength(offset, length);
-            if (token == null)
-                return db.describeToken(filename, offset, length);
-            else
-                return token.getText() + " " + Messages.bind(Messages.PhotranVPG_OffsetN, offset); //$NON-NLS-1$
-        }
-        catch (Exception e)
-        {
-            return db.describeToken(filename, offset, length);
-        }
-    }
-
-    public static String canonicalizeIdentifier(String identifier)
-    {
-        return PhotranVPG.canonicalizeIdentifier(identifier);
-    }
-
-    ////////////////////////////////////////////////////////////////////////////////
-    // VPG Error/Warning Log View/Listener Support
-    ////////////////////////////////////////////////////////////////////////////////
-
-    private List<IMarker> errorLogMarkers = null;
-
-    /**
-     * It is the caller's responsibility to make sure this task is executed in the
-     * with the correct scheduling rule.  (The VPG Problems view locks the entire
-     * workspace; the CVS plug-in was having problems when marker attributes were
-     * being set on resources that were not locked by the scheduling rule.)
-     */
-    public List<IMarker> recomputeErrorLogMarkers()
-    {
-        deleteExistingErrorMarkers();
-        populateErrorLogMarkers();
-        return errorLogMarkers;
-    }
-
-    private void deleteExistingErrorMarkers()
-    {
-        if (errorLogMarkers != null)
-        {
-            for (IMarker marker : errorLogMarkers)
-            {
-                try
-                {
-                    marker.delete();
-                }
-                catch (CoreException e)
-                {
-                    e.printStackTrace();
-                }
-            }
-
-            errorLogMarkers = null;
-        }
-    }
-
-    private void populateErrorLogMarkers()
-    {
-        List<VPGLog<Token, PhotranTokenRef>.Entry> errorLog = log.getEntries();
-        errorLogMarkers = new ArrayList<IMarker>(errorLog.size());
-        for (int i = 0; i < errorLog.size(); i++)
-        {
-            try
-            {
-                VPGLog<Token, PhotranTokenRef>.Entry entry = errorLog.get(i);
-                errorLogMarkers.add(createMarkerFrom(entry));
-            }
-            catch (CoreException e)
-            {
-                // Ignore
-            }
-        }
-    }
-
-    private IMarker createMarkerFrom(VPGLog<Token, PhotranTokenRef>.Entry entry) throws CoreException
-    {
-        IMarker marker = createMarkerOnResource(entry);
-        if (marker != null) setMarkerAttributes(marker, entry);
-        return marker;
-    }
-
-    private IMarker createMarkerOnResource(VPGLog<Token, PhotranTokenRef>.Entry entry) throws CoreException
-    {
-        PhotranTokenRef tr = entry.getTokenRef();
-        IFile file = tr == null ? null : tr.getFile();
-        IResource res = file == null ? ResourcesPlugin.getWorkspace().getRoot() : file;
-        return res.createMarker(determineMarkerType(entry));
-    }
-
-    private String determineMarkerType(VPGLog<Token, PhotranTokenRef>.Entry entry)
-    {
-        if (entry.isWarning())
-            return "org.eclipse.photran.core.vpg.warningMarker"; //$NON-NLS-1$
-        else // (entry.isError())
-            return "org.eclipse.photran.core.vpg.errorMarker"; //$NON-NLS-1$
-    }
-
-    @SuppressWarnings({ "unchecked", "rawtypes" })
-    private void setMarkerAttributes(IMarker marker, VPGLog<Token, PhotranTokenRef>.Entry entry) throws CoreException
-    {
-        Map attribs = new HashMap(5);
-
-        PhotranTokenRef tr = entry.getTokenRef();
-        if (tr != null)
-        {
-            attribs.put(IMarker.CHAR_START, tr.getOffset());
-            attribs.put(IMarker.CHAR_END, tr.getEndOffset());
-        }
-
-        attribs.put(IMarker.MESSAGE, entry.getMessage());
-        attribs.put(IMarker.USER_EDITABLE, false);
-        attribs.put(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
-
-        marker.setAttributes(attribs);
-    }
-
-    private boolean isDefinitionCachingEnabled = false;
-    public void enableDefinitionCaching() { isDefinitionCachingEnabled = true; }
-    public void disableDefinitionCaching() { isDefinitionCachingEnabled = false; }
-    public boolean isDefinitionCachingEnabled() { return isDefinitionCachingEnabled; }
-
-
-
-
-    public void markAccess(Token ident, VariableAccess access)
-    {
-        db.setAnnotation(
-            ident.getTokenRef(),
-            AnnotationType.VARIABLE_ACCESS_ANNOTATION_TYPE,
-            access);
-    }
-
-    public void createFlow(PhotranTokenRef from, PhotranTokenRef to)
-    {
-        db.ensure(
-            new VPGEdge<IFortranAST, Token, PhotranTokenRef>(
-                from, to, EdgeType.CONTROL_FLOW_EDGE_TYPE));
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/messages.properties b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/messages.properties
deleted file mode 100644
index 781d49e..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/messages.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-PhotranVPG_AnalysisRefactoringNotEnabled=Please enable analysis and refactoring in the project properties for {0}.
-PhotranVPG_ControlFlow=Control Flow
-PhotranVPG_DefaultVisibilityForScopeIsPrivate=Default visibility for scope is private
-PhotranVPG_Definition=Definition
-PhotranVPG_DefinitionIsPrivateInScope=Definition is private in scope
-PhotranVPG_DefinitionScopeRelationship=Definition-scope relationship
-PhotranVPG_DefinitionScopeRelationshipDueToModuleImport=Definition-scope relationship due to module import
-PhotranVPG_FileIsNotInAFortranProject=The file {0} is not located in a Fortran project.
-PhotranVPG_GlobalScope=global scope
-PhotranVPG_IllegalShadowing=Illegal shadowing
-PhotranVPG_ImplicitSpecForScope=Implicit spec for scope
-PhotranVPG_ModuleSymbolTableEntry=Module symbol table entry
-PhotranVPG_ModuleSymbolTableEntryCount=Module symbol table entry count
-PhotranVPG_ModuleTokenRef=Module TokenRef
-PhotranVPG_NameBinding=Name binding
-PhotranVPG_NotAFortranSourceFile=The file {0}'s filename extension ({1}) indicates that this is not a Fortran source file.\n\nIf you believe that this is incorrect, please see the Photran User's Guide for instructions on how to change the file's content type in the workbench preferences.
-PhotranVPG_OffsetN=(offset {0})
-PhotranVPG_PhotranIndexer=Photran indexer
-PhotranVPG_ProjectIsNotAccessible=The project {0} is not a Fortran project.  Please convert it to a Fortran project and enable analysis and refactoring in the project properties.
-PhotranVPG_ProjectIsNotAFortranProject=The project {0} is not accessible.  Please make sure that it is open and that the permissions are set correctly.
-PhotranVPG_RenamedBinding=Renamed binding
-PhotranVPG_ScopeIsInternal=Scope is internal
-PhotranVPG_Type=Type
-PhotranVPG_VariableAccess=Variable access
-PhotranVPGBuilder_ErrorParsingFile=Error parsing 
-PhotranVPGBuilder_ErrorParsingFileMessage=Error parsing {0}: {1}
-PhotranVPGBuilder_FileContainsSyntaxErrors={0} contains syntax errors and may not be refactored correctly.
-PhotranVPGSerializer_AnnotationCorrupted=VPG annotation corrupted; read failed
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/package-info.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/package-info.java
deleted file mode 100644
index 3e5fc71..0000000
--- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/package-info.java
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * This classes in this package provide a virtual program graph (VPG) for Fortran.
- * <p>
- * For more information, please see the <i>Photran Developer's Guide</i> in the
- * org.eclipse.photran-dev-docs project.
- */
-package org.eclipse.photran.internal.core.vpg;
\ No newline at end of file
diff --git a/org.eclipse.photran.doc.user/.project b/org.eclipse.photran.doc.user/.project
deleted file mode 100644
index a5b258e..0000000
--- a/org.eclipse.photran.doc.user/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.photran.doc.user</name>

-	<comment></comment>

-	<projects>

-	</projects>

-	<buildSpec>

-		<buildCommand>

-			<name>org.eclipse.pde.ManifestBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.SchemaBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

-		<nature>org.eclipse.pde.PluginNature</nature>

-	</natures>

-</projectDescription>

diff --git a/org.eclipse.photran.doc.user/META-INF/MANIFEST.MF b/org.eclipse.photran.doc.user/META-INF/MANIFEST.MF
deleted file mode 100644
index 5dcd938..0000000
--- a/org.eclipse.photran.doc.user/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.photran.doc.user; singleton:=true
-Bundle-Version: 7.0.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
diff --git a/org.eclipse.photran.doc.user/README.TXT b/org.eclipse.photran.doc.user/README.TXT
deleted file mode 100644
index e08e6a7..0000000
--- a/org.eclipse.photran.doc.user/README.TXT
+++ /dev/null
@@ -1,5 +0,0 @@
-The content in the plug-in is GENERATED from the documentation on the Eclipse Wiki (EclipsePedia).
-
-DO NOT EDIT FILES IN THIS PROJECT; INSTEAD, EDIT THE WIKI AND RE-GENERATE THIS CONTENT.
-
-See the Photran Developer's Guide for more information.
\ No newline at end of file
diff --git a/org.eclipse.photran.doc.user/about.html b/org.eclipse.photran.doc.user/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.photran.doc.user/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.photran.doc.user/build.properties b/org.eclipse.photran.doc.user/build.properties
deleted file mode 100644
index 1951355..0000000
--- a/org.eclipse.photran.doc.user/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = plugin.xml,\

-               META-INF/,\

-               html/,\

-               *.xml,\

-               about.html,\

-               plugin.properties

diff --git a/org.eclipse.photran.doc.user/html/advanced/AdvancedEditingFeatures.html b/org.eclipse.photran.doc.user/html/advanced/AdvancedEditingFeatures.html
deleted file mode 100644
index b2e389b..0000000
--- a/org.eclipse.photran.doc.user/html/advanced/AdvancedEditingFeatures.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Advanced Editing Features</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><h1>Content Assist
-</h1><p>As you are typing a Fortran program, 
-<i>content assist
-</i> pops up a list of the subprograms, variables, intrinsics, etc. that are in scope.  It is invoked by pressing Ctrl+Space.  As you start typing a name, the list is refined based on what you have typed; you can then use the arrow keys to choose from the list and press Enter to complete the definition.  Content assist is useful when you don't remember the exact name of a function, or when a function has a long name and you don't want to type all of it. An example is shown below.
-To use content assist, you will need to open the project properties, switch to the Fortran Analysis/Refactoring category, and check the &quot;Enable Fortran content assist (Ctrl+space)&quot; box.  You will need to close and re-open any Fortran editors before you can start using content assist, however.
-<center>
-<img src="../images/ContentAssist.jpg" alt="Fortran Content Assist"></img></center>
-</p><h1> Fortran Declaration View  
-</h1><p>The Fortran Declaration view displays the statement where a variable, program, or subprogram is declared. If you place the text editor cursor within (or highlight) a variable name or the name of a subroutine in a CALL statement, the Fortran Declaration view will then display the actual declaration. For variables, the declaration view displays the variable declaration as well as a comment regarding the type of variable and other information, such as dimension information for an array as shown in the example below. For subprograms, it displays the FUNCTION or SUBROUTINE statement, including any comments that precede it.
-<center>
-<img src="../images/Photran-fortran-declaration-view.png" alt="Fortran Declaration View"></img></center>
-</p><h1>Hover Tips
-</h1><p>Hover tips display the same text as the Fortran Declaration view (described above); however, they display it in a popup window when the mouse cursor is hovered over an identifier.
-Fortran hover tips are enabled in a project's analysis/refactoring properties.  To turn them on or off, check the box labeled &quot;Enable Fortran Hover Tips&quot; in the project properties under Fortran General &gt; Analysis/Refactoring. (Note that Analysis/Refactoring must also be enabled.)
-<center>
-<img src="../images/PhotranHoverTips.jpg" alt="Fortran Hover Tips"></img></center>
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/advanced/Introduction.html b/org.eclipse.photran.doc.user/html/advanced/Introduction.html
deleted file mode 100644
index a5e9e65..0000000
--- a/org.eclipse.photran.doc.user/html/advanced/Introduction.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Introduction</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><p>Photran 6.0 includes a number of sophisticated features
-that are designed to make it easier to write, modify,
-search, and maintain Fortran code.   These include
-<i>content assist,</i> which can &quot;auto-complete&quot; variable
-and function names as you type; a <i>declaration view,</i>
-which can show the leading comments for the selected
-variable or procedure; <i>Fortran Search,</i>
-which allows you to find declarations and references to
-modules, variables, procedures, etc.; and
-<i>refactorings,</i> which change your source code to
-improve its design while preserving its behavior.
-</p><h1>Enabling Advanced Features
-</h1><p><p><b>In order to use any of the advanced features described in this document,
-you must specifically enable them as described below.</b>  After you do this, Photran will
-<i>index</i> your project; that is, it will build a database of what modules, subprograms, etc.
-are declared in every file in your project.  This information will be updated incrementally every time
-you save a file.  Although this process is usually reasonably fast,
-it may become disruptive when working on very large projects, so it has been disabled by default.
-Note that the first time your project is indexed, it may take a while, because Photran must
-analyze every file in your project; after that, it will only index files that have changed
-(and files that depend on a file that has changed), so it will generally be much faster.</p>
-</p><h2>How to Enable Advanced Features
-</h2><p><ol>
-<li> Right-click on your project in the Fortran Projects view
-<li> Click on Properties
-<li> Expand Fortran General in the list on the left, and click on Analysis/Refactoring
-(see screenshot below)
-<li> Check the &quot;Enable Fortran analysis/refactoring&quot; check box
-<li> If you want to enable content assist, the Fortran Declaration view, etc.,
-check those boxes as well
-<li> You may also want to set module and include paths at this point (see below)
-<li> Click OK
-</ol>
-</p><h2>Setting Module and Include Paths
-</h2><p><p>If your source code contains INCLUDE lines or USE lines referencing modules in other files,
-Photran needs to know where to look in order to find these.  <i>It will not figure this out
-automatically.</i>  For each project in which you plan to use refactoring support,</p>
-<ol>
-<li> Right-click on your project's folder in the Fortran Projects view
-<li> Click on Properties
-<li> Expand Fortran General in the list on the left, and click on Analysis/Refactoring
-<li> List the folders in which Photran should search for INCLUDE files and modules when
-refactoring.  They will be searched in order from the first folder listed to the last.
-Subfolders are <i>not</i> searched automatically; you must include them explicitly.
-<li> Click OK
-</ol>
-<center>
-<img src="../images/Photran-refac-properties.png"></center>
-</p><h1>Advanced Features and C Preprocessed Code
-</h1><p>Starting with Photran 6, C preprocessor directives are supported in Fortran code, as described in the Photran User's Guide.  While most of the advanced features described in this manual can handle C preprocessed code, refactorings currently cannot.  If you attempt to refactor C preprocessed code, you will receive an error message.
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/advanced/Refactoring.html b/org.eclipse.photran.doc.user/html/advanced/Refactoring.html
deleted file mode 100644
index 6da2fa0..0000000
--- a/org.eclipse.photran.doc.user/html/advanced/Refactoring.html
+++ /dev/null
@@ -1,449 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Refactoring</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><h1>Introduction
-</h1><h2>What is Refactoring?
-</h2><p><i>Refactorings
-</i> are changes to a program that improve its
-internal design but do not change its behavior.  These
-include minor, coding style changes (like using IMPLICIT
-NONE statements), code readability improvements
-(like replacing a variable named N with one called
-NUM_POINTS), performance improvements (like
-interchanging loops under certain conditions), and
-even larger-scale design changes (like moving a
-procedure from one module to another).
-Although these types of changes can be done by hand,
-making them is often tedious and error-prone.  Photran
-<i>automates</i> many such refactorings.  For example,
-the Refactor &gt; Rename command can automatically
-locate the declaration(s) and uses of a particular subroutine,
-and change its name in all of those locations.  It is &quot;smart,&quot;
-too; if there is a subroutine named <i>d</i> and a variable
-named <i>d</i> in a different context, it won't confuse the
-two.  Moreover, before making such a change, Photran
-will attempt to <i>verify</i> that the change is safe to make.
-For example, a subroutine <i>A</i> cannot be renamed to
-<i>B</i> if there is already a variable named <i>B</i> in a
-context where that subroutine is called.
-For more information on refactoring, see
-M. Fowler, <i>Refactoring: Improving the Design of Existing Code,</i>
-Addison-Wesley, 1999.
-</p><h2>Refactoring in Photran
-</h2><p>Most refactorings can be accessed via the Refactor menu in the
-menu bar, as described below.  However, the most common
-refactorings also have hotkeys (e.g., Alt+Shift+R for Rename;
-hotkeys are listed in the Refactoring menu next to each command).
-Also, most refactorings can be accessed by right-clicking in an
-editor and choosing Refactor from the popup menu.
-Some refactorings (such as Introduce Implicit None and
-Replace Obsolete Operators) can be applied to several files
-at once.  As described below, this involves selecting one or more
-files in the Fortran Projects view, then right-clicking on any of
-the selected filenames and choosing Refactor from the popup
-menu.
-<ul>
-<li> Clicking on a filename in the Fortran Projects view selects
-that file (and only that file).
-<li> Ctrl+click (Command+click on Mac OS X) can be used
-to select or deselect additional files.
-<li> To select a range of files, click on one filename, and
-Shift+click on a later filename;
-those files and all of the files in between will be selected as
-well.
-</ul>
-<i><b>Caution:</b> <b>Photran can only refactor free-format Fortran
-source code.  It is not possible to refactor fixed-form code.</b>
-Make sure that only free-form Fortran files
-are selected.</i>  The Refactor menu may not be available if any
-of the files are fixed-form or non-Fortran files.
-</p><h1>Rename
-</h1><p><ul>
-<li><b>Description:</b> Rename is essentially a &quot;smart&quot;
-search and replace: It allows you to change the name of a variable,
-subprogram, etc.  It correctly observes scoping and shadowing rules
-can also rename subprograms and module entities across files.
-<li><b>Applies To:</b>
-<ol>
-<li> Local variables<sup>1,2</sup>
-<li> Subprograms<sup>3</sup> (including external and interface declarations)
-<li> Derived types
-<li> Module entities (variables and subprograms)
-<li> Main programs
-<li> Namelists
-<li> Common blocks
-<li> Block data subprograms
-</ol>
-<li><b>Operation:</b>
-<ol>
-<li> Click on the name of a local variable, subprogram, etc.
-<li> Click Refactor &gt; Rename...  The Rename dialog will appear.<br>
-<center>
-<img src="../images/Photran-rename-dialog.png" alt="Rename dialog"></img></center>
-<li> Enter a new name for the variable/subprogram/etc.
-<li> If you are renaming an external subprogram or a subprogram
-declared in an interface block, you may want to (un)check the
-box labeled <i>Match external subprograms with interfaces and
-external declarations.</i>  If this is checked, the refactoring
-will attempt to find <i>all</i> external subprograms, EXTERNAL
-statements, and subprogram declarations in INTERFACE blocks that
-have the given name, and they will all be renamed.
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-<li><b>Example:</b><br>
-<center>
-<img src="../images/Photran-rename-1.png" alt="Simple example of the Rename refactoring"></img></center>
-</ul>
-<p>
-<small>1. Dummy subprogram arguments cannot be renamed</small><br>
-<small>2. Components of derived types cannot be renamed</small><br>
-<small>3. Intrinsic subprograms and type-bound procedures (Fortran 2003) cannot be renamed</small>
-</p>
-</p><h1>Encapsulate variable
-</h1><p><ul>
-<li><b>Description:</b> Encapsulate variable creates getter and setter methods for the selected variable
-in the module where it is defined and changes variable's visibility to <b>private</b>.
-It also replaces all uses of that variable in all files to use getter and setter method calls<sup>1</sup>.
-<li><b>Applies To:</b>
-<ol>
-<li> Variables defined in the module.
-<li> Variables of all basic as well as user-defined types
-</ol>
-<li><b>Does Not Apply To:</b>
-<ol>
-<li> Arrays
-<li> Variables that are not defined in a module
-<li> Parameters (i.e. <b>integer, parameter :: CANNOT_ENCAPSULATE</b>)
-<li> Pointers (i.e. <b>real, pointer :: CANNOT_ENCAPSULATE</b>)
-<li> Targes (i.e. <b>integer, target :: CANNOT_ENCAPSULATE</b>)
-</ol>
-<li><b>Operation:</b>
-<ol>
-<li> Click on or select the name of variable you want to encapsulate.
-<li> Click Refactor &gt; Encapsulate Variable. The Encapsulate Variable dialog will appear.<br>
-<center>
-<img src="../images/GetterSetterNames.jpg" alt="Getter and setter name menu for encapsulating variable <b>temp</b>"></img></center>
-<li> Enter names for getter and setter methods. You will be warned if the names that you want to assign to your getter and setter methods will be conflicting with some other identifier in any of the involved files.
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-<li><b>Example:</b><br>
-<center>
-<img src="../images/EncapsulateVariablesPart1.jpg" alt="Simple example of Encapsulate Variable refactoring<b>temp</b>"></img></center>
-<br>
-<center>
-<img src="../images/EncapsulateVariablesPart2.jpg" alt="Simple example of Encapsulate Variable refactoring<b>temp</b>"></img></center>
-</ul>
-<p>
-<small>1. If a variable is used as a parameter to a function/subroutine call, and that function changes
-the value of the variable as a side-effect, that change will not be preserved.
-</small><br>
-</p>
-</p><h1>Interchange loops
-</h1><p><ul>
-<li><b>Description:</b> Swaps inner and outer loops of the selected nested do-loop<sup>1</sup>. This refactoring merely
-switches the inner and outer do-headers. It will not make any changes to the body of the loop.
-<li><b>Applies To:</b> Selected nested do-loop
-<li><b>Operation:</b>
-<ol>
-<li> Select the nested loops you wish to interchange
-<li> Click Refactor &gt; Interchange Loops. The Interchange loops dialog will appear.<br>
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-<li><b>Example:</b><br>
-<center>
-<img src="../images/InterchangeLoops.png" alt="Simple example of Interchange Loops refactoring"></img></center>
-</ul>
-<p>
-<small>1. In order for refactoring to work correctly, there must be no statements
-before the second loop. If such statements exist, correctness of the
-refactoring is not guaranteed.
-</small>
-</p>
-</p><h1>Introduce Implicit None
-</h1><p><ul>
-<li><b>Description:</b> Adds IMPLICIT NONE statements to a file
-and adds explicit declarations for all variables that were previously declared implicitly.
-<li><b>Applies To:</b> All main programs, subprograms, and modules in one or more files.
-<li><b>Operation:</b>
-<ol>
-<li> This is a multiple-file refactoring.
-<ul>
-<li> <i>To Introduce Implicit None in a single file,</i>
-open the file in the editor and choose
-Refactor &gt; Introduce Implicit None
-from the menu bar.
-<li> <i>To Introduce Implicit None in multiple files,</i>
-select the files in the Fortran Projects view,
-right-click on any of the selected filenames,
-and choose
-Refactor &gt; Introduce Implicit None
-from the popup menu.
-</ul>
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-<li><b>Example:</b><br>
-<center>
-<img src="../images/Photran-intro-implicit-1.png" alt="Example of the Introduce Implicit None refactoring"></img></center>
-</ul>
-</p><h1>Move Saved Variables to Common Block
-</h1><p><ul>
-<li><b>Description:</b> Move Saved Variables to Common Block creates a common block for all &quot;saved&quot; variables of a subprogram. Declarations of these variables in the subprogram are transformed such that they are no longer &quot;saved&quot;. The generated common block is declared both in the main PROGRAM and in the affected subprogram. Variables placed in the common block are renamed such that they do not conflict or shadow other variables. The current implementation assumes that the subprogram is in the CONTAINS section of the PROGRAM.
-<li><b>Applies To:</b> Subprograms.
-<li><b>Operation:</b>
-<ol>
-<li> Click on the declaration statement of a subprogram.
-<li> Click Refactor &gt; Move Saved Variables to Common Block.
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-<li><b>Example:</b><br>
-<center>
-<img src="../images/MoveSavedToCommonBlock.PNG" alt="Example of the Introduce Implicit None refactoring"></img></center>
-</ul>
-</p><h1>Replace Obsolete Operators
-</h1><p><ul>
-<li><b>Description:</b> Replace Obsolete Operators replaces all uses of old-style
-comparison operators (such as .LT. and .EQ.) with their newer equivalents
-(symbols such as &lt; and ==).
-and adds explicit declarations for all variables that were previously declared implicitly.
-<li><b>Applies To:</b> All uses of the following operators in one or more files:
-.LT. .LE. .EQ. .NE. .GT. .GE.
-<li><b>Operation:</b>
-<ol>
-<li> This is a multiple-file refactoring.
-<ul>
-<li> <i>To Replace Obsolete Operators in a single file,</i>
-open the file in the editor and choose
-Refactor &gt; Replace Obsolete Operators
-from the menu bar.
-<li> <i>To Replace Obsolete Operators in multiple files,</i>
-select the files in the Fortran Projects view,
-right-click on any of the selected filenames,
-and choose
-Refactor &gt; Replace Obsolete Operators
-from the popup menu.
-</ul>
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-<li><b>Example:</b><br>
-<center>
-<img src="../images/Photran-replace-obsolete-1.png" alt="Example of the Replace Obsolete Operators refactoring"></img></center>
-</ul>
-</p><h1>Standardize Statements
-</h1><p><ul>
-<li><b>Description:</b> Standardize Statements rewrites all variables declarations, so that
-<ul>
-<li>there is only one variable declaration per line, and
-<li>every variable declaration contains a double colon (::).
-</ul> This is intended to make the code more readable.
-<li><b>Applies To:</b> All main programs, subprograms, and modules in one or more files.
-<li><b>Operation:</b>
-<ol>
-<li> This is a multiple-file refactoring.
-<ul>
-<li> <i>To Standardize Statements in a single file,</i>
-open the file in the editor and choose
-Refactor &gt; Standardize Statements
-from the menu bar.
-<li> <i>To Standardize Statements in multiple files,</i>
-select the files in the Fortran Projects view,
-right-click on any of the selected filenames,
-and choose
-Refactor &gt; Standardize Statements
-from the popup menu.
-</ul>
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-<li><b>Example:</b><br>
-<center>
-<img src="../images/Photran-Standardize-Statements.png" alt="Example of the Standardize Statements refactoring"></img></center>
-</ul>
-</p><h1>Remove Unused Variables
-</h1><p><ul>
-<li><b>Description:</b> Remove Unused Variables removes declarations of local variables that are never used.
-<li><b>Applies To:</b> All main programs, subprograms, and modules in one or more files.
-<li><b>Operation:</b>
-<ol>
-<li> This is a multiple-file refactoring.
-<ul>
-<li> <i>To Remove Unused Variables in a single file,</i>
-open the file in the editor and choose
-Refactor &gt; Remove Unused Variables
-from the menu bar.
-<li> <i>To Remove Unused Variables in multiple files,</i>
-select the files in the Fortran Projects view,
-right-click on any of the selected filenames,
-and choose
-Refactor &gt; Remove Unused Variables
-from the popup menu.
-</ul>
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-<li><b>Example:</b><br>
-<center>
-<img src="../images/Photran-Remove-Unused-Variables.png" alt="Example of the Remove Unused Variables refactoring"></img></center>
-</ul>
-</p><h1>Data to Parameter
-</h1><p><ul>
-<li><b>Description:</b> When a variable declared in a DATA statement is intended to be a constant, Data to Parameter can be used to change it to a variable with the PARAMETER attribute.  Using the PARAMETER attribute makes it more clear which variables are constants and which ones are not; it can also result in performance gains, since it may allow an optimizing compiler to replace some variable accesses with the constant value.
-<li><b>Applies To:</b> All main programs, subprograms, and modules in one or more files.
-<li><b>Operation:</b>
-<ol>
-<li> This is a multiple-file refactoring.
-<ul>
-<li> <i>To transform variables declared as data in variables declared with parameter attribute in a single file,</i>
-open the file in the editor and choose
-Refactor &gt; Data To Parameter
-from the menu bar.
-<li> <i>To transform variables declared as data in variables declared with parameter attribute in multiple files,</i>
-select the files in the Fortran Projects view,
-right-click on any of the selected filenames,
-and choose
-Refactor &gt; Data To Parameter
-from the popup menu.
-</ul>
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-<li><b>Example:</b><br>
-<center>
-<img src="../images/Photran-Data-To-Parameter.png" alt="Example of the Data To Parameter refactoring"></img></center>
-</ul>
-</p><h1>Extract Procedure
-</h1><p><ul>
-<li><b>Description:</b> Extract Procedure removes a sequence of statements from a procedure,
-places them into a new subroutine, and replaces the original statements with a call to that
-subroutine.  Any local variables used by those statements will be passed as parameters to
-the new procedure.  This refactoring is generally used to make long procedures shorter.
-<li><b>Applies To:</b> A sequence of one or more action statements inside a procedure or main program.
-<li><b>Operation:</b>
-<ol>
-<li> Select a sequence of one or more action statements in the editor.  Be sure to include the
-newline following the last statement in the selection.
-<li> Click Refactor &gt; Extract Procedure...  The Extract Procedure dialog will appear.<br>
-<center>
-<img src="../images/Photran-extract-proc-dialog.png" alt="Extract Procedure dialog"></img></center>
-<li> Enter a name for the new procedure that will be created.
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-<li><b>Example:</b><br>
-<center>
-<img src="../images/Photran-extract-proc-1.png" alt="Simple example of the Extract Procedure refactoring"></img></center>
-</ul>
-</p><h1>Extract Local Variable
-</h1><p><ul>
-<li><b>Description:</b> Extract Local Variable removes a subexpression from a larger expression
-and assigns that subexpression to a local variable, replacing the original subexpression
-with a reference to that variable.  This refactoring is usually used to eliminate duplicated
-subexpressions or to introduce explanatory variable names into complex expressions.
-<li><b>Caveats:</b> The refactoring will only be allowed to proceed if extracting the
-subexpression will preserve the associativity and precedence of the original expression.
-This refactoring assumes that the extracted expression has no side effects; it does
-<b>not
-</b> check whether moving the computation of the extracted expression will change the
-behavior of the program.
-<li><b>Operation:</b>
-<ol>
-<li> Select an expression in the editor.
-<li> Click Refactor &gt; Extract Local Variable...
-The Extract Local Variable dialog will appear.
-<li> Enter the type and name for the new local variable that will be created.
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-</ul>
-</p><h1>Canonicalize Keyword Capitalization
-</h1><p><ul>
-<li><b>Description:</b> Makes all applicable keywords the same case throughout the selected Fortran
-program files.
-<li><b>Applies To:</b> All keywords except those listed below.
-<li><b>Does not apply to:</b>
-<ol>
-<li> Identifiers
-<li> All constants except for integer constants and real constants
-</ol>
-<li><b>Operation:</b>
-<ol>
-<li> This is a multiple-file refactoring.
-<ul>
-<li> <i>To Canonicalize Keyword Capitalization in a single file,</i>
-open the file in the editor and choose Refactor &gt; Canonicalize
-Keyword Capitalization from the menu bar.
-<li> <i>To Introduce Implicit None in multiple files,</i> select the
-files in the Fortran Projects view, right-click on any of the selected filenames,
-and choose Refactor &gt; Canonicalize Keyword Capitalization from the popup menu.
-</ul>
-<li> Select Upper or Lower Case<br>
-<center>
-<img src="../images/Photran-canonicalize-keyword-cap-dialog.PNG" alt="Canonicalize keyword capitalization dialog."></img></center>
-<li> Click Preview to see what changes will be made, then click OK to apply them.
-</ol>
-<li><b>Example</b><br>
-<center>
-<img src="../images/Photran-canonicalize-keyword-cap-1.PNG" alt="Example of Canonicalize Keyword Capitalization refactoring."></img></center>
-</ul>
-</p><h1> Make COMMON Variable Names Consistent  
-</h1><ul><li><b>Description:
-</b> Fortran allows different definitions of a COMMON block to give the same variable different names.  This is confusing.  This refactoring gives the variables the same names in all definitions of the COMMON block.
-</li><li><b>Applies To:
-</b> All COMMON blocks with a valid name.
-</li><li><b>Does not apply to:
-</b> COMMON blocks with a NULL name.
-</li><li><b>Operation:
-</b><ol><li>Select the name of the COMMON block in the editor which you wish to make variable names consistent for.
-</li><li>Choose Refactor &gt; Make COMMON Variable Names Consistent form the menu bar.
-</li><li>Enter the new names which you wish to give the COMMON variables. The default new names are the original names in the selected block with &quot;_common&quot; appended.<br><center>
-<img src="../images/Photran-make-common-var-names-consist-dialog.PNG" alt="Make common var names consistent dialog"></img></center>
-</li><li>Click Preview to see what changes will be made, then click OK to apply them.
-</li></ol></li><li><b>Example
-</b><br> <center>
-<img src="../images/Photran-make-common-var-names-consist.PNG" alt="Example of Make COMMON variable names consistent refactoring."></img></center> <center>
-<img src="../images/Photran-make-common-var-names-consist-1.PNG" alt="Example of Make COMMON variable names consistent refactoring."></img></center>
-</li></ul><h1> Add ONLY Clause to USE Statement  
-</h1><ul><li><b>Description:
-</b> Creates a list of the symbols that are being used from a module, and adds it to the USE statement.
-</li><li><b>Applies To:
-</b> All modules containing public definitions.
-</li><li><b>Does not apply to:
-</b> Empty modules or modules with only private entities.
-</li><li><b>Operation:
-</b><ol><li>Select the name of the module in the USE statement you wish to add an ONLY clause to.
-</li><li>Choose Refactor &gt; Add ONLY clause to USE statement.
-</li><li>Select which module entities you wish to include in the ONLY list. Any entities in an existing ONLY list will already be selected and can be deselected to be removed.<br><center>
-<img src="../images/Photran-add-only-dialog.PNG" alt="Add ONLY to USE dialog"></img></center>
-</li><li>Click Preview to see what changes will be made, then click OK to apply them.
-</li></ol></li><li><b>Example
-</b><br> <center>
-<img src="../images/Photran-add-only-list.PNG" alt="Example of Add ONLY clause to USE statement refactoring."></img></center>
-</li></ul><h1> Minimize ONLY List  
-</h1><ul><li><b>Description:
-</b> Deletes symbols that are not being used from the ONLY list in a USE statement.
-</li><li><b>Applies To:
-</b> USE statements with an ONLY clause.
-</li><li><b>Operation:
-</b><ol><li>Select the name of the module in the USE statement you wish to minimize the ONLY list for.
-</li><li>Choose Refactor &gt; Minimized ONLY list for Selected module.
-</li><li>Click Preview to see what changes will be made, then click OK to apply them.
-</li></ol></li><li><b>Example
-</b><br> <center>
-<img src="../images/Photran-min-only-list.PNG" alt="Example of Minimize ONLY list refactoring."></img></center>
-</li></ul><h1> Make Private Entity Public  
-</h1><ul><li><b>Description:
-</b> Changes a module variable or subprogram from PRIVATE to PUBLIC visibility, and checks that it won't conflict with any existing name where that module is USEd.
-</li><li><b>Applies To:
-</b> Variables, subroutines, functions.
-</li><li><b>Does Not Apply To:
-</b> Intrinsics, Externals, Interfaces.
-</li><li><b>Operation:
-</b><ol><li>Select the name of the private entity you wish to make public.
-</li><li>Choose Refactor &gt; Make Private Entity Public.
-</li><li>Click Preview to see what changes will be made, then click OK to apply them.
-</li></ol></li><li><b>Example
-</b><br> <center>
-<img src="../images/Photran-priv-to-public.PNG" alt="Example of make private entity public refactoring."></img></center>
-</li></ul><p><br> <center>
-<img src="../images/Photran-priv-to-public2.PNG" alt="Example 2 of make private entity public refactoring."></img></center>
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/advanced/SearchNavigation.html b/org.eclipse.photran.doc.user/html/advanced/SearchNavigation.html
deleted file mode 100644
index 8629418..0000000
--- a/org.eclipse.photran.doc.user/html/advanced/SearchNavigation.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Search and Navigation</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><h1>Open Declaration
-</h1><p>The <b>Open Declaration</b> command allows you to quickly find the declaration of a particular variable or subprogram.  In the Fortran editor, click on (or select) an identifier. Then either
-</p><ul><li>click on the <b>Navigate</b> menu, and select <b>Open Declaration</b>, or
-</li><li>right-click on the identifier, and, and select <b>Open Declaration</b>, or
-</li><li>press the <b>F3</b> key on your keyboard.
-</li></ul><p>This feature is particularly useful when the declaration is in another file.  For example, if your program contains a &lt;tt&gt;CALL&lt;/tt&gt; statement which invokes a subroutine imported from a module in another file, invoking <b>Open Declaration</b> on the subroutine name in the &lt;tt&gt;CALL&lt;/tt&gt; statement will open the module in a new editor, and the cursor will be located on the declaration of that subroutine.
-</p><h1>Fortran Search
-</h1><p>Fortran Search is a syntax-aware, multi-file search tool. Unlike textual searches, Fortran Search &quot;understands&quot; Fortran programs.  It is used to search for a particular type of declaration (e.g., only modules, or only subroutines), or it can find all of the uses of a particular variable or subroutine. It also allows to you to limit the scope of the search (e.g., it can search every file in the workspace, or just a particular project).
-In order to use Fortran Search, click on the <b>Search</b> menu and select <b>Fortran...</b>
-<center>
-<img src="../images/OpenSearch.jpg"></center><br>
-This will open the Eclipse Search dialog, and the Fortran tab will be active.  There, you can specify several things:
-</p><ul><li>The <b>Search for</b> frame allows you to specify whether it should search for subroutines, functions, modules, variables, etc.
-</li><li>The <b>Scope</b> frame allows you to specify what file(s) will be searched.
-</li><li>The <b>Limit to</b> frame allows you to specify whether you want to find declarations, references, or both.
-</li></ul><p><center>
-<img src="../images/SearchDeclarations.jpg"></center>
-<center><small>Notice that only the declarations of variables/functions were found. Also note the use of the wild-card character(?) in the search box</small></center><br>
-</p><h2>Wildcards
-</h2><p>Wildcards are special symbols used for pattern matching. For more information, click on Help &gt; Help Contents in Eclipse, and navigate to Workbench User Guide &gt; Reference &gt; User interface information &gt; Search.<br>
-</p><ul><li><b>*</b> - represents any number of any symbols. For example, a search for <b>*d</b> would match <b>bad, rescued, d, assembled,</b> etc.
-</li><li><b>?</b> - represents any <b>one</b> single character. For example, a search for <b>?ad</b> would match <b>bad, mad, sad, dad, zad,</b> etc.<br><br>
-</li></ul><p><b>Regular expressions</b> are an even more advanced pattern matching languages.  For more information, click on Help &gt; Help Contents in Eclipse and navigating to Workbench User Guide &gt; Getting started &gt; Basic tutorial &gt; Searching
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/advanced/top.html b/org.eclipse.photran.doc.user/html/advanced/top.html
deleted file mode 100644
index 72fe8fc..0000000
--- a/org.eclipse.photran.doc.user/html/advanced/top.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title></title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><p>You are here: 
-<a href="PTP">PTP</a> &gt; 
-<a href="">Photran</a> &gt; 
-<a href="documentation">Documentation</a> &gt; 
-<a href="photran6advanced">Photran 6.0 Advanced Features</a><br>
-<br>
-<big><big><big><big>Photran 6.0 Advanced Features</big></big></big></big>
-<br><br>
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/AdvancedFeatures.html b/org.eclipse.photran.doc.user/html/basic/AdvancedFeatures.html
deleted file mode 100644
index fc5d4c3..0000000
--- a/org.eclipse.photran.doc.user/html/basic/AdvancedFeatures.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Advanced Features</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><p>Photran 6.0 includes a number of sophisticated features that are designed to make it easier to write, modify, search, and maintain Fortran code. These include content assist, which can &quot;auto-complete&quot; variable and function names as you type; a declaration view, which can show the leading comments for the selected variable or procedure; Fortran Search, which allows you to find declarations and references to modules, variables, procedures, etc.; and refactorings, which change your source code to improve its design while preserving its behavior.
-<br>
-Documentation for Photran's advanced features is available 
-<a href="photran6advanced">here</a>.
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/CompilingFortran.html b/org.eclipse.photran.doc.user/html/basic/CompilingFortran.html
deleted file mode 100644
index fd14f6b..0000000
--- a/org.eclipse.photran.doc.user/html/basic/CompilingFortran.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Compiling Fortran Programs</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><p>To compile a project, Photran generally executes whatever 
-<b>make
-</b> command is on your system path.  (On most systems, this will invoke GNU Make.)  As noted above, when you create a project, you can decide if Photran will auto-generate a Makefile that uses GNU Fortran, Intel Fortran, or IBM XL Fortran, or you can elect to hand-write your own Makefile.
-</p><ul><li>To use an automatically generated Makefile, choose &quot;Executable (Gnu Fortran on XYZ)&quot; from the Project type menu, where XYZ is your platform (Windows, Linux, or Mac OS X).  There are similar options available for Intel Fortran and IBM XL Fortran.
-</li><li>To create a project using a custom Makefile, in the project type selection box, expand the Makefile Project folder, and select Empty Project.
-</li></ul><p><center>
-<img src="../images/Photran-project-type.PNG" alt="Choosing a Fortran project type"></img></center>
-</p><h1> Building Projects 
-</h1><p>Compiling Fortran projects is identical to compiling C/C++ Projects.
-<b>For more information on building projects,
-</b> click on Help &gt; Help Contents in Eclipse, and navigate to
-<b>C/C++ Development User Guide &gt; Concepts &gt; Build &gt; Building C/C++ Projects.
-</b> 
-<a href="http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/concepts/cdt_c_build_over.htm?resultof=%22%63%6f%6d%70%69%6c%69%6e%67%22%20%22%63%6f%6d%70%69%6c%22%20%22%63%2f%43%2b%2b%22%20">http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/concepts/cdt_c_build_over.htm?resultof=%22%63%6f%6d%70%69%6c%69%6e%67%22%20%22%63%6f%6d%70%69%6c%22%20%22%63%2f%43%2b%2b%22%20</a></p><h1> Setting Make Targets  
-</h1><p>Setting make targets for Fortran programs is also identical to setting make targets for C/C++ programs.
-<b>For more information on make targets,
-</b> click on Help &gt; Help Contents in Eclipse, and navigate to
-<b>C/C++ Development User Guide &gt; Tasks &gt; Building projects &gt; Creating a make target.
-</b> 
-<a href="http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/tasks/cdt_t_addmaketarget.htm?resultof=%22%6d%61%6b%65%22%20%22%74%61%72%67%65%74%73%22%20%22%74%61%72%67%65%74%22%20">http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/tasks/cdt_t_addmaketarget.htm?resultof=%22%6d%61%6b%65%22%20%22%74%61%72%67%65%74%73%22%20%22%74%61%72%67%65%74%22%20</a></p><h1> Marking Error Messages from Your Fortran Compiler (Error Parsers)  
-</h1><p>When you build (compile) your Fortran program, the output from your Fortran compiler (including any error messages) will be displayed in the Console view.  However, for many compilers, Photran can &quot;recognize&quot; error messages, placing the problem description in the Problems view and marking the corresponding line in the source file with a red X icon.
-To do this, you must have the correct 
-<i>error parsers
-</i> selected in your Fortran project's build settings. To modify these settings, right-click on your Fortran project, go to Properties &gt; Fortran Build &gt; Settings and select the Error Parsers tab. A list of error parsers is displayed; select the one(s) corresponding to the Fortran compiler(s) you are using and click OK.
-<center>
-<img src="../images/Photran-fortran-error-parsers.PNG" alt="Fortran Error Parsers"></img></center>
-</p><h1> Recognizing Executables (Binary Parsers) 
-</h1><p>In order to run (execute) your Fortran application, you will need to tell Eclipse which Binary Parser(s) to use for your project. This can be done in the project properties (Right-click project &gt; Properties &gt; Fortran Build &gt; Settings &gt; Binary Parsers Tab).
-Which binary parser you want to use will depend on the operating system environment you are working in. For example, the default choice is the Elf Parser which is for Linux environments. Windows users would need to deselect the Elf Parser and select the PE Windows Parser and/or the Cygwin PE Parser. Mac users should choose the Mach-O parser.
-<center>
-<img src="../images/Photran-fortran-binary-parsers.PNG" alt="Fortran Binary Parsers"></img><br>
-<img src="../images/Photran-run-as-local-fortran.png" alt="Run as Local Fortran Application"></img></center>
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/GettingStarted.html b/org.eclipse.photran.doc.user/html/basic/GettingStarted.html
deleted file mode 100644
index ed7495e..0000000
--- a/org.eclipse.photran.doc.user/html/basic/GettingStarted.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Getting Started</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><p>Photran is an integrated development environment and refactoring tool for Fortran 77, 90, 95, and 2003.
-It includes an editor with &quot;smart&quot; syntax highlighting, a GUI debugger, CVS support, Makefile-based compilation, error message recognition for many common Fortran compilers, Fortran language-based search and code navigation, content assist, a Fortran declaration view, and many refactorings, including popular refactorings such as Rename and Extract Procedure as well as Fortran-specific refactorings like Introduce Implicit None.
-Photran is based on Eclipse, and some of its components are reused from the Eclipse C/C++ Development Tools (CDT).  Throughout this documentation, you will see references to relevant parts of the Eclipse and CDT documentation, which can be accessed by clicking on the Help menu (inside Photran/Eclipse) and clicking Help Contents.
-<b>If you have never used Eclipse before,
-</b> please work through the Eclipse Workbench tutorial before attempting to use Photran.  Click on Help &gt; Help Contents in Eclipse, and navigate to
-<b>Workbench User Guide &gt; Getting started &gt; Basic tutorial.
-</b>  This will introduce you to Eclipse concepts such as 
-<i>perspectives
-</i> and 
-<i>views;
-</i> such terminology will be used throughout this manual.
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/InstallingPhotran.html b/org.eclipse.photran.doc.user/html/basic/InstallingPhotran.html
deleted file mode 100644
index 2737a0a..0000000
--- a/org.eclipse.photran.doc.user/html/basic/InstallingPhotran.html
+++ /dev/null
@@ -1,153 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Installing Photran</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><h1> System Requirements  
-</h1><p>To install Photran 6.0...
-You must have 
-<b>Eclipse 3.6 (Helios)
-</b> installed.
-</p><ol><li>You should have the 
-<b>C/C++ Development Tools (CDT) 7.0
-</b> installed. If you do not...
-<ol><li>If you downloaded Eclipse from eclipse.org 
-<b>and
-</b> you will be following the instructions below for &quot;Installing on a Machine With Internet Access,&quot; then CDT should be installed automatically when you install Photran.
-</li><li>Otherwise, CDT probably 
-<i>will not
-</i> be installed automatically. You will need to install CDT manually. Follow the instructions below for &quot;Installing on a Machine Without Internet Access.&quot; You should also follow these instructions if you did not download Eclipse from eclipse.org (e.g., if you installed it from a Linux distribution like Ubuntu).
-</li></ol></li><li>Eclipse must be running on a 
-<b>Java 1.5 or later Java Virtual Machine (JVM).
-</b> To get reasonable performance, we recommend Sun's JVM 
-<a href="http://java.com/en/download/manual.jsp">http://java.com/en/download/manual.jsp</a> or IBM's J9 
-<a href="http://wiki.eclipse.org/index.php/J9">http://wiki.eclipse.org/index.php/J9</a>. OpenJDK (the default JVM on newer versions Fedora Linux) also works well, although GNU Classpath (the default JVM on older versions of Fedora) is generally too slow to be useful.
-</li><li>If you want to compile and build Fortran applications, you must have a 
-<b>make 
-</b>program (such as GNU Make) and a 
-<b>Fortran compiler
-</b> (such as gfortran, the GNU Fortran compiler) in your system path. Many Linux/Unix systems include these; details on installing them in Windows and Mac are below.
-</li></ol><h1> Installation Procedure  
-</h1><h2>Installing on a Machine With Internet Access
-</h2><p>To install Photran, start Eclipse, then...<br>
-</p><ol><li>Click on Help &gt; Install New Software...
-</li><li>Click on the &quot;Add...&quot; button
-</li><li>In the Location field, type 
-<b>http://download.eclipse.org/tools/ptp/releases/helios
-</b></li><li>Click OK to close the Add Site dialog.  This will return you to the Install dialog.
-</li><li>Expand &quot;Fortran Development Tools (Photran)&quot; and check the box next to &quot;Photran End-User Runtime&quot;
-</li><li>If you are running Linux and have the Intel Fortran Compiler installed, or if you are on a Macintosh and have the IBM XL Fortran compiler installed, expand &quot;Fortran Compiler Support&quot; and select the appropriate compiler.  
-<i>Note that you 
-<b>cannot
-</b> install Intel Fortran compiler support unless you are running Linux!
-</i></li><li>Click on the &quot;Next&quot; button
-</li><li>If you get an error message, see below for troubleshooting information.
-</li><li>Click the Finish button and agree to the license to complete the installation.
-</li></ol><p><br>
-</p><h2>Installing on a Machine Without Internet Access
-</h2><p>You will the following files:
-</p><ol><li>If you do not have CDT installed, you will need to download the latest 7.0.x &quot;CDT master update archive&quot; from 
-<a href="http://download.eclipse.org/tools/cdt/releases/helios/">http://download.eclipse.org/tools/cdt/releases/helios/
-</a>).  This should be a file named 
-<b>cdt-master-7.0.x.zip
-</b> (for some value of 
-<i>x
-</i>)
-</li><li>To install Photran, you will need the latest PTP update site archive from 
-<a href="http://wiki.eclipse.org/PTP/builds/4.0.0">http://wiki.eclipse.org/PTP/builds/4.0.0
-</a>).  This should be a file named 
-<b>ptp-master-4.0.0-I2010xxxxxxxx.zip
-</b></li></ol><p>If you do not have CDT installed, start Eclipse, then...<br>
-</p><ol><li>Click on Help &gt; Install New Software...
-</li><li>Click on the &quot;Add...&quot; button
-</li><li>Click on the &quot;Archive...&quot; button
-</li><li>Point it to the file 
-<i>cdt-master-7.0.x.zip
-</i></li><li>Click OK to close the Add Site dialog.  This will return you to the Install dialog.
-</li><li>Expand &quot;CDT Main Features&quot; and check the box next to &quot;Eclipse C/C++ Development Tools&quot;
-</li><li>Click on the &quot;Next&quot; button
-</li><li>Click the Finish button and agree to the license to complete the installation.
-</li><li>After CDT is installed, you will be asked to restart Eclipse.  You may then proceed to install Photran.
-</li></ol><p>To install Photran, start Eclipse, then...<br>
-</p><ol><li>Click on Help &gt; Install New Software...
-</li><li>Click on the &quot;Add...&quot; button
-</li><li>Click on the &quot;Archive...&quot; button
-</li><li>Point it to the file 
-<i>ptp-master-4.0.0-I2010xxxxxxxx.zip
-</i></li><li>Click OK to close the Add Site dialog.  This will return you to the Install dialog.
-</li><li>Expand &quot;Fortran Development Tools (Photran)&quot; and check the boxes next to &quot;Photran End-User Runtime&quot; 
-<b>and
-</b> &quot;Rephraser Engine End-User Runtime&quot; (the latter is a supporting component)
-</li><li>If you are running Linux and have the Intel Fortran Compiler installed, or if you are on a Macintosh and have the IBM XL Fortran compiler installed, expand &quot;Fortran Compiler Support&quot; and select the appropriate compiler.  
-<i>Note that you 
-<b>cannot
-</b> install Intel Fortran compiler support unless you are running Linux!
-</i></li><li>Click on the &quot;Next&quot; button
-</li><li>If you get an error message, see below for troubleshooting information.
-</li><li>Click the Finish button and agree to the license to complete the installation.
-</li></ol><p><br>
-</p><h2>Troubleshooting
-</h2><blockquote>Eclipse's installer gives notoriously cryptic error messages, which, unfortunately, are out of Photran's control.  Some of the more common ones are below.  If you run into a different error message and cannot resolve it, please ask for help on the 
-<a href="http://www.eclipse.org/photran/mailinglists.php">Photran mailing list
-</a>.
-</blockquote><p><br>
-</p><blockquote><b>Problem:
-</b> You receive the following error message during installation.
-</blockquote><blockquote><blockquote>Cannot complete the install because one or more required items could not be found.
-</blockquote></blockquote><blockquote><blockquote>Missing requirement: 125xxxxxxxxxx 0.0.0.125xxxxxxxxxx requires 'org.eclipse.photran.intel.feature.group 
-<a href="5.0.0.xxxx">5.0.0.xxxx</a>' but it could not be found
-</blockquote></blockquote><blockquote><b>Solution:
-</b> You are attempting to install support for the Intel Fortran compiler, but you are not running Linux.  Go back in the installation wizard, and 
-<i>uncheck
-</i> &quot;Linux Intel(R) Fortran Compiler Support.&quot;
-</blockquote><p><br>
-</p><blockquote><b>Problem:
-</b> You receive the following error message during installation.
-</blockquote><blockquote><blockquote>Cannot complete the install because one or more required items could not be found.
-</blockquote></blockquote><blockquote><blockquote> Software being installed: Photran End-User Runtime 6.0.x.xxxxxxxxxxxx (org.eclipse.photran.feature.group 6.0.x.xxxxxxxxxxxx)
-</blockquote></blockquote><blockquote><blockquote> Missing requirement: Photran VPG CDT Interface Plug-in 6.0.x.xxxxxxxxxxxx (org.eclipse.photran.cdtinterface.vpg 6.0.x.xxxxxxxxxxxx) requires 'bundle org.eclipse.cdt.core 0.0.0' but it could not be found
-</blockquote></blockquote><blockquote><blockquote> Cannot satisfy dependency:
-</blockquote></blockquote><blockquote><blockquote>   From: Photran End-User Runtime 6.0.x.xxxxxxxxxxxx (org.eclipse.photran.feature.group 6.0.x.xxxxxxxxxxxx)
-</blockquote></blockquote><blockquote><blockquote>   To: org.eclipse.photran.cdtinterface.vpg 
-<a href="6.0.x.xxxxxxxxxxxx">6.0.x.xxxxxxxxxxxx</a></blockquote></blockquote><blockquote><b>Solution:
-</b> You do not have CDT 7.0 installed, and it couldn't be downloaded and installed automatically.  Try installing CDT 7.0 first, then retry installing Photran.
-</blockquote><h1> Additional Instructions for Windows Users  
-</h1><p>To compile and run Fortran programs in Photran, you will need to have a Fortran compiler and make utility installed. 
-<a href="http://gcc.gnu.org/fortran/">gfortran
-</a> and 
-<a href="http://www.gnu.org/make">GNU Make
-</a> are commonly used (and free). Most Linux/Unix distributions include these. Under Windows, you will need to install Cygwin 
-<a href="http://www.cygwin.com/">http://www.cygwin.com/</a> (which optionally includes gfortran and GNU Make) or MinGW 
-<a href="http://www.mingw.org/">http://www.mingw.org/</a> and put them on your Windows PATH.
-</p><h2>Instructions for Cygwin
-</h2><ol><li>Install 
-<a href="http://www.cygwin.com/">Cygwin
-</a>; the defaults are mostly OK, but you will need to explicitly tell it to include the &quot;Devel&quot; packages (at least gcc4-fortran, gdb, and make) when the installer asks you to select what packages to install. (If gcc4-fortran is not listed under the &quot;Devel&quot; packages, you may have chosen a bad mirror; restart the Cygwin installation, and choose a different mirror instead. Georgia Tech's mirror at gtlib.gatech.edu is generally quite fast and reliable, for example.)
-</li><li>Add the Cygwin directories to your Windows PATH. Under Windows XP, the process is as follows:
-<ol><li>Make sure you are logged in under an administrator account.
-</li><li>Open the Control Panel.
-</li><li>Double-click the System icon.
-</li><li>Switch to the Advanced tab.
-</li><li>Click the Environment Variables button.
-</li><li>Under System Variables, find the variable &quot;Path&quot; in the list, and click on it.
-</li><li>Click Edit.
-</li><li>At the end of the &quot;Variable Value&quot; text, add <pre>;C:\Cygwin\bin;C:\Cygwin\usr\bin;C:\Cygwin\usr\local\bin;C:\Cygwin\lib;C:\Cygwin\usr\lib</pre>
-</li><li>Click OK, click OK, click OK, and close the Control Panel.
-</li><li>Close and re-open Photran. Windows should now search C:\Cygwin\bin, C:\Cygwin\usr\bin, etc. when it's looking for executables (including make.exe, gcc.exe, and gfortran.exe).
-</li></ol></li></ol><h1> Additional Instructions for Mac OS X Users  
-</h1><p>If you install gfortran on Mac OS X, it may be installed in /usr/local/bin, which is not (by default) on the PATH. If you are launching Eclipse from a Terminal, the PATH can be set by modifying /etc/paths. However, if you are launching Eclipse from the Finder (by double clicking on it) or the Dock, then the PATH is not obtained from the shell or /etc/paths. Instead, it's obtained from ~/.MacOSX/environment.plist. The format of the environment.plist file is as follows (change the path appropriately). 
-<i>If you create or edit this file, you will need to log out (or reboot) before the changes will take effect.
-</i><pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE plist PUBLIC &quot;-//Apple Computer//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
-&lt;plist version=&quot;1.0&quot;&gt;
-&lt;dict&gt;
-&lt;key&gt;PATH&lt;/key&gt;
-&lt;string&gt;/usr/local/mpi/bin:/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/sbin:/usr/sbin:/Developer/Tools:/usr/texbin:/Users/greg/bin&lt;/string&gt;
-&lt;/dict&gt;
-&lt;/plist&gt;
-</pre>
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/RunningDebuggingFortran.html b/org.eclipse.photran.doc.user/html/basic/RunningDebuggingFortran.html
deleted file mode 100644
index ea47f90..0000000
--- a/org.eclipse.photran.doc.user/html/basic/RunningDebuggingFortran.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Running and Debugging Fortran Programs</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><p>To run a Fortran application, right-click the project in the Fortran Projects view, and click Run As &gt; Local Fortran Application. This will build and run the Fortran application, and output will be printed to the console.  (Remember, if you are using a custom makefile, the makefile will need to be written correctly for the project to be built.)
-If you want to manage the run configuration (for example, if you want to pass command line arguments to your Fortran application or set certain environment variables), right-click on the project in the Fortran Projects view, click Run As &gt; Run Configurations... Create a new launch configuration under Fortran Local Application (or edit an existing one) and modify the settings as needed.
-Debugging programs works similarly, except you can choose Debug As &gt; Local Fortran Application or Debug Configurations from the context menu.
-Running and debugging Fortran applications is similar to running and debugging C/C++ applications. 
-<b>For more information on running and debugging binary applications,
-</b> click on Help &gt; Help Contents in Eclipse, and navigate to
-<b>C/C++ Development User Guide &gt; Tasks &gt; Running and debugging projects.
-</b> 
-<a href="http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/tasks/cdt_o_run.htm?resultof=%22%72%75%6e%6e%69%6e%67%22%20%22%72%75%6e%22%20">http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/tasks/cdt_o_run.htm?resultof=%22%72%75%6e%6e%69%6e%67%22%20%22%72%75%6e%22%20</a></p><h1> Setting Breakpoints  
-</h1><p>There are two ways to set breakpoints in the editor.
-The easiest way to set a breakpoint in the editor is to double click in the left margin (gray vertical bar) on the line at which you wish to set the breakpoint. A blue dot will appear in the margin on the line where the breakpoint is set. Double clicking again at the same location will remove the breakpoint.
-You can also set a breakpoint by right-clicking in the left margin on the line where you wish to set the breakpoint and clicking &quot;Toggle Breakpoint.&quot; The blue dot indicating the breakpoint will appear or disappear (if already set) in the left margin of the editor.
-<center>
-<img src="../images/Photran-set-breakpoint.png" alt="Setting Breakpoints"></img></center>
-When you switch to the Debug perspective, the breakpoints you set will be listed in the Breakpoints view.
-<b>For more information on debugging,
-</b> click on Help &gt; Help Contents in Eclipse, and navigate to
-<b>C/C++ Development User Guide &gt; Tasks &gt; Running and debugging projects &gt; Debugging.
-</b></p><h1> Known Run/Debug Issues  
-</h1><p>When using Cygwin in Windows, debugging a program can result in a &quot;cannot find gcc source&quot; error as described in 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=280492">Bug 280492
-</a>. Note that this error does not have an effect on the running of the program. The program will still run correctly in Debug mode.
-</p><h1> Compiler-specific problems  
-</h1><h3> G95  
-</h3><p>In debug mode, using the step button to step through the code line-by-line sometimes jumps (&quot;leapfrog&quot; effect) around in the source code editor view. For example, pressing F6 (step) after a breakpoint several times, might sometimes result in a jump to line 1 and stepping again will return to the correct line in the code.
-</p><h3> gFortran  
-</h3><p>No known issues.
-</p><h3> Intel Fortran Compiler  
-</h3><p>No known issues.
-</p><h3> IBM XLF  
-</h3><p>No known issues.
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/StartingNewProject.html b/org.eclipse.photran.doc.user/html/basic/StartingNewProject.html
deleted file mode 100644
index b8a5ea5..0000000
--- a/org.eclipse.photran.doc.user/html/basic/StartingNewProject.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Starting a New Project</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><p>One of the advantages (or disadvantages) of using Photran is that it does 
-<i>not
-</i> include a Fortran compiler.  Instead, it uses 
-<b>make
-</b> to compile Fortran programs.  This allows you to use any Fortran compiler you want, but it also means that a Makefile must be written which tells the 
-<b>make
-</b> program how to compile your Fortran program.
-</p><ul><li>For small, simple projects, Photran can 
-<b>auto-generate
-</b> a Makefile which will use the GNU Fortran compiler (gfortran).
-</li><li>For more complex projects, you can write a custom Makefile.
-</li></ul><p><b>For more information on project types,
-</b> click on Help &gt; Help Contents in Eclipse, and navigate to
-<b>C/C++ Development User Guide &gt; Concepts &gt; CDT Projects.
-</b></p><h1> Starting a Project with an Auto-Generated Makefile  
-</h1><p>The following is a typical procedure for starting a new project using an auto-generated Makefile.  Your system must have the GNU Fortran (gfortran) compiler installed for this procedure to work.  To make sure that gfortran is installed, you can open a command prompt (Windows) or terminal window (Linux/Mac) and type &quot;gfortran&quot; (without the quotes); it should respond with &quot;gfortran: no input files&quot;.
-</p><ol><li>Click File &gt; New &gt; Fortran Project
-</li><li>Call it HelloFortran
-</li><li>Choose &quot;Executable (Gnu Fortran)&quot; from the project type list
-</li><li>Choose &quot;GCC Toolchain&quot; from the toolchain list (you may need to first uncheck the &quot;Show project types...&quot; check box at the bottom of the window before you can see this)
-</li><li>Click Next
-</li><li>Click on Advanced Settings
-</li><li>Expand C/C++ Build in the list on the left, and click on Settings
-</li><li>Click on the Binary Parsers tab. Check the appropriate parsers for your platform. If you are using Windows, check PE Windows Parser and/or Cygwin PE Parser; if you are using Linux, check Elf Parser; if you are using Mac, check Mach-O parser.
-</li><li>Click on the Error Parsers tab. Check the error parser(s) for the Fortran compiler(s) you will use.
-</li><li>Click OK
-</li><li>Click Finish
-</li><li>Click File &gt; New &gt; Source File
-</li><li>Call it hello.f90; click Finish
-</li><li>Type the standard &quot;Hello, World&quot; program shown below, and click File &gt; Save.
-</li><li>Open the Console view, and make sure &quot;make&quot; ran OK and compiled your program
-</li><li>In the Fortran Projects view, expand the Binaries entry, and click on your executable (e.g., &quot;HelloFortran.exe - 
-<a href="x86le">x86le</a>&quot;)
-</li><li>Run | Run As | Run Local Fortran Application
-</li><li>Choose GDB Debugger (Cygwin GDB Debugger if you're under Windows)
-</li><li>Check the Console view, and make sure &quot;Hello World&quot; appeared.
-</li></ol><p><br>
-<i>hello.f90:
-</i><pre>program hello
-print *, &quot;Hello World&quot;
-end program</pre>
-</p><h1> Starting a Project with a Hand-Written Makefile  
-</h1><p>The following is a typical procedure for starting a new project using a hand-written Makefile.  The following example uses the GNU Fortran (gfortran) compiler, but any Fortran compiler can be used instead.  We will assume that you are familiar with how to write a Makefile.  If not, there are plenty of resources on the Web, including a tutorial from an introductory Computer Science course at UIUC 
-<a href="http://www-courses.cs.uiuc.edu/%7Ecs225/cs225/_resources/_tutorials/makeTut.pdf">http://www-courses.cs.uiuc.edu/%7Ecs225/cs225/_resources/_tutorials/makeTut.pdf</a> and another from the University of Hawaii 
-<a href="http://www.eng.hawaii.edu/Tutor/Make/">http://www.eng.hawaii.edu/Tutor/Make/</a>... and, of course, you can always read the entire manual for GNU Make 
-<a href="http://www.gnu.org/software/make/manual/make.html">http://www.gnu.org/software/make/manual/make.html</a>.
-</p><ol><li>Click File &gt; New &gt; Fortran Project
-</li><li>Call it HelloFortran
-</li><li>Expand &quot;Makefile project&quot; in the project type list (it has a folder icon), and choose &quot;Empty Project&quot;
-</li><li>Select &quot;-- Other Toolchain --&quot; in the toolchain list in the right-hand column, and click Next
-</li><li>Click on Advanced Settings
-</li><li>Expand C/C++ Build in the list on the left, and click on Settings
-</li><li>Click on the Binary Parsers tab.&nbsp; Check the appropriate parsers for your platform. If you are using Windows, check PE Windows Parser and/or Cygwin PE Parser; if you are using Linux, check Elf Parser; if you are using Mac, check Mach-O parser.
-</li><li>Click on the Error Parsers tab. Check the error parser(s) for the Fortran compiler(s) you will use.
-</li><li>Click OK
-</li><li>Click Finish
-</li><li>Click File &gt; New &gt; Source File
-</li><li>Call it hello.f90
-</li><li>Click Finish
-</li><li>Type the standard &quot;Hello, World&quot; program shown below.
-</li><li>Click File &gt; New &gt; File
-</li><li>Call it Makefile
-</li><li>Click Finish
-</li><li>Create a Makefile similar to the one shown below.  Again, we assume you are familiar with the structure of a Makefile.  
-<b>You cannot simply copy-and-paste this example
-</b> because the gfortran and rm lines must start with a tab, not spaces.  The -g switch instructs gfortran to include debugging symbols in the generated executable so that it can be debugged later.  The -o switch tells it what to name the generated executable.
-</li><li>Click Project &gt; Clean, then click OK
-</li><li>Open the Console view, and make sure &quot;make&quot; ran OK and compiled your program
-</li><li>In the Fortran Projects view, expand the Binaries entry, and click on your executable (e.g., &quot;hello.exe - 
-<a href="x86le">x86le</a>&quot;)
-</li><li>Click Run &gt; Run As &gt; Local Fortran Application
-</li><li>Choose GDB Debugger (Cygwin GDB Debugger if you're under Windows)
-</li><li>Check the Console view, and make sure &quot;Hello World&quot; appeared.
-</li></ol><p><br>
-<i>hello.f90
-</i><pre>program hello
-print *, &quot;Hello World&quot;
-end program</pre>
-<br>
-<i>Makefile:
-</i> 
-<b>(You MUST replace the spaces beginning the gfortran and rm lines with a tab character!)
-</b><pre>all:
-gfortran -o hello.exe -g hello.f90
-clean:
-rm -f hello.exe
-</pre>
-</p><h1> Converting C/C++ Projects to Fortran Projects  
-</h1><p>Every Fortran project is also a C project, so CDT's functionality will work as expected on Fortran projects.&nbsp; However, a C/C++ is 
-<i>not 
-</i>a Fortran project until it has been explicitly converted.&nbsp; (In the Fortran Projects view, a Fortran project will have an &quot;F&quot; icon, while a C/C++ project will have a &quot;C&quot; icon.)
-To convert an existing C/C++ project to a Fortran project:
-</p><ol><li>Switch to the Fortran perspective.
-</li><li>In the Fortran Projects view, right-click on the project you want to convert, and select Convert to Fortran Project from the pop-up menu.
-</li><li>The project should now have an &quot;F&quot; icon in the Fortran Projects view.
-</li></ol><p><center>
-<img src="../images/Photran-f-vs-c-project.png"></center>
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/Troubleshooting.html b/org.eclipse.photran.doc.user/html/basic/Troubleshooting.html
deleted file mode 100644
index 5716337..0000000
--- a/org.eclipse.photran.doc.user/html/basic/Troubleshooting.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Troubleshooting</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><p>If you are experiencing problems installing or working with Photran, please review the FAQ 
-<a href="http://wiki.eclipse.org/PTP/photran/faq">http://wiki.eclipse.org/PTP/photran/faq</a>.  If you don't find an answer there, please join the Photran mailing list 
-<a href="http://eclipse.org/photran/mailinglists.php">http://eclipse.org/photran/mailinglists.php</a>; a large number of users (as well as Photran's developers) monitor that list, and they are generally eager to help.
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/UpgradingProjects.html b/org.eclipse.photran.doc.user/html/basic/UpgradingProjects.html
deleted file mode 100644
index d737707..0000000
--- a/org.eclipse.photran.doc.user/html/basic/UpgradingProjects.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Upgrading Projects Created with Earlier Versions of Photran</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><p>There are three major changes in Photran 6 that affect users of previous versions of Photran:
-</p><ol><li><b>Projects must be converted to Fortran projects.
-</b>&nbsp; In the past, Photran would treat C projects and Fortran projects similarly.&nbsp; In fact, in Photran 4 and earlier versions, Photran's new project wizard actually created C projects!&nbsp; But in Photran 6, many of Photran's features will only be available after a project is converted to a Fortran project.&nbsp; (Every Fortran project is a C project too, so CDT's features will still work on the project.)&nbsp; 
-<a href="photran6#Converting_C%2FC%2B%2B_Projects_to_Fortran_Projects">Learn how to convert projects</a>.<br>
-</li><li><b>Project properties must be reset.
-</b>&nbsp; Photran 6 uses a new mechanism for storing project properties.&nbsp; Unfortunately, this means that the project properties for old projects must be re-created.&nbsp; This includes enabling analysis/refactoring and setting include paths and module paths.<br>
-</li><li><b>Source form settings must be set for the project.
-</b>&nbsp; Previous versions of Photran used Eclipse's workspace-wide settings to distinguish free and fixed form files.&nbsp; In Photran 6, each project has its own settings that determine which filename extensions correspond to free and fixed source form (and which files contain C preprocessor directives).&nbsp; 
-<a href="photran6#Configuring_Source_Forms_and_Filename_Extensions"><u>Learn about source form settings</u></a>.
-</li></ol><p><br>
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/WritingCode.html b/org.eclipse.photran.doc.user/html/basic/WritingCode.html
deleted file mode 100644
index f377969..0000000
--- a/org.eclipse.photran.doc.user/html/basic/WritingCode.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title>Writing Code</title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><h1> Configuring Source Forms and Filename Extensions  
-</h1><p>Photran supports both fixed-form and free-form Fortran code. Photran also supports C preprocessor directives, such as #define, #ifdef, #include, __FILE__, and __LINE__ in Fortran code.
-</p><blockquote><small>
-<i>Fixed form is an older form designed for punch cards. It is more common in Fortran 77 and earlier programs, although it is still part of Fortran 2003. In fixed form, a &quot;c&quot;, &quot;C&quot;, &quot;*&quot;, or &quot;!&quot; in column 1 indicates a comment; columns 1 through 5 are used for a statement label; a character in column 6 indicates a continuation line; and program statements are contained in columns 7 through 72. Anything after column 72 is ignored. (Although column 72 is specified in the Fortran standard, most compilers allow you to change this to permit longer lines; Photran allows you to change it as well, as described in the next section.)
-</i></small>
-</blockquote><p>Photran uses filename extensions to determine whether a file is in fixed- or free-form and whether or not it is C-preprocessed. The default filename extensions are as follows.
-<table cellspacing="0" cellpadding="5" border="1" align="center"><tr><td> 
-<b>Filename Extensions
-</b></td><td> 
-<b>Source Form/Preprocessing
-</b></td></tr><tr><td> .f, .fix, .for, .fpp, .ftn<br> .F, .F77, .FIX, .FOR, .FTN, .FPP, .fpp
-</td><td> Fixed source form
-</td></tr><tr><td> .f08, .f03, .f95, .f90
-</td><td> Free source form with INCLUDE lines<br>
-</td><td> .F08, .F03, .F95, .F90
-</td><td> Free source form with C preprocessor directives
-</td></tr></table></p><h2> Configuring Source Form/Filename Extension Associations  
-</h2><p>The filename extensions listed above are the defaults for new Fortran projects.&nbsp; To change them:
-</p><ol><li>In the Fortran Projects view, right-click on a project, and choose Properties.
-</li><li>In the tree on the left, navigate to Fortran General &gt; Source Form.
-</li><li>For each filename extension(s) you want to change, select the appropriate source form from the dropdown box.
-</li><li>Click OK to close the dialog box.
-</li></ol><p><center>
-<img src="../images/Photran-source-form-config.png"></center>
-</p><h2> Adding Additional Filename Extensions 
-</h2><p>Additional filename extensions can be added by changing the Eclipse Content Type preferences.
-</p><ol><li>Click on Window &gt; Preferences... (Eclipse &gt; Preferences... on Mac OS X).
-<ol><li>In the &quot;Content types:&quot; tree in the right pane, navigate to Text &gt; Fortran Source File.
-</li></ol></li><li>Click the Add... button.
-</li><li>To make all files with a &quot;.fre&quot; filename extension be recognized as Fortran source code, enter 
-<i>*.fre
-</i> in the dialog.&nbsp; You can also specify individual filenames by omitting the *. prefix; for example, entering 
-<i>old-fortran-code.txt
-</i> will make any file named old-fortran-code.txt be recognized as Fortran source code, but not other .txt files.
-</li><li>Click OK to close the dialogs.
-</li></ol><p><b>For more information on configuring content types,
-</b> click on Help &gt; Help Contents in Eclipse and navigate to 
-<b>Workbench User Guide &gt; Reference &gt; Preferences &gt; Content Types.
-</b></p><h1> Configuring Fixed Form Line Width  
-</h1><p>While free source form allows lines to be arbitrarily long, in fixed form, there is a predetermined maximum line width. Often, this is 72 characters (i.e., anything after column 72 is ignored and treated as a comment), although most compilers allow you to change this to permit longer lines. Photran allows you to change it as well.
-To change the maximum line width in fixed form sources...
-</p><ol><li>Open the workbench preferences.  On Windows or Linux, click Window &gt; Preferences; on Mac OS X, click Eclipse &gt; Preferences.
-</li><li>Expand the Fortran category, and choose Editor.
-</li><li>Change the value of the field labeled &quot;fixed form line length.&quot;  The value must be at least 72.
-</li></ol><p>If you have any fixed form editors open, close and reopen them; notice that the rightmost, gray vertical bar has been moved to the column indicated, and the parser (which constructs the Outline view) has adjusted accordingly.
-<b>NOTE:
-</b> This is a workspace-wide preference: It affects all fixed form files in the workspace.  It is not currently possible to adjust this setting per project or per file.
-</p><h1> The Fortran Perspective  
-</h1><p>When you write Fortran code, ordinarily you will work in the Fortran perspective. When you create a new Fortran project (as described above), the wizard will ask if you want to switch to the Fortran perspective, or you can do it manually by clicking Window &gt; Open Perspective &gt; Other... and selecting Fortran from the list.
-<b>For more information on perspectives,
-</b> click on Help &gt; Help Contents in Eclipse, and navigate to 
-<b>Workbench User Guide &gt; Concepts &gt; Perspectives.
-</b> Perspectives are also covered in the Eclipse tutorial, which can be found in 
-<b>Workbench User Guide &gt; Getting started &gt; Basic tutorial.
-</b>In particular, note that you can add views to a perspective by clicking Window &gt; Show View &gt; Other... and selecting a new view from the Show View dialog. You can also reset the current perspective to its original layout: From the menu bar, choose Window &gt; Reset Perspective.
-By default, the Fortran perspective contains a central area for editing code, as well as the following views:
-</p><ul><li>The 
-<b>Fortran Projects
-</b> view displays your project(s) and any files and folders in it.
-</li><li>The 
-<b>Problems
-</b> view will show errors from your Fortran compiler, if Photran can recognize them. (This requires configuring an 
-<i>error parser,
-</i> described elsewhere in this manual.)
-</li><li>The 
-<b>Console
-</b> view shows the output from your Fortran compiler. When you run your Fortran program, its output is also displayed in the Console view.
-</li><li>The 
-<b>Fortran Declaration
-</b> view is described in the 
-<a href="photran6advanced">Photran Advanced Features manual</img>.
-</li><li>The 
-<b>Outline
-</b> view shows the high-level structure of your program, i.e., the subprograms, modules, derived types, etc. comprising it.
-</li><li>The 
-<b>Make Targets
-</b> view allows you to quickly run 
-<b>make
-</b> on a particular target defined in a custom Makefile.
-</li></ul><p><b>For more information on the Make Targets view,
-</b> click on Help &gt; Help Contents in Eclipse, and navigate to 
-<b>C/C++ Development User Guide &gt; Reference &gt; C/C++ Views and Editors &gt; Make Targets view.
-</b></p><h1> The Fortran Projects View  
-</h1><p>The Fortran Projects view displays project files in a tree structure. In this view you can do the following:
-</p><ul><li>Open files in the Fortran editor
-</li><li>Manage existing files (cut, paste, delete, move or rename)
-</li><li>Create new projects, files, or folders
-</li><li>Import or Export files and projects
-</li><li>Browse the high-level structures in Fortran files
-</li><li>Open projects in a new window
-</li><li>Perform some multi-file refactorings (such as Introduce Implicit None; see the 
-<a href="photran6advanced">Photran Advanced Features Manual</a>)
-</li></ul><p>Files can be opened by double-clicking on the filename or by right-clicking on the file and choosing &quot;Open With&quot; from the context menu. Most other actions are performed by right-clicking on the file and choosing an action from the context menu.
-The Fortran projects view is similar to the C/C++ Projects View. 
-<b>For more information on the Fortran Projects view,
-</b> refer to the documentation on the C/C++ Projects view by clicking on Help &gt; Help Contents in Eclipse and navigating to 
-<b>C/C++ Development User Guide &gt; Reference &gt; C/C++ Views and Editors &gt; C/C++ Projects view.
-</b></p><h1> Using the Fortran editor and Fortran perspective  
-</h1><h2> Outline view  
-</h2><p><center>
-<img src="../images/Photran-outline-view.PNG" alt="Outline View"></img></center>
-When a Fortran file is open in the Fortran editor, the Outline view shows an outline of the structural elements of that file: subprograms, main programs, modules, derived types, etc. The Outline view notes the content type of the file (free form or fixed form); it will also note when there is an error in the code. To add the Outline view to the current perspective go to Window &gt; Show View &gt; Other... &gt; General &gt; Outline.
-<center>
-<img src="../images/Photran-outline-view-error.PNG" alt="Outline Error"></img></center>
-</p><h2> Overview of the Fortran editor  
-</h2><p>The Fortran editor includes a number of features. The main features to note are the horizontal ruler at the top of the editor, code folding, and syntax highlighting.
-The 
-<b>horizontal ruler
-</b> measures the width of the editor in characters: There is either a symbol (-/+) or number for each column in the editor. A plus sign (+) is shown every fifth character, and every tenth character is numbered. It is also possible to turn on the 
-<b>print margin
-</b> (gray vertical line) in the 80th column; this is discussed further below in the section titled &quot;Configuring the Editor.&quot;
-<center>
-<img src="../images/Photran-editor-ruler.PNG" alt="Editor Ruler"></img></center>
-<b>Code folding
-</b> is also supported in the free form editor, but turning on code folding will disable the horizontal ruler; how to do this is described below as well. When folding is turned on, a minus sign (-) will be displayed in the left margin of the editor next to each program, function, subroutine, etc.; clicking on the minus sign will temporarily collapse the display of that entity to a single line.
-<center>
-<img src="../images/Photran-editor-folding-1.PNG" alt="Editor Folding"></img></center>
-The editors also support 
-<b>syntax highlighting.
-</b> As you write programs in Fortran, you will notice that different colors are applied to comments, identifiers, intrinsics, keywords, and strings to make code more readable. It is possible to change the colors for each of the previously mentioned code components in the Fortran editor preferences (this is discussed in the section &quot;Configuring the Editor,&quot; below). Often, the editor can even distinguish between, for example, the keyword &quot;if&quot; and a variable named &quot;if.&quot; However, it is not perfect; it uses a faster, but less reliable, heuristic than the actual Fortran parser that drives the Outline view and all of the 
-<a href="photran6advanced">Advanced Features</a>.
-</p><h2> Comment/uncomment  
-</h2><p>Photran can comment or uncomment a block of Fortran statements, placing an exclamation point (!) before the statements or removing it, respectively. Select the statements in the Fortran editor. Then right-click the selection, and choose Comment/Uncomment from the context menu.
-<center>
-<img src="../images/Photran-comment-action.png"></center>
-</p><h2> Setting bookmarks  
-</h2><p>Bookmarks are an Eclipse feature which allows you to mark important lines in a file and then quickly jump to those lines using the Bookmarks view. To set a bookmark, right-click the grey bar on the left side of the editor at the line where the bookmark should be located and select &quot;Add Bookmark...&quot; from the popup menu. A bookmark can also be placed on a line by locating the cursor on the line, going to Edit &gt; Add Bookmark... in the menu bar. Type in the desired name for the bookmark in the dialog box and click OK. A blue bookmark will show up in the grey bar on the left side of the editor.
-Bookmarks can then be viewed in the Bookmarks view (Window &gt; Show View &gt; Other..., select Bookmarks in the General folder).
-</p><h2> Go to line (Ctrl+L)  
-</h2><p>The &quot;Go To Line...&quot; feature allows you to jump to a specific line number in a file when it is open in a Fortran editor. In the menu bar, go to Navigate &gt; Go To Line... (or press the hotkey, Ctrl+L on Windows/Linux or Command+L on Mac) to open the Go To Line dialog box. Typing in the line you wish to navigate to, and clickg OK. The cursor will be moved to the beginning of the specified line.
-</p><h2> Configuring The Editor  
-</h2><h3> Selecting horizontal ruler vs. folding  
-</h3><p>Fortran editors can either display the horizontal ruler, or they can have code folding enabled, but not both. To determine which will be enabled, go to Window &gt; Preferences in the menu bar. Expand Fortran and select Editor. Check the appropriate box(es) to enable folding in the free-form and/or fixed-form Fortran editor.
-</p><h3> Setting colors for syntax highlighting  
-</h3><p>The colors for Fortran syntax highlighting can be modified in the Fortran editor preferences. To modify the color settings, go to Window &gt; Preferences in the menu bar. Expand Fortran and select Editor. The color choosers for Comments, Identifiers, Intrinsics, Keywords, and Strings are available on this page.
-</p><h3> Showing the print margin  
-</h3><p>Editors can optionally display a gray vertical bar at a specified column; generally, this is set in column 80 to act as a visual &quot;print margin.&quot; To enable display of the print margin, go to Window &gt; Preferences in the menu bar. Under General, expand Editors, and select Text Editors. Check the box for &quot;Show print margin&quot;. Optionally, you can also change the column in which the print margin will be displayed. Click Apply and the print margin should now display in the editor.
-</p><h3> Setting fixed-form line length  
-</h3><p>In fixed form, Fortran specifies that anything past column 72 (default) is a comment. However, that can be changed to a value other than 72. To change the length of the line, go to Window &gt; Preferences in the menu bar. Under Fortran, select Editor. Change the value of field labeled &quot;Fixed-form line length&quot; to the desired length of the line. Note that the accepted range for the length of the line is 72-999 inclusive.
-</p><h3> Converting tabs to spaces  
-</h3><p>To enable conversion of tabs to spaces, go to Window &gt; Preferences in the menu bar. Under General, expand Editors, and select Text Editors. Check the box for &quot;Insert spaces for tabs&quot; to have Eclipse automatically convert Tabs to spaces.
-Note that this will only apply to 
-<i>new
-</i> tabs that you type; it will not change your existing files.
-</p><blockquote><small>It is easy to replace tabs with spaces in an existing file, as long as the tabs all occur at the beginning of a line. (For tabs in the middle of a line, this won't work quite right.) (1) Move the cursor to the beginning of the file; (2) click on Edit &gt; Find/Replace...; (3) in the Find box, type &quot;\t&quot; (without the quotes); (4) in the Replace With box, type 4 or 8 spaces (each tab character will be replaced with exactly what you type, so if you type four spaces, each tab character will be replaced with four spaces); (5) select Search: Forward and Scope: All; (6) check the &quot;regular expression&quot; box; and (7) click Replace All. This will replace every tab character with spaces.</small>
-</blockquote><h3> Show whitespace  
-</h3><p>Whitespace characters can be displayed by going to Window &gt; Preferences. Under General &gt; Editors &gt; Text Editors, check the box next to &quot;Show whitespace characters&quot; and click Apply. Spaces, tabs, and newlines will now be shown as light gray double-angle quotes (&raquo;), dots (&middot;), and paragraph symbols (&para;), respectively.
-</p><h3> Set Font  
-</h3><p>Photran uses the same font as the basic Eclipse text editor. To change it, click on Window &gt; Preferences in the menu bar. Under General, expand Appearance, and select Colors and Fonts. In the list on the right, select Text Font. Click the &quot;Change...&quot; button to change the font.
-</p><h3> Show line numbers  
-</h3><p>Line numbers can be displayed in the editor in the Text Editor preferences page. Go to Window &gt; Preferences. Under General &gt; Editors &gt; Text Editors, check the box &quot;Show line numbers&quot; and click Apply.
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/top.html b/org.eclipse.photran.doc.user/html/basic/top.html
deleted file mode 100644
index 957698c..0000000
--- a/org.eclipse.photran.doc.user/html/basic/top.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
-    <title></title>
-    <link rel="stylesheet" type="text/css" href="../help.css"/>
-  </head>
-<body>
-<div><p>You are here: 
-<a href="PTP">PTP</a> &gt; 
-<a href="photran">Photran</a> &gt; 
-<a href="documentation">Documentation</a> &gt; 
-<a href="photran6">Photran 6.0 User's Guide</a><br><br>
-<big><big><big><big>Photran 6.0 User's Guide</big></big></big></big>
-<br><br>
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/help.css b/org.eclipse.photran.doc.user/html/help.css
deleted file mode 100644
index 4ea6742..0000000
--- a/org.eclipse.photran.doc.user/html/help.css
+++ /dev/null
@@ -1,52 +0,0 @@
-/* following font face declarations need to be removed for DBCS */

-

-

-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, sans-serif; color: #000000}

-pre				{ font-family: Courier, monospace}

-

-/* end font face declarations */

-

-/* following font size declarations should be OK for DBCS */

-body, h1, h2, h3, h4, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 10pt; }

-pre				{ font-size: 10pt}

-

-/* end font size declarations */

-

-body	     { background: #FFFFFF}

-h1           { font-size: 18pt; margin-top: 5; margin-bottom: 1 }	

-h2           { font-size: 14pt; margin-top: 25; margin-bottom: 3 }

-h3           { font-size: 11pt; margin-top: 20; margin-bottom: 3 }

-h4           { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }

-p 	     { font-size: 10pt; }

-pre	     { margin-left: 6; font-size: 9pt }

-.center      { text-align: center; margin-top: 35; margin-bottom: 35 }

-

-a:link { color: #006699 }

-a:visited { color: #996699 }

-a:hover  { color: #006699 }

-

-ul	     { margin-top: 0; margin-bottom: 10 }

-li	     { margin-top: 0; margin-bottom: 0 } 

-li p	     { margin-top: 0; margin-bottom: 0 } 

-ol	     { margin-top: 0; margin-bottom: 10 }

-dl	     { margin-top: 0; margin-bottom: 10 }

-dt	     { margin-top: 0; margin-bottom: 0; font-weight: bold }

-dd	     { margin-top: 0; margin-bottom: 0 }

-strong	     { font-weight: bold}

-em	     { font-style: italic}

-var	     { font-style: italic}

-div.revision { border-left-style: solid; border-left-width: thin; 

-				   border-left-color: #7B68EE; padding-left:5 }

-th	     { font-weight: bold }

-

-/* Mike Behm's addition to the style sheet */

-.userinput { font-family: monospace; }

-.guitab, .important, .guibutton, .selectblue, .guimenu, .guilabel, 

-.notetitle  {

-     color: #000000;

-     font-family: helvetica, arial, sans-serif;

-     font-weight: bold;

-     }

-div.linux  {display:none;}

-.firsterm {font-style:italic;}

-

diff --git a/org.eclipse.photran.doc.user/html/images/ContentAssist.jpg b/org.eclipse.photran.doc.user/html/images/ContentAssist.jpg
deleted file mode 100644
index bf86e2c..0000000
--- a/org.eclipse.photran.doc.user/html/images/ContentAssist.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/EncapsulateVariablesPart1.jpg b/org.eclipse.photran.doc.user/html/images/EncapsulateVariablesPart1.jpg
deleted file mode 100644
index abb5ae6..0000000
--- a/org.eclipse.photran.doc.user/html/images/EncapsulateVariablesPart1.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/EncapsulateVariablesPart2.jpg b/org.eclipse.photran.doc.user/html/images/EncapsulateVariablesPart2.jpg
deleted file mode 100644
index 63cdb73..0000000
--- a/org.eclipse.photran.doc.user/html/images/EncapsulateVariablesPart2.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/GetterSetterNames.jpg b/org.eclipse.photran.doc.user/html/images/GetterSetterNames.jpg
deleted file mode 100644
index fabb147..0000000
--- a/org.eclipse.photran.doc.user/html/images/GetterSetterNames.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/InterchangeLoops.png b/org.eclipse.photran.doc.user/html/images/InterchangeLoops.png
deleted file mode 100644
index 16195cc..0000000
--- a/org.eclipse.photran.doc.user/html/images/InterchangeLoops.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/MoveSavedToCommonBlock.PNG b/org.eclipse.photran.doc.user/html/images/MoveSavedToCommonBlock.PNG
deleted file mode 100644
index 86460d6..0000000
--- a/org.eclipse.photran.doc.user/html/images/MoveSavedToCommonBlock.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/OpenSearch.jpg b/org.eclipse.photran.doc.user/html/images/OpenSearch.jpg
deleted file mode 100644
index 9765730..0000000
--- a/org.eclipse.photran.doc.user/html/images/OpenSearch.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-Data-To-Parameter.png b/org.eclipse.photran.doc.user/html/images/Photran-Data-To-Parameter.png
deleted file mode 100644
index d4f9246..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-Data-To-Parameter.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-Remove-Unused-Variables.png b/org.eclipse.photran.doc.user/html/images/Photran-Remove-Unused-Variables.png
deleted file mode 100644
index af027eb..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-Remove-Unused-Variables.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-Standardize-Statements.png b/org.eclipse.photran.doc.user/html/images/Photran-Standardize-Statements.png
deleted file mode 100644
index 8348c1b..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-Standardize-Statements.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-add-only-dialog.PNG b/org.eclipse.photran.doc.user/html/images/Photran-add-only-dialog.PNG
deleted file mode 100644
index 1acf277..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-add-only-dialog.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-add-only-list.PNG b/org.eclipse.photran.doc.user/html/images/Photran-add-only-list.PNG
deleted file mode 100644
index 3641c0c..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-add-only-list.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-canonicalize-keyword-cap-1.PNG b/org.eclipse.photran.doc.user/html/images/Photran-canonicalize-keyword-cap-1.PNG
deleted file mode 100644
index f6cf93f..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-canonicalize-keyword-cap-1.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-canonicalize-keyword-cap-dialog.PNG b/org.eclipse.photran.doc.user/html/images/Photran-canonicalize-keyword-cap-dialog.PNG
deleted file mode 100644
index 31629b1..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-canonicalize-keyword-cap-dialog.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-comment-action.png b/org.eclipse.photran.doc.user/html/images/Photran-comment-action.png
deleted file mode 100644
index 1347786..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-comment-action.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-editor-1.PNG b/org.eclipse.photran.doc.user/html/images/Photran-editor-1.PNG
deleted file mode 100644
index b0e5a2b..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-editor-1.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-editor-fixed-1.PNG b/org.eclipse.photran.doc.user/html/images/Photran-editor-fixed-1.PNG
deleted file mode 100644
index 311920b..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-editor-fixed-1.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-editor-folding-1.PNG b/org.eclipse.photran.doc.user/html/images/Photran-editor-folding-1.PNG
deleted file mode 100644
index 2a72b3d..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-editor-folding-1.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-editor-ruler.PNG b/org.eclipse.photran.doc.user/html/images/Photran-editor-ruler.PNG
deleted file mode 100644
index f0000bc..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-editor-ruler.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-extract-proc-1.png b/org.eclipse.photran.doc.user/html/images/Photran-extract-proc-1.png
deleted file mode 100644
index b9eecbe..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-extract-proc-1.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-extract-proc-dialog.png b/org.eclipse.photran.doc.user/html/images/Photran-extract-proc-dialog.png
deleted file mode 100644
index ee31803..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-extract-proc-dialog.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-f-vs-c-project.png b/org.eclipse.photran.doc.user/html/images/Photran-f-vs-c-project.png
deleted file mode 100644
index 0ebc78e..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-f-vs-c-project.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-fortran-binary-parsers.PNG b/org.eclipse.photran.doc.user/html/images/Photran-fortran-binary-parsers.PNG
deleted file mode 100644
index 60a6971..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-fortran-binary-parsers.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-fortran-declaration-view.png b/org.eclipse.photran.doc.user/html/images/Photran-fortran-declaration-view.png
deleted file mode 100644
index 609c77f..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-fortran-declaration-view.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-fortran-error-parsers.PNG b/org.eclipse.photran.doc.user/html/images/Photran-fortran-error-parsers.PNG
deleted file mode 100644
index 213a3e9..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-fortran-error-parsers.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-intro-implicit-1.png b/org.eclipse.photran.doc.user/html/images/Photran-intro-implicit-1.png
deleted file mode 100644
index b79f9ba..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-intro-implicit-1.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist-1.PNG b/org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist-1.PNG
deleted file mode 100644
index 29325e6..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist-1.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist-dialog.PNG b/org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist-dialog.PNG
deleted file mode 100644
index 9fb466b..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist-dialog.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist.PNG b/org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist.PNG
deleted file mode 100644
index b748936..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-make-common-var-names-consist.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-min-only-list.PNG b/org.eclipse.photran.doc.user/html/images/Photran-min-only-list.PNG
deleted file mode 100644
index 8458f38..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-min-only-list.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-outline-view-error.PNG b/org.eclipse.photran.doc.user/html/images/Photran-outline-view-error.PNG
deleted file mode 100644
index 6b0b5ca..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-outline-view-error.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-outline-view.PNG b/org.eclipse.photran.doc.user/html/images/Photran-outline-view.PNG
deleted file mode 100644
index 1c20c55..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-outline-view.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-priv-to-public.PNG b/org.eclipse.photran.doc.user/html/images/Photran-priv-to-public.PNG
deleted file mode 100644
index 9f7768d..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-priv-to-public.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-priv-to-public2.PNG b/org.eclipse.photran.doc.user/html/images/Photran-priv-to-public2.PNG
deleted file mode 100644
index e6c05b1..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-priv-to-public2.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-project-type.PNG b/org.eclipse.photran.doc.user/html/images/Photran-project-type.PNG
deleted file mode 100644
index 6032314..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-project-type.PNG
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-refac-properties.png b/org.eclipse.photran.doc.user/html/images/Photran-refac-properties.png
deleted file mode 100644
index 8839400..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-refac-properties.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-rename-1.png b/org.eclipse.photran.doc.user/html/images/Photran-rename-1.png
deleted file mode 100644
index d108081..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-rename-1.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-rename-dialog.png b/org.eclipse.photran.doc.user/html/images/Photran-rename-dialog.png
deleted file mode 100644
index 5e65f65..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-rename-dialog.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-replace-obsolete-1.png b/org.eclipse.photran.doc.user/html/images/Photran-replace-obsolete-1.png
deleted file mode 100644
index 04ccf5c..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-replace-obsolete-1.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-run-as-local-fortran.png b/org.eclipse.photran.doc.user/html/images/Photran-run-as-local-fortran.png
deleted file mode 100644
index f84e689..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-run-as-local-fortran.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-set-breakpoint.png b/org.eclipse.photran.doc.user/html/images/Photran-set-breakpoint.png
deleted file mode 100644
index 4dce900..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-set-breakpoint.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Photran-source-form-config.png b/org.eclipse.photran.doc.user/html/images/Photran-source-form-config.png
deleted file mode 100644
index f55f802..0000000
--- a/org.eclipse.photran.doc.user/html/images/Photran-source-form-config.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/PhotranHoverTips.jpg b/org.eclipse.photran.doc.user/html/images/PhotranHoverTips.jpg
deleted file mode 100644
index 77379e1..0000000
--- a/org.eclipse.photran.doc.user/html/images/PhotranHoverTips.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/SearchDeclarations.jpg b/org.eclipse.photran.doc.user/html/images/SearchDeclarations.jpg
deleted file mode 100644
index 7144179..0000000
--- a/org.eclipse.photran.doc.user/html/images/SearchDeclarations.jpg
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.doc.user/plugin.properties b/org.eclipse.photran.doc.user/plugin.properties
deleted file mode 100644
index 2946448..0000000
--- a/org.eclipse.photran.doc.user/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     UIUC - initial API and implementation
-###############################################################################
-pluginName=Photran User's Guide
-providerName=Eclipse.org
diff --git a/org.eclipse.photran.doc.user/plugin.xml b/org.eclipse.photran.doc.user/plugin.xml
deleted file mode 100644
index b1c02e6..0000000
--- a/org.eclipse.photran.doc.user/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-
-<plugin>
-   <extension point="org.eclipse.help.toc">
-      <toc file="toc.xml" primary="true"/>
-      <toc file="tocbasic.xml"/>
-      <toc file="tocadvanced.xml"/>
-   </extension>
-</plugin>
diff --git a/org.eclipse.photran.doc.user/toc.xml b/org.eclipse.photran.doc.user/toc.xml
deleted file mode 100644
index 85d6e18..0000000
--- a/org.eclipse.photran.doc.user/toc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Photran User&apos;s Guide">
-   <topic label="Basic Features">
-      <anchor id="basic"/>
-   </topic>
-   <topic label="Advanced Features">
-      <anchor id="advanced"/>
-   </topic>
-</toc>
diff --git a/org.eclipse.photran.doc.user/tocadvanced.xml b/org.eclipse.photran.doc.user/tocadvanced.xml
deleted file mode 100644
index e0ac364..0000000
--- a/org.eclipse.photran.doc.user/tocadvanced.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Advanced Features" link_to="toc.xml#advanced" topic="html/advanced/top.html">
-   <topic label="Introduction" href="html/advanced/Introduction.html"/>
-   <topic label="Advanced Editing Features" href="html/advanced/AdvancedEditingFeatures.html"/>
-   <topic label="Search and Navigation" href="html/advanced/SearchNavigation.html"/>
-   <topic label="Refactoring" href="html/advanced/Refactoring.html"/>
-</toc>
diff --git a/org.eclipse.photran.doc.user/tocbasic.xml b/org.eclipse.photran.doc.user/tocbasic.xml
deleted file mode 100644
index 875c28a..0000000
--- a/org.eclipse.photran.doc.user/tocbasic.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Basic Features" link_to="toc.xml#basic" topic="html/basic/top.html">
-   <topic label="Installing Photran" href="html/basic/InstallingPhotran.html"/>
-   <topic label="Getting Started" href="html/basic/GettingStarted.html"/>
-   <topic label="Starting a New Project" href="html/basic/StartingNewProject.html"/>
-   <topic label="Upgrading Projects Created with Earlier Versions of Photran" href="html/basic/UpgradingProjects.html"/>
-   <topic label="Writing Code" href="html/basic/WritingCode.html"/>
-   <topic label="Compiling Fortran Programs" href="html/basic/CompilingFortran.html"/>
-   <topic label="Running and Debugging Fortran Programs" href="html/basic/RunningDebuggingFortran.html"/>
-   <topic label="Advanced Features" href="html/basic/AdvancedFeatures.html"/>
-   <topic label="Troubleshooting" href="html/basic/Troubleshooting.html"/>
-</toc>
diff --git a/org.eclipse.photran.errorparsers.xlf/.classpath b/org.eclipse.photran.errorparsers.xlf/.classpath
deleted file mode 100755
index 64c5e31..0000000
--- a/org.eclipse.photran.errorparsers.xlf/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.errorparsers.xlf/.project b/org.eclipse.photran.errorparsers.xlf/.project
deleted file mode 100755
index 2028452..0000000
--- a/org.eclipse.photran.errorparsers.xlf/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.errorparsers.xlf</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.errorparsers.xlf/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.errorparsers.xlf/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2dafbdb..0000000
--- a/org.eclipse.photran.errorparsers.xlf/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Thu Mar 04 02:26:35 CST 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.photran.errorparsers.xlf/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.errorparsers.xlf/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 586af02..0000000
--- a/org.eclipse.photran.errorparsers.xlf/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Jan 24 16:27:38 CST 2007
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.photran.errorparsers.xlf/META-INF/MANIFEST.MF b/org.eclipse.photran.errorparsers.xlf/META-INF/MANIFEST.MF
deleted file mode 100755
index dc45032..0000000
--- a/org.eclipse.photran.errorparsers.xlf/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.photran.errorparsers.xlf; singleton:=true
-Bundle-Version: 7.0.0.qualifier
-Bundle-Activator: org.eclipse.photran.errorparsers.xlf.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.cdt.core
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.photran.errorparsers.xlf
-Bundle-Vendor: %providerName
-Bundle-ClassPath: xlferrorparser.jar
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/org.eclipse.photran.errorparsers.xlf/about.ini b/org.eclipse.photran.errorparsers.xlf/about.ini
deleted file mode 100644
index 4110528..0000000
--- a/org.eclipse.photran.errorparsers.xlf/about.ini
+++ /dev/null
@@ -1,27 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-#featureImage=eclipse32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
diff --git a/org.eclipse.photran.errorparsers.xlf/about.mappings b/org.eclipse.photran.errorparsers.xlf/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/org.eclipse.photran.errorparsers.xlf/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/org.eclipse.photran.errorparsers.xlf/about.properties b/org.eclipse.photran.errorparsers.xlf/about.properties
deleted file mode 100644
index 082fa02..0000000
--- a/org.eclipse.photran.errorparsers.xlf/about.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2006-2010 Los Alamos National Laboratory, and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-###############################################################################
-
-# NLS_MESSAGEFORMAT_NONE
-# NLS_ENCODING=UTF-8
-
-blurb=IBM XL Fortran Compiler Support\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-Copyright (c) 2006-2010 Los Alamos National Laboratory, and others.  All rights reserved.\n\
-Visit http://www.eclipse.org/ptp\n
-
diff --git a/org.eclipse.photran.errorparsers.xlf/build.properties b/org.eclipse.photran.errorparsers.xlf/build.properties
deleted file mode 100755
index 0acae17..0000000
--- a/org.eclipse.photran.errorparsers.xlf/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-bin.includes = META-INF/,\
-               plugin.xml,\
-               xlferrorparser.jar,\
-               plugin.properties,\
-               about.ini,\
-               about.mappings,\
-               about.properties
-jre.compilation.profile=J2SE-1.4
-jars.compile.order = xlferrorparser.jar
-source.xlferrorparser.jar = 
-source.xlferrorparser.jar = src/
-output.xlferrorparser.jar = bin/
diff --git a/org.eclipse.photran.errorparsers.xlf/plugin.properties b/org.eclipse.photran.errorparsers.xlf/plugin.properties
deleted file mode 100755
index ce2e084..0000000
--- a/org.eclipse.photran.errorparsers.xlf/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-pluginName=Photran XLF Error Parser Plug-in

-providerName=Eclipse.org

-

-XLFErrorParser.name=Photran Error Parser for IBM XL Fortran
\ No newline at end of file
diff --git a/org.eclipse.photran.errorparsers.xlf/plugin.xml b/org.eclipse.photran.errorparsers.xlf/plugin.xml
deleted file mode 100755
index 3f85f2f..0000000
--- a/org.eclipse.photran.errorparsers.xlf/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.2"?>

-<plugin>

-     <extension

-         id="XLFCompilerErrorParser"

-         name="%XLFErrorParser.name"

-         point="org.eclipse.cdt.core.ErrorParser">

-      <errorparser

-            class="org.eclipse.photran.errorparsers.xlf.XLFCompilerErrorParser">

-      </errorparser>

-   </extension>

-</plugin>

diff --git a/org.eclipse.photran.errorparsers.xlf/src/org/eclipse/photran/errorparsers/xlf/Activator.java b/org.eclipse.photran.errorparsers.xlf/src/org/eclipse/photran/errorparsers/xlf/Activator.java
deleted file mode 100755
index ba82609..0000000
--- a/org.eclipse.photran.errorparsers.xlf/src/org/eclipse/photran/errorparsers/xlf/Activator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.errorparsers.xlf;

-

-import org.eclipse.ui.plugin.AbstractUIPlugin;

-import org.osgi.framework.BundleContext;

-

-/**

- * The activator class controls the plug-in life cycle

- * 

- * @author (generated)

- */

-public class Activator extends AbstractUIPlugin {

-

-	// The plug-in ID

-	public static final String PLUGIN_ID = "org.eclipse.photran.errorparsers.xlf";

-

-	// The shared instance

-	private static Activator plugin;

-	

-	/**

-	 * The constructor

-	 */

-	public Activator() {

-		plugin = this;

-	}

-

-	/*

-	 * (non-Javadoc)

-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)

-	 */

-	public void start(BundleContext context) throws Exception {

-		super.start(context);

-	}

-

-	/*

-	 * (non-Javadoc)

-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)

-	 */

-	public void stop(BundleContext context) throws Exception {

-		plugin = null;

-		super.stop(context);

-	}

-

-	/**

-	 * Returns the shared instance

-	 *

-	 * @return the shared instance

-	 */

-	public static Activator getDefault() {

-		return plugin;

-	}

-

-}

diff --git a/org.eclipse.photran.errorparsers.xlf/src/org/eclipse/photran/errorparsers/xlf/XLFCompilerErrorParser.java b/org.eclipse.photran.errorparsers.xlf/src/org/eclipse/photran/errorparsers/xlf/XLFCompilerErrorParser.java
deleted file mode 100755
index c4da391..0000000
--- a/org.eclipse.photran.errorparsers.xlf/src/org/eclipse/photran/errorparsers/xlf/XLFCompilerErrorParser.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2006 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.photran.errorparsers.xlf;

-

-import java.util.regex.Matcher;

-import java.util.regex.Pattern;

-

-import org.eclipse.cdt.core.ErrorParserManager;

-import org.eclipse.cdt.core.IErrorParser;

-import org.eclipse.cdt.core.IMarkerGenerator;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.IPath;

-import org.eclipse.core.runtime.Path;

-

-/**

- * Error parser for the IBM XLF compiler

- * 

- * @author Craig Rasmussen

- */

-public class XLFCompilerErrorParser implements IErrorParser

-{

-	Pattern p1 = Pattern.compile("^\"([^\"]*)\", line (\\d+)\\.(\\d+): (\\d+)-(\\d+) \\(([USEWLI])\\) (.*)$");

-	Pattern p2 = Pattern.compile("^\"([^\"]*)\", (\\d+)-(\\d+) \\(([USEWLI])\\) (.*)$");

-	private String fileName;

-	private String lineNum;

-	private String level;

-	private String message;

-	private int num;

-		

-	public XLFCompilerErrorParser()

-	{

-		fileName = null;

-		lineNum = null;

-		level = "S";

-		message = null;

-		num = -1;

-	}

-	

-	/**

-	 * This function returns the file name extracted from

-	 * the error message.

-	 * @return The string value of the given file name.

-	 */

-	public String getFileName()

-	{

-		return fileName;

-	}

-	

-	/**

-	 * This function returns the line number of

-	 * the error.

-	 * @return The integer value of the line number.

-	 */

-	

-	public int getLineNumber()

-	{

-		return num;

-	}

-	

-	/**

-	 * This function returns the severity of the

-	 * error that has occured.

-	 * @return The string value of the severity.

-	 */

-	public String getSeverity()

-	{

-		return level;

-	}

-	

-	/**

-	 * This function returns the descriptive string of the

-	 * error that has occured.

-	 * @return The string value of the message.

-	 */

-	public String getMessage()

-	{

-		return message;

-	}

-	

-	/**

-	 * This function parses the error message occured and fills the

-	 * class variables fileName, lineNum, message, level( severity ).

-	 * @param line is the error message generated by the xlF compiler. 

-	 * @return a boolean value indicating the success/failure of 

-	 * extracting the values for fileName, lineNum, message, level. 

-	 */

-	

-	public boolean parseLine(String line)

-	{

-		String desc = null;

-		Matcher m = p1.matcher(line);

-        if (m.matches())

-        {

-            fileName = m.group(1);

-            lineNum = m.group(2);

-            m.group(3);

-            m.group(4);

-            m.group(5);

-            level = m.group(6);

-            desc = m.group(7);

-            message = desc;

-            try

-            {

-                num = Integer.parseInt(lineNum);

-            }

-            catch (NumberFormatException e)

-            {

-                throw e;

-            }

-        }

-        else

-        {

-            m = p2.matcher(line);

-            if (m.matches())

-            {

-                fileName = m.group(1);

-                m.group(2);

-                m.group(3);

-                level = m.group(4);

-                desc = m.group(5);

-                message = desc;

-            }

-            else

-            {

-                return false;

-            }

-        }

-        return true;

-	}

-	

-	

-	

-	

-	public boolean processLine(String line, ErrorParserManager eoParser) {

-		return processLine(line, eoParser, IMarkerGenerator.SEVERITY_ERROR_RESOURCE);

-	}

-

-	public boolean processLine(String line, ErrorParserManager eoParser, int inheritedSeverity) {

-		// XLF error messsage format:

-		//

-		// "<filename>", line <lineno>.<column>: 15<CC>-<NNN> (<S>) <description>

-		// "<filename>", line <lineno>.<column>: 15<CC>-<NNN> <description>

-		//

-		// <CC> is one of:

-		//      00    : Indicates a code generation or optimization message.

-		//      01    : Indicates an XL Fortran common message.

-		//      11-20 : Indicates a Fortran-specific message.

-		//      25    : Indicates a run-time message from an XL Fortran application program.

-		//      85    : Indicates a loop-transformation message.

-		//      86    : Indicates an interprocedural analysis (IPA) message.

-		//

-		// <NNN> is the message number

-		//

-		// <S> is one of:

-		//      U     : An unrecoverable error.

-		//      S     : A severe error.

-		//      E     : An error that the compiler can correct.

-		//      W     : Warning message. 

-		//      L     : Language conformance warning message.

-		//      I     : Informational message.

-		

-		if( parseLine(line) == false )

-		{

-			return false;

-		}

-        if (!Path.EMPTY.isValidPath(fileName)) { return false; }

-

-        IFile file = eoParser.findFileName(fileName);

-        if (file != null)

-        {

-             if (eoParser.isConflictingName(fileName)) 

-            {

-                message = "[Conflicting names: " + fileName + " ] " + message; //$NON-NLS-1$ //$NON-NLS-2$

-                file = null;

-            }

-        }

-        else

-        {

-            file = eoParser.findFilePath(fileName);

-            if (file == null)

-            {

-                // one last try before bailing out we may be in a wrong

-                // directory. This will happen, for example in the Makefile:

-                // all: foo.c

-                // cd src3; gcc -c bar/foo.c

-                // the user do a cd(1).

-                IPath path = new Path(fileName);

-                if (path.segmentCount() > 1)

-                {

-                    String name = path.lastSegment();

-                    file = eoParser.findFileName(fileName);

-                    if (file != null)

-                    {

-                        if (eoParser.isConflictingName(fileName))

-                        {

-                            message = "[Conflicting names: " + name + " ] " + message; //$NON-NLS-1$ //$NON-NLS-2$

-                            file = null;

-                        }

-                    }

-                }

-            }

-        }

-

-        // Display the fileName.

-        if (file == null)

-        {

-            message = message + " [" + fileName + "]"; //$NON-NLS-1$ //$NON-NLS-2$

-        }

-

-        int severity = extractSeverity(level, inheritedSeverity);

-

-        eoParser.generateMarker(file, num, message, severity, null);

-        return true;

-    }

-

-    private int extractSeverity(String desc, int defaultSeverity)

-    {

-        int severity = defaultSeverity;

-

-        if (desc.equals("U") || desc.equals("S") )

-        {

-            severity = IMarkerGenerator.SEVERITY_ERROR_BUILD;

-        }

-        else if (desc.equals("E"))

-        {

-            severity = IMarkerGenerator.SEVERITY_ERROR_RESOURCE;

-        }

-        else if (desc.equals("W") || desc.equals("L") )

-        {

-            severity = IMarkerGenerator.SEVERITY_WARNING;

-        }

-        else if (desc.equals("I"))

-        {

-            severity = IMarkerGenerator.SEVERITY_INFO;

-        }

-        return severity;

-    }

-}

diff --git a/org.eclipse.photran.intel-feature/.project b/org.eclipse.photran.intel-feature/.project
deleted file mode 100644
index 80889a2..0000000
--- a/org.eclipse.photran.intel-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.intel-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.intel-feature/build.properties b/org.eclipse.photran.intel-feature/build.properties
deleted file mode 100644
index 2c44fbf..0000000
--- a/org.eclipse.photran.intel-feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-src.includes = .project,\
-               build.properties,\
-               feature.properties,\
-               feature.xml
-               
\ No newline at end of file
diff --git a/org.eclipse.photran.intel-feature/feature.properties b/org.eclipse.photran.intel-feature/feature.properties
deleted file mode 100644
index 64b84eb..0000000
--- a/org.eclipse.photran.intel-feature/feature.properties
+++ /dev/null
@@ -1,36 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 Intel Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     Intel Corporation - initial API and implementation
-###############################################################################
-# features.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Linux Intel(R) Fortran Compiler Support
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse PTP
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse PTP Update Site
-
-# "description" property - description of the feature
-description=This feature packages the plugins required to support\n\
-the Intel(R) Fortran compiler in Photran/FDT.
-
-# copyright
-copyright=\
-Copyright (c) 2006 Intel Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html
diff --git a/org.eclipse.photran.intel-feature/feature.xml b/org.eclipse.photran.intel-feature/feature.xml
deleted file mode 100644
index ae61497..0000000
--- a/org.eclipse.photran.intel-feature/feature.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.photran.intel"
-      label="%featureName"
-      version="7.0.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.photran.core.intel"
-      os="linux"
-      license-feature="org.eclipse.ptp.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/tools/ptp/updates/indigo"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.cdt.managedbuilder.core"/>
-      <import plugin="org.eclipse.cdt.core"/>
-      <import plugin="org.eclipse.photran.core"/>
-      <import plugin="org.eclipse.photran.managedbuilder.core"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import feature="org.eclipse.photran" version="7.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.photran.managedbuilder.intel.ui"
-         os="linux"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.photran.core.intel"
-         os="linux"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/org.eclipse.photran.managedbuilder.core/.classpath b/org.eclipse.photran.managedbuilder.core/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/org.eclipse.photran.managedbuilder.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.managedbuilder.core/.cvsignore b/org.eclipse.photran.managedbuilder.core/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.photran.managedbuilder.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.photran.managedbuilder.core/.project b/org.eclipse.photran.managedbuilder.core/.project
deleted file mode 100644
index 9b18c8b..0000000
--- a/org.eclipse.photran.managedbuilder.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.managedbuilder.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.managedbuilder.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.managedbuilder.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 13bdfd5..0000000
--- a/org.eclipse.photran.managedbuilder.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,77 +0,0 @@
-#Thu May 27 09:02:51 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/org.eclipse.photran.managedbuilder.core/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.managedbuilder.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4fbf912..0000000
--- a/org.eclipse.photran.managedbuilder.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Aug 01 13:41:12 CDT 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.photran.managedbuilder.core/META-INF/MANIFEST.MF b/org.eclipse.photran.managedbuilder.core/META-INF/MANIFEST.MF
deleted file mode 100644
index ec4a603..0000000
--- a/org.eclipse.photran.managedbuilder.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.photran.managedbuilder.core;singleton:=true
-Bundle-Version: 7.0.0.qualifier
-Bundle-Activator: org.eclipse.photran.managedbuilder.core.ManagedBuilderCorePlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.cdt.core,
- org.eclipse.photran.core,
- org.eclipse.core.runtime,
- org.eclipse.cdt.managedbuilder.core,
- org.eclipse.core.resources,
- org.eclipse.photran.cdtinterface
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: photranmngbuildcore.jar
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: org.eclipse.photran.managedbuilder.core,
- org.eclipse.photran.managedbuilder.core.makegen
diff --git a/org.eclipse.photran.managedbuilder.core/about.html b/org.eclipse.photran.managedbuilder.core/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.photran.managedbuilder.core/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.photran.managedbuilder.core/build.properties b/org.eclipse.photran.managedbuilder.core/build.properties
deleted file mode 100644
index 5d61dfc..0000000
--- a/org.eclipse.photran.managedbuilder.core/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.photranmngbuildcore.jar = src/
-output.photranmngbuildcore.jar = bin/
-bin.includes = photranmngbuildcore.jar,\
-               plugin.properties,\
-               META-INF/,\
-               plugin.xml,\
-               about.html
-jre.compilation.profile=J2SE-1.4
-src.includes = about.html
diff --git a/org.eclipse.photran.managedbuilder.core/plugin.properties b/org.eclipse.photran.managedbuilder.core/plugin.properties
deleted file mode 100644
index 7e9cc3b..0000000
--- a/org.eclipse.photran.managedbuilder.core/plugin.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Photran Managed Builder Core Plug-in
-providerName=Eclipse.org
-
-GeneratedMakefileCBuilder.name=Generated Makefile Builder
-ManagedBuildNature.name=Managed Builder Project
-ManagedMakeProject.name=Managed Make Project
-
-objectFileName=Object File
-executableName=Executable File
-staticLibraryName=Static Library
-sharedLibraryName=Shared Library
diff --git a/org.eclipse.photran.managedbuilder.core/plugin.xml b/org.eclipse.photran.managedbuilder.core/plugin.xml
deleted file mode 100644
index 33ca93c..0000000
--- a/org.eclipse.photran.managedbuilder.core/plugin.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-</plugin>
diff --git a/org.eclipse.photran.managedbuilder.core/src/org/eclipse/photran/managedbuilder/core/ManagedBuilderCorePlugin.java b/org.eclipse.photran.managedbuilder.core/src/org/eclipse/photran/managedbuilder/core/ManagedBuilderCorePlugin.java
deleted file mode 100644
index aa267c8..0000000
--- a/org.eclipse.photran.managedbuilder.core/src/org/eclipse/photran/managedbuilder/core/ManagedBuilderCorePlugin.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.photran.managedbuilder.core;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ManagedBuilderCorePlugin extends Plugin {
-
-	//The shared instance.
-	private static ManagedBuilderCorePlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public ManagedBuilderCorePlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ManagedBuilderCorePlugin getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/org.eclipse.photran.managedbuilder.core/src/org/eclipse/photran/managedbuilder/core/makegen/DefaultFortranDependencyCalculator.java b/org.eclipse.photran.managedbuilder.core/src/org/eclipse/photran/managedbuilder/core/makegen/DefaultFortranDependencyCalculator.java
deleted file mode 100644
index 16ae824..0000000
--- a/org.eclipse.photran.managedbuilder.core/src/org/eclipse/photran/managedbuilder/core/makegen/DefaultFortranDependencyCalculator.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.managedbuilder.core.makegen;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StreamTokenizer;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.cdt.managedbuilder.core.IConfiguration;
-import org.eclipse.cdt.managedbuilder.core.IManagedBuildInfo;
-import org.eclipse.cdt.managedbuilder.core.IManagedOutputNameProvider;
-import org.eclipse.cdt.managedbuilder.core.ITool;
-import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
-import org.eclipse.cdt.managedbuilder.makegen.IManagedDependencyGenerator;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.photran.internal.cdtinterface.core.FortranLanguage;
-
-/**
- *  This class implements the Dependency Manager and Output Name Provider interfaces
- *  @author Unknown
- *  @author Timofey Yuvashev 2009
- *  @author Jeff Overbey -- files were not being closed (Bug 334796)
- */
-public class DefaultFortranDependencyCalculator implements IManagedDependencyGenerator,
-														   IManagedOutputNameProvider
-{
-	public static final String MODULE_EXTENSION = "o";	//$NON-NLS-1$
-	
-	/*
-	 * Return a list of the names of all modules used by a file
-	 */
-	private String[] findUsedModuleNames(File file) {
-		ArrayList names = new ArrayList();
-		InputStream in = null;
-		Reader r = null;
-		try {
-		/*
-			InputStream in = new BufferedInputStream(new FileInputStream(file));
-			ILexer lexer = FortranProcessor.createLexerFor(in, file.getName());
-			for (Token thisToken = lexer.yylex(), lastToken = null;
-			     thisToken.getTerminal() != Terminal.END_OF_INPUT;
-			     lastToken = thisToken, thisToken = lexer.yylex())
-			{
-				if (lastToken != null
-						      && lastToken.getTerminal() == Terminal.T_USE
-					          && thisToken.getTerminal() == Terminal.T_IDENT)
-				{
-					names.add(thisToken.getText());
-				}
-			}
-		*/
-			in = new BufferedInputStream(new FileInputStream(file));
-			r = new BufferedReader(new InputStreamReader(in));
-			StreamTokenizer st = new StreamTokenizer(r);
-			st.commentChar('!');
-			st.eolIsSignificant(false);
-			st.slashSlashComments(false);
-			st.slashStarComments(false);
-			st.wordChars('_', '_');
-			
-			int token;
-			while ((token = st.nextToken()) != StreamTokenizer.TT_EOF) {
-				if (st.ttype == StreamTokenizer.TT_WORD) {
-					if (st.sval.equalsIgnoreCase("use")) {
-						token = st.nextToken();
-						if (st.ttype == StreamTokenizer.TT_WORD) {
-							names.add(st.sval);
-						} else {
-							st.pushBack();
-						}
-					}
-					/**
-					 * This should be moved to separate include file list
-					 */
-					/*
-					else if (st.sval.equalsIgnoreCase("include")) {
-						token = st.nextToken();
-						if (st.ttype == '\'' || st.ttype == '"') {
-							names.add(st.sval);
-						} else {
-							st.pushBack();
-						}
-					}
-					*/
-				}
-			}
-		}
-		catch (Exception e) {
-			return new String[0];
-		}
-		finally {
-			try {
-				if (r != null)
-					r.close();
-				else if (in != null)
-					in.close();
-			}
-			catch (IOException e) {
-			}
-		}
-		return (String[]) names.toArray(new String[names.size()]);
-	}
-	
-	/*
-	 * Return a list of the names of all modules defined in a file
-	 */
-	private String[] findModuleNames(File file) {
-		ArrayList names = new ArrayList();
-		InputStream in = null;
-		Reader r = null;
-		try {
-			/*
-			InputStream in = new BufferedInputStream(new FileInputStream(file));
-			ILexer lexer = FortranProcessor.createLexerFor(in, file.getName());
-			for (Token thisToken = lexer.yylex(), lastToken = null, tokenBeforeLast = null;
-			     thisToken.getTerminal() != Terminal.END_OF_INPUT;
-			     tokenBeforeLast = lastToken, lastToken = thisToken, thisToken = lexer.yylex())
-			{
-				if (lastToken != null
-				    && lastToken.getTerminal() == Terminal.T_MODULE
-				    && thisToken.getTerminal() == Terminal.T_IDENT)
-				{
-					if (tokenBeforeLast != null && tokenBeforeLast.getTerminal() == Terminal.T_END) {
-						continue;
-					}
-					names.add(thisToken.getText());
-				}
-			}
-			*/
-			in = new BufferedInputStream(new FileInputStream(file));
-			r = new BufferedReader(new InputStreamReader(in));
-			StreamTokenizer st = new StreamTokenizer(r);
-			st.commentChar('!');
-			st.eolIsSignificant(false);
-			st.slashSlashComments(false);
-			st.slashStarComments(false);
-			st.wordChars('_', '_');
-			
-			int token;
-			while ((token = st.nextToken()) != StreamTokenizer.TT_EOF) {
-				if (st.ttype == StreamTokenizer.TT_WORD) {
-					if (st.sval.equalsIgnoreCase("module")) {
-						token = st.nextToken();
-						if (st.ttype == StreamTokenizer.TT_WORD) {
-							names.add(st.sval);
-						} else {
-							st.pushBack();
-						}
-					}
-				}
-			}
-		}
-		catch (Exception e) {
-			return new String[0];
-		}
-		finally {
-			try {
-				if (r != null)
-					r.close();
-				else if (in != null)
-					in.close();
-			}
-			catch (IOException e) {
-			}
-		}
-		return (String[]) names.toArray(new String[names.size()]);
-	}
-
-	/*
-	 * Returns true if the resource is a Fortran source file
-	 */
-	private boolean isFortranFile(IProject project, File file, Collection fortranContentTypes) {
-		try {
-			IContentType ct = CCorePlugin.getContentType(project, file.getCanonicalPath());
-			if (ct != null) {
-				return fortranContentTypes.contains(ct.toString());
-			}
-		} catch (Exception e) {
-		}
-		return false;
-	}
-	
-	/*
-	 * Given a set of the module names used by a source file, and a set of resources to search, determine
-	 * if any of the source files implements the module names.
-	 */
-	private IResource[] FindModulesInResources(IProject project, 
-											   Collection contentTypes, 
-											   IResource resource, 
-											   IResource[] resourcesToSearch, 
-											   String topBuildDir, 
-											   String[] usedNames) 
-	{
-		IResource[] res = null;
-		try {
-			res = project.members();
-		} catch (CoreException e1) {
-			throw new Error("No files found in the given project");
-		}
-		
-		ArrayList modRes = new ArrayList();
-		for (int ir = 0; ir < resourcesToSearch.length; ir++) {
-			if (resourcesToSearch[ir].equals(resource)) continue;
-			if (resourcesToSearch[ir].getType() == IResource.FILE) {
-				File projectFile = resourcesToSearch[ir].getLocation().toFile();
-				if (!isFortranFile(project, projectFile, contentTypes)) continue;
-				String[] modules = findModuleNames(projectFile);
-				if (modules != null) {
-					for (int iu = 0; iu < usedNames.length; iu++) {
-						boolean foundDependency = false;
-						for (int im = 0; im < modules.length; im++) {
-							if (usedNames[iu].equalsIgnoreCase(modules[im])) {
-								//  Get the path to the module file that will be created by the build.  By default, ifort appears
-								//  to generate .mod files in the directory from which the compiler is run.  For MBS, this
-								//  is the top-level build directory.  
-								//  TODO: Support the /module:path option and use that in determining the path of the module file 
-								IPath modName = getModulePath(topBuildDir, modules[im], res, project);
-								modRes.add(project.getFile(modName));
-								foundDependency = true;
-								break;
-							}
-						}
-						if (foundDependency) break;
-					}
-				}
-			} else if (resourcesToSearch[ir].getType() == IResource.FOLDER) {
-				if (!((IFolder)resourcesToSearch[ir]).isDerived()) {
-					try {
-						IResource[] modFound = FindModulesInResources(project, contentTypes, resource, ((IFolder)resourcesToSearch[ir]).members(), 
-								topBuildDir, usedNames);
-						if (modFound != null) {
-							for (int i=0; i<modFound.length; i++) {
-								modRes.add(modFound[i]);
-							}
-						}
-					} catch(Exception e) {}
-				}
-			}
-		}		
-		return (IResource[]) modRes.toArray(new IResource[modRes.size()]);
-	}
-	
-	/*
-	 * Finds the relative path to the file whose name matches of the given module. If no such file
-	 * is found, the "Debug" folder is erased and an error is thrown.
-	 * 
-	 * @topBuildDir - name of directory (possibly relative path) in which make/object files will be created
-	 * @moduleName  - name of the module that we are comparing files against
-	 * @project		- project we are currently compiling. Used to remove the Debug directory in case of failure
-	 */
-	private IPath getModulePath(String topBuildDir, String moduleName, IResource[] resources, IProject project)
-	{
-		String fileNameContainingModule;
-		fileNameContainingModule = getFileNameContainingModule(moduleName, resources, topBuildDir);
-		
-		//If we can't find any files with that module, remove Debug folder
-		if(fileNameContainingModule == null || fileNameContainingModule == "")
-		{
-			removeDir(new File(project.getLocation().toString() + Path.SEPARATOR + topBuildDir));
-			try 
-			{
-				project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-			} 
-			catch (CoreException e) 
-			{
-				throw new Error("Could not update the project");
-			}
-			throw new Error("Could not find a file to match the module name: "+ moduleName);
-		}
-		
-		IPath p = Path.fromOSString("./"+topBuildDir + Path.SEPARATOR + fileNameContainingModule + "." + MODULE_EXTENSION);
-		return p;
-	}
-	
-	/*
-	 * This method operates under that assumption that 
-	 * 1. There will be no 2 files that are named the same, even if they are in separate folder
-	 * 2. There is only 1 module per file
-	 * 3. There are no files that differ in their names only by upper or lower case letters (i.e. file1.f90 and fILe1.f90)
-	 * 
-	 * This method finds the relative path to the filename that matches the name of the given module. It 
-	 * searches the list of given @resources to compare the names of contained files. It returns a string which
-	 * is the relative path to the file supposedly containing the given module, with that file's extension chopped off.
-	 * 
-	 * @moduleName - name of the module that we are comparing files against
-	 * @resources  - list of resources that we look through (could be files and folders)
-	 */
-	private String getFileNameContainingModule(String moduleName, IResource[] resources, String buildDirName)
-	{
-		ArrayList possibleMatchingFiles = new ArrayList();
-		if(resources == null || resources.length < 1 || 
-		   moduleName == null || moduleName == "")
-		{
-			return null;
-		}
-		
-		for(int i = 0; i < resources.length; i++)
-		{
-			if(resources[i] instanceof IFile)
-			{
-				IFile f = (IFile)resources[i];
-				
-				//Gets rid of the file extension
-				String fileName = f.getName().replaceFirst("\\..+", "");
-				
-				//If a file name matches a module name exactly -- return the relative path to that file
-				if(fileName == moduleName)
-					return f.getProjectRelativePath().toString().replaceFirst("\\..+", "");
-				
-				//Otherwise, check if the two names have different cases
-				else if(fileName.equalsIgnoreCase(moduleName))
-				{
-					//And if they do, keep it
-					possibleMatchingFiles.add(f.getProjectRelativePath().toString().replaceFirst("\\..+", "")); 
-				}
-			}
-			//If its a folder, recurse, but don't look in other build folders (Bug 326333)
-			else if(resources[i] instanceof IContainer && !resources[i].isDerived())
-			{
-				IContainer folder = (IContainer)resources[i];
-				IResource[] subResource = null;
-				
-				//Skip build folder, because it contains files with the same
-				// names as the one we are looking for (created .o files)
-				if(folder.getName().equalsIgnoreCase(buildDirName))
-					continue;
-					
-				try 
-				{
-					subResource = folder.members();
-				} 
-				catch (CoreException e) 
-				{
-					throw new Error("Could not open a container to explore its files");
-				}
-				
-				String name = getFileNameContainingModule(moduleName, subResource, buildDirName);
-				if(name != null)
-					return name;
-			}			
-		}
-		if(possibleMatchingFiles.size() == 1)
-			return (String) possibleMatchingFiles.get(0);
-		
-		return null;
-			
-	}
-	
-	private void removeDir(File f)
-	{	
-		if(f != null && f.exists())
-		{
-			File[] files = f.listFiles();
-			for(int i = 0; i < files.length; i++)
-			{
-				if(files[i].isDirectory())
-					removeDir(files[i]);
-				else
-					files[i].delete();
-			}
-		}
-		f.delete();
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.managedbuilder.makegen.IManagedBuilderDependencyCalculator#findDependencies(org.eclipse.core.resources.IResource)
-	 */
-	public IResource[] findDependencies(IResource resource, IProject project) {
-		ArrayList dependencies = new ArrayList();
-		Collection fortranContentTypes = new FortranLanguage().getRegisteredContentTypeIds();
-
-		//  TODO:  This method should be passed the ITool and the relative path of the top build directory
-		//         For now we'll figure this out from the project.
-		IManagedBuildInfo mngInfo = ManagedBuildManager.getBuildInfo(project);
-		IConfiguration config = mngInfo.getDefaultConfiguration();
-
-		File file = resource.getLocation().toFile();
-		try {
-			if (!isFortranFile(project, file, fortranContentTypes)) {
-				return new IResource[0];
-			}
-			
-			// add dependency on self
-			dependencies.add(resource);
-	
-			//  Get the names of the modules USE'd by the source file
-			String[] usedNames = findUsedModuleNames(file);
-			if (usedNames.length != 0) {
-				//  Search the project files for a Fortran source that creates the module.  If we find one, then compiling this
-				//  source file is dependent upon first compiling the found source file.
-				IResource[] resources = project.members();	
-				IResource[] modRes = FindModulesInResources(project, fortranContentTypes, resource, resources, config.getName(), usedNames);
-				if (modRes != null) {
-					for (int i=0; i<modRes.length; i++) {
-						dependencies.add(modRes[i]);
-					}
-				}
-			}
-		}
-		catch (Exception e)
-		{
-			return new IResource[0];
-		}
-		
-		return (IResource[]) dependencies.toArray(new IResource[dependencies.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.managedbuilder.makegen.IManagedBuilderDependencyCalculator#getCalculatorType()
-	 */
-	public int getCalculatorType() {
-		return TYPE_EXTERNAL;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.managedbuilder.makegen.IManagedBuilderDependencyCalculator#getDependencyCommand()
-	 */
-	public String getDependencyCommand(IResource resource, IManagedBuildInfo info) {
-		/* 
-		 * The type of this IManagedDependencyGenerator is TYPE_EXTERNAL,
-		 * so implement findDependencies() rather than getDependencyCommand().
-		 * */
-		return null;
-	}
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.cdt.managedbuilder.core.IManagedOutputNameProvider#getOutputNames(org.eclipse.cdt.managedbuilder.core.ITool, org.eclipse.core.runtime.IPath[])
-	 */
-	public IPath[] getOutputNames(ITool tool, IPath[] primaryInputNames) {
-		//  TODO:  This method should be passed the relative path of the top build directory?
-		ArrayList outs = new ArrayList();
-		if (primaryInputNames.length > 0) {
-			// Get the names of modules created by this source file
-			String[] modules = findModuleNames(primaryInputNames[0].toFile());
-			// Add any generated modules
-			if (modules != null) {
-				for (int i = 0; i < modules.length; i++) {
-					//  Return the path to the module file that will be created by the build.  By default, ifort appears
-					//  to generate .mod files in the directory from which the compiler is run.  For MBS, this
-					//  is the top-level build directory.  
-					//  TODO: Support the /module:path option and use that in determining the path of the module file
-					//  TODO: The nameProvider documentation should note that the returned path is relative to the top-level 
-					//        build directory.  HOWEVER, if only a file name is returned, MBS will automatically add on the
-					//        directory path relative to the top-level build directory.  The relative path comes from the source
-					//        file location.  In order to specify that this output file is always in the top-level build 
-					//        directory, regardless of the source file directory structure, return "./path".
-					IPath modName = Path.fromOSString("." + Path.SEPARATOR + modules[i] + "." + MODULE_EXTENSION);
-					outs.add(modName);				
-				}
-			}
-		}
-		return (IPath[]) outs.toArray(new IPath[outs.size()]);
-	}
-}
diff --git a/org.eclipse.photran.managedbuilder.gnu.ui/.classpath b/org.eclipse.photran.managedbuilder.gnu.ui/.classpath
deleted file mode 100644
index fd545ef..0000000
--- a/org.eclipse.photran.managedbuilder.gnu.ui/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.managedbuilder.gnu.ui/.project b/org.eclipse.photran.managedbuilder.gnu.ui/.project
deleted file mode 100644
index 134e746..0000000
--- a/org.eclipse.photran.managedbuilder.gnu.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.managedbuilder.gnu.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.managedbuilder.gnu.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.managedbuilder.gnu.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 12e602a..0000000
--- a/org.eclipse.photran.managedbuilder.gnu.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,77 +0,0 @@
-#Thu May 27 09:02:38 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/org.eclipse.photran.managedbuilder.gnu.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.managedbuilder.gnu.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 6dffb12..0000000
--- a/org.eclipse.photran.managedbuilder.gnu.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Aug 01 13:40:59 CDT 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.photran.managedbuilder.gnu.ui/META-INF/MANIFEST.MF b/org.eclipse.photran.managedbuilder.gnu.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 9908777..0000000
--- a/org.eclipse.photran.managedbuilder.gnu.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.photran.managedbuilder.gnu.ui; singleton:=true
-Bundle-Version: 7.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
-Require-Bundle: org.eclipse.photran.managedbuilder.core,
- org.eclipse.cdt.managedbuilder.core
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.photran.managedbuilder.gnu.ui/about.html b/org.eclipse.photran.managedbuilder.gnu.ui/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.photran.managedbuilder.gnu.ui/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.photran.managedbuilder.gnu.ui/build.properties b/org.eclipse.photran.managedbuilder.gnu.ui/build.properties
deleted file mode 100644
index fcfd0e8..0000000
--- a/org.eclipse.photran.managedbuilder.gnu.ui/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.xml,\
-               plugin.properties
-jre.compilation.profile=J2SE-1.4
-src.includes = about.html
diff --git a/org.eclipse.photran.managedbuilder.gnu.ui/plugin.properties b/org.eclipse.photran.managedbuilder.gnu.ui/plugin.properties
deleted file mode 100644
index 6bb8a0e..0000000
--- a/org.eclipse.photran.managedbuilder.gnu.ui/plugin.properties
+++ /dev/null
@@ -1,161 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=GNU Fortran Managed Build Definitions
-providerName=Eclipse.org
-
-# Build Model Names
-TargetName.gnu=GNU
-TargetName.gnu.exe=Executable (Gnu)
-TargetName.gnu.so=Shared Library (Gnu)
-TargetName.gnu.lib=Static Library (Gnu)
-TargetName.cygw.exe=Executable (Gnu on Windows)
-TargetName.cygw.so=Shared Library (Gnu on Windows)
-TargetName.cygw.lib=Static Library (Gnu on Windows)
-TargetName.gnu.fortran.exe=Executable (Gnu Fortran on Linux/*nix)
-TargetName.gnu.fortran.so=Shared Library (Gnu Fortran on Linux/*nix)
-TargetName.gnu.fortran.lib=Static Library (Gnu Fortran on Linux/*nix)
-TargetName.gnu.fortran.macosx.exe=Executable (Gnu Fortran on MacOS X)
-TargetName.gnu.fortran.macosx.so=Shared Library (Gnu Fortran on MacOS X)
-TargetName.gnu.fortran.macosx.lib=Static Library (Gnu Fortran on MacOS X)
-TargetName.gnu.fortran.win32.exe=Executable (Gnu Fortran on Windows)
-TargetName.gnu.fortran.win32.so=Shared Library (Gnu Fortran on Windows)
-TargetName.gnu.fortran.win32.lib=Static Library (Gnu Fortran on Windows)
-
-# No longer needed post-2.0
-TargetName.cygw=Cygwin
-TargetName.cygw.dll=Cygwin Export Library (DLL)
-TargetName.linux=Linux
-TargetName.linux.exe=Linux Executable
-TargetName.linux.so=Linux Shared Library
-TargetName.linux.lib=Linux Static Library
-TargetName.solaris=Solaris
-TargetName.solaris.exe=Solaris Executable
-TargetName.solaris.so=Solaris Shared Library
-TargetName.solaris.lib=Solaris Static Library
-
-# Default Configuration Names
-ConfigName.Rel=Release
-ConfigName.Dbg=Debug
-
-# Generic tool-chain names
-ToolChainName.Rel=GCC Fortran
-ToolChainName.Dbg=GCC Fortran
-
-# Generic platform names
-PlatformName.Rel=Release Platform
-PlatformName.Dbg=Debug Platform
-
-# Generic builder names
-BuilderName.Rel=Gnu Make
-BuilderName.Dbg=Gnu Make
-
-# Generic tool names
-ToolName.preprocessor = Preprocessor
-ToolName.compiler.fortran = Fortran Compiler
-ToolName.archiver = Archiver
-ToolName.linker.fortran = Fortran Linker
-ToolName.windres = Resource compiler
-
-# GNU tool names
-ToolName.compiler.gnu.fortran = GNU Fortran Compiler
-ToolName.linker.gnu.fortran = GNU Fortran Linker
-
-# Mach-O tool names
-ToolName.linker.macosx.fortran = MacOS X Fortran Linker
-
-# Fortran tool names
-ToolName.compiler.fortran = Fortran Compiler
-ToolName.linker.fortran = Fortran Linker
-
-# Generic Category Names
-OptionCategory.Source = Source
-OptionCategory.Symbols = Symbols
-OptionCategory.Preproc = Preprocessor
-OptionCategory.Dirs = Directories
-OptionCategory.General = General
-OptionCategory.Optimize=Optimization
-OptionCategory.Debug=Debugging
-OptionCategory.Warn=Warnings
-OptionCategory.Misc=Miscellaneous
-OptionCategory.Libs=Libraries
-OptionCategory.Shared.Settings=Shared Library Settings
-
-# Generic Option Names
-Option.Posix.PreprocOnly=Preprocess only (-E)
-Option.Posix.Nostdinc=Do not search system directories (-nostdinc)
-
-Option.Posix.DefSym=Defined symbols (-D)
-Option.Posix.UndefSym=Undefined symbols (-U)
-
-Option.Posix.InclPaths=Include paths (-I)
-
-Option.Posix.OptLevel=Optimization Level
-Option.Posix.Optimize.None=None (-O0)
-Option.Posix.Optimize.Optimize=Optimize (-O1)
-Option.Posix.Optimize.More=Optimize more (-O2)
-Option.Posix.Optimize.Most=Optimize most (-O3)
-Option.Posix.Optimize.Flags=Other optimization flags
-
-Option.Posix.DebugLevel=Debug Level
-Option.Posix.Debug.None=None
-Option.Posix.Debug.Min=Minimal (-g1)
-Option.Posix.Debug.Def=Default (-g)
-Option.Posix.Debug.Max=Maximum (-g3)
-Option.Posix.Debug.Other=Other debugging flags
-Option.Posix.Debug.gprof=Generate gprof information (-pg)
-Option.Posix.Debug.prof=Generate prof information (-p)
-
-Option.Posix.Warn.Syntax=Check syntax only (-fsyntax-only)
-Option.Posix.Warn.Pedandic=Pedantic (-pedantic)
-Option.Posix.Warn.PedErrors=Pedantic warnings as errors (-pedantic-errors)
-Option.Posix.Warn.nowarn=Inhibit all warnings (-w)
-Option.Posix.Warn.allwarn=All warnings (-Wall)
-Option.Posix.Warn.toerrs=Warnings as errors (-Werror)
-
-Option.Posix.Verbose=Verbose (-v)
-Option.OtherFlags=Other flags
-Option.Posix.Ansi=Support ANSI programs (-ansi)
-
-Option.Posix.Linker.NoStartFiles=Do not use standard start files (-nostartfiles)
-Option.Posix.Linker.NoDefLibs=Do not use default libraries (-nodefaultlibs)
-Option.Posix.Linker.NoStdLibs=No startup or default libs (-nostdlib)
-Option.Posix.Linker.Strip=Omit all symbol information (-s)
-Option.Posix.Linker.Strip.debug=Omit debug symbol information (-S)
-Option.Posix.Linker.Static=No shared libraries (-static)
-Option.Posix.Linker.XLinker=Other options (-Xlinker [option])
-Option.Posix.Linker.Flags=Linker flags
-Option.Posix.Libs=Libraries (-l)
-Option.Posix.Libsearch=Library search path (-L)
-Option.Posix.UserObjs=Other objects
-Option.Posix.Linker.Shared=Shared (-shared)
-Option.Posix.Linker.SOName=Shared object name (-Wl,-soname=)
-Option.Posix.Linker.Implib=Import Library name (-Wl,--out-implib=)
-Option.Posix.Linker.Defname=DEF file name (-Wl,--output-def=)
-
-Option.Posix.Archiver.Flags=Archiver flags
-
-Option.Gnu.Assembler.Flags=Assembler flags
-Option.Gnu.Assembler.warn.suppress=Suppress warnings (-W)
-Option.Gnu.Assembler.version=Announce version (-v)
-
-# GNU Fortran specific option names
-
-Option.Gnu.Fortran.symbols.underscoring=Symbol Underscoring
-Option.Gnu.Fortran.symbols.underscoring.none=None (-fno-underscoring)
-Option.Gnu.Fortran.symbols.underscoring.one=Default (-funderscoring)
-Option.Gnu.Fortran.symbols.underscoring.notwo=No Second (-fno-second-underscore)
-
-# Platform specific option names
-Option.Windows.Windres.OutputFormat = Output format
-Option.Windows.Windres.OutputFormat.Coff = coff (--output-format coff)
-Option.Windows.Windres.OutputFormat.RC = rc (--output-format rc)
-Option.Windows.Windres.OutputFormat.Res = res (--output-format res)
-Option.MacOSX.Linker.Shared=Shared (-Wl,-dylib)
\ No newline at end of file
diff --git a/org.eclipse.photran.managedbuilder.gnu.ui/plugin.xml b/org.eclipse.photran.managedbuilder.gnu.ui/plugin.xml
deleted file mode 100644
index ffc9981..0000000
--- a/org.eclipse.photran.managedbuilder.gnu.ui/plugin.xml
+++ /dev/null
@@ -1,991 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-<!-- Managed Make Builder Tool Specifications -->
-   <extension
-         id="cdt.managed.build.info"
-         name="Managed Build Tools Description"
-         point="org.eclipse.cdt.managedbuilder.core.buildDefinitions">
-      <managedBuildRevision
-            fileVersion="3.1.0">
-      </managedBuildRevision>
-
-      <tool
-            natureFilter="cnature"
-            name="%ToolName.linker.gnu.fortran"
-            outputFlag="-o"
-            command="gfortran"
-            id="photran.managedbuild.tool.gnu.fortran.linker">
-         <envVarBuildPath
-         	pathType="buildpathLibrary"
-         	variableList="LIBRARY_PATH">
-         </envVarBuildPath>
-
-         <optionCategory
-               owner="photran.managedbuild.tool.gnu.fortran.linker"
-               name="%OptionCategory.General"
-               id="gnu.fortran.link.category.general">
-         </optionCategory>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoStartFiles"
-               category="gnu.fortran.link.category.general"
-               command="-nostartfiles"
-               id="gnu.fortran.link.option.nostart"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoDefLibs"
-               category="gnu.fortran.link.category.general"
-               command="-nodefaultlibs"
-               id="gnu.fortran.link.option.nodeflibs"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoStdLibs"
-               category="gnu.fortran.link.category.general"
-               command="-nostdlib"
-               id="gnu.fortran.link.option.nostdlibs"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.Strip"
-               category="gnu.fortran.link.category.general"
-               command="--strip-all"
-               id="gnu.fortran.link.option.strip"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.Static"
-               category="gnu.fortran.link.category.general"
-               command="-static"
-               id="gnu.fortran.link.option.noshared"
-               valueType="boolean">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.gnu.fortran.linker"
-               name="%OptionCategory.Libs"
-               id="gnu.fortran.link.category.libs">
-         </optionCategory>
-         <option
-               name="%Option.Posix.Libs"
-               category="gnu.fortran.link.category.libs"
-               command="-l"
-               id="gnu.fortran.link.option.libs"
-               browseType="file"
-               valueType="libs">
-         </option>
-         <option
-               name="%Option.Posix.Libsearch"
-               category="gnu.fortran.link.category.libs"
-               command="-L"
-               id="gnu.fortran.link.option.paths"
-               browseType="directory"
-               valueType="stringList">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.gnu.fortran.linker"
-               name="%OptionCategory.Misc"
-               id="gnu.fortran.link.category.other">
-         </optionCategory>
-         <option
-               name="%Option.Posix.Linker.Flags"
-               category="gnu.fortran.link.category.other"
-               valueType="string"
-               id="gnu.fortran.link.option.ldflags">
-         </option>
-         <option
-               name="%Option.Posix.Linker.XLinker"
-               category="gnu.fortran.link.category.other"
-               command="-Xlinker ${VALUE}"
-               valueType="stringList"
-               id="gnu.fortran.link.option.other">
-         </option>
-         <option
-               name="%Option.Posix.UserObjs"
-               category="gnu.fortran.link.category.other"
-               browseType="file"
-               valueType="userObjs"
-               id="gnu.fortran.link.option.userobjs">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.gnu.fortran.linker"
-               name="%OptionCategory.Shared.Settings"
-               id="gnu.fortran.link.category.shared">
-         </optionCategory>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.Shared"
-               category="gnu.fortran.link.category.shared"
-               command="-shared"
-               id="gnu.fortran.link.option.shared"
-               valueType="boolean">
-         </option>
-         <option
-               name="%Option.Posix.Linker.SOName"
-               category="gnu.fortran.link.category.shared"
-               command="-Wl,-soname="
-               id="gnu.fortran.link.option.soname"
-               valueType="string">
-         </option>
-         <option
-               name="%Option.Posix.Linker.Implib"
-               category="gnu.fortran.link.category.shared"
-               command="-Wl,--out-implib="
-               id="gnu.fortran.link.option.implname"
-               valueType="string">
-         </option>
-         <option
-               name="%Option.Posix.Linker.Defname"
-               category="gnu.fortran.link.category.shared"
-               command="-Wl,--output-def="
-               id="gnu.fortran.link.option.defname"
-               valueType="string">
-         </option>
-         <inputType
-            sourceContentType="org.eclipse.cdt.managedbuilder.core.compiledObjectFile"
-            sources="o"
-			multipleOfType="true"
-            dependencyCalculator="org.eclipse.cdt.managedbuilder.makegen.internal.DefaultNoDependencyCalculator"
-            buildVariable="OBJS"
-            id="photran.managedbuild.tool.gnu.fortran.linker.input">
-            <additionalInput
-            	paths="$(USER_OBJS)"
-            	kind="additionalinputdependency">
-            </additionalInput>
-            <additionalInput
-            	paths="$(LIBS)"
-            	kind="additionalinput">
-            </additionalInput>
-         </inputType>
-         <outputType
-			outputs=""
-            buildVariable="EXECUTABLES"
-            nameProvider="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuLinkOutputNameProvider"
-            id="photran.managedbuild.tool.gnu.fortran.linker.output">
-         </outputType>
-      </tool>
-
-      <tool
-            natureFilter="cnature"
-            name="%ToolName.linker.macosx.fortran"
-            outputFlag="-o"
-            command="gfortran"
-            commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}"
-            id="photran.managedbuild.tool.macosx.fortran.linker">
-         <envVarBuildPath
-         	pathType="buildpathLibrary"
-         	variableList="LIBRARY_PATH">
-         </envVarBuildPath>
-
-         <optionCategory
-               owner="photran.managedbuild.tool.macosx.fortran.linker"
-               name="%OptionCategory.General"
-               id="macosx.fortran.link.category.general">
-         </optionCategory>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoStartFiles"
-               category="macosx.fortran.link.category.general"
-               command="-nostartfiles"
-               id="macosx.fortran.link.option.nostart"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoDefLibs"
-               category="macosx.fortran.link.category.general"
-               command="-nodefaultlibs"
-               id="macosx.fortran.link.option.nodeflibs"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoStdLibs"
-               category="macosx.fortran.link.category.general"
-               command="-nostdlib"
-               id="macosx.fortran.link.option.nostdlibs"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.Strip"
-               category="macosx.fortran.link.category.general"
-               command="--strip-all"
-               id="macosx.fortran.link.option.strip"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.Static"
-               category="macosx.fortran.link.category.general"
-               command="-static"
-               id="macosx.fortran.link.option.noshared"
-               valueType="boolean">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.macosx.fortran.linker"
-               name="%OptionCategory.Libs"
-               id="macosx.fortran.link.category.libs">
-         </optionCategory>
-         <option
-               name="%Option.Posix.Libs"
-               category="macosx.fortran.link.category.libs"
-               command="-l"
-               id="macosx.fortran.link.option.libs"
-               browseType="file"
-               valueType="libs">
-         </option>
-         <option
-               name="%Option.Posix.Libsearch"
-               category="macosx.fortran.link.category.libs"
-               command="-L"
-               id="macosx.fortran.link.option.paths"
-               browseType="directory"
-               valueType="stringList">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.macosx.fortran.linker"
-               name="%OptionCategory.Misc"
-               id="macosx.fortran.link.category.other">
-         </optionCategory>
-         <option
-               name="%Option.Posix.Linker.Flags"
-               category="macosx.fortran.link.category.other"
-               valueType="string"
-               id="macosx.fortran.link.option.ldflags">
-         </option>
-         <option
-               name="%Option.Posix.Linker.XLinker"
-               category="macosx.fortran.link.category.other"
-               command="-Xlinker ${VALUE}"
-               valueType="stringList"
-               id="macosx.fortran.link.option.other">
-         </option>
-         <option
-               name="%Option.Posix.UserObjs"
-               category="macosx.fortran.link.category.other"
-               browseType="file"
-               valueType="userObjs"
-               id="macosx.fortran.link.option.userobjs">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.macosx.fortran.linker"
-               name="%OptionCategory.Shared.Settings"
-               id="macosx.fortran.link.category.shared">
-         </optionCategory>
-         <option
-               defaultValue="false"
-               name="%Option.MacOSX.Linker.Shared"
-               category="macosx.fortran.link.category.shared"
-               command="-Wl,-dylib"
-               id="macosx.fortran.link.option.shared"
-               valueType="boolean">
-         </option>
-         <inputType
-            sourceContentType="org.eclipse.cdt.managedbuilder.core.compiledObjectFile"
-            sources="o"
-			multipleOfType="true"
-            dependencyCalculator="org.eclipse.cdt.managedbuilder.makegen.internal.DefaultNoDependencyCalculator"
-            buildVariable="OBJS"
-            id="photran.managedbuild.tool.macosx.fortran.linker.input">
-            <additionalInput
-            	paths="$(USER_OBJS)"
-            	kind="additionalinputdependency">
-            </additionalInput>
-            <additionalInput
-            	paths="$(LIBS)"
-            	kind="additionalinput">
-            </additionalInput>
-         </inputType>
-         <outputType
-			outputs=""
-            buildVariable="EXECUTABLES"
-            nameProvider="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuLinkOutputNameProvider"
-            id="photran.managedbuild.tool.macosx.fortran.linker.output">
-         </outputType>
-      </tool>
-
-      <tool
-		  name="%ToolName.compiler.gnu.fortran"
-		  id="photran.managedbuild.tool.gnu.fortran.compiler"
-		  isAbstract="true"
-		  command="gfortran"
-		  natureFilter="both"
-		  outputFlag="-o">
-         <envVarBuildPath
-         	pathType="buildpathInclude"
-         	variableList="CPATH,C_INCLUDE_PATH">
-         </envVarBuildPath>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.gnu.fortran.compiler"
-			  name="%OptionCategory.Symbols"
-			  id="gnu.fortran.compiler.category.symbols">
-		  </optionCategory>
-		  <option
-			  name="%Option.Gnu.Fortran.symbols.underscoring"
-			  category="gnu.fortran.compiler.category.symbols"
-			  id="gnu.fortran.compiler.option.underscoring.level"
-			  valueType="enumerated">
-		  <enumeratedOptionValue
-		  		  name="%Option.Gnu.Fortran.symbols.underscoring.none"
-				  isDefault="false"
-				  command="-fno-underscoring"
-				  id="gnu.fortran.underscoring.none">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Gnu.Fortran.symbols.underscoring.one"
-				  isDefault="true"
-				  command="-funderscoring"
-				  id="gnu.fortran.underscoring.one">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Gnu.Fortran.symbols.underscoring.notwo"
-				  isDefault="false"
-				  command="-fno-second-underscore"
-				  id="gnu.fortran.underscoring.notwo">
-		  </enumeratedOptionValue>
-		  </option>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Warn.Syntax"
-			  category="gnu.fortran.compiler.category.symbols"
-			  command="-fcase-lower"
-			  id="gnu.fortran.compiler.symbols.lowercase"
-			  valueType="boolean">
-		  </option>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.gnu.fortran.compiler"
-			  name="%OptionCategory.Dirs"
-			  id="gnu.fortran.compiler.category.dirs">
-		  </optionCategory>
-		  <option
-			  name="%Option.Posix.InclPaths"
-			  category="gnu.fortran.compiler.category.dirs"
-			  command="-I"
-			  id="gnu.fortran.compiler.option.include.paths"
-			  valueType="includePath"
-			  browseType="directory">
-		  </option>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.gnu.fortran.compiler"
-			  name="%OptionCategory.Optimize"
-			  id="gnu.fortran.compiler.category.optimization">
-		  </optionCategory>
-		  <option
-			  name="%Option.Posix.OptLevel"
-			  category="gnu.fortran.compiler.category.optimization"
-			  id="gnu.fortran.compiler.option.optimization.level"
-			  valueType="enumerated">
-		  <enumeratedOptionValue
-		  		  name="%Option.Posix.Optimize.None"
-				  isDefault="false"
-				  command="-O0"
-				  id="gnu.fortran.optimization.level.none">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Optimize.Optimize"
-				  command="-O1"
-				  id="gnu.fortran.optimization.level.optimize">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Optimize.More"
-				  isDefault="true"
-				  command="-O2"
-				  id="gnu.fortran.optimization.level.more">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Optimize.Most"
-				  command="-O3"
-				  id="gnu.fortran.optimization.level.most">
-		  </enumeratedOptionValue>
-		  </option>
-		  <option
-			  name="%Option.Posix.Optimize.Flags"
-			  category="gnu.fortran.compiler.category.optimization"
-			  id="gnu.fortran.compiler.option.optimization.flags"
-			  valueType="string">
-		  </option>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.gnu.fortran.compiler"
-			  name="%OptionCategory.Debug"
-			  id="gnu.fortran.compiler.category.debug">
-		  </optionCategory>
-		  <option
-			  name="%Option.Posix.DebugLevel"
-			  category="gnu.fortran.compiler.category.debug"
-			  id="gnu.fortran.compiler.option.debugging.level"
-			  valueType="enumerated">
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Debug.None"
-				  isDefault="false"
-				  id="gnu.fortran.debugging.level.none">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Debug.Min"
-				  command="-g1"
-				  id="gnu.fortran.debugging.level.minimal">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Debug.Def"
-				  isDefault="true"
-				  command="-g"
-				  id="gnu.fortran.debugging.level.default">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Debug.Max"
-				  isDefault="false"
-				  command="-g3"
-				  id="gnu.fortran.debugging.level.max">
-		  </enumeratedOptionValue>
-		  </option>
-		  <option
-			  name="%Option.Posix.Debug.Other"
-			  category="gnu.fortran.compiler.category.debug"
-			  id="gnu.fortran.compiler.option.debugging.other"
-			  valueType="string">
-		  </option>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Debug.gprof"
-			  category="gnu.fortran.compiler.category.debug"
-			  command="-pg"
-			  id="gnu.fortran.compiler.option.debugging.gprof"
-			  valueType="boolean">
-		  </option>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Debug.prof"
-			  category="gnu.fortran.compiler.category.debug"
-			  command="-p"
-			  id="gnu.fortran.compiler.option.debugging.prof"
-			  valueType="boolean">
-		  </option>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.gnu.fortran.compiler"
-			  name="%OptionCategory.Warn"
-			  id="gnu.fortran.compiler.category.warnings">
-		  </optionCategory>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Warn.Syntax"
-			  category="gnu.fortran.compiler.category.warnings"
-			  command="-fsyntax-only"
-			  id="gnu.fortran.compiler.option.warnings.syntax"
-			  valueType="boolean">
-		  </option>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Warn.Pedandic"
-			  category="gnu.fortran.compiler.category.warnings"
-			  command="-pedantic"
-			  id="gnu.fortran.compiler.option.warnings.pedantic"
-			  valueType="boolean">
-		  </option>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Warn.PedErrors"
-			  category="gnu.fortran.compiler.category.warnings"
-			  command="-pedantic-errors"
-			  id="gnu.fortran.compiler.option.warnings.pedantic.error"
-			  valueType="boolean">
-		  </option>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Warn.nowarn"
-			  category="gnu.fortran.compiler.category.warnings"
-			  command="-w"
-			  id="gnu.fortran.compiler.option.warnings.nowarn"
-			  valueType="boolean">
-		  </option>
-		  <option
-			  defaultValue="true"
-			  name="%Option.Posix.Warn.allwarn"
-			  category="gnu.fortran.compiler.category.warnings"
-			  command="-Wall"
-			  id="gnu.fortran.compiler.option.warnings.allwarn"
-			  valueType="boolean">
-		  </option>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Warn.toerrs"
-			  category="gnu.fortran.compiler.category.warnings"
-			  command="-Werror"
-			  id="gnu.fortran.compiler.option.warnings.toerrors"
-			  valueType="boolean">
-		  </option>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.gnu.fortran.compiler"
-			  name="%OptionCategory.Misc"
-			  id="gnu.fortran.compiler.category.other">
-		  </optionCategory>
-		  <option
-			  defaultValue="-c -fmessage-length=0"
-			  name="%Option.OtherFlags"
-			  category="gnu.fortran.compiler.category.other"
-			  id="gnu.fortran.compiler.option.misc.other"
-			  valueType="string">
-		  </option>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Verbose"
-			  category="gnu.fortran.compiler.category.other"
-			  command="-v"
-			  id="gnu.fortran.compiler.option.misc.verbose"
-			  valueType="boolean">
-		  </option>
-          <!--inputType
-              sources="f90,f95,f03,f08,F90,F95,F03,F08,f,for,ftn,fix,f77,fpp,F,FOR,FTN,FIX,FPP,i,i90"
-              dependencyExtensions="f90,f95,f03,f08,F90,F95,F03,F08,f,for,ftn,fix,f77,fpp,F,FOR,FTN,FIX,FPP,i,i90"
-              dependencyCalculator="org.eclipse.photran.managedbuilder.core.makegen.DefaultFortranDependencyCalculator"
-              id="photran.managedbuild.tool.gnu.fortran.compiler.input"
-              languageId="org.eclipse.photran.cdtinterface.fortran">
-          </inputType-->
-          <inputType
-              sourceContentType="org.eclipse.photran.core.fortranSource"
-              dependencyContentType="org.eclipse.photran.core.fortranSource"
-              dependencyCalculator="org.eclipse.photran.managedbuilder.core.makegen.DefaultFortranDependencyCalculator"
-              id="photran.managedbuild.tool.gnu.fortran.compiler.input"
-              languageId="org.eclipse.photran.cdtinterface.fortran">
-          </inputType>
-          <outputType
-			  outputs="o"
-              buildVariable="OBJS"
-              id="photran.managedbuild.tool.gnu.fortran.compiler.output">
-          </outputType>
-	  </tool>
-
-      <!--
-        -
-        - GNU Fortran on Linux/*nix Project Type
-        -
-        -->
-      <projectType
-            isAbstract="false"
-            isTest="false"
-            name="%TargetName.gnu.fortran.exe"
-            id="photran.managedbuild.target.gnu.fortran.exe">
-         <configuration
-               name="%ConfigName.Dbg"
-               id="photran.managedbuild.config.gnu.fortran.exe.debug"
-               cleanCommand="rm -rf"
-               errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.photran.core.GFortranErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser">
-               <toolChain
-                     archList="all"
-                     osList="solaris,linux,hpux,aix,qnx"
-                     name="%ToolChainName.Dbg"
-                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.debug"
-                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
-                     id="photran.managedbuild.toolchain.gnu.fortran.exe.debug">
-		          <targetPlatform
-		              id="photran.managedbuild.target.gnu.platform.exe.debug"
-		              name="%PlatformName.Dbg"
-		              binaryParser="org.eclipse.cdt.core.ELF"
-		              osList="solaris,linux,hpux,aix,qnx"
-		              archList="all">
-	              </targetPlatform>
-				  <builder
-					  superClass="cdt.managedbuild.target.gnu.builder"
-				      id="photran.managedbuild.target.gnu.builder.exe.debug"
-		              name="%BuilderName.Dbg"
-		              command="make"
-		              arguments="-k"
-		              buildfileGenerator="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator">
-		     	  </builder>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.c.compiler.exe.debug"
-                      superClass="cdt.managedbuild.tool.gnu.c.compiler">
-			  	      <option
-					      id="photran.gnu.c.compiler.exe.debug.option.optimization.level"
-						  defaultValue="gnu.c.optimization.level.none"
-						  superClass="gnu.c.compiler.option.optimization.level">
-					  </option>
-					  <option
-					      id="photran.gnu.c.compiler.exe.debug.option.debugging.level"
-						  defaultValue="gnu.c.debugging.level.max"
-					      superClass="gnu.c.compiler.option.debugging.level">
-					  </option>
-				  </tool>
-		  		<tool
-                      id="photran.managedbuild.tool.gnu.fortran.compiler.exe.debug"
-                      superClass="photran.managedbuild.tool.gnu.fortran.compiler">
-                      <option
-                          id="gnu.fortran.compiler.exe.debug.option.optimization.level"
-                          defaultValue="gnu.fortran.optimization.level.none"
-                          superClass="gnu.fortran.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="gnu.fortran.compiler.exe.debug.option.debugging.level"
-                          defaultValue="gnu.fortran.debugging.level.default"
-                          superClass="gnu.fortran.compiler.option.debugging.level">
-                      </option>
-                  </tool>
-		          <tool
-        		      id="photran.managedbuild.tool.gnu.fortran.linker.exe.debug"
-        		      superClass="photran.managedbuild.tool.gnu.fortran.linker">
-        		  </tool>
-        		  <tool
-        		      id="photran.managedbuild.tool.gnu.assembler.exe.debug"
-        		      superClass="cdt.managedbuild.tool.gnu.assembler">
-        		  </tool>
-	     </toolChain>
-         </configuration>
-         <configuration
-               name="%ConfigName.Rel"
-               id="photran.managedbuild.config.gnu.fortran.exe.release"
-               cleanCommand="rm -rf"
-			   errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.photran.core.GFortranErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser">
-               <toolChain
-                     archList="all"
-                     osList="solaris,linux,hpux,aix,qnx"
-                     name="%ToolChainName.Rel"
-                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.release"
-                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
-                     id="photran.managedbuild.toolchain.gnu.fortran.exe.release">
-		          <targetPlatform
-		              id="photran.managedbuild.target.gnu.platform.fortran.exe.release"
-		              name="%PlatformName.Rel"
-		              binaryParser="org.eclipse.cdt.core.ELF"
-		              osList="solaris,linux,hpux,aix,qnx"
-		              archList="all">
-		          </targetPlatform>
-				  <builder
-				  	  superClass="cdt.managedbuild.target.gnu.builder"
-				      id="photran.managedbuild.target.gnu.builder.exe.release"
-		              name="%BuilderName.Rel"
-		              command="make"
-		              arguments="-k"
-		              buildfileGenerator="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator">
-				  </builder>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.c.compiler.exe.release"
-                      superClass="cdt.managedbuild.tool.gnu.c.compiler">
-					  <option
-						  id="photran.gnu.c.compiler.exe.release.option.optimization.level"
-						  defaultValue="gnu.c.optimization.level.most"
-						  superClass="gnu.c.compiler.option.optimization.level">
-					  </option>
-					  <option
-						  id="photran.gnu.c.compiler.exe.release.option.debugging.level"
-						  defaultValue="gnu.c.debugging.level.none"
-						  superClass="gnu.c.compiler.option.debugging.level">
-					  </option>
-                  </tool>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.fortran.compiler.exe.release"
-                      superClass="photran.managedbuild.tool.gnu.fortran.compiler">
-					  <option
-						  id="gnu.fortran.compiler.exe.release.option.optimization.level"
-						  defaultValue="gnu.fortran.optimization.level.most"
-						  superClass="gnu.fortran.compiler.option.optimization.level">
-					  </option>
-					  <option
-						  id="gnu.fortran.compiler.exe.release.option.debugging.level"
-						  defaultValue="gnu.fortran.debugging.level.none"
-						  superClass="gnu.fortran.compiler.option.debugging.level">
-					  </option>
-                  </tool>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.fortran.linker.exe.release"
-                      superClass="photran.managedbuild.tool.gnu.fortran.linker">
-                  </tool>
-        		  <tool
-        			id="photran.managedbuild.tool.gnu.assembler.exe.release"
-        			superClass="cdt.managedbuild.tool.gnu.assembler">
-    	          </tool>
-               </toolChain>
-         </configuration>
-      </projectType>
-
-      <!--
-        -
-        - GNU Fortran on Mac OS X Project Type
-        -
-        -->
-      <projectType
-            name="%TargetName.gnu.fortran.macosx.exe"
-            id="photran.managedbuild.target.gnu.fortran.macosx.exe"
-            isTest="false"
-            isAbstract="false">
-         <configuration
-               name="%ConfigName.Dbg"
-               cleanCommand="rm -rf"
-               errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.photran.core.GFortranErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser"
-               id="photran.managedbuild.config.gnu.fortran.macosx.exe.debug">
-               <toolChain
-                     archList="all"
-                     osList="macosx"
-                     name="%ToolChainName.Dbg"
-                     targetTool="photran.managedbuild.tool.macosx.fortran.linker.macosx.exe.debug"
-                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
-                     id="photran.managedbuild.toolchain.gnu.fortran.macosx.exe.debug">
-                  <targetPlatform
-					  id="photran.managedbuild.target.gnu.platform.macosx.exe.debug"
-				 	  name="%PlatformName.Dbg"
-                      binaryParser="org.eclipse.cdt.core.MachO"
-					  osList="macosx"
-					  archList="all">
-				  </targetPlatform>
-			  	  <builder
-					  superClass="cdt.managedbuild.target.gnu.builder"
-					  id="photran.managedbuild.target.gnu.builder.macosx.exe.debug"
-					  name="%BuilderName.Dbg"
-					  command="make"
-					  arguments="-k"
-					  buildfileGenerator="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator">
-			      </builder>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.c.compiler.macosx.exe.debug"
-                      superClass="cdt.managedbuild.tool.gnu.c.compiler">
-                      <option
-                          id="photran.gnu.c.compiler.macosx.exe.debug.option.optimization.level"
-                          defaultValue="gnu.c.optimization.level.none"
-                          superClass="gnu.c.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="photran.gnu.c.compiler.macosx.exe.debug.option.debugging.level"
-                          defaultValue="gnu.c.debugging.level.max"
-                          superClass="gnu.c.compiler.option.debugging.level">
-                      </option>
-                  </tool>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.fortran.compiler.macosx.exe.debug"
-                      superClass="photran.managedbuild.tool.gnu.fortran.compiler">
-                      <option
-                          id="gnu.fortran.compiler.macosx.exe.debug.option.optimization.level"
-                          defaultValue="gnu.fortran.optimization.level.none"
-                          superClass="gnu.fortran.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="gnu.fortran.compiler.macosx.exe.debug.option.debugging.level"
-                          defaultValue="gnu.fortran.debugging.level.default"
-                          superClass="gnu.fortran.compiler.option.debugging.level">
-                      </option>
-                  </tool>
-        		  <tool
-        		      id="photran.managedbuild.tool.macosx.fortran.linker.macosx.exe.debug"
-        			  superClass="photran.managedbuild.tool.macosx.fortran.linker">
-        		  </tool>
-        		  <tool
-        			  id="photran.managedbuild.tool.gnu.assembler.macosx.exe.debug"
-        			  superClass="cdt.managedbuild.tool.gnu.assembler">
-        		  </tool>
-               </toolChain>
-         </configuration>
-         <configuration
-               name="%ConfigName.Rel"
-               cleanCommand="rm -rf"
-			   errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.photran.core.GFortranErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser"
-               id="photran.managedbuild.config.gnu.fortran.macosx.exe.release">
-               <toolChain
-                     archList="all"
-                     osList="macosx"
-                     name="%ToolChainName.Rel"
-                     targetTool="photran.managedbuild.tool.macosx.fortran.linker.macosx.exe.release"
-                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
-                     id="photran.managedbuild.toolchain.gnu.fortran.macosx.exe.release">
-                  <targetPlatform
-					  id="photran.managedbuild.target.gnu.platform.fortran.macosx.exe.release"
-				 	  name="%PlatformName.Rel"
-                      binaryParser="org.eclipse.cdt.core.MachO"
-					  osList="macosx"
-					  archList="all">
-				  </targetPlatform>
-			  	  <builder
-					  superClass="cdt.managedbuild.target.gnu.builder"
-					  id="photran.managedbuild.target.gnu.builder.macosx.exe.release"
-					  name="%BuilderName.Rel"
-					  command="make"
-					  arguments="-k"
-					  buildfileGenerator="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator">
-			      </builder>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.c.compiler.macosx.exe.release"
-                      superClass="cdt.managedbuild.tool.gnu.c.compiler">
-                      <option
-                          id="photran.gnu.c.compiler.macosx.exe.release.option.optimization.level"
-                          defaultValue="gnu.c.optimization.level.most"
-                          superClass="gnu.c.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="photran.gnu.c.compiler.macosx.exe.release.option.debugging.level"
-                          defaultValue="gnu.c.debugging.level.none"
-                          superClass="gnu.c.compiler.option.debugging.level">
-                      </option>
-                   </tool>
-                   <tool
-                      id="photran.managedbuild.tool.gnu.fortran.compiler.macosx.exe.release"
-                      superClass="photran.managedbuild.tool.gnu.fortran.compiler">
-                      <option
-                          id="gnu.fortran.compiler.macosx.exe.release.option.optimization.level"
-                          defaultValue="gnu.fortran.optimization.level.most"
-                          superClass="gnu.fortran.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="gnu.fortran.compiler.macosx.exe.release.option.debugging.level"
-                          defaultValue="gnu.fortran.debugging.level.none"
-                          superClass="gnu.fortran.compiler.option.debugging.level">
-                      </option>
-                   </tool>
-				   <tool
-				       id="photran.managedbuild.tool.macosx.fortran.linker.macosx.exe.release"
-					   superClass="photran.managedbuild.tool.macosx.fortran.linker">
-					</tool>
-				  <tool
-					  id="photran.managedbuild.tool.gnu.assembler.macosx.exe.release"
-					  superClass="cdt.managedbuild.tool.gnu.assembler">
-				  </tool>
-               </toolChain>
-         </configuration>
-	  </projectType>
-
-      <!--
-        -
-        - GNU Fortran on Windows Project Type
-        -
-        -->
-      <projectType
-            name="%TargetName.gnu.fortran.win32.exe"
-            id="photran.managedbuild.target.gnu.fortran.win32.exe"
-            isTest="false"
-            isAbstract="false">
-         <configuration
-               name="%ConfigName.Dbg"
-               cleanCommand="rm -rf"
-               errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.photran.core.GFortranErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser"
-               id="photran.managedbuild.config.gnu.fortran.win32.exe.debug">
-               <toolChain
-                     archList="all"
-                     osList="win32"
-                     name="%ToolChainName.Dbg"
-                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.debug"
-                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
-                     id="photran.managedbuild.toolchain.gnu.fortran.win32.exe.debug">
-                  <targetPlatform
-					  id="photran.managedbuild.target.gnu.platform.win32.exe.debug"
-				 	  name="%PlatformName.Dbg"
-                      binaryParser="org.eclipse.cdt.core.PE"
-					  osList="win32"
-					  archList="all">
-				  </targetPlatform>
-			  	  <builder
-					  superClass="cdt.managedbuild.target.gnu.builder"
-					  id="photran.managedbuild.target.gnu.builder.win32.exe.debug"
-					  name="%BuilderName.Dbg"
-					  command="make"
-					  arguments="-k"
-					  buildfileGenerator="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator">
-			      </builder>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.c.compiler.win32.exe.debug"
-                      superClass="cdt.managedbuild.tool.gnu.c.compiler">
-                      <option
-                          id="photran.gnu.c.compiler.win32.exe.debug.option.optimization.level"
-                          defaultValue="gnu.c.optimization.level.none"
-                          superClass="gnu.c.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="photran.gnu.c.compiler.win32.exe.debug.option.debugging.level"
-                          defaultValue="gnu.c.debugging.level.max"
-                          superClass="gnu.c.compiler.option.debugging.level">
-                      </option>
-                  </tool>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.fortran.compiler.win32.exe.debug"
-                      superClass="photran.managedbuild.tool.gnu.fortran.compiler">
-                      <option
-                          id="gnu.fortran.compiler.win32.exe.debug.option.optimization.level"
-                          defaultValue="gnu.fortran.optimization.level.none"
-                          superClass="gnu.fortran.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="gnu.fortran.compiler.win32.exe.debug.option.debugging.level"
-                          defaultValue="gnu.fortran.debugging.level.default"
-                          superClass="gnu.fortran.compiler.option.debugging.level">
-                      </option>
-                  </tool>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.fortran.linker.win32.exe.debug"
-                      superClass="photran.managedbuild.tool.gnu.fortran.linker">
-                  </tool>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.assembler.win32.exe.debug"
-                      superClass="cdt.managedbuild.tool.gnu.assembler">
-                  </tool>
-               </toolChain>
-         </configuration>
-         <configuration
-               name="%ConfigName.Rel"
-               cleanCommand="rm -rf"
-			   errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.photran.core.GFortranErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser"
-               id="photran.managedbuild.config.gnu.fortran.win32.exe.release">
-               <toolChain
-                     archList="all"
-                     osList="win32"
-                     name="%ToolChainName.Rel"
-                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.release"
-                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
-                     id="photran.managedbuild.toolchain.gnu.fortran.win32.exe.release">
-                  <targetPlatform
-					  id="photran.managedbuild.target.gnu.platform.fortran.win32.exe.release"
-				 	  name="%PlatformName.Rel"
-                      binaryParser="org.eclipse.cdt.core.PE"
-					  osList="win32"
-					  archList="all">
-				  </targetPlatform>
-			  	  <builder
-					  superClass="cdt.managedbuild.target.gnu.builder"
-					  id="photran.managedbuild.target.gnu.builder.win32.exe.release"
-					  name="%BuilderName.Rel"
-					  command="make"
-					  arguments="-k"
-					  buildfileGenerator="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator">
-			      </builder>
-                  <tool
-                      id="photran.managedbuild.tool.gnu.c.compiler.win32.exe.release"
-                      superClass="cdt.managedbuild.tool.gnu.c.compiler">
-                      <option
-                          id="photran.gnu.c.compiler.win32.exe.release.option.optimization.level"
-                          defaultValue="gnu.c.optimization.level.most"
-                          superClass="gnu.c.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="photran.gnu.c.compiler.win32.exe.release.option.debugging.level"
-                          defaultValue="gnu.c.debugging.level.none"
-                          superClass="gnu.c.compiler.option.debugging.level">
-                      </option>
-                   </tool>
-                   <tool
-                      id="photran.managedbuild.tool.gnu.fortran.compiler.win32.exe.release"
-                      superClass="photran.managedbuild.tool.gnu.fortran.compiler">
-                      <option
-                          id="gnu.fortran.compiler.win32.exe.release.option.optimization.level"
-                          defaultValue="gnu.fortran.optimization.level.most"
-                          superClass="gnu.fortran.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="gnu.fortran.compiler.win32.exe.release.option.debugging.level"
-                          defaultValue="gnu.fortran.debugging.level.none"
-                          superClass="gnu.fortran.compiler.option.debugging.level">
-                      </option>
-                   </tool>
-                   <tool
-                      id="photran.managedbuild.tool.gnu.fortran.linker.win32.exe.release"
-                      superClass="photran.managedbuild.tool.gnu.fortran.linker">
-                   </tool>
-                   <tool
-                      id="photran.managedbuild.tool.gnu.assembler.win32.exe.release"
-                      superClass="cdt.managedbuild.tool.gnu.assembler">
-                   </tool>
-               </toolChain>
-         </configuration>
-	  </projectType>
-
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.photran.managedbuilder.intel.ui/.classpath b/org.eclipse.photran.managedbuilder.intel.ui/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/org.eclipse.photran.managedbuilder.intel.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.managedbuilder.intel.ui/.cvsignore b/org.eclipse.photran.managedbuilder.intel.ui/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.photran.managedbuilder.intel.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.photran.managedbuilder.intel.ui/.project b/org.eclipse.photran.managedbuilder.intel.ui/.project
deleted file mode 100644
index 1657cff..0000000
--- a/org.eclipse.photran.managedbuilder.intel.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.managedbuilder.intel.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.managedbuilder.intel.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.managedbuilder.intel.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 8a35ce5..0000000
--- a/org.eclipse.photran.managedbuilder.intel.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Aug 01 13:40:44 CDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/org.eclipse.photran.managedbuilder.intel.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.managedbuilder.intel.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 57e3ada..0000000
--- a/org.eclipse.photran.managedbuilder.intel.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Aug 01 13:40:44 CDT 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.photran.managedbuilder.intel.ui/META-INF/MANIFEST.MF b/org.eclipse.photran.managedbuilder.intel.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 43803a0..0000000
--- a/org.eclipse.photran.managedbuilder.intel.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.photran.managedbuilder.intel.ui; singleton:=true
-Bundle-Version: 7.0.0.qualifier
-Bundle-ClassPath: intelui.jar
-Bundle-Activator: org.eclipse.photran.managedbuilder.intel.ui.IntelUiPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.photran.managedbuilder.intel.ui
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.photran.core.intel,
- org.eclipse.cdt.managedbuilder.core,
- org.eclipse.cdt.core,
- org.eclipse.photran.core,
- org.eclipse.photran.managedbuilder.core
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.photran.managedbuilder.intel.ui/about.html b/org.eclipse.photran.managedbuilder.intel.ui/about.html
deleted file mode 100644
index fcbffcd..0000000
--- a/org.eclipse.photran.managedbuilder.intel.ui/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 23, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.photran.managedbuilder.intel.ui/build.properties b/org.eclipse.photran.managedbuilder.intel.ui/build.properties
deleted file mode 100644
index c72f29f..0000000
--- a/org.eclipse.photran.managedbuilder.intel.ui/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.intelui.jar = src/
-output.intelui.jar = bin/
-bin.includes = plugin.xml,\
-               intelui.jar,\
-               plugin.properties,\
-               about.html,\
-               META-INF/
-jre.compilation.profile=J2SE-1.4
-src.includes = about.html
diff --git a/org.eclipse.photran.managedbuilder.intel.ui/plugin.properties b/org.eclipse.photran.managedbuilder.intel.ui/plugin.properties
deleted file mode 100644
index 309da66..0000000
--- a/org.eclipse.photran.managedbuilder.intel.ui/plugin.properties
+++ /dev/null
@@ -1,323 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2009 Intel Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     Intel Corporation - initial API and implementation
-###############################################################################
-pluginName=Intel(R) Fortran Managed Build Definitions
-providerName=Eclipse.org
-
-# Build Model Names
-TargetName.intel.fortran.exe=Executable (Intel(R) Fortran)
-TargetName.intel.fortran.so=Shared Library (Intel(R) Fortran)
-TargetName.intel.fortran.ar=Static Library (Intel(R) Fortran)
-
-# Default Configuration Names
-ConfigName.Rel=Release
-ConfigName.Dbg=Debug
-ConfigName.x86.Rel=Release_IA-32
-ConfigName.x86.Dbg=Debug_IA-32
-ConfigName.x86_64.Rel=Release_Intel64
-ConfigName.x86_64.Dbg=Debug_Intel64
-ConfigName.ipf.Rel=Release_IA-64
-ConfigName.ipf.Dbg=Debug_IA-64
-
-# Generic tool-chain names
-ToolChainName.x86=Intel(R) Fortran Toolchain on IA-32
-ToolChainName.x86_64=Intel(R) Fortran Toolchain on Intel(R) 64
-ToolChainName.ipf=Intel(R) Fortran Toolchain on IA-64
-
-# Generic platform names
-PlatformName.x86=IA-32 Platform
-PlatformName.x86_64=Intel(R) 64 Platform
-PlatformName.ipf=IA-64 Platform
-
-# Generic builder names
-BuilderName.Rel=Gnu Make
-BuilderName.Dbg=Gnu Make
-
-# Intel(R) tool names
-#Using the (R) in the tool name exposes a bug in the mbs makefile generator.
-#Use the correct (R) names after the bug gets fixed.
-ToolName.compiler.intel.fortran.x86 = Intel(R) IA-32 Fortran Compiler
-ToolName.compiler.intel.fortran.x86_64 = Intel(R) Intel(R) 64 Fortran Compiler
-ToolName.compiler.intel.fortran.ipf = Intel(R) IA-64 Fortran Compiler
-ToolName.linker.intel.fortran = Intel(R) Fortran Linker
-ToolName.archiver.intel.fortran=Archiver
-
-# Generic Category Names
-OptionCategory.General = General
-OptionCategory.Optimize=Optimization
-OptionCategory.Debug=Debugging
-OptionCategory.Preproc = Preprocessor
-OptionCategory.Codegen = Code Generation
-OptionCategory.Lang = Language
-OptionCategory.Compat = Compatibility
-OptionCategory.Diags = Compilation Diagnostics
-OptionCategory.Data = Data
-OptionCategory.Fltpt = Floating Point
-OptionCategory.Extprocs = External Procedures
-OptionCategory.Outfiles = Output Files
-OptionCategory.Runtime = Runtime
-OptionCategory.Libs = Libraries
-OptionCategory.Cmdline = Command Line
-
-OptionCategory.Source = Source
-OptionCategory.Symbols = Symbols
-OptionCategory.Dirs = Directories
-OptionCategory.Warn=Warnings
-OptionCategory.Misc=Miscellaneous
-OptionCategory.Shared.Settings=Shared Library Settings
-
-# Intel(R) Fortran specific option names
-
-Option.intel.fortran.general.banner=Show Startup Banner (-V)
-Option.intel.fortran.general.debug=Include Debug Information (-g)
-Option.intel.fortran.general.optlvl=Optimization Level
-Option.intel.fortran.general.optlvl.disable=Disable (-O0)
-Option.intel.fortran.general.optlvl.minsize=Minimize Size (-O1)
-Option.intel.fortran.general.optlvl.maxspeed=Maximize Speed (-O2)
-Option.intel.fortran.general.optlvl.speedhlo=Maximize Speed Plus High Level Optimizations (-O3)
-Option.intel.fortran.general.warnlvl=Warning Level
-Option.intel.fortran.general.warnlvl.none=Disable All (-warn none)
-Option.intel.fortran.general.warnlvl.all=Show All (-warn all)
-Option.intel.fortran.general.warnlvl.custom=Custom
-
-Option.intel.fortran.optimize.fp=Provide Frame Pointers (-fno-omit-frame-pointer)
-Option.intel.fortran.optimize.prefetch=Prefetch Insertion (-prefetch)
-Option.intel.fortran.optimize.opt_prefetch=Enable Prefetch Insertion (-opt-prefetch=[n])
-Option.intel.fortran.optimize.opt_prefetch.0=Disable
-Option.intel.fortran.optimize.opt_prefetch.1=Minimum (-opt-prefetch=1)
-Option.intel.fortran.optimize.opt_prefetch.2=Medium (-opt-prefetch=2)
-Option.intel.fortran.optimize.opt_prefetch.3=Agressive (-opt-prefetch=3)
-Option.intel.fortran.optimize.buffio=I/O Buffering (-assume buffered_io)
-Option.intel.fortran.optimize.inline=Inline Function Expansion
-Option.intel.fortran.optimize.inline.default=Default
-Option.intel.fortran.optimize.inline.disable=Disable (-inline-level=0)
-Option.intel.fortran.optimize.inline.inlinedir=Functions with the INLINE Keyword or Directive (-inline-level=1)
-Option.intel.fortran.optimize.inline.anysuitable=Any Suitable (-inline-level=2)
-Option.intel.fortran.optimize.forintelprocessor=Optimize for Intel(R) Processor
-Option.intel.fortran.optimize.forintelprocessor.blended=Blended (-mtune pentium)
-Option.intel.fortran.optimize.forintelprocessor.g1=Itanium(R) (-tpp1)
-Option.intel.fortran.optimize.forintelprocessor.g2=Itanium(R)2 (-tpp2)
-Option.intel.fortran.optimize.forintelprocessor.g5=Intel Pentium(R) and Pentium with MMX(TM) (-mtune pentium-mmx)
-Option.intel.fortran.optimize.forintelprocessor.g6=Intel Pentium(R) Pro, Pentium II and III (-mtune pentiumpro)
-Option.intel.fortran.optimize.forintelprocessor.g7=Intel Pentium(R) 4 and Other Intel Processors (-mtune pentium4)
-Option.intel.fortran.optimize.unrollcnt=Loop Unroll Count(0=disable, default=blank) (-unroll[n])
-Option.intel.fortran.optimize.parallel=Parallelization (-parallel)
-Option.intel.fortran.optimize.parthreshold=Threshold For Auto-Parallelization (0 to 100, default=100) (-par-threshold[n])
-Option.intel.fortran.optimize.ivdep=IVDEP Directive Memory Dependency (-ivdep-parallel)
-Option.intel.fortran.optimize.forintelprocessor.g1=Itanium(R)
-Option.intel.fortran.optimize.forintelprocessor.g2=Itanium(R)2
-
-
-Option.intel.fortran.debug.infoparam=Information for PARAMETER constants
-Option.intel.fortran.debug.infoparam.none=None (-debug-parameters none)
-Option.intel.fortran.debug.infoparam.all=All (-debug-parameters all)
-Option.intel.fortran.debug.infoparam.used=Used in the Program (-debug-parameters used)
-
-Option.intel.fortran.preprocessor.fpp=Preprocess Source File (-fpp)
-Option.intel.fortran.preprocessor.additionalidirs=Additional Include Directories (-I)
-Option.intel.fortran.preprocessor.ignoreinclude=Ignore Standard Include Path (-X)
-Option.intel.fortran.preprocessor.defaultincludepath=Default Include and Use Path (-assume source-include)
-Option.intel.fortran.preprocessor.defsym=Preprocessor Definitions (-D)
-Option.intel.fortran.preprocessor.undefsym=Undefine Preprocessor Definitions (-U)
-Option.intel.fortran.preprocessor.defstofpponly=Preprocessor Definitions to FPP Only (-noD)
-Option.intel.fortran.preprocessor.openmpcondcomp=OpenMP Conditional Compilation (-assume cc-omp)
-
-Option.intel.fortran.codegen.recursive=Enable Recursive Routines (-recursive)
-Option.intel.fortran.codegen.fpic=Generate Position-independent Code (-fpic)
-
-Option.intel.fortran.codegen.genreent=Generate Reentrant Code
-Option.intel.fortran.codegen.genreent.none=None (-reentrancy none)
-Option.intel.fortran.codegen.genreent.async=Guard Against Asynchronous Interrupts (-reentrancy async)
-Option.intel.fortran.codegen.genreent.threaded=Threaded (-reentrancy threaded)
-
-Option.intel.fortran.codegen.useintelextensions=Use Intel(R) Processor Extensions
-Option.intel.fortran.codegen.useintelextensions.none=None
-Option.intel.fortran.codegen.useintelextensions.axk=Intel Pentium(R) III and Compatible Intel Processors (-axK)
-Option.intel.fortran.codegen.useintelextensions.axn=Intel Pentium(R) 4 and Compatible Intel Processors (-axN)
-Option.intel.fortran.codegen.useintelextensions.axb=Intel Pentium(R) M and Compatible Intel Processors (-axB)
-Option.intel.fortran.codegen.useintelextensions.axp=Intel Pentium(R) 4 Processor with Streaming SIMD Extensions 3 (SSE3) (-axP)
-
-Option.intel.fortran.codegen.reqintelextensions=Require Intel(R) Processor Extensions
-Option.intel.fortran.codegen.reqintelextensions.none=None
-Option.intel.fortran.codegen.reqintelextensions.xk=Intel Pentium(R) III and Compatible Intel Processors (-xK)
-Option.intel.fortran.codegen.reqintelextensions.xn=Intel Pentium(R) 4 and Compatible Intel Processors (-xN)
-Option.intel.fortran.codegen.reqintelextensions.xb=Intel Pentium(R) M and Compatible Intel Processors (-xB)
-Option.intel.fortran.codegen.reqintelextensions.xp=Intel Pentium(R) 4 Processor with Streaming SIMD Extensions 3 (SSE3) (-xP)
-
-Option.intel.fortran.codegen.useintelextensions.axSSE2 = Intel Netburst(R) Microarchitecture and Pentium(R) M Processor family with Streaming SIMD Extensions 2 (-axSSE2)
-Option.intel.fortran.codegen.reqintelextensions.xSSE2 = Intel Netburst(R) Microarchitecture and Pentium(R) M Processor family with Streaming SIMD Extensions 2 (-xSSE2)
-Option.intel.fortran.codegen.useintelextensions.axSSE3 = Intel Core(TM) and Intel Netburst(R) Microarchitectures with Streaming SIMD Extensions 3 (-axSSE3)
-Option.intel.fortran.codegen.reqintelextensions.xSSE3 = Intel Core(TM) and Intel Netburst(R) Microarchitectures with Streaming SIMD Extensions 3 (-xSSE3)
-Option.intel.fortran.codegen.reqintelextensions.xSSE3_ATOM = Intel Atom(TM) Processor family with MOVBE Instruction Support (-xSSE3_ATOM)
-Option.intel.fortran.codegen.useintelextensions.axSSSE3 = Intel Core(TM)2 Processor family with Supplemental Streaming SIMD Extensions 3 (-axSSSE3)
-Option.intel.fortran.codegen.reqintelextensions.xSSSE3 = Intel Core(TM)2 Processor family with Supplemental Streaming SIMD Extensions 3 (-xSSSE3)
-Option.intel.fortran.codegen.useintelextensions.axSSE41 = Intel Core(TM)2 Processor family with SSE4 Vectorizing Compiler and Media Accelerators (-axSSE4.1)
-Option.intel.fortran.codegen.reqintelextensions.xSSE41 = Intel Core(TM)2 Processor family with SSE4 Vectorizing Compiler and Media Accelerators (-xSSE4.1)
-
-Option.intel.fortran.lang.srcfmt=Source File Format
-Option.intel.fortran.lang.srcfmt.fileext=Use File Extension
-Option.intel.fortran.lang.srcfmt.free=Use Free Format (-free)
-Option.intel.fortran.lang.srcfmt.fixed=Use Fixed Format (-fixed)
-
-Option.intel.fortran.lang.fixedlen=Fixed Form Line Length
-Option.intel.fortran.lang.fixedlen.72=72 Columns (-extend-source 72)
-Option.intel.fortran.lang.fixedlen.80=80 Columns (-extend-source 80)
-Option.intel.fortran.lang.fixedlen.132=132 Columns (-extend-source 132)
-
-Option.intel.fortran.lang.pad=Pad Fixed Form Source Lines (-pad-source)
-Option.intel.fortran.lang.altparam=Enable Alternate PARAMETER Syntax (-altparam)
-Option.intel.fortran.lang.f66=Enable FORTRAN 66 Semantics (-f66)
-Option.intel.fortran.lang.dlines=Compile Lines With D in Column 1 (-d-lines)
-Option.intel.fortran.lang.openmp=Process OpenMP Directives
-Option.intel.fortran.lang.openmp.disable=Disable
-Option.intel.fortran.lang.openmp.genpar=Generate Parallel Code (-openmp)
-Option.intel.fortran.lang.openmp.genseq=Generate Sequential Code (-openmp-stubs)
-
-Option.intel.fortran.compat.vms=Enable VMS Compatibility (-vms)
-Option.intel.fortran.compat.f77rtl=Enable F77 Runtime Compatibility (-f77rtl)
-Option.intel.fortran.compat.f77int=Use F77 Integer Constants (-intconstant)
-Option.intel.fortran.compat.bscc=Treat Backslash as Normal Character in Strings (-assume bscc)
-Option.intel.fortran.compat.unfmtfiles=Unformatted File Conversion
-Option.intel.fortran.compat.unfmtfiles.none=None
-Option.intel.fortran.compat.unfmtfiles.bigendian=Big Endian (-convert big_endian)
-Option.intel.fortran.compat.unfmtfiles.cray=Cray (-convert cray)
-Option.intel.fortran.compat.unfmtfiles.ibm=IBM (-convert ibm)
-Option.intel.fortran.compat.unfmtfiles.littleendian=Little Endian (-convert little_endian)
-Option.intel.fortran.compat.unfmtfiles.native=Native (-convert native)
-Option.intel.fortran.compat.unfmtfiles.vaxg=VAXG (-convert vaxg)
-Option.intel.fortran.compat.unfmtfiles.vaxd=VAXD (-convert vaxd)
-
-
-Option.intel.fortran.diags.werror=Treat Warnings as Errors (-warn errors)
-Option.intel.fortran.diags.stderrors=Treat Fortran Standard Warnings As Errors (-warn stderrors)
-Option.intel.fortran.diags.wdecl=Warn For Undeclared Symbols (-warn declarations)
-Option.intel.fortran.diags.wunused=Warn For Unused Variables (-warn unused)
-Option.intel.fortran.diags.wignoreloc=Warn When Removing %LOC (-warn ignore-loc)
-Option.intel.fortran.diags.wtruncsrc=Warn When Truncating Source Line (-warn truncated_source)
-Option.intel.fortran.diags.walign=Warn For Unaligned Data (-warn alignments)
-Option.intel.fortran.diags.wuncalled=Warn For Uncalled Routine (-warn uncalled)
-Option.intel.fortran.diags.wusage=Suppress Usage Messages (-warn nousage)
-Option.intel.fortran.diags.winterfaces=Check Routine Interfaces (-warn interfaces)
-Option.intel.fortran.diags.errlimit=Error Limit (-error-limit n)
-Option.intel.fortran.diags.standards=Warn For Non-standard Fortran
-Option.intel.fortran.diags.std.none=None
-Option.intel.fortran.diags.std.f90=Fortran 90 (-stand f90)
-Option.intel.fortran.diags.std.f95=Fortran 95 (-stand f95)
-Option.intel.fortran.diags.openmpreport=OpenMP Report
-Option.intel.fortran.diags.openmp.none=None
-Option.intel.fortran.diags.openmp.0=No Information (-openmp-report0)
-Option.intel.fortran.diags.openmp.1=Loops, Regions, ... Parallelized (-openmp-report1)
-Option.intel.fortran.diags.openmp.2=Plus Master Construct, ... (-openmp-report2)
-Option.intel.fortran.diags.parreport=Autoparallelizer Report
-Option.intel.fortran.diags.parnone=None
-Option.intel.fortran.diags.par.0=No Information (-par-report0)
-Option.intel.fortran.diags.par.1=Loops Successfully Parallelized (-par-report1)
-Option.intel.fortran.diags.par.2=Plus Loops Unsuccessfully Parallelized (-par-report2)
-Option.intel.fortran.diags.par.3=Plus Dependency Information (-par-report3)
-Option.intel.fortran.diags.vecreport=Vectorizer Report
-Option.intel.fortran.diags.vec.none=None
-Option.intel.fortran.diags.vec.0=No Information (-vec-report0)
-Option.intel.fortran.diags.vec.1=Loops Successfully Parallelized (-vec-report1)
-Option.intel.fortran.diags.vec.2=Plus Loops Unsuccessfully Parallelized (-vec-report2)
-Option.intel.fortran.diags.vec.3=Plus Dependency Information (-vec-report3)
-Option.intel.fortran.diags.vec.4=Non-vectorized Loops (-vec-report4)
-Option.intel.fortran.diags.vec.5=Plus Dependency Information (-vec-report5)
-
-Option.intel.fortran.data.defintkind=Default Integer KIND
-Option.intel.fortran.data.defintkind.2=2 (-integer-size 16)
-Option.intel.fortran.data.defintkind.4=4 (-integer-size 32)
-Option.intel.fortran.data.defintkind.8=8 (-integer-size 64)
-Option.intel.fortran.data.defrealkind=Default Real KIND
-Option.intel.fortran.data.defrealkind.4=4 (-real-size 32)
-Option.intel.fortran.data.defrealkind.8=8 (-real-size 64)
-Option.intel.fortran.data.defrealkind.16=16 (-real-size 128)
-Option.intel.fortran.data.defdpkind=Default Double Precision KIND
-Option.intel.fortran.data.defdpkind.8=8 (-double-size 64)
-Option.intel.fortran.data.defdpkind.16=16 (-double-size 128)
-Option.intel.fortran.data.locvarstg=Local Variable Storage
-Option.intel.fortran.data.locvarstg.deflocstg=Default Local Storage
-Option.intel.fortran.data.locvarstg.save=All Variables SAVE (-save)
-Option.intel.fortran.data.locvarstg.autoscalar=Scalar Local Variables AUTOMATIC (-auto-scalar)
-Option.intel.fortran.data.locvarstg.auto=Local Variables AUTOMATIC (-auto)
-Option.intel.fortran.data.structalign=Structure Member Alignment
-Option.intel.fortran.data.structalign.default=Default (-align records)
-Option.intel.fortran.data.structalign.1=1 Byte (-align rec1byte)
-Option.intel.fortran.data.structalign.2=2 Bytes (-align rec2byte)
-Option.intel.fortran.data.structalign.4=4 Bytes (-align rec4byte)
-Option.intel.fortran.data.structalign.8=8 Bytes (-align rec8byte)
-Option.intel.fortran.data.structalign.16=16 Bytes (-align rec16byte)
-Option.intel.fortran.data.commonalign=Common Element Alignment
-Option.intel.fortran.data.commonalign.default=None (-align nocommons)
-Option.intel.fortran.data.commonalign.4=4 Bytes (-align commons)
-Option.intel.fortran.data.commonalign.8=8 Bytes (-align dcommons)
-Option.intel.fortran.data.zero=Initialize Local Saved Scalars to Zero (-zero)
-Option.intel.fortran.data.seq=SEQUENCE Types Obey Alignment Rules (-align sequence)
-Option.intel.fortran.data.dummy=Assume Dummy Arguments Share Memory Locations (-assume dummy-aliases)
-Option.intel.fortran.data.safecray=Assume CRAY Pointers Do Not Share Memory Locations (-safe-cray-ptr)
-Option.intel.fortran.data.protectconst=Constant Actual Arguments Can Be Changed (-assume noprotect-constants)
-Option.intel.fortran.data.byterecl=Use Bytes as RECL= Unit for Unformatted Files (-assume byterecl)
-Option.intel.fortran.data.ftrapuv=Initialize Stack Variables to an Unusual Value (-ftrapuv)
-Option.intel.fortran.data.dyncom=Dynamic Common Blocks (-dyncom)
-
-Option.intel.fortran.fp.fpexcept=Reliable Floating Point Exceptions Model (-fp-model except)
-Option.intel.fortran.fp.fltconsistency=Floating-Point Consistency (-fltconsistency)
-Option.intel.fortran.fp.fpport=Round Floating-Point Results (-fp-port)
-Option.intel.fortran.fp.ftz=Flush Denormal Results to Zero (-ftz)
-Option.intel.fortran.fp.fpconstant=Extend Precision of Single Precision Constants (-fpconstant)
-Option.intel.fortran.fp.minus0=Enable IEEE Minus Zero Support (-assume minus0)
-Option.intel.fortran.fp.cmplxlimited=Limit COMPLEX Range (-complex-limited-range)
-Option.intel.fortran.fp.stack=Check Floating Point Stack (-fp-stack-check)
-Option.intel.fortran.fp.fpmodel=Floating Point Model
-Option.intel.fortran.fp.fpmodel.precise=Precise (-fp-model precise)
-Option.intel.fortran.fp.fpmodel.fast=Fast (default) (-fp-model fast)
-Option.intel.fortran.fp.fpmodel.fast.2=Fast=2 (-fp-model fast=2)
-Option.intel.fortran.fp.fpmodel.strict=Strict (-fp-model strict)
-Option.intel.fortran.fp.fpmodel.source=Source (-fp-model source)
-Option.intel.fortran.fp.fpe=Floating Point Exception Handling
-Option.intel.fortran.fp.fpe.0=Underfow gives 0.0; Abort on other IEEE exceptions (-fpe0)
-Option.intel.fortran.fp.fpe.1=Underfow gives 0.0; Other exceptions produce NaN or signed infinity (-fpe1)
-Option.intel.fortran.fp.fpe.3=Produce NaN, signed infinities, and denormal results (-fpe3)
-
-Option.intel.fortran.extprocs.underscore=Append Underscore to External Names (-assume underscore)
-Option.intel.fortran.extprocs.interfaces=Generate Interface Blocks (-gen-interfaces)
-Option.intel.fortran.extprocs.namecase=Name Case Interpretation
-Option.intel.fortran.extprocs.namecase.upper=Upper Case (-names uppercase)
-Option.intel.fortran.extprocs.namecase.lower=Lower Case (-names lowercase)
-Option.intel.fortran.extprocs.namecase.asis=As-is (-names as-is)
-
-Option.intel.fortran.outfiles.moddir=Module Path (-module path)
-
-Option.intel.fortran.runtime.ccdefault=Default Output Carriage Control
-Option.intel.fortran.runtime.ccdefault.default=Default
-Option.intel.fortran.runtime.ccdefault.fortran=Fortran (-ccdefault fortran)
-Option.intel.fortran.runtime.ccdefault.list=List (-ccdefault list)
-Option.intel.fortran.runtime.ccdefault.none=None (-ccdefault none)
-Option.intel.fortran.runtime.rterrorchk=Runtime Error Checking
-Option.intel.fortran.runtime.rterrorchk.none=None (-check none)
-Option.intel.fortran.runtime.rterrorchk.all=All (-check all)
-Option.intel.fortran.runtime.rterrorchk.custom=Custom
-Option.intel.fortran.runtime.traceback=Generate Traceback Information (-traceback)
-Option.intel.fortran.runtime.chkbnds=Check Array and String Bounds (-check bounds)
-Option.intel.fortran.runtime.chkoutcon=Check Edit Descriptor Data Size (-check output-conversion)
-Option.intel.fortran.runtime.chkfmt=Check Edit Descriptor Data Type (-check format)
-Option.intel.fortran.runtime.chkargtmp=Check For Actual Arguments Using Temporary Storage (-check arg-temp-created)
-
-Option.intel.fortran.cmdline.addlopts=Additional Options
-
-Option.intel.fortran.link.option.rtlibs=Intel Runtime Libraries
-Option.intel.fortran.link.option.rtlibs.default=Default as Specified By the Compiler Driver
-Option.intel.fortran.link.option.rtlibs.shared_intel=Dynamic Linking (-shared-intel)
-Option.intel.fortran.link.option.rtlibs.static_intel=Static Linking (-static-intel)
-Option.intel.fortran.link.option.l=Additional Libraries (-l)
-Option.intel.fortran.link.option.libpath=Search Directory for Libraries (-L)
-
-Option.archiver.intel.fortran.cmdline=Archiver Command Line
-Option.archiver.intel.fortran.aroptions=Archiver Options
-      
diff --git a/org.eclipse.photran.managedbuilder.intel.ui/plugin.xml b/org.eclipse.photran.managedbuilder.intel.ui/plugin.xml
deleted file mode 100644
index 346f886..0000000
--- a/org.eclipse.photran.managedbuilder.intel.ui/plugin.xml
+++ /dev/null
@@ -1,3043 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>	
-<?eclipse version="3.2"?>
-<plugin>
-
-    
-<!-- Managed Make Builder Tool Specifications -->
-   <extension
-      id="cdt.managed.build.info"
-      name="Managed Build Tools Description"
-      point="org.eclipse.cdt.managedbuilder.core.buildDefinitions">
-      <managedBuildRevision
-         fileVersion="3.1.0">
-      </managedBuildRevision>
-
-
-<!-- Start Intel Fortran linker -->
-      <tool
-         natureFilter="cnature"
-         name="%ToolName.linker.intel.fortran"
-         outputFlag="-o"
-         command="ifort"
-         id="photran.managedbuild.tool.intel.fortran.linker"
-         errorParsers="org.eclipse.cdt.core.GLDErrorParser">
-         <supportedProperties>
-            <property id="org.eclipse.cdt.build.core.buildArtefactType">
-	            <value id="org.eclipse.cdt.build.core.buildArtefactType.exe"/>
-    	        <value id="org.eclipse.cdt.build.core.buildArtefactType.sharedLib"/>
-            </property>
-         </supportedProperties>
-         <envVarBuildPath 
-            pathType="buildpathLibrary"
-            variableList="LIBRARY_PATH">
-         </envVarBuildPath>
-
-
-<!-- Link Libraries -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.linker"
-            name="%OptionCategory.Libs"
-            id="intel.fortran.link.category.libs">
-         </optionCategory>
-         <option
-            name="%Option.intel.fortran.link.option.rtlibs"
-            category="intel.fortran.link.category.libs"
-            valueType="enumerated"
-            id="intel.fortran.link.option.rtlibs">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.link.option.rtlibs.default"
-               isDefault="true"
-               command=""
-               id="intel.fortran.link.option.rtlibs.default">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.link.option.rtlibs.shared_intel"
-               command="-shared-intel"
-               id="intel.fortran.link.option.rtlibs.shared_intel">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.link.option.rtlibs.static_intel"
-               command="-static-intel"
-               id="intel.fortran.link.option.rtlibs.static_intel">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.link.option.l"
-            category="intel.fortran.link.category.libs"
-            command="-l"
-            id="intel.fortran.link.option.l"
-            browseType="file"
-            valueType="libs">
-         </option>
-         <option
-            name="%Option.intel.fortran.link.option.libpath"
-            category="intel.fortran.link.category.libs"
-            command="-L"
-            id="intel.fortran.link.option.libpath"
-            browseType="directory"
-            valueType="stringList">
-         </option>
-
-<!-- Link Command Line -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.linker"
-            name="%OptionCategory.Cmdline"
-            id="intel.fortran.link.category.cmdline">
-         </optionCategory>
-         <option
-            name="%Option.intel.fortran.cmdline.addlopts"
-            category="intel.fortran.link.category.cmdline"
-            defaultValue=""
-            valueType="string"
-            id="intel.fortran.link.cmdline.addlopts">
-         </option>
-         <option
-               defaultValue="false"
-               command="-shared"
-               id="intel.fortran.link.option.shared"
-               valueType="boolean">
-              <enablement 
-              	type="CONTAINER_ATTRIBUTE" 
-              	attribute="defaultValue" 
-              	value="true"
-              	extensionAdjustment="false">
-			  	<checkBuildProperty 
-			  		property="org.eclipse.cdt.build.core.buildArtefactType"
-			  		value="org.eclipse.cdt.build.core.buildArtefactType.sharedLib"/>
-			  </enablement>
-			  <enablement
-			    type="UI_VISIBILITY|UI_ENABLEMENT">
-			    <false/>
-			  </enablement>
-         </option>
-         <inputType
-            sourceContentType="org.eclipse.cdt.managedbuilder.core.compiledObjectFile"
-            sources="o"
-            multipleOfType="true"
-            dependencyCalculator="org.eclipse.cdt.managedbuilder.makegen.internal.DefaultNoDependencyCalculator"
-            buildVariable="OBJS"
-            id="photran.managedbuild.tool.intel.fortran.linker.input">
-            <additionalInput
-               paths="$(USER_OBJS)"
-               kind="additionalinputdependency">
-            </additionalInput>
-            <additionalInput
-               paths="$(LIBS)"
-               kind="additionalinput">
-            </additionalInput>
-         </inputType>
-         <outputType
-            outputs=""
-            buildVariable="EXECUTABLES"
-            nameProvider="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuLinkOutputNameProvider"
-            primaryOutput="true"
-            id="photran.managedbuild.tool.intel.fortran.linker.output">
-              <enablement 
-              	type="ALL">
-			  	<checkOption 
-			  		optionId="intel.fortran.link.option.shared"
-			  		value="false"/>
-			  </enablement>
-         </outputType>
-         <outputType
-            outputs="so"
-            outputPrefix="lib"
-            buildVariable="LIBRARIES"
-            id="photran.managedbuild.tool.intel.fortran.linker.output.so">
-              <enablement 
-              	type="ALL">
-			  	<checkOption 
-			  		optionId="intel.fortran.link.option.shared"
-			  		value="true"/>
-			  </enablement>
-         </outputType>         
-      </tool>
-<!--  End Intel Fortran Linker -->
-
-<!--  Start Intel Fortran Archiver -->
-      <tool
-         natureFilter="both"
-         name="%ToolName.archiver.intel.fortran"
-         command="ar"		
-         id="photran.managedbuild.tool.intel.fortran.archiver">
-         <supportedProperties>
-            <property id="org.eclipse.cdt.build.core.buildArtefactType">
-    	        <value id="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
-            </property>
-         </supportedProperties>
-         <inputType
-            sourceContentType="org.eclipse.cdt.managedbuilder.core.compiledObjectFile"
-            sources="o"
-            multipleOfType="true"
-            dependencyCalculator="org.eclipse.cdt.managedbuilder.makegen.internal.DefaultNoDependencyCalculator"
-            buildVariable="OBJS"
-            id="intel.fortran.archiver.input">
-            <additionalInput
-               paths="$(USER_OBJS)"
-               kind="additionalinputdependency">
-            </additionalInput>
-            <additionalInput
-               paths="$(LIBS)"
-               kind="additionalinput">
-            </additionalInput>
-         </inputType>
-         <outputType
-            outputs="a"
-            outputPrefix="lib"
-            buildVariable="ARCHIVES"
-            id="intel.fortran.archiver.output">
-         </outputType>        
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.archiver"
-            name="%Option.archiver.intel.fortran.cmdline"
-            id="intel.fortran.archiver.category.cmdline">
-         </optionCategory>
-         <option
-            defaultValue="-r"
-            name="%Option.archiver.intel.fortran.aroptions"
-            category="intel.fortran.archiver.category.cmdline"
-            valueType="string"
-            id="intel.fortran.archiver.category.cmdline.options">
-         </option>
-      </tool>
-
-<!--  End Intel Fortran Archiver -->
-
-<!--  Start Intel Fortran compiler -->
-      <tool
-         id="photran.managedbuild.tool.intel.fortran.compiler"
-         isAbstract="true"
-         command="ifort"
-         commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}"
-         natureFilter="both"
-         outputFlag="-o"
-         errorParsers="org.eclipse.photran.core.intel.IntelCompilerErrorParser">
-         <supportedProperties>
-            <property id="org.eclipse.cdt.build.core.buildType">
-	            <value id="org.eclipse.cdt.build.core.buildType.debug"/>
-    	        <value id="org.eclipse.cdt.build.core.buildType.release"/>
-            </property>
-         </supportedProperties>
-         <envVarBuildPath 
-            pathType="buildpathInclude"
-            variableList="CPATH,C_INCLUDE_PATH">
-         </envVarBuildPath>
-
-<!-- General -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.General"
-            id="intel.linux.fortran.compiler.category.general">
-         </optionCategory>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.general.banner"
-            category="intel.linux.fortran.compiler.category.general"
-            command="-V"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.general.banner">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.general.debug"
-            category="intel.linux.fortran.compiler.category.general"
-            command="-g"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.general.debug">
-            <enablement 
-              	type="CONTAINER_ATTRIBUTE" 
-              	attribute="defaultValue" 
-              	value="false"
-              	extensionAdjustment="false">
-			  	<checkBuildProperty 
-			  		property="org.eclipse.cdt.build.core.buildType"
-			  		value="org.eclipse.cdt.build.core.buildType.release"/>
-			  </enablement>
-              <enablement 
-              	type="CONTAINER_ATTRIBUTE" 
-              	attribute="defaultValue" 
-              	value="true"
-              	extensionAdjustment="false">
-			  	<checkBuildProperty 
-			  		property="org.eclipse.cdt.build.core.buildType"
-			  		value="org.eclipse.cdt.build.core.buildType.debug"/>
-			</enablement>
-         </option>
-         <option
-            name="%Option.intel.fortran.general.optlvl"
-            category="intel.linux.fortran.compiler.category.general"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.general.optimization">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.general.optlvl.disable"
-               command="-O0"
-               id="general.opt.none">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.general.optlvl.minsize"
-               command="-O1"
-               id="general.opt.size">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.general.optlvl.maxspeed"
-               isDefault="true"
-               command=""
-               id="general.opt.speed">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.general.optlvl.speedhlo"
-               command="-O3"
-               id="general.opt.speedHLO">
-            </enumeratedOptionValue>
-            <enablement 
-              	type="CONTAINER_ATTRIBUTE" 
-              	attribute="defaultValue" 
-              	value="general.opt.speed"
-              	extensionAdjustment="false">
-			  	<checkBuildProperty 
-			  		property="org.eclipse.cdt.build.core.buildType"
-			  		value="org.eclipse.cdt.build.core.buildType.release"/>
-			  </enablement>
-              <enablement 
-              	type="CONTAINER_ATTRIBUTE" 
-              	attribute="defaultValue" 
-              	value="general.opt.none"
-              	extensionAdjustment="false">
-			  	<checkBuildProperty 
-			  		property="org.eclipse.cdt.build.core.buildType"
-			  		value="org.eclipse.cdt.build.core.buildType.debug"/>
-			</enablement>
-         </option>
-         <option
-            name="%Option.intel.fortran.general.warnlvl"
-            category="intel.linux.fortran.compiler.category.general"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.general.warninglevel">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.general.warnlvl.none"
-               command="-warn none"
-               id="general.warninglevel.none">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.general.warnlvl.all"
-               command="-warn all"
-               id="general.warninglevel.all">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.general.warnlvl.custom"
-               isDefault="true"
-               command=""
-               id="general.warninglevel.custom">
-            </enumeratedOptionValue>
-         </option>
-
-<!-- Optimization -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Optimize"
-            id="intel.linux.fortran.compiler.category.optimization">
-         </optionCategory>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.optimize.buffio"
-            category="intel.linux.fortran.compiler.category.optimization"
-            command="-assume buffered_io"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.optimization.buffio">
-         </option>
-         <option
-            name="%Option.intel.fortran.optimize.inline"
-            category="intel.linux.fortran.compiler.category.optimization"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.optimization.inline.expand">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.inline.default"
-               isDefault="true"
-               command=""
-               id="inl.exp.default">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.inline.disable"
-               command="-inline-level=0"
-               id="inl.exp.none">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.inline.inlinedir"
-               command="-inline-level=1"
-               id="inl.exp.inlinedir">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.inline.anysuitable"
-               command="-inline-level=2"
-               id="inl.exp.anysuitable">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            defaultValue=""
-            name="%Option.intel.fortran.optimize.unrollcnt"
-            category="intel.linux.fortran.compiler.category.optimization"
-            command="-unroll"
-            valueType="string"
-            id="intel.linux.fortran.compiler.optimization.unrollcnt ">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.optimize.parallel"
-            category="intel.linux.fortran.compiler.category.optimization"
-            command="-parallel"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.optimization.parallel">
-         </option>
-         <option
-            defaultValue=""
-            name="%Option.intel.fortran.optimize.parthreshold"
-            category="intel.linux.fortran.compiler.category.optimization"
-            command="-par-threshold"
-            valueType="string"
-            id="intel.linux.fortran.compiler.optimization.parthreshold ">
-         </option>
-
-<!-- Debugging -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Debug"
-            id="intel.linux.fortran.compiler.category.debug">
-         </optionCategory>
-         <option
-            name="%Option.intel.fortran.debug.infoparam"
-            category="intel.linux.fortran.compiler.category.debug"
-            id="intel.linux.fortran.compiler.option.debug.infoparam"
-            valueType="enumerated">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.debug.infoparam.none"
-               isDefault="true"
-               command=""
-               id="intel.debug.infoparam.none">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.debug.infoparam.used"
-               command="-debug-parameters used"
-               id="intel.debug.infoparam.used">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.debug.infoparam.all"
-               command="-debug-parameters all"
-               id="intel.debug.infoparam.all">
-            </enumeratedOptionValue>
-         </option>
-
-<!-- Preprocessor -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Preproc"
-            id="intel.linux.fortran.compiler.category.preprocessor">
-         </optionCategory>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.preprocessor.fpp"
-            category="intel.linux.fortran.compiler.category.preprocessor"
-            command="-fpp"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.preprocessor.fpp">
-         </option>
-         <option
-            browseType="directory"
-            category="intel.linux.fortran.compiler.category.preprocessor"
-            command="-I"
-            id="intel.linux.fortran.compiler.preprocessor.includedirectories"
-            name="%Option.intel.fortran.preprocessor.additionalidirs"
-            valueType="includePath">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.preprocessor.ignoreinclude"
-            category="intel.linux.fortran.compiler.category.preprocessor"
-            command="-X"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.preprocessor.ignoreinclude">
-         </option>
-         <option
-            defaultValue="true"
-            name="%Option.intel.fortran.preprocessor.defaultincludepath"
-            category="intel.linux.fortran.compiler.category.preprocessor"
-            command=""
-            commandFalse="-assume nosource-include"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.preprocessor.defaultincludepath">
-         </option>
-         <option
-            name="%Option.intel.fortran.preprocessor.defsym"
-            category="intel.linux.fortran.compiler.category.preprocessor"
-            command="-D"
-            valueType="definedSymbols"
-            id="intel.linux.fortran.compiler.preprocessor.defsym">
-         </option>
-         <option
-            name="%Option.intel.fortran.preprocessor.undefsym"
-            category="intel.linux.fortran.compiler.category.preprocessor"
-            command="-U"
-            valueType="stringList"
-            id="intel.linux.fortran.compiler.preprocessor.undefsym">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.preprocessor.defstofpponly"
-            category="intel.linux.fortran.compiler.category.preprocessor"
-            command="-noD"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.preprocessor.defstofpponly">
-         </option>
-         <option
-            defaultValue="true"
-            name="%Option.intel.fortran.preprocessor.openmpcondcomp"
-            category="intel.linux.fortran.compiler.category.preprocessor"
-            command=""
-            commandFalse="-assume nocc-omp"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.preprocessor.openmpcondcomp">
-         </option>
-
-
-<!-- Code Generation -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Codegen"
-            id="intel.linux.fortran.compiler.category.codegen">
-         </optionCategory>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.codegen.recursive"
-            category="intel.linux.fortran.compiler.category.codegen"
-            command="-recursive"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.codegen.recursive">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.codegen.fpic"
-            category="intel.linux.fortran.compiler.category.codegen"
-            command="-fpic"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.codegen.fpic">
-            <enablement 
-              	type="CONTAINER_ATTRIBUTE" 
-              	attribute="defaultValue" 
-              	value="true"
-              	extensionAdjustment="false">
-			  	<checkBuildProperty 
-			  		property="org.eclipse.cdt.build.core.buildArtefactType"
-			  		value="org.eclipse.cdt.build.core.buildArtefactType.sharedLib"/>
-			</enablement>
-         </option>
-         <option
-            name="%Option.intel.fortran.codegen.genreent"
-            category="intel.linux.fortran.compiler.category.codegen"
-            id="intel.linux.fortran.compiler.codegen.genreent"
-            valueType="enumerated">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.genreent.none"
-               isDefault="true"
-               command=""
-               id="intel.genreent.none">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.genreent.async"
-               command="-reentrancy async"
-               id="intel.genreent.async">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.genreent.threaded"
-               command="-reentrancy threaded"
-               id="intel.genreent.threaded">
-            </enumeratedOptionValue>
-         </option>
-
-<!-- Language -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Lang"
-            id="intel.linux.fortran.compiler.category.lang">
-         </optionCategory>
-         <option
-            defaultValue="true"
-            name="%Option.intel.fortran.lang.altparam"
-            category="intel.linux.fortran.compiler.category.lang"
-            command=""
-            commandFalse="-noaltparam"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.lang.altparam">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.lang.f66"
-            category="intel.linux.fortran.compiler.category.lang"
-            command="-f66"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.lang.f66">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.lang.dlines"
-            category="intel.linux.fortran.compiler.category.lang"
-            command="-d-lines"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.lang.dlines">
-         </option>
-         <option
-            name="%Option.intel.fortran.lang.srcfmt"
-            category="intel.linux.fortran.compiler.category.lang"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.lang.srcfmt">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.lang.srcfmt.fileext"
-               command=""
-               isDefault="true"
-               id="intel.lang.fileext">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.lang.srcfmt.free"
-               command="-free"
-               id="intel.lang.free">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.lang.srcfmt.fixed"
-               command="-fixed"
-               id="intel.lang.fixed">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.lang.fixedlen"
-            category="intel.linux.fortran.compiler.category.lang"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.lang.fixedlen">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.lang.fixedlen.72"
-               command=""
-               isDefault="true"
-               id="intel.lang.72">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.lang.fixedlen.80"
-               command="-extend-source 80"
-               id="intel.lang.80">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.lang.fixedlen.132"
-               command="-extend-source 132"
-               id="intel.lang.132">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.lang.pad"
-            category="intel.linux.fortran.compiler.category.lang"
-            command="-pad-source"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.lang.pad">
-         </option>
-         <option
-            name="%Option.intel.fortran.lang.openmp"
-            category="intel.linux.fortran.compiler.category.lang"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.lang.openmp">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.lang.openmp.disable"
-               command=""
-               isDefault="true"
-               id="intel.lang.mpdisable">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.lang.openmp.genpar"
-               command="-openmp"
-               id="intel.lang.mpgenpar">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.lang.openmp.genseq"
-               command="-openmp-stubs"
-               id="intel.lang.mpgenseq">
-            </enumeratedOptionValue>
-         </option>
-
-<!-- Compatibility -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Compat"
-            id="intel.linux.fortran.compiler.category.compat">
-         </optionCategory>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.compat.vms"
-            category="intel.linux.fortran.compiler.category.compat"
-            command="-vms"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.compat.vms">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.compat.f77rtl"
-            category="intel.linux.fortran.compiler.category.compat"
-            command="-f77rtl"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.compat.f77rtl">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.compat.f77int"
-            category="intel.linux.fortran.compiler.category.compat"
-            command="-intconstant"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.compat.f77int">
-         </option>
-         <option
-            defaultValue="true"
-            name="%Option.intel.fortran.compat.bscc"
-            category="intel.linux.fortran.compiler.category.compat"
-            command=""
-            commandFalse="-assume nobscc"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.compat.bscc">
-         </option>
-         <option
-            name="%Option.intel.fortran.compat.unfmtfiles"
-            category="intel.linux.fortran.compiler.category.compat"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.compat.unfmtfiles">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.compat.unfmtfiles.none"
-               command=""
-               isDefault="true"
-               id="intel.compat.unfmtfiles.none">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.compat.unfmtfiles.bigendian"
-               command="-convert big_endian"
-               id="intel.compat.unfmtfiles.bigendian">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.compat.unfmtfiles.cray"
-               command="-convert cray"
-               id="intel.compat.unfmtfiles.cray">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.compat.unfmtfiles.ibm"
-               command="-convert ibm"
-               id="intel.compat.unfmtfiles.ibm">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.compat.unfmtfiles.littleendian"
-               command="-convert little_endian"
-               id="intel.compat.unfmtfiles.littleendian">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.compat.unfmtfiles.native"
-               command="-convert native"
-               id="intel.compat.unfmtfiles.native">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.compat.unfmtfiles.vaxg"
-               command="-convert vaxg"
-               id="intel.compat.unfmtfiles.vaxg">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.compat.unfmtfiles.vaxd"
-               command="-convert vaxd"
-               id="intel.compat.unfmtfiles.vaxd">
-            </enumeratedOptionValue>
-         </option>
-
-<!-- Compilation Diagnostics -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Diags"
-            id="intel.linux.fortran.compiler.category.diags">
-         </optionCategory>
-         <option
-            defaultValue="False"
-            name="%Option.intel.fortran.diags.werror"
-            category="intel.linux.fortran.compiler.category.diags"
-            command="-warn errors"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.diags.werror">
-         </option>
-         <option
-            defaultValue="False"
-            name="%Option.intel.fortran.diags.stderrors"
-            category="intel.linux.fortran.compiler.category.diags"
-            command="-warn stderrors"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.diags.stderrors">
-         </option>
-         <option
-            defaultValue="False"
-            name="%Option.intel.fortran.diags.wdecl"
-            category="intel.linux.fortran.compiler.category.diags"
-            command="-warn declarations"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.diags.wdecl">
-         </option>
-         <option
-            defaultValue="False"
-            name="%Option.intel.fortran.diags.wunused"
-            category="intel.linux.fortran.compiler.category.diags"
-            command="-warn unused"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.diags.wunused">
-         </option>
-         <option
-            defaultValue="False"
-            name="%Option.intel.fortran.diags.wignoreloc"
-            category="intel.linux.fortran.compiler.category.diags"
-            command="-warn ignore-loc"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.diags.wignoreloc">
-         </option>
-         <option
-            defaultValue="False"
-            name="%Option.intel.fortran.diags.wtruncsrc"
-            category="intel.linux.fortran.compiler.category.diags"
-            command="-warn truncated_source"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.diags.wtruncsrc">
-         </option>
-         <option
-            defaultValue="True"
-            name="%Option.intel.fortran.diags.walign"
-            category="intel.linux.fortran.compiler.category.diags"
-            command=""
-            commandFalse="-warn noalignments"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.diags.walign">
-         </option>
-         <option
-            defaultValue="False"
-            name="%Option.intel.fortran.diags.wuncalled"
-            category="intel.linux.fortran.compiler.category.diags"
-            command="-warn uncalled"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.diags.wuncalled">
-         </option>
-         <option
-            defaultValue="False"
-            name="%Option.intel.fortran.diags.wusage"
-            category="intel.linux.fortran.compiler.category.diags"
-            command="-warn nousage"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.diags.wusage">
-         </option>
-         <option
-            defaultValue="False"
-            name="%Option.intel.fortran.diags.winterfaces"
-            category="intel.linux.fortran.compiler.category.diags"
-            command="-warn interfaces"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.diags.winterfaces">
-         </option>
-         <option
-            defaultValue=""
-            name="%Option.intel.fortran.diags.errlimit"
-            category="intel.linux.fortran.compiler.category.diags"
-            command="-error-limit ${VALUE}"
-            valueType="string"
-            id="intel.linux.fortran.compiler.diags.errlimit">
-         </option>
-         <option
-            name="%Option.intel.fortran.diags.standards"
-            category="intel.linux.fortran.compiler.category.diags"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.diags.standards">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.std.none"
-               isDefault="true"
-               command=""
-               id="diags.std.none">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.std.f90"
-               command="-stand f90"
-               id="diags.std.f90">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.std.f95"
-               command="-stand f95"
-               id="diags.std.f95">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.diags.openmpreport"
-            category="intel.linux.fortran.compiler.category.diags"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.diags.OpenMP">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.openmp.none"
-               isDefault="true"
-               command=""
-               id="diags.openmp.none">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.openmp.0"
-               command="-openmp-report0"
-               id="diags.openmp.0">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.openmp.1"
-               command="-openmp-report1"
-               id="diags.openmp.1">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.openmp.2"
-               command="-openmp-report2"
-               id="diags.openmp.2">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.diags.parreport"
-            category="intel.linux.fortran.compiler.category.diags"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.diags.autoparallelizer">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.parnone"
-               isDefault="true"
-               command=""
-               id="diags.autoparallelizer.none">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.par.0"
-               command="-par-report0"
-               id="diags.autoparallelizer.0">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.par.1"
-               command="-par-report1"
-               id="diags.autoparallelizer.1">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.par.2"
-               command="-par-report2"
-               id="diags.autoparallelizer.2">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.par.3"
-               command="-par-report3"
-               id="diags.autoparallelizer.3">
-            </enumeratedOptionValue>
-         </option>
-
-<!-- Data -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Data"
-            id="intel.linux.fortran.compiler.category.data">
-         </optionCategory>
-
-         <option
-            name="%Option.intel.fortran.data.zero"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="boolean"
-            defaultValue="False"
-            command="-zero"
-            commandFalse=""
-            id="intel.linux.fortran.compiler.data.zero">
-         </option>
-         <option
-            name="%Option.intel.fortran.data.seq"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="boolean"
-            defaultValue="False"
-            command="-align sequence"
-            commandFalse=""
-            id="intel.linux.fortran.compiler.data.seq">
-         </option>
-         <option
-            name="%Option.intel.fortran.data.dummy"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="boolean"
-            defaultValue="False"
-            command="-assume dummy-aliases"
-            commandFalse=""
-            id="intel.linux.fortran.compiler.data.dummy">
-         </option>
-         <option
-            name="%Option.intel.fortran.data.safecray"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="boolean"
-            defaultValue="False"
-            command="-safe-cray-ptr"
-            commandFalse=""
-            id="intel.linux.fortran.compiler.data.safecray">
-         </option>
-         <option
-            name="%Option.intel.fortran.data.protectconst"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="boolean"
-            defaultValue="False"
-            command="-assume noprotect-constants"
-            commandFalse=""
-            id="intel.linux.fortran.compiler.data.protectconst">
-         </option>
-         <option
-            name="%Option.intel.fortran.data.byterecl"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="boolean"
-            defaultValue="False"
-            command="-assume byterecl"
-            commandFalse=""
-            id="intel.linux.fortran.compiler.data.byterecl">
-         </option>
-         <option
-            name="%Option.intel.fortran.data.ftrapuv"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="boolean"
-            defaultValue="False"
-            command="-ftrapuv"
-            commandFalse=""
-            id="intel.linux.fortran.compiler.data.ftrapuv">
-         </option>
-         <option
-            name="%Option.intel.fortran.data.dyncom"
-            category="intel.linux.fortran.compiler.category.data"
-            defaultValue=""
-            command="-dyncom &quot;${VALUE}&quot;"
-            valueType="string"
-            id="intel.linux.fortran.compiler.data.dyncom">
-         </option>
-
-         <option
-            name="%Option.intel.fortran.data.defintkind"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.data.defintkind">
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.defintkind.2"
-               	command="-integer-size 16"
-               	id="intel.data.int.2">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.defintkind.4"
-               	command=""
-               	isDefault="true"
-               	id="intel.data.int.4">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.defintkind.8"
-               	command="-integer-size 64"
-               	id="intel.data.int.8">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.data.defrealkind"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.data.defrealkind">
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.defrealkind.4"
-               	command=""
-               	isDefault="true"
-               	id="intel.data.real.4">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.defrealkind.8"
-               	command="-real-size 64"
-               	id="intel.data.real.8">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.defrealkind.16"
-               	command="-real-size 128"
-               	id="intel.data.real.16">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.data.defdpkind"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.data.defdpkind">
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.defdpkind.8"
-               	command=""
-               	isDefault="true"
-               	id="intel.data.dp.8">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.defdpkind.16"
-               	command="-double-size 128"
-               	id="intel.data.dp.16">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.data.locvarstg"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.data.locvarstg">
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.locvarstg.deflocstg"
-               	command=""
-               	isDefault="true"
-               	id="intel.data.lvs.def">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.locvarstg.save"
-               	command="-save"
-               	id="intel.data.lvs.save">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-              	name="%Option.intel.fortran.data.locvarstg.autoscalar"
-              	command="-auto-scalar"
-              	id="intel.data.lvs.autoscalar">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.locvarstg.auto"
-               	command="-auto"
-               	id="intel.data.lvs.auto">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.data.structalign"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.data.structalign">
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.structalign.default"
-               	isDefault="true"
-               	command=""
-               	id="intel.data.structalign.default">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.structalign.1"
-               	command="-align rec1byte"
-               	id="intel.data.structalign.1">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.structalign.2"
-               	command="-align rec2byte"
-               	id="intel.data.structalign.2">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.structalign.4"
-               	command="-align rec4byte"
-               	id="intel.data.structalign.4">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.structalign.8"
-               	command="-align rec8byte"
-               	id="intel.data.structalign.8">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.structalign.16"
-               	command=""
-               	id="intel.data.structalign.16">
-            </enumeratedOptionValue>
-         </option>
-
-         <option
-            name="%Option.intel.fortran.data.commonalign"
-            category="intel.linux.fortran.compiler.category.data"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.data.commonalign">
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.commonalign.default"
-               	isDefault="true"
-               	command=""
-               	id="intel.data.commonalign.default">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.commonalign.4"
-               	command="-align commons"
-               	id="intel.data.commonalign.4">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               	name="%Option.intel.fortran.data.commonalign.8"
-               	command="-align dcommons"
-               	id="intel.data.commonalign.8">
-            </enumeratedOptionValue>
-         </option>
-
-<!-- Floating Point -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Fltpt"
-            id="intel.linux.fortran.compiler.category.fp">
-         </optionCategory>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.fp.fpexcept"
-            category="intel.linux.fortran.compiler.category.fp"
-            command="-fp-model except"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.fp.fpexcept">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.fp.fltconsistency"
-            category="intel.linux.fortran.compiler.category.fp"
-            command="-fltconsistency"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.fp.fltconsistency">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.fp.ftz"
-            category="intel.linux.fortran.compiler.category.fp"
-            command="-ftz"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.fp.ftz">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.fp.fpconstant"
-            category="intel.linux.fortran.compiler.category.fp"
-            command="-fpconstant"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.fp.fpconstant">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.fp.minus0"
-            category="intel.linux.fortran.compiler.category.fp"
-            command="-assume minus0"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.fp.minus0">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.fp.cmplxlimited"
-            category="intel.linux.fortran.compiler.category.fp"
-            command="-complex-limited-range"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.fp.cmplxlimited">
-         </option>
-         <option
-            name="%Option.intel.fortran.fp.fpe"
-            category="intel.linux.fortran.compiler.category.fp"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.fp.fpe">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.fp.fpe.0"
-               command="-fpe0"
-               id="intel.fp.fpe.0">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.fp.fpe.1"
-               command="-fpe1"
-               id="intel.fp.fpe.1">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.fp.fpe.3"
-               isDefault="true"
-               command=""
-               id="intel.fp.fpe.3">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.fp.fpmodel"
-            category="intel.linux.fortran.compiler.category.fp"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.fp.fpmodel">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.fp.fpmodel.precise"
-               command="-fp-model precise"
-               id="fpmodel.precise">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.fp.fpmodel.fast"
-               command=""
-               isDefault="true"
-               id="fpmodel.fast">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.fp.fpmodel.fast.2"
-               command="-fp-model fast=2"
-               id="fpmodel.fast.2">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.fp.fpmodel.strict"
-               command="-fp-model strict"
-               id="fpmodel.strict">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.fp.fpmodel.source"
-               command="-fp-model source"
-               id="fpmodel.source">
-            </enumeratedOptionValue>
-         </option>
-
-<!-- External Procedures -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Extprocs"
-            id="intel.linux.fortran.compiler.category.extprocs">
-         </optionCategory>
-         <option
-            defaultValue="true"
-            name="%Option.intel.fortran.extprocs.underscore"
-            category="intel.linux.fortran.compiler.category.extprocs"
-            command=""
-            commandFalse="-assume nounderscore"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.extprocs.underscore">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.extprocs.interfaces"
-            category="intel.linux.fortran.compiler.category.extprocs"
-            command="-gen-interfaces"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.extprocs.interfaces">
-         </option>
-         <option
-            name="%Option.intel.fortran.extprocs.namecase"
-            category="intel.linux.fortran.compiler.category.extprocs"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.extprocs.namecase">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.extprocs.namecase.upper"
-               command="-names uppercase"
-               id="intel.extprocs.namecase.upper">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.extprocs.namecase.lower"
-               isDefault="true"
-               command=""
-               id="intel.extprocs.namecase.lower">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.extprocs.namecase.asis"
-               command="-names as-is"
-               id="intel.extprocs.namecase.asis">
-            </enumeratedOptionValue>
-         </option>
-
-<!-- Output Files -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Outfiles"
-            id="intel.linux.fortran.compiler.category.outfiles">
-         </optionCategory>
-         <option
-            name="%Option.intel.fortran.outfiles.moddir"
-            browseType="directory"
-            category="intel.linux.fortran.compiler.category.outfiles"
-            command="-module ${VALUE}"
-            id="intel.linux.fortran.compiler.outfiles.moddir"
-            valueType="string">
-         </option>
-
-<!-- Runtime -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Runtime"
-            id="intel.linux.fortran.compiler.category.runtime">
-         </optionCategory>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.runtime.traceback"
-            category="intel.linux.fortran.compiler.category.runtime"
-            command="-traceback"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.runtime.traceback">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.runtime.chkbnds"
-            category="intel.linux.fortran.compiler.category.runtime"
-            command="-check bounds"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.runtime.chkbnds">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.runtime.chkoutcon"
-            category="intel.linux.fortran.compiler.category.runtime"
-            command="-check output-conversion"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.runtime.chkoutcon">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.runtime.chkfmt"
-            category="intel.linux.fortran.compiler.category.runtime"
-            command="-check format"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.runtime.chkfmt">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.runtime.chkargtmp"
-            category="intel.linux.fortran.compiler.category.runtime"
-            command="-check arg-temp-created"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.runtime.chkargtmp">
-         </option>
-         <option
-            name="%Option.intel.fortran.runtime.ccdefault"
-            category="intel.linux.fortran.compiler.category.runtime"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.runtime.ccdefault">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.runtime.ccdefault.default"
-               isDefault="true"
-               command=""
-               id="intel.runtime.ccdefault.default">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.runtime.ccdefault.fortran"
-               command="-ccdefault fortran"
-               id="intel.runtime.ccdefault.fortran">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.runtime.ccdefault.list"
-               command="-ccdefault list"
-               id="intel.runtime.ccdefault.list">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.runtime.ccdefault.none"
-               command="-ccdefault none"
-               id="intel.runtime.ccdefault.none">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.runtime.rterrorchk"
-            category="intel.linux.fortran.compiler.category.runtime"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.runtime.rterrorchk">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.runtime.rterrorchk.none"
-               command="-check none"
-               id="intel.runtime.rterrorchk.none">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.runtime.rterrorchk.all"
-               command="-check all"
-               id="intel.runtime.rterrorchk.all">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.runtime.rterrorchk.custom"
-               isDefault="true"
-               command=""
-               id="intel.runtime.rterrorchk.custom">
-            </enumeratedOptionValue>
-         </option>
-
-<!-- Command Line -->
-
-         <optionCategory
-            owner="photran.managedbuild.tool.intel.fortran.compiler"
-            name="%OptionCategory.Cmdline"
-            id="intel.linux.fortran.compiler.category.cmdline">
-         </optionCategory>
-         <option
-            name="%Option.intel.fortran.cmdline.addlopts"
-            category="intel.linux.fortran.compiler.category.cmdline"
-            defaultValue="-c"
-            valueType="string"
-            id="intel.linux.fortran.compiler.cmdline.addlopts">
-         </option>
-         <!--inputType
-            sources="`,f95,f03,f08,F90,F95,F03,F08,f,for,ftn,fix,f77,fpp,F,FOR,FTN,FIX,FPP,i,i90"
-            dependencyExtensions="f90,f95,f03,f08,F90,F95,F03,F08,f,for,ftn,fix,f77,fpp,F,FOR,FTN,FIX,FPP,i,i90"
-            dependencyCalculator="org.eclipse.photran.managedbuilder.core.makegen.DefaultFortranDependencyCalculator"
-            id="photran.managedbuild.tool.intel.fortran.compiler.input">
-         </inputType-->
-         <inputType
-            languageId="org.eclipse.photran.cdtinterface.fortran"
-            sourceContentType="org.eclipse.photran.core.fortranSource"
-            dependencyContentType="org.eclipse.photran.core.fortranSource"
-            dependencyCalculator="org.eclipse.photran.managedbuilder.core.makegen.DefaultFortranDependencyCalculator"
-            id="photran.managedbuild.tool.intel.fortran.compiler.input">
-         </inputType>
-         <outputType
-            outputs="o"
-            buildVariable="OBJS"
-            id="photran.managedbuild.tool.intel.fortran.compiler.output">
-         </outputType>
-      </tool>
-<!-- End Intel Fortran compiler common definitions -->
-
-<!-- Begin Intel Fortran compiler x86 specific definitions -->
-      <tool  
-         id="photran.managedbuild.tool.intel.fortran.compiler.x86"
-         superClass="photran.managedbuild.tool.intel.fortran.compiler"
-         name="%ToolName.compiler.intel.fortran.x86">
-         <option
-            name="%Option.intel.fortran.optimize.fp"
-            category="intel.linux.fortran.compiler.category.optimization"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.optimization.fp.x86"
-            command="-fno-omit-frame-pointer"
-            commandFalse=""
-            defaultValue="false">
-         </option>
-         <option
-            defaultValue="true"
-            name="%Option.intel.fortran.optimize.opt_prefetch"
-            category="intel.linux.fortran.compiler.category.optimization"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.optimization.opt_prefetch.x86">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.opt_prefetch.0"
-               isDefault="true"
-               command=""
-               id="intel.opt.opt_prefetch.0.x86">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.opt_prefetch.1"
-               command="-opt-prefetch=1"
-               id="intel.opt.opt_prefetch.1.x86">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.opt_prefetch.2"
-               command="-opt-prefetch=2"
-               id="intel.opt.opt_prefetch.2.x86">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.opt_prefetch.3"
-               command="-opt-prefetch=3"
-               id="intel.opt.opt_prefetch.3.x86">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.optimize.forintelprocessor"
-            category="intel.linux.fortran.compiler.category.optimization"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.optimization.forintelprocessor.x86">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.forintelprocessor.blended"
-               command="-mtune pentium"
-               id="intel.opt.gb">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.forintelprocessor.g5"
-               command="-mtune pentium-mmx"
-               id="intel.opt.g5">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.forintelprocessor.g6"
-               command="-mtune pentiumpro"
-               id="intel.opt.g6">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.forintelprocessor.g7"
-               isDefault="true"
-               command=""
-               id="intel.opt.g7">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.codegen.useintelextensions"
-            category="intel.linux.fortran.compiler.category.codegen"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.codegen.useintelextensions">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.useintelextensions.none"
-               command=""
-               isDefault="true"
-               id="intel.cg.usenone">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.useintelextensions.axSSE2"
-               command="-axSSE2"
-               id="intel.cg.useSSE2">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.useintelextensions.axSSE3"
-               command="-axSSE3"
-               id="intel.cg.useSSE3">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.useintelextensions.axSSSE3"
-               command="-axSSSE3"
-               id="intel.cg.useSSSE3">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.useintelextensions.axSSE41"
-               command="-axSSE4.1"
-               id="intel.cg.useSSE41">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.codegen.reqintelextensions"
-            category="intel.linux.fortran.compiler.category.codegen"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.codegen.reqintelextensions">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.reqintelextensions.none"
-               command=""
-               isDefault="true"
-               id="intel.cg.reqnone">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.reqintelextensions.xSSE2"
-               command="-xSSE2"
-               id="intel.cg.reqSSE2">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.reqintelextensions.xSSE3"
-               command="-xSSE3"
-               id="intel.cg.reqSSE3">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.reqintelextensions.xSSE3_ATOM"
-               command="-xSSE3_ATOM"
-               id="intel.cg.reqSSE3_ATOM">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.reqintelextensions.xSSSE3"
-               command="-xSSSE3"
-               id="intel.cg.reqSSSE3">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.reqintelextensions.xSSE41"
-               command="-xSSE4.1"
-               id="intel.cg.reqSSE41">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.diags.vecreport"
-            category="intel.linux.fortran.compiler.category.diags"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.diags.vectorizer">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.none"
-               isDefault="true"
-               command=""
-               id="diags.vectorizer.none">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.0"
-               command="-vec-report0"
-               id="diags.vectorizer.0">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.1"
-               command="-vec-report1"
-               id="diags.vectorizer.1">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.2"
-               command="-vec-report2"
-               id="diags.vectorizer.2">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.3"
-               command="-vec-report3"
-               id="diags.vectorizer.3">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.4"
-               command="-vec-report4"
-               id="diags.vectorizer.4">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.5"
-               command="-vec-report5"
-               id="diags.vectorizer.5">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            defaultValue="true"
-            name="%Option.intel.fortran.fp.fpport"
-            category="intel.linux.fortran.compiler.category.fp"
-            command=""
-            commandFalse="-no-fp-port"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.fp.fpport">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.fp.stack"
-            category="intel.linux.fortran.compiler.category.fp"
-            command="-fp-stack-check"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.fp.stack">
-         </option>
-      </tool>
-<!-- End Intel Fortran compiler x86 specific definitions -->
-
-<!-- Begin Intel Fortran compiler x86_64 specific definitions -->
-      <tool  
-         id="photran.managedbuild.tool.intel.fortran.compiler.x86_64"
-         superClass="photran.managedbuild.tool.intel.fortran.compiler"
-         name="%ToolName.compiler.intel.fortran.x86_64">
-         <option
-            name="%Option.intel.fortran.optimize.fp"
-            category="intel.linux.fortran.compiler.category.optimization"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.optimization.fp.x86_64"
-            command="-fno-omit-frame-pointer"
-            commandFalse=""
-            defaultValue="false">
-         </option>
-         <option
-            defaultValue="true"
-            name="%Option.intel.fortran.optimize.opt_prefetch"
-            category="intel.linux.fortran.compiler.category.optimization"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.optimization.opt_prefetch.x86_64">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.opt_prefetch.0"
-               isDefault="true"
-               command=""
-               id="intel.opt.opt_prefetch.0.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.opt_prefetch.1"
-               command="-opt-prefetch=1"
-               id="intel.opt.opt_prefetch.1.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.opt_prefetch.2"
-               command="-opt-prefetch=2"
-               id="intel.opt.opt_prefetch.2.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.opt_prefetch.3"
-               command="-opt-prefetch=3"
-               id="intel.opt.opt_prefetch.3.x86_64">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.codegen.useintelextensions"
-            category="intel.linux.fortran.compiler.category.codegen"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.codegen.useintelextensions.x86_64">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.useintelextensions.none"
-               command=""
-               isDefault="true"
-               id="intel.cg.usenone.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.useintelextensions.axSSE3"
-               command="-axSSE3"
-               id="intel.cg.useSSE3.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.useintelextensions.axSSSE3"
-               command="-axSSSE3"
-               id="intel.cg.useSSSE3.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.useintelextensions.axSSE41"
-               command="-axSSE4.1"
-               id="intel.cg.useSSE41.x86_64">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.codegen.reqintelextensions"
-            category="intel.linux.fortran.compiler.category.codegen"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.codegen.reqintelextensions.x86_64">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.reqintelextensions.none"
-               command=""
-               isDefault="true"
-               id="intel.cg.reqnone.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.reqintelextensions.xSSE3"
-               command="-xSSE3"
-               id="intel.cg.reqSSE3.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.reqintelextensions.xSSE3_ATOM"
-               command="-xSSE3_ATOM"
-               id="intel.cg.reqSSE3_ATOM.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.reqintelextensions.xSSSE3"
-               command="-xSSSE3"
-               id="intel.cg.reqSSSE3.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.codegen.reqintelextensions.xSSE41"
-               command="-xSSE4.1"
-               id="intel.cg.reqSSE41.x86_64">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.optimize.forintelprocessor"
-            category="intel.linux.fortran.compiler.category.optimization"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.optimization.forintelprocessor.x86_64">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.forintelprocessor.blended"
-               command="-mtune pentium"
-               id="intel.opt.gb.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.forintelprocessor.g5"
-               command="-mtune pentium-mmx"
-               id="intel.opt.g5.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.forintelprocessor.g6"
-               command="-mtune pentiumpro"
-               id="intel.opt.g6.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.forintelprocessor.g7"
-               isDefault="true"
-               command=""
-               id="intel.opt.g7.x86_64">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            name="%Option.intel.fortran.diags.vecreport"
-            category="intel.linux.fortran.compiler.category.diags"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.diags.vectorizer.x86_64">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.none"
-               isDefault="true"
-               command=""
-               id="diags.vectorizer.none.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.0"
-               command="-vec-report0"
-               id="diags.vectorizer.0.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.1"
-               command="-vec-report1"
-               id="diags.vectorizer.1.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.2"
-               command="-vec-report2"
-               id="diags.vectorizer.2.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.3"
-               command="-vec-report3"
-               id="diags.vectorizer.3.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.4"
-               command="-vec-report4"
-               id="diags.vectorizer.4.x86_64">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.diags.vec.5"
-               command="-vec-report5"
-               id="diags.vectorizer.5.x86_64">
-            </enumeratedOptionValue>
-         </option>
-         <option
-            defaultValue="true"
-            name="%Option.intel.fortran.fp.fpport"
-            category="intel.linux.fortran.compiler.category.fp"
-            command=""
-            commandFalse="-no-fp-port"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.fp.fpport.x86_64">
-         </option>
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.fp.stack"
-            category="intel.linux.fortran.compiler.category.fp"
-            command="-fp-stack-check"
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.fp.stack.x86_64">
-         </option>
-      </tool>
-<!-- End Intel Fortran compiler x86_64 specific definitions -->
-
-<!-- Begin Intel Fortran compiler ipf specific definitions -->
-      <tool  
-         id="photran.managedbuild.tool.intel.fortran.compiler.ipf"
-         superClass="photran.managedbuild.tool.intel.fortran.compiler"
-         name="%ToolName.compiler.intel.fortran.ipf">
-         <option
-            defaultValue="false"
-            name="%Option.intel.fortran.optimize.ivdep"
-            category="intel.linux.fortran.compiler.category.optimization"
-            command="-ivdep-parallel"
-            commandFalse=""
-            valueType="boolean"
-            id="intel.linux.fortran.compiler.optimization.ivdep">
-         </option>
-         <option
-            name="%Option.intel.fortran.optimize.forintelprocessor"
-            category="intel.linux.fortran.compiler.category.optimization"
-            valueType="enumerated"
-            id="intel.linux.fortran.compiler.optimization.forintelprocessor.ipf">
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.forintelprocessor.g1"
-               command="-tpp1"
-               id="intel.opt.g1">
-            </enumeratedOptionValue>
-            <enumeratedOptionValue
-               name="%Option.intel.fortran.optimize.forintelprocessor.g2"
-               isDefault="true"
-               command=""
-               id="intel.opt.g2">
-            </enumeratedOptionValue>
-         </option>
-      </tool>
-<!-- End Intel Fortran compiler ipf specific definitions -->
-
-<!-- Begin Intel Fortran x86 compiler tool-chain definition -->
-            <toolChain
-               archList="x86"
-               osList="linux"
-               name="%ToolChainName.x86"
-               targetTool="photran.managedbuild.tool.intel.fortran.linker;photran.managedbuild.tool.intel.fortran.archiver"
-               id="photran.managedbuild.toolchain.intel.fortran.x86.base">
-               <!-- add archList="x86,x86_64" when possible-->
-		       <targetPlatform
-		          id="photran.managedbuild.target.intel.platform.x86.base"
-		          name="%PlatformName.x86"
-		          binaryParser="org.eclipse.cdt.core.ELF"
-		          osList="linux"
-                  archList="x86">
-               </targetPlatform>
-               <!-- add archList="x86,x86_64" when possible-->
-               <builder
-                  superClass="cdt.managedbuild.target.gnu.builder"
-                  id="photran.managedbuild.target.intel.builder.x86.base">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.x86.base"
-                  superClass="cdt.managedbuild.tool.gnu.c.compiler">                          
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.x86.base"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86">
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.x86.base"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker">
-                  <enablement 
-              	    type="ALL">
-              	    <not>
-			  	      <checkBuildProperty 
-			  		    property="org.eclipse.cdt.build.core.buildArtefactType"
-			  		    value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
-			  	    </not>
-			      </enablement>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.x86.base"
-                  superClass="cdt.managedbuild.tool.gnu.assembler">
-               </tool>
-			   <tool
-		    		  id="photran.managedbuild.tool.intel.fortran.archiver.x86.base"
-			          superClass="photran.managedbuild.tool.intel.fortran.archiver">
-			      <enablement 
-              	     type="ALL">
-			  	     <checkBuildProperty 
-			  		     property="org.eclipse.cdt.build.core.buildArtefactType"
-			  		     value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
-			      </enablement>
-               </tool>                 
-            </toolChain>
-
-<!-- End Intel Fortran x86 compiler tool-chain definition -->
-
-<!-- Begin Intel Fortran x86_64 compiler tool-chain definition -->
-            <toolChain
-               archList="x86_64"
-               osList="linux"
-               name="%ToolChainName.x86_64"
-               targetTool="photran.managedbuild.tool.intel.fortran.linker;photran.managedbuild.tool.intel.fortran.archiver"
-               id="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
-		       <targetPlatform
-		          id="photran.managedbuild.target.intel.platform.x86_64.base"
-		          name="%PlatformName.x86_64"
-		          binaryParser="org.eclipse.cdt.core.ELF"
-		          osList="linux"
-                  archList="x86_64">
-               </targetPlatform>
-               <builder
-                  superClass="cdt.managedbuild.target.gnu.builder"
-                  id="photran.managedbuild.target.intel.builder.x86_64.base">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.x86_64.base"
-                  superClass="cdt.managedbuild.tool.gnu.c.compiler">                          
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.x86_64.base"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86_64">
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.x86_64.base"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker">
-                  <enablement 
-              	    type="ALL">
-              	    <not>
-			  	      <checkBuildProperty 
-			  		    property="org.eclipse.cdt.build.core.buildArtefactType"
-			  		    value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
-			  	    </not>
-			      </enablement>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.x86_64.base"
-                  superClass="cdt.managedbuild.tool.gnu.assembler">
-               </tool>
-			   <tool
-		    		  id="photran.managedbuild.tool.intel.fortran.archiver.x86_64.base"
-			          superClass="photran.managedbuild.tool.intel.fortran.archiver">
-			      <enablement 
-              	     type="ALL">
-			  	     <checkBuildProperty 
-			  		     property="org.eclipse.cdt.build.core.buildArtefactType"
-			  		     value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
-			      </enablement>
-               </tool>                 
-            </toolChain>
-
-<!-- End Intel Fortran x86_64 compiler tool-chain definition -->
-
-<!-- Begin Intel Fortran IPF compiler tool-chain definition -->
-            <toolChain
-               archList="ia64"
-               osList="linux"
-               name="%ToolChainName.ipf"
-               targetTool="photran.managedbuild.tool.intel.fortran.linker;photran.managedbuild.tool.intel.fortran.archiver"
-               id="photran.managedbuild.toolchain.intel.fortran.ipf.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.ipf.base"
-                  name="%PlatformName.ipf"
-                  binaryParser="org.eclipse.cdt.core.ELF"
-                  osList="linux"
-                  archList="ia64">
-               </targetPlatform>
-               <builder
-                  superClass="cdt.managedbuild.target.gnu.builder"
-                  id="photran.managedbuild.target.intel.builder.ipf.base">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.ipf.base"
-                  superClass="cdt.managedbuild.tool.gnu.c.compiler">                          
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.ipf.base"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.ipf">
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.ipf.base"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker">
-                  <enablement 
-              	    type="ALL">
-              	    <not>
-			  	      <checkBuildProperty 
-			  		    property="org.eclipse.cdt.build.core.buildArtefactType"
-			  		    value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
-			  	    </not>
-			      </enablement>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.ipf.base"
-                  superClass="cdt.managedbuild.tool.gnu.assembler">
-               </tool>  
-			   <tool
-		    		  id="photran.managedbuild.tool.intel.fortran.archiver.ipf.base"
-			          superClass="photran.managedbuild.tool.intel.fortran.archiver">
-			      <enablement 
-              	     type="ALL">
-			  	     <checkBuildProperty 
-			  		     property="org.eclipse.cdt.build.core.buildArtefactType"
-			  		     value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
-			      </enablement>
-               </tool>
-           </toolChain>
-
-<!-- End Intel Fortran IPF compiler tool-chain definition -->
-
-         <configuration
-               id="photran.managedbuild.config.intel.fortran.base"
-               cleanCommand="rm -rf">
-		    <enablement type="CONTAINER_ATTRIBUTE" 
-              	attribute="artifactExtension"
-              	value="so"
-              	extensionAdjustment="false">
-			  	<checkBuildProperty 
-			  		property="org.eclipse.cdt.build.core.buildArtefactType"
-			  		value="org.eclipse.cdt.build.core.buildArtefactType.sharedLib"/>
-			  </enablement>
-		    <enablement type="CONTAINER_ATTRIBUTE" 
-              	attribute="artifactExtension" 
-              	value="a"
-              	extensionAdjustment="false">
-			  	<checkBuildProperty 
-			  		property="org.eclipse.cdt.build.core.buildArtefactType"
-			  		value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
-			  </enablement>
-		</configuration>
-
-<!-- Begin Intel Fortran exe project -->
-      <projectType      
-         isAbstract="false"     
-         isTest="false"
-         name="%TargetName.intel.fortran.exe"
-         id="photran.managedbuild.target.intel.fortran.exe"
-         buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe">
-         <configuration
-            name="%ConfigName.x86.Dbg"
-            id="photran.managedbuild.config.intel.fortran.exe.x86.debug"
-            parent="photran.managedbuild.config.intel.fortran.base"
-	        buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.exe.x86.debug"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
-		       <targetPlatform
-		          id="photran.managedbuild.target.intel.platform.exe.x86.debug"
-		          superClass="photran.managedbuild.target.intel.platform.x86.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86.base"
-                  id="photran.managedbuild.target.intel.builder.exe.x86.debug">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.exe.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.exe.x86.debug.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option   
-                     id="photran.intel.gnu.c.compiler.exe.x86.debug.option.debugging.level"					     
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.exe.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86.base">
-                  <option
-                     id="intel.linux.fortran.compiler.exe.x86.debug.general.optimization"
-                     superClass="intel.linux.fortran.compiler.general.optimization">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.exe.x86.debug.general.debug"
-                     superClass="intel.linux.fortran.compiler.general.debug">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.exe.x86.debug.optimization.inline.expand"
-                     superClass="intel.linux.fortran.compiler.optimization.inline.expand">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.exe.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.x86.base">
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.exe.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-         <configuration
-            name="%ConfigName.x86.Rel"
-            id="photran.managedbuild.config.intel.fortran.exe.x86.release"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.exe.x86.release"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.fortran.exe.x86.release"
-                  superClass="photran.managedbuild.target.intel.platform.x86.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86.base"
-                  id="photran.managedbuild.target.intel.builder.exe.x86.release">
-               </builder> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.exe.x86.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.exe.x86.release.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option
-                     id="photran.intel.gnu.c.compiler.exe.x86.release.option.debugging.level"
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.exe.x86.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86.base">                     
-               </tool>
-
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.exe.x86.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.x86.base">
-               </tool> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.exe.x86.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-
-          <configuration
-            name="%ConfigName.x86_64.Dbg"
-            id="photran.managedbuild.config.intel.fortran.exe.x86_64.debug"
-            parent="photran.managedbuild.config.intel.fortran.base"
-	        buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.exe.x86_64.debug"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
-		       <targetPlatform
-		          id="photran.managedbuild.target.intel.platform.exe.x86_64.debug"
-		          superClass="photran.managedbuild.target.intel.platform.x86_64.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86_64.base"
-                  id="photran.managedbuild.target.intel.builder.exe.x86_64.debug">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.exe.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86_64.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.exe.x86_64.debug.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option   
-                     id="photran.intel.gnu.c.compiler.exe.x86_64.debug.option.debugging.level"					     
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.exe.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86_64.base">
-                  <option
-                     id="intel.linux.fortran.compiler.exe.x86_64.debug.general.optimization"
-                     superClass="intel.linux.fortran.compiler.general.optimization">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.exe.x86_64.debug.general.debug"
-                     superClass="intel.linux.fortran.compiler.general.debug">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.exe.x86_64.debug.optimization.inline.expand"
-                     superClass="intel.linux.fortran.compiler.optimization.inline.expand">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.exe.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.x86_64.base">
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.exe.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86_64.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-         <configuration
-            name="%ConfigName.x86_64.Rel"
-            id="photran.managedbuild.config.intel.fortran.exe.x86_64.release"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.exe.x86_64.release"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.fortran.exe.x86_64.release"
-                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86_64.base"
-                  id="photran.managedbuild.target.intel.builder.exe.x86_64.release">
-               </builder> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.exe.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86_64.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.exe.x86_64.release.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option
-                     id="photran.intel.gnu.c.compiler.exe.x86_64.release.option.debugging.level"
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.exe.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86_64.base">                     
-               </tool>
-
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.exe.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.x86_64.base">
-               </tool> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.exe.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86_64.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-
- 
-         <configuration
-            name="%ConfigName.ipf.Dbg"
-            id="photran.managedbuild.config.intel.fortran.exe.ipf.debug"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.exe.ipf.debug"
-               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.exe.ipf.debug"
-                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.ipf.base"
-                  id="photran.managedbuild.target.intel.builder.exe.ipf.debug">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.exe.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.ipf.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.exe.ipf.debug.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option   
-                     id="photran.intel.gnu.c.compiler.exe.ipf.debug.option.debugging.level"					     
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.exe.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.ipf.base">
-                  <option
-                     id="intel.linux.fortran.compiler.exe.ipf.debug.general.optimization"
-                     superClass="intel.linux.fortran.compiler.general.optimization">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.exe.ipf.debug.general.debug"
-                     superClass="intel.linux.fortran.compiler.general.debug">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.exe.ipf.debug.optimization.inline.expand"
-                     superClass="intel.linux.fortran.compiler.optimization.inline.expand">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.exe.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.ipf.base">
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.exe.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.ipf.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-         <configuration
-            name="%ConfigName.ipf.Rel"
-            id="photran.managedbuild.config.intel.fortran.exe.ipf.release"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.exe.ipf.release"
-               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.fortran.exe.ipf.release"
-                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.ipf.base"
-                  id="photran.managedbuild.target.intel.builder.exe.ipf.release">
-               </builder> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.exe.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.ipf.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.exe.ipf.release.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option
-                     id="photran.intel.gnu.c.compiler.exe.ipf.release.option.debugging.level"
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.exe.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.ipf.base">                     
-               </tool>
-
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.exe.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.ipf.base">
-               </tool> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.exe.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.ipf.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-      </projectType>     
-
-<!-- End Intel Fortran exe project -->
-
-<!-- Begin Intel Fortran static library project -->
-
-      <projectType      
-         isAbstract="false"     
-         isTest="false"
-         name="%TargetName.intel.fortran.ar"
-         id="photran.managedbuild.target.intel.fortran.ar"
-         buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib">
-         <configuration
-            name="%ConfigName.x86.Dbg"
-            id="photran.managedbuild.config.intel.fortran.ar.x86.debug"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.ar.x86.debug"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.ar.x86.debug"
-                  superClass="photran.managedbuild.target.intel.platform.x86.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86.base"
-                  id="photran.managedbuild.target.intel.builder.ar.x86.debug">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.ar.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.ar.x86.debug.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option   
-                     id="photran.intel.gnu.c.compiler.ar.x86.debug.option.debugging.level"					     
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.ar.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86.base">
-                  <option
-                     id="intel.linux.fortran.compiler.ar.x86.debug.general.optimization"
-                     superClass="intel.linux.fortran.compiler.general.optimization">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.ar.x86.debug.general.debug"
-                     superClass="intel.linux.fortran.compiler.general.debug">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.ar.x86.debug.optimization.inline.expand"
-                     superClass="intel.linux.fortran.compiler.optimization.inline.expand">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.archiver.ar.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.archiver.x86.base">
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.ar.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-         <configuration
-            name="%ConfigName.x86.Rel"
-            id="photran.managedbuild.config.intel.fortran.ar.x86.release"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.ar.x86.release"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.fortran.ar.x86.release"
-                  superClass="photran.managedbuild.target.intel.platform.x86.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86.base"
-                  id="photran.managedbuild.target.intel.builder.ar.x86.release">
-               </builder> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.ar.x86.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.ar.x86.release.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option
-                     id="photran.intel.gnu.c.compiler.ar.x86.release.option.debugging.level"
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.ar.x86.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86.base">                     
-               </tool>
-
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.archiver.ar.x86.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.archiver.x86.base">
-               </tool> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.ar.x86.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-
-         <configuration
-            name="%ConfigName.x86_64.Dbg"
-            id="photran.managedbuild.config.intel.fortran.ar.x86_64.debug"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.ar.x86_64.debug"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.ar.x86_64.debug"
-                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86_64.base"
-                  id="photran.managedbuild.target.intel.builder.ar.x86_64.debug">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.ar.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86_64.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.ar.x86_64.debug.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option   
-                     id="photran.intel.gnu.c.compiler.ar.x86_64.debug.option.debugging.level"					     
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.ar.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86_64.base">
-                  <option
-                     id="intel.linux.fortran.compiler.ar.x86_64.debug.general.optimization"
-                     superClass="intel.linux.fortran.compiler.general.optimization">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.ar.x86_64.debug.general.debug"
-                     superClass="intel.linux.fortran.compiler.general.debug">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.ar.x86_64.debug.optimization.inline.expand"
-                     superClass="intel.linux.fortran.compiler.optimization.inline.expand">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.archiver.ar.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.archiver.x86_64.base">
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.ar.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86_64.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-         <configuration
-            name="%ConfigName.x86_64.Rel"
-            id="photran.managedbuild.config.intel.fortran.ar.x86_64.release"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.ar.x86_64.release"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.fortran.ar.x86_64.release"
-                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86_64.base"
-                  id="photran.managedbuild.target.intel.builder.ar.x86_64.release">
-               </builder> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.ar.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86_64.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.ar.x86_64.release.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option
-                     id="photran.intel.gnu.c.compiler.ar.x86_64.release.option.debugging.level"
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.ar.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86_64.base">                     
-               </tool>
-
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.archiver.ar.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.archiver.x86_64.base">
-               </tool> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.ar.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86_64.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-
-         <configuration
-            name="%ConfigName.ipf.Dbg"
-            id="photran.managedbuild.config.intel.fortran.ar.ipf.debug"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.ar.ipf.debug"
-               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.ar.ipf.debug"
-                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.ipf.base"
-                  id="photran.managedbuild.target.intel.builder.ar.ipf.debug">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.ar.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.ipf.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.ar.ipf.debug.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option   
-                     id="photran.intel.gnu.c.compiler.ar.ipf.debug.option.debugging.level"					     
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.ar.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.ipf.base">
-                  <option
-                     id="intel.linux.fortran.compiler.ar.ipf.debug.general.optimization"
-                     superClass="intel.linux.fortran.compiler.general.optimization">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.ar.ipf.debug.general.debug"
-                     superClass="intel.linux.fortran.compiler.general.debug">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.ar.ipf.debug.optimization.inline.expand"
-                     superClass="intel.linux.fortran.compiler.optimization.inline.expand">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.archiver.ar.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.archiver.ipf.base">
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.ar.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.ipf.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-         <configuration
-            name="%ConfigName.ipf.Rel"
-            id="photran.managedbuild.config.intel.fortran.ar.ipf.release"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.ar.ipf.release"
-               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.fortran.ar.ipf.release"
-                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.ipf.base"
-                  id="photran.managedbuild.target.intel.builder.ar.ipf.release">
-               </builder> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.ar.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.ipf.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.ar.ipf.release.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option
-                     id="photran.intel.gnu.c.compiler.ar.ipf.release.option.debugging.level"
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.ar.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.ipf.base">                     
-               </tool>
-
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.archiver.ar.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.archiver.ipf.base">
-               </tool> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.ar.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.ipf.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-      </projectType>     
-
-<!-- End Intel Fortran static library project -->
-
-<!-- Begin Intel Fortran shared library project -->
-      <projectType      
-         isAbstract="false"     
-         isTest="false"
-         name="%TargetName.intel.fortran.so"
-         id="photran.managedbuild.target.intel.fortran.so"
-         buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib">
-         <configuration
-            name="%ConfigName.x86.Dbg"
-            id="photran.managedbuild.config.intel.fortran.so.x86.debug"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.so.x86.debug"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.so.x86.debug"
-                  superClass="photran.managedbuild.target.intel.platform.x86.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86.base"
-                  id="photran.managedbuild.target.intel.builder.so.x86.debug">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.so.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.so.x86.debug.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option   
-                     id="photran.intel.gnu.c.compiler.so.x86.debug.option.debugging.level"					     
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.so.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86.base">
-                  <option
-                     id="intel.linux.fortran.compiler.so.x86.debug.general.optimization"
-                     superClass="intel.linux.fortran.compiler.general.optimization">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.so.x86.debug.general.debug"
-                     superClass="intel.linux.fortran.compiler.general.debug">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.so.x86.debug.optimization.inline.expand"
-                     superClass="intel.linux.fortran.compiler.optimization.inline.expand">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.so.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.x86.base">
-                  <outputType
-                     superClass="photran.managedbuild.tool.intel.fortran.linker.output.so"
-                     id="photran.managedbuild.tool.intel.fortran.linker.so.x86.debug.output">
-                  </outputType>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.so.x86.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-         <configuration
-            name="%ConfigName.x86.Rel"
-            id="photran.managedbuild.config.intel.fortran.so.x86.release"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.so.x86.release"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.fortran.so.x86.release"
-                  superClass="photran.managedbuild.target.intel.platform.x86.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86.base"
-                  id="photran.managedbuild.target.intel.builder.so.x86.release">
-               </builder> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.so.x86.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86.base">
-                  <option
-                     id="photran.intel.gnu.c.compiler.so.x86.release.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option
-                     id="photran.intel.gnu.c.compiler.so.x86.release.option.debugging.level"
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.so.x86.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86.base">                     
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.so.x86.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.x86.base">
-                  <outputType
-                     superClass="photran.managedbuild.tool.intel.fortran.linker.output.so"
-                     id="photran.managedbuild.tool.intel.fortran.linker.so.x86.release.output">
-                  </outputType>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.so.x86.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86.base">
-               </tool>
-            </toolChain>
-         </configuration>
-
-         <configuration
-            name="%ConfigName.x86_64.Dbg"
-            id="photran.managedbuild.config.intel.fortran.so.x86_64.debug"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.so.x86_64.debug"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.so.x86_64.debug"
-                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86_64.base"
-                  id="photran.managedbuild.target.intel.builder.so.x86_64.debug">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.so.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86_64.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.so.x86_64.debug.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option   
-                     id="photran.intel.gnu.c.compiler.so.x86_64.debug.option.debugging.level"					     
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.so.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86_64.base">
-                  <option
-                     id="intel.linux.fortran.compiler.so.x86_64.debug.general.optimization"
-                     superClass="intel.linux.fortran.compiler.general.optimization">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.so.x86_64.debug.general.debug"
-                     superClass="intel.linux.fortran.compiler.general.debug">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.so.x86_64.debug.optimization.inline.expand"
-                     superClass="intel.linux.fortran.compiler.optimization.inline.expand">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.so.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.x86_64.base">
-                  <outputType
-                     superClass="photran.managedbuild.tool.intel.fortran.linker.output.so"
-                     id="photran.managedbuild.tool.intel.fortran.linker.so.x86_64.debug.output">
-                  </outputType>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.so.x86_64.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86_64.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-         <configuration
-            name="%ConfigName.x86_64.Rel"
-            id="photran.managedbuild.config.intel.fortran.so.x86_64.release"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.so.x86_64.release"
-               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.fortran.so.x86_64.release"
-                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.x86_64.base"
-                  id="photran.managedbuild.target.intel.builder.so.x86_64.release">
-               </builder> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.so.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.x86_64.base">
-                  <option
-                     id="photran.intel.gnu.c.compiler.so.x86_64.release.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option
-                     id="photran.intel.gnu.c.compiler.so.x86_64.release.option.debugging.level"
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.so.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.x86_64.base">                     
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.so.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.x86_64.base">
-                  <outputType
-                     superClass="photran.managedbuild.tool.intel.fortran.linker.output.so"
-                     id="photran.managedbuild.tool.intel.fortran.linker.so.x86_64.release.output">
-                  </outputType>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.so.x86_64.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.x86_64.base">
-               </tool>
-            </toolChain>
-         </configuration>
-
-         <configuration
-            name="%ConfigName.ipf.Dbg"
-            id="photran.managedbuild.config.intel.fortran.so.ipf.debug"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.so.ipf.debug"
-               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.so.ipf.debug"
-                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.ipf.base"
-                  id="photran.managedbuild.target.intel.builder.so.ipf.debug">
-               </builder>               
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.so.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.ipf.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.so.ipf.debug.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option   
-                     id="photran.intel.gnu.c.compiler.so.ipf.debug.option.debugging.level"					     
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.so.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.ipf.base">
-                  <option
-                     id="intel.linux.fortran.compiler.so.ipf.debug.general.optimization"
-                     superClass="intel.linux.fortran.compiler.general.optimization">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.so.ipf.debug.general.debug"
-                     superClass="intel.linux.fortran.compiler.general.debug">
-                  </option>
-                  <option
-                     id="intel.linux.fortran.compiler.so.ipf.debug.optimization.inline.expand"
-                     superClass="intel.linux.fortran.compiler.optimization.inline.expand">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.so.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.ipf.base">
-                  <outputType
-                     superClass="photran.managedbuild.tool.intel.fortran.linker.output.so"
-                     id="photran.managedbuild.tool.intel.fortran.linker.so.ipf.debug.output">
-                  </outputType>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.so.ipf.debug"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.ipf.base">
-               </tool>   
-            </toolChain>
-         </configuration>
-         <configuration
-            name="%ConfigName.ipf.Rel"
-            id="photran.managedbuild.config.intel.fortran.so.ipf.release"
-            parent="photran.managedbuild.config.intel.fortran.base"
-            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
-            <toolChain
-               id="photran.managedbuild.toolchain.intel.fortran.so.ipf.release"
-               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
-               <targetPlatform
-                  id="photran.managedbuild.target.intel.platform.fortran.so.ipf.release"
-                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
-               </targetPlatform>
-               <builder
-                  superClass="photran.managedbuild.target.intel.builder.ipf.base"
-                  id="photran.managedbuild.target.intel.builder.so.ipf.release">
-               </builder> 
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.c.compiler.so.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.c.compiler.ipf.base">                          
-                  <option
-                     id="photran.intel.gnu.c.compiler.so.ipf.release.option.optimization.level"
-                     superClass="gnu.c.compiler.option.optimization.level">
-                  </option>
-                  <option
-                     id="photran.intel.gnu.c.compiler.so.ipf.release.option.debugging.level"
-                     superClass="gnu.c.compiler.option.debugging.level">
-                  </option>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.compiler.so.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.compiler.ipf.base">                     
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.fortran.linker.so.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.fortran.linker.ipf.base">
-                  <outputType
-                     superClass="photran.managedbuild.tool.intel.fortran.linker.output.so"
-                     id="photran.managedbuild.tool.intel.fortran.linker.so.ipf.release.output">
-                  </outputType>
-               </tool>
-               <tool
-                  id="photran.managedbuild.tool.intel.gnu.assembler.so.ipf.release"
-                  superClass="photran.managedbuild.tool.intel.gnu.assembler.ipf.base">
-               </tool>
-            </toolChain>
-         </configuration>
-      </projectType>     
-
-<!-- End Intel Fortran shared library project -->
-
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.photran.managedbuilder.intel.ui/src/org/eclipse/photran/managedbuilder/intel/ui/IntelUiPlugin.java b/org.eclipse.photran.managedbuilder.intel.ui/src/org/eclipse/photran/managedbuilder/intel/ui/IntelUiPlugin.java
deleted file mode 100644
index b63f9ac..0000000
--- a/org.eclipse.photran.managedbuilder.intel.ui/src/org/eclipse/photran/managedbuilder/intel/ui/IntelUiPlugin.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Intel Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Intel Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.managedbuilder.intel.ui;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class IntelUiPlugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static IntelUiPlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public IntelUiPlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static IntelUiPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.photran.managedbuilder.intel.ui", path);
-	}
-}
diff --git a/org.eclipse.photran.managedbuilder.ui/.classpath b/org.eclipse.photran.managedbuilder.ui/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/org.eclipse.photran.managedbuilder.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.managedbuilder.ui/.cvsignore b/org.eclipse.photran.managedbuilder.ui/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.photran.managedbuilder.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.photran.managedbuilder.ui/.project b/org.eclipse.photran.managedbuilder.ui/.project
deleted file mode 100644
index d93bb9e..0000000
--- a/org.eclipse.photran.managedbuilder.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.managedbuilder.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.managedbuilder.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.managedbuilder.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5435573..0000000
--- a/org.eclipse.photran.managedbuilder.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,77 +0,0 @@
-#Thu May 27 09:02:22 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/org.eclipse.photran.managedbuilder.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.managedbuilder.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 436d725..0000000
--- a/org.eclipse.photran.managedbuilder.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Tue Aug 01 13:40:27 CDT 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.photran.managedbuilder.ui/META-INF/MANIFEST.MF b/org.eclipse.photran.managedbuilder.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index e2c0324..0000000
--- a/org.eclipse.photran.managedbuilder.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.photran.managedbuilder.ui; singleton:=true
-Bundle-Version: 7.0.0.qualifier
-Bundle-ClassPath: photranmngbuildui.jar
-Bundle-Activator: org.eclipse.photran.managedbuilder.internal.ui.ManagedBuilderUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.photran.managedbuilder.internal.ui
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.cdt.managedbuilder.ui
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.photran.managedbuilder.ui/about.html b/org.eclipse.photran.managedbuilder.ui/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.photran.managedbuilder.ui/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.photran.managedbuilder.ui/build.properties b/org.eclipse.photran.managedbuilder.ui/build.properties
deleted file mode 100644
index 0bde10a..0000000
--- a/org.eclipse.photran.managedbuilder.ui/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.photranmngbuildui.jar = src/
-output.photranmngbuildui.jar = bin/
-bin.includes = plugin.xml,\
-               photranmngbuildui.jar,\
-               plugin.properties,\
-               META-INF/,\
-               about.html
-jre.compilation.profile=J2SE-1.4
-src.includes = about.html
diff --git a/org.eclipse.photran.managedbuilder.ui/plugin.properties b/org.eclipse.photran.managedbuilder.ui/plugin.properties
deleted file mode 100644
index 3b3d0b9..0000000
--- a/org.eclipse.photran.managedbuilder.ui/plugin.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Photran Managed Builder UI Plug-in
-providerName=Eclipse.org
-
-#The Resource Property page
-MngBuildProp.name=Fortran Build
-MngResourceProp.name=Fortran Build
-
-
-
-page.c.general=Fortran General
-
-## New CDT project model - property pages names
-page.c.build=Fortran Build
-CDTPathSymbolsProperty.name=Paths and Symbols
-CDTExpPathSymbolsProperty.name=Export Settings
-CDTBuildProperty.name=Settings
-CDTToolchainProperty.name=Tool Chain Editor
-CDTVariablesProperty.name=Variables
-Discovery.options=Discovery Options
-Environment=Environment
diff --git a/org.eclipse.photran.managedbuilder.ui/plugin.xml b/org.eclipse.photran.managedbuilder.ui/plugin.xml
deleted file mode 100644
index 53dff7d..0000000
--- a/org.eclipse.photran.managedbuilder.ui/plugin.xml
+++ /dev/null
@@ -1,247 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <!--page
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            name="%MngBuildProp.name"
-            class="org.eclipse.cdt.managedbuilder.ui.properties.BuildPropertyPage"
-            id="org.eclipse.cdt.managedbuilder.ui.properties.BuildProperties">
-         <filter
-               name="nature"
-               value="org.eclipse.cdt.managedbuilder.core.managedBuildNature">
-         </filter>
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%MngResourceProp.name"
-            class="org.eclipse.cdt.managedbuilder.ui.properties.ResourceBuildPropertyPage"
-            id="org.eclipse.cdt.managedbuilder.ui.properties.ResourceBuildProperties">
-	         <filter
-	               name="projectNature"
-	               value="org.eclipse.cdt.managedbuilder.core.managedBuildNature">
-	         </filter>
-      </page-->
-      
-         <page
-            class="org.eclipse.cdt.managedbuilder.ui.properties.Page_head_build"
-            id="org.eclipse.photran.managedbuilder.ui.properties.Page_head_build"
-            name="%page.c.build"
-            >
-         <filter
-               name="projectNature"
-               value="org.eclipse.cdt.managedbuilder.core.managedBuildNature">
-         </filter>            
-         <filter
-               name="projectNature"
-               value="org.eclipse.photran.core.fnature">
-         </filter>            
-         <enabledWhen>
-            <or>
-		     <instanceof value="org.eclipse.core.resources.IProject"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
-		     
-		     <instanceof value="org.eclipse.core.resources.IFolder"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICContainer"/>
-
-         	 <instanceof value="org.eclipse.cdt.core.model.ITranslationUnit"/>
-	         <instanceof value="org.eclipse.core.resources.IFile"/>
-		    </or>          
-         </enabledWhen>
-        </page>    
-        <page
-            class="org.eclipse.cdt.managedbuilder.ui.properties.Page_Variables"
-            id="org.eclipse.photran.managedbuilder.ui.properties.Page_Variables"
-            category="org.eclipse.photran.managedbuilder.ui.properties.Page_head_build"
-            name="%CDTVariablesProperty.name"
-            >
-         <filter
-               name="projectNature"
-               value="org.eclipse.cdt.managedbuilder.core.managedBuildNature">
-         </filter>
-         <enabledWhen>
-            <or>
-	     <instanceof value="org.eclipse.core.resources.IProject"/>
-	     <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
-	    </or>
-         </enabledWhen>
-      </page>
-      
-      <page
-            class="org.eclipse.cdt.managedbuilder.ui.properties.Page_PathAndSymb"
-            id="org.eclipse.photran.managedbuilder.ui.properties.Page_PathAndSymb"
-            category="org.eclipse.photran.ui.newui.Page_head_general"
-            name="%CDTPathSymbolsProperty.name"
-            >
-         <filter
-               name="projectNature"
-               value="org.eclipse.cdt.managedbuilder.core.managedBuildNature">
-         </filter>
-         <enabledWhen>
-            <or>
-		     <instanceof value="org.eclipse.core.resources.IProject"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
-		     
-		     <instanceof value="org.eclipse.core.resources.IFolder"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICContainer"/>
-
-             <instanceof value="org.eclipse.core.resources.IFile"/>
-          	 <instanceof value="org.eclipse.cdt.core.model.ITranslationUnit"/>
-		    </or>          
-         </enabledWhen>
-      </page>
-      
-      <page
-            class="org.eclipse.cdt.managedbuilder.ui.properties.Page_ExpPathAndSymb"
-            id="org.eclipse.photran.ui.newui.Page_ExpPathAndSymb"
-            category="org.eclipse.photran.ui.newui.Page_head_general"
-            name="%CDTExpPathSymbolsProperty.name"
-            >
-         <filter
-               name="projectNature"
-               value="org.eclipse.cdt.managedbuilder.core.managedBuildNature">
-         </filter>
-         <enabledWhen>
-            <and>
-            <or>
-		     <instanceof value="org.eclipse.core.resources.IProject"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
-		    </or>
-                <test property="org.eclipse.cdt.ui.pageEnabled" value="export" />
-		    </and>          
-         </enabledWhen>
-      </page>
-
-      <page
-            class="org.eclipse.cdt.managedbuilder.ui.properties.Page_BuildSettings"
-            id="org.eclipse.photran.managedbuilder.ui.properties.Page_BuildSettings"
-            category="org.eclipse.photran.managedbuilder.ui.properties.Page_head_build"
-            name="%CDTBuildProperty.name"
-            >
-         <filter
-               name="projectNature"
-               value="org.eclipse.cdt.managedbuilder.core.managedBuildNature">
-         </filter>
-         <enabledWhen>
-            <or>
-		     <instanceof value="org.eclipse.core.resources.IProject"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
-		     
-		     <instanceof value="org.eclipse.core.resources.IFolder"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICContainer"/>
-
-         	 <instanceof value="org.eclipse.core.resources.IFile"/>
-	         <instanceof value="org.eclipse.cdt.core.model.ITranslationUnit"/>
-		    </or>          
-         </enabledWhen>
-      </page>
-      <page
-            class="org.eclipse.cdt.managedbuilder.ui.properties.Page_ToolChain"
-            id="org.eclipse.photran.managedbuilder.ui.properties.Page_ToolChain"
-            category="org.eclipse.photran.managedbuilder.ui.properties.Page_head_build"
-            name="%CDTToolchainProperty.name"
-            >
-         <filter
-               name="projectNature"
-               value="org.eclipse.cdt.managedbuilder.core.managedBuildNature">
-         </filter>
-         <enabledWhen>
-            <and>
-            <or>
-		     <instanceof value="org.eclipse.core.resources.IProject"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
-		     
-		     <instanceof value="org.eclipse.core.resources.IFolder"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICContainer"/>
-
-	         <instanceof value="org.eclipse.core.resources.IFile"/>
-         	 <instanceof value="org.eclipse.cdt.core.model.ITranslationUnit"/>
-		    </or>
-                <test property="org.eclipse.cdt.ui.pageEnabled" value="toolEdit" />
-		    </and>          
-         </enabledWhen>
-      </page>
-
-      <page
-            class="org.eclipse.cdt.managedbuilder.ui.properties.Page_Discovery"
-            id="org.eclipse.photran.managedbuilder.ui.properties.Page_Discovery"
-            category="org.eclipse.photran.managedbuilder.ui.properties.Page_head_build"
-            name="%Discovery.options"
-            >
-         <filter
-               name="projectNature"
-               value="org.eclipse.cdt.managedbuilder.core.managedBuildNature">
-         </filter>
-         <enabledWhen>
-            <or>
-		     <instanceof value="org.eclipse.core.resources.IProject"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
-		     
-		     <instanceof value="org.eclipse.core.resources.IFolder"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICContainer"/>
-
-		     <and>
-		        <instanceof value="org.eclipse.core.resources.IFile"/>
-    	        <test property="org.eclipse.cdt.ui.isSource" value="" />
-             </and>
-             <and>
-	         	<instanceof value="org.eclipse.cdt.core.model.ITranslationUnit"/>
-    	        <test property="org.eclipse.cdt.ui.isSource" value="" />
-	         </and>	
-		    </or>
-         </enabledWhen>
-      </page>
-      <page
-            class="org.eclipse.cdt.managedbuilder.ui.properties.Page_Environment"
-            id="org.eclipse.photran.managedbuilder.ui.properties.Page_Environment"
-            category="org.eclipse.photran.managedbuilder.ui.properties.Page_head_build"
-            name="%Environment"
-            >
-         <filter
-               name="projectNature"
-               value="org.eclipse.cdt.managedbuilder.core.managedBuildNature">
-         </filter>
-         <enabledWhen>
-            <or>
-		     <instanceof value="org.eclipse.core.resources.IProject"/>
-		     <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
-		    </or>
-         </enabledWhen>
-      </page>
-      
-
-      <!--
-          The specific IFile (below) property pages have been commented out in CDT?
-          They must be picked up by the IFile objectClass page above.
-       -->
-      <!--page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%MngResourceProp.name"
-            nameFilter="*.f"
-            class="org.eclipse.cdt.managedbuilder.ui.properties.ResourceBuildPropertyPage"
-            id="org.eclipse.photran.managedbuilder.ui.properties.ResourceBuildProperties.f">
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%MngResourceProp.name"
-            nameFilter="*.f90"
-            class="org.eclipse.cdt.managedbuilder.ui.properties.ResourceBuildPropertyPage"
-            id="org.eclipse.photran.managedbuilder.ui.properties.ResourceBuildProperties.f90">
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            name="%MngResourceProp.name"
-            nameFilter="*.f95"
-            class="org.eclipse.cdt.managedbuilder.ui.properties.ResourceBuildPropertyPage"
-            id="org.eclipse.photran.managedbuilder.ui.properties.ResourceBuildProperties.f95">
-      </page-->
-   </extension>
- 
-</plugin>
diff --git a/org.eclipse.photran.managedbuilder.ui/src/org/eclipse/photran/managedbuilder/internal/ui/ManagedBuilderUIPlugin.java b/org.eclipse.photran.managedbuilder.ui/src/org/eclipse/photran/managedbuilder/internal/ui/ManagedBuilderUIPlugin.java
deleted file mode 100644
index 121b588..0000000
--- a/org.eclipse.photran.managedbuilder.ui/src/org/eclipse/photran/managedbuilder/internal/ui/ManagedBuilderUIPlugin.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.photran.managedbuilder.internal.ui;
-
-/**********************************************************************
- * Copyright (c) 2002,2003 Rational Software Corporation and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors: 
- * IBM Rational Software - Initial API and implementation
- * **********************************************************************/
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-
-public class ManagedBuilderUIPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static ManagedBuilderUIPlugin plugin;
-	// Unique ID of the plugin
-	private static final String PLUGIN_ID = "org.eclipse.photran.managedbuilder.ui"; //$NON-NLS-1$
-
-	/**
-	 * The constructor
-	 */
-	public ManagedBuilderUIPlugin() {
-		super();
-		plugin = this;
-	}
-	
-
-	/**
-	 * @return
-	 */
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow window = getActiveWorkbenchWindow();
-		if (window != null) {
-			return window.getShell();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the active workbench window or <code>null</code> if none
-	 */
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-
-	/**
-	 * Returns the singleton instance of the plugin
-	 */
-	public static ManagedBuilderUIPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		return PLUGIN_ID;
-	}
-
-	public static void log(IStatus status) {
-		ResourcesPlugin.getPlugin().getLog().log(status);
-	}
-
-	public static void log(Throwable e) {
-		if (e instanceof InvocationTargetException)
-			e = ((InvocationTargetException) e).getTargetException();
-		IStatus status = null;
-		if (e instanceof CoreException)
-			status = ((CoreException) e).getStatus();
-		else
-			status = new Status(IStatus.ERROR, getUniqueIdentifier(), IStatus.OK, e.getMessage(), e);
-		log(status);
-	}
-
-	/**
-	* Utility method with conventions
-	*/
-	public static void errorDialog(Shell shell, String title, String message, Throwable t) {
-		log(t);
-		IStatus status;
-		if (t instanceof CoreException) {
-			status = ((CoreException) t).getStatus();
-			// if the 'message' resource string and the IStatus' message are the same,
-			// don't show both in the dialog
-			if (status != null && message.equals(status.getMessage())) {
-				message = null;
-			}
-		} else {
-			status = new Status(IStatus.ERROR, ManagedBuilderUIPlugin.getUniqueIdentifier(), -1, "Internal Error: ", t); //$NON-NLS-1$	
-		}
-		ErrorDialog.openError(shell, title, message, status);
-	}
-
-
-	/**
-	 * @return
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * Answers the <code>Shell</code> associated with the active workbench, or 
-	 * one of the windows associated with the workbench.
-	 * @return
-	 */
-	public Shell getShell() {
-		if (getActiveWorkbenchShell() != null) {
-			return getActiveWorkbenchShell();
-		} else {
-			IWorkbenchWindow[] windows = getDefault().getWorkbench().getWorkbenchWindows();
-			return windows[0].getShell();
-		}
-	}
-	
-
-}
diff --git a/org.eclipse.photran.managedbuilder.xlf.ui/.classpath b/org.eclipse.photran.managedbuilder.xlf.ui/.classpath
deleted file mode 100644
index fd545ef..0000000
--- a/org.eclipse.photran.managedbuilder.xlf.ui/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.managedbuilder.xlf.ui/.project b/org.eclipse.photran.managedbuilder.xlf.ui/.project
deleted file mode 100644
index 06f96de..0000000
--- a/org.eclipse.photran.managedbuilder.xlf.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.managedbuilder.xlf.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.managedbuilder.xlf.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.managedbuilder.xlf.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9980f21..0000000
--- a/org.eclipse.photran.managedbuilder.xlf.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,77 +0,0 @@
-#Thu May 27 09:02:11 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/org.eclipse.photran.managedbuilder.xlf.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.managedbuilder.xlf.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 54396a2..0000000
--- a/org.eclipse.photran.managedbuilder.xlf.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Jan 26 16:25:37 CST 2007
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.photran.managedbuilder.xlf.ui/META-INF/MANIFEST.MF b/org.eclipse.photran.managedbuilder.xlf.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index c74d19f..0000000
--- a/org.eclipse.photran.managedbuilder.xlf.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.photran.managedbuilder.xlf.ui;singleton:=true
-Bundle-Version: 7.0.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: org.eclipse.photran.managedbuilder.core,
- org.eclipse.cdt.managedbuilder.core
diff --git a/org.eclipse.photran.managedbuilder.xlf.ui/about.html b/org.eclipse.photran.managedbuilder.xlf.ui/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.photran.managedbuilder.xlf.ui/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.photran.managedbuilder.xlf.ui/build.properties b/org.eclipse.photran.managedbuilder.xlf.ui/build.properties
deleted file mode 100644
index 15fe82d..0000000
--- a/org.eclipse.photran.managedbuilder.xlf.ui/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               plugin.properties
-jre.compilation.profile=J2SE-1.4
-src.includes = about.html
diff --git a/org.eclipse.photran.managedbuilder.xlf.ui/plugin.properties b/org.eclipse.photran.managedbuilder.xlf.ui/plugin.properties
deleted file mode 100644
index 6b40a69..0000000
--- a/org.eclipse.photran.managedbuilder.xlf.ui/plugin.properties
+++ /dev/null
@@ -1,118 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=IBM XL Compiler Tool Chain
-providerName=Eclipse.org
-
-# Build Model Names
-TargetName.xlf.fortran.macosx.exe=Executable (XLF Fortran on MacOS X)
-TargetName.xlf.fortran.macosx.so=Shared Library (XLF Fortran on MacOS X)
-TargetName.xlf.fortran.macosx.lib=Static Library (XLF Fortran on MacOS X)
-
-# Default Configuration Names
-ConfigName.Rel=Release
-ConfigName.Dbg=Debug
-
-# Generic platform names
-PlatformName.Rel=Release Platform
-PlatformName.Dbg=Debug Platform
-
-# Generic builder names
-BuilderName.Rel=Gnu Make
-BuilderName.Dbg=Gnu Make
-
-# Generic Category Names
-OptionCategory.Source = Source
-OptionCategory.Symbols = Symbols
-OptionCategory.Preproc = Preprocessor
-OptionCategory.Dirs = Directories
-OptionCategory.General = General
-OptionCategory.Optimize=Optimization
-OptionCategory.Debug=Debugging
-OptionCategory.Warn=Warnings
-OptionCategory.Misc=Miscellaneous
-OptionCategory.Libs=Libraries
-OptionCategory.Shared.Settings=Shared Library Settings
-
-# Generic Option Names
-Option.Posix.PreprocOnly=Preprocess only (-E)
-Option.Posix.Nostdinc=Do not search system directories (-nostdinc)
-
-Option.Posix.DefSym=Defined symbols (-D)
-Option.Posix.UndefSym=Undefined symbols (-U)
-
-Option.Posix.InclPaths=Include paths (-I)
-
-Option.Posix.OptLevel=Optimization Level
-Option.Posix.Optimize.None=None (-O0)
-Option.Posix.Optimize.Optimize=Optimize (-O1)
-Option.Posix.Optimize.More=Optimize more (-O2)
-Option.Posix.Optimize.Most=Optimize most (-O3)
-Option.Posix.Optimize.Flags=Other optimization flags
-
-Option.Posix.DebugLevel=Debug Level
-Option.Posix.Debug.None=None
-Option.Posix.Debug.Min=Minimal (-g1)
-Option.Posix.Debug.Def=Default (-g)
-Option.Posix.Debug.Max=Maximum (-g3)
-Option.Posix.Debug.Other=Other debugging flags
-Option.Posix.Debug.gprof=Generate gprof information (-pg)
-Option.Posix.Debug.prof=Generate prof information (-p)
-
-Option.Posix.Warn.Syntax=Check syntax only (-fsyntax-only)
-Option.Posix.Warn.Pedandic=Pedantic (-pedantic)
-Option.Posix.Warn.PedErrors=Pedantic warnings as errors (-pedantic-errors)
-Option.Posix.Warn.nowarn=Inhibit all warnings (-w)
-Option.Posix.Warn.allwarn=All warnings (-Wall)
-Option.Posix.Warn.toerrs=Warnings as errors (-Werror)
-
-Option.Posix.Verbose=Verbose (-v)
-Option.OtherFlags=Other flags
-Option.Posix.Ansi=Support ANSI programs (-ansi)
-
-Option.Posix.Linker.NoStartFiles=Do not use standard start files (-nostartfiles)
-Option.Posix.Linker.NoDefLibs=Do not use default libraries (-nodefaultlibs)
-Option.Posix.Linker.NoStdLibs=No startup or default libs (-nostdlib)
-Option.Posix.Linker.Strip=Omit all symbol information (-s)
-Option.Posix.Linker.Strip.debug=Omit debug symbol information (-S)
-Option.Posix.Linker.Static=No shared libraries (-static)
-Option.Posix.Linker.XLinker=Other options (-Xlinker [option])
-Option.Posix.Linker.Flags=Linker flags
-Option.Posix.Libs=Libraries (-l)
-Option.Posix.Libsearch=Library search path (-L)
-Option.Posix.UserObjs=Other objects
-Option.Posix.Linker.Shared=Shared (-shared)
-Option.Posix.Linker.SOName=Shared object name (-Wl,-soname=)
-Option.Posix.Linker.Implib=Import Library name (-Wl,--out-implib=)
-Option.Posix.Linker.Defname=DEF file name (-Wl,--output-def=)
-
-Option.Posix.Archiver.Flags=Archiver flags
-
-# XLF tool-chain names
-XLFToolChainName.Rel=XLF Tool Chain
-XLFToolChainName.Dbg=XLF Tool Chain
-
-# XLF tool names
-ToolName.compiler.xlf.fortran = IBM XLF Fortran Compiler
-ToolName.linker.xlf.fortran = IBM XLF Fortran Linker
-ToolName.linker.macosx.xlf.fortran = MacOS X IBM XLF Fortran Linker
-
-# IBM XLF specific option names
-
-Option.XLF.Source.extension=Source file extension
-
-Option.XLF.Source.fixed=Fixed source format (-qfixed)
-Option.XLF.Source.free=Free source format (-qfree=f90)
-Option.XLF.Source.free.ibm=IBM free source format (-qfree=ibm)
-
-Option.XLF.Warn.nowarn=Inhibit all warnings (-w)
-Option.XLF.Warn.allwarn=All warnings (-qflag=i:u)
-
-Option.MacOSX.Linker.Shared=Shared (-Wl,-dylib)
\ No newline at end of file
diff --git a/org.eclipse.photran.managedbuilder.xlf.ui/plugin.xml b/org.eclipse.photran.managedbuilder.xlf.ui/plugin.xml
deleted file mode 100644
index afc724d..0000000
--- a/org.eclipse.photran.managedbuilder.xlf.ui/plugin.xml
+++ /dev/null
@@ -1,683 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-<!-- Managed Make Builder Tool Specifications -->
-   <extension
-         id="cdt.managed.build.info"
-         name="Managed Build Tools Description"
-         point="org.eclipse.cdt.managedbuilder.core.buildDefinitions">
-      <managedBuildRevision
-            fileVersion="3.1.0">
-      </managedBuildRevision>
-
-      <tool
-            natureFilter="cnature"
-            name="%ToolName.linker.xlf.fortran"
-            outputFlag="-o"
-            command="xlf95"
-            id="photran.managedbuild.tool.xlf.fortran.linker">
-         <envVarBuildPath 
-         	pathType="buildpathLibrary"
-         	variableList="LIBRARY_PATH">
-         </envVarBuildPath>
-         
-         <optionCategory
-               owner="photran.managedbuild.tool.xlf.fortran.linker"
-               name="%OptionCategory.General"
-               id="xlf.fortran.link.category.general">
-         </optionCategory>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoStartFiles"
-               category="xlf.fortran.link.category.general"
-               command="-nostartfiles"
-               id="xlf.fortran.link.option.nostart"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoDefLibs"
-               category="xlf.fortran.link.category.general"
-               command="-nodefaultlibs"
-               id="xlf.fortran.link.option.nodeflibs"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoStdLibs"
-               category="xlf.fortran.link.category.general"
-               command="-nostdlib"
-               id="xlf.fortran.link.option.nostdlibs"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.Strip"
-               category="xlf.fortran.link.category.general"
-               command="--strip-all"
-               id="xlf.fortran.link.option.strip"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.Static"
-               category="xlf.fortran.link.category.general"
-               command="-static"
-               id="xlf.fortran.link.option.noshared"
-               valueType="boolean">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.xlf.fortran.linker"
-               name="%OptionCategory.Libs"
-               id="xlf.fortran.link.category.libs">
-         </optionCategory>
-         <option
-               name="%Option.Posix.Libs"
-               category="xlf.fortran.link.category.libs"
-               command="-l"
-               id="xlf.fortran.link.option.libs"
-               browseType="file"
-               valueType="libs">
-         </option>
-         <option
-               name="%Option.Posix.Libsearch"
-               category="xlf.fortran.link.category.libs"
-               command="-L"
-               id="xlf.fortran.link.option.paths"
-               browseType="directory"
-               valueType="stringList">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.xlf.fortran.linker"
-               name="%OptionCategory.Misc"
-               id="xlf.fortran.link.category.other">
-         </optionCategory>
-         <option
-               name="%Option.Posix.Linker.Flags"
-               category="xlf.fortran.link.category.other"
-               valueType="string"
-               id="xlf.fortran.link.option.ldflags">
-         </option>
-         <option
-               name="%Option.Posix.Linker.XLinker"
-               category="xlf.fortran.link.category.other"
-               command="-Xlinker ${VALUE}"
-               valueType="stringList"
-               id="xlf.fortran.link.option.other">
-         </option>
-         <option
-               name="%Option.Posix.UserObjs"
-               category="xlf.fortran.link.category.other"
-               browseType="file"
-               valueType="userObjs"
-               id="xlf.fortran.link.option.userobjs">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.xlf.fortran.linker"
-               name="%OptionCategory.Shared.Settings"
-               id="xlf.fortran.link.category.shared">
-         </optionCategory>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.Shared"
-               category="xlf.fortran.link.category.shared"
-               command="-shared"
-               id="xlf.fortran.link.option.shared"
-               valueType="boolean">
-         </option>
-         <option
-               name="%Option.Posix.Linker.SOName"
-               category="xlf.fortran.link.category.shared"
-               command="-Wl,-soname="
-               id="xlf.fortran.link.option.soname"
-               valueType="string">
-         </option>
-         <option
-               name="%Option.Posix.Linker.Implib"
-               category="xlf.fortran.link.category.shared"
-               command="-Wl,--out-implib="
-               id="xlf.fortran.link.option.implname"
-               valueType="string">
-         </option>
-         <option
-               name="%Option.Posix.Linker.Defname"
-               category="xlf.fortran.link.category.shared"
-               command="-Wl,--output-def="
-               id="xlf.fortran.link.option.defname"
-               valueType="string">
-         </option>
-         <inputType
-            sourceContentType="org.eclipse.cdt.managedbuilder.core.compiledObjectFile"
-            sources="o"
-			multipleOfType="true"
-            dependencyCalculator="org.eclipse.cdt.managedbuilder.makegen.internal.DefaultNoDependencyCalculator"
-            buildVariable="OBJS"
-            id="photran.managedbuild.tool.xlf.fortran.linker.input">
-            <additionalInput
-            	paths="$(USER_OBJS)"
-            	kind="additionalinputdependency">
-            </additionalInput>
-            <additionalInput
-            	paths="$(LIBS)"
-            	kind="additionalinput">
-            </additionalInput>
-         </inputType>
-         <outputType
-			outputs=""
-            buildVariable="EXECUTABLES"
-            nameProvider="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuLinkOutputNameProvider"
-            id="photran.managedbuild.tool.xlf.fortran.linker.output">
-         </outputType>
-      </tool>
-
-      <tool
-            natureFilter="cnature"
-            name="%ToolName.linker.macosx.xlf.fortran"
-            outputFlag="-o"
-            command="xlf95"
-            commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}"
-            id="photran.managedbuild.tool.macosx.fortran.xlf.linker">
-         <envVarBuildPath 
-         	pathType="buildpathLibrary"
-         	variableList="LIBRARY_PATH">
-         </envVarBuildPath>
-         
-         <optionCategory
-               owner="photran.managedbuild.tool.macosx.fortran.xlf.linker"
-               name="%OptionCategory.General"
-               id="macosx.fortran.xlf.link.category.general">
-         </optionCategory>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoStartFiles"
-               category="macosx.fortran.xlf.link.category.general"
-               command="-nostartfiles"
-               id="macosx.fortran.xlf.link.option.nostart"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoDefLibs"
-               category="macosx.fortran.xlf.link.category.general"
-               command="-nodefaultlibs"
-               id="macosx.fortran.xlf.link.option.nodeflibs"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.NoStdLibs"
-               category="macosx.fortran.xlf.link.category.general"
-               command="-nostdlib"
-               id="macosx.fortran.xlf.link.option.nostdlibs"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.Strip"
-               category="macosx.fortran.xlf.link.category.general"
-               command="--strip-all"
-               id="macosx.fortran.xlf.link.option.strip"
-               valueType="boolean">
-         </option>
-         <option
-               defaultValue="false"
-               name="%Option.Posix.Linker.Static"
-               category="macosx.fortran.xlf.link.category.general"
-               command="-static"
-               id="macosx.fortran.xlf.link.option.noshared"
-               valueType="boolean">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.macosx.fortran.xlf.linker"
-               name="%OptionCategory.Libs"
-               id="macosx.fortran.xlf.link.category.libs">
-         </optionCategory>
-         <option
-               name="%Option.Posix.Libs"
-               category="macosx.fortran.xlf.link.category.libs"
-               command="-l"
-               id="macosx.fortran.xlf.link.option.libs"
-               browseType="file"
-               valueType="libs">
-         </option>
-         <option
-               name="%Option.Posix.Libsearch"
-               category="macosx.fortran.xlf.link.category.libs"
-               command="-L"
-               id="macosx.fortran.xlf.link.option.paths"
-               browseType="directory"
-               valueType="stringList">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.macosx.fortran.xlf.linker"
-               name="%OptionCategory.Misc"
-               id="macosx.fortran.xlf.link.category.other">
-         </optionCategory>
-         <option
-               name="%Option.Posix.Linker.Flags"
-               category="macosx.fortran.xlf.link.category.other"
-               valueType="string"
-               id="macosx.fortran.xlf.link.option.ldflags">
-         </option>
-         <option
-               name="%Option.Posix.Linker.XLinker"
-               category="macosx.fortran.xlf.link.category.other"
-               command="-Xlinker ${VALUE}"
-               valueType="stringList"
-               id="macosx.fortran.xlf.link.option.other">
-         </option>
-         <option
-               name="%Option.Posix.UserObjs"
-               category="macosx.fortran.xlf.link.category.other"
-               browseType="file"
-               valueType="userObjs"
-               id="macosx.fortran.xlf.link.option.userobjs">
-         </option>
-         <optionCategory
-               owner="photran.managedbuild.tool.macosx.fortran.xlf.linker"
-               name="%OptionCategory.Shared.Settings"
-               id="macosx.fortran.xlf.link.category.shared">
-         </optionCategory>
-         <option
-               defaultValue="false"
-               name="%Option.MacOSX.Linker.Shared"
-               category="macosx.fortran.xlf.link.category.shared"
-               command="-Wl,-dylib"
-               id="macosx.fortran.xlf.link.option.shared"
-               valueType="boolean">
-         </option>
-         <inputType
-            sourceContentType="org.eclipse.cdt.managedbuilder.core.compiledObjectFile"
-            sources="o"
-			multipleOfType="true"
-            dependencyCalculator="org.eclipse.cdt.managedbuilder.makegen.internal.DefaultNoDependencyCalculator"
-            buildVariable="OBJS"
-            id="photran.managedbuild.tool.macosx.fortran.xlf.linker.input">
-            <additionalInput
-            	paths="$(USER_OBJS)"
-            	kind="additionalinputdependency">
-            </additionalInput>
-            <additionalInput
-            	paths="$(LIBS)"
-            	kind="additionalinput">
-            </additionalInput>
-         </inputType>
-         <outputType
-			outputs=""
-            buildVariable="EXECUTABLES"
-            nameProvider="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuLinkOutputNameProvider"
-            id="photran.managedbuild.tool.macosx.fortran.xlf.linker.output">
-         </outputType>
-      </tool>
-    
-      <tool
-		  name="%ToolName.compiler.xlf.fortran"
-		  id="photran.managedbuild.tool.xlf.fortran.compiler"
-		  isAbstract="true"
-		  command="xlf95"
-		  natureFilter="both"
-		  outputFlag="-o">
-         <envVarBuildPath 
-         	pathType="buildpathInclude"
-         	variableList="CPATH,C_INCLUDE_PATH">
-         </envVarBuildPath>
-
-		  <optionCategory
-               owner="photran.managedbuild.tool.xlf.fortran.compiler"
-               name="%OptionCategory.Source"
-               id="xlf.fortran.compiler.category.source">
-		  </optionCategory>
-		  <option
-               name="%Option.XLF.Source.extension"
-               category="xlf.fortran.compiler.category.source"
-               id="xlf.fortran.compiler.option.source.extention"
-               valueType="enumerated">
-			<enumeratedOptionValue
-                 name="f"
-                 isDefault="false"
-                 command=""
-                 id="xlf.fortran.source.extention.f">
-			</enumeratedOptionValue>
-			<enumeratedOptionValue
-                 name="f90"
-                 isDefault="true"
-                 command="-qsuffix=f=f90"
-                 id="xlf.fortran.source.extention.f90">
-			</enumeratedOptionValue>
-			<enumeratedOptionValue
-                 name="f95"
-                 isDefault="false"
-                 command="-qsuffix=f=f95"
-                 id="xlf.fortran.source.extention.f95">
-			</enumeratedOptionValue>
-		  </option>
-		  <option
-               defaultValue=""
-               name="%Option.OtherFlags"
-               category="xlf.fortran.compiler.category.source"
-               id="xlf.fortran.compiler.option.source.other"
-               valueType="string">
-		  </option>
-		  <option
-               name="%Option.XLF.Source.free"
-               category="xlf.fortran.compiler.category.source"
-               command="-qfree=f90"
-               id="xlf.fortran.compiler.option.source.free"
-               valueType="boolean">
-		  </option>
-		  <option
-               name="%Option.XLF.Source.free.ibm"
-               category="xlf.fortran.compiler.category.source"
-               command="-qfree=ibm"
-               id="xlf.fortran.compiler.option.source.free.ibm"
-               valueType="boolean">
-		  </option>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.xlf.fortran.compiler"
-			  name="%OptionCategory.Symbols"
-			  id="xlf.fortran.compiler.category.symbols">
-		  </optionCategory>
-		  <option
-               name="%Option.Posix.DefSym"
-               category="xlf.fortran.compiler.category.symbols"
-               command="-D"
-               id="xlf.fortran.compiler.option.preprocessor.def.symbols"
-               valueType="definedSymbols">
-		  </option>
-		<option
-               name="%Option.Posix.UndefSym"
-               category="xlf.fortran.compiler.category.symbols"
-               command="-U"
-               id="xlf.f.compiler.option.preprocessor.undef.symbol"
-               valueType="stringList">
-		  </option>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.xlf.fortran.compiler"
-			  name="%OptionCategory.Dirs"
-			  id="xlf.fortran.compiler.category.dirs">
-		  </optionCategory>
-		  <option
-			  name="%Option.Posix.InclPaths"
-			  category="xlf.fortran.compiler.category.dirs"
-			  command="-I"
-			  id="xlf.fortran.compiler.option.include.paths"
-			  valueType="includePath"
-			  browseType="directory">
-		  </option>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.xlf.fortran.compiler"
-			  name="%OptionCategory.Optimize"
-			  id="xlf.fortran.compiler.category.optimization">
-		  </optionCategory>
-		  <option
-			  name="%Option.Posix.OptLevel"
-			  category="xlf.fortran.compiler.category.optimization"
-			  id="xlf.fortran.compiler.option.optimization.level"
-			  valueType="enumerated">
-		  <enumeratedOptionValue
-		  		  name="%Option.Posix.Optimize.None"
-				  isDefault="false"
-				  command="-O0"
-				  id="xlf.fortran.optimization.level.none">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Optimize.Optimize"
-				  command="-O1"
-				  id="xlf.fortran.optimization.level.optimize">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Optimize.More"
-				  isDefault="true"
-				  command="-O2"
-				  id="xlf.fortran.optimization.level.more">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Optimize.Most"
-				  command="-O3"
-				  id="xlf.fortran.optimization.level.most">
-		  </enumeratedOptionValue>
-		  </option>
-		  <option
-			  name="%Option.Posix.Optimize.Flags"
-			  category="xlf.fortran.compiler.category.optimization"
-			  id="xlf.fortran.compiler.option.optimization.flags"
-			  valueType="string">
-		  </option>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.xlf.fortran.compiler"
-			  name="%OptionCategory.Debug"
-			  id="xlf.fortran.compiler.category.debug">
-		  </optionCategory>
-		  <option
-			  name="%Option.Posix.DebugLevel"
-			  category="xlf.fortran.compiler.category.debug"
-			  id="xlf.fortran.compiler.option.debugging.level"
-			  valueType="enumerated">
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Debug.None"
-				  isDefault="false"
-				  id="xlf.fortran.debugging.level.none">
-		  </enumeratedOptionValue>
-		  <enumeratedOptionValue
-				  name="%Option.Posix.Debug.Def"
-				  isDefault="true"
-				  command="-g"
-				  id="xlf.fortran.debugging.level.default">
-		  </enumeratedOptionValue>
-		  </option>
-		  <option
-			  name="%Option.Posix.Debug.Other"
-			  category="xlf.fortran.compiler.category.debug"
-			  id="xlf.fortran.compiler.option.debugging.other"
-			  valueType="string">
-		  </option>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Debug.gprof"
-			  category="xlf.fortran.compiler.category.debug"
-			  command="-pg"
-			  id="xlf.fortran.compiler.option.debugging.gprof"
-			  valueType="boolean">
-		  </option>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Debug.prof"
-			  category="xlf.fortran.compiler.category.debug"
-			  command="-p"
-			  id="xlf.fortran.compiler.option.debugging.prof"
-			  valueType="boolean">
-		  </option>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.xlf.fortran.compiler"
-			  name="%OptionCategory.Warn"
-			  id="xlf.fortran.compiler.category.warnings">
-		  </optionCategory>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Warn.nowarn"
-			  category="xlf.fortran.compiler.category.warnings"
-			  command="-w"
-			  id="xlf.fortran.compiler.option.warnings.nowarn"
-			  valueType="boolean">
-		  </option>
-		  <optionCategory
-			  owner="photran.managedbuild.tool.xlf.fortran.compiler"
-			  name="%OptionCategory.Misc"
-			  id="xlf.fortran.compiler.category.other">
-		  </optionCategory>
-		  <option
-			  defaultValue="-c"
-			  name="%Option.OtherFlags"
-			  category="xlf.fortran.compiler.category.other"
-			  id="xlf.fortran.compiler.option.misc.other"
-			  valueType="string">
-		  </option>
-		  <option
-			  defaultValue="false"
-			  name="%Option.Posix.Verbose"
-			  category="xlf.fortran.compiler.category.other"
-			  command="-v"
-			  id="xlf.fortran.compiler.option.misc.verbose"
-			  valueType="boolean">
-		  </option>
-          <!--inputType
-		      sources="f90,f95,f03,f08,F90,F95,F03,F08,f,for,ftn,fix,f77,fpp,F,FOR,FTN,FIX,FPP,i,i90"
-              dependencyExtensions="f90,f95,f03,f08,F90,F95,F03,F08,f,for,ftn,fix,f77,fpp,F,FOR,FTN,FIX,FPP,i,i90"
-              dependencyCalculator="org.eclipse.photran.managedbuilder.core/org.eclipse.photran.managedbuilder.core.makegen.DefaultFortranDependencyCalculator"
-              id="photran.managedbuild.tool.xlf.fortran.compiler.input">
-          </inputType-->
-          <inputType
-              languageId="org.eclipse.photran.cdtinterface.fortran"
-              sourceContentType="org.eclipse.photran.core.fortranSource"
-              dependencyContentType="org.eclipse.photran.core.fortranSource"
-              dependencyCalculator="org.eclipse.photran.managedbuilder.core/org.eclipse.photran.managedbuilder.core.makegen.DefaultFortranDependencyCalculator"
-              id="photran.managedbuild.tool.xlf.fortran.compiler.input">
-          </inputType>
-          <outputType
-			  outputs="o"
-              buildVariable="OBJS"
-              id="photran.managedbuild.tool.xlf.fortran.compiler.output">
-          </outputType>
-	  </tool>  
-
-	  <projectType 
-            name="%TargetName.xlf.fortran.macosx.exe"
-            id="photran.managedbuild.target.xlf.fortran.macosx.exe"
-            isTest="false"
-            isAbstract="false">
-         <configuration
-               name="%ConfigName.Dbg"
-               cleanCommand="rm -rf"
-			   errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.photran.core.XLFErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser"               
-               id="photran.managedbuild.config.xlf.fortran.macosx.exe.debug">
-               <toolChain
-                     archList="all"
-                     osList="macosx"
-                     name="%XLFToolChainName.Dbg"
-                     targetTool="photran.managedbuild.tool.macosx.fortran.xlf.linker.macosx.exe.debug"
-                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
-                     id="photran.managedbuild.toolchain.xlf.fortran.macosx.exe.debug">
-                  <targetPlatform
-					  id="photran.managedbuild.target.xlf.platform.macosx.exe.debug"
-				 	  name="%PlatformName.Dbg"
-                      binaryParser="org.eclipse.cdt.core.MachO"
-					  osList="macosx"					  
-					  archList="all">
-				  </targetPlatform>
-			  	  <builder
-					  superClass="cdt.managedbuild.target.gnu.builder"
-					  id="photran.managedbuild.target.xlf.builder.macosx.exe.debug"
-					  name="%BuilderName.Dbg"
-					  command="make"
-					  arguments="-k"
-					  buildfileGenerator="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator">		              
-			      </builder>               		         
-                  <tool
-                      id="photran.managedbuild.tool.xlf.c.compiler.macosx.exe.debug"
-                      superClass="cdt.managedbuild.tool.gnu.c.compiler">
-                      <option
-                          id="photran.xlf.c.compiler.macosx.exe.debug.option.optimization.level"
-                          defaultValue="gnu.c.optimization.level.none"
-                          superClass="gnu.c.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="photran.xlf.c.compiler.macosx.exe.debug.option.debugging.level"
-                          defaultValue="gnu.c.debugging.level.max"
-                          superClass="gnu.c.compiler.option.debugging.level">
-                      </option>
-                  </tool>
-                  <tool
-                      id="photran.managedbuild.tool.xlf.fortran.compiler.macosx.exe.debug"
-                      superClass="photran.managedbuild.tool.xlf.fortran.compiler">
-                      <option
-                          id="xlf.fortran.compiler.macosx.exe.debug.option.optimization.level"
-                          defaultValue="xlf.fortran.optimization.level.none"
-                          superClass="xlf.fortran.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="xlf.fortran.compiler.macosx.exe.debug.option.debugging.level"
-                          defaultValue="xlf.fortran.debugging.level.default"
-                          superClass="xlf.fortran.compiler.option.debugging.level">
-                      </option>
-                  </tool>
-				  <tool
-				      id="photran.managedbuild.tool.macosx.fortran.xlf.linker.macosx.exe.debug"
-					  superClass="photran.managedbuild.tool.macosx.fortran.xlf.linker">
-				  </tool>
-				  <tool
-					  id="photran.managedbuild.tool.xlf.assembler.macosx.exe.debug"
-					  superClass="cdt.managedbuild.tool.gnu.assembler">
-				  </tool>   
-               </toolChain>                    
-         </configuration>
-         <configuration
-               name="%ConfigName.Rel"
-               cleanCommand="rm -rf"               
-			   errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.photran.core.XLFErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser"                              
-               id="photran.managedbuild.config.xlf.fortran.macosx.exe.release">
-               <toolChain
-                     archList="all"
-                     osList="macosx"
-                     name="%XLFToolChainName.Rel"
-                     targetTool="photran.managedbuild.tool.macosx.fortran.xlf.linker.macosx.exe.release"
-                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
-                     id="photran.managedbuild.toolchain.xlf.fortran.macosx.exe.release">
-                  <targetPlatform
-					  id="photran.managedbuild.target.xlf.platform.fortran.macosx.exe.release"
-				 	  name="%PlatformName.Rel"
-                      binaryParser="org.eclipse.cdt.core.MachO"
-					  osList="macosx"					  
-					  archList="all">
-				  </targetPlatform>
-			  	  <builder
-					  superClass="cdt.managedbuild.target.gnu.builder"
-					  id="photran.managedbuild.target.xlf.builder.macosx.exe.release"
-					  name="%BuilderName.Rel"
-					  command="make"
-					  arguments="-k"
-					  buildfileGenerator="org.eclipse.cdt.managedbuilder.makegen.gnu.GnuMakefileGenerator">		              
-			      </builder>               		         
-                  <tool
-                      id="photran.managedbuild.tool.xlf.c.compiler.macosx.exe.release"
-                      superClass="cdt.managedbuild.tool.gnu.c.compiler">
-                      <option
-                          id="photran.xlf.c.compiler.macosx.exe.release.option.optimization.level"
-                          defaultValue="gnu.c.optimization.level.most"
-                          superClass="gnu.c.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="photran.xlf.c.compiler.macosx.exe.release.option.debugging.level"
-                          defaultValue="gnu.c.debugging.level.none"
-                          superClass="gnu.c.compiler.option.debugging.level">
-                      </option>
-                   </tool>
-                   <tool
-                      id="photran.managedbuild.tool.xlf.fortran.compiler.macosx.exe.release"
-                      superClass="photran.managedbuild.tool.xlf.fortran.compiler">
-                      <option
-                          id="xlf.fortran.compiler.macosx.exe.release.option.optimization.level"
-                          defaultValue="xlf.fortran.optimization.level.most"
-                          superClass="xlf.fortran.compiler.option.optimization.level">
-                      </option>
-                      <option
-                          id="xlf.fortran.compiler.macosx.exe.release.option.debugging.level"
-                          defaultValue="xlf.fortran.debugging.level.none"
-                          superClass="xlf.fortran.compiler.option.debugging.level">
-                      </option>
-                   </tool>
-				   <tool
-				       id="photran.managedbuild.tool.macosx.fortran.xlf.linker.macosx.exe.release"
-					   superClass="photran.managedbuild.tool.macosx.fortran.xlf.linker">
-					</tool>
-				  <tool
-					  id="photran.managedbuild.tool.xlf.assembler.macosx.exe.release"
-					  superClass="cdt.managedbuild.tool.gnu.assembler">
-				  </tool>   
-               </toolChain>                             
-         </configuration>
-       </projectType>         
-
-   </extension>
-           
-</plugin>
diff --git a/org.eclipse.photran.ui.vpg.preprocessor.c/.classpath b/org.eclipse.photran.ui.vpg.preprocessor.c/.classpath
deleted file mode 100644
index 2d1a430..0000000
--- a/org.eclipse.photran.ui.vpg.preprocessor.c/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>

-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

-	<classpathentry kind="src" path="src"/>

-	<classpathentry kind="output" path="bin"/>

-</classpath>

diff --git a/org.eclipse.photran.ui.vpg.preprocessor.c/.project b/org.eclipse.photran.ui.vpg.preprocessor.c/.project
deleted file mode 100644
index 616562b..0000000
--- a/org.eclipse.photran.ui.vpg.preprocessor.c/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.ui.vpg.preprocessor.c</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.ui.vpg.preprocessor.c/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.ui.vpg.preprocessor.c/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 006dba0..0000000
--- a/org.eclipse.photran.ui.vpg.preprocessor.c/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 13:35:58 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.photran.ui.vpg.preprocessor.c/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.ui.vpg.preprocessor.c/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 78a01bb..0000000
--- a/org.eclipse.photran.ui.vpg.preprocessor.c/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Thu Oct 08 11:31:11 CDT 2009

-eclipse.preferences.version=1

-formatter_profile=_Photran

-formatter_settings_version=11

-org.eclipse.jdt.ui.javadoc=true

-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *    UIUC - Initial API and implementation\r\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * \r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>

diff --git a/org.eclipse.photran.ui.vpg.preprocessor.c/META-INF/MANIFEST.MF b/org.eclipse.photran.ui.vpg.preprocessor.c/META-INF/MANIFEST.MF
deleted file mode 100644
index b4069c6..0000000
--- a/org.eclipse.photran.ui.vpg.preprocessor.c/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.photran.ui.vpg.preprocessor.c;singleton:=true
-Bundle-Version: 3.0.0.qualifier
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ui.ide,
- org.eclipse.jface.text,
- org.eclipse.cdt.core,
- org.eclipse.photran.core,
- org.eclipse.photran.core.vpg,
- org.eclipse.photran.core.vpg.preprocessor.c,
- org.eclipse.photran.ui,
- org.eclipse.photran.ui.vpg,
- org.eclipse.rephraserengine.ui,
- org.eclipse.ui
-Bundle-Vendor: %Bundle-Vendor
-Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.photran.ui.vpg.preprocessor.c/OSGI-INF/l10n/bundle.properties b/org.eclipse.photran.ui.vpg.preprocessor.c/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index ceee5c5..0000000
--- a/org.eclipse.photran.ui.vpg.preprocessor.c/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Properties file for org.eclipse.photran.ui.vpg.preprocessor.c
-actionSet.description = C Preprocessor Actions
-actionSet.label = C Preprocessor Actions
-action.label = &Display Preprocessed Source
-Bundle-Vendor = Eclipse.org
-Bundle-Name = Photran C Preprocessor Support - UI Plug-in
\ No newline at end of file
diff --git a/org.eclipse.photran.ui.vpg.preprocessor.c/about.html b/org.eclipse.photran.ui.vpg.preprocessor.c/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.photran.ui.vpg.preprocessor.c/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.photran.ui.vpg.preprocessor.c/build.properties b/org.eclipse.photran.ui.vpg.preprocessor.c/build.properties
deleted file mode 100644
index 12fe5d9..0000000
--- a/org.eclipse.photran.ui.vpg.preprocessor.c/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src/

-output.. = bin/

-bin.includes = META-INF/,\

-               .,\

-               plugin.xml,\

-               OSGI-INF/l10n/bundle.properties,\

-               about.html

-src.includes = about.html

diff --git a/org.eclipse.photran.ui.vpg.preprocessor.c/plugin.xml b/org.eclipse.photran.ui.vpg.preprocessor.c/plugin.xml
deleted file mode 100644
index 06b9a37..0000000
--- a/org.eclipse.photran.ui.vpg.preprocessor.c/plugin.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.4"?>

-<plugin>

-   <!--====================================-->

-   <!-- Display Preprocessed Source Action -->

-   <!--====================================-->

-   <extension point="org.eclipse.ui.actionSets">

-      <actionSet

-            label="%actionSet.label"

-            description="%actionSet.description"

-            visible="false"

-            id="org.eclipse.photran.ui.vpg.preprocessor.c.CPPActionSet">

-         <action

-               class="org.eclipse.photran.internal.ui.actions.DisplayPreprocessedSource"

-               id="org.eclipse.photran.ui.DisplaySymbolTableAction"

-               label="%action.label"

-               menubarPath="file/additions"/>

-      </actionSet>

-   </extension>

-   <extension

-         point="org.eclipse.ui.actionSetPartAssociations">

-      <actionSetPartAssociation targetID="org.eclipse.photran.ui.vpg.preprocessor.c.CPPActionSet">

-         <part id="org.eclipse.photran.ui.FortranEditor"/>

-      </actionSetPartAssociation>

-   </extension>

-</plugin>

diff --git a/org.eclipse.photran.ui.vpg.preprocessor.c/src/org/eclipse/photran/internal/ui/actions/DisplayPreprocessedSource.java b/org.eclipse.photran.ui.vpg.preprocessor.c/src/org/eclipse/photran/internal/ui/actions/DisplayPreprocessedSource.java
deleted file mode 100644
index 6fa1fbe..0000000
--- a/org.eclipse.photran.ui.vpg.preprocessor.c/src/org/eclipse/photran/internal/ui/actions/DisplayPreprocessedSource.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.ui.actions;

-

-import java.io.BufferedOutputStream;

-import java.io.File;

-import java.io.FileOutputStream;

-import java.io.PrintStream;

-import java.io.Reader;

-import java.io.StringReader;

-import java.lang.reflect.InvocationTargetException;

-

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.text.IDocument;

-import org.eclipse.photran.internal.core.lexer.CPreprocessingReader;

-import org.eclipse.photran.internal.ui.editor.FortranEditor;

-import org.eclipse.ui.ide.IDE;

-import org.eclipse.ui.internal.Workbench;

-

-/**

- * Implements the Display Preprocessed Source action in the File menu

- *

- * @author Jeff Overbey

- */

-@SuppressWarnings({ "restriction" })

-public class DisplayPreprocessedSource extends FortranEditorActionDelegate

-{

-    public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException

-    {

-        try

-        {

-        	boolean isFixedForm = getFortranEditor().isFixedForm();

-        	

-            IDocument doc = getFortranEditor().getIDocument();

-            Reader in = new StringReader(doc.get());

-            Reader cppIn = new CPreprocessingReader(getFortranEditor().getIFile(), null, in);

-            

-            File tempFile = File.createTempFile(

-            	"tmp", //$NON-NLS-1$

-            	isFixedForm ? ".f" : ".f90"); //$NON-NLS-1$ //$NON-NLS-2$

-            tempFile.deleteOnExit();

-            PrintStream out =

-            	new PrintStream(

-            		new BufferedOutputStream(

-            			new FileOutputStream(tempFile)));

-            for (int c = cppIn.read(); c != -1; c = cppIn.read())

-            	out.print((char)c);

-            out.close();

-

-            IDE.openEditor(

-            		Workbench.getInstance().getActiveWorkbenchWindow().getActivePage(),

-            		tempFile.toURI(),

-            		FortranEditor.EDITOR_ID,

-            		true);

-        }

-        catch (Exception e)

-        {

-        	String message = e.getMessage();

-        	if (message == null) message = e.getClass().getName();

-        	MessageDialog.openError(getFortranEditor().getShell(), "Error", message); //$NON-NLS-1$

-        }

-    }

-}

diff --git a/org.eclipse.photran.ui.vpg/.classpath b/org.eclipse.photran.ui.vpg/.classpath
deleted file mode 100644
index 472ee29..0000000
--- a/org.eclipse.photran.ui.vpg/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.ui.vpg/.project b/org.eclipse.photran.ui.vpg/.project
deleted file mode 100644
index 606d2a3..0000000
--- a/org.eclipse.photran.ui.vpg/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.ui.vpg</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.ui.vpg/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.ui.vpg/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index af4d308..0000000
--- a/org.eclipse.photran.ui.vpg/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 13:41:49 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.photran.ui.vpg/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.ui.vpg/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 097c2b3..0000000
--- a/org.eclipse.photran.ui.vpg/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Thu Oct 08 11:31:11 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *    UIUC - Initial API and implementation\r\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * \r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.photran.ui.vpg/META-INF/MANIFEST.MF b/org.eclipse.photran.ui.vpg/META-INF/MANIFEST.MF
deleted file mode 100644
index f37c23e..0000000
--- a/org.eclipse.photran.ui.vpg/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,43 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.photran.ui.vpg;singleton:=true
-Bundle-Version: 7.0.0.qualifier
-Bundle-Activator: org.eclipse.photran.internal.ui.vpg.Activator
-Bundle-Vendor: %providerName
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.photran.ui,
- org.eclipse.photran.core.vpg,
- org.eclipse.ui.ide,
- org.eclipse.core.resources,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.ui.editors,
- org.eclipse.jface.text,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.ltk.ui.refactoring,
- org.eclipse.photran.core,
- org.eclipse.search,
- org.eclipse.photran.cdtinterface,
- org.eclipse.cdt.core,
- org.eclipse.cdt.ui,
- org.eclipse.rephraserengine.core.vpg,
- org.eclipse.rephraserengine.ui.refactoring,
- org.eclipse.rephraserengine.core,
- org.eclipse.rephraserengine.core.refactoring,
- org.eclipse.rephraserengine.ui,
- org.eclipse.rephraserengine.ui.vpg
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.photran.internal.ui.actions,
- org.eclipse.photran.internal.ui.editor_vpg,
- org.eclipse.photran.internal.ui.editor_vpg.contentassist,
- org.eclipse.photran.internal.ui.editor_vpg.folding,
- org.eclipse.photran.internal.ui.editor_vpg.hover,
- org.eclipse.photran.internal.ui.properties,
- org.eclipse.photran.internal.ui.refactoring,
- org.eclipse.photran.internal.ui.search,
- org.eclipse.photran.internal.ui.views.declaration,
- org.eclipse.photran.internal.ui.views.vpgproblems,
- org.eclipse.photran.internal.ui.vpg
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Localization: plugin
diff --git a/org.eclipse.photran.ui.vpg/OSGI-INF/l10n/bundle.properties b/org.eclipse.photran.ui.vpg/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index f4ea318..0000000
--- a/org.eclipse.photran.ui.vpg/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,63 +0,0 @@
-#Properties file for org.eclipse.photran.ui.vpg
-category.name = Fortran Refactoring Commands
-command.name = Rename...
-command.name.0 = Extract Procedure...
-command.name.1 = Extract Local Variable...
-command.name.21 = Add Subroutine Parameter...
-actionSet.description = Fortran Refactorings
-actionSet.label = Fortran Refactorings
-action.label = Re&name...
-action.label.0 = E&xtract Procedure...
-action.label.1 = Extract &Local Variable...
-action.label.21 = Add Subrouti&ne Parameter...
-page.name = Analysis/Refactoring
-category.description = Navigation
-category.name.0 = Navigation
-command.description = Open Declaration
-actionSet.description.0 = Fortran Analysis Actions
-actionSet.label.0 = Fortran Analysis Actions
-action.label.3 = &Open Declaration
-extension.name = Fortran Search
-page.label = Fortran Search
-category.description.0 = Fortran Search
-category.name.1 = Fortran Search
-command.description.0 = Searches the workspace for all references to a Fortran identifier
-command.name.3 = Find All References in Workspace
-command.description.1 = Searches the project for all references to a Fortran identifier
-command.name.4 = Find All References in Project
-command.description.2 = Searches the file for all references to a Fortran identifier
-command.name.5 = Find All References in File
-actionSet.description.1 = Fortran Search Actions
-actionSet.label.1 = Fortran Search Actions
-menu.label = R&eferences
-action.label.4 = File
-action.label.reindent = Correct Indentation
-command.description.reindent = Correct Indentation
-command.name.reindent = Correct Indentation
-actionSet.description.reindent = Fortran Reindentation
-actionSet.label.reindent = Fortran Reindentation
-action.label.reindent.0 = Correct &Indentation
-action.label.5 = Project
-action.label.6 = Workspace
-action.label.7 = F&ortran...
-menu.label.0 = Re&ferences
-action.label.8 = File
-action.label.9 = Project
-action.label.10 = Workspace
-actionSet.description.2 = Fortran Debug Actions
-actionSet.label.2 = Fortran Debug Actions
-menu.label.1 = Refac&tor
-menu.label.2 = (&Debugging)
-action.label.11 = Find Matching &Interface Declarations
-action.label.12 = Resolve &Interface Binding
-action.label.13 = Select &Enclosing Scope
-action.label.14 = &Find All Declarations in Scope
-action.label.15 = Display Symbol &Table for Current File
-action.label.16 = &Reset Binder Statistics
-action.label.17 = Display Binder &Statistics
-action.label.18 = 
-command.name.6 = Easter Egg
-category.name.2 = Fortran Views
-view.name = Fortran Declaration
-view.name.0 = Fortran Analysis/Refactoring Problems
-action.label.19 = Highlight Variable Accesses
\ No newline at end of file
diff --git a/org.eclipse.photran.ui.vpg/about.html b/org.eclipse.photran.ui.vpg/about.html
deleted file mode 100644
index 3f81093..0000000
--- a/org.eclipse.photran.ui.vpg/about.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.photran.ui.vpg/build.properties b/org.eclipse.photran.ui.vpg/build.properties
deleted file mode 100644
index eb0d6dd..0000000
--- a/org.eclipse.photran.ui.vpg/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               icons/,\
-               OSGI-INF/l10n/bundle.properties,\
-               about.html,\
-               plugin.properties,\
-               OSGI-INF/,\
-               OSGI-INF/l10n/
-jre.compilation.profile=J2SE-1.5
-src.includes = icons/
diff --git a/org.eclipse.photran.ui.vpg/icons/full/eview16/problems_view.gif b/org.eclipse.photran.ui.vpg/icons/full/eview16/problems_view.gif
deleted file mode 100644
index 807b28a..0000000
--- a/org.eclipse.photran.ui.vpg/icons/full/eview16/problems_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui.vpg/icons/full/eview16/source.gif b/org.eclipse.photran.ui.vpg/icons/full/eview16/source.gif
deleted file mode 100644
index 15b6257..0000000
--- a/org.eclipse.photran.ui.vpg/icons/full/eview16/source.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui.vpg/icons/full/obj16/f_file_obj.gif b/org.eclipse.photran.ui.vpg/icons/full/obj16/f_file_obj.gif
deleted file mode 100644
index ac45f38..0000000
--- a/org.eclipse.photran.ui.vpg/icons/full/obj16/f_file_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui.vpg/icons/full/obj16/fsearch_obj.gif b/org.eclipse.photran.ui.vpg/icons/full/obj16/fsearch_obj.gif
deleted file mode 100644
index fbd5b1b..0000000
--- a/org.eclipse.photran.ui.vpg/icons/full/obj16/fsearch_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui.vpg/icons/full/obj16/search_ref_obj.gif b/org.eclipse.photran.ui.vpg/icons/full/obj16/search_ref_obj.gif
deleted file mode 100644
index f8f0ce5..0000000
--- a/org.eclipse.photran.ui.vpg/icons/full/obj16/search_ref_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui.vpg/icons/sample.gif b/org.eclipse.photran.ui.vpg/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/org.eclipse.photran.ui.vpg/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui.vpg/plugin.properties b/org.eclipse.photran.ui.vpg/plugin.properties
deleted file mode 100644
index 0675a9f..0000000
--- a/org.eclipse.photran.ui.vpg/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginName=Photran Virtual Program Graph UI Plug-in
-providerName=Eclipse.org
-
diff --git a/org.eclipse.photran.ui.vpg/plugin.xml b/org.eclipse.photran.ui.vpg/plugin.xml
deleted file mode 100644
index 366ead6..0000000
--- a/org.eclipse.photran.ui.vpg/plugin.xml
+++ /dev/null
@@ -1,778 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <!--==============-->
-   <!-- Refactorings -->
-   <!--==============-->
-
-   <!-- NOTE: When adding refactorings, please notify
-        Mariano Mendez so he can update www.fortranrefactoring.com.ar -->
-
-   <extension
-         point="org.eclipse.rephraserengine.ui.refactoring.refactorings">
-      <resourceFilter class="org.eclipse.photran.internal.ui.vpg.PhotranResourceFilter" />
-
-      <!-- Define the Refactor menu -->
-
-      <group><!-- Rename and Move -->
-         <editorRefactoring command="org.eclipse.photran.ui.RenameRefactoringCommand" />
-      </group>
-      <group><!-- Extract XYZ -->
-         <editorRefactoring command="org.eclipse.photran.ui.ExtractProcedureRefactoringCommand" />
-         <editorRefactoring command="org.eclipse.photran.ui.ExtractLocalVariableRefactoringCommand" />
-      </group>
-      <group>
-          <submenu name="Subprogram"><!-- Refactorings that change subprograms -->
-             <editorRefactoring
-                command="org.eclipse.photran.ui.AddSubroutineParameterRefactoringCommand"
-             />
-             <editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.PermuteSubroutineArgsRefactoring"
-                 inputPage="org.eclipse.photran.internal.ui.refactoring.PermuteSubroutineArgsInputPage"
-             />
-             <editorRefactoring
-                 class = "org.eclipse.photran.internal.core.refactoring.SafeDeleteInternalSubprogramRefactoring"
-             />
-          </submenu>
-      </group>
-      <group>
-          <submenu name="Module"><!-- Refactorings that change declarations in modules -->
-             <editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.MakePrivateEntityPublicRefactoring"
-             />
-             <editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.EncapsulateVariableRefactoring"
-             />
-          </submenu>
-          <submenu name="Use Statement"><!-- Refactorings for USE statements -->
-             <editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.AddOnlyToUseStmtRefactoring"
-                 inputPage="org.eclipse.photran.internal.ui.refactoring.AddOnlyToUseStmtInputPage"
-             />
-             <editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.MinOnlyListRefactoring"
-             />
-          </submenu>
-      </group>
-      <group>
-          <submenu name="Common Block"><!-- Refactorings for COMMON blocks -->
-             <editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.CommonVarNamesRefactoring"
-                 inputPage="org.eclipse.photran.internal.ui.refactoring.CommonVarNamesInputPage"
-             />
-             <editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.MoveSavedToCommonBlockRefactoring"
-             />
-             <!--editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.MoveCommonToModuleRefactoring"
-             /-->
-          </submenu>
-      </group>
-      <group>
-          <submenu name="Do Loop"><!-- Loop transformations (for performance improvement) -->
-             <editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.InterchangeLoopsRefactoring"
-             />
-             <editorRefactoring
-             	class="org.eclipse.photran.internal.core.refactoring.FuseLoopsRefactoring"
-             />
-             <editorRefactoring
-                class="org.eclipse.photran.internal.core.refactoring.ReverseLoopRefactoring"
-             />
-             <editorRefactoring
-             	class="org.eclipse.photran.internal.core.refactoring.TileLoopRefactoring"
-             />
-             <editorRefactoring
-                class="org.eclipse.photran.internal.core.refactoring.UnrollLoopRefactoring"
-             />
-          </submenu>
-      </group>
-      <group>
-          <submenu name="Obsolete Language Features"><!-- Refactorings that remove obsolete features -->
-             <resourceRefactoring
-                class="org.eclipse.photran.internal.core.refactoring.RemoveArithmeticIfRefactoring"
-             />
-             <resourceRefactoring
-                command="org.eclipse.photran.ui.RemoveAssignedGotoRefactoringCommand"
-             />
-             <editorRefactoring
-                class="org.eclipse.photran.internal.core.refactoring.RemoveBranchToEndIfRefactoring"
-             />
-             <editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.ReplaceCharacterStarRefactoring"
-             />
-             <editorRefactoring
-                class="org.eclipse.photran.internal.core.refactoring.RemoveComputedGoToRefactoring"
-             />
-             <resourceRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.RepObsOpersRefactoring"
-             />
-             <editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.ReplaceOldStyleDoLoopRefactoring"
-             />
-             <editorRefactoring
-                class="org.eclipse.photran.internal.core.refactoring.RemovePauseStmtRefactoring"
-             />
-             <editorRefactoring
-                class="org.eclipse.photran.internal.core.refactoring.RemoveRealAndDoublePrecisionLoopCountersRefactoring"
-                inputPage="org.eclipse.photran.internal.ui.refactoring.RemoveRealAndDoublePrecisionLoopCountersInputPage"
-             />
-         </submenu>
-      </group>
-      <group>
-          <submenu name="Coding Style"><!-- Refactorings to improve coding style -->
-             <resourceRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.AddIdentifierToEndRefactoring"
-             />
-             <resourceRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.KeywordCaseRefactoring"
-                 inputPage="org.eclipse.photran.internal.ui.refactoring.KeywordCaseInputPage"
-             />
-             <editorRefactoring
-                 command="org.eclipse.photran.ui.IfConstructStatementConversionRefactoringCommand"
-             />
-             <resourceRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.DataToParameterRefactoring"
-             />
-             <resourceRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.IntroImplicitNoneRefactoring"
-             />
-             <resourceRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.MakeSaveExplicitRefactoring"
-             />
-             <editorRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.RemoveUnreferencedLabelsRefactoring"
-             />         
-             <resourceRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.RemoveUnusedVariablesRefactoring"
-             />
-             <resourceRefactoring
-                 class="org.eclipse.photran.internal.core.refactoring.StandardizeStatementsRefactoring"
-             />
-          </submenu>
-      </group>
-   </extension>
-
-   <!--=====================================-->
-   <!-- Advanced Refactoring Configurations -->
-   <!--=====================================-->
-
-   <!-- If a refactoring was contributed as a "command" above... -->
-   <!-- (usually, this is just so that we can associate a keybinding with it) -->
-
-   <!-- 1. Define the command -->
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="%category.name"
-            id="org.eclipse.photran.ui.RefactoringCategory">
-      </category>
-
-      <command
-            name="%command.name"
-            categoryId="org.eclipse.photran.ui.RefactoringCategory"
-            id="org.eclipse.photran.ui.RenameRefactoringCommand">
-      </command>
-      <command
-            name="%command.name.0"
-            categoryId="org.eclipse.photran.ui.RefactoringCategory"
-            id="org.eclipse.photran.ui.ExtractProcedureRefactoringCommand">
-      </command>
-      <command
-            name="%command.name.1"
-            categoryId="org.eclipse.photran.ui.RefactoringCategory"
-            id="org.eclipse.photran.ui.ExtractLocalVariableRefactoringCommand">
-      </command>
-      <command
-            name="Convert Between If Statement and If Construct..."
-            categoryId="org.eclipse.photran.ui.RefactoringCategory"
-           id="org.eclipse.photran.ui.IfConstructStatementConversionRefactoringCommand">
-      </command>
-      <command
-            categoryId="org.eclipse.photran.ui.RefactoringCategory"
-            id="org.eclipse.photran.ui.RemoveAssignedGotoRefactoringCommand"
-            name="Remove Assigned Goto...">
-      </command>
-      <command
-            name="%command.name.21"
-            categoryId="org.eclipse.photran.ui.RefactoringCategory"
-            id="org.eclipse.photran.ui.AddSubroutineParameterRefactoringCommand">
-      </command>
-   </extension>
-
-   <!-- 2. Optionally associate the command with an accelerator key -->
-   <extension
-         point="org.eclipse.ui.bindings">
-     <key
-            sequence="M3+M2+R"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.RenameRefactoringCommand"
-     />
-     <key
-            sequence="M3+M2+M"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.ExtractProcedureRefactoringCommand"
-     />
-     <key
-            sequence="M3+M2+L"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.ExtractLocalVariableRefactoringCommand"
-     />
-     <key
-            sequence="M3+M2+I"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.IfConstructStatementConversionRefactoringCommand"
-     />
-        <key
-            sequence="M3+M2+P"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.AddSubroutineParameterRefactoringCommand"
-     />
-   </extension>
-
-   <!-- 3. Add the command to Photran's Refactoring action set -->
-   <extension point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%actionSet.label"
-            description="%actionSet.description"
-            visible="false"
-            id="org.eclipse.photran.ui.RefactoringActionSet">
-
-         <action
-               label="%action.label"
-               definitionId="org.eclipse.photran.ui.RenameRefactoringCommand"
-               class="org.eclipse.photran.internal.ui.refactoring.RenameAction"
-               id="org.eclipse.photran.ui.RenameRefactoringAction"/>
-         <action
-               label="%action.label.0"
-               definitionId="org.eclipse.photran.ui.ExtractProcedureRefactoringCommand"
-               class="org.eclipse.photran.internal.ui.refactoring.ExtractProcedureAction"
-               id="org.eclipse.photran.ui.ExtractProcedureRefactoringAction"/>
-         <action
-               label="%action.label.1"
-               definitionId="org.eclipse.photran.ui.ExtractLocalVariableRefactoringCommand"
-               class="org.eclipse.photran.internal.ui.refactoring.ExtractLocalVariableAction"
-               id="org.eclipse.photran.ui.ExtractLocalVariableRefactoringAction"/>
-         <action
-               label="Convert Between If Statement and If Construct"
-               definitionId="org.eclipse.photran.ui.IfConstructStatementConversionRefactoringCommand"
-               class="org.eclipse.photran.internal.ui.refactoring.IfConstructStatementConversionAction"
-               id="org.eclipse.photran.ui.IfConstructStatementConversionRefactoringAction"/>
-         <action
-               label="Remove Assigned Goto"
-               definitionId="org.eclipse.photran.ui.RemoveAssignedGotoRefactoringCommand"
-               class="org.eclipse.photran.internal.ui.refactoring.RemoveAssignedGotoAction"
-               id="org.eclipse.photran.ui.RemoveAssignedGotoAction"/>
-         <action
-               label="%action.label.21"
-               definitionId="org.eclipse.photran.ui.AddSubroutineParameterRefactoringCommand"
-               class="org.eclipse.photran.internal.ui.refactoring.AddSubroutineParameterAction"
-               id="org.eclipse.photran.ui.AddSubroutineParameterRefactoringAction"/>
-      </actionSet>
-   </extension>
-
-   <!-- 4. Associate the Refactoring action set with the Fortran perspective & editor -->
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension targetID="org.eclipse.photran.ui.FortranPerspective">
-         <actionSet id="org.eclipse.photran.ui.RefactoringActionSet"/>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation targetID="org.eclipse.photran.ui.RefactoringActionSet">
-         <part id="org.eclipse.photran.ui.FortranEditor"/>
-      </actionSetPartAssociation>
-   </extension>
-
-   <!--=========================================-->
-   <!-- Fortran-specific project property pages -->
-   <!--=========================================-->
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            name="%page.name"
-            class="org.eclipse.photran.internal.ui.properties.SearchPathsPropertyPage"
-            id="org.eclipse.photran.ui.SearchPathsPropertyPage"
-            category="org.eclipse.photran.ui.newui.Page_head_general">
-         <filter
-               name="projectNature"
-               value="org.eclipse.photran.core.fnature">
-         </filter>            
-         <enabledWhen>
-            <or>
-              <instanceof value="org.eclipse.core.resources.IProject"/>
-              <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
-            </or>          
-         </enabledWhen>
-      </page>
-   </extension>
-
-   <!-- Commands, key bindings, and popup menu entries
-
-        Each command should have its ID declared as a constant in AbstractFortranEditor, and
-        it must be set up in AbstractFortranEditor#createActions().
-
-        For menubarPath, see class ITextEditorActionConstants -->
-
-   <!--  win32:  M1=CTRL,    M2=SHIFT, M3=ALT, M4=-
-         carbon: M1=COMMAND, M2=SHIFT, M3=ALT, M4=CTRL -->
-
-   <!--==================================-->
-   <!-- Open Declaration (F3 or Ctrl+F3) -->
-   <!--==================================-->
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="%category.name.0"
-            description="%category.description"
-            id="org.eclipse.photran.ui.NavigationCategory">
-      </category>
-      <command
-            categoryId="org.eclipse.photran.ui.NavigationCategory"
-            description="%command.description"
-            id="org.eclipse.photran.ui.OpenDeclarationCommand"
-            name="%command.name.2">
-      </command>
-   </extension>
-   <extension
-            point="org.eclipse.ui.bindings">
-      <!--  win32:  M1=CTRL,    M2=SHIFT, M3=ALT, M4=-
-            carbon: M1=COMMAND, M2=SHIFT, M3=ALT, M4=CTRL -->
-        <key
-            sequence="F3"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.OpenDeclarationCommand"/>
-        <key
-            sequence="M1+F3"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.OpenDeclarationCommand"/>
-   </extension>
-   <extension point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%actionSet.label.0"
-            description="%actionSet.description.0"
-            visible="false"
-            id="org.eclipse.photran.ui.AnalysisActionSet">
-         <action
-               label="%action.label.2"
-               definitionId="org.eclipse.photran.ui.OpenDeclarationCommand"
-               class="org.eclipse.photran.internal.ui.actions.OpenDeclaration"
-               menubarPath="navigate/additions"
-               id="org.eclipse.photran.ui.OpenDeclarationAction"/>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation targetID="org.eclipse.photran.ui.AnalysisActionSet">
-         <part id="org.eclipse.photran.ui.FortranEditor"/>
-      </actionSetPartAssociation>
-   </extension>
-   <extension point="org.eclipse.ui.popupMenus">
-     <viewerContribution
-        targetID="#FortranEditorContextMenu"
-        id="org.eclipse.photran.ui.NavigationContribution">
-       <action
-            class="org.eclipse.photran.internal.ui.actions.OpenDeclaration"
-            definitionId="org.eclipse.photran.ui.OpenDeclarationCommand"
-            id="org.eclipse.photran.ui.OpenDeclarationMenuAction"
-            label="%action.label.3"
-            menubarPath="group.open"/>
-     </viewerContribution>
-   </extension>
-
-   <!--============-->
-   <!-- Reindenter -->
-   <!--============-->
-   <extension point="org.eclipse.ui.popupMenus">
-	  <viewerContribution 
-	        targetID="#FortranEditorContextMenu" 
-	        id="org.eclipse.photran.ui.FixedReindenterContribution">
-	     <action 
-	           label="%action.label.reindent" 
-               definitionId="org.eclipse.photran.ui.CorrectIndentationCommand"
-	           class="org.eclipse.photran.internal.ui.actions.CorrectIndentationAction" 
-	           menubarPath="group.edit" 
-	           id="org.eclipse.photran.ui.ReindenterMenuAction"/>
-	  </viewerContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="%category.name"
-            description="%category.description"
-            id="org.eclipse.photran.ui.SourceEditingCategory">
-      </category>
-      <command
-            categoryId="org.eclipse.photran.ui.SourceEditingCategory"
-            description="%command.description"
-            id="org.eclipse.photran.ui.CorrectIndentationCommand"
-            name="%command.name.reindent">
-      </command>
-   </extension>
-   <extension point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%actionSet.label.reindent"
-            description="%actionSet.description.reindent"
-            visible="false"
-            id="org.eclipse.photran.ui.Reindenter">
-	     <action 
-	           label="%action.label.reindent.0" 
-               menubarPath="org.eclipse.jdt.ui.source.menu/editGroup"
-               definitionId="org.eclipse.photran.ui.CorrectIndentationCommand"
-	           class="org.eclipse.photran.internal.ui.actions.CorrectIndentationAction"
-	           id="org.eclipse.photran.ui.ReindenterAction">
-	     </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation targetID="org.eclipse.photran.ui.Reindenter">
-         <part id="org.eclipse.photran.ui.FortranEditor"/>
-      </actionSetPartAssociation>
-   </extension>
-   <extension
-            point="org.eclipse.ui.bindings">
-        <!--win32:  M1=CTRL,    M2=SHIFT, M3=ALT, M4=-
-            carbon: M1=COMMAND, M2=SHIFT, M3=ALT, M4=CTRL -->
-        <!-- Bind Ctrl+I to Reindent -->
-        <key
-            sequence="M1+I"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.CorrectIndentationCommand"/>
-   </extension>
-
-   <!--====================================-->
-   <!-- Fortran Search and Find References -->
-   <!--====================================-->
-   <extension
-      id="vpgSearchPage"
-      name="%extension.name"
-      point="org.eclipse.search.searchPages">
-     <page
-        canSearchEnclosingProjects="true"
-        class="org.eclipse.photran.internal.ui.search.FortranSearchPage"
-        icon="icons/full/obj16/fsearch_obj.gif"
-        id="org.eclipse.photran.ui.vpgSearchPage"
-        label="%page.label"
-        showScopeSection="true"
-        sizeHint="460, 160"/>
-   </extension>
-
-   <!-- 1. Define the command -->
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="%category.name.1"
-            description="%category.description.0"
-            id="org.eclipse.photran.ui.SearchCategory">
-      </category>
-      <command
-            categoryId="org.eclipse.photran.ui.SearchCategory"
-            description="%command.description.0"
-            id="org.eclipse.photran.ui.vpg.FortranFindReferencesWorkspaceCommand"
-            name="%command.name.3" />
-      <command
-            categoryId="org.eclipse.photran.ui.SearchCategory"
-            description="%command.description.1"
-            id="org.eclipse.photran.ui.vpg.FortranFindReferencesProjectCommand"
-            name="%command.name.4" />
-      <command
-            categoryId="org.eclipse.photran.ui.SearchCategory"
-            description="%command.description.2"
-            id="org.eclipse.photran.ui.vpg.FortranFindReferencesFileCommand"
-            name="%command.name.5" />
-   </extension>
-   <!-- 2. Optionally associate the command with an accelerator key -->
-   <extension
-            point="org.eclipse.ui.bindings">
-        <!--win32:  M1=CTRL,    M2=SHIFT, M3=ALT, M4=-
-            carbon: M1=COMMAND, M2=SHIFT, M3=ALT, M4=CTRL -->
-        <!-- Bind Shift+Ctrl+G to References > Workspace -->
-        <key
-            sequence="M2+M1+G"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.vpg.FortranFindReferencesWorkspaceCommand"/>
-   </extension>
-   <!-- 3. Add the command to an action set -->
-   <extension point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%actionSet.label.1"
-            description="%actionSet.description.1"
-            visible="false"
-            id="org.eclipse.photran.ui.SearchActionSet">
-         <menu
-               id="org.eclipse.photran.ui.vpg.FortranFindReferencesMenu"
-               label="%menu.label"
-               path="org.eclipse.search.menu/occurencesActionsGroup"><!-- See plugin.xml for org.eclipse.search -->
-           <separator
-               name="FindAllReferencesGroup">
-           </separator>
-         </menu>
-         <action
-            class="org.eclipse.photran.internal.ui.search.FortranFindReferencesActionDelegate$FileActionDelegate"
-            definitionId="org.eclipse.photran.ui.vpg.FortranFindReferencesFileCommand"
-            icon="icons/full/obj16/search_ref_obj.gif"
-            id="org.eclipse.photran.ui.vpg.FortranFindReferencesFileAction"
-            label="%action.label.4"
-            menubarPath="org.eclipse.search.menu/org.eclipse.photran.ui.vpg.FortranFindReferencesMenu/FindAllReferencesGroup">
-         </action>
-         <action
-            class="org.eclipse.photran.internal.ui.search.FortranFindReferencesActionDelegate$ProjectActionDelegate"
-            definitionId="org.eclipse.photran.ui.vpg.FortranFindReferencesProjectCommand"
-            icon="icons/full/obj16/search_ref_obj.gif"
-            id="org.eclipse.photran.ui.vpg.FortranFindReferencesProjectAction"
-            label="%action.label.5"
-            menubarPath="org.eclipse.search.menu/org.eclipse.photran.ui.vpg.FortranFindReferencesMenu/FindAllReferencesGroup">
-         </action>
-         <action
-            class="org.eclipse.photran.internal.ui.search.FortranFindReferencesActionDelegate$WorkspaceActionDelegate"
-            definitionId="org.eclipse.photran.ui.vpg.FortranFindReferencesWorkspaceCommand"
-            icon="icons/full/obj16/search_ref_obj.gif"
-            id="org.eclipse.photran.ui.vpg.FortranFindReferencesWorkspaceAction"
-            label="%action.label.6"
-            menubarPath="org.eclipse.search.menu/org.eclipse.photran.ui.vpg.FortranFindReferencesMenu/FindAllReferencesGroup">
-         </action>
-         <action
-               class="org.eclipse.photran.internal.ui.search.FortranSearchPage$OpenAction"
-               icon="icons/full/obj16/fsearch_obj.gif"
-               id="org.eclipse.photran.ui.vpg.actions.OpenFortranSearchPage"
-               label="%action.label.7"
-               menubarPath="org.eclipse.search.menu/dialogGroup">
-         </action>
-      </actionSet>
-   </extension>
-   <!-- 4. Associate the action set with the Fortran perspective & editors -->
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension targetID="org.eclipse.photran.ui.FortranPerspective">
-         <actionSet id="org.eclipse.photran.ui.SearchActionSet"/>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation targetID="org.eclipse.photran.ui.SearchActionSet">
-         <part id="org.eclipse.photran.ui.FortranEditor"/>
-      </actionSetPartAssociation>
-   </extension>
-   <!-- 5. Contribute the actions to the Fortran editors' popup menus -->
-   <extension point="org.eclipse.ui.popupMenus">
-     <viewerContribution
-         id="org.eclipse.photran.ui.vpg.FortranFindReferencesContribution"
-         targetID="#FortranEditorContextMenu">
-      <menu
-            id="org.eclipse.photran.ui.vpg.FortranFindReferencesMenu"
-            label="%menu.label.0"
-            path="group.find"><!-- See ITextEditorActionConstants - was originally group.search according to IContextMenuConstants -->
-         <separator
-               name="FindAllReferencesGroup">
-         </separator>
-      </menu>
-      <action
-            class="org.eclipse.photran.internal.ui.search.FortranFindReferencesActionDelegate$FileActionDelegate"
-            definitionId="org.eclipse.photran.ui.vpg.FortranFindReferencesFileCommand"
-            icon="icons/full/obj16/search_ref_obj.gif"
-            id="org.eclipse.photran.ui.vpg.FortranFindReferencesFileAction"
-            label="%action.label.8"
-            menubarPath="org.eclipse.photran.ui.vpg.FortranFindReferencesMenu/FindAllReferencesGroup">
-      </action>
-      <action
-            class="org.eclipse.photran.internal.ui.search.FortranFindReferencesActionDelegate$ProjectActionDelegate"
-            definitionId="org.eclipse.photran.ui.vpg.FortranFindReferencesProjectCommand"
-            icon="icons/full/obj16/search_ref_obj.gif"
-            id="org.eclipse.photran.ui.vpg.FortranFindReferencesProjectAction"
-            label="%action.label.9"
-            menubarPath="org.eclipse.photran.ui.vpg.FortranFindReferencesMenu/FindAllReferencesGroup">
-      </action>
-      <action
-            class="org.eclipse.photran.internal.ui.search.FortranFindReferencesActionDelegate$WorkspaceActionDelegate"
-            definitionId="org.eclipse.photran.ui.vpg.FortranFindReferencesWorkspaceCommand"
-            icon="icons/full/obj16/search_ref_obj.gif"
-            id="org.eclipse.photran.ui.vpg.FortranFindReferencesWorkspaceAction"
-            label="%action.label.10"
-            menubarPath="org.eclipse.photran.ui.vpg.FortranFindReferencesMenu/FindAllReferencesGroup">
-      </action>
-     </viewerContribution>
-   </extension>
-
-   <!--=======================================-->
-   <!-- Debugging Actions in Refactoring Menu -->
-   <!--=======================================-->
-
-   <!-- Contribution to the Rephraser Engine UI -->
-   <!--     This will automatically add some actions to the (Debugging) sub-menu of the Refactor -->
-   <!--     menu in the menu bar, such as Display VPG Database, Refresh VPG Database, etc.       -->
-   <!--     All of these actions are language-independent.                                       -->
-   <extension
-         point="org.eclipse.rephraserengine.ui.vpg.vpg">
-      <vpg
-         id="org.eclipse.photran.ui.vpg"
-         name="Fortran"
-         class="org.eclipse.photran.internal.ui.vpg.PhotranVPGContribution" />
-   </extension>
-
-   <!-- Fortran-specific debugging actions -->
-   <!--     These actions (e.g., Display Symbol Table and Resolve INTERFACE Binding) are  -->
-   <!--     Fortran-specific, but they are also contributed to the Refactor > (Debugging) -->
-   <!--     menu.                                                                         -->
-   <extension point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%actionSet.label.2"
-            description="%actionSet.description.2"
-            visible="false"
-            id="org.eclipse.photran.ui.DebugActionSet">
-         <menu
-               label="%menu.label.1"
-               path="edit"
-               id="org.eclipse.jdt.ui.refactoring.menu">
-            <separator name="scriptGroup"/>
-         </menu>
-
-         <menu
-               label="%menu.label.2"
-               path="org.eclipse.jdt.ui.refactoring.menu/scriptGroup"
-               id="debugging">
-            <separator name="debugging"/>
-            <separator name="debugginginterfaces"/>
-            <separator name="vpgstats"/>
-            <separator name="vpgdb"/>
-         </menu>
-         <action
-               label="%action.label.11"
-               class="org.eclipse.photran.internal.ui.actions.FindMatchingInterfaceDeclarations"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/debugginginterfaces"
-               id="org.eclipse.photran.ui.FindMatchingInterfaceDeclarationsAction"/>
-         <action
-               label="%action.label.12"
-               class="org.eclipse.photran.internal.ui.actions.ResolveInterfaceBinding"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/debugginginterfaces"
-               id="org.eclipse.photran.ui.ResolveInterfaceBindingAction"/>
-         <!-- -->
-         <action
-               label="%action.label.13"
-               class="org.eclipse.photran.internal.ui.actions.SelectEnclosingScope"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/debugging"
-               id="org.eclipse.photran.ui.FindEnclosingScopeAction"/>
-         <action
-               label="%action.label.14"
-               class="org.eclipse.photran.internal.ui.actions.FindAllDeclarationsInScope"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/debugging"
-               id="org.eclipse.photran.ui.FindAllDeclarationsInScopeAction"/>
-         <action
-               class="org.eclipse.photran.internal.ui.actions.DisplaySymbolTable"
-               id="org.eclipse.photran.ui.DisplaySymbolTableAction"
-               label="%action.label.15"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/debugging"/>
-         <!-- -->
-         <action
-               label="%action.label.19"
-               class="org.eclipse.photran.internal.ui.actions.HighlightVariableAccesses"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/debugging"
-               id="org.eclipse.photran.ui.HighlightVariableAccessesAction"/>
-         <!-- -->
-         <action
-               class="org.eclipse.photran.internal.ui.actions.ResetBinderStatistics"
-               id="org.eclipse.photran.ui.ResetBinderStatisticsAction"
-               label="%action.label.16"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/vpgstats"/>
-         <action
-               class="org.eclipse.photran.internal.ui.actions.DisplayBinderStatistics"
-               id="org.eclipse.photran.ui.DisplayBinderStatisticsAction"
-               label="%action.label.17"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/vpgstats"/>
-         <!-- -->
-         <action
-               label="%action.label.18"
-               definitionId="org.eclipse.photran.ui.EasterEggCommand"
-               class="org.eclipse.photran.internal.ui.actions.EasterEggAction"
-               id="org.eclipse.photran.ui.EasterEggAction"/>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%command.name.6"
-            categoryId="org.eclipse.photran.ui.RefactoringCategory"
-            id="org.eclipse.photran.ui.EasterEggCommand">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <!--  win32:  M1=CTRL,    M2=SHIFT, M3=ALT, M4=-
-            carbon: M1=COMMAND, M2=SHIFT, M3=ALT, M4=CTRL -->
-     <key
-            sequence="M1+M2+M3+M4+6"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.EasterEggCommand"
-     />
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension targetID="org.eclipse.photran.ui.FortranPerspective">
-         <!-- Omitting this since most of the actions are only meaningful when an editor is open:
-         <actionSet id="org.eclipse.photran.ui.DebugActionSet"/-->
-         <actionSet id="org.eclipse.rephraserengine.ui.DebugActionSet"/>
-         <actionSet id="org.eclipse.rephraserengine.ui.vpg.BrowserActionSet"/>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation targetID="org.eclipse.photran.ui.DebugActionSet">
-         <part id="org.eclipse.photran.ui.FortranEditor"/>
-      </actionSetPartAssociation>
-      <actionSetPartAssociation targetID="org.eclipse.rephraserengine.ui.DebugActionSet">
-         <part id="org.eclipse.photran.ui.FortranEditor"/>
-      </actionSetPartAssociation>
-      <actionSetPartAssociation targetID="org.eclipse.rephraserengine.ui.vpg.BrowserActionSet">
-         <part id="org.eclipse.photran.ui.FortranEditor"/>
-      </actionSetPartAssociation>
-   </extension>
-
-   <!--=======-->
-   <!-- Views -->
-   <!--=======-->
-   <extension point="org.eclipse.ui.views">
-      <category
-            id="org.eclipse.photran.ui.views"
-            name="%category.name.2">
-      </category>
-      
-      <!-- Declaration View -->
-      <view
-            category="org.eclipse.photran.ui.views"
-            class="org.eclipse.photran.internal.ui.views.declaration.DeclarationView"
-            icon="icons/full/eview16/source.gif"
-            id="org.eclipse.photran.ui.DeclarationView"
-            name="%view.name">
-      </view>
-
-      <!-- Analysis/Refactoring Problems View -->
-      <view
-            category="org.eclipse.photran.ui.views"
-            class="org.eclipse.photran.internal.ui.views.vpgproblems.VPGProblemView"
-            icon="icons/full/eview16/problems_view.gif"
-            id="org.eclipse.photran.ui.VPGProblemView"
-            name="%view.name.0">
-      </view>
-   </extension>
-
-   <!--=================================-->
-   <!-- VPG Source Viewer Configuration -->
-   <!--=================================-->
-   <extension point="org.eclipse.photran.ui.sourceViewerConfig">
-      <sourceViewerConfig
-          factory="org.eclipse.photran.internal.ui.editor_vpg.FortranVPGSourceViewerConfigurationFactory" />
-   </extension>
-</plugin>
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/CorrectIndentationAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/CorrectIndentationAction.java
deleted file mode 100644
index a834dbd..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/CorrectIndentationAction.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.ui.actions;

-

-import java.io.IOException;

-import java.io.StringReader;

-import java.lang.reflect.InvocationTargetException;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.text.IDocument;

-import org.eclipse.jface.text.ITextSelection;

-import org.eclipse.photran.core.IFortranAST;

-import org.eclipse.photran.internal.core.FortranAST;

-import org.eclipse.photran.internal.core.SyntaxException;

-import org.eclipse.photran.internal.core.lexer.ASTLexerFactory;

-import org.eclipse.photran.internal.core.lexer.IAccumulatingLexer;

-import org.eclipse.photran.internal.core.lexer.LexerException;

-import org.eclipse.photran.internal.core.lexer.TokenList;

-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;

-import org.eclipse.photran.internal.core.parser.Parser;

-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;

-import org.eclipse.photran.internal.core.reindenter.Reindenter;

-import org.eclipse.photran.internal.core.reindenter.Reindenter.Strategy;

-import org.eclipse.photran.internal.core.sourceform.SourceForm;

-

-/**

- * The Correct Indentation action in the Fortran editor's context menu.

- * 

- * @author Esfar Huq

- * @author Rui Wang

- * @author Jeff Overbey

- */

-public class CorrectIndentationAction extends FortranEditorASTActionDelegate

-{

-    public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException

-    {

-        try

-        {

-            if (ensureNotFixedForm())

-            {

-                ITextSelection selectedRegion = getFortranEditor().getSelection();

-                String sourceCode = reindent(selectedRegion);

-                setTextInEditor(sourceCode);

-                setEditorSelectionTo(selectedRegion, sourceCode);

-            }

-        }

-        catch (Exception e)

-        {

-            String message = e.getMessage();

-            if (message == null) message = e.getClass().getName();

-            MessageDialog.openError(getFortranEditor().getShell(), "Error", message); //$NON-NLS-1$

-        }

-    }

-

-    /** @return true iff the file in the editor has free source form */

-    private boolean ensureNotFixedForm()

-    {

-        IFile ifile = getFortranEditor().getIFile();

-        if (ifile != null && SourceForm.of(ifile).isFixedForm())

-        {

-            MessageDialog.openError(getFortranEditor().getShell(), "Error", //$NON-NLS-1$

-                Messages.CorrectIndentationAction_NotAvailableForFixedForm);

-            return false;

-        }

-        else return true;

-    }

-

-    private String reindent(ITextSelection selection) throws IOException, LexerException, SyntaxException

-    {

-        IFortranAST ast = parseTextInEditor();

-

-        if (selection.getLength() == 0)

-            Reindenter.reindent(ast.getRoot(), ast, Strategy.REINDENT_EACH_LINE);

-        else

-            Reindenter.reindent(selection.getStartLine()+1, selection.getEndLine()+1, ast, Strategy.REINDENT_EACH_LINE);

-

-        return SourcePrinter.getSourceCodeFromAST(ast);

-    }

-

-    private IFortranAST parseTextInEditor() throws IOException, LexerException, SyntaxException

-    {

-        IFile ifile = getFortranEditor().getIFile();

-        String filename = ifile != null ? ifile.getName() : "new_file.f90"; //$NON-NLS-1$

-        IAccumulatingLexer lexer = new ASTLexerFactory().createLexer(

-            new StringReader(getDocument().get()),

-            ifile,

-            filename,

-            SourceForm.of(ifile));

-        ASTExecutableProgramNode astRoot = new Parser().parse(lexer);

-        return new FortranAST(ifile, astRoot, new TokenList(astRoot));

-    }

-

-    private IDocument getDocument()

-    {

-        return getFortranEditor().getDocumentProvider().getDocument(getFortranEditor().getEditorInput());

-    }

-

-    private void setTextInEditor(String sourceCode)

-    {

-        getDocument().set(sourceCode);

-    }

-

-    private void setEditorSelectionTo(ITextSelection selection, String sourceCode)

-    {

-//        int newStartOffset = Math.min(selection.getOffset(), sourceCode.length()-1);

-//        int newEndOffset = Math.min(newStartOffset+selection.getLength(), sourceCode.length()-1);

-//        getFortranEditor().selectAndReveal(newStartOffset, newEndOffset-newStartOffset);

-

-        int newOffset = Math.min(selection.getOffset(), sourceCode.length()-1);

-        getFortranEditor().selectAndReveal(newOffset, 0);

-    }

-}

diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/DisplayBinderStatistics.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/DisplayBinderStatistics.java
deleted file mode 100644
index a600315..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/DisplayBinderStatistics.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.io.PrintStream;
-
-import org.eclipse.photran.internal.core.analysis.binding.Binder;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.actions.VPGOutputWindowAction;
-
-/**
- * Implements the Display Binder Statistics action in the Refactor/(Debugging) menu
- *
- * @author Jeff Overbey
- */
-public class DisplayBinderStatistics extends VPGOutputWindowAction
-{
-    @SuppressWarnings("rawtypes")
-    @Override
-    protected void writeOutput(EclipseVPG vpg, PrintStream ps)
-    {
-        Binder.printStatisticsOn(ps);
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/DisplaySymbolTable.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/DisplaySymbolTable.java
deleted file mode 100644
index bd732f4..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/DisplaySymbolTable.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.io.File;
-import java.io.PrintStream;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ImplicitSpec;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.rephraserengine.ui.UIUtil;
-
-/**
- * Implements the Display Symbol Table action in the Refactor/(Debugging) menu
- *
- * @author Jeff Overbey
- */
-public class DisplaySymbolTable extends FortranEditorASTActionDelegate
-{
-    public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException
-    {
-        try
-        {
-        	progressMonitor.beginTask(Messages.DisplaySymbolTable_WaitingForBackgroundWorkToComplete, IProgressMonitor.UNKNOWN);
-
-            File temp = UIUtil.createTempFile();
-            final PrintStream ps = UIUtil.createPrintStream(temp);
-
-            ps.println("SYMBOL TABLE - Derived from Virtual Program Graph"); //$NON-NLS-1$
-
-        	getAST().accept(new GenericASTVisitor()
-        	{
-        		private int indentation = 0;
-
-				@Override public void visitASTNode(IASTNode node)
-				{
-					if (!(node instanceof ScopingNode)) { traverseChildren(node); return; }
-					if (node instanceof ASTExecutableProgramNode && node.getParent() != null) { traverseChildren(node); return; }
-
-					ScopingNode scope = (ScopingNode)node;
-
-					ps.println();
-					describeScope(scope);
-
-					indentation += 4;
-
-					try
-					{
-						for (Definition d : scope.getAllDefinitions())
-						{
-						    if (d == null)
-						        println("(null)"); //$NON-NLS-1$
-						    else
-						        println(describeDeclaration(d));
-						}
-					}
-					catch (Exception e)
-					{
-						println("EXCEPTION: " + e.getClass().getName() + ": " + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-						e.printStackTrace(ps);
-					}
-
-					traverseChildren(node);
-
-					indentation -= 4;
-				}
-
-				private void describeScope(ScopingNode scope)
-				{
-					PhotranTokenRef representativeToken = scope.getRepresentativeToken();
-
-					if (representativeToken.getOffset() < 0)
-						print("(Global Scope)"); //$NON-NLS-1$
-					else
-						print("Scope: " + representativeToken.getText()); //$NON-NLS-1$
-
-					if (scope.isInternal()) ps.print(" (Internal Subprogram)"); //$NON-NLS-1$
-
-					if (scope.isDefaultVisibilityPrivate()) ps.print(" - Default Visibility is PRIVATE"); //$NON-NLS-1$
-
-					ImplicitSpec implicitSpec = scope.getImplicitSpec();
-					if (implicitSpec == null)
-						ps.print(" - Implicit None"); //$NON-NLS-1$
-					else
-						ps.print(" - " + implicitSpec.toString()); //$NON-NLS-1$
-
-					ps.println();
-				}
-
-				private void print(String text)
-				{
-					for (int i = 0; i < indentation; i++)
-						ps.print(' ');
-					ps.print(text);
-				}
-
-				private void println(String text)
-				{
-					print(text);
-					ps.println();
-				}
-        	});
-
-            ps.close();
-            UIUtil.openHtmlViewerOn("Symbol Table", temp); //$NON-NLS-1$
-        }
-        catch (Exception e)
-        {
-        	String message = e.getMessage();
-        	if (message == null) message = e.getClass().getName();
-        	MessageDialog.openError(getFortranEditor().getShell(), "Error", message); //$NON-NLS-1$
-        }
-        finally
-        {
-        	progressMonitor.done();
-        }
-    }
-
-//  ps.println("Symbol Table for " + editor.getIFile().getName());
-//  IFortranAST ast = FortranWorkspace.getInstance().acquireTU(file,
-//                                           new IncludeLoaderCallback(file.getProject())
-//                                           {
-//                                              public String onUnableToLoad(String message, String filename)
-//                                              {
-//                                                  ps.println("ERROR: " + message);
-//                                                  return null;
-//                                              }
-//                                           },
-//                                           new ModuleLoaderCallback()
-//                                           {
-//                                              public String onUnableToLoad(String message, Token moduleName)
-//                                              {
-//                                                  ps.println("ERROR: " + message);
-//                                                  return null;
-//                                              }
-//                                           },
-//                                           editor.isFixedForm(),
-//                                           progressMonitor);
-//  ps.println();
-//  for (Token t : new IterableWrapper<Token>(ast))
-//  {
-//      Scope scope = (Scope)t.getScope();
-//      if (scope != null)
-//      {
-//          scope.printGlobalSymbolTableOn(ps);
-//          break;
-//      }
-//  }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/EasterEgg.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/EasterEgg.java
deleted file mode 100644
index b0cbccd..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/EasterEgg.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTPrintStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTStringConstNode;
-import org.eclipse.photran.internal.core.parser.IASTListNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranEditorRefactoring;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * An Easter egg  :-)
- * <p>
- * When the cursor is moved over a statement like
- * <pre>
- *     print *, "Hi"
- * </pre>
- * (where "Hi" can be any literal string) and the user presses Ctrl+Alt+Command+Shift+6, the
- * statement is transformed into seven print statements using a banner font, i.e.,
- * <pre>
- *    print *, "HH    HH IIIIIIII "
- *    print *, "HH    HH    II    "
- *    print *, "HH    HH    II    "
- *    print *, "HHHHHHHH    II    "
- *    print *, "HH    HH    II    "
- *    print *, "HH    HH    II    "
- *    print *, "HH    HH IIIIIIII "
- * </pre>
- * <p>
- * The project must have analysis/refactoring enabled.
- * <p>
- * Since the key combination requires the Command key to be pressed, this is effectively available
- * only on Macs.
- *
- * @author Jeff Overbey
- */
-public class EasterEgg extends FortranEditorRefactoring
-{
-    private ASTPrintStmtNode printStmt = null;
-    private String string = null;
-
-    @Override
-    public String getName()
-    {
-        return "Easter Egg"; //$NON-NLS-1$
-    }
-
-    @Override
-    protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        if (!canRunEasterEgg())
-            status.addFatalError("The selected operation is not available."); // Bogus but common error message //$NON-NLS-1$
-    }
-
-    private boolean canRunEasterEgg()
-    {
-        if (!PhotranVPG.getInstance().doesProjectHaveRefactoringEnabled(fileInEditor)) return false;
-
-        Token token = findEnclosingToken(this.astOfFileInEditor, this.selectedRegionInEditor);
-        if (token == null) return false;
-
-        printStmt = token.findNearestAncestor(ASTPrintStmtNode.class);
-        if (printStmt == null) return false;
-
-        if (printStmt.getOutputItemList() == null
-            || printStmt.getOutputItemList().getSingleExpr() == null
-            || !(printStmt.getOutputItemList().getSingleExpr() instanceof ASTStringConstNode))
-            return false;
-
-        ASTStringConstNode stringConst = (ASTStringConstNode)printStmt.getOutputItemList().getSingleExpr();
-        if (stringConst.getSubstringRange() != null)
-            return false;
-
-        if (!(printStmt.getParent() instanceof IASTListNode)) return false;
-
-        string = removeQuotes(stringConst.getStringConst().getText());
-        return true;
-    }
-
-    private String removeQuotes(String string)
-    {
-        string = string.substring(1, string.length()-1);
-        string = string.replaceAll("''", "'"); //$NON-NLS-1$ //$NON-NLS-2$
-        string = string.replaceAll("\"\"", "\""); //$NON-NLS-1$ //$NON-NLS-2$
-        return string;
-    }
-
-    @Override
-    protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-    }
-
-    @SuppressWarnings({ "unchecked", "rawtypes" })
-    @Override
-    protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        try
-        {
-            ASTPrintStmtNode[] newStmts = new ASTPrintStmtNode[FONT_HEIGHT];
-            for (int i = FONT_HEIGHT-1; i >= 0; i--)
-            {
-                newStmts[i] = (ASTPrintStmtNode)printStmt.clone();
-                ASTStringConstNode stringConst = (ASTStringConstNode)newStmts[i].getOutputItemList().getSingleExpr();
-                stringConst.getStringConst().setText("\"" + rasterize(i, string) + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-
-                if (i != 0)
-                    removeAllWhitetextExceptIndentation(newStmts[i].findFirstToken());
-
-                ((IASTListNode)printStmt.getParent()).insertAfter(printStmt, newStmts[i]);
-            }
-            printStmt.removeFromTree();
-
-            this.addChangeFromModifiedAST(this.fileInEditor, pm);
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    private void removeAllWhitetextExceptIndentation(Token token)
-    {
-        String s = token.getWhiteBefore();
-        int lf = s.lastIndexOf('\n');
-        if (lf >= 0)
-            token.setWhiteBefore(s.substring(lf+1));
-    }
-
-    private static final int FONT_WIDTH = 9;
-    private static final int FONT_HEIGHT = 7;
-
-    private static String[] font = new String[]
-    {
-    //12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678",
-     "           AAAA   BBBBBBB    CCCCC  DDDDDD   EEEEEEEE FFFFFFFF   GGGGG  HH    HH IIIIIIII      JJJ KK    KK LL       MM    MM NNN   NN   OOOO   PPPPPPP    QQQQ   RRRRRRR   SSSSSSS TTTTTTTT UU    UU VV    VV WW    WW XX    XX YY    YY ZZZZZZZZ    11     222222   333333       444 55555555   6666   77777777  888888    9999     0000               !!      ????   ", //$NON-NLS-1$
-     "          AA  AA  BB    BB  CC    C DD   DD  EE       FF        GG    G HH    HH    II          JJ KK   KK  LL       MMM  MMM NNNN  NN  OO  OO  PP    PP  QQ  QQ  RR    RR SS          TT    UU    UU VV    VV WW    WW  XX  XX   YY  YY       ZZ   1111    22    22 33    33     4444 55        66           77  88    88 99   99   00  00             !!!!    ??  ??  ", //$NON-NLS-1$
-     "         AA    AA BB    BB CC       DD    DD EE       FF       GG       HH    HH    II          JJ KK  KK   LL       MM MM MM NN NN NN OO    OO PP    PP QQ    QQ RR    RR SS          TT    UU    UU VV    VV WW    WW   XXXX     YYYY       ZZ      11         22        33    44 44 55 555   66           77   88    88 99   999 00    00            !!!!        ??  ", //$NON-NLS-1$
-     "         AAAAAAAA BBBBBB   CC       DD    DD EEEEE    FFFFF    GG  GGGG HHHHHHHH    II          JJ KKKK     LL       MM MM MM NN NN NN OO    OO PPPPPPP  QQ    QQ RRRRRRR   SSSSSS     TT    UU    UU VV    VV WW WW WW    XX       YY       ZZ       11      222       333     44  44 555   55 66 6666     77     888888   9999 99 00    00             !!       ??    ", //$NON-NLS-1$
-     "         AA    AA BB    BB CC       DD    DD EE       FF       GG    GG HH    HH    II    JJ    JJ KK  KK   LL       MM    MM NN NN NN OO    OO PP       QQ  Q QQ RR  RR         SS    TT    UU    UU  VV  VV  WW WW WW   XXXX      YY      ZZ        11     22            33  4444444       55 666   66   77     88    88       99 00    00             !!       ??    ", //$NON-NLS-1$
-     "         AA    AA BB    BB  CC    C DD   DD  EE       FF        GG   GG HH    HH    II    JJ    JJ KK   KK  LL       MM    MM NN  NNNN  OO  OO  PP        QQ  QQ  RR   RR        SS    TT    UU    UU   VVVV   WWW  WWW  XX  XX     YY     ZZ         11    22       33    33       44 5     55  66   66  77      88    88      99   00  00  ...                        ", //$NON-NLS-1$
-     "         AA    AA BBBBBBB    CCCCC  DDDDDD   EEEEEEEE FF         GGGGG  HH    HH IIIIIIII  JJJJJ   KK    KK LLLLLLLL MM    MM NN   NNN   OOOO   PP         QQQQ Q RR    RR SSSSSSS     TT     UUUUUU     VV    WW    WW XX    XX    YY    ZZZZZZZZ 11111111 22222222  333333        44  555555    6666   77        888888    9999     0000   ...         !!       ??    ", //$NON-NLS-1$
-    };
-
-    private static int index(char ch)
-    {
-        switch (Character.toUpperCase(ch))
-        {
-            case 'A': return 1;
-            case 'B': return 2;
-            case 'C': return 3;
-            case 'D': return 4;
-            case 'E': return 5;
-            case 'F': return 6;
-            case 'G': return 7;
-            case 'H': return 8;
-            case 'I': return 9;
-            case 'J': return 10;
-            case 'K': return 11;
-            case 'L': return 12;
-            case 'M': return 13;
-            case 'N': return 14;
-            case 'O': return 15;
-            case 'P': return 16;
-            case 'Q': return 17;
-            case 'R': return 18;
-            case 'S': return 19;
-            case 'T': return 20;
-            case 'U': return 21;
-            case 'V': return 22;
-            case 'W': return 23;
-            case 'X': return 24;
-            case 'Y': return 25;
-            case 'Z': return 26;
-            case '1': return 27;
-            case '2': return 28;
-            case '3': return 29;
-            case '4': return 30;
-            case '5': return 31;
-            case '6': return 32;
-            case '7': return 33;
-            case '8': return 34;
-            case '9': return 35;
-            case '0': return 36;
-            case '.': return 37;
-            case '!': return 38;
-            case '?': return 39;
-            default:  return 0;
-        }
-    }
-
-    private static String rasterize(int line, String string)
-    {
-        StringBuilder sb = new StringBuilder(string.length() * FONT_WIDTH);
-        for (int i = 0; i < string.length(); i++)
-            sb.append(rasterize(line, string.charAt(i)));
-        return sb.toString();
-    }
-
-    private static String rasterize(int line, char ch)
-    {
-        int start = index(ch) * FONT_WIDTH;
-        int end = start + FONT_WIDTH;
-        return font[line].substring(start, end);
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/EasterEggAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/EasterEggAction.java
deleted file mode 100644
index 76ac573..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/EasterEggAction.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.ui.refactoring.AbstractFortranRefactoringActionDelegate;
-import org.eclipse.photran.internal.ui.refactoring.AbstractFortranRefactoringWizard;
-import org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * @author Jeff Overbey
- */
-public class EasterEggAction
-    extends AbstractFortranRefactoringActionDelegate
-    implements IWorkbenchWindowActionDelegate, IEditorActionDelegate
-{
-    public EasterEggAction()
-    {
-        super(EasterEgg.class, EasterEggWizard.class);
-    }
-
-    @Override
-    protected VPGRefactoring<IFortranAST, Token, PhotranVPG> getRefactoring(List<IFile> files)
-    {
-        EasterEgg r = new EasterEgg();
-        r.initialize(
-            getFortranEditor().getIFile(),
-            getFortranEditor().getSelection());
-        return r;
-    }
-
-    public static class EasterEggWizard extends AbstractFortranRefactoringWizard
-    {
-        protected EasterEgg transformation;
-
-        public EasterEggWizard(EasterEgg r)
-        {
-            super(r);
-            this.transformation = r;
-        }
-
-        @Override protected void doAddUserInputPages()
-        {
-        	addPage(new UserInputWizardPage(transformation.getName())
-            {
-                public void createControl(Composite parent)
-                {
-                    Composite top = new Composite(parent, SWT.NONE);
-                    initializeDialogUnits(top);
-                    setControl(top);
-
-                    top.setLayout(new GridLayout(1, false));
-
-                    Label lbl = new Label(top, SWT.NONE);
-                    lbl.setText("Congratulations!  You found an Easter Egg."); //$NON-NLS-1$
-                }
-            });
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FindAllDeclarationsInScope.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FindAllDeclarationsInScope.java
deleted file mode 100644
index c367b70..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FindAllDeclarationsInScope.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.lexer.Token;
-
-/**
- * Implements the Find All Declarations in Scope action in the Refactor/(Debugging) menu.
- * 
- * @author Jeff Overbey
- */
-public class FindAllDeclarationsInScope extends FortranEditorASTActionDelegate
-{
-    public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException
-    {
-        try
-        {
-        	progressMonitor.beginTask(Messages.FindAllDeclarationsInScope_WaitingForBackgroundWorkToComplete, IProgressMonitor.UNKNOWN);
-
-            Token token = findEnclosingToken(getAST(), getFortranEditor().getSelection());
-            if (token == null) throw new Exception(Messages.FindAllDeclarationsInScope_PleaseSelectAToken);
-
-            ScopingNode scope = token.getEnclosingScope();
-            if (scope == null) throw new Exception(Messages.FindAllDeclarationsInScope_NoEnclosingScope);
-
-            openSelectionDialog(scope.getAllDefinitions());
-        }
-        catch (Exception e)
-        {
-        	String message = e.getMessage();
-        	if (message == null) message = e.getClass().getName();
-        	MessageDialog.openError(getFortranEditor().getShell(), Messages.FindAllDeclarationsInScope_ErrorTitle, message);
-        }
-        finally
-        {
-        	progressMonitor.done();
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FindMatchingInterfaceDeclarations.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FindMatchingInterfaceDeclarations.java
deleted file mode 100644
index f4c819b..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FindMatchingInterfaceDeclarations.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * Implements the Find Matching Interface Declarations action in the Refactor/(Debugging) menu.
- * 
- * @author Jeff Overbey
- */
-public class FindMatchingInterfaceDeclarations extends FortranEditorASTActionDelegate
-{
-    public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException
-    {
-        try
-        {
-        	progressMonitor.beginTask(Messages.FindMatchingInterfaceDeclarations_WaitingForBackgroundWorkToComplete, IProgressMonitor.UNKNOWN);
-
-            Token token = findEnclosingToken(getAST(), getFortranEditor().getSelection());
-            if (token == null) throw new Exception(Messages.FindMatchingInterfaceDeclarations_PleaseSelectAToken);
-
-            Definition def = PhotranVPG.getInstance().getDefinitionFor(token.getTokenRef());
-            if (def == null) throw new Exception(Messages.FindMatchingInterfaceDeclarations_PleaseSelectIdentifierInASubprogram);
-
-            openSelectionDialog(def.findMatchingDeclarationsInInterfaces());
-        }
-        catch (Exception e)
-        {
-        	String message = e.getMessage();
-        	if (message == null) message = e.getClass().getName();
-        	MessageDialog.openError(getFortranEditor().getShell(), Messages.FindMatchingInterfaceDeclarations_ErrorTitle, message);
-        }
-        finally
-        {
-        	progressMonitor.done();
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FortranEditorASTActionDelegate.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FortranEditorASTActionDelegate.java
deleted file mode 100644
index c2d2cea..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/FortranEditorASTActionDelegate.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collection;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.util.IterableWrapper;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.rephraserengine.core.util.OffsetLength;
-import org.eclipse.rephraserengine.core.vpg.eclipse.VPGSchedulingRule;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * Base class providing utility methods to actions contributed to the Fortran editor.
- * 
- * @author Jeff Overbey
- */
-public abstract class FortranEditorASTActionDelegate extends FortranEditorActionDelegate
-{
-    ///////////////////////////////////////////////////////////////////////////
-    // IActionDelegate Implementation
-    ///////////////////////////////////////////////////////////////////////////
-
-	// Copied from FortranEditorActionDelegate, but has VPG scheduling rule
-	
-    @Override public final void run(IAction action)
-    {
-        if (this.window != null)
-        {
-            IEditorPart editor = this.window.getActivePage().getActiveEditor();
-            fEditor = editor instanceof FortranEditor ? (FortranEditor)editor : null;
-        }
-        
-        if (this.fEditor != null)
-        {
-            IProgressService context = PlatformUI.getWorkbench().getProgressService();
-            
-            ISchedulingRule lockEntireWorkspace = ResourcesPlugin.getWorkspace().getRoot();
-            ISchedulingRule vpgSched = VPGSchedulingRule.getInstance();
-            ISchedulingRule schedulingRule = MultiRule.combine(lockEntireWorkspace, vpgSched);
-            
-            try
-            {
-                context.runInUI(context, this, schedulingRule);
-            }
-            catch (InvocationTargetException e)
-            {
-                e.printStackTrace();
-                MessageDialog.openError(fEditor.getShell(), Messages.FortranEditorASTActionDelegate_UnhandledExceptionTitle, e.getMessage());
-            }
-            catch (InterruptedException e)
-            {
-                // Do nothing
-            }
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Utility Methods for Subclasses
-    ///////////////////////////////////////////////////////////////////////////
-
-    protected IFortranAST getAST() throws Exception
-    {
-        IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(getFortranEditor().getIFile());
-//                                                                   new IncludeLoaderCallback(editor.getIFile().getProject()),
-//                                                                   ModuleLoaderCallback.IGNORE,
-//                                                                   editor.isFixedForm(),
-//                                                                   progressMonitor);
-        if (ast == null) throw new Exception(Messages.FortranEditorASTActionDelegate_UnableToParseFileInEditor);
-        return ast;
-    }
-
-    protected Token findEnclosingToken(IFortranAST ast, ITextSelection textSelection)
-    {
-        for (Token token : new IterableWrapper<Token>(ast))
-            if (token.containsFileOffset(new OffsetLength(textSelection.getOffset(), textSelection.getLength())))
-                return token;
-        return null;
-    }
-
-    protected Definition openSelectionDialog(Collection<Definition> defs)
-    {
-        ElementListSelectionDialog dlg = new ElementListSelectionDialog(getShell(), new LabelProvider()
-        {
-            @Override public String getText(Object element)
-            {
-                Definition def = (Definition)element;
-                return describeDeclaration(def);
-            }
-        });
-        dlg.setBlockOnOpen(true);
-        dlg.setHelpAvailable(false);
-        dlg.setIgnoreCase(true);
-        dlg.setMessage(Messages.FortranEditorASTActionDelegate_SelectADeclarationToOpen);
-        dlg.setMultipleSelection(false);
-        dlg.setSize(100, 10);
-        dlg.setTitle(Messages.FortranEditorASTActionDelegate_MultipleDeclarationsFoundTitle);
-        dlg.setElements(defs.toArray());
-        dlg.open();
-        if (dlg.getResult() != null)
-            return (Definition)dlg.getResult()[0];
-        else
-            return null;
-    }
-
-	protected String describeDeclaration(Definition def)
-	{
-		try
-        {
-			final IDocument document = getFortranEditor().getDocumentProvider().getDocument(getFortranEditor().getEditorInput());
-			
-			Object[] args = new Object[]
-			{
-			    def.getCanonicalizedName(),
-			    def.describeClassification(),
-			    (document.getLineOfOffset(def.getTokenRef().findToken().getFileOffset()) + 1),
-			    def.getTokenRef().getFilename()
-			};
-			
-			if (def.isSubprogramArgument())
-			    return Messages.bind(
-			        Messages.FortranEditorASTActionDelegate_DeclDescriptionSubprogramArgument,
-			        args);
-			else
-			    return Messages.bind(
-			        Messages.FortranEditorASTActionDelegate_DeclDescriptionOther,
-			        args);
-		}
-        catch (Throwable e)
-        {
-			return def.toString();
-		}
-	}
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/HighlightVariableAccesses.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/HighlightVariableAccesses.java
deleted file mode 100644
index a83e973..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/HighlightVariableAccesses.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.io.File;
-import java.io.PrintStream;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.photran.internal.core.analysis.binding.VariableAccess;
-import org.eclipse.photran.internal.core.lexer.IPreprocessorReplacement;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.rephraserengine.ui.UIUtil;
-
-/**
- * The Highlight Variable Accesses action in the Refactoring/(Debugging) menu.
- * 
- * @author Jeff Overbey
- */
-public class HighlightVariableAccesses extends FortranEditorASTActionDelegate
-{
-    public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException
-    {
-        try
-        {
-            File temp = File.createTempFile("photran-tmp", ".htm"); //$NON-NLS-1$ //$NON-NLS-2$
-            temp.deleteOnExit();
-            final PrintStream ps = UIUtil.createPrintStream(temp);
-            ps.println("<html><head><title></title></head><body>"); //$NON-NLS-1$
-
-            printLegend(ps);
-            
-            ps.println("<pre>"); //$NON-NLS-1$
-            
-            printProgram(ps);
-
-            ps.println("</pre></body></html>"); //$NON-NLS-1$
-            ps.close();
-            UIUtil.openHtmlViewerOn("Variable Accesses", temp); //$NON-NLS-1$
-        }
-        catch (Exception e)
-        {
-            String message = e.getMessage();
-            if (message == null) message = e.getClass().getName();
-            MessageDialog.openError(getFortranEditor().getShell(), "Error", message); //$NON-NLS-1$
-        }
-    }
-
-    private void printLegend(final PrintStream ps)
-    {
-        ps.println("<table border=\"0\" cellpadding=\"5\" cellspacing=\"0\" align=\"center\"><tr>"); //$NON-NLS-1$
-        ps.println("<th>LEGEND:</th>"); //$NON-NLS-1$
-        for (VariableAccess access : VariableAccess.values())
-        {
-            ps.println("<td>"); //$NON-NLS-1$
-            ps.print(highlightingStartTag(access));
-            ps.println(access);
-            ps.print(highlightingEndTag(access));
-            ps.println("</td>"); //$NON-NLS-1$
-        }
-        ps.println("</tr></table>"); //$NON-NLS-1$
-        ps.println("<hr>"); //$NON-NLS-1$
-    }
-
-    private void printProgram(final PrintStream out) throws Exception
-    {
-        IPreprocessorReplacement currentPreprocessorDirective = null;
-        for (Token token : getAST())
-        {
-            if (token.getPreprocessorDirective() != currentPreprocessorDirective)
-            {
-                if (token.getPreprocessorDirective() != null)
-                {
-                    out.print(token.getWhiteBefore());
-                    out.print(token.getPreprocessorDirective());
-                }
-                currentPreprocessorDirective = token.getPreprocessorDirective();
-            }
-            
-            if (currentPreprocessorDirective == null && token.getPreprocessorDirective() == null)
-            {
-                out.print(token.getWhiteBefore());
-                out.print(highlightingStartTag(token.getVariableAccessType()));
-                out.print(token.getText());
-                out.print(highlightingEndTag(token.getVariableAccessType()));
-                out.print(token.getWhiteAfter());
-            }
-        }
-    }
-    
-    private String highlightingStartTag(VariableAccess access)
-    {
-        switch (access)
-        {
-            case NONE:
-                return ""; //$NON-NLS-1$
-            case READ:
-                return "<b><font style=\"background-color: #66FF66;\">"; //$NON-NLS-1$
-            case WRITE:
-                return "<b><font style=\"background-color: #FF3333;\">"; //$NON-NLS-1$
-            case RW:
-                return "<b><font style=\"background-color: #FFFF66;\">"; //$NON-NLS-1$
-            case IMPLIED_DO:
-                return "<b><font style=\"background-color: #CCCCCC;\">"; //$NON-NLS-1$
-            case FORALL:
-                return "<b><font style=\"background-color: #CCCCCC;\">"; //$NON-NLS-1$
-            case STMT_FUNCTION_ARG:
-                return "<b><font style=\"background-color: #CCCCCC;\">"; //$NON-NLS-1$
-                
-            default:
-                throw new IllegalStateException();
-        }
-    }
-    
-    private String highlightingEndTag(VariableAccess access)
-    {
-        if (access.equals(VariableAccess.NONE))
-            return ""; //$NON-NLS-1$
-        else
-            return "</font></b>"; //$NON-NLS-1$
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/Messages.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/Messages.java
deleted file mode 100644
index 0f6d6df..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/Messages.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.ui.actions.messages"; //$NON-NLS-1$
-
-    public static String CorrectIndentationAction_NotAvailableForFixedForm;
-
-    public static String DisplaySymbolTable_WaitingForBackgroundWorkToComplete;
-
-    public static String FindAllDeclarationsInScope_ErrorTitle;
-
-    public static String FindAllDeclarationsInScope_NoEnclosingScope;
-
-    public static String FindAllDeclarationsInScope_PleaseSelectAToken;
-
-    public static String FindAllDeclarationsInScope_WaitingForBackgroundWorkToComplete;
-
-    public static String FindMatchingInterfaceDeclarations_ErrorTitle;
-
-    public static String FindMatchingInterfaceDeclarations_PleaseSelectAToken;
-
-    public static String FindMatchingInterfaceDeclarations_PleaseSelectIdentifierInASubprogram;
-
-    public static String FindMatchingInterfaceDeclarations_WaitingForBackgroundWorkToComplete;
-
-    public static String FortranEditorASTActionDelegate_DeclDescriptionOther;
-
-    public static String FortranEditorASTActionDelegate_DeclDescriptionSubprogramArgument;
-
-    public static String FortranEditorASTActionDelegate_MultipleDeclarationsFoundTitle;
-
-    public static String FortranEditorASTActionDelegate_SelectADeclarationToOpen;
-
-    public static String FortranEditorASTActionDelegate_UnableToParseFileInEditor;
-
-    public static String FortranEditorASTActionDelegate_UnhandledExceptionTitle;
-
-    public static String OpenDeclaration_AnalysisRefactoringNotEnabled;
-
-    public static String OpenDeclaration_ErrorTitle;
-
-    public static String OpenDeclaration_ErrorX;
-
-    public static String OpenDeclaration_UnableToCreateMarker;
-
-    public static String OpenDeclaration_UnableToLocateDeclaration;
-
-    public static String ResolveInterfaceBinding_ErrorTitle;
-
-    public static String ResolveInterfaceBinding_PleaseSelectAToken;
-
-    public static String ResolveInterfaceBinding_PleaseSelectIdentifierInASubprogram;
-
-    public static String ResolveInterfaceBinding_WaitingForBackgroundWorkToComplete;
-
-    public static String SelectEnclosingScope_ErrorTitle;
-    public static String SelectEnclosingScope_NoEnclosingScope;
-    public static String SelectEnclosingScope_NoTokensInScope;
-    public static String SelectEnclosingScope_Parsing;
-    public static String SelectEnclosingScope_PleaseSelectAKeywordOrIdentifier;
-    public static String SelectEnclosingScope_WaitingForBackgroundWorkToComplete;
-
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/OpenDeclaration.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/OpenDeclaration.java
deleted file mode 100644
index f41b3fe..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/OpenDeclaration.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation (JO)
- *            Updated to resolve external subprograms (KH)
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.TokenList;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.photran.internal.ui.editor_vpg.DefinitionMap;
-import org.eclipse.photran.internal.ui.editor_vpg.FortranEditorTasks;
-import org.eclipse.photran.internal.ui.editor_vpg.IFortranEditorASTTask;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Implements the Open Declaration action that appears in the Navigate menu and in the Fortran editor's pop-up menu.
- * <p>
- * When the cursor is positioned over an identifier, the declaration of that identifier is located, and the cursor
- * is positioned at the declaration (a new editor window is opened if the declaration is located in another file).
- * If multiple declarations are found, a dialog is opened so that the user can see the various declarations and
- * decide which to open.
- * 
- * TODO: Open Declaration does not work on module names in USE statements since these are not in the DefinitionMap 
- * 
- * @author Jeff Overbey
- * @author Kurt Hendle
- */
-public class OpenDeclaration extends FortranEditorASTActionDelegate
-{
-    public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException
-    {
-        FortranEditor editor = getFortranEditor();
-        Shell shell = editor.getShell();
-        
-        if (PhotranVPG.getInstance().doesProjectHaveRefactoringEnabled(editor.getIFile()))
-        {
-            TextSelection selection = (TextSelection)editor.getSelection();
-            IWorkbenchPage page = editor.getEditorSite().getPage();
-            
-            FortranEditorTasks tasks = FortranEditorTasks.instance(editor);
-            tasks.addASTTask(new OpenDeclarationASTTask(editor, selection, shell, page));
-            tasks.getRunner().runTasks(false);
-        }
-        else
-        {
-            MessageDialog.openError(shell, Messages.OpenDeclaration_ErrorTitle,
-                Messages.OpenDeclaration_AnalysisRefactoringNotEnabled);
-        }
-    }
-    
-    private class OpenDeclarationASTTask implements IFortranEditorASTTask
-    {
-        @SuppressWarnings("unused") private FortranEditor editor;
-        private TextSelection selection;
-        private Shell shell;
-        private IWorkbenchPage page;
-        
-        public OpenDeclarationASTTask(FortranEditor editor, TextSelection selection, Shell shell, IWorkbenchPage page)
-        {
-            this.editor = editor;
-            this.selection = selection;
-            this.shell = shell;
-            this.page = page;
-        }
-        
-        // This runs outside the UI thread
-        public boolean handle(ASTExecutableProgramNode ast,
-                           TokenList tokenList,
-                           DefinitionMap<Definition> defMap)
-        {
-            // If defMap has not been created, we can't do this now, so we'll run this task the next
-            // time the editor is reconciled; hopefully the defMap will have been created by then
-            if (defMap == null) return true;
-            
-            Definition def = defMap.lookup(selection, tokenList);
-            if (def == null)
-                def = chooseExternalDef(PhotranVPG.getInstance().findAllExternalSubprogramsNamed(PhotranVPG.canonicalizeIdentifier(selection.getText())));
-            else if (def.isExternal() || def.isImplicitExternalSubprogram())
-                def = chooseExternalDef(PhotranVPG.getInstance().findAllExternalSubprogramsNamed(def.getCanonicalizedName()));
-
-            showDeclInUIThread(def);
-
-            // Remove this task so it will not be run the next time the editor is reconciled
-            return false;
-        }
-        
-        private Definition chooseExternalDef(final ArrayList<Definition> defList)
-        {
-            class ChooseDefinition implements Runnable
-            {
-                Definition def;
-                
-                public void run()
-                {
-                    if (defList.size() > 1)
-                        def = openSelectionDialog(defList);
-                    else if (defList.size() == 1 && defList.get(0).getTokenRef().getOffset() >= 0)
-                        def = defList.get(0);
-                    else
-                        def = null;
-                }
-            };
-            
-            ChooseDefinition chooseDefinition = new ChooseDefinition();
-            Display.getDefault().syncExec(chooseDefinition);
-            return chooseDefinition.def;
-        }
-        
-        private void showDeclInUIThread(final Definition def)
-        {
-            Display.getDefault().syncExec(new Runnable()
-            {
-                public void run()
-                {
-                    if (def == null)
-                        MessageDialog.openError(shell, Messages.OpenDeclaration_ErrorTitle, Messages.OpenDeclaration_UnableToLocateDeclaration);
-                    else
-                        openEditorOn(def);
-                }
-            });
-        }
-
-        private void openEditorOn(Definition def)
-        {
-            if (def == null) return; // Selection dialog canceled
-            
-            try
-            {
-                IMarker marker = def.createMarker();
-                if (marker == null)
-                    MessageDialog.openError(shell, Messages.bind(Messages.OpenDeclaration_ErrorX, def.getTokenRef()), Messages.OpenDeclaration_UnableToCreateMarker);
-                else
-                    IDE.openEditor(page, marker, true);
-            }
-            catch (Exception e)
-            {
-                String message = e.getMessage();
-                if (message == null) message = e.getClass().getName();
-                MessageDialog.openError(shell, Messages.OpenDeclaration_ErrorTitle, message);
-            }
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/ResetBinderStatistics.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/ResetBinderStatistics.java
deleted file mode 100644
index 79527b3..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/ResetBinderStatistics.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.photran.internal.core.analysis.binding.Binder;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.actions.VPGWindowActionDelegate;
-
-/**
- * Implements the Reset VPG Statistics action in the Refactor/(Debugging) menu
- *
- * @author Jeff Overbey
- */
-public class ResetBinderStatistics extends VPGWindowActionDelegate
-{
-    @SuppressWarnings("rawtypes")
-    @Override
-    protected void run(EclipseVPG vpg, IProgressMonitor progressMonitor) throws Exception
-    {
-        Binder.resetStatistics();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/ResolveInterfaceBinding.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/ResolveInterfaceBinding.java
deleted file mode 100644
index fe9f238..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/ResolveInterfaceBinding.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * Implements the Resolve Interface Binding action in the Refactor/(Debugging) menu.
- * 
- * @author Jeff Overbey
- */
-public class ResolveInterfaceBinding extends FortranEditorASTActionDelegate
-{
-    public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException
-    {
-        try
-        {
-        	progressMonitor.beginTask(Messages.ResolveInterfaceBinding_WaitingForBackgroundWorkToComplete, IProgressMonitor.UNKNOWN);
-
-            Token token = findEnclosingToken(getAST(), getFortranEditor().getSelection());
-            if (token == null) throw new Exception(Messages.ResolveInterfaceBinding_PleaseSelectAToken);
-
-            Definition def = PhotranVPG.getInstance().getDefinitionFor(token.getTokenRef());
-            if (def == null) throw new Exception(Messages.ResolveInterfaceBinding_PleaseSelectIdentifierInASubprogram);
-
-            openSelectionDialog(def.resolveInterfaceBinding());
-        }
-        catch (Exception e)
-        {
-        	String message = e.getMessage();
-        	if (message == null) message = e.getClass().getName();
-        	MessageDialog.openError(getFortranEditor().getShell(), Messages.ResolveInterfaceBinding_ErrorTitle, message);
-        }
-        finally
-        {
-        	progressMonitor.done();
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/SelectEnclosingScope.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/SelectEnclosingScope.java
deleted file mode 100644
index f528c18..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/SelectEnclosingScope.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * The Select Enclosing Scope action in the Refactoring/(Debugging) menu.
- * 
- * @author Jeff Overbey
- */
-public class SelectEnclosingScope extends FortranEditorASTActionDelegate
-{
-    public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException
-    {
-        try
-        {
-        	progressMonitor.beginTask(Messages.SelectEnclosingScope_WaitingForBackgroundWorkToComplete, IProgressMonitor.UNKNOWN);
-        	
-            progressMonitor.subTask(Messages.SelectEnclosingScope_Parsing);
-            Token token = findEnclosingToken(getAST(), getFortranEditor().getSelection());
-            if (token == null) throw new Exception(Messages.SelectEnclosingScope_PleaseSelectAKeywordOrIdentifier);
-
-
-            ScopingNode scope = token.getEnclosingScope();
-            if (scope == null) throw new Exception(Messages.SelectEnclosingScope_NoEnclosingScope);
-            
-            IMarker marker = scope.createMarker();
-            if (marker == null) throw new Exception(Messages.SelectEnclosingScope_NoTokensInScope);
-            
-        	IDE.openEditor(getFortranEditor().getEditorSite().getPage(), marker, true);
-        }
-        catch (Exception e)
-        {
-        	String message = e.getMessage();
-        	if (message == null) message = e.getClass().getName();
-        	MessageDialog.openError(getFortranEditor().getShell(), Messages.SelectEnclosingScope_ErrorTitle, message);
-        }
-        finally
-        {
-        	progressMonitor.done();
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/messages.properties b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/messages.properties
deleted file mode 100644
index d96fa97..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/actions/messages.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-CorrectIndentationAction_NotAvailableForFixedForm=Correct Indentation is not currently available for fixed form source code.
-DisplaySymbolTable_WaitingForBackgroundWorkToComplete=Waiting for background work to complete (Photran indexer)
-FindAllDeclarationsInScope_ErrorTitle=Error
-FindAllDeclarationsInScope_NoEnclosingScope=No enclosing scope.
-FindAllDeclarationsInScope_PleaseSelectAToken=Please select a token.
-FindAllDeclarationsInScope_WaitingForBackgroundWorkToComplete=Waiting for background work to complete (Photran indexer)
-FindMatchingInterfaceDeclarations_PleaseSelectAToken=Please select a token.
-FindMatchingInterfaceDeclarations_PleaseSelectIdentifierInASubprogram=Please select the identifier in a subprogram declaration.
-FindMatchingInterfaceDeclarations_WaitingForBackgroundWorkToComplete=Waiting for background work to complete (Photran indexer)
-# MYVARIABLE - Local Variable - Line 3 - /src/whatever.f90
-FindMatchingInterfaceDeclarations_ErrorTitle=Error
-FortranEditorASTActionDelegate_DeclDescriptionOther={0} - {1} - Line {2} - {3}
-# MYVARIABLE - Local Variable (Subprogram Argument) - Line 3 - /src/whatever.f90
-FortranEditorASTActionDelegate_DeclDescriptionSubprogramArgument={0} - {1} (Subprogram Argument) - Line {2} - {3}
-FortranEditorASTActionDelegate_MultipleDeclarationsFoundTitle=Multiple Declarations Found
-FortranEditorASTActionDelegate_SelectADeclarationToOpen=Select a declaration to open (? = any character, * = any string):
-FortranEditorASTActionDelegate_UnableToParseFileInEditor=Unable to parse file in editor
-FortranEditorASTActionDelegate_UnhandledExceptionTitle=Unhandled Exception
-OpenDeclaration_AnalysisRefactoringNotEnabled=Please enable analysis and refactoring in the project properties.
-OpenDeclaration_ErrorTitle=Error
-OpenDeclaration_ErrorX=Error ({0})
-OpenDeclaration_UnableToCreateMarker=Unable to create marker
-OpenDeclaration_UnableToLocateDeclaration=Unable to locate declaration
-ResolveInterfaceBinding_ErrorTitle=Error
-ResolveInterfaceBinding_PleaseSelectAToken=Please select a token.
-ResolveInterfaceBinding_PleaseSelectIdentifierInASubprogram=Please select the identifier in a subprogram declaration.
-ResolveInterfaceBinding_WaitingForBackgroundWorkToComplete=Waiting for background work to complete (Photran indexer)
-SelectEnclosingScope_ErrorTitle=Error
-SelectEnclosingScope_NoEnclosingScope=No enclosing scope.
-SelectEnclosingScope_NoTokensInScope=No tokens in scope.
-SelectEnclosingScope_Parsing=Parsing...
-SelectEnclosingScope_PleaseSelectAKeywordOrIdentifier=Please select a keyword or an identifier.
-SelectEnclosingScope_WaitingForBackgroundWorkToComplete=Waiting for background work to complete (Photran indexer)
\ No newline at end of file
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/DefinitionMap.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/DefinitionMap.java
deleted file mode 100644
index 2b93725..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/DefinitionMap.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.Intrinsic;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.TokenList;
-import org.eclipse.photran.internal.core.parser.ASTBlockDataNameNode;
-import org.eclipse.photran.internal.core.parser.ASTBlockDataSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTDerivedTypeDefNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTFunctionSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTGenericNameNode;
-import org.eclipse.photran.internal.core.parser.ASTInterfaceBlockNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTProgramStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.parser.ASTVisitor;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGWriter;
-
-public abstract class DefinitionMap<T>
-{
-    private HashMap<String, T> definitions = new HashMap<String, T>();
-    
-    public DefinitionMap(IFortranAST ast)
-    {
-        // Should never be null, but it's happened (thanks, race condition)
-        // So make sure the user doesn't see an NPE
-        this(ast == null ? null : ast.getRoot());
-    }
-
-    public DefinitionMap(ASTExecutableProgramNode ast)
-    {
-        if (ast == null || PhotranVPGWriter.isEmpty(ast)) return;
-        
-        try
-        {
-            ast.accept(new GenericASTVisitor()
-            {
-                @Override public void visitASTNode(IASTNode node)
-                {
-                    if (ScopingNode.isScopingNode(node))
-                        for (Definition def : ((ScopingNode)node).getAllDefinitions())
-                        {
-                            if (def != null)
-                            {
-                                String name = def.getCanonicalizedName();
-                                String qualifiedName = qualify(name, (ScopingNode)node);
-                                definitions.put(qualifiedName, map(qualifiedName, def));
-                            }
-                        }
-                    
-                    traverseChildren(node);
-                }
-            });
-        }
-        catch (IllegalArgumentException e)
-        {
-            // Ignore
-            // TODO: Caused by PhotranTokenRef getting passed "null" for the filename;
-            //       why does that happen?
-        }
-        
-//        for (String def : definitions.keySet())
-//            System.out.println(def);
-    }
-
-    public DefinitionMap(DefinitionMap<Definition> other)
-    {
-        for (String key : other.definitions.keySet())
-            definitions.put(key, map(key, other.definitions.get(key)));
-    }
-
-    
-    protected abstract T map(String qualifiedName, Definition def);
-
-    public T lookup(TextSelection selection, TokenList tokenList)
-    {
-        return lookup(findTokenEnclosing(selection, tokenList));
-    }
-
-    public static Token findTokenEnclosing(TextSelection sel, TokenList tokenList)
-    {
-        return findTokenEnclosing(sel.getOffset(), tokenList);
-    }
-
-    public static Token findTokenEnclosing(int offset, TokenList tokenList)
-    {
-        for (int i = 0, size = tokenList.size(); i < size; i++)
-            if (tokenList.get(i).containsFileOffset(offset))
-                return tokenList.get(i);
-        return null;
-    }
-
-    public T lookup(Token token)
-    {
-        if (token == null || token.getTerminal() != Terminal.T_IDENT) return null;
-        
-        String qualifiedName = qualify(PhotranVPG.canonicalizeIdentifier(token.getText()), token.getEnclosingScope());
-        while (true)
-        {
-//            System.out.println("Checking " + qualifiedName);
-            if (definitions.containsKey(qualifiedName))
-                return definitions.get(qualifiedName);
-            
-            int index = qualifiedName.indexOf(':');
-            if (index < 0)
-            {
-                Definition intrinsic = Intrinsic.resolve(token);
-                if (intrinsic != null)
-                    return map(intrinsic.getCanonicalizedName(), intrinsic);
-                else
-                    return null;
-            }
-            else
-                qualifiedName = qualifiedName.substring(index+1);
-        }
-    }
-
-    public static String qualify(String canonicalizedName, ScopingNode initialScope)
-    {
-        StringBuilder result = new StringBuilder();
-        
-        // Append scopes in *reverse* order
-        getQualifier(initialScope, result);
-        
-        // Then append the identifier
-        result.append(canonicalizedName);
-        
-        return result.toString();
-    }
-
-    private static void getQualifier(ScopingNode initialScope,
-                                     StringBuilder result)
-    {
-        // Append scopes in *reverse* order
-        for (ScopingNode scope = initialScope;
-             scope != null && !(scope instanceof ASTExecutableProgramNode);
-             scope = scope.getEnclosingScope())
-        {
-            result.append(getQualifierElement(scope));
-        }
-    }
-
-    public static String getQualifier(ScopingNode scope)
-    {
-        StringBuilder result = new StringBuilder();
-        getQualifier(scope, result);
-        return result.toString();
-    }
-
-    private static String getQualifierElement(ScopingNode node)
-    {
-        class GetScopeVisitor extends ASTVisitor
-        {
-            private String name = ""; //$NON-NLS-1$
-            
-            @Override public void visitASTMainProgramNode(ASTMainProgramNode node)
-            {
-                ASTProgramStmtNode ps = node.getProgramStmt();
-                if (ps != null && ps.getProgramName() != null)
-                    name = ps.getProgramName().getProgramName().getText();
-            }
-    
-            @Override public void visitASTFunctionSubprogramNode(ASTFunctionSubprogramNode node)
-            {
-                name = node.getFunctionStmt().getFunctionName().getFunctionName().getText();
-            }
-    
-            @Override public void visitASTSubroutineSubprogramNode(ASTSubroutineSubprogramNode node)
-            {
-                name = node.getSubroutineStmt().getSubroutineName().getSubroutineName().getText();
-            }
-    
-            @Override public void visitASTModuleNode(ASTModuleNode node)
-            {
-                name = node.getModuleStmt().getModuleName().getModuleName().getText();
-            }
-    
-            @Override public void visitASTBlockDataSubprogramNode(ASTBlockDataSubprogramNode node)
-            {
-                ASTBlockDataNameNode name = node.getBlockDataStmt().getBlockDataName();
-                if (name != null)
-                    this.name = name.getBlockDataName().getText();
-            }
-    
-            @Override public void visitASTDerivedTypeDefNode(ASTDerivedTypeDefNode node)
-            {
-                name = node.getDerivedTypeStmt().getTypeName().getText();
-            }
-    
-            @Override public void visitASTInterfaceBlockNode(ASTInterfaceBlockNode node)
-            {
-                ASTGenericNameNode nm = node.getInterfaceStmt().getGenericName();
-                if (nm != null)
-                    name = nm.getGenericName().getText();
-            }
-        }
-        
-        GetScopeVisitor visitor = new GetScopeVisitor();
-        node.accept(visitor);
-        return node.getClass().getName() + "/" + visitor.name.toLowerCase() + ":"; //$NON-NLS-1$ //$NON-NLS-2$
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranEditorTasks.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranEditorTasks.java
deleted file mode 100755
index ad183f4..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranEditorTasks.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg;
-
-import java.io.StringReader;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.SyntaxException;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.ASTLexerFactory;
-import org.eclipse.photran.internal.core.lexer.IAccumulatingLexer;
-import org.eclipse.photran.internal.core.lexer.LexerException;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.preprocessor.fortran_include.IncludeLoaderCallback;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.Parser;
-import org.eclipse.photran.internal.core.properties.SearchPathProperties;
-import org.eclipse.photran.internal.core.sourceform.ISourceForm;
-import org.eclipse.photran.internal.core.sourceform.SourceForm;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.ui.FortranUIPlugin;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.rephraserengine.core.vpg.eclipse.VPGJob;
-import org.eclipse.rephraserengine.core.vpg.eclipse.VPGSchedulingRule;
-
-/**
- * Dispatcher for a set of tasks to be run by the Fortran editor when its contents change (and
- * after it has had time to parse the modified contents).
- * 
- * @author Jeff Overbey
- */
-public class FortranEditorTasks
-{
-    /**
-     * @return the instance of FortranEditorTasks associated with the given
-     * editor, creating the instance on-demand if necessary
-     */
-    public static FortranEditorTasks instance(FortranEditor editor)
-    {
-        if (editor.reconcilerTasks == null)
-            editor.reconcilerTasks = new FortranEditorTasks(editor);
-
-        return (FortranEditorTasks)editor.reconcilerTasks;
-    }
-
-    private FortranEditorTasks(FortranEditor editor)
-    {
-        this.editor = editor;
-        editor.reconcilerTasks = this;
-
-        this.runner = new Runner();
-    }
-    
-    //////////////////////////////////////////////////////////////////////////////////////////////
-
-    private Parser parser = new Parser();
-
-    private FortranEditor editor;
-
-    private Runner runner;
-
-    /**
-     * These jobs will be run if the contents of the editor parses successfully.  The VPG will probably
-     * <i>not</i> be up to date, but token positions will correspond to the contents of the editor.
-     */
-    private final Set<IFortranEditorASTTask> astTasks = new HashSet<IFortranEditorASTTask>();
-
-    /**
-     * These jobs will be run when the VPG is more-or-less up-to-date and an AST is available for the
-     * file in the editor.
-     */
-    private final Set<IFortranEditorVPGTask> vpgTasks = new HashSet<IFortranEditorVPGTask>();
-
-    public synchronized void addASTTask(IFortranEditorASTTask task)
-    {
-        astTasks.add(task);
-    }
-
-    public synchronized void addVPGTask(IFortranEditorVPGTask task)
-    {
-        vpgTasks.add(task);
-    }
-
-    public synchronized void removeASTTask(IFortranEditorASTTask task)
-    {
-        astTasks.remove(task);
-    }
-
-    public synchronized void removeVPGTask(IFortranEditorVPGTask task)
-    {
-        vpgTasks.remove(task);
-    }
-
-    public Runner getRunner()
-    {
-        return runner;
-    }
-
-    public class Runner
-    {
-        protected DefinitionMap<Definition> defMap = null;
-
-        protected PhotranVPG vpg = PhotranVPG.getInstance();
-        protected Job dispatchASTTasksJob = null;
-        protected VPGJob<IFortranAST, Token> updateVPGJob = null;
-        protected Job dispatchVPGTasksJob = null;
-        protected IFortranAST vpgAST = null;
-
-        public void runTasks()
-        {
-            runTasks(true);
-        }
-
-        public void runTasks(boolean runVPGTasks)
-        {
-            if (editor == null) return;
-
-            String vpgEnabledProperty = new SearchPathProperties().getProperty(editor.getIFile(),
-                                                 SearchPathProperties.ENABLE_VPG_PROPERTY_NAME);
-            if (vpgEnabledProperty != null && vpgEnabledProperty.equals("true")) //$NON-NLS-1$
-            {
-                runASTTasks();
-                if (runVPGTasks) runVPGTasks();
-            }
-        }
-
-        private void runASTTasks()
-        {
-            if (dispatchASTTasksJob != null) return; // Already running an update
-
-            dispatchASTTasksJob = new DispatchASTTasksJob();
-            dispatchASTTasksJob.setRule(VPGSchedulingRule.getInstance());
-            dispatchASTTasksJob.setPriority(Job.DECORATE);
-            dispatchASTTasksJob.schedule();
-        }
-
-        private void runVPGTasks()
-        {
-            if (updateVPGJob != null || dispatchVPGTasksJob != null) return; // Already running an update
-
-            //if (vpgAST == null || vpg.db.isOutOfDate(PhotranVPG.getFilenameForIFile(editor.getIFile())))
-            {
-                //vpg.queueJobToEnsureVPGIsUpToDate();
-
-                vpgAST = null;
-                updateVPGJob = new UpdateVPGJob();
-                updateVPGJob.setRule(VPGSchedulingRule.getInstance());
-                updateVPGJob.setPriority(Job.DECORATE);
-                updateVPGJob.schedule();
-            }
-        }
-
-        private final class DispatchASTTasksJob extends Job
-        {
-            private DispatchASTTasksJob()
-            {
-                super(Messages.FortranEditorTasks_UpdatingFortranEditorWithNewParseInfo);
-            }
-
-            private ISourceForm determineSourceForm()
-            {
-                ISourceForm sourceForm = SourceForm.of(editor.getIFile());
-                if (editor.getIFile() == null || editor.getIFile().getProject() == null)
-                    return sourceForm.configuredWith(new IncludeLoaderCallback(editor.getIFile().getProject()));
-                else
-                    return sourceForm;
-            }
-
-            @Override
-            protected IStatus run(IProgressMonitor monitor)
-            {
-                parseThenRunASTTasks();
-                dispatchASTTasksJob = null;
-                return Status.OK_STATUS;
-            }
-
-            private void parseThenRunASTTasks()
-            {
-                try
-                {
-                    if (editor.getDocumentProvider() != null)
-                    {
-                                                debug("DispatchASTTasksJob#parseThenRunASTTasks():"); //$NON-NLS-1$
-
-                        String editorContents = editor.getDocumentProvider().getDocument(editor.getEditorInput()).get();
-                        
-                                                long start = System.currentTimeMillis();
-                        ISourceForm sourceForm = determineSourceForm();
-                        IAccumulatingLexer lexer = new ASTLexerFactory().createLexer(new StringReader(editorContents),
-                                                                            editor.getIFile(),
-                                                                            editor.getIFile().getName(),
-                                                                            sourceForm);
-                                                debug("    createLexer:\t" + (System.currentTimeMillis()-start) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$
-                                                start = System.currentTimeMillis();
-                        ASTExecutableProgramNode astRootNode = parser.parse(lexer);
-                                                debug("    parse:\t" + (System.currentTimeMillis()-start) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$
-                        if (astRootNode == null) return;
-
-                        HashSet<IFortranEditorASTTask> tasksToRemove = new HashSet<IFortranEditorASTTask>();
-                        synchronized (FortranEditorTasks.instance(editor))
-                        {
-                                                start = System.currentTimeMillis();
-                            for (IFortranEditorASTTask task : FortranEditorTasks.instance(editor).astTasks)
-                            {
-                                                long start2 = System.currentTimeMillis();
-                                if (!task.handle(astRootNode, lexer.getTokenList(), defMap))
-                                    tasksToRemove.add(task);
-                                                debug("        Task " + task.getClass().getSimpleName() + ":\t" + (System.currentTimeMillis()-start2) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-                            }
-                                                debug("    Total Running Tasks:\t" + (System.currentTimeMillis()-start) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$
-                            FortranEditorTasks.instance(editor).astTasks.removeAll(tasksToRemove);
-                        }
-                    }
-                }
-                catch (LexerException e)  { /* Ignore syntax errors */ }
-                catch (SyntaxException e) { /* Ignore syntax errors */ }
-                catch (Throwable e) { FortranUIPlugin.log(Messages.FortranEditorTasks_ErrorRunningASTTasks, e); }
-            }
-
-            private void debug(String string)
-            {
-                PhotranVPG.getInstance().debug(string, null);
-            }
-        }
-
-        private final class UpdateVPGJob extends VPGJob<IFortranAST, Token>
-        {
-            private UpdateVPGJob()
-            {
-                super(Messages.FortranEditorTasks_UpdatingFortranEditorWithNewAnalysisInfo);
-            }
-
-            @Override
-            public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException
-            {
-                vpgAST = vpg.acquireTransientAST(PhotranVPG.getFilenameForIFile(editor.getIFile()));
-                //scheduleVPGTaskDispatchJob();
-
-                if (vpgAST != null)
-                {
-                    // Copy list of tasks so we can iterate over it without a
-                    // ConcurrentModificationException and without having to
-                    // synchronize for the entire time we're running the tasks,
-                    // since this will block the UI thread if AST tasks also
-                    // want to run
-                    Set<IFortranEditorVPGTask> vpgTasks;
-                    synchronized (FortranEditorTasks.instance(editor))
-                    {
-                        vpgTasks = new HashSet<IFortranEditorVPGTask>(FortranEditorTasks.instance(editor).vpgTasks);
-                    }
-
-                    defMap = createDefMap();
-                    for (IFortranEditorVPGTask task : vpgTasks)
-                        task.handle(editor.getIFile(), vpgAST, defMap);
-                }
-
-                updateVPGJob = null;
-                return Status.OK_STATUS;
-            }
-            
-            private DefinitionMap<Definition> createDefMap()
-            {
-                return new DefinitionMap<Definition>(vpgAST)
-                {
-                    @Override protected Definition map(String qualifiedName, Definition def)
-                    {
-                        return def;
-                    }
-                };
-            }
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranVPGReconcilingStrategy.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranVPGReconcilingStrategy.java
deleted file mode 100755
index 2b2ef0c..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranVPGReconcilingStrategy.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg;
-
-import org.eclipse.cdt.internal.ui.text.CCompositeReconcilingStrategy;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * A replacemenet reconciling strategy for the Fortran editor which runs {@link FortranEditorTasks}.
- * 
- * @author Jeff Overbey
- */
-@SuppressWarnings("restriction")
-public class FortranVPGReconcilingStrategy extends CCompositeReconcilingStrategy
-{
-    protected final FortranEditor editor;
-    
-    public FortranVPGReconcilingStrategy(ISourceViewer sourceViewer, ITextEditor editor, String documentPartitioning)
-    {
-        super(sourceViewer, editor, documentPartitioning);
-        if (editor instanceof FortranEditor)
-        {
-            this.editor = (FortranEditor)editor;
-        }
-        else
-        {
-            this.editor = null;
-        }
-    }
-
-    @Override public void initialReconcile()
-    {
-        super.initialReconcile();
-        FortranEditorTasks.instance(editor).getRunner().runTasks();
-    }
-
-    @Override public void reconcile(IRegion region)
-    {
-        super.reconcile(region);
-        FortranEditorTasks.instance(editor).getRunner().runTasks();
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranVPGSourceViewerConfigurationFactory.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranVPGSourceViewerConfigurationFactory.java
deleted file mode 100755
index d57d7f6..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/FortranVPGSourceViewerConfigurationFactory.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg;
-
-import org.eclipse.cdt.internal.ui.text.CCompositeReconcilingStrategy;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.photran.internal.ui.editor.IFortranSourceViewerConfigurationFactory;
-import org.eclipse.photran.internal.ui.editor.FortranEditor.FortranSourceViewerConfiguration;
-import org.eclipse.photran.internal.ui.editor_vpg.contentassist.FortranCompletionProcessor;
-import org.eclipse.photran.internal.ui.editor_vpg.folding.FortranFoldingProvider;
-import org.eclipse.photran.internal.ui.editor_vpg.hover.FortranDeclarationHover;
-
-/**
- * Factory providing a <code>SourceViewerConfiguration</code> for the Fortran editors which supports
- * content assist, hover tips, and folding.
- * 
- * @author Jeff Overbey
- */
-@SuppressWarnings("restriction")
-public class FortranVPGSourceViewerConfigurationFactory implements IFortranSourceViewerConfigurationFactory
-{
-    public SourceViewerConfiguration create(final FortranEditor editor)
-    {
-        new FortranFoldingProvider().setup(editor);
-        
-        return new FortranSourceViewerConfiguration(editor)
-        {
-            private final FortranCompletionProcessor fortranCompletionProcessor = new FortranCompletionProcessor();
-            
-            @Override protected CCompositeReconcilingStrategy createReconcilingStrategy(ISourceViewer sourceViewer)
-            {
-                return new FortranVPGReconcilingStrategy(sourceViewer, editor, getConfiguredDocumentPartitioning(sourceViewer));
-            }
-
-            @Override public IContentAssistant getContentAssistant(ISourceViewer sourceViewer)
-            {
-                IContentAssistant result = fortranCompletionProcessor.setup((FortranEditor)editor);
-                return result == null ? super.getContentAssistant(sourceViewer) : result;
-            }
-
-            @Override public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType)
-            {
-                return new FortranDeclarationHover(sourceViewer, (FortranEditor)editor);
-            }
-        };
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/IFortranEditorASTTask.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/IFortranEditorASTTask.java
deleted file mode 100755
index d08711d..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/IFortranEditorASTTask.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg;
-
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.TokenList;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-
-/**
- * An <code>IFortranEditorASTTask</code> can be run if an AST for the file in the editor is available but the VPG is not
- * up-to-date.
- * <p>
- * The AST provided to this method will be based on the contents of the editor, while the AST provided to an
- * {@link IFortranEditorVPGTask} will be based on the last saved version of the file.
- * 
- * @author Jeff Overbey
- */
-public interface IFortranEditorASTTask
-{
-    /** @return true to run this task again the next time the editor is updated, or false to run it only once */
-    boolean handle(ASTExecutableProgramNode ast, TokenList tokenList, DefinitionMap<Definition> defMap);
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/IFortranEditorVPGTask.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/IFortranEditorVPGTask.java
deleted file mode 100755
index 9ee27a0..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/IFortranEditorVPGTask.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-
-/**
- * An <code>IFortranEditorVPGTask</code> can be run only after the VPG has been updated for the file in the editor.
- * <p>
- * The AST provided to this method will be based on the last saved version of the file.  The user may have modified
- * the file since then, so token positions will <i>not</i> necessarily correspond to the contents of the editor.
- * An {@link IFortranEditorASTTask} should be used if accurate token position information is needed.
- * 
- * @author Jeff Overbey
- */
-public interface IFortranEditorVPGTask
-{
-    void handle(IFile file, IFortranAST ast, DefinitionMap<Definition> defMap);
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/Messages.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/Messages.java
deleted file mode 100644
index 60c1738..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/Messages.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.ui.editor_vpg.messages"; //$NON-NLS-1$
-
-    public static String FortranEditorTasks_ErrorRunningASTTasks;
-
-    public static String FortranEditorTasks_UpdatingFortranEditorWithNewAnalysisInfo;
-
-    public static String FortranEditorTasks_UpdatingFortranEditorWithNewParseInfo;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessor.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessor.java
deleted file mode 100755
index 1605c7b..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessor.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg.contentassist;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.TreeSet;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.properties.SearchPathProperties;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.photran.internal.ui.editor.FortranTemplateCompletionProcessor;
-import org.eclipse.photran.internal.ui.editor_vpg.FortranEditorTasks;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * Fortran content assist processor which uses the VPG to determine which identifiers are in scope.
- * 
- * @author Jeff Overbey
- */
-public class FortranCompletionProcessor implements IContentAssistProcessor
-{
-    /** Scope map: scopes.get(n) is the qualified name of the scope at line (n+1) */
-    ArrayList<String> scopes = new ArrayList<String>();
-    
-    /** Maps qualified scope names to lists of definitions declared in that scope */
-    HashMap<String, TreeSet<Definition>> defs = new HashMap<String, TreeSet<Definition>>();
-    
-    private String errorMessage = null;
-
-    //private final Color LIGHT_YELLOW = new Color(null, new RGB(255, 255, 191));
-    private final Color LIGHT_YELLOW = new Color(null, new RGB(255, 255, 223));
-    //private final Color WHITE = new Color(null, new RGB(255, 255, 255));
-
-    public IContentAssistant setup(FortranEditor editor)
-    {
-        String contentAssistEnabledProperty = new SearchPathProperties().getProperty(
-            editor.getIFile(),
-            SearchPathProperties.ENABLE_CONTENT_ASSIST_PROPERTY_NAME);
-        if (contentAssistEnabledProperty != null && contentAssistEnabledProperty.equals("true")) //$NON-NLS-1$
-        {
-            FortranEditorTasks.instance(editor).addASTTask(new FortranCompletionProcessorASTTask(this));
-            FortranEditorTasks.instance(editor).addVPGTask(new FortranCompletionProcessorVPGTask(this));
-            
-            ContentAssistant assistant = new ContentAssistant();
-            for (String partitionType : FortranEditor.PARTITION_TYPES)
-                assistant.setContentAssistProcessor(this, partitionType);
-            assistant.enableAutoActivation(false); //assistant.setAutoActivationDelay(500);
-            assistant.setProposalPopupOrientation(IContentAssistant.CONTEXT_INFO_BELOW);
-            assistant.setContextInformationPopupBackground(LIGHT_YELLOW);
-            assistant.setProposalSelectorBackground(LIGHT_YELLOW);
-            return assistant;
-        }
-        else return null;
-    }
-
-    public synchronized ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int offset)
-    {
-        FortranCompletionProposalComputer computer = null;
-        List<ICompletionProposal> proposals = new ArrayList<ICompletionProposal>(256);
-        
-        if (defs != null)
-        {
-    //        return new ICompletionProposal[]
-    //        {
-    //            new CompletionProposal("Hello", offset, 0, 5),
-    //            new CompletionProposal("Goodbye", offset, 0, 7)
-    //        };
-            
-            try
-            {
-                errorMessage = null;
-                
-                IDocument document = viewer.getDocument();
-                
-                int line = determineLineNumberForOffset(offset, document);
-                String scopeName = determineScopeNameForLine(line);
-                
-                if (scopeName != null)
-                    computer = new FortranCompletionProposalComputer(defs, scopeName, document, offset);
-
-                // Include proposals in this order:
-                
-                // 1. Local variables, functions, etc.
-                if (computer != null) proposals.addAll(computer.proposalsFromDefs());
-                
-                // 2. Code templates
-                for (ICompletionProposal proposal : new FortranTemplateCompletionProcessor().computeCompletionProposals(viewer, offset))
-                    proposals.add(proposal);
-
-                // 3. Intrinsic procedures
-                if (computer != null) proposals.addAll(computer.proposalsFromIntrinsics());
-            }
-            catch (Exception e)
-            {
-                errorMessage = e.getClass().getName() + " - " + e.getMessage(); //$NON-NLS-1$
-            }
-        }
-        
-        return proposals.toArray(new ICompletionProposal[proposals.size()]);
-    }
-
-    private int determineLineNumberForOffset(int offset, IDocument document) throws BadLocationException
-    {
-        int line = document.getLineOfOffset(offset);
-        
-        /*
-         * The mapping between scopes and lines is reconfigured only when
-         * the editor is reconciled and a new AST is available.  Therefore,
-         * if the user adds a line or two at the bottom of the file and
-         * invokes content assist before the editor can be reconciled, the
-         * line number may be greater than what the last line of the file
-         * was the last time we parsed it.  In this case, reset the line
-         * to be the last line of the file.
-         */
-        if (!scopes.isEmpty() && line >= scopes.size())
-            line = scopes.size()-1;
-        return line;
-    }
-
-    private final String determineScopeNameForLine(int line)
-    {
-        String scopeName = ""; //$NON-NLS-1$
-        if (line < scopes.size())
-            scopeName = scopes.get(line);
-        if (scopeName == null)
-            scopeName = ""; //$NON-NLS-1$
-        
-        /*
-         * Again, the mapping between scopes and lines is reconfigured only
-         * when the editor is reconciled and a new AST is available.  If
-         * the user invokes content assist and the scope is reported to be
-         * the outermost scope (""), it's probably because the user has
-         * added lines beyond the end-statement of the previous program
-         * unit and the editor hasn't been reconciled yet.  (The outermost
-         * scope usually contains just a single module or program, so
-         * it is rare that a user would type anything below the
-         * first program unit, particularly in the outermost scope).
-         * Therefore, populate the list of completion proposals based on
-         * the *preceding* scope.
-         */
-        while (scopeName.equals("") && line > 0) //$NON-NLS-1$
-        {
-            line--;
-            if (line < scopes.size())
-                scopeName = scopes.get(line);
-        }
-        return scopeName;
-    }
-
-    public IContextInformation[] computeContextInformation(ITextViewer viewer,
-                                                           int offset)
-    {
-        return null;
-    }
-
-    public char[] getCompletionProposalAutoActivationCharacters()
-    {
-        return null;
-    }
-
-    public char[] getContextInformationAutoActivationCharacters()
-    {
-        return null;
-    }
-
-    public IContextInformationValidator getContextInformationValidator()
-    {
-        return null;
-    }
-
-    public String getErrorMessage()
-    {
-        return errorMessage;
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessorASTTask.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessorASTTask.java
deleted file mode 100755
index fbc33a8..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessorASTTask.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg.contentassist;
-
-import java.util.ArrayList;
-
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.TokenList;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.util.IterableWrapper;
-import org.eclipse.photran.internal.ui.editor_vpg.DefinitionMap;
-import org.eclipse.photran.internal.ui.editor_vpg.IFortranEditorASTTask;
-
-final class FortranCompletionProcessorASTTask implements IFortranEditorASTTask
-{
-    private final FortranCompletionProcessor fortranCompletionProcessor;
-    
-    FortranCompletionProcessorASTTask(FortranCompletionProcessor fortranCompletionProcessor)
-    {
-        this.fortranCompletionProcessor = fortranCompletionProcessor;
-    }
-    
-    // Will be run <i>outside</i> the UI thread
-    public boolean handle(ASTExecutableProgramNode ast,
-                          TokenList tokenList,
-                          DefinitionMap<Definition> defMap)
-    {
-        if (defMap == null) return true;
-        
-        final ArrayList<String> scopes = new ArrayList<String>();
-        try
-        {
-            int lastLine = 0;
-            for (Token token : new IterableWrapper<Token>(tokenList))
-            {
-                int line = token.getLine();
-                if (line > lastLine)
-                {
-                    scopes.ensureCapacity(line);
-                    String qualifier = DefinitionMap.getQualifier(token.getEnclosingScope());
-                    while (scopes.size() < line)
-                        scopes.add(qualifier);
-                    lastLine = line;
-                }
-            }
-            
-            synchronized (fortranCompletionProcessor)
-            {
-                fortranCompletionProcessor.scopes = scopes;
-            }
-        }
-        catch (Throwable e)
-        {
-            // Ignore
-        }
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessorVPGTask.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessorVPGTask.java
deleted file mode 100755
index 6fa8265..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProcessorVPGTask.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg.contentassist;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.TreeSet;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.ui.editor_vpg.DefinitionMap;
-import org.eclipse.photran.internal.ui.editor_vpg.IFortranEditorVPGTask;
-
-final class FortranCompletionProcessorVPGTask implements IFortranEditorVPGTask
-{
-    private final FortranCompletionProcessor fortranCompletionProcessor;
-    
-    FortranCompletionProcessorVPGTask(FortranCompletionProcessor fortranCompletionProcessor)
-    {
-        this.fortranCompletionProcessor = fortranCompletionProcessor;
-    }
-    
-    // IFortranEditorVPGTask - Will be run <i>outside</i> the UI thread
-    public void handle(IFile file, IFortranAST ast, DefinitionMap<Definition> defMap)
-    {
-        if (ast == null) return;
-        
-        try
-        {
-            final HashMap<String, TreeSet<Definition>> defs = new HashMap<String, TreeSet<Definition>>();
-            defs.clear();
-            ast.accept(new GenericASTVisitor()
-            {
-                @Override public void visitASTNode(IASTNode node)
-                {
-                    if (ScopingNode.isScopingNode(node))
-                    {
-                        ScopingNode n = (ScopingNode)node;
-                        String qualifier = DefinitionMap.getQualifier(n);
-                        List<Definition> allDefs = n.getAllDefinitions();
-                        
-                        TreeSet<Definition> set = defs.get(qualifier);
-                        if (set == null) set = new TreeSet<Definition>();
-                        for (Definition def : allDefs)
-                            if (def != null)
-                                set.add(def);
-                        defs.put(qualifier, set);
-                    }
-                    
-                    traverseChildren(node);
-                }
-            });
-
-            synchronized (fortranCompletionProcessor)
-            {
-                fortranCompletionProcessor.defs = defs;
-            }
-        }
-        catch (Throwable e)
-        {
-            // Ignore
-        }
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProposalComputer.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProposalComputer.java
deleted file mode 100755
index 4f7ae49..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/contentassist/FortranCompletionProposalComputer.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg.contentassist;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.templates.DocumentTemplateContext;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateProposal;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.Definition.Classification;
-import org.eclipse.photran.internal.core.intrinsics.IntrinsicProcDescription;
-import org.eclipse.photran.internal.core.intrinsics.Intrinsics;
-import org.eclipse.photran.internal.core.model.FortranElement;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.ui.FortranTemplateManager;
-import org.eclipse.photran.internal.ui.editor.CompletionComputer;
-import org.eclipse.photran.internal.ui.editor.FortranTemplateContext;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Computes the list of items be shown in the content assist list.
- * 
- * @author Jeff Overbey
- * 
- * @see FortranCompletionProcessor#computeCompletionProposals(org.eclipse.jface.text.ITextViewer, int)
- */
-class FortranCompletionProposalComputer extends CompletionComputer
-{
-    private HashMap<String, TreeSet<Definition>> defs;
-    private String scope;
-
-    FortranCompletionProposalComputer(HashMap<String, TreeSet<Definition>> defs, String scope, IDocument document, int offset) throws BadLocationException
-    {
-        super(document, offset);
-        this.defs = defs;
-        this.scope = scope;
-    }
-
-    public List<ICompletionProposal> proposalsFromDefs() throws BadLocationException
-    {
-        TreeSet<FortranCompletionProposal> proposals = new TreeSet<FortranCompletionProposal>();
-        for (;;)
-        {
-            addProposals(defs.get(scope), proposals);
-            
-            int colon = scope.indexOf(':');
-            if (colon < 0)
-                break;
-            else
-                scope = scope.substring(colon+1);
-        }
-        return toProposalArray(proposals);
-    }
-
-    private List<ICompletionProposal> toProposalArray(TreeSet<FortranCompletionProposal> proposals)
-    {
-        List<ICompletionProposal> result = new ArrayList<ICompletionProposal>(proposals.size());
-        for (FortranCompletionProposal p : proposals)
-            result.add(p.wrappedProposal);
-        return result;
-    }
-
-    private void addProposals(Iterable<Definition> proposalsToConsider,
-                              TreeSet<FortranCompletionProposal> proposals)
-        throws BadLocationException
-    {
-        if (proposalsToConsider != null)
-        {
-            for (Definition def : proposalsToConsider)
-            {
-                if (def.getClassification().equals(Classification.MAIN_PROGRAM))
-                    continue;
-                
-                String identifier = def.getDeclaredName();
-                String canonicalizedId = def.getCanonicalizedName();
-                if (canonicalizedId.startsWith(prefix) && canonicalizedId.endsWith(suffix))
-                    proposals.add(createProposal(identifier,
-                                                 def.describeClassification(),
-                                                 getImage(def.getClassification())));
-            }
-        }
-    }
-
-    public List<ICompletionProposal> proposalsFromIntrinsics() throws BadLocationException
-    {
-        TreeSet<FortranCompletionProposal> proposals = new TreeSet<FortranCompletionProposal>();
-        for (IntrinsicProcDescription proc : Intrinsics.getAllIntrinsicProcedures())
-        {
-            String canonicalizedId = PhotranVPG.canonicalizeIdentifier(proc.genericName);
-            if (canonicalizedId.startsWith(prefix) && canonicalizedId.endsWith(suffix))
-            {
-                //proposals.add(createProposal(proc.genericName.toLowerCase(), proc.description));
-
-                for (String proposal : proc.getAllForms())
-                {
-                    proposals.add(createProposal(proposal.toLowerCase(), proc.description));
-                }
-            }
-        }
-        return toProposalArray(proposals);
-    }
-
-    private HashMap<Classification, Image> imageCache = new HashMap<Classification, Image>(); 
-    
-    private Image getImage(Classification classification)
-    {
-        if (!imageCache.containsKey(classification))
-            imageCache.put(classification, getImageDescriptor(classification).createImage());
-
-        return imageCache.get(classification);
-    }
-
-    private ImageDescriptor getImageDescriptor(Classification classification)
-    {
-        switch (classification)
-        {
-        case VARIABLE_DECLARATION:
-        case IMPLICIT_LOCAL_VARIABLE:
-        case DERIVED_TYPE_COMPONENT:
-            return FortranElement.Variable.imageDescriptor();
-        
-        case BLOCK_DATA:
-            return FortranElement.BlockData.imageDescriptor();
-        
-        case DERIVED_TYPE:
-            return FortranElement.DerivedType.imageDescriptor();
-            
-        case FUNCTION:
-            return FortranElement.Function.imageDescriptor();
-            
-        case INTERFACE:
-            return FortranElement.Interface.imageDescriptor();
-            
-        case MAIN_PROGRAM:
-            return FortranElement.MainProgram.imageDescriptor();
-            
-        case MODULE:
-            return FortranElement.Module.imageDescriptor();
-        
-        case SUBROUTINE:
-            return FortranElement.Subroutine.imageDescriptor();
-            
-        default:
-            return FortranElement.unknownImageDescriptor();
-        }
-    }
-
-//    private FortranCompletionProposal createProposal(String identifier)
-//    {
-//        return createProposal(identifier, null, null);
-//    }
-
-    private FortranCompletionProposal createProposal(String identifier, String description)
-    {
-        return createProposal(identifier, description, null);
-    }
-
-    private FortranCompletionProposal createProposal(String identifier, String description, Image image)
-    {
-//        return new FortranCompletionProposal(
-//            identifier,
-//            new CompletionProposal(identifier,
-//                                   replOffset,
-//                                   replLen,
-//                                   identifier.length(),
-//                                   image,
-//                                   displayString(identifier, description),
-//                                   null,
-//                                   null));
-        return new FortranCompletionProposal(
-            identifier,
-            new TemplateProposal(new Template(
-                                    identifier,
-                                    description == null ? "" : description, //$NON-NLS-1$
-                                    FortranTemplateContext.ID,
-                                    replaceArgumentsWithTemplateVariables(identifier),
-                                    true),
-                                 new DocumentTemplateContext(
-                                     FortranTemplateManager.getInstance().getContextTypeRegistry().getContextType(FortranTemplateContext.ID),
-                                     document,
-                                     replOffset,
-                                     replLen),
-                                 new Region(replOffset, replLen),
-                                 image,
-                                 100));
-    }
-
-    /**
-     * Converts "len(string, kind)" into "len(${string}, ${kind})", for example
-     */
-    private String replaceArgumentsWithTemplateVariables(String string)
-    {
-        if (string.contains("(") && string.contains(")") && string.endsWith(")")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-        {
-            int lparen = string.indexOf('(');
-            int rparen = string.lastIndexOf(')'); // == string.length()-1
-            String name = string.substring(0, lparen);
-            String[] args = string.substring(lparen+1, rparen).split(","); //$NON-NLS-1$
-            
-            StringBuilder sb = new StringBuilder(string.length() + 16);
-            sb.append(name);
-            sb.append('(');
-            for (int i = 0; i < args.length; i++)
-            {
-                if (i > 0) sb.append(", "); //$NON-NLS-1$
-                sb.append("${"); //$NON-NLS-1$
-                sb.append(args[i].trim().replace(' ', '_'));
-                sb.append('}');
-            }
-            sb.append(')');
-            return sb.toString();
-        }
-        else return string;
-    }
-
-//    private String displayString(String identifier, String description)
-//    {
-//        if (description == null)
-//            return identifier;
-//        else
-//            return identifier + " - " + description; //$NON-NLS-1$
-//    }
-    
-    /**
-     * A single proposal which will appear in the content assist list.
-     * <p>
-     * This class implements {@link Comparable} so that instances can be stored in a
-     * {@link TreeMap}.  This ensures that the resulting list will be sorted alphabetically.
-     * 
-     * @author Jeff Overbey
-     */
-    private static class FortranCompletionProposal implements Comparable<FortranCompletionProposal>
-    {
-        public final String canonicalizedId;
-        public final ICompletionProposal wrappedProposal;
-
-        public FortranCompletionProposal(String identifier, ICompletionProposal proposal)
-        {
-            this.canonicalizedId = PhotranVPG.canonicalizeIdentifier(identifier);
-            this.wrappedProposal = proposal;
-        }
-
-        public int compareTo(FortranCompletionProposal o)
-        {
-            return canonicalizedId.compareTo(o.canonicalizedId);
-        }
-
-        @Override public boolean equals(Object obj)
-        {
-            return obj != null
-                && obj.getClass().equals(this.getClass())
-                && ((FortranCompletionProposal)obj).canonicalizedId.equals(this.canonicalizedId);
-        }
-
-        @Override public int hashCode()
-        {
-            return canonicalizedId.hashCode();
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/folding/FortranFoldingProvider.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/folding/FortranFoldingProvider.java
deleted file mode 100644
index 1a2aa3a..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/folding/FortranFoldingProvider.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg.folding;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.text.Position;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.lexer.TokenList;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.GenericASTVisitor;
-import org.eclipse.photran.internal.core.parser.IASTNode;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.photran.internal.ui.editor_vpg.DefinitionMap;
-import org.eclipse.photran.internal.ui.editor_vpg.FortranEditorTasks;
-import org.eclipse.photran.internal.ui.editor_vpg.FortranVPGSourceViewerConfigurationFactory;
-import org.eclipse.photran.internal.ui.editor_vpg.IFortranEditorASTTask;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Provides folding structure for the Fortran editor (i.e., its ability to collapse functions, modules, etc.).
- * <p>
- * This class implements {@link IFortranEditorASTTask} and is installed by
- * {@link FortranVPGSourceViewerConfigurationFactory#create(org.eclipse.photran.internal.ui.editor.FortranEditor)}
- * 
- * @author Jeff Overbey
- * @author Kurt Hendle
- */
-public class FortranFoldingProvider implements IFortranEditorASTTask
-{
-    protected FortranEditor editor = null;
-
-    public void setup(FortranEditor editor)
-    {
-        this.editor = editor;
-        FortranEditorTasks.instance(editor).addASTTask(this);
-    }
-    
-    public boolean handle(ASTExecutableProgramNode ast, TokenList tokenList, DefinitionMap<Definition> defMap)
-    {
-        if (editor == null) return false;
-        
-        final FoldingVisitor visitor = new FoldingVisitor();
-        ast.accept(visitor);
-        
-        Display.getDefault().asyncExec(new Runnable()
-        {
-            public void run()
-            {
-                editor.updateFoldingStructure(visitor.positions);
-            }
-        });
-        
-        return true;
-    }
-    
-    private static class FoldingVisitor extends GenericASTVisitor
-    {
-        final ArrayList<Position> positions = new ArrayList<Position>();
-
-        @Override
-        public void visitASTNode(IASTNode node)
-        {
-            if (node instanceof ScopingNode && !(node instanceof ASTExecutableProgramNode))
-                fold(node);
-
-            traverseChildren(node);
-        }
-
-        private void fold(IASTNode node)
-        {
-            Token firstToken = node.findFirstToken();
-            Token lastToken = node.findLastToken();
-            if (firstToken == null || lastToken == null) return;
-            
-            int offset = firstToken.getFileOffset();
-            int length = (lastToken.getFileOffset() + lastToken.getLength() - firstToken.getFileOffset());
-            
-            positions.add(new Position(offset, length));            
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/FortranDeclarationHover.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/FortranDeclarationHover.java
deleted file mode 100644
index 43cbba7..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/FortranDeclarationHover.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/***************************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- **************************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg.hover;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IInformationControl;
-import org.eclipse.jface.text.IInformationControlCreator;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextHoverExtension;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.TokenList;
-import org.eclipse.photran.internal.core.properties.SearchPathProperties;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.photran.internal.ui.editor_vpg.DefinitionMap;
-import org.eclipse.photran.internal.ui.editor_vpg.FortranEditorTasks;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.part.IWorkbenchPartOrientation;
-
-/**
- * FortranDeclarationHover
- * It displays a tool-tip when a mouse is hovered over a identifier.
- * The content of it is identical to that of org.eclipse.photran.internal.ui.views.DeclarationView
- * @author Jungyoon Lee, Kun Koh, Nam Kim, David Weiner
- */
-public class FortranDeclarationHover implements ITextHover, ITextHoverExtension
-{
-    private FortranEditor fEditor;
-    private boolean hoverTipEnabled;
-
-    private TokenList activeTokenList = null;
-    private DefinitionMap<Definition> activeDefinitionMap = null;
-
-    public void setTokenList(TokenList tokenList)
-    {
-        this.activeTokenList = tokenList;
-    }    
-
-    public void setDefinitionMap(DefinitionMap<Definition> defMap)
-    {
-        this.activeDefinitionMap = defMap;
-    }
-    
-
-    /**
-     * Constructor
-     * @param sourceViewer
-     * @param editor
-     */
-    public FortranDeclarationHover(ISourceViewer sourceViewer, FortranEditor editor)
-    {
-        Assert.isNotNull(sourceViewer);
-        fEditor = editor;
-        
-        if (editor == null) return;
-
-        hoverTipEnabled = new SearchPathProperties().getProperty(editor.getIFile(), 
-            SearchPathProperties.ENABLE_HOVER_TIP_PROPERTY_NAME).equals("true"); //$NON-NLS-1$
-
-        
-        FortranEditorTasks instance = FortranEditorTasks.instance(editor);
-        instance.addASTTask(new FortranHoverASTTask(this, hoverTipEnabled));
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.ITextHover#getHoverInfo(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-     */
-    public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion)
-    {
-        String str = ""; //$NON-NLS-1$
-        if (activeTokenList != null && activeDefinitionMap != null)
-        {
-            try
-            {
-                TextSelection ts = new TextSelection(textViewer.getDocument(),
-                    hoverRegion.getOffset(),
-                    hoverRegion.getLength());
-                Definition def = activeDefinitionMap.lookup(ts, activeTokenList);
-                if (def != null) str = def.describe();
-            }
-            catch (Throwable t)
-            {
-                // Ignore
-            }
-        }
-
-        return str;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.ITextHover#getHoverRegion(org.eclipse.jface.text.ITextViewer, int)
-     */
-    public IRegion getHoverRegion(ITextViewer textViewer, int offset)
-    {       
-        if (hoverTipEnabled)
-            return findWord(textViewer.getDocument(), offset);
-        
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.ITextHoverExtension#getHoverControlCreator()
-     */
-    public IInformationControlCreator getHoverControlCreator() 
-    {
-        return new IInformationControlCreator() {
-            public IInformationControl createInformationControl(Shell parent) 
-            {
-                IEditorPart editor= fEditor;
-                int orientation = SWT.NONE;
-                if (editor instanceof IWorkbenchPartOrientation)
-                    orientation = ((IWorkbenchPartOrientation) editor).getOrientation();
-                SourceViewerInformationControl sv = new SourceViewerInformationControl(parent, false, orientation, EditorsUI.getTooltipAffordanceString());
-                return sv;
-            }
-        };
-    }
-
-
-    /**
-     * findWord
-     * It calculates the start position and the end position of the word
-     * on which the 'offset' is located. 
-     * The main idea is borrowed from findWord in org.eclipse.jface.text.DefaultTextHover
-     * @param document
-     * @param offset
-     * @return
-     */
-    private IRegion findWord(IDocument document, int offset) 
-    {
-        int start= -2;
-        int end= -1;
-        
-        start = getOffsetOfWord(offset, document, -1);            
-        end = getOffsetOfWord(offset, document, 1);
-
-        // if a mouse is hovered over an invalid word
-        if (start >= -1 && end > -1) 
-        {
-            // if hovered over an one-letter identifier
-            if (start == offset && end == offset)
-                return new Region(offset, 0);
-            else if (start == offset)
-                return new Region(start, end - start);
-            else
-                return new Region(start + 1, end - start - 1);
-        }
-
-        return null;
-    }
-    
-    /**
-     * getOffsetOfWord
-     * @param current current offset of a mouse cursor from the beginning of a document
-     * @param document document
-     * @param direction '-1' if we need to get the left most position of a word, '1' otherwise
-     * @param length length of a document
-     * @return
-     */
-    private int getOffsetOfWord(int current, IDocument document, int direction)
-    {
-        char c;
-        int length = document.getLength();
-        while (0 <= current && current < length) 
-        {
-            try
-            {
-                c = document.getChar(current);
-                // this condition is from FortranWordDetector class
-                if (!(Character.isJavaIdentifierPart(c) || c == '.'))
-                    break;
-                current += direction;
-            }
-            catch (BadLocationException e)
-            {
-                e.printStackTrace();
-            }
-        }
-        return current;
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/FortranHoverASTTask.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/FortranHoverASTTask.java
deleted file mode 100644
index e28a0f3..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/FortranHoverASTTask.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg.hover;
-
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.TokenList;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.ui.editor_vpg.DefinitionMap;
-import org.eclipse.photran.internal.ui.editor_vpg.IFortranEditorASTTask;
-
-/**
- * This class gets AST, TokenList, and DefinitionMap from the Photran framework.
- * These informations can be used to make hovertip.
- * The method, 'handle' will pass them on to org.eclipse.photran.internal.ui.text.hover.FortranDeclarationHover. 
- * @author Jungyoon Lee, Kun Koh, Nam Kim, David Weiner
- */
-public class FortranHoverASTTask implements IFortranEditorASTTask
-{
-    private FortranDeclarationHover fortranDeclarationHover;
-    private boolean hoverTipEnabled;
-    
-    public FortranHoverASTTask(FortranDeclarationHover fortranDeclarationHover, boolean hoverTipEnabled)
-    {
-        this.fortranDeclarationHover = fortranDeclarationHover;
-        this.hoverTipEnabled = hoverTipEnabled;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.photran.internal.ui.editor_vpg.IFortranEditorASTTask#handle(org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode, org.eclipse.photran.internal.core.lexer.TokenList, org.eclipse.photran.internal.ui.editor_vpg.DefinitionMap)
-     */
-    public boolean handle(ASTExecutableProgramNode ast, TokenList tokenList,
-        DefinitionMap<Definition> defMap)
-    {
-        if (hoverTipEnabled)
-        {
-            fortranDeclarationHover.setTokenList(tokenList);
-            fortranDeclarationHover.setDefinitionMap(defMap);
-        }
-            
-        
-        return true;
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/SourceViewerInformationControl.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/SourceViewerInformationControl.java
deleted file mode 100644
index 64515c8..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/hover/SourceViewerInformationControl.java
+++ /dev/null
@@ -1,581 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2008 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX Software Systems - Initial API and implementation
- * Anton Leherbauer (Wind River Systems)
- * 
- * See org.eclipse.cdt.internal.ui.text.c.hover.SourceViewerInformationControl
- * 
- * This class's contructor has been rewritten to fit the purpose of Photran hover tool-tip
- * The rest of the class remains the same
- *
- * Original Contributors:
- * QNX Software Systems and others.
- * Anton Leherbauer (Wind River Systems)
- * 
- * For Photran:
- * Jungyoon Lee, Kun Koh, Nam Kim, David Weiner (UIUC) - Modification to run on Photran
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor_vpg.hover;
-
-import org.eclipse.cdt.ui.CUIPlugin;
-import org.eclipse.cdt.ui.PreferenceConstants;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.IInformationControl;
-import org.eclipse.jface.text.IInformationControlCreator;
-import org.eclipse.jface.text.IInformationControlExtension;
-import org.eclipse.jface.text.IInformationControlExtension3;
-import org.eclipse.jface.text.IInformationControlExtension5;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.rules.ITokenScanner;
-import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.photran.internal.ui.editor.FortranKeywordRuleBasedScanner;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
- 
-
-/**
- * Source viewer based implementation of <code>IInformationControl</code>.
- * Displays information in a source viewer.
- */
-public class SourceViewerInformationControl implements IInformationControl, IInformationControlExtension, IInformationControlExtension3, IInformationControlExtension5, DisposeListener 
-{
-
-    /** The control's shell */
-    private Shell fShell;
-    /** The control's text widget */
-    private StyledText fText;
-    /** The control's source viewer */
-    private SourceViewer fViewer;
-    /** The text font (do not dispose!) */
-    private Font fTextFont;
-    
-    private Document fDocument;
-    /**
-     * The optional status field.
-     *
-     * @since 3.0
-     */
-    private Label fStatusField;
-    /**
-     * The separator for the optional status field.
-     *
-     * @since 3.0
-     */
-    private Label fSeparator;
-    /**
-     * The font of the optional status text label.
-     *
-     * @since 3.0
-     */
-    private Font fStatusTextFont;
-    /**
-     * The width size constraint.
-     * @since 4.0
-     */
-    private int fMaxWidth= SWT.DEFAULT;
-    /**
-     * The height size constraint.
-     * @since 4.0
-     */
-    private int fMaxHeight= SWT.DEFAULT;
-    /**
-     * The orientation of the shell
-     * @since 3.4
-     */
-    private final int fOrientation;
-
-    private Color fBackgroundColor;
-    private boolean fIsSystemBackgroundColor= true;
-
-    /**
-     * Creates a source viewer information control with the given shell as parent. The given
-     * styles are applied to the created styled text widget. The status field will
-     * contain the given text or be hidden.
-     * 
-     * This constructor derives from the original SourceViewerInformationControl class that can be found at
-     * org.eclipse.cdt.internal.ui.text.c.hover.SourceViewerInformationControl
-     * 
-     * It has been modified to be used in Photran hover tool-tip.
-     * @author Jungyoon Lee, Kun Koh, Nam Kim, David Weiner
-     *
-     * @param parent the parent shell
-     * @param isResizable <code>true</code> if resizable
-     * @param orientation the orientation
-     * @param statusFieldText the text to be used in the optional status field
-     *            or <code>null</code> if the status field should be hidden
-     */
-    public SourceViewerInformationControl(Shell parent, boolean isResizable, int orientation, String statusFieldText) 
-    {
-        Assert.isLegal(orientation == SWT.RIGHT_TO_LEFT || orientation == SWT.LEFT_TO_RIGHT || orientation == SWT.NONE);
-        fOrientation= orientation;
-        
-        GridLayout layout;
-        GridData gd;
-
-        int shellStyle = SWT.TOOL | SWT.ON_TOP | orientation | (isResizable ? SWT.RESIZE : 0);
-        int textStyle = isResizable ? SWT.V_SCROLL | SWT.H_SCROLL : SWT.NONE;
-        
-        fShell = new Shell(parent, SWT.NO_FOCUS | SWT.ON_TOP | shellStyle);
-        Display display = fShell.getDisplay();
-
-        initializeColors();
-
-        Composite composite = fShell;
-        layout = new GridLayout(1, false);
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        composite.setLayout(layout);
-        gd = new GridData(GridData.FILL_HORIZONTAL);
-        composite.setLayoutData(gd);
-
-        if (statusFieldText != null) 
-        {
-            composite = new Composite(composite, SWT.NONE);
-            layout = new GridLayout(1, false);
-            layout.marginHeight= 0;
-            layout.marginWidth= 0;
-            layout.verticalSpacing= 1;
-            composite.setLayout(layout);
-            gd= new GridData(GridData.FILL_BOTH);
-            composite.setLayoutData(gd);
-            composite.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-            composite.setBackground(fBackgroundColor);
-        }
-
-        fViewer = new SourceViewer(composite, null, textStyle);
-        fViewer.configure(new FortranEditor.FortranSourceViewerConfiguration(null)
-        {
-            @Override protected ITokenScanner getTokenScanner()
-            {
-                // Copied from FortranEditor#getTokenScanner
-                return new FortranKeywordRuleBasedScanner(false, fViewer);
-            }
-        });
-               
-        fDocument = new Document();
-        fDocument.set(""); //$NON-NLS-1$
-        fViewer.setDocument(fDocument);
-        IDocumentPartitioner partitioner = new FastPartitioner(new RuleBasedPartitionScanner(), FortranEditor.PARTITION_TYPES);
-        partitioner.connect(fDocument);
-        fDocument.setDocumentPartitioner(partitioner);
-        
-        fViewer.setEditable(false);
-        fViewer.getTextWidget().setFont(JFaceResources.getTextFont());
-
-        fText= fViewer.getTextWidget();
-        gd= new GridData(GridData.BEGINNING | GridData.FILL_BOTH);
-        fText.setLayoutData(gd);
-        fText.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-        fText.setBackground(fBackgroundColor);
-
-        initializeFont();
-        
-        fText.addKeyListener(new KeyListener() 
-        {
-
-            public void keyPressed(KeyEvent e)  
-            {
-                if (e.character == 0x1B) // ESC
-                    fShell.dispose();
-            }
-
-            public void keyReleased(KeyEvent e) {}
-        });
-
-        // Status field
-        if (statusFieldText != null) 
-        {
-
-            // Horizontal separator line
-            fSeparator = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL | SWT.LINE_DOT);
-            fSeparator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-            // Status field label
-            fStatusField = new Label(composite, SWT.RIGHT);
-            fStatusField.setText(statusFieldText);
-            Font font= fStatusField.getFont();
-            FontData[] fontDatas = font.getFontData();
-            for (int i= 0; i < fontDatas.length; i++)
-                fontDatas[i].setHeight(fontDatas[i].getHeight() * 9 / 10);
-            fStatusTextFont = new Font(fStatusField.getDisplay(), fontDatas);
-            fStatusField.setFont(fStatusTextFont);
-            GridData gd2 = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-            fStatusField.setLayoutData(gd2);
-
-            // Regarding the color see bug 41128
-            fStatusField.setForeground(display.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
-            fStatusField.setBackground(fBackgroundColor);
-        }
-
-        addDisposeListener(this);
-
-    }
-
-    private void initializeColors() 
-    {
-        RGB bgRGB= getHoverBackgroundColorRGB();
-        if (bgRGB != null) 
-        {
-            fBackgroundColor = new Color(fShell.getDisplay(), bgRGB);
-            fIsSystemBackgroundColor = false;
-        } 
-        else 
-        {
-            fBackgroundColor = fShell.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND);
-            fIsSystemBackgroundColor = true;
-        }
-    }
-
-    private RGB getHoverBackgroundColorRGB() 
-    {
-        IPreferenceStore store = CUIPlugin.getDefault().getPreferenceStore();
-        return store.getBoolean(PreferenceConstants.EDITOR_SOURCE_HOVER_BACKGROUND_COLOR_SYSTEM_DEFAULT)
-            ? null
-            : PreferenceConverter.getColor(store, PreferenceConstants.EDITOR_SOURCE_HOVER_BACKGROUND_COLOR);
-    }
-
-    /**
-     * Initialize the font to the editor font.
-     *
-     * @since 4.0
-     */
-    private void initializeFont() 
-    {
-        fTextFont = JFaceResources.getFont(PreferenceConstants.EDITOR_TEXT_FONT);
-        StyledText styledText = getViewer().getTextWidget();
-        styledText.setFont(fTextFont);
-    }
-
-    /*
-     * @see org.eclipse.jface.text.IInformationControlExtension2#setInput(java.lang.Object)
-     */
-    public void setInput(Object input) 
-    {
-        if (input instanceof String)
-            setInformation((String)input);
-        else
-            setInformation(null);
-    }
-
-    /**
-     * This method takes information from FortranDeclarationHover
-     * then stores it into fDocument.
-     * @param content a string that will be displayed in a hover tool-tip.
-     */
-    public void setInformation(String content) 
-    {
-        if (content == null)
-            return;
-
-        fDocument.set(content);
-        fViewer.refresh();
-    }
-
-    /*
-     * @see IInformationControl#setVisible(boolean)
-     */
-    public void setVisible(boolean visible) 
-    {
-        fShell.setVisible(visible);
-    }
-
-    /**
-     * {@inheritDoc}
-     * @since 3.0
-     */
-    public void widgetDisposed(DisposeEvent event) 
-    {
-        if (fStatusTextFont != null && !fStatusTextFont.isDisposed())
-            fStatusTextFont.dispose();
-
-        fStatusTextFont = null;
-        fTextFont = null;
-        fShell = null;
-        fText = null;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public final void dispose() 
-    {
-        if (!fIsSystemBackgroundColor)
-            fBackgroundColor.dispose();
-        if (fShell != null && !fShell.isDisposed())
-            fShell.dispose();
-        else
-            widgetDisposed(null);
-    }
-
-    /*
-     * @see IInformationControl#setSize(int, int)
-     */
-    public void setSize(int width, int height) 
-    {
-        fShell.setSize(width, height);
-    }
-
-    /*
-     * @see IInformationControl#setLocation(Point)
-     */
-    public void setLocation(Point location) 
-    {
-        fShell.setLocation(location);
-    }
-
-    /*
-     * @see IInformationControl#setSizeConstraints(int, int)
-     */
-    public void setSizeConstraints(int maxWidth, int maxHeight) 
-    {
-        fMaxWidth = maxWidth;
-        fMaxHeight = maxHeight;
-    }
-
-    /*
-     * @see IInformationControl#computeSizeHint()
-     */
-    public Point computeSizeHint() 
-    {
-        // compute the preferred size
-        int x = SWT.DEFAULT;
-        int y = SWT.DEFAULT;
-        Point size = fShell.computeSize(x, y);
-        if (size.x > fMaxWidth)
-            x = fMaxWidth;
-        if (size.y > fMaxHeight)
-            y = fMaxHeight;
-
-        // recompute using the constraints if the preferred size is larger than the constraints
-        if (x != SWT.DEFAULT || y != SWT.DEFAULT)
-            size = fShell.computeSize(x, y, false);
-
-        return size;
-    }
-
-    /*
-     * @see IInformationControl#addDisposeListener(DisposeListener)
-     */
-    public void addDisposeListener(DisposeListener listener) 
-    {
-        fShell.addDisposeListener(listener);
-    }
-
-    /*
-     * @see IInformationControl#removeDisposeListener(DisposeListener)
-     */
-    public void removeDisposeListener(DisposeListener listener) 
-    {
-        fShell.removeDisposeListener(listener);
-    }
-
-    /*
-     * @see IInformationControl#setForegroundColor(Color)
-     */
-    public void setForegroundColor(Color foreground) 
-    {
-        fText.setForeground(foreground);
-    }
-
-    /*
-     * @see IInformationControl#setBackgroundColor(Color)
-     */
-    public void setBackgroundColor(Color background) 
-    {
-        fText.setBackground(background);
-    }
-
-    /*
-     * @see IInformationControl#isFocusControl()
-     */
-    public boolean isFocusControl() 
-    {
-        return fShell.getDisplay().getActiveShell() == fShell;
-    }
-
-    /*
-     * @see IInformationControl#setFocus()
-     */
-    public void setFocus() 
-    {
-        fShell.forceFocus();
-        fText.setFocus();
-    }
-
-    /*
-     * @see IInformationControl#addFocusListener(FocusListener)
-     */
-    public void addFocusListener(FocusListener listener) 
-    {
-        fText.addFocusListener(listener);
-    }
-
-    /*
-     * @see IInformationControl#removeFocusListener(FocusListener)
-     */
-    public void removeFocusListener(FocusListener listener) 
-    {
-        fText.removeFocusListener(listener);
-    }
-
-    /*
-     * @see IInformationControlExtension#hasContents()
-     */
-    public boolean hasContents() 
-    {
-        return fText.getCharCount() > 0;
-    }
-
-    protected ISourceViewer getViewer()  
-    {
-        return fViewer;
-    }
-
-    /*
-     * @see org.eclipse.jface.text.IInformationControlExtension3#computeTrim()
-     * @since 5.0
-     */
-    public Rectangle computeTrim()
-    {
-        Rectangle trim = fShell.computeTrim(0, 0, 0, 0);
-        addInternalTrim(trim);
-        return trim;
-    }
-
-    /**
-     * Adds the internal trimmings to the given trim of the shell.
-     * 
-     * @param trim the shell's trim, will be updated
-     * @since 5.0
-     */
-    private void addInternalTrim(Rectangle trim) 
-    {
-        Rectangle textTrim = fText.computeTrim(0, 0, 0, 0);
-        trim.x += textTrim.x;
-        trim.y += textTrim.y;
-        trim.width += textTrim.width;
-        trim.height += textTrim.height;
-        
-        if (fStatusField != null) 
-        {
-            trim.height += fSeparator.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-            trim.height += fStatusField.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-            trim.height += 1; // verticalSpacing
-        }
-    }
-
-    /*
-     * @see org.eclipse.jface.text.IInformationControlExtension3#getBounds()
-     * @since 5.0
-     */
-    public Rectangle getBounds() 
-    {
-        return fShell.getBounds();
-    }
-
-    /*
-     * @see org.eclipse.jface.text.IInformationControlExtension3#restoresLocation()
-     * @since 5.0
-     */
-    public boolean restoresLocation() 
-    {
-        return false;
-    }
-
-    /*
-     * @see org.eclipse.jface.text.IInformationControlExtension3#restoresSize()
-     * @since 5.0
-     */
-    public boolean restoresSize() 
-    {
-        return false;
-    }
-
-    /*
-     * @see org.eclipse.jface.text.IInformationControlExtension5#getInformationPresenterControlCreator()
-     * @since 5.0
-     */
-    public IInformationControlCreator getInformationPresenterControlCreator() 
-    {
-        return new IInformationControlCreator() 
-        {
-            public IInformationControl createInformationControl(Shell parent) 
-            {
-                return new SourceViewerInformationControl(parent, true, fOrientation, null);
-            }
-        };
-    }
-
-    /*
-     * @see org.eclipse.jface.text.IInformationControlExtension5#containsControl(org.eclipse.swt.widgets.Control)
-     * @since 5.0
-     */
-    public boolean containsControl(Control control) 
-    {
-        do {
-            if (control == fShell)
-                return true;
-            if (control instanceof Shell)
-                return false;
-            control= control.getParent();
-        } while (control != null);
-        return false;
-    }
-
-    /*
-     * @see org.eclipse.jface.text.IInformationControlExtension5#isVisible()
-     * @since 5.0
-     */
-    public boolean isVisible() 
-    {
-        return fShell != null && !fShell.isDisposed() && fShell.isVisible();
-    }
-    
-    /*
-     * @see org.eclipse.jface.text.IInformationControlExtension5#computeSizeConstraints(int, int)
-     */
-    public Point computeSizeConstraints(int widthInChars, int heightInChars) 
-    {
-        GC gc= new GC(fText);
-        gc.setFont(fTextFont);
-        int width = gc.getFontMetrics().getAverageCharWidth();
-        int height = gc.getFontMetrics().getHeight();
-        gc.dispose();
-
-        return new Point(widthInChars * width, heightInChars * height);
-    }
-
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/messages.properties b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/messages.properties
deleted file mode 100644
index 534568b..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/editor_vpg/messages.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-FortranEditorTasks_ErrorRunningASTTasks=Error running AST tasks
-FortranEditorTasks_UpdatingFortranEditorWithNewAnalysisInfo=Updating Fortran editor with new analysis information
-FortranEditorTasks_UpdatingFortranEditorWithNewParseInfo=Updating Fortran editor with new parse information
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/Messages.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/Messages.java
deleted file mode 100644
index 6aa7dbc..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/Messages.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.properties;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.ui.properties.messages"; //$NON-NLS-1$
-
-    public static String SearchPathsPropertyPage_EnableAnalysisRefactoring;
-
-    public static String SearchPathsPropertyPage_EnableButtonsDescription;
-
-    public static String SearchPathsPropertyPage_EnableContentAssist;
-
-    public static String SearchPathsPropertyPage_EnableDeclarationView;
-
-    public static String SearchPathsPropertyPage_EnableHoverTips;
-
-    public static String SearchPathsPropertyPage_ErrorSavingProperties;
-
-    public static String SearchPathsPropertyPage_FoldersToBeSearchedForIncludes;
-
-    public static String SearchPathsPropertyPage_FoldersToBeSearchedForModules;
-
-    public static String SearchPathsPropertyPage_PathsDescription;
-
-    public static String SearchPathsPropertyPage_PropertiesCouldNotBeSaved;
-
-    public static String SearchPathsPropertyPage_SelectAFolderToBeSearchedForIncludes;
-
-    public static String SearchPathsPropertyPage_SelectAFolderToBeSearchedForModules;
-
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/SearchPathsPropertyPage.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/SearchPathsPropertyPage.java
deleted file mode 100644
index e1556b2..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/SearchPathsPropertyPage.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.properties;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.photran.internal.core.properties.SearchPathProperties;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.ui.FortranUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * Fortran Refactoring Engine Search Paths project properties page.  Allows the user to specify module paths and include paths for a project.
- * 
- * <code>org.eclipse.photran.core.analysis.properties.SearchPathProperties</code> serves as a common point of access for these properties.
- * 
- * @see org.eclipse.photran.internal.core.properties.SearchPathProperties
- * @author Jeff Overbey
- * @author Jungyoon Lee, Kun Koh, Nam Kim, David Weiner
- * @author Timofey Yuvashev
- */
-public class SearchPathsPropertyPage extends FortranPropertyPage
-{
-    private FortranBooleanFieldEditor enableVPG, enableDeclView, enableContentAssist, enableHoverTip;
-    private WorkspacePathEditor modulePathEditor, includePathEditor;
-    
-    private SearchPathProperties properties;
-    
-    /**
-     * @see PreferencePage#createContents(Composite)
-     */
-    @Override protected Control createContents(Composite parent)
-    {
-        IProject proj = (IProject)getElement();
-        properties = new SearchPathProperties(proj);
-        IPreferenceStore scopedStore = properties.getPropertyStore();
-        scopedStore.addPropertyChangeListener(new IPropertyChangeListener()
-        {
-            public void propertyChange(PropertyChangeEvent event)
-            {
-                setDirty();
-            }
-        });
-        
-        final Composite composite = new Composite(parent, SWT.NONE);
-        composite.setLayout(new GridLayout(1, true));
-        GridData data = new GridData(GridData.FILL);
-        data.grabExcessHorizontalSpace = true;
-        composite.setLayoutData(data);
-        
-        
-        Label l = new Label(composite, SWT.WRAP);
-        l.setText(Messages.SearchPathsPropertyPage_EnableButtonsDescription);
-        l.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
-
-        enableVPG = new FortranBooleanFieldEditor(SearchPathProperties.ENABLE_VPG_PROPERTY_NAME, 
-                                                  Messages.SearchPathsPropertyPage_EnableAnalysisRefactoring, 
-                                                  composite)
-        {
-            @Override protected void valueChanged(boolean oldValue, boolean newValue)
-            {
-                enableDeclView.setEnabled(newValue, composite);
-                enableContentAssist.setEnabled(newValue, composite);
-                enableHoverTip.setEnabled(newValue, composite); 
-                
-                enableDeclView.setValue(newValue);   
-                enableContentAssist.setValue(newValue);
-                enableHoverTip.setValue(newValue);                
-            }
-        }; 
-        
-        enableVPG.setPreferenceStore(scopedStore);
-        enableVPG.load();
-        properties.setProperty(proj, SearchPathProperties.ENABLE_VPG_PROPERTY_NAME, 
-                                     String.valueOf(enableVPG.getBooleanValue()));
-
-        enableDeclView = new FortranBooleanFieldEditor(SearchPathProperties.ENABLE_DECL_VIEW_PROPERTY_NAME, 
-                                                Messages.SearchPathsPropertyPage_EnableDeclarationView, 
-                                                composite);
-     
-        enableDeclView.setPreferenceStore(scopedStore);
-        enableDeclView.load();
-
-        enableContentAssist = new FortranBooleanFieldEditor(SearchPathProperties.ENABLE_CONTENT_ASSIST_PROPERTY_NAME, 
-                                                     Messages.SearchPathsPropertyPage_EnableContentAssist, 
-                                                     composite);
-      
-        enableContentAssist.setPreferenceStore(scopedStore);
-        enableContentAssist.load();
-        
-        enableHoverTip = new FortranBooleanFieldEditor(SearchPathProperties.ENABLE_HOVER_TIP_PROPERTY_NAME, 
-                                                Messages.SearchPathsPropertyPage_EnableHoverTips, 
-                                                composite);
-       
-        enableHoverTip.setPreferenceStore(scopedStore);
-        enableHoverTip.load();
-        
-        
-        enableDeclView.setEnabled(enableVPG.getBooleanValue(), composite);
-        enableContentAssist.setEnabled(enableVPG.getBooleanValue(), composite);
-        enableHoverTip.setEnabled(enableVPG.getBooleanValue(), composite);
-        
-        
-        
-        l = new Label(composite, SWT.WRAP);
-        l.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, true));
-
-        l = new Label(composite, SWT.WRAP);
-        l.setText(Messages.SearchPathsPropertyPage_PathsDescription);
-        l.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
-
-        modulePathEditor = new WorkspacePathEditor((IProject)getElement(),
-                                             SearchPathProperties.MODULE_PATHS_PROPERTY_NAME,
-                                             Messages.SearchPathsPropertyPage_FoldersToBeSearchedForModules,
-                                             Messages.SearchPathsPropertyPage_SelectAFolderToBeSearchedForModules,
-                                             composite);
-        modulePathEditor.setPreferenceStore(scopedStore);
-        modulePathEditor.load();
-
-        includePathEditor = new WorkspacePathEditor((IProject)getElement(),
-                                                    SearchPathProperties.INCLUDE_PATHS_PROPERTY_NAME,
-                                             Messages.SearchPathsPropertyPage_FoldersToBeSearchedForIncludes,
-                                             Messages.SearchPathsPropertyPage_SelectAFolderToBeSearchedForIncludes,
-                                             composite);
-        
-        includePathEditor.setPreferenceStore(scopedStore);
-        includePathEditor.load();
-        
-        return composite;
-    }
-
-    @Override public void performDefaults()
-    {
-        enableVPG.loadDefault();
-        enableDeclView.loadDefault();
-        enableContentAssist.loadDefault();
-        enableHoverTip.loadDefault();
-        modulePathEditor.loadDefault();
-        includePathEditor.loadDefault();
-    }
-    
-    @Override public boolean doPerformOk()
-    {
-        enableVPG.store();
-        enableDeclView.store();
-        enableContentAssist.store();
-        enableHoverTip.store();
-        modulePathEditor.store();
-        includePathEditor.store();
-        
-        try
-        {
-            properties.save();
-        }
-        catch (IOException e)
-        {
-            FortranUIPlugin.log(e);
-            MessageDialog.openError(getShell(),
-                Messages.SearchPathsPropertyPage_ErrorSavingProperties,
-                Messages.SearchPathsPropertyPage_PropertiesCouldNotBeSaved +
-                "\n" + e.getClass().getName() + ": " + //$NON-NLS-1$ //$NON-NLS-2$
-                e.getMessage());
-        }
-        
-        PhotranVPG.getInstance().queueJobToEnsureVPGIsUpToDate();
-        
-        return true;
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/messages.properties b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/messages.properties
deleted file mode 100644
index ffde409..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/properties/messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-SearchPathsPropertyPage_EnableAnalysisRefactoring=Enable Fortran analysis/refactoring
-SearchPathsPropertyPage_EnableButtonsDescription=To enable Open Declaration, Find All References, the Fortran Declaration\nview, content assist, and refactoring in Fortran programs, check the\nfollowing box.  A program database (index) will be updated every time\na Fortran file is created or saved.
-SearchPathsPropertyPage_EnableContentAssist=Enable Fortran content assist (Ctrl+Space)
-SearchPathsPropertyPage_EnableDeclarationView=Enable Fortran Declaration view
-SearchPathsPropertyPage_EnableHoverTips=Enable Fortran Hover tips
-SearchPathsPropertyPage_ErrorSavingProperties=Error Saving Project Properties
-SearchPathsPropertyPage_FoldersToBeSearchedForIncludes=Folders to be searched for &INCLUDE files, in order of preference:
-SearchPathsPropertyPage_FoldersToBeSearchedForModules=Folders to be searched for &modules, in order of preference:
-SearchPathsPropertyPage_PathsDescription=The following specify the paths searched for modules\nand INCLUDE files during analysis and refactoring.\nThese MAY BE DIFFERENT from the settings used by\nyour compiler to build your project.
-SearchPathsPropertyPage_PropertiesCouldNotBeSaved=The project properties could not be saved.
-SearchPathsPropertyPage_SelectAFolderToBeSearchedForIncludes=Select a folder to be searched for INCLUDE files:
-SearchPathsPropertyPage_SelectAFolderToBeSearchedForModules=Select a folder to be searched for Fortran modules:
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AbstractFortranRefactoringActionDelegate.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AbstractFortranRefactoringActionDelegate.java
deleted file mode 100644
index 2df5cfa..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AbstractFortranRefactoringActionDelegate.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.refactoring;
-
-import java.lang.reflect.Constructor;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ltk.ui.refactoring.RefactoringWizard;
-import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.ui.actions.FortranEditorActionDelegate;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.photran.internal.ui.vpg.PhotranResourceFilter;
-import org.eclipse.rephraserengine.core.refactorings.IEditorRefactoring;
-import org.eclipse.rephraserengine.core.refactorings.IResourceRefactoring;
-import org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring;
-import org.eclipse.rephraserengine.ui.UIUtil;
-import org.eclipse.rephraserengine.ui.WorkbenchSelectionInfo;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * This is the base class for most (all?) of the Eclipse action delegates for Fortran refactoring actions.
- *
- * @author Jeff Overbey, Timofey Yuvashev
- */
-public abstract class AbstractFortranRefactoringActionDelegate extends FortranEditorActionDelegate
-{
-    private Class<?> refactoringClass, wizardClass;
-
-    public AbstractFortranRefactoringActionDelegate(Class<?> refactoringClass, Class<?> wizardClass)
-    {
-        this.refactoringClass = refactoringClass;
-        this.wizardClass = wizardClass;
-    }
-
-    /**
-     * This method is invoked when the action is invoked from the UI by the user.
-     * <p>
-     * It checks if there are multiple selected files or if a file is selected from
-     * PackageExplorer window. If that is the case, runs a separate routine for
-     * creating a <code>FortranRefactoring</code> and <code>RefactoringWizard</code>.
-     * Otherwise, uses its ancestor's run() method.
-     *
-     * @param action instanceof IAction
-     */
-    @Override public void run(IAction action)
-    {
-        WorkbenchSelectionInfo selection = new WorkbenchSelectionInfo(new PhotranResourceFilter());
-
-        if (IEditorRefactoring.class.isAssignableFrom(refactoringClass)
-            && (!IResourceRefactoring.class.isAssignableFrom(refactoringClass)
-                || selection.isTextSelectedInEditor())
-            && UIUtil.askUserToSaveModifiedFiles(selection.getFileInEditor()))
-        {
-            super.run(action);
-        }
-        else if (IResourceRefactoring.class.isAssignableFrom(refactoringClass)
-            && UIUtil.askUserToSaveModifiedFiles(selection.getAllFilesInSelectedResources()))
-        {
-            runForSelectedFiles(selection);
-        }
-        else
-        {
-            throw new IllegalStateException(
-                "refactoringClass " + //$NON-NLS-1$
-                refactoringClass.getName() +
-                " passed to AbstractFortranRefactoringActionDelegate constructor " + //$NON-NLS-1$
-                " is not an instance of IResourceRefactoring or IEditorRefactoring"); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Creates an <code>VPGRefactoring<IFortranAST, Token, PhotranVPG></code> and a <code>RefactoringWizard</code>
-     * for refactorings that require/accept operations on multiple files(i.e. IntroduceImplicitNone)
-     * @param selection
-     *
-     * @param structSel instanceof IStructured selection. Used to extract the list of selected files
-     *          to be modified
-     */
-    private void runForSelectedFiles(WorkbenchSelectionInfo selection)
-    {
-        VPGRefactoring<IFortranAST, Token, PhotranVPG> refact = getRefactoring(selection.getAllFilesInSelectedResources());
-        RefactoringWizard wizard = getRefactoringWizard(wizardClass, refact);
-        try
-        {
-            //AbstractFortranEditor abstEditor = (AbstractFortranEditor)Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
-            //Shell shell = abstEditor == null ? null : abstEditor.getShell();
-
-            Shell shell = UIUtil.determineActiveShell();
-            if (shell == null) return;
-
-            String name = refact.getName();
-            RefactoringWizardOpenOperation wiz = new RefactoringWizardOpenOperation(wizard);
-            wiz.run(shell, name);
-
-            FortranEditor activeFortranEditor = getFortranEditor();
-            if (activeFortranEditor != null)
-                activeFortranEditor.forceOutlineViewUpdate();
-        }
-        catch (InterruptedException e)
-        {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-        finally
-        {
-            PhotranVPG.getInstance().releaseAllASTs();
-        }
-    }
-
-
-    /**
-     * This method is invoked after this action has been scheduled.
-     * <p>
-     * (Required by FortranEditorActionDelegate)
-     *
-     * Runs a <code>FortranRefactoring</code> on the contents of the active editor, using the
-     * given <code>RefactoringWizard</code> for user interaction.
-     *
-     * @param refactoringClass instanceof FortranRefactoring
-     * @param wizardClass instanceof RefactoringWizard
-     */
-    public void run(IProgressMonitor progressMonitor)
-    {
-        try
-        {
-            if (getFortranEditor().getIFile() == null)
-            {
-                MessageDialog.openError(getFortranEditor().getShell(), Messages.AbstractFortranRefactoringActionDelegate_ErrorTitle,
-                    Messages.AbstractFortranRefactoringActionDelegate_FileInEditorCannotBeRefactored);
-            }
-            else
-            {
-                ArrayList<IFile> files = new ArrayList<IFile>();
-                files.add(getFortranEditor().getIFile());
-                VPGRefactoring<IFortranAST, Token, PhotranVPG> refactoring = getRefactoring(files);
-                RefactoringWizard wizard = getRefactoringWizard(wizardClass, refactoring);
-
-                new RefactoringWizardOpenOperation(wizard).run(getFortranEditor().getShell(), refactoring.getName());
-
-                getFortranEditor().forceOutlineViewUpdate();
-            }
-        }
-        catch (InterruptedException e)
-        {
-            ;
-        }
-        finally
-        {
-            PhotranVPG.getInstance().releaseAllASTs();
-        }
-    }
-
-    /**
-     * Invoke the constructor of the given <code>FortranRefactoring</code> with arguments corresponding to the
-     * contents of the active editor.
-     * @param fortranRefactoringClass
-     * @return FortranRefactoring
-     */
-    protected abstract VPGRefactoring<IFortranAST, Token, PhotranVPG> getRefactoring(List<IFile> files);
-
-    /**
-     * Invoke the constructor of the given <code>RefactoringWizard</code> with the given
-     * <code>FortranRefactoring</code> as its sole argument.
-     * @param fortranRefactoringClass
-     * @return FortranRefactoring
-     */
-    private RefactoringWizard getRefactoringWizard(Class<?> wizardClass, VPGRefactoring<IFortranAST, Token, PhotranVPG> refactoring)
-    {
-        try
-        {
-            Constructor<?> ctor = wizardClass.getConstructors()[0];
-            return (RefactoringWizard)ctor.newInstance(new Object[] { refactoring });
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AbstractFortranRefactoringWizard.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AbstractFortranRefactoringWizard.java
deleted file mode 100644
index 697c26c..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AbstractFortranRefactoringWizard.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.refactoring;
-
-import org.eclipse.ltk.ui.refactoring.RefactoringWizard;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring;
-
-/**
- * This is the base class for most (all?) of the wizard dialogs for Fortran refactorings.
- * <p>
- * It extends the LTK's RefactoringWizard class, supplying a typical set of options.
- * 
- * @author Jeff Overbey
- */
-public abstract class AbstractFortranRefactoringWizard extends RefactoringWizard
-{
-    public AbstractFortranRefactoringWizard(VPGRefactoring<IFortranAST, Token, PhotranVPG> r)
-    {
-        // CHECK_INITIAL_CONDITIONS_ON_OPEN causes the initial conditions to be checked
-        // twice, which leads to duplicate and missing error messages
-        // (missing if, say, an INCLUDE could not be found, but the AST was already
-        // loaded into the FortranWorkspace on the second invocation)
-        super(r, DIALOG_BASED_USER_INTERFACE /*| CHECK_INITIAL_CONDITIONS_ON_OPEN*/);
-        setNeedsProgressMonitor(true);
-        setChangeCreationCancelable(false);
-        setWindowTitle(getRefactoring().getName());
-    }
-
-    @Override
-    protected final void addUserInputPages()
-    {
-        setDefaultPageTitle(getRefactoring().getName());
-        doAddUserInputPages();
-    }
-    
-    protected abstract void doAddUserInputPages();
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AddOnlyToUseStmtInputPage.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AddOnlyToUseStmtInputPage.java
deleted file mode 100644
index 8a3b8b5..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AddOnlyToUseStmtInputPage.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.refactoring;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.eclipse.photran.internal.core.refactoring.AddOnlyToUseStmtRefactoring;
-import org.eclipse.rephraserengine.ui.refactoring.CustomUserInputPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-/**
- *
- * @author Kurt Hendle
- */
-public class AddOnlyToUseStmtInputPage extends CustomUserInputPage<AddOnlyToUseStmtRefactoring>
-{
-    protected ArrayList<String> entities;
-    protected HashMap<Integer, String> newOnlyList;
-    protected ArrayList<Button> checkList;
-    protected Button check;
-
-    @Override public void createControl(Composite parent)
-    {
-        entities = getRefactoring().getModuleEntityList();
-        newOnlyList = getRefactoring().getNewOnlyList();
-        checkList = new ArrayList<Button>();
-
-        Composite top = new Composite(parent, SWT.NONE);
-        initializeDialogUnits(top);
-        setControl(top);
-
-        top.setLayout(new GridLayout(1,false));
-        Composite group = top;
-
-        Label lbl = new Label(group, SWT.NONE);
-        lbl.setText(Messages.AddOnlyToUseStmtInputPage_SelectModuleEntitiesLabel);
-
-        for(int i=0; i<getRefactoring().getNumEntitiesInModule(); i++)
-        {
-            check = new Button(group, SWT.CHECK);
-            check.setText(entities.get(i));
-
-            if(newOnlyList.containsValue(entities.get(i))){
-                check.setSelection(true);
-                //getRefactoring().addToOnlyList(i, entities.get(i));
-            }
-
-            checkList.add(check);
-        }
-
-        //turns out need to add listeners last to make this work correctly
-        for(int i=0; i<getRefactoring().getNumEntitiesInModule(); i++)
-        {
-            final int index = i;
-            checkList.get(i).addSelectionListener(new SelectionListener()
-            {
-                public void widgetDefaultSelected(SelectionEvent e)
-                {
-                    widgetSelected(e);
-                }
-
-                public void widgetSelected(SelectionEvent e)
-                {
-                    boolean isChecked = checkList.get(index).getSelection();
-
-                    if(isChecked)
-                    {
-                        getRefactoring().addToOnlyList(entities.get(index));
-                    }
-                    else //if(!isChecked)
-                    {
-                        getRefactoring().removeFromOnlyList(entities.get(index));
-                    }
-                }
-            });
-        }
-
-        Label instruct = new Label(top, SWT.NONE);
-        instruct.setText(Messages.AddOnlyToUseStmtInputPage_ClickOKMessage);
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AddSubroutineParameterAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AddSubroutineParameterAction.java
deleted file mode 100644
index 193efef..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/AddSubroutineParameterAction.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Joe Handzik, Joe Gonzales, Marc Celani, and Jason Patel.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     Joe Handzik, Joe Gonzales, Marc Celani, and Jason Patel - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.photran.internal.ui.refactoring;

-

-import java.util.List;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;

-import org.eclipse.photran.core.IFortranAST;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.parser.ASTSubroutineParNode;

-import org.eclipse.photran.internal.core.refactoring.AddSubroutineParameterRefactoring;

-import org.eclipse.photran.internal.core.vpg.PhotranVPG;

-import org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.ModifyEvent;

-import org.eclipse.swt.events.ModifyListener;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.swt.widgets.Table;

-import org.eclipse.swt.widgets.TableColumn;

-import org.eclipse.swt.widgets.TableItem;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.ui.IEditorActionDelegate;

-import org.eclipse.ui.IWorkbenchWindowActionDelegate;

-

-/**

- * Handles the Add Subroutine Parameter action in the Fortran editor's Refactoring popup menu and in

- * the Refactor menu in the workbench menu bar.

- * 

- * @author Joe Handzik, Joe Gonzales, Marc Celani, Jason Patel

- */

-public class AddSubroutineParameterAction extends AbstractFortranRefactoringActionDelegate

-    implements IWorkbenchWindowActionDelegate, IEditorActionDelegate

-{

-    public AddSubroutineParameterAction()

-    {

-        super(AddSubroutineParameterRefactoring.class,

-            FortranAddSubroutineParameterRefactoringWizard.class);

-    }

-

-    @Override

-    protected VPGRefactoring<IFortranAST, Token, PhotranVPG> getRefactoring(List<IFile> files)

-    {

-        AddSubroutineParameterRefactoring r = new AddSubroutineParameterRefactoring();

-        r.initialize(getFortranEditor().getIFile(), getFortranEditor().getSelection());

-        return r;

-    }

-

-    public static class FortranAddSubroutineParameterRefactoringWizard extends

-        AbstractFortranRefactoringWizard

-    {

-        protected AddSubroutineParameterRefactoring addSubRefactoring;

-

-        public FortranAddSubroutineParameterRefactoringWizard(AddSubroutineParameterRefactoring r)

-        {

-            super(r);

-            this.addSubRefactoring = r;

-        }

-

-        @Override

-        protected void doAddUserInputPages()

-        {

-            addPage(new UserInputWizardPage(addSubRefactoring.getName())

-            {

-                protected Text declField;

-

-                protected Text locationField;

-

-                protected Text defaultField;

-

-                public void createControl(Composite parent)

-                {

-                    Composite group = new Composite(parent, SWT.NONE);

-                    initializeDialogUnits(group);

-                    setControl(group);

-                    group.setLayout(new GridLayout(3, false));

-

-                    GridData threeCol = new GridData();

-                    threeCol.horizontalSpan = 3;

-

-                    Label lbl = new Label(group, SWT.NONE);

-                    lbl.setText(Messages.AddSubroutineParameterAction_DeclarationLabel);

-                    Label lbl3 = new Label(group, SWT.NONE);

-                    lbl3.setText(Messages.AddSubroutineParameterAction_DefaultLabel);

-                    Label lbl2 = new Label(group, SWT.NONE);

-                    lbl2.setText(Messages.AddSubroutineParameterAction_LocationLabel);

-

-                    declField = new Text(group, SWT.BORDER);

-                    declField.setText(addSubRefactoring.getDeclaration());

-                    declField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

-                    declField.selectAll();

-                    declField.addModifyListener(new ModifyListener()

-                    {

-                        public void modifyText(ModifyEvent e)

-                        {

-                            addSubRefactoring.setDeclaration(declField.getText());

-                        }

-                    });

-

-                    defaultField = new Text(group, SWT.BORDER);

-                    defaultField.setText(addSubRefactoring.getDefault());

-                    defaultField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

-                    defaultField.selectAll();

-                    defaultField.addModifyListener(new ModifyListener()

-                    {

-                        public void modifyText(ModifyEvent e)

-                        {

-                            addSubRefactoring.setDefaultValue(defaultField.getText());

-                        }

-                    });

-

-                    locationField = new Text(group, SWT.BORDER);

-                    locationField.setText(String.valueOf(addSubRefactoring.getPosition()));

-                    locationField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

-                    locationField.selectAll();

-                    locationField.addModifyListener(new ModifyListener()

-                    {

-                        public void modifyText(ModifyEvent e)

-                        {

-                            addSubRefactoring.setPosition(Integer.parseInt(locationField.getText()));

-                        }

-                    });

-

-                    // creates the table that lists the variables that exist in the subroutine

-                    List<ASTSubroutineParNode> parList = addSubRefactoring.getOldParameterList();

-

-                    GridData gridData = new GridData(GridData.VERTICAL_ALIGN_END);

-                    gridData.horizontalSpan = 3;

-                    gridData.horizontalAlignment = GridData.FILL;

-

-                    Table table = new Table(group, SWT.BORDER);

-                    table.setLinesVisible(true);

-                    table.setHeaderVisible(true);

-                    table.setLayoutData(gridData);

-                    for (int i = 0; i < parList.size(); i++)

-                    {

-                        TableColumn column = new TableColumn(table, SWT.NONE);

-                        column.setText(String.valueOf(i));

-                    }

-                    TableItem item = new TableItem(table, SWT.NONE);

-                    for (int i = 0; i < parList.size(); i++)

-                    {

-                        item.setText(i, parList.get(i).getVariableName().getText());

-                    }

-                    for (int i = 0; i < parList.size(); i++)

-                    {

-                        table.getColumn(i).pack();

-                    }

-

-                    // Call once for sure, just in case the user doesn't modify the text

-                    // addSubRefactoring.setDeclaration(declField.getText());

-

-                    int offset = declField.getText().indexOf(":: "); //$NON-NLS-1$

-                    if (offset < 0)

-                        offset = 0;

-                    else

-                        offset = offset + ":: ".length(); //$NON-NLS-1$

-                    declField.setSelection(offset, declField.getText().length());

-                    declField.setFocus();

-                }

-            });

-        }

-    }

-}

diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/CommonVarNamesInputPage.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/CommonVarNamesInputPage.java
deleted file mode 100644
index 5965680..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/CommonVarNamesInputPage.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.refactoring;
-
-import java.util.ArrayList;
-
-import org.eclipse.photran.internal.core.refactoring.CommonVarNamesRefactoring;
-import org.eclipse.rephraserengine.ui.refactoring.CustomUserInputPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * User input page for the wizard for a refactoring to make COMMON block variable names consistent
- * among main programs, modules, subroutines, etc.
- *
- * @author Kurt Hendle, Jeff Overbey
- */
-public class CommonVarNamesInputPage extends CustomUserInputPage<CommonVarNamesRefactoring>
-{
-    protected ArrayList<Label> lblList = new ArrayList<Label>();
-    protected ArrayList<Text> textList = new ArrayList<Text>();
-    protected Label lbl;
-    protected Text newNameField;
-
-    protected ArrayList<String> oldNames;
-    protected ArrayList<String> newNames;
-
-    /* auto-generated method */
-    @Override public void createControl(Composite parent)
-    {
-        oldNames = getRefactoring().getOldVarNames();
-        newNames = getRefactoring().getNewVarNames();
-
-        Composite top = new Composite(parent, SWT.NONE);
-        initializeDialogUnits(top);
-        setControl(top);
-
-        top.setLayout(new GridLayout(2, true));
-        Composite group = top;
-
-        Label headerLeft = new Label(group, SWT.NONE);
-        headerLeft.setText(Messages.CommonVarNamesInputPage_OriginalNameLabel);
-
-        Label headerRight = new Label(group, SWT.NONE);
-        headerRight.setText(Messages.CommonVarNamesInputPage_NewNameLabel);
-
-        for(int i=0; i<getRefactoring().getNumCommonVars(); i++)
-        {
-            final int index = i;    //to allow use in listener
-
-            lbl = new Label(group, SWT.NONE);
-            lbl.setText(oldNames.get(i));
-            lblList.add(lbl);
-
-            newNameField = new Text(group, SWT.BORDER);
-            newNameField.setText(newNames.get(i));
-            newNameField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-            textList.add(newNameField);
-
-            newNameField.addModifyListener(new ModifyListener()
-            {
-                public void modifyText(ModifyEvent e)
-                {
-                    getRefactoring().modifyNewName(index, textList.get(index).getText());
-                }
-            });
-            //like in rename, call again to be sure
-            getRefactoring().modifyNewName(index, textList.get(index).getText());
-        }
-        /*Label blank = new Label(top, SWT.NONE);
-        blank.setText("");
-        Label instruct = new Label(top, SWT.NONE);
-        instruct.setText("Click OK to make COMMON block variable names consistent in this project. " +
-            "\nTo see what changes will be made, click Preview." +
-            "\n\nNOTE: This refactoring will not function correctly with Fortran implicit" +
-            "typing and should only be used with an 'implicit none' statement and explicit" +
-            "type declarations.");*/
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/ExtractLocalVariableAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/ExtractLocalVariableAction.java
deleted file mode 100644
index c4845ca..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/ExtractLocalVariableAction.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.refactoring;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.refactoring.ExtractLocalVariableRefactoring;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Handles the Extract Local Variable action in the Fortran editor's Refactoring popup menu
- * and in the Refactor menu in the workbench menu bar.
- *
- * @author Jeff Overbey
- */
-public class ExtractLocalVariableAction
-    extends AbstractFortranRefactoringActionDelegate
-    implements IWorkbenchWindowActionDelegate, IEditorActionDelegate
-{
-    public ExtractLocalVariableAction()
-    {
-        super(ExtractLocalVariableRefactoring.class, FortranExtractLocalVariableRefactoringWizard.class);
-    }
-
-    @Override
-    protected VPGRefactoring<IFortranAST, Token, PhotranVPG> getRefactoring(List<IFile> files)
-    {
-        ExtractLocalVariableRefactoring r = new ExtractLocalVariableRefactoring();
-        r.initialize(
-            getFortranEditor().getIFile(),
-            getFortranEditor().getSelection());
-        return r;
-    }
-
-    public static class FortranExtractLocalVariableRefactoringWizard extends AbstractFortranRefactoringWizard
-    {
-        protected ExtractLocalVariableRefactoring extractRefactoring;
-
-        public FortranExtractLocalVariableRefactoringWizard(ExtractLocalVariableRefactoring r)
-        {
-            super(r);
-            this.extractRefactoring = r;
-        }
-
-        @Override protected void doAddUserInputPages()
-        {
-            addPage(new UserInputWizardPage(extractRefactoring.getName())
-            {
-                protected Text declField;
-
-                public void createControl(Composite parent)
-                {
-                    Composite group = new Composite(parent, SWT.NONE);
-                    initializeDialogUnits(group);
-                    setControl(group);
-                    group.setLayout(new GridLayout(2, false));
-
-                    GridData twoCol = new GridData();
-                    twoCol.horizontalSpan = 2;
-
-                    Label lbl = new Label(group, SWT.NONE);
-                    lbl.setText(Messages.ExtractLocalVariableAction_DeclarationLabel);
-
-                    declField = new Text(group, SWT.BORDER);
-                    declField.setText(extractRefactoring.getDecl());
-                    declField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-                    declField.selectAll();
-                    declField.addModifyListener(new ModifyListener()
-                    {
-                        public void modifyText(ModifyEvent e)
-                        {
-                            extractRefactoring.setDecl(declField.getText());
-                        }
-                    });
-
-                    // Call once for sure, just in case the user doesn't modify the text
-                    extractRefactoring.setDecl(declField.getText());
-
-                    int offset = declField.getText().indexOf(":: "); //$NON-NLS-1$
-                    if (offset < 0) offset = 0; else offset = offset + ":: ".length(); //$NON-NLS-1$
-                    declField.setSelection(offset, declField.getText().length());
-                    declField.setFocus();
-                }
-            });
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/ExtractProcedureAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/ExtractProcedureAction.java
deleted file mode 100644
index d5e55d4..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/ExtractProcedureAction.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.refactoring;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.refactoring.ExtractProcedureRefactoring;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Handles the Extract Procedure action in the Fortran editor's Refactoring popup menu
- * and in the Refactor menu in the workbench menu bar.
- *
- * @author Jeff Overbey
- */
-public class ExtractProcedureAction
-    extends AbstractFortranRefactoringActionDelegate
-    implements IWorkbenchWindowActionDelegate, IEditorActionDelegate
-{
-    public ExtractProcedureAction()
-    {
-        super(ExtractProcedureRefactoring.class, FortranExtractProcedureRefactoringWizard.class);
-    }
-
-    @Override
-    protected VPGRefactoring<IFortranAST, Token, PhotranVPG> getRefactoring(List<IFile> files)
-    {
-        ExtractProcedureRefactoring r = new ExtractProcedureRefactoring();
-        r.initialize(
-            getFortranEditor().getIFile(),
-            getFortranEditor().getSelection());
-        return r;
-    }
-
-    public static class FortranExtractProcedureRefactoringWizard extends AbstractFortranRefactoringWizard
-    {
-        protected ExtractProcedureRefactoring extractRefactoring;
-
-        public FortranExtractProcedureRefactoringWizard(ExtractProcedureRefactoring r)
-        {
-            super(r);
-            this.extractRefactoring = r;
-        }
-
-        @Override protected void doAddUserInputPages()
-        {
-            addPage(new UserInputWizardPage(extractRefactoring.getName())
-            {
-                protected Text newNameField;
-
-                public void createControl(Composite parent)
-                {
-                    Composite top = new Composite(parent, SWT.NONE);
-                    initializeDialogUnits(top);
-                    setControl(top);
-
-                    top.setLayout(new GridLayout(2, false));
-
-                    Composite group = top;
-                    Label lbl = new Label(group, SWT.NONE);
-                    lbl.setText(Messages.ExtractProcedureAction_SubroutineNameLabel);
-
-                    newNameField = new Text(group, SWT.BORDER);
-                    newNameField.setText(""); //$NON-NLS-1$
-                    newNameField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-                    newNameField.selectAll();
-                    newNameField.addModifyListener(new ModifyListener()
-                    {
-                        public void modifyText(ModifyEvent e)
-                        {
-                            extractRefactoring.setName(newNameField.getText());
-                        }
-                    });
-
-                    // Call once for sure, just in case the user doesn't modify the text
-                    extractRefactoring.setName(newNameField.getText());
-
-                    newNameField.setFocus();
-                }
-            });
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/IfConstructStatementConversionAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/IfConstructStatementConversionAction.java
deleted file mode 100644
index 5dc595d..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/IfConstructStatementConversionAction.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Zeeshan Ansari, Mark Chen, Burim Isai, Waseem Sheikh, Mumtaz Vauhkonen. 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     Zeeshan Ansari

- *     Mark Chen

- *     Burim Isai

- *     Waseem Sheihk

- *     Mumtaz Vauhkonen

- *******************************************************************************/

-package org.eclipse.photran.internal.ui.refactoring;

-

-import java.util.List;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;

-import org.eclipse.photran.core.IFortranAST;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.refactoring.IfConstructStatementConversionRefactoring;

-import org.eclipse.photran.internal.core.vpg.PhotranVPG;

-import org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.events.SelectionListener;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.ui.IEditorActionDelegate;

-import org.eclipse.ui.IWorkbenchWindowActionDelegate;

-

-/**

- * Handles the If Statement/Construct action in the Fortran editor's Refactoring popup menu and in

- * the Refactor menu in the workbench menu bar.

- * 

- * @author Zeeshan Ansari

- * @author Mark Chen

- * @author Mumtaz Vauhkonrn

- * @author Burim Isai

- * @author Waseem Sheikh

- */

-public class IfConstructStatementConversionAction extends AbstractFortranRefactoringActionDelegate

-    implements IWorkbenchWindowActionDelegate, IEditorActionDelegate

-{

-    public IfConstructStatementConversionAction()

-    {

-        super(IfConstructStatementConversionRefactoring.class,

-            FortranIfConstructStatementConversionWizard.class);

-    }

-

-    @Override

-    protected VPGRefactoring<IFortranAST, Token, PhotranVPG> getRefactoring(List<IFile> files)

-    {

-        IfConstructStatementConversionRefactoring r = new IfConstructStatementConversionRefactoring();

-        r.initialize(getFortranEditor().getIFile(), getFortranEditor().getSelection());

-        return r;

-    }

-

-    public static class FortranIfConstructStatementConversionWizard extends

-        AbstractFortranRefactoringWizard

-    {

-        protected IfConstructStatementConversionRefactoring ifConstructStatementConversionRefactoring;

-

-        public FortranIfConstructStatementConversionWizard(

-            IfConstructStatementConversionRefactoring r)

-        {

-            super(r);

-            this.ifConstructStatementConversionRefactoring = r;

-        }

-

-        @Override

-        protected void doAddUserInputPages()

-        {

-            if (ifConstructStatementConversionRefactoring.isStmtNode())

-            {

-                addPage(new UserInputWizardPage(ifConstructStatementConversionRefactoring.getName())

-                {

-                    protected Button shouldAddEmptyElseBlock;

-

-                    public void createControl(Composite parent)

-                    {

-                        Composite top = new Composite(parent, SWT.NONE);

-                        initializeDialogUnits(top);

-                        setControl(top);

-                        top.setLayout(new GridLayout(2, false));

-                        Composite group = top;

-                        new Label(group, SWT.NONE).setText(""); //$NON-NLS-1$

-

-                        shouldAddEmptyElseBlock = new Button(group, SWT.CHECK);

-                        shouldAddEmptyElseBlock.setText(Messages.IfConstructStatementConversionAction_AddEmptyElseBlock);

-                        shouldAddEmptyElseBlock.setSelection(false);

-                        shouldAddEmptyElseBlock.addSelectionListener(new SelectionListener()

-                        {

-                            public void widgetDefaultSelected(SelectionEvent e)

-                            {

-                                widgetSelected(e);

-                            }

-

-                            public void widgetSelected(SelectionEvent e)

-                            {

-                                if (shouldAddEmptyElseBlock.getSelection())

-                                    ifConstructStatementConversionRefactoring.setAddEmptyElseBlock();

-                            }

-                        });

-                    }

-                });

-            }

-            else

-            {

-                addPage(new UserInputWizardPage(ifConstructStatementConversionRefactoring.getName())

-                {

-                    public void createControl(Composite parent)

-                    {

-                        Composite top = new Composite(parent, SWT.NONE);

-                        initializeDialogUnits(top);

-                        setControl(top);

-

-                        top.setLayout(new GridLayout(1, false));

-

-                        Label lbl = new Label(top, SWT.NONE);

-                        lbl.setText(Messages.bind(

-                            Messages.RefactoringAction_ClickOKToRunTheRefactoring,

-                            ifConstructStatementConversionRefactoring.getName()));

-                    }

-                });

-            }

-        }

-    }

-}

diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/KeywordCaseInputPage.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/KeywordCaseInputPage.java
deleted file mode 100644
index 07015bf..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/KeywordCaseInputPage.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.refactoring;
-
-import org.eclipse.photran.internal.core.refactoring.KeywordCaseRefactoring;
-import org.eclipse.rephraserengine.ui.refactoring.CustomUserInputPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * User input wizard page for the Change Keyword Case refactoring
- *
- * @author Kurt Hendle, Jeff Overbey
- */
-public class KeywordCaseInputPage extends CustomUserInputPage<KeywordCaseRefactoring>
-{
-    protected Button radioLowerCase;
-    protected Button radioUpperCase;
-
-    @Override
-    public void createControl(Composite parent)
-    {
-        Composite top = new Composite(parent, SWT.NONE);
-        initializeDialogUnits(top);
-        setControl(top);
-
-        top.setLayout(new GridLayout(1, false));
-
-        Composite group = top;
-        Label instr = new Label(group, SWT.NONE);
-        instr.setText(Messages.KeywordCaseInputPage_ChangeKeywordsToLabel);
-
-        radioLowerCase = new Button(group, SWT.RADIO);
-        radioLowerCase.setText(Messages.KeywordCaseInputPage_LowerCaseLabel);
-        radioLowerCase.setSelection(true);
-        radioLowerCase.addSelectionListener(new SelectionListener()
-        {
-            public void widgetDefaultSelected(SelectionEvent e)
-            {
-                widgetSelected(e);
-            }
-
-            public void widgetSelected(SelectionEvent e)
-            {
-                boolean isChecked = radioLowerCase.getSelection();
-                getRefactoring().setLowerCase(isChecked);
-            }
-        });
-
-        radioUpperCase = new Button(group, SWT.RADIO);
-        radioUpperCase.setText(Messages.KeywordCaseInputPage_UpperCaseLabel);
-
-        Label lbl = new Label(group, SWT.NONE);
-        lbl.setText(Messages.KeywordCaseInputPage_ClickOKMessage);
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/Messages.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/Messages.java
deleted file mode 100644
index e85cb8a..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/Messages.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *    Rita Chow - Photran Modifications
- *    Nicola Hall - Photran Modifications
- *    Jerry Hsiao - Photran Modifications
- *    Mark Mozolewski - Photran Modifications
- *    Chamil Wijenayaka - Photran Modifications
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.refactoring;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.ui.refactoring.messages"; //$NON-NLS-1$
-
-    public static String RemoveAssignGotoInputPage_ClickOKMessage;
-
-    public static String RemoveAssignGotoInputPage_Yes;
-    
-    public static String RemoveAssignGotoInputPage_No;
-
-    public static String RemoveAssignGotoInputPage_Prompt;
-
-    public static String AbstractFortranRefactoringActionDelegate_ErrorTitle;
-
-    public static String AbstractFortranRefactoringActionDelegate_FileInEditorCannotBeRefactored;
-
-    public static String AddOnlyToUseStmtInputPage_ClickOKMessage;
-
-    public static String AddOnlyToUseStmtInputPage_SelectModuleEntitiesLabel;
-
-    public static String PermuteSubroutineArgsInputPage_alternateReturnColumnLabel;
-
-    public static String PermuteSubroutineArgsInputPage_alternateReturnErrorLabel;
-
-    public static String PermuteSubroutineArgsInputPage_downButtonLabel;
-
-    public static String PermuteSubroutineArgsInputPage_intentInLabel;
-
-    public static String PermuteSubroutineArgsInputPage_intentLabel;
-
-    public static String PermuteSubroutineArgsInputPage_intentOutLabel;
-
-    public static String PermuteSubroutineArgsInputPage_keywordedColumnLabel;
-
-    public static String PermuteSubroutineArgsInputPage_keywordErrorLabel;
-
-    public static String PermuteSubroutineArgsInputPage_nameLabel;
-
-    public static String PermuteSubroutineArgsInputPage_notEnoughArgumentsErrorLabel;
-
-    public static String PermuteSubroutineArgsInputPage_optionalArgumentErrorLabel;
-
-    public static String PermuteSubroutineArgsInputPage_optionalColumnLabel;
-
-    public static String PermuteSubroutineArgsInputPage_parameterGroupLabel;
-
-    public static String PermuteSubroutineArgsInputPage_typeLabel;
-
-    public static String PermuteSubroutineArgsInputPage_upButtonLabel;
-
-    public static String CommonVarNamesInputPage_NewNameLabel;
-
-    public static String CommonVarNamesInputPage_OriginalNameLabel;
-
-    public static String ExtractLocalVariableAction_DeclarationLabel;
-
-    public static String ExtractProcedureAction_SubroutineNameLabel;
-
-    public static String KeywordCaseInputPage_ChangeKeywordsToLabel;
-
-    public static String KeywordCaseInputPage_ClickOKMessage;
-
-    public static String KeywordCaseInputPage_LowerCaseLabel;
-
-    public static String KeywordCaseInputPage_UpperCaseLabel;
-
-    public static String MoveFromModuleInputPage_leftPanelMessage;
-
-    public static String MoveFromModuleInputPage_Name;
-
-    public static String MoveFromModuleInputPage_rightPanelMessage;
-
-    public static String MoveFromModuleInputPage_selectDataMessage;
-
-    public static String RenameAction_MatchExternalSubprograms;
-
-    public static String RenameAction_RenameAtoB;
-
-    public static String IfConstructStatementConversionAction_AddEmptyElseBlock;
-
-    public static String RefactoringAction_ClickOKToRunTheRefactoring;
-
-    public static String RemoveRealAndDoublePrecisionLoopCountersInputPage_ReplaceRealDoublePrecisionLoopCounter;
-
-    public static String RemoveRealAndDoublePrecisionLoopCountersInputPage_ReplaceWithDoLoop;
-    
-    public static String RemoveRealAndDoublePrecisionLoopCountersInputPage_ReplaceWithDoWhileLoop;
-    
-    public static String RemoveRealAndDoublePrecisionLoopCountersInputPage_ClickOKMessage;
-    
-    public static String RemoveRealAndDoublePrecisionLoopCountersInputPage_ClickPreviewMessage;
-
-    public static String AddSubroutineParameterAction_DefaultLabel;
-
-    public static String AddSubroutineParameterAction_DeclarationLabel;
-
-    public static String AddSubroutineParameterAction_LocationLabel;
-    
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/PermuteSubroutineArgsInputPage.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/PermuteSubroutineArgsInputPage.java
deleted file mode 100644
index 764454f..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/PermuteSubroutineArgsInputPage.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Matthew Fotzler, UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.refactoring;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineParNode;
-import org.eclipse.photran.internal.core.refactoring.PermuteSubroutineArgsRefactoring;
-import org.eclipse.rephraserengine.ui.refactoring.CustomUserInputPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * Input page for the change subroutine signature refactoring.
- * 
- * @author Matthew Fotzler
- */
-public class PermuteSubroutineArgsInputPage extends CustomUserInputPage<PermuteSubroutineArgsRefactoring>
-{
-    private Composite top;
-    private Composite parent;
-    private Group parameterGroup;
-    private Button upButton;
-    private Button downButton;
-    private Table parameterTable;
-    private Label statusLabel;
-    
-    @Override
-    public void createControl(Composite parent)
-    {
-        this.parent = parent;
-        top = new Composite(parent, SWT.NONE);
-        initializeDialogUnits(top);
-        setControl(top);
-        top.setLayout(new GridLayout(1,false));
-
-        parameterGroup = new Group(top, SWT.NONE);
-        parameterGroup.setLayout(new GridLayout(2,false));
-        parameterGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-        parameterGroup.setText(Messages.PermuteSubroutineArgsInputPage_parameterGroupLabel);
-        
-        parameterTable = createParameterTable(parameterGroup);
-        
-        Composite buttonComposite = new Composite(parameterGroup, SWT.NONE);
-        buttonComposite.setLayout(new GridLayout(1,false));
-        
-        upButton = new Button(buttonComposite, SWT.NONE);
-        upButton.setText(Messages.PermuteSubroutineArgsInputPage_upButtonLabel);
-        upButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-        
-        downButton = new Button(buttonComposite, SWT.NONE);
-        downButton.setText(Messages.PermuteSubroutineArgsInputPage_downButtonLabel);
-        downButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-        
-        statusLabel = new Label(top, SWT.NONE);
-        statusLabel.setLayoutData(new GridData(SWT.LEFT,SWT.TOP,false,false));
-        
-        for(ASTSubroutineParNode parameterNode : getRefactoring().getSubroutineParameters())
-            createParameterTableItem(parameterNode);
-        
-        parameterTable.addSelectionListener(new ParameterTableSelectionListener());
-        upButton.addSelectionListener(new UpButtonSelectionListener());
-        downButton.addSelectionListener(new DownButtonSelectionListener());
-        tableSelected();
-    }
-
-    protected void createParameterTableItem(ASTSubroutineParNode parameterNode)
-    {
-        TableItem newItem = new TableItem(parameterTable, SWT.NONE);
-        if(parameterNode.isAsterisk())
-        {
-            newItem.setText(0, "*"); //$NON-NLS-1$
-            newItem.setText(3, Boolean.toString(true));
-            newItem.setText(4, Boolean.toString(false));
-        }
-        else
-        {
-            List<Definition> definitionList = parameterNode.getVariableName().resolveBinding();
-            if(definitionList.size() == 1)
-            {
-                Definition definition = definitionList.get(0);
-                newItem.setText(0, definition.getDeclaredName());
-                newItem.setText(1, definition.getType().toString());
-                
-                String intent = new String();
-                if(definition.isIntentIn())
-                    intent += Messages.PermuteSubroutineArgsInputPage_intentInLabel;
-                if(definition.isIntentOut())
-                    intent += Messages.PermuteSubroutineArgsInputPage_intentOutLabel;
-                
-                newItem.setText(2, intent);
-                newItem.setText(3, Boolean.toString(false));
-                newItem.setText(4, Boolean.toString(definition.isOptional()));
-                newItem.setText(5, Boolean.toString(getRefactoring().isUsedWithKeywordInCallStmt(parameterNode)));
-            }
-        }
-        newItem.setData(parameterNode);
-        parameterTable.pack();
-    }
-
-    protected Table createParameterTable(Group parameterGroup)
-    {
-        final Table parameterTable = new Table(parameterGroup, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
-        parameterTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-        parameterTable.setLinesVisible(true);
-        parameterTable.setHeaderVisible(true);
-        
-        TableColumn nameColumn = new TableColumn(parameterTable, SWT.NONE);
-        nameColumn.setText(Messages.PermuteSubroutineArgsInputPage_nameLabel);
-        nameColumn.setWidth(100);
-        TableColumn typeColumn = new TableColumn(parameterTable, SWT.NONE);
-        typeColumn.setText(Messages.PermuteSubroutineArgsInputPage_typeLabel);
-        typeColumn.setWidth(100);
-        TableColumn intentColumn = new TableColumn(parameterTable, SWT.NONE);
-        intentColumn.setText(Messages.PermuteSubroutineArgsInputPage_intentLabel);
-        intentColumn.setWidth(100);
-        TableColumn alternateReturnColumn = new TableColumn(parameterTable, SWT.NONE);
-        alternateReturnColumn.setText(Messages.PermuteSubroutineArgsInputPage_alternateReturnColumnLabel);
-        alternateReturnColumn.setWidth(100);
-        TableColumn optionalColumn = new TableColumn(parameterTable, SWT.NONE);
-        optionalColumn.setText(Messages.PermuteSubroutineArgsInputPage_optionalColumnLabel);
-        optionalColumn.setWidth(100);
-        TableColumn keywordColumn = new TableColumn(parameterTable, SWT.NONE);
-        keywordColumn.setText(Messages.PermuteSubroutineArgsInputPage_keywordedColumnLabel);
-        keywordColumn.setWidth(100);
-        parameterTable.pack();
-        return parameterTable;
-    }
-    
-    protected void tableSelected()
-    {
-        statusLabel.setText(""); //$NON-NLS-1$
-        upButton.setEnabled(true);
-        downButton.setEnabled(true);
-        setPageComplete(true);
-        String statusText = new String();
-        
-        List<ASTSubroutineParNode> tableNodes = new ArrayList<ASTSubroutineParNode>();
-        for(int i = 0; i < parameterTable.getItemCount(); i++)
-            tableNodes.add((ASTSubroutineParNode)parameterTable.getItem(i).getData());
-        
-        int selectedIndex = parameterTable.getSelectionIndex();
-        if(parameterTable.getItemCount() == 0)
-            return;
-        if(selectedIndex < 0 || selectedIndex > parameterTable.getItemCount())
-            selectedIndex=0;
-        if(selectedIndex == 0)
-            upButton.setEnabled(false);
-        if(selectedIndex == tableNodes.size()-1)
-            downButton.setEnabled(false);
-        
-        statusText = checkPreconditions(statusText, tableNodes, selectedIndex);
-        
-        statusLabel.setText(statusText);
-        statusLabel.pack(true);
-        parameterGroup.pack(true);
-        top.pack(true);
-        parent.pack(true);
-    }
-
-    protected String checkPreconditions(String statusText, List<ASTSubroutineParNode> tableNodes,
-        int selectedIndex)
-    {
-        if(tableNodes.get(selectedIndex).isAsterisk())
-        {
-            if(selectedIndex-1 > 0 && tableNodes.get(selectedIndex-1).isAsterisk())
-            {
-                upButton.setEnabled(false);
-                statusText += Messages.PermuteSubroutineArgsInputPage_alternateReturnErrorLabel;
-            }
-            if(selectedIndex+1 < tableNodes.size() && tableNodes.get(selectedIndex+1).isAsterisk())
-            {
-                downButton.setEnabled(false);
-                statusText += Messages.PermuteSubroutineArgsInputPage_alternateReturnErrorLabel;
-            }
-        }
-        
-        if(optionalArgumentIsBeforeAlternateReturn(tableNodes))
-        {
-            setPageComplete(false);
-            statusText += Messages.PermuteSubroutineArgsInputPage_optionalArgumentErrorLabel;
-        }
-        
-        if(keywordedArgumentIsBeforeAlternateReturn(tableNodes))
-        {
-            setPageComplete(false);
-            statusText += Messages.PermuteSubroutineArgsInputPage_keywordErrorLabel;
-        }
-        
-        if(tableNodes.size() < 2)
-        {
-            setPageComplete(false);
-            statusText += Messages.PermuteSubroutineArgsInputPage_notEnoughArgumentsErrorLabel;
-        }
-        return statusText;
-    }
-
-    private boolean optionalArgumentIsBeforeAlternateReturn(List<ASTSubroutineParNode> tableNodes)
-    {
-        for(int i = 0; i < tableNodes.size(); i++)
-        {
-            if(tableNodes.get(i).getVariableName() != null)
-            {
-                List<Definition> definitionList = tableNodes.get(i).getVariableName().resolveBinding();
-                
-                if(definitionList.size() == 1)
-                {
-                    Definition definition = definitionList.get(0);
-                    
-                    if (definition.isOptional())
-                        for(int j = i+1; j < tableNodes.size(); j++)
-                            if(tableNodes.get(j).isAsterisk())
-                                return true;
-                }
-            }
-        }
-        return false;
-    }
-    
-    private boolean keywordedArgumentIsBeforeAlternateReturn(List<ASTSubroutineParNode> tableNodes)
-    {
-        for(int i = 0; i < tableNodes.size(); i++)
-            if (getRefactoring().isUsedWithKeywordInCallStmt(tableNodes.get(i)))
-                for(int j = i+1; j < tableNodes.size(); j++)
-                    if(tableNodes.get(j).isAsterisk())
-                        return true;
-        
-        return false;
-    }
-
-    private final class ParameterTableSelectionListener implements SelectionListener
-    {
-        public void widgetSelected(SelectionEvent e)
-        {
-            tableSelected();
-        }
-
-        public void widgetDefaultSelected(SelectionEvent e)
-        {
-            widgetSelected(e);
-        }
-    }
-
-    private final class DownButtonSelectionListener implements SelectionListener
-    {
-        public void widgetSelected(SelectionEvent e)
-        {
-            if(parameterTable.getSelectionCount() == 1)
-            {
-                List<ASTSubroutineParNode> originalParameters = getRefactoring().getSubroutineParameters();
-                TableItem selectedItem = parameterTable.getSelection()[0];
-                int oldIndex = parameterTable.indexOf(selectedItem);
-                if(oldIndex < parameterTable.getItemCount()-1)
-                {
-                    TableItem newItem = new TableItem(parameterTable, SWT.NONE, oldIndex+2);                    
-                    for(int i = 0; i < parameterTable.getColumnCount(); i++)
-                        newItem.setText(i,selectedItem.getText(i));
-                    newItem.setData(selectedItem.getData());
-                    parameterTable.remove(oldIndex);
-                    parameterTable.select(oldIndex+1);
-                    
-                    ArrayList<Integer> sigma = new ArrayList<Integer>();
-                    for(TableItem item : parameterTable.getItems())
-                        sigma.add(originalParameters.indexOf(item.getData()));
-                    getRefactoring().setSigma(sigma);
-                    
-                    tableSelected();
-                }
-            }
-        }
-
-        public void widgetDefaultSelected(SelectionEvent e)
-        {
-            widgetSelected(e);
-        }
-    }
-
-    private final class UpButtonSelectionListener implements SelectionListener
-    {
-        public void widgetSelected(SelectionEvent e)
-        {
-            if(parameterTable.getSelectionCount() == 1)
-            {
-                List<ASTSubroutineParNode> originalParameters = getRefactoring().getSubroutineParameters();
-                TableItem selectedItem = parameterTable.getSelection()[0];
-                int oldIndex = parameterTable.indexOf(selectedItem);
-                if(oldIndex > 0)
-                {
-                    TableItem newItem = new TableItem(parameterTable, SWT.NONE, oldIndex-1);
-                    for(int i = 0; i < parameterTable.getColumnCount(); i++)
-                        newItem.setText(i,selectedItem.getText(i));
-                    newItem.setData(selectedItem.getData());
-                    parameterTable.remove(oldIndex+1);
-                    parameterTable.select(oldIndex-1);
-
-                    ArrayList<Integer> sigma = new ArrayList<Integer>();
-                    for(TableItem item : parameterTable.getItems())
-                        sigma.add(originalParameters.indexOf(item.getData()));
-                    getRefactoring().setSigma(sigma);
-                    tableSelected();
-                }
-            }
-        }
-
-        public void widgetDefaultSelected(SelectionEvent e)
-        {
-            widgetSelected(e);
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveAssignedGotoAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveAssignedGotoAction.java
deleted file mode 100644
index 96b9d95..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveAssignedGotoAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Andrea Dranberg, John Hammonds, Rajashekhar Arasanal, 

- * Balaji Ambresh Rajkumar and Paramvir Singh.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- * Andrea Dranberg, John Hammonds, Rajashekhar Arasanal, Balaji Ambresh Rajkumar

- * and Paramvir Singh - Initial API and implementation

- * 

- *******************************************************************************/

-package org.eclipse.photran.internal.ui.refactoring;

-

-import java.util.List;

-

-import org.eclipse.core.resources.IFile;

-import org.eclipse.photran.core.IFortranAST;

-import org.eclipse.photran.internal.core.lexer.Token;

-import org.eclipse.photran.internal.core.refactoring.RemoveAssignedGotoRefactoring;

-import org.eclipse.photran.internal.core.vpg.PhotranVPG;

-import org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring;

-import org.eclipse.ui.IEditorActionDelegate;

-import org.eclipse.ui.IWorkbenchWindowActionDelegate;

-

-/**

- * Handles the Remove Assigned Goto action in the Fortran editor's Refactoring popup menu and in the

- * Refactor menu in the workbench menu bar.

- * White-box test cases for the remove assigned goto refactoring.

- * @author Andrea Dranberg

- * @author John Hammonds

- * @author Rajashekhar Arasanal

- * @author Balaji Ambresh Rajkumar

- * @author Paramvir Singh

- */

-public class RemoveAssignedGotoAction extends AbstractFortranRefactoringActionDelegate implements

-    IWorkbenchWindowActionDelegate, IEditorActionDelegate

-{

-    public RemoveAssignedGotoAction()

-    {

-        super(RemoveAssignedGotoRefactoring.class, FortranRemoveAssignedGotoWizard.class);

-    }

-

-    @Override

-    protected VPGRefactoring<IFortranAST, Token, PhotranVPG> getRefactoring(List<IFile> files)

-    {

-        RemoveAssignedGotoRefactoring r = new RemoveAssignedGotoRefactoring();

-        r.initialize(files);

-        return r;

-    }

-

-    /**

-     * Creates the user input dialog box that is specific to the RemoveAssignedGotoRefactoring.

-     * This class is used by the action class.

-     */

-    public static class FortranRemoveAssignedGotoWizard extends AbstractFortranRefactoringWizard

-    {

-        public FortranRemoveAssignedGotoWizard(VPGRefactoring<IFortranAST, Token, PhotranVPG> r)

-        {

-            super(r);

-        }

-

-        /**

-         * Sets the refactoring tool to {@link #RemoveAssignedGotoInputPage} for

-         * the input wizard.

-         */

-        @Override

-        protected void doAddUserInputPages()

-        {

-            RemoveAssignedGotoInputPage inputPage = new RemoveAssignedGotoInputPage();

-            inputPage.setRefactoring((RemoveAssignedGotoRefactoring)getRefactoring());

-            addPage(inputPage);

-        }

-    }

-}

diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveAssignedGotoInputPage.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveAssignedGotoInputPage.java
deleted file mode 100644
index b92deda..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveAssignedGotoInputPage.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 Andrea Dranberg, John Hammonds, Rajashekhar Arasanal, 

- * Balaji Ambresh Rajkumar and Paramvir Singh.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- * Andrea Dranberg, John Hammonds, Rajashekhar Arasanal, Balaji Ambresh Rajkumar

- * and Paramvir Singh - Initial API and implementation

- * 

- *******************************************************************************/

-package org.eclipse.photran.internal.ui.refactoring;

-

-import org.eclipse.photran.internal.core.refactoring.RemoveAssignedGotoRefactoring;

-import org.eclipse.rephraserengine.ui.refactoring.CustomUserInputPage;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.events.SelectionListener;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Label;

-

-/**

- * Creates the input wizard with a YES/NO radio button with the refactoring

- * prompt. Starter code was borrowed from {#link KeywordCaseInputPage}

- * White-box test cases for the remove assigned goto refactoring.

- * @author Andrea Dranberg

- * @author John Hammonds

- * @author Rajashekhar Arasanal

- * @author Balaji Ambresh Rajkumar

- * @author Paramvir Singh

- */

-public class RemoveAssignedGotoInputPage extends CustomUserInputPage<RemoveAssignedGotoRefactoring>

-{

-    protected Button radioYes;

-    protected Button radioNo;

-

-    @Override

-    public void createControl(Composite parent)

-    {

-        Composite top = new Composite(parent, SWT.NONE);

-        initializeDialogUnits(top);

-        setControl(top);

-

-        top.setLayout(new GridLayout(1, false));

-

-        Composite group = top;

-        Label instr = new Label(group, SWT.NONE);

-        instr.setText(Messages.RemoveAssignGotoInputPage_Prompt);

-

-        radioYes = new Button(group, SWT.RADIO);

-        radioYes.setText(Messages.RemoveAssignGotoInputPage_Yes);

-        radioYes.setSelection(true);

-        radioYes.addSelectionListener(new SelectionListener()

-        {

-            public void widgetDefaultSelected(SelectionEvent e)

-            {

-                widgetSelected(e);

-            }

-

-            public void widgetSelected(SelectionEvent e)

-            {

-                getRefactoring().setDefaultSelected(radioYes.getSelection());

-            }

-        });

-

-        radioNo = new Button(group, SWT.RADIO);

-        radioNo.setText(Messages.RemoveAssignGotoInputPage_No);

-

-        Label lbl = new Label(group, SWT.NONE);

-        lbl.setText(Messages.RemoveAssignGotoInputPage_ClickOKMessage);

-    }

-}

diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveRealAndDoublePrecisionLoopCountersInputPage.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveRealAndDoublePrecisionLoopCountersInputPage.java
deleted file mode 100644
index 7fbe528..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RemoveRealAndDoublePrecisionLoopCountersInputPage.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Rita Chow, Nicola Hall, Jerry Hsiao, Mark Mozolewski, Chamil Wijenayaka
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Rita Chow - Initial Implementation
- *    Nicola Hall - Initial Implementation
- *    Jerry Hsiao - Initial Implementation
- *    Mark Mozolewski - Initial Implementation
- *    Chamil Wijenayaka - Initial Implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.refactoring;
-
-import org.eclipse.photran.internal.core.refactoring.RemoveRealAndDoublePrecisionLoopCountersRefactoring;
-import org.eclipse.rephraserengine.ui.refactoring.CustomUserInputPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * User input wizard page for the Change Keyword Case refactoring
- * 
- * @author Rita Chow (chow15), Jerry Hsiao (jhsiao2), Mark Mozolewski (mozolews), Chamil Wijenayaka
- *         (wijenay2), Nicola Hall (nfhall2)
- */
-public class RemoveRealAndDoublePrecisionLoopCountersInputPage extends
-    CustomUserInputPage<RemoveRealAndDoublePrecisionLoopCountersRefactoring>
-{
-    protected Button doWhileLoop;
-
-    protected Button doLoop;
-
-    @Override
-    public void createControl(Composite parent)
-    {
-        Composite top = new Composite(parent, SWT.NONE);
-        initializeDialogUnits(top);
-        setControl(top);
-
-        top.setLayout(new GridLayout(1, false));
-
-        Composite group = top;
-        Label instr = new Label(group, SWT.NONE);
-        instr
-            .setText(Messages.RemoveRealAndDoublePrecisionLoopCountersInputPage_ReplaceRealDoublePrecisionLoopCounter);
-
-        doWhileLoop = new Button(group, SWT.RADIO);
-        doWhileLoop
-            .setText(Messages.RemoveRealAndDoublePrecisionLoopCountersInputPage_ReplaceWithDoLoop);
-        doWhileLoop.setSelection(true);
-        doWhileLoop.addSelectionListener(new SelectionListener()
-        {
-            public void widgetDefaultSelected(SelectionEvent e)
-            {
-                widgetSelected(e);
-            }
-
-            public void widgetSelected(SelectionEvent e)
-            {
-                boolean isChecked = doLoop.getSelection();
-                getRefactoring().setShouldReplaceWithDoWhileLoop(isChecked);
-            }
-        });
-
-        doLoop = new Button(group, SWT.RADIO);
-        doLoop
-            .setText(Messages.RemoveRealAndDoublePrecisionLoopCountersInputPage_ReplaceWithDoWhileLoop);
-
-        Label ok = new Label(group, SWT.NONE);
-        ok.setText("\n" + Messages.RemoveRealAndDoublePrecisionLoopCountersInputPage_ClickOKMessage); //$NON-NLS-1$
-        Label preview = new Label(group, SWT.NONE);
-        preview
-            .setText(Messages.RemoveRealAndDoublePrecisionLoopCountersInputPage_ClickPreviewMessage);
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RenameAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RenameAction.java
deleted file mode 100644
index a16a558..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/RenameAction.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.refactoring;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.refactoring.RenameRefactoring;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.vpg.refactoring.VPGRefactoring;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Handles the Rename action in the Fortran editor's Refactoring popup menu
- * and in the Refactor menu in the workbench menu bar.
- *
- * @author Jeff Overbey
- */
-public class RenameAction
-    extends AbstractFortranRefactoringActionDelegate
-    implements IWorkbenchWindowActionDelegate, IEditorActionDelegate
-{
-    public RenameAction()
-    {
-        super(RenameRefactoring.class, FortranRenameRefactoringWizard.class);
-    }
-
-    @Override
-    protected VPGRefactoring<IFortranAST, Token, PhotranVPG> getRefactoring(List<IFile> files)
-    {
-        RenameRefactoring r = new RenameRefactoring();
-        r.initialize(
-            getFortranEditor().getIFile(),
-            getFortranEditor().getSelection());
-        return r;
-    }
-
-    public static class FortranRenameRefactoringWizard extends AbstractFortranRefactoringWizard
-    {
-        protected RenameRefactoring renameRefactoring;
-
-        public FortranRenameRefactoringWizard(RenameRefactoring r)
-        {
-            super(r);
-            this.renameRefactoring = r;
-        }
-
-        @Override protected void doAddUserInputPages()
-        {
-            addPage(new UserInputWizardPage(renameRefactoring.getName())
-            {
-                protected Text newNameField;
-                protected Button shouldBindInterfacesAndExternals;
-
-                public void createControl(Composite parent)
-                {
-                    Composite top = new Composite(parent, SWT.NONE);
-                    initializeDialogUnits(top);
-                    setControl(top);
-
-                    top.setLayout(new GridLayout(2, false));
-
-                    Composite group = top;
-                    Label lbl = new Label(group, SWT.NONE);
-                    lbl.setText(
-                        Messages.bind(
-                            Messages.RenameAction_RenameAtoB,
-                            renameRefactoring.getOldNameOfIdentifier()));
-
-                    newNameField = new Text(group, SWT.BORDER);
-                    newNameField.setText(renameRefactoring.getOldNameOfIdentifier());
-                    newNameField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-                    newNameField.selectAll();
-                    newNameField.addModifyListener(new ModifyListener()
-                    {
-                        public void modifyText(ModifyEvent e)
-                        {
-                            renameRefactoring.setNewNameForIdentifier(newNameField.getText());
-                        }
-                    });
-                    // Call once for sure, just in case the user doesn't modify the text
-                    renameRefactoring.setNewNameForIdentifier(newNameField.getText());
-
-                    new Label(group, SWT.NONE).setText(""); //$NON-NLS-1$
-
-                    shouldBindInterfacesAndExternals = new Button(group, SWT.CHECK);
-                    shouldBindInterfacesAndExternals.setText(Messages.RenameAction_MatchExternalSubprograms);
-                    shouldBindInterfacesAndExternals.setSelection(true);
-                    shouldBindInterfacesAndExternals.addSelectionListener(new SelectionListener()
-                    {
-                        public void widgetDefaultSelected(SelectionEvent e)
-                        {
-                            widgetSelected(e);
-                        }
-
-                        public void widgetSelected(SelectionEvent e)
-                        {
-                            boolean isChecked = shouldBindInterfacesAndExternals.getSelection();
-                            renameRefactoring.setShouldBindInterfacesAndExternals(isChecked);
-                        }
-
-                    });
-
-                    newNameField.setFocus();
-                }
-            });
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/messages.properties b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/messages.properties
deleted file mode 100644
index ae79f19..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/refactoring/messages.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-AbstractFortranRefactoringActionDelegate_ErrorTitle=Error
-AbstractFortranRefactoringActionDelegate_FileInEditorCannotBeRefactored=The file in the editor cannot be refactored.\n\nFortran files can only be refactored if they are located inside a Fortran project in your workspace.
-AddOnlyToUseStmtInputPage_ClickOKMessage=Click OK to add the ONLY clause to the selected USE statement. To see what changes will be made, click Preview.
-AddOnlyToUseStmtInputPage_SelectModuleEntitiesLabel=Select the module entities to add to the ONLY clause.
-PermuteSubroutineArgsInputPage_alternateReturnColumnLabel=Alternate Return
-PermuteSubroutineArgsInputPage_alternateReturnErrorLabel=The relative order of alternate returns must remain the same.\n
-PermuteSubroutineArgsInputPage_downButtonLabel=Down
-PermuteSubroutineArgsInputPage_intentInLabel=in
-PermuteSubroutineArgsInputPage_intentLabel=Intent
-PermuteSubroutineArgsInputPage_intentOutLabel=out
-PermuteSubroutineArgsInputPage_keywordedColumnLabel=Keyworded
-PermuteSubroutineArgsInputPage_keywordErrorLabel=An argument used with a keyword at a call site cannot be placed before an alternate return.\n
-PermuteSubroutineArgsInputPage_nameLabel=Name
-PermuteSubroutineArgsInputPage_notEnoughArgumentsErrorLabel=The subroutine must have at least 2 arguments to change its signature.\n
-PermuteSubroutineArgsInputPage_optionalArgumentErrorLabel=An optional argument cannot be placed before an alternate return.\n
-PermuteSubroutineArgsInputPage_optionalColumnLabel=Optional
-PermuteSubroutineArgsInputPage_parameterGroupLabel=Subprogram Parameters
-PermuteSubroutineArgsInputPage_typeLabel=Type
-PermuteSubroutineArgsInputPage_upButtonLabel=Up
-CommonVarNamesInputPage_NewNameLabel=New Name
-CommonVarNamesInputPage_OriginalNameLabel=Original Name
-ExtractLocalVariableAction_DeclarationLabel=Declaration:
-ExtractProcedureAction_SubroutineNameLabel=Extract selected code to a subroutine named 
-KeywordCaseInputPage_ChangeKeywordsToLabel=Change keywords to:
-KeywordCaseInputPage_ClickOKMessage=Click OK to change the case of all keywords in the selected files. To see what changes will be made, click Preview.
-KeywordCaseInputPage_LowerCaseLabel=Lower Case
-KeywordCaseInputPage_UpperCaseLabel=Upper Case
-MoveFromModuleInputPage_leftPanelMessage=Members to Move
-MoveFromModuleInputPage_Name=Move From Module Refactoring
-MoveFromModuleInputPage_rightPanelMessage=Destination Module
-MoveFromModuleInputPage_selectDataMessage=Please select member data to move from module 
-RenameAction_MatchExternalSubprograms=Match external subprograms with interfaces and external declarations
-RenameAction_RenameAtoB=Rename {0} to
-RemoveAssignGotoInputPage_Prompt=Add Default Case?
-RemoveAssignGotoInputPage_Yes=Yes
-RemoveAssignGotoInputPage_No=No
-RemoveAssignGotoInputPage_ClickOKMessage=Click OK to change all asigned gotos to select case blocks. To see what changes will be made, click Preview.IfConstructStatementConversionAction_AddEmptyElseBlock=Add an empty else block
-RefactoringAction_ClickOKToRunTheRefactoring=Click OK to run the {0} refactoring.\nTo see what changes will be made, click Preview.
-RemoveRealAndDoublePrecisionLoopCountersInputPage_ReplaceRealDoublePrecisionLoopCounter=Replace real/double precision loop counter with:
-RemoveRealAndDoublePrecisionLoopCountersInputPage_ReplaceWithDoLoop=DO Loop
-RemoveRealAndDoublePrecisionLoopCountersInputPage_ReplaceWithDoWhileLoop=DO WHILE Loop
-RemoveRealAndDoublePrecisionLoopCountersInputPage_ClickOKMessage=Click OK to replace the real/double precision loop counter.
-RemoveRealAndDoublePrecisionLoopCountersInputPage_ClickPreviewMessage=To see what the changes will be made, click Preview.
-AddSubroutineParameterAction_DeclarationLabel=Declaration:
-AddSubroutineParameterAction_LocationLabel=Position:
-AddSubroutineParameterAction_DefaultLabel=Default Value:
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranFindReferencesActionDelegate.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranFindReferencesActionDelegate.java
deleted file mode 100644
index 7fb5588..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranFindReferencesActionDelegate.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.search;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.ui.actions.FortranEditorASTActionDelegate;
-import org.eclipse.photran.internal.ui.actions.OpenDeclaration;
-import org.eclipse.photran.internal.ui.search.FortranFindReferencesSearchQuery.SearchScope;
-
-/**
- * Based on {@link OpenDeclaration}
- * 
- * @author ?
- */
-public abstract class FortranFindReferencesActionDelegate extends FortranEditorASTActionDelegate
-{
-    public static class FileActionDelegate extends FortranFindReferencesActionDelegate
-    {
-        @Override protected SearchScope getSearchScope()
-        {
-            return SearchScope.FILE;
-        }
-    }
-    
-    public static class ProjectActionDelegate extends FortranFindReferencesActionDelegate
-    {
-        @Override protected SearchScope getSearchScope()
-        {
-            return SearchScope.PROJECT;
-        }
-    }
-    
-    public static class WorkspaceActionDelegate extends FortranFindReferencesActionDelegate
-    {
-        @Override protected SearchScope getSearchScope()
-        {
-            return SearchScope.WORKSPACE;
-        }
-    }
-    
-    public void run(IProgressMonitor progressMonitor)
-        throws InvocationTargetException, InterruptedException
-    {
-        try
-        {
-            if (!PhotranVPG.getInstance().doesProjectHaveRefactoringEnabled(getFortranEditor().getIFile()))
-                throw new Exception(Messages.FortranFindReferencesActionDelegate_PleaseEnableAnalysisAndRefactoring);
-            
-        	//progressMonitor.beginTask("Waiting for background work to complete (Photran indexer)", IProgressMonitor.UNKNOWN);
-
-        	//PhotranVPG.getInstance().ensureVPGIsUpToDate(progressMonitor);
-        	
-            Token token = findEnclosingToken(getAST(), getFortranEditor().getSelection());
-            if (token == null || token.getTerminal() != Terminal.T_IDENT)
-            	throw new Exception(Messages.FortranFindReferencesActionDelegate_PleaseSelectAnIdentifier);
-
-			List<Definition> defs = token.resolveBinding();            
-			if (defs.isEmpty())
-				throw new Exception(Messages.FortranFindReferencesActionDelegate_DefinitionCouldNotBeFound);
-
-            Definition selectedDef =
-                defs.size() > 1 ? openSelectionDialog(defs)
-                                : defs.get(0);
-			
-			// This may be null if the user cancelled the selection dialog.
-			if (selectedDef != null && token.getPhysicalFile() != null && token.getPhysicalFile().getIFile() != null)
-				FortranFindReferencesSearchQuery.searchForReference(selectedDef, getSearchScope(), token.getPhysicalFile().getIFile());
-        }
-        catch (Exception e)
-        {
-        	String message = e.getMessage();
-        	if (message == null) message = e.getClass().getName();
-        	MessageDialog.openError(getFortranEditor().getShell(), Messages.FortranFindReferencesActionDelegate_ErrorTitle, message);
-        }
-        finally
-        {
-        	progressMonitor.done();
-        }
-	}
-	
-	protected abstract SearchScope getSearchScope();
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranFindReferencesSearchQuery.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranFindReferencesSearchQuery.java
deleted file mode 100644
index 919a8d7..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranFindReferencesSearchQuery.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.ui.vpg.Activator;
-import org.eclipse.rephraserengine.ui.search.SearchResult;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.ISearchResult;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-
-/**
- * Fortran Search Engine Implementation.
- * 
- * @author kdecker3, slieter2
- */
-public class FortranFindReferencesSearchQuery implements ISearchQuery
-{
-    private Definition def;
-    private SearchScope searchScope;
-    private IFile file;
-    private SearchResult searchResult;
-
-    public FortranFindReferencesSearchQuery(Definition def, SearchScope searchScope, IFile file)
-    {
-        this.def = def;
-        this.searchScope = searchScope;
-        this.file = file;
-        this.searchResult = new SearchResult(this);
-    }
-
-    public boolean canRerun()
-    {
-        return false;
-    }
-
-    public boolean canRunInBackground()
-    {
-        return true;
-    }
-
-    public String getLabel()
-    {
-        int count = ((AbstractTextSearchResult)getSearchResult()).getMatchCount();
-        String description = "'" + getDef().getCanonicalizedName() + "' - "; //$NON-NLS-1$ //$NON-NLS-2$
-        if (count == 1)
-            return description + Messages.bind(Messages.FortranFindReferencesSearchQuery_OneMatch, searchScope);
-        else
-            return description + Messages.bind(Messages.FortranFindReferencesSearchQuery_nMatches, count, searchScope);
-    }
-
-    public ISearchResult getSearchResult()
-    {
-        return searchResult;
-    }
-
-    public IFile getFile()
-    {
-        return file;
-    }
-
-    public IStatus run(IProgressMonitor monitor)
-    {
-        //PhotranVPG.getInstance().ensureVPGIsUpToDate(monitor);
-        try
-        {
-            filterAndAddSearchResult(getDef().getTokenRef());
-            
-            for (PhotranTokenRef ref : getDef().findAllReferences(true))
-                filterAndAddSearchResult(ref);
-        }
-        catch (Exception e)
-        {
-            String message = e.getMessage();
-            if (message == null) message = e.getClass().getName();
-            return new Status(IStatus.ERROR, Activator.PLUGIN_ID, message);
-        }
-
-        return new Status(IStatus.OK, Activator.PLUGIN_ID, Messages.FortranFindReferencesSearchQuery_SearchSuccessful);
-    }
-
-    private void filterAndAddSearchResult(PhotranTokenRef ref)
-    {
-        if (!searchScope.filterOut(ref, getFile()))
-            FortranSearchQuery.addSearchResultFromTokenRef(ref, (SearchResult)getSearchResult());
-    }
-
-    public static void searchForReference(Definition p_def,
-                                          SearchScope p_searchscope,
-                                          IFile p_file)
-    {
-        NewSearchUI.runQueryInBackground(new FortranFindReferencesSearchQuery(p_def,
-                                                             p_searchscope,
-                                                             p_file));
-    }
-
-    public Definition getDef()
-    {
-        return def;
-    }
-
-    public enum SearchScope
-    {
-        FILE
-        {
-            @Override public boolean filterOut(PhotranTokenRef tokenRef, IFile file)
-            {
-                return !tokenRef.getFile().equals(file);
-            }
-            
-            @Override public String toString()
-            {
-                return Messages.FortranFindReferencesSearchQuery_FileScope;
-            }
-        },
-        
-        PROJECT
-        {
-            @Override public boolean filterOut(PhotranTokenRef tokenRef, IFile file)
-            {
-                return !tokenRef.getFile().getProject().equals(file.getProject());
-            }
-            
-            @Override public String toString()
-            {
-                return Messages.FortranFindReferencesSearchQuery_ProjectScope;
-            }
-        },
-        
-        WORKSPACE
-        {
-            @Override public boolean filterOut(PhotranTokenRef tokenRef, IFile file)
-            {
-                return false;
-            }
-            
-            @Override public String toString()
-            {
-                return Messages.FortranFindReferencesSearchQuery_WorkspaceScope;
-            }
-        };
-
-        public abstract boolean filterOut(PhotranTokenRef tokenRef, IFile file);
-    };
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranSearchPage.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranSearchPage.java
deleted file mode 100644
index 4a3f78c..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranSearchPage.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   QNX - Initial API and implementation
- *   IBM Corporation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.search;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.cdt.core.model.ICElement;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.rephraserengine.core.util.Pair;
-import org.eclipse.rephraserengine.ui.search.OpenSearchPageAction;
-import org.eclipse.rephraserengine.ui.search.SearchPage;
-import org.eclipse.search.ui.ISearchPage;
-import org.eclipse.search.ui.ISearchQuery;
-
-/**
- * A dialog used to run a {@link FortranSearchQuery}.
- * <p>
- * Based on org.eclipse.cdt.internal.ui.search.PDOMSearchPage
- *
- * @author Doug Schaefer
- * @author Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- * @author Jeff Overbey - Moved language-independent parts into Rephraser Engine
- * 
- * @see FortranSearchQuery
- */
-public class FortranSearchPage extends SearchPage implements ISearchPage
-{
-    /**
-     * An action that opens the Fortran Search dialog.  This appears as the Search &gt; Fortran...
-     * menu item.
-     * 
-     * @author Jeff Overbey
-     */
-    public static class OpenAction extends OpenSearchPageAction
-    {
-        @Override protected String searchPageID()
-        {
-            return FortranSearchPage.EXTENSION_ID;
-        }
-    }
-    
-    public static final String EXTENSION_ID = "org.eclipse.photran.ui.vpgSearchPage"; //$NON-NLS-1$
-    
-    // Dialog store id constants
-    @Override protected String PAGE_NAME() { return "VPGSearchPage"; } //$NON-NLS-1$
-
-    @Override protected List<Pair<String, Integer>> searchFor()
-    {
-        List<Pair<String, Integer>> searchFor = new ArrayList<Pair<String, Integer>>(6);
-        searchFor.add(Pair.of(Messages.FortranSearchPage_CommonBlock, FortranSearchQuery.FIND_COMMON_BLOCK));
-        searchFor.add(Pair.of(Messages.FortranSearchPage_Function, FortranSearchQuery.FIND_FUNCTION));
-        searchFor.add(Pair.of(Messages.FortranSearchPage_Subroutine, FortranSearchQuery.FIND_SUBROUTINE));
-        searchFor.add(Pair.of(Messages.FortranSearchPage_Module, FortranSearchQuery.FIND_MODULE));
-        searchFor.add(Pair.of(Messages.FortranSearchPage_Variable, FortranSearchQuery.FIND_VARIABLE));
-        searchFor.add(Pair.of(Messages.FortranSearchPage_Program, FortranSearchQuery.FIND_PROGRAM));
-        return searchFor;
-    }
-
-    @Override protected List<Pair<String, Integer>> limitTo()
-    {
-        List<Pair<String, Integer>> searchFor = new ArrayList<Pair<String, Integer>>(3);
-        searchFor.add(Pair.of(Messages.FortranSearchPage_AllOccurrences, FortranSearchQuery.FIND_ALL_OCCURANCES));
-        searchFor.add(Pair.of(Messages.FortranSearchPage_Declarations, FortranSearchQuery.FIND_DECLARATIONS));
-        searchFor.add(Pair.of(Messages.FortranSearchPage_References, FortranSearchQuery.FIND_REFERENCES));
-        return searchFor;
-    }
-
-    @Override protected IResource getResource(Object obj)
-    {
-        if (obj instanceof ICElement)
-            return ((ICElement)obj).getResource();
-        else
-            return super.getResource(obj);
-    }
-    
-    @Override protected ISearchQuery createSearchQuery(
-        List<IResource> scope,
-        String scopeDesc,
-        String patternDesc,
-        String patternRegex,
-        int searchFlags)
-    {
-        return new FortranSearchQuery(scope, scopeDesc, patternDesc, patternRegex, searchFlags);
-    }
-    
-    @Override protected int defaultSearchFlags()
-    {
-        return FortranSearchQuery.FIND_ALL_TYPES | FortranSearchQuery.FIND_ALL_OCCURANCES;
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranSearchQuery.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranSearchQuery.java
deleted file mode 100644
index 60c949f..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/FortranSearchQuery.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    QNX - Initial API and implementation
- *    Markus Schorn (Wind River Systems)
- *    Ed Swartz (Nokia)
- *    Quillback: Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.search;
-
-import java.util.List;
-import java.util.TreeSet;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.ScopingNode;
-import org.eclipse.photran.internal.core.lexer.FileOrIFile;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.ui.search.SearchMatch;
-import org.eclipse.rephraserengine.ui.search.SearchQuery;
-import org.eclipse.rephraserengine.ui.search.SearchResult;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * An implementation of {@link ISearchQuery} that performs searches using
- * Photran's VPG.  Based on org.eclipse.cdt.internal.ui.search.PDOMSearchQuery
- * from CDT 5.0.
- *
- * @author Doug Schaefer
- * @author Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- * @author Kurt Hendle
- * @author Jeff Overbey
- */
-@SuppressWarnings("restriction")
-public class FortranSearchQuery extends SearchQuery<SearchResult>
-{
-    // First bit after the FINDs in PDOMSearchQuery.
-    public static final int FIND_PROGRAM = 0x10;
-    public static final int FIND_FUNCTION = 0x20;
-    public static final int FIND_VARIABLE = 0x40;
-    public static final int FIND_SUBROUTINE = 0x100;
-    public static final int FIND_COMMON_BLOCK = 0x200;
-    public static final int FIND_MODULE = 0x400;
-    public static final int FIND_ALL_TYPES
-        = FIND_PROGRAM | FIND_FUNCTION | FIND_VARIABLE
-        | FIND_SUBROUTINE | FIND_COMMON_BLOCK | FIND_MODULE;
-
-    public static final int FIND_REFERENCES = 0x01;
-    public static final int FIND_DECLARATIONS = 0x02;
-    public static final int FIND_ALL_OCCURANCES = FIND_REFERENCES | FIND_DECLARATIONS;
-
-    private TreeSet<String> projectsWithRefactoringDisabled = new TreeSet<String>();
-
-    public FortranSearchQuery(
-            List<IResource> scope,
-            String scopeDesc,
-            String patternDescription,
-            String patternRegex,
-            int flags)
-    {
-        super(scope, scopeDesc, patternDescription, patternRegex, flags);
-    }
-    
-    @Override protected SearchResult createInitialSearchResult()
-    {
-        return new SearchResult(this);
-    }
-
-    @Override protected boolean shouldProcess(IResource resource)
-    {
-        return !shouldNotProcess(resource);
-    }
-
-    private boolean shouldNotProcess(IResource resource)
-    {
-        return resource == null
-            || resource instanceof IProject && !PhotranVPG.getInstance().shouldProcessProject((IProject)resource)
-            || resource instanceof IFile && !PhotranVPG.getInstance().shouldProcessFile((IFile)resource);
-    }
-
-    /**
-     * The search proceeds in two phases.
-     * (1) Each file is parsed and searched for declarations matching the given query.  The
-     *     <i>references</i> to those declarations are accumulated in {@link #matchesToAddLater}.
-     *     (Since this is a {@link TreeSet}, the matches will be ordered by filename, then offset.)
-     * (2) The files are iterated through again, and these references are added to the result list.
-     * <p>
-     * The filename/offset/length information in a {@link PhotranTokenRef} <i>cannot</i> be used
-     * as the filename/offset/length of the search result due to preprocessing.  Instead, the
-     * {@link PhotranTokenRef} must be mapped to a {@link Token} in an AST, which can then be
-     * asked to determine what file it <i>physically</i> resides in (e.g., if file A includes file
-     * B, then a TokenRef may indicate that a token is in A, but it originated from the inclusion
-     * of file B, which can only be determined from the Token in the AST, not the TokenRef).
-     */
-    private TreeSet<PhotranTokenRef> matchesToAddLater;
-
-    @Override protected void prepareToSearch(IProgressMonitor monitor)
-    {
-        PhotranVPG.getInstance().ensureVPGIsUpToDate(monitor);
-        this.matchesToAddLater = new TreeSet<PhotranTokenRef>();
-    }
-
-    @Override protected void search(IFile file)
-    {
-        IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(file);
-        if (ast == null) return;
-
-        Token searchToken = new Token(Terminal.T_IDENT, patternRegex);
-        searchToken.setPhysicalFile(new FileOrIFile(file));
-        searchToken.setLogicalFile(file);
-
-        if (ast.getRoot().getEmptyProgram() == null) { // manuallyResolve errs on empty file
-            for (ScopingNode sNode : ast.getRoot().getAllContainedScopes()) {
-                List<PhotranTokenRef> refs = sNode.manuallyResolve(searchToken);
-                for (PhotranTokenRef ref : refs) {
-                    if (ref.getOffset() >= 0 && ref.getLength() >= 0) {
-                        foundDefinition(ref);
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Filters search results based on whether this identifier is a reference or
-     * a declaration
-     * @param ref The reference to the current token
-     */
-    private void foundDefinition(PhotranTokenRef ref)
-    {
-        Token token = ref.findTokenOrReturnNull();
-        if (token == null) return;
-        for (Definition def : token.resolveBinding()) {
-            if (shouldAccept(def)) {
-                if ((searchFlags & FIND_DECLARATIONS) != 0) {
-                    foundMatch(token);
-                }
-                if ((searchFlags & FIND_REFERENCES) != 0) {
-                    for(PhotranTokenRef rref : def.findAllReferences(true)) {
-                        foundMatch(rref);
-                    }
-                }
-            }
-        }
-    }
-    /**
-     * Filters this search based on the current search criteria
-     * @param def The definition for this identifier
-     * @return true if definition matches the current search restrictions
-     *         false otherwise
-     */
-    private boolean shouldAccept(Definition def) {
-        //ignores references in projects which do not have refactoring enabled
-        if(!PhotranVPG.getInstance().doesProjectHaveRefactoringEnabled(def.getTokenRef().getFile())){
-            projectsWithRefactoringDisabled.add(def.getTokenRef().getFile().getProject().getName());
-            return false;
-        }
-
-        if ((searchFlags & FIND_PROGRAM) != 0 &&
-            def.isMainProgram()) {
-            return true;
-        }
-        if ((searchFlags & FIND_FUNCTION) != 0 &&
-            def.getClassification() == Definition.Classification.FUNCTION) {
-            return true;
-        }
-        if ((searchFlags & FIND_VARIABLE) != 0 &&
-            def.isLocalVariable()) {
-            return true;
-        }
-        if ((searchFlags & FIND_SUBROUTINE) != 0 &&
-            def.getClassification() == Definition.Classification.SUBROUTINE) {
-            return true;
-        }
-        if ((searchFlags & FIND_MODULE) != 0 &&
-            def.getClassification() == Definition.Classification.MODULE) {
-            return true;
-        }
-        if ((searchFlags & FIND_COMMON_BLOCK) != 0 &&
-            def.isCommon()) {
-            return true;
-        }
-
-        return false;
-    }
-
-    private void foundMatch(Token token) {
-        addSearchResultFromTokenRef(token.getTokenRef());
-    }
-
-    private void foundMatch(PhotranTokenRef ref) {
-        matchesToAddLater.add(ref);
-    }
-
-    @Override protected int numPasses()
-    {
-        return 2;
-    }
-
-    /**
-     * @param passNum pass number (2, 3, 4, ...)
-     * @param monitor
-     */
-    @Override protected void runAdditionalSearchPass(int passNum, IProgressMonitor pm)
-    {
-        pm.beginTask(Messages.FortranSearchQuery_AddingReferences, matchesToAddLater.size());
-        
-        String lastFilename = null;
-        for (PhotranTokenRef tokenRef : matchesToAddLater) {
-            if (!tokenRef.getFilename().equals(lastFilename)) {
-                lastFilename = tokenRef.getFilename();
-                pm.subTask(Messages.bind(Messages.FortranSearchQuery_AddingReferencesIn, lastFilename.substring(lastFilename.lastIndexOf('/')+1)));
-            }
-            pm.worked(1);
-            
-            addSearchResultFromTokenRef(tokenRef);
-        }
-        
-        pm.done();
-    }
-    
-    private void addSearchResultFromTokenRef(PhotranTokenRef tokenRef) {
-        FortranSearchQuery.addSearchResultFromTokenRef(tokenRef, (SearchResult)getSearchResult());
-    }
-
-    public static void addSearchResultFromTokenRef(PhotranTokenRef tokenRef, SearchResult searchResult) {
-        Token token = tokenRef.findTokenOrReturnNull();
-        if (token != null && token.getPhysicalFile() != null && token.getPhysicalFile().getIFile() != null) {
-            SearchMatch match = new SearchMatch(token.getPhysicalFile().getIFile(),
-                token.getFileOffset(),
-                token.getLength());
-            searchResult.addMatch(match);
-        }
-    }
-    
-    @Override protected void finishSearch()
-    {
-        if (!FortranCorePlugin.inTestingMode()
-            && Workbench.getInstance().getWorkbenchWindowCount() > 0
-            && !projectsWithRefactoringDisabled.isEmpty())
-        {
-            Workbench.getInstance().getDisplay().asyncExec(new Runnable()
-            {
-                public void run()
-                {
-                    StringBuilder projects = new StringBuilder();
-                    for (String project : projectsWithRefactoringDisabled)
-                    {
-                        projects.append(project);
-                        projects.append('\n');
-                    }
-
-                    MessageDialog.openWarning(
-                        Workbench.getInstance().getActiveWorkbenchWindow().getShell(),
-                        Messages.FortranSearchQuery_WarningTitle,
-                        Messages.bind(
-                            Messages.FortranSearchQuery_AnalysisRefactoringDisabled,
-                            projects));
-                }
-            });
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/Messages.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/Messages.java
deleted file mode 100644
index 9e2ba98..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/Messages.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.search;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.ui.search.messages"; //$NON-NLS-1$
-
-    public static String FortranFindReferencesActionDelegate_DefinitionCouldNotBeFound;
-
-    public static String FortranFindReferencesActionDelegate_ErrorTitle;
-
-    public static String FortranFindReferencesActionDelegate_PleaseEnableAnalysisAndRefactoring;
-
-    public static String FortranFindReferencesActionDelegate_PleaseSelectAnIdentifier;
-
-    public static String FortranFindReferencesSearchQuery_FileScope;
-
-    public static String FortranFindReferencesSearchQuery_nMatches;
-
-    public static String FortranFindReferencesSearchQuery_OneMatch;
-
-    public static String FortranFindReferencesSearchQuery_ProjectScope;
-
-    public static String FortranFindReferencesSearchQuery_SearchSuccessful;
-
-    public static String FortranFindReferencesSearchQuery_WorkspaceScope;
-
-    public static String FortranSearchPage_AllOccurrences;
-
-    public static String FortranSearchPage_CommonBlock;
-
-    public static String FortranSearchPage_Declarations;
-
-    public static String FortranSearchPage_Function;
-
-    public static String FortranSearchPage_Module;
-
-    public static String FortranSearchPage_Program;
-
-    public static String FortranSearchPage_References;
-
-    public static String FortranSearchPage_Subroutine;
-
-    public static String FortranSearchPage_Variable;
-
-    public static String FortranSearchQuery_AddingReferences;
-
-    public static String FortranSearchQuery_AddingReferencesIn;
-
-    public static String FortranSearchQuery_AnalysisRefactoringDisabled;
-
-    public static String FortranSearchQuery_WarningTitle;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/messages.properties b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/messages.properties
deleted file mode 100644
index 01e31e6..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/search/messages.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-FortranFindReferencesActionDelegate_DefinitionCouldNotBeFound=No definition could be found for the selected token.
-FortranFindReferencesActionDelegate_ErrorTitle=Error
-FortranFindReferencesActionDelegate_PleaseEnableAnalysisAndRefactoring=Please enable analysis and refactoring in the project properties.
-FortranFindReferencesActionDelegate_PleaseSelectAnIdentifier=Please select an identifier.
-FortranFindReferencesSearchQuery_FileScope=File
-FortranFindReferencesSearchQuery_nMatches={0} matches in {1}
-FortranFindReferencesSearchQuery_OneMatch=1 match in {0}
-FortranFindReferencesSearchQuery_ProjectScope=Project
-FortranFindReferencesSearchQuery_SearchSuccessful=Search Successful
-FortranFindReferencesSearchQuery_WorkspaceScope=Workspace
-FortranSearchPage_AllOccurrences=All occurrences
-FortranSearchPage_CommonBlock=Common block
-FortranSearchPage_Declarations=Declarations
-FortranSearchPage_Function=Function
-FortranSearchPage_Module=Module
-FortranSearchPage_Program=Program
-FortranSearchPage_References=References
-FortranSearchPage_Subroutine=Subroutine
-FortranSearchPage_Variable=Variable
-FortranSearchQuery_AddingReferences=Adding references
-FortranSearchQuery_AddingReferencesIn=Adding references in {0}
-FortranSearchQuery_AnalysisRefactoringDisabled=References in the following projects have been excluded from the search results because Fortran analysis/refactoring is disabled:\n\n{0}\nPlease enable Fortran analysis/refactoring for these projects if you wish for their references to show in search results.
-FortranSearchQuery_WarningTitle=Warning
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/declaration/DeclarationView.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/declaration/DeclarationView.java
deleted file mode 100644
index d7cd439..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/declaration/DeclarationView.java
+++ /dev/null
@@ -1,354 +0,0 @@
-package org.eclipse.photran.internal.ui.views.declaration;
-
-import java.util.HashMap;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.rules.ITokenScanner;
-import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.TokenList;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.properties.SearchPathProperties;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.photran.internal.ui.editor.FortranKeywordRuleBasedScanner;
-import org.eclipse.photran.internal.ui.editor_vpg.DefinitionMap;
-import org.eclipse.photran.internal.ui.editor_vpg.FortranEditorTasks;
-import org.eclipse.photran.internal.ui.editor_vpg.IFortranEditorASTTask;
-import org.eclipse.photran.internal.ui.editor_vpg.IFortranEditorVPGTask;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IPartService;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * Implements Photran's Declaration view
- *
- * @author Jeff Overbey - modified to use MVC pattern, SourceViewer, caret listener, DefinitionMap; based on code by...
- * @author John Goode, Abe Hassan, Sean Kim
- *  Group: Fennel-Garlic
- *  University of Illinois at Urbana-Champaign
- *  CS 427 Fall 2007
- */
-public class DeclarationView extends ViewPart
-    implements ISelectionListener,
-               ISelectionChangedListener,
-               IFortranEditorVPGTask,
-               IFortranEditorASTTask
-{
-    private FortranEditor activeEditor = null;
-    private HashMap<String, ASTExecutableProgramNode> activeAST = new HashMap<String, ASTExecutableProgramNode>();
-    private HashMap<String, TokenList> activeTokenList = new HashMap<String, TokenList>();
-    private HashMap<String, DefinitionMap<String>> activeDefinitions = new HashMap<String, DefinitionMap<String>>();
-
-    private SourceViewer viewer = null;
-    private Document document = new Document();
-
-    private Color LIGHT_YELLOW = new Color(null, new RGB(255, 255, 191));
-
-    /*
-     * The content provider class is responsible for
-     * providing objects to the view. It can wrap
-     * existing objects in adapters or simply return
-     * objects as-is. These objects may be sensitive
-     * to the current input of the view, or ignore
-     * it and always show the same content
-     * (like Task List, for example).
-     */
-
-    /**
-     * This is a callback that will allow us
-     * to create the viewer and initialize it.
-     */
-    @Override public void createPartControl(Composite parent)
-    {
-        this.viewer = createFortranSourceViewer(parent);
-
-        // Add this view as a selection listener to the workbench page
-        getSite().getPage().addSelectionListener(this);
-
-        // Update the selection immediately
-        try
-        {
-            IWorkbenchPage activePage = getSite().getWorkbenchWindow().getActivePage();
-            if (activePage != null)
-                selectionChanged(activePage.getActivePart(),
-                                 activePage.getSelection());
-        }
-        catch (Throwable e) // NullPointerException, etc.
-        {
-            ;
-        }
-    }
-
-    private SourceViewer createFortranSourceViewer(Composite parent)
-    {
-        final SourceViewer viewer = new SourceViewer(parent, null, SWT.V_SCROLL); //TextViewer(parent, SWT.NONE);
-        viewer.configure(new FortranEditor.FortranSourceViewerConfiguration(null)
-        {
-            @Override protected ITokenScanner getTokenScanner()
-            {
-                // Copied from FortranEditor#getTokenScanner
-                return new FortranKeywordRuleBasedScanner(false, viewer);
-            }
-        });
-        viewer.setDocument(document);
-        IDocumentPartitioner partitioner = new FastPartitioner(new RuleBasedPartitionScanner(), FortranEditor.PARTITION_TYPES);
-        partitioner.connect(document);
-        document.setDocumentPartitioner(partitioner);
-
-        viewer.getControl().setBackground(LIGHT_YELLOW);
-        viewer.setEditable(false);
-        viewer.getTextWidget().setFont(JFaceResources.getTextFont());
-
-        return viewer;
-    }
-
-    /**
-     * Update document by displaying the new text
-     */
-    public void update(String str)
-    {
-        if (str.length() > 0)
-            str = trimBlankLines(str);
-        document.set(str);
-        viewer.refresh();
-    }
-
-    private static Pattern blankLine = Pattern.compile("(([ \\t]*[\\r\\n]+)+)[^\\00]*"); //$NON-NLS-1$
-    private String trimBlankLines(String str)
-    {
-        Matcher m = blankLine.matcher(str);
-        while (str.length() > 0 && m.matches())
-        {
-            str = str.substring(m.end(1));
-            m = blankLine.matcher(str);
-        }
-        return str;
-    }
-
-    /**
-     * Passing the focus request to the viewer's control.
-     */
-    @Override public void setFocus()
-    {
-        viewer.getControl().setFocus();
-    }
-
-    /**
-     * ISelectionListener - Callback notifying the view that a new workbench part has been selected.
-     */
-    public synchronized void selectionChanged(IWorkbenchPart part, ISelection selection)
-    {
-        if (part instanceof FortranEditor)
-        {
-            if (activeEditor != part)
-            {
-                // Observe new editor
-                stopObserving(activeEditor);
-                activeEditor = startObserving((FortranEditor)part);
-            }
-            else
-            {
-                // Leave everything as-is
-            }
-        }
-        else
-        {
-            // Observe nothing
-            stopObserving(activeEditor);
-            activeEditor = null;
-        }
-    }
-
-    /**
-     * Registers this view to receive notifications of caret movement in <code>editor</code>
-     *
-     * See http://dev.eclipse.org/mhonarc/newsLists/news.eclipse.platform/msg44602.html
-     */
-    private FortranEditor startObserving(final FortranEditor editor)
-    {
-        if (editor != null)
-        {
-            String declViewEnabledProperty = new SearchPathProperties().getProperty(
-                editor.getIFile(),
-                SearchPathProperties.ENABLE_DECL_VIEW_PROPERTY_NAME);
-            if (declViewEnabledProperty != null && declViewEnabledProperty.equals("true")) //$NON-NLS-1$
-            {
-                addCaretMovementListenerTo(editor);
-                FortranEditorTasks tasks = FortranEditorTasks.instance(editor);
-                tasks.addASTTask(this);
-                tasks.addVPGTask(this);
-
-                ((IPartService)getSite().getService(IPartService.class)).addPartListener(new IPartListener2()
-                {
-                    public void partActivated(IWorkbenchPartReference partRef)
-                    {
-                    }
-
-                    public void partBroughtToTop(IWorkbenchPartReference partRef)
-                    {
-                    }
-
-                    public void partClosed(IWorkbenchPartReference partRef)
-                    {
-                        if (partRef.getPart(false) == editor)
-                        {
-                            FortranEditorTasks tasks = FortranEditorTasks.instance(editor);
-                            tasks.removeASTTask(DeclarationView.this);
-                            tasks.removeVPGTask(DeclarationView.this);
-
-                            IFile ifile = editor.getIFile();
-                            if (ifile != null)
-                            {
-                                String path = ifile.getFullPath().toPortableString();
-                                activeAST.remove(path);
-                                activeDefinitions.remove(path);
-                                activeTokenList.remove(path);
-                            }
-                        }
-                        ((IPartService)getSite().getService(IPartService.class)).removePartListener(this);
-                    }
-
-                    public void partDeactivated(IWorkbenchPartReference partRef)
-                    {
-                    }
-
-                    public void partHidden(IWorkbenchPartReference partRef)
-                    {
-                    }
-
-                    public void partInputChanged(IWorkbenchPartReference partRef)
-                    {
-                    }
-
-                    public void partOpened(IWorkbenchPartReference partRef)
-                    {
-                    }
-
-                    public void partVisible(IWorkbenchPartReference partRef)
-                    {
-                    }
-                });
-
-                tasks.getRunner().runTasks(true);
-                return editor;
-            }
-        }
-
-        return null;
-    }
-
-    private void addCaretMovementListenerTo(FortranEditor editor)
-    {
-        TextViewer sourceViewer = (TextViewer)editor.getSourceViewerx();
-        if (sourceViewer != null)
-            sourceViewer.addPostSelectionChangedListener(this);
-    }
-
-    /**
-     * Unregisters this view to receive notifications of caret movement in <code>editor</code>
-     */
-    private void stopObserving(FortranEditor editor)
-    {
-        update(""); //$NON-NLS-1$
-        if (editor != null)
-            removeCaretMovementListenerFrom(editor);
-    }
-
-    private void removeCaretMovementListenerFrom(FortranEditor editor)
-    {
-        TextViewer sourceViewer = (TextViewer)editor.getSourceViewerx();
-        if (sourceViewer != null)
-            sourceViewer.removePostSelectionChangedListener(this);
-    }
-
-    /**
-     * IFortranEditorVPGTask - Callback run when the VPG is more-or-less up-to-date.
-     * This method is run <i>outside</i> the UI thread.
-     */
-    public void handle(IFile file, IFortranAST ast, DefinitionMap<Definition> defMap)
-    {
-        if (defMap == null) return;
-
-        long start = System.currentTimeMillis();
-
-        DefinitionMap<String> newDefMap = new DefinitionMap<String>(defMap)
-        {
-            @Override protected String map(String qualifiedName, Definition def)
-            {
-                return def.describe();
-            }
-        };
-
-        synchronized (this)
-        {
-            activeDefinitions.put(file.getFullPath().toPortableString(), newDefMap);
-        }
-
-        PhotranVPG.getInstance().debug("        Decl view IEditorVPGTask handler:\t" + (System.currentTimeMillis()-start) + " ms", PhotranVPG.getFilenameForIFile(file)); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-    /**
-     * IFortranEditorASTTask - Callback run when a fresh AST for the file in the editor
-     * is available.  May be newer than the information available in the VPG.
-     * This method is run <i>outside</i> the UI thread.
-     */
-    public synchronized boolean handle(ASTExecutableProgramNode ast, TokenList tokenList, DefinitionMap<Definition> defMap)
-    {
-        if (activeEditor != null)
-        {
-            long start = System.currentTimeMillis();
-            
-            String path = activeEditor.getIFile().getFullPath().toPortableString();
-            activeAST.put(path, ast);
-            activeTokenList.put(path, tokenList);
-            
-            PhotranVPG.getInstance().debug("        Decl view IEditorASTTask handler:\t" + (System.currentTimeMillis()-start) + " ms", null); //$NON-NLS-1$ //$NON-NLS-2$
-        }
-        return true;
-    }
-
-    /**
-     * ISelectionChangedListener - Callback notifying the view that the editor's caret has moved
-     */
-    public synchronized void selectionChanged(SelectionChangedEvent event)
-    {
-        if (activeEditor == null) return;
-        String path = activeEditor.getIFile().getFullPath().toPortableString();
-
-        TokenList tokenList = activeTokenList.get(path);
-        DefinitionMap<String> defMap = activeDefinitions.get(path);
-        if (event.getSelection() instanceof TextSelection && tokenList != null && defMap != null)
-        {
-            String description = defMap.lookup((TextSelection)event.getSelection(), tokenList);
-            update(description == null
-                ? "" //$NON-NLS-1$
-                : description);
-        }
-        else
-        {
-            update(""); //$NON-NLS-1$
-        }
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/CopyMarkedFileAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/CopyMarkedFileAction.java
deleted file mode 100644
index a77fff7..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/CopyMarkedFileAction.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-
-/**
- * This class handles events where the user right-clicks and "Copy"-ies from table
- * 
- * @author Tim Yuvashev
- * @author Esfar Huq, Rui Wang - Modified the asText() method, removing id and marker detail fields
- */
-public class CopyMarkedFileAction extends Action
-{
-    private static final String SEPARATOR = " "; //$NON-NLS-1$
-    
-    private VPGProblemView problemsView = null;
-
-    public CopyMarkedFileAction(VPGProblemView view)
-    {
-        super(Messages.CopyMarkedFileAction_Copy);
-        problemsView = view;
-    }
-    
-    @Override
-    public ImageDescriptor getImageDescriptor()
-    {
-        Image img = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_COPY);
-        return ImageDescriptor.createFromImage(img);
-    }
-    
-    @Override
-    public void run() 
-    {
-        ISelection sel = problemsView.getSite().getSelectionProvider().getSelection();
-        problemsView.getClipboard().setContents(
-            new Object[]   { asText(sel)                },
-            new Transfer[] { TextTransfer.getInstance() });
-        
-    }
-    
-    protected String asText(ISelection sel)
-    {
-        StringBuilder sb = new StringBuilder();
-        for (Object element : ((IStructuredSelection)sel).toList())
-        {
-            if (element instanceof IMarker)
-            {
-                IMarker marker = (IMarker)element;
-                sb.append(asText(marker));
-                sb.append("\n"); //$NON-NLS-1$
-            }
-        }
-        return sb.toString();
-    }
-
-    protected String asText(IMarker marker)
-    {
-        String markerMsg    = Messages.CopyMarkedFileAction_DescriptionLabel + MarkerUtilities.getMessage(marker);
-        String markerRes    = Messages.CopyMarkedFileAction_ResourceLabel + marker.getResource().getName().toString();
-        String markerPath   = Messages.CopyMarkedFileAction_PathLabel + marker.getResource().getProjectRelativePath().toString();
-        String markerLoc    = Messages.CopyMarkedFileAction_LocationLineLabel + String.valueOf(MarkerUtilities.getLineNumber(marker));
-        
-        String result = markerMsg  + SEPARATOR +
-                        markerRes  + SEPARATOR +
-                        markerPath + SEPARATOR +
-                        markerLoc  + SEPARATOR;
-        return result;
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/ErrorWarningFilterAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/ErrorWarningFilterAction.java
deleted file mode 100644
index 865284d..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/ErrorWarningFilterAction.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-
-/**
- * A filter action for the VPG Problems view which only displays markers that have a particular
- * severity.
- * 
- * @author Timofey Yuvashev
- * @author Esfar Huq
- * @author Rui Wang
- * @author Jeff Overbey
- */
-public class ErrorWarningFilterAction extends Action
-{
-    private StructuredViewer viewer;
-    
-    public ErrorWarningFilterAction(StructuredViewer viewer, int severity)
-    {
-        super(getLabel(severity), AS_CHECK_BOX);
-        this.viewer = viewer;
-        setChecked(true);
-        viewer.addFilter(new MarkerSeverityFilter(severity));
-    }
-    
-    private static String getLabel(int severity)
-    {
-        switch (severity)
-        {
-            case IMarker.SEVERITY_ERROR:   return Messages.ErrorWarningFilterAction_Errors;
-            case IMarker.SEVERITY_WARNING: return Messages.ErrorWarningFilterAction_Warnings;
-            default: throw new IllegalStateException();
-        }
-    }
-
-    @Override
-    public void run()
-    {
-        viewer.refresh();
-    }
-
-    private class MarkerSeverityFilter extends ViewerFilter
-    {
-        private int severityToPermit;
-        
-        private MarkerSeverityFilter(int severity)
-        {
-            this.severityToPermit = severity;
-        }
-
-        @Override
-        public boolean select(Viewer viewer, Object parentElem, Object elem)
-        {
-            IMarker marker = (IMarker)elem;
-            
-            if (MarkerUtilities.getSeverity(marker) == severityToPermit)
-                return ErrorWarningFilterAction.this.isChecked(); // Allow only if button pushed
-            else
-                return true; // We're not interested in this marker; let another filter handle it
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/MarkerDispatchAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/MarkerDispatchAction.java
deleted file mode 100644
index 6d2c407..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/MarkerDispatchAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import org.eclipse.cdt.ui.actions.SelectionDispatchAction;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchSite;
-
-/**
- * Abstract superclass for actions that operate on markers in the VPG Problems view.
- * 
- * @author Jeff Overbey
- */
-public abstract class MarkerDispatchAction extends SelectionDispatchAction
-{
-    protected MarkerDispatchAction(IWorkbenchSite site)
-    {
-        super(site);
-    }
-
-    @Override
-    public final void selectionChanged(IStructuredSelection selection)
-    {
-        setEnabled(checkEnabled(selection));
-    }
-
-    /** @return true iff the workbench selection is 1 or more markers */
-    private boolean checkEnabled(IStructuredSelection selection)
-    {
-        if (selection.isEmpty())
-            return false;
-        
-        for (Object element : selection.toList())
-            if (!(element instanceof IMarker))
-                return false;
-
-        return true;
-    }
-
-    @Override
-    public void run(IStructuredSelection selection)
-    {
-        if (!checkEnabled(selection))
-            return;
-
-        for (Object element : selection.toList())
-        {
-            if (element instanceof IMarker)
-            {
-                IMarker marker = (IMarker)element;
-                run(marker);
-            }
-        }
-    }
-
-    protected abstract void run(final IMarker marker);
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/Messages.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/Messages.java
deleted file mode 100644
index 1331bca..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/Messages.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.ui.views.vpgproblems.messages"; //$NON-NLS-1$
-
-    public static String CopyMarkedFileAction_Copy;
-
-    public static String CopyMarkedFileAction_DescriptionLabel;
-
-    public static String CopyMarkedFileAction_LocationLineLabel;
-
-    public static String CopyMarkedFileAction_PathLabel;
-
-    public static String CopyMarkedFileAction_ResourceLabel;
-
-    public static String ErrorWarningFilterAction_Errors;
-
-    public static String ErrorWarningFilterAction_Warnings;
-
-    public static String OpenMarkedFileAction_GoTo;
-
-    public static String OpenMarkedFileAction_GoToTooltip;
-
-    public static String RemoveMarkerAction_Delete;
-
-    public static String RemoveMarkerAction_DeleteTooltip;
-
-    public static String SelectedResourceFilterAction_FilterBySelection;
-
-    public static String SelectedResourceFilterAction_FilterBySelectionTooltip;
-
-    public static String ShowFullMessageAction_EventDetails;
-
-    public static String ShowFullMessageAction_ShowDetailsTooltip;
-
-    public static String VPGProblemContextMenu_Problems;
-
-    public static String VPGProblemLabelProvider_LineN;
-
-    public static String VPGProblemView_DescriptionColumnHeader;
-
-    public static String VPGProblemView_Errors;
-
-    public static String VPGProblemView_nErrors;
-
-    public static String VPGProblemView_nWarnings;
-
-    public static String VPGProblemView_PathColumnHeader;
-
-    public static String VPGProblemView_ResourceColumnHeader;
-
-    public static String VPGProblemView_UpdatingProblemsViewMessage;
-
-    public static String VPGProblemView_Warnings;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/OpenMarkedFileAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/OpenMarkedFileAction.java
deleted file mode 100644
index d979cf0..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/OpenMarkedFileAction.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import org.eclipse.cdt.core.model.CModelException;
-import org.eclipse.cdt.internal.ui.actions.OpenActionUtil;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.texteditor.AbstractTextEditor;
-
-/**
- * Action to open a marker.
- * <p>
- * Based on OpenAction from CDT
- * (org.eclipse.cdt.internal.ui.actions.OpenAction)
- *
- * @author Timofey Yuvashev
- */
-@SuppressWarnings("restriction")
-public class OpenMarkedFileAction extends MarkerDispatchAction
-{
-    public OpenMarkedFileAction(IWorkbenchSite site)
-    {
-        super(site);
-        setText(Messages.OpenMarkedFileAction_GoTo);
-        setToolTipText(Messages.OpenMarkedFileAction_GoToTooltip);
-    }
-
-    @SuppressWarnings("deprecation")
-    @Override public ImageDescriptor getImageDescriptor()
-    {
-        Image img = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_FORWARD_HOVER);
-        return ImageDescriptor.createFromImage(img);
-    }
-
-    @Override public void run(IMarker marker)
-    {
-        IWorkspaceRoot r = ResourcesPlugin.getWorkspace().getRoot();
-
-        //TODO: Currently, trying to get the starting and ending
-        // positions of the marker returns -1. Probably need to fix it
-        // later, so that we can display the exact location of marker
-        // in the file.
-
-        int start = marker.getAttribute(IMarker.CHAR_START, -1);
-        int end = marker.getAttribute(IMarker.CHAR_END, -1);
-
-        IPath path = marker.getResource().getFullPath();
-        IFile fileToOpen = r.getFile(path);
-        try
-        {
-            OpenActionUtil.open(fileToOpen, true);
-            IEditorPart editor =
-                Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
-            AbstractTextEditor textEditor = null;
-            if(editor instanceof AbstractTextEditor)
-                textEditor = (AbstractTextEditor)editor;
-            if(textEditor != null)
-                textEditor.selectAndReveal(start, end-start);
-
-        }
-        catch (PartInitException e)
-        {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-        catch (CModelException e)
-        {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/RemoveMarkerAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/RemoveMarkerAction.java
deleted file mode 100644
index 3be403b..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/RemoveMarkerAction.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.photran.internal.ui.vpg.Activator;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Action to remove a marker.
- * 
- * @author Timofey Yuvashev
- */
-public class RemoveMarkerAction extends MarkerDispatchAction
-{
-    public RemoveMarkerAction(IWorkbenchSite site)
-    {
-        super(site);
-        setText(Messages.RemoveMarkerAction_Delete);
-        setToolTipText(Messages.RemoveMarkerAction_DeleteTooltip);
-    }
-    
-    public RemoveMarkerAction(IWorkbenchSite site, String text, String toolTipText)
-    {
-        super(site);
-        setText(text);
-        setToolTipText(toolTipText);
-    }
-    
-    @Override public ImageDescriptor getImageDescriptor()
-    {
-        Image img = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE);
-        return ImageDescriptor.createFromImage(img);
-    }
-    
-    @Override protected void run(final IMarker marker)
-    {
-        //FIXME: We should figure out a way to delete marker(s)
-        // from the log. Should we clear them out for the whole 
-        // resource, or just delete one(s) selected? Should user
-        // be able to delete markers that are tied to a particular
-        // resource, or only non-resource specific ones?
-        
-        //PhotranVPG.getInstance().log.clearEntriesFor(marker.getResource().getFullPath());
-        try
-        {
-            marker.delete();
-        }
-        catch (CoreException e)
-        {
-            Activator.log(e);
-            e.printStackTrace();
-        }
-    }
-
-    /*protected void deleteMarkers(IMarker[] markers)
-    {
-        try
-        {
-            ResourcesPlugin.getWorkspace().deleteMarkers(markers);
-        }
-        catch (CoreException e)
-        {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-    }*/
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/SelectedResourceFilterAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/SelectedResourceFilterAction.java
deleted file mode 100644
index 07489ee..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/SelectedResourceFilterAction.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.rephraserengine.ui.WorkbenchSelectionInfo;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * A filter action for the VPG Problems view which only displays markers on files that are inside
- * the resource(s) that are currently selected in the workbench.
- * <p>
- * If no resources are selected but the active editor is editing a file in the workspace, it will
- * show markers on that file.
- * 
- * @author Timofey Yuvashev
- * @author Esfar Huq
- * @author Rui Wang
- * @author Jeff Overbey
- */
-public class SelectedResourceFilterAction extends Action implements ISelectionListener
-{
-    private VPGProblemView vpgView;
-    
-    public SelectedResourceFilterAction(VPGProblemView vpgView)
-    {
-        super(Messages.SelectedResourceFilterAction_FilterBySelection, AS_CHECK_BOX);
-        
-        this.vpgView = vpgView;
-        
-        setToolTipText(Messages.SelectedResourceFilterAction_FilterBySelectionTooltip);
-        setChecked(false);
-        
-        vpgView.getTableViewer().addFilter(new MarkerResourceFilter());
-        
-        vpgView.getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(this);
-    }
-
-    void dispose()
-    {
-        vpgView.getSite().getWorkbenchWindow().getSelectionService().removeSelectionListener(this);
-    }
-
-    @Override public void run()
-    {
-        vpgView.setErrorWarningFilterButtonText();
-        refreshTableViewer();
-    }
-    
-    private void refreshTableViewer()
-    {
-        vpgView.getTableViewer().refresh();
-    }
-
-    private class MarkerResourceFilter extends ViewerFilter
-    {
-        @Override
-        public boolean select(Viewer viewer, Object parentElem, Object elem)
-        {
-            if (!SelectedResourceFilterAction.this.isChecked()) return true;
-            
-            IMarker marker = (IMarker)elem;
-            IPath markerPath = marker.getResource().getFullPath();
-            
-            for (IResource res : getSelectedResources())
-                if (res.getFullPath().isPrefixOf(markerPath))
-                    return true;
-
-            return false;
-        }
-
-        private List<? extends IResource> getSelectedResources()
-        {
-            WorkbenchSelectionInfo selectionInfo =
-                new WorkbenchSelectionInfo(vpgView.getSite().getWorkbenchWindow());
-
-            List<? extends IResource> selectedResources = selectionInfo.getSelectedResources();
-
-            if (selectedResources.isEmpty() && selectionInfo.editingAnIFile())
-                selectedResources = Collections.singletonList(selectionInfo.getFileInEditor());
-
-            return selectedResources;
-        }
-    }
-
-    // ISelectionListener Implementation //////////////////////////////////////////////////////////
-
-    /**
-     * Updates the view when the workbench selection changes. This will refresh the markers that are
-     * displayed if the user has selected different resources.
-     */
-    public void selectionChanged(IWorkbenchPart sourcepart, ISelection selection)
-    {
-        if (!(sourcepart instanceof VPGProblemView))
-            refreshTableViewer();
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/ShowFullMessageAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/ShowFullMessageAction.java
deleted file mode 100644
index 7b6eb31..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/ShowFullMessageAction.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-
-/**
- * Action to display the entire message for a marker in a separate dialog.
- *
- * @author Timofey Yuvashev
- * @author Esfar Huq
- * @author Rui Wang
- * @author Jeff Overbey
- */
-/* Esfar/Rui:
- *   Modified the method run()
- *       1) Added title bar to "Details" dialog 
- *       2) "Details" dialog wraps
- *       3) Focus is shifted to "Close" key, so that dialog can be exited by hitting enter key
- * Jeff - Converted to use Dialog instead of Shell
- */
-public class ShowFullMessageAction extends MarkerDispatchAction
-{
-    public ShowFullMessageAction(IWorkbenchSite site)
-    {
-        super(site);
-        setText(Messages.ShowFullMessageAction_EventDetails);
-        setToolTipText(Messages.ShowFullMessageAction_ShowDetailsTooltip);
-    }
-
-    public ShowFullMessageAction(IWorkbenchSite site, String text, String toolTipText)
-    {
-        super(site);
-        setText(text);
-        setToolTipText(toolTipText);
-    }
-
-    @Override public ImageDescriptor getImageDescriptor()
-    {
-        Image img = PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-        return ImageDescriptor.createFromImage(img);
-    }
-
-    @Override protected void run(final IMarker marker)
-    {
-        new DetailsDialog(getSite().getShell(), marker).open();
-    }
-
-    private static final class DetailsDialog extends Dialog
-    {
-        private final IMarker marker;
-
-        private DetailsDialog(Shell parentShell, IMarker marker)
-        {
-            super(parentShell);
-            this.marker = marker;
-        }
-
-        @Override
-        protected void configureShell(Shell shell)
-        {
-            super.configureShell(shell);
-            shell.setText(Messages.ShowFullMessageAction_EventDetails);
-            shell.setSize(500, 300);
-        }
-
-        @Override
-        protected Control createDialogArea(Composite parent)
-        {
-            Composite dialogArea = (Composite)super.createDialogArea(parent);
-
-            Text message = new Text(
-                dialogArea,
-                SWT.MULTI | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY);
-            message.setText(MarkerUtilities.getMessage(marker));
-            message.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-            dialogArea.layout();
-            return dialogArea;
-        }
-
-        @Override
-        protected void createButtonsForButtonBar(Composite parent)
-        {
-            Button close = createButton(parent,
-                                        IDialogConstants.CLOSE_ID,
-                                        IDialogConstants.CLOSE_LABEL,
-                                        true);
-            close.addSelectionListener(new SelectionListener()
-            {
-                public void widgetSelected(SelectionEvent e)        { close(); }
-                public void widgetDefaultSelected(SelectionEvent e) { close(); }
-            });
-            close.setFocus();
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/TableSorter.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/TableSorter.java
deleted file mode 100644
index 722a166..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/TableSorter.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.photran.internal.ui.views.vpgproblems.VPGProblemView.VPGViewColumn;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-
-/**
- * Sorter for the VPG Problems view.
- * <p>
- * Based on Eclipse JFace TableView Tutorial; thanks to Lars Vogel
- * for posting the tutorial
- * (http://www.vogella.de/articles/EclipseJFaceTable/aritcle.html)
- *
- * @author Timofey Yuvashev
- * 
- * @author Esfar Huq
- * @author Rui Wang
- * 
- * Fixed the method compare() by removing some outdated cases in the switch statement
- */
-public class TableSorter extends ViewerSorter
-{
-    private int columnIndex;
-    private boolean ascending = true;
-
-    public TableSorter()
-    {
-        this.columnIndex = 0;
-        this.ascending = true;
-    }
-
-    /**
-     * Invoked when the user clicks on a column header.  Responds by changing the sort order.
-     */
-    public void setColumn(int column)
-    {
-        if (column == this.columnIndex)
-            toggleSortOrder();
-        else
-            changeSortColumnTo(column);
-    }
-
-    private void toggleSortOrder()
-    {
-        this.ascending = !this.ascending;
-    }
-
-    private void changeSortColumnTo(int column)
-    {
-        this.columnIndex = column;
-        this.ascending = true;
-    }
-
-    /*
-     * Callback invoked to compare table items for sorting.
-     */
-    @Override
-    public int compare(Viewer viewer, Object e1, Object e2)
-    {
-        IMarker m1 = (IMarker)e1;
-        IMarker m2 = (IMarker)e2;
-        return compare(m1, m2);
-    }
-
-    private int compare(IMarker m1, IMarker m2)
-    {
-        if (this.ascending)
-            return compareAscending(m1, m2);
-        else
-            return compareDescending(m1, m2);
-    }
-
-    private int compareAscending(IMarker m1, IMarker m2)
-    {
-        switch (VPGViewColumn.values()[this.columnIndex])
-        {
-            case DESCRIPTION:
-            {
-                String msg1 = MarkerUtilities.getMessage(m1);
-                String msg2 = MarkerUtilities.getMessage(m2);
-                return msg1.compareTo(msg2);
-            }
-
-            case RESOURCE:
-            {
-                String resource1 = m1.getResource().getName().toString();
-                String resource2 = m2.getResource().getName().toString();
-                return resource1.compareTo(resource2);
-            }
-
-            case PATH:
-            {
-                String path1 = m1.getResource().getProjectRelativePath().toString();
-                String path2 = m2.getResource().getProjectRelativePath().toString();
-                return path1.compareTo(path2);
-            }
-            
-            default: throw new IllegalStateException();
-        }
-    }
-
-    private int compareDescending(IMarker m1, IMarker m2)
-    {
-        return -compareAscending(m1, m2);
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemContentProvider.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemContentProvider.java
deleted file mode 100644
index e42c06b..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemContentProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Content provider for the VPG Problems View.
- * <p>
- * Based on samples provided in Java DeveloperÕs Guide to Eclipse,
- * Chapter 18 (http://www.jdg2e.com/ch18.views/doc/index.htm);
- * © Copyright International Business Machines Corporation, 2003, 2004, 2006.
- * All Rights Reserved.
- * Code or samples provided therein are provided without warranty of any kind.
- *
- * @author Timofey Yuvashev
- */
-public class VPGProblemContentProvider implements IStructuredContentProvider
-{
-    private StructuredViewer viewer = null;
-
-    private List<IMarker> input = null;
-
-    @SuppressWarnings("unchecked")
-    public Object[] getElements(Object element)
-    {
-        List<IMarker> markers = (List<IMarker>)(element);
-        return markers.toArray();
-    }
-
-    public void dispose()
-    {
-        if (this.input != null) input = null;
-    }
-
-    @SuppressWarnings("unchecked")
-    public void inputChanged(Viewer v, Object oldInput, Object newInput)
-    {
-        if (this.viewer == null) this.viewer = (StructuredViewer)v;
-
-        if (this.input == null && newInput != null) this.input = (List<IMarker>)newInput;
-
-        if (newInput == null && input != null) input = null;
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemContextMenu.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemContextMenu.java
deleted file mode 100644
index 04bfda2..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemContextMenu.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import org.eclipse.cdt.ui.actions.SelectionDispatchAction;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.actions.ActionFactory;
-
-/**
- * Sets up the popup menu for the VPG Problems view
- * 
- * @author Timofey Yuvashev
- */
-public class VPGProblemContextMenu extends MenuManager
-{
-    public VPGProblemContextMenu(IViewSite site)
-    {
-        super(Messages.VPGProblemContextMenu_Problems);
-        
-        OpenMarkedFileAction openAct = new OpenMarkedFileAction(site);
-        add(openAct);
-        
-        CopyMarkedFileAction copyAct = new CopyMarkedFileAction((VPGProblemView)site.getPart());
-        add(copyAct);
-        
-       /* RemoveMarkerAction remAct = new RemoveMarkerAction(site);
-        add(remAct);*/
-        
-        add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-        
-        ShowFullMessageAction showAct = new ShowFullMessageAction(site);
-        add(showAct);
-        
-        ISelectionProvider provider = site.getSelectionProvider();
-        ISelection sel = provider.getSelection();
-        
-        registerAction(showAct, provider, sel);
-        registerAction(openAct, provider, sel);
-        //registerAction(remAct,  provider, sel);
-        
-        site.getActionBars().setGlobalActionHandler(ActionFactory.COPY.getId(), copyAct);
-    }
-    
-    private void registerAction(SelectionDispatchAction action,
-                                ISelectionProvider provider,
-                                ISelection sel)
-    {
-        action.update(sel);
-        provider.addSelectionChangedListener(action);
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemLabelProvider.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemLabelProvider.java
deleted file mode 100644
index 0ad8e08..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemLabelProvider.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import org.eclipse.cdt.internal.ui.CPluginImages;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.photran.internal.ui.views.vpgproblems.VPGProblemView.VPGViewColumn;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-
-/**
- * Label provider for the VPG Problems view.
- * <p>
- * Based on samples provided in Java DeveloperÕs Guide to Eclipse,
- * Chapter 18 (http://www.jdg2e.com/ch18.views/doc/index.htm);
- * © Copyright International Business Machines Corporation, 2003, 2004, 2006.
- * All Rights Reserved.
- * Code or samples provided therein are provided without warranty of any kind.
- *
- * @author Timofey Yuvashev
- */
-@SuppressWarnings("restriction")
-public class VPGProblemLabelProvider implements ITableLabelProvider
-{
-    public Image getColumnImage(Object obj, int colIndex)
-    {
-        // Only put images in the first column
-        if (colIndex != VPGViewColumn.DESCRIPTION.ordinal()) return null;
-
-        switch (MarkerUtilities.getSeverity((IMarker)obj))
-        {
-            case IMarker.SEVERITY_INFO:
-                return CPluginImages.get(CPluginImages.IMG_OBJS_REFACTORING_INFO);
-            case IMarker.SEVERITY_WARNING:
-                return CPluginImages.get(CPluginImages.IMG_OBJS_REFACTORING_WARNING);
-            case IMarker.SEVERITY_ERROR:
-                return CPluginImages.get(CPluginImages.IMG_OBJS_REFACTORING_ERROR);
-            default:
-                return null;
-        }
-    }
-
-    public String getColumnText(Object item, int index)
-    {
-        if(item instanceof IMarker)
-        {
-            IMarker marker = (IMarker)item;
-            switch (VPGViewColumn.values()[index])
-            {
-                case DESCRIPTION: return MarkerUtilities.getMessage(marker);
-                case RESOURCE:    return marker.getResource().getName().toString();
-                case PATH:        return marker.getResource().getProjectRelativePath().toString();
-                //case 3: return getLineWithNumber(m);
-                //case 4: return MarkerUtilities.getMarkerType(m);
-            }
-        }
-        return null;
-    }
-
-//    private static String getLineWithNumber(IMarker marker)
-//    {
-//        int lineNum = MarkerUtilities.getLineNumber(marker);
-//        if(lineNum >= 0)
-//            return Messages.bind(Messages.VPGProblemLabelProvider_LineN, lineNum);
-//        return ""; //$NON-NLS-1$
-//    }
-
-    public boolean isLabelProperty(Object arg0, String arg1) { return false; }
-    public void addListener(ILabelProviderListener arg0) {}
-    public void removeListener(ILabelProviderListener arg0) {}
-    public void dispose() {}
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemView.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemView.java
deleted file mode 100644
index 4f5a2ac..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/VPGProblemView.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.photran.internal.ui.views.vpgproblems;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerColumn;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.vpg.VPGLog;
-import org.eclipse.rephraserengine.core.vpg.eclipse.VPGSchedulingRule;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-
-/**
- * Fortran Analysis/Refactoring Problems view, A.K.A. VPG Problems view.
- * <p>
- * Based on Eclipse JFace TableView Tutorial; thanks to Lars Vogel
- * for posting the tutorial
- * (http://www.vogella.de/articles/EclipseJFaceTable/aritcle.html)
- * <p>
- * Based on samples provided in The Java DeveloperÕs Guide to Eclipse,
- * Chapter 18 (http://www.jdg2e.com/ch18.views/doc/index.htm and
- * http://www.jdg2e.com/jdg2e_CD_for_eclipse321/plug-in_development/examples/com.ibm.jdg2e.view.marker/src-marker/com/ibm/jdg2e/view/marker/MarkerView.java)
- * © Copyright International Business Machines Corporation, 2003, 2004, 2006.
- * All Rights Reserved.
- * Code or samples provided therein are provided without warranty of any kind.
- *
- * @author Timofey Yuvashev
- * @author Esfar Huq, Rui Wang - Replaced setSorter() with setComparator(); added add'l filtering
- * @author Jeff Overbey - Refactoring/cleanup
- */
-
-public class VPGProblemView extends ViewPart implements VPGLog.ILogListener
-{
-    static enum VPGViewColumn
-    {
-        // Column   Label                                            Width (in pixels)
-        DESCRIPTION(Messages.VPGProblemView_DescriptionColumnHeader, 44),
-        RESOURCE   (Messages.VPGProblemView_ResourceColumnHeader,    10),
-        PATH       (Messages.VPGProblemView_PathColumnHeader,        20);
-        
-        public final String name;
-        public final int width;
-        
-        private VPGViewColumn(String name, int widthInPixels)
-        {
-            this.name = name;
-            this.width = widthInPixels;
-        }
-    }
-    
-    private static RecreateMarkers markersTask = null;
-    
-    private TableViewer tableViewer          = null;
-    private TableSorter tableSorter          = null;
-    private Clipboard clipboard              = null;
-    private CopyMarkedFileAction copyAction  = null;
-    private OpenMarkedFileAction openAction  = null;
-    private ShowFullMessageAction showAction = null;
-
-    private ErrorWarningFilterAction warningsFilterAction = null;
-    private ErrorWarningFilterAction errorsFilterAction   = null;
-    private SelectedResourceFilterAction selectionFilterAction      = null;
-    
-    private boolean disposed = false;
-
-    public int[] markerCount = {0,0,0};  //Number of Warnings and Errors respectively
-    
-    @Override
-    public void createPartControl(Composite parent)
-    {
-        GridLayout overallLayout = new GridLayout(1,false);
-        parent.setLayout(overallLayout);
-
-        createTableViewer(parent);
-        createTableColumns(tableViewer);
-        setTableGridData();
-
-        getSite().setSelectionProvider(tableViewer);
-
-        MenuManager manager = createMenuManager();
-
-        getSite().registerContextMenu(manager, tableViewer);
-
-        tableViewer.setContentProvider(new VPGProblemContentProvider());
-        tableViewer.setLabelProvider(new VPGProblemLabelProvider());
-
-        PhotranVPG.getInstance().getLog().addLogListener(this);
-
-        createToolbarButtons();
-        initEvents();
-    }
-    
-    private void createTableViewer(Composite parent)
-    {
-        tableViewer = new TableViewer(
-            parent,
-            SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-
-        tableSorter = new TableSorter();
-        tableViewer.setComparator(this.tableSorter);
-    }
-
-    private MenuManager createMenuManager()
-    {
-        MenuManager manager = new VPGProblemContextMenu(getViewSite());
-        tableViewer.getTable().setMenu(manager.createContextMenu(tableViewer.getTable()));
-        return manager;
-    }
-    
-    public void onLogChange()
-    {
-        synchronized (VPGProblemView.this)
-        {
-            // If non-null, this task is already running; don't start a 2nd instance
-            if (markersTask != null) return;
-
-            markersTask = new RecreateMarkers();
-            markersTask.setRule(
-                MultiRule.combine(
-                    VPGSchedulingRule.getInstance(),
-                    ResourcesPlugin.getWorkspace().getRoot()));
-            markersTask.schedule();
-        }
-    }
-    
-    private class RecreateMarkers extends WorkspaceJob
-    {
-        private RecreateMarkers()
-        {
-            super(Messages.VPGProblemView_UpdatingProblemsViewMessage);
-        }
-        
-        @Override public IStatus runInWorkspace(final IProgressMonitor monitor)
-        {
-            getDisplay().syncExec(new Runnable()
-            {
-                public void run()
-                {
-                    if (!disposed)
-                    {
-                        final List<IMarker> markers = PhotranVPG.getProvider().recomputeErrorLogMarkers();
-                        
-                        Table t = tableViewer.getTable();
-                        
-                        t.removeAll();
-                        t.update();
-                    
-                        tableViewer.setInput(markers);
-                        countMarkers(markers);
-                       
-                        setErrorWarningFilterButtonText();
-                    }
-                }
-            });
-
-            synchronized (VPGProblemView.this)
-            {
-                markersTask = null;
-            }
-            
-            return Status.OK_STATUS;
-        }
-    }
-
-    void setErrorWarningFilterButtonText()
-    {
-        if (warningsFilterAction != null && errorsFilterAction != null)
-        {
-            //only print out counts when looking at an unfiltered view
-            if(!selectionFilterAction.isChecked())
-            {
-                warningsFilterAction.setText(
-                    Messages.bind(
-                        Messages.VPGProblemView_nWarnings,
-                        markerCount[IMarker.SEVERITY_WARNING]));
-                errorsFilterAction.setText(
-                    Messages.bind(
-                        Messages.VPGProblemView_nErrors,
-                        markerCount[IMarker.SEVERITY_ERROR]));
-            }
-            else //FILTERED
-            {
-                warningsFilterAction.setText(Messages.VPGProblemView_Warnings);
-                errorsFilterAction.setText(Messages.VPGProblemView_Errors);
-            }
-        }
-    }
-    
-    TableViewer getTableViewer()
-    {
-        return tableViewer;
-    }
-    
-    private void setTableGridData()
-    {
-        GridData tableData = new GridData();
-        tableData.grabExcessHorizontalSpace = true;
-        tableData.grabExcessVerticalSpace = true;
-        tableData.horizontalAlignment = GridData.FILL;
-        tableData.verticalAlignment = GridData.FILL;
-        tableViewer.getTable().setLayoutData(tableData);
-    }
-
-    private void resetMarkerCount()
-    {
-        for(int i = 0; i < markerCount.length; ++i)
-        {
-            markerCount[i] = 0;
-        }
-    }
-    
-    private void countMarkers(List<IMarker> markers)
-    {
-        //Get all the markers in the workspace
-        //IMarker[] markers = ResourcesPlugin.getWorkspace().getRoot().findMarkers(null, true, IResource.DEPTH_INFINITE);
-        resetMarkerCount();      
-     
-        for(IMarker marker : markers)
-        {
-            int sev = MarkerUtilities.getSeverity(marker);
-
-            if(sev == IMarker.SEVERITY_ERROR || sev == IMarker.SEVERITY_WARNING)
-                markerCount[sev]++;
-        }
-    }
-
-    public void createActions()
-    {
-        copyAction = new CopyMarkedFileAction(this);
-        openAction = new OpenMarkedFileAction(getSite());
-        showAction = new ShowFullMessageAction(getSite());
-
-        warningsFilterAction = new ErrorWarningFilterAction(tableViewer, IMarker.SEVERITY_WARNING);
-
-        errorsFilterAction = new ErrorWarningFilterAction(tableViewer, IMarker.SEVERITY_ERROR);
-
-        selectionFilterAction = new SelectedResourceFilterAction(this);
-    }
-
-    private void addActionsToToolbar()
-    {
-        IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
-
-        toolBarManager.add(errorsFilterAction);
-        toolBarManager.add(warningsFilterAction);
-        toolBarManager.add(selectionFilterAction);
-        toolBarManager.add(openAction);
-        toolBarManager.add(copyAction);
-        toolBarManager.add(new Separator());
-        toolBarManager.add(showAction);
-    }
-
-    private void addTableViewerSelectionChangeListener()
-    {
-        tableViewer.addSelectionChangedListener(new ISelectionChangedListener()
-        {
-            public void selectionChanged(SelectionChangedEvent e)
-            {
-                boolean isEnabled = !e.getSelection().isEmpty();
-                openAction.setEnabled(isEnabled);
-                copyAction.setEnabled(isEnabled);
-                showAction.setEnabled(isEnabled);
-            }
-        });
-    }
-
-    private void createToolbarButtons()
-    {
-        createActions();
-
-        openAction.setEnabled(false);
-        copyAction.setEnabled(false);
-        showAction.setEnabled(false);
-        
-        addActionsToToolbar();
-        addTableViewerSelectionChangeListener();
-    }
-
-
-    /*
-     * Creates layout for a table. Simply adds ColumnData to each column in the table,
-     * setting that column's width to pre-defined value
-     */
-    private TableLayout createTableLayout()
-    {
-        TableLayout layout = new TableLayout();
-        for (VPGViewColumn col : VPGViewColumn.values())
-            layout.addColumnData(new ColumnWeightData(col.width, true));
-        return layout;
-    }
-
-    /*
-     * Creates columns for the table contained in TableViewer.
-     * Assigns them name, size, alignment and adds a selectionListener
-     * that is responsible for sorting that column, if it is clicked on
-     */
-    private void createTableColumns(final TableViewer viewer)
-    {
-        Table table = viewer.getTable();
-        TableLayout layout = createTableLayout();
-        table.setLayout(layout);
-
-        for (final VPGViewColumn vpgCol : VPGViewColumn.values())
-        {
-            final TableColumn viewerCol = new TableViewerColumn(viewer, SWT.NONE).getColumn();
-
-            viewerCol.setText(vpgCol.name);
-            viewerCol.setToolTipText(vpgCol.name);
-            viewerCol.setAlignment(SWT.LEFT);
-            viewerCol.setResizable(true);
-            viewerCol.setMoveable(true);
-
-            viewerCol.addSelectionListener(new ColumnSelectionListener(viewerCol, vpgCol, viewer));
-        }
-
-        table.setLinesVisible(true);
-        table.setHeaderVisible(true);
-    }
-
-    private final class ColumnSelectionListener extends SelectionAdapter
-    {
-        private final TableColumn column;
-        private final VPGViewColumn col;
-        private final TableViewer viewer;
-
-        private ColumnSelectionListener(TableColumn column, VPGViewColumn col, TableViewer viewer)
-        {
-            this.column = column;
-            this.col = col;
-            this.viewer = viewer;
-        }
-
-        @Override public void widgetSelected(SelectionEvent e)
-        {
-            tableSorter.setColumn(col.ordinal());
-            int dir = viewer.getTable().getSortDirection();
-            if(viewer.getTable().getSortColumn() == column)
-                dir = dir == SWT.UP ? SWT.DOWN : SWT.UP;
-            else
-                dir = SWT.DOWN;
-            viewer.getTable().setSortDirection(dir);
-            viewer.getTable().setSortColumn(column);
-            viewer.refresh();
-        }
-    }
-
-    /*
-     * Initializes event Listeners and Actions for the Table
-     */
-    private void initEvents()
-    {
-        tableViewer.getTable().addMouseListener(new DoubleClickListener());
-    }
-
-    private final class DoubleClickListener extends MouseAdapter
-    {
-        @Override public void mouseDoubleClick(MouseEvent dblClick)
-        {
-            Table t = (Table)dblClick.getSource();
-            for (TableItem item : t.getSelection())
-                if (item.getData() instanceof IMarker)
-                    openMarker((IMarker)item.getData());
-        }
-
-        private void openMarker(IMarker marker)
-        {
-            if (marker.getResource() != null)
-                new OpenMarkedFileAction(getViewSite()).run(marker);
-        }
-    }
-
-    public Clipboard getClipboard()
-    {
-        if (clipboard == null)
-            clipboard = new Clipboard(getDisplay());
-        return clipboard;
-    }
-    
-    private Display getDisplay()
-    {
-        return getSite().getWorkbenchWindow().getWorkbench().getDisplay();
-    }
-
-    @Override
-    public void setFocus()
-    {
-        tableViewer.getControl().setFocus();
-    }
-
-    @Override
-    public void dispose()
-    {
-        if (clipboard != null) clipboard.dispose();
-        if (selectionFilterAction != null) selectionFilterAction.dispose();
-        disposed = true;
-        super.dispose();
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/messages.properties b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/messages.properties
deleted file mode 100644
index 6ce6c79..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/views/vpgproblems/messages.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-CopyMarkedFileAction_Copy=Copy
-CopyMarkedFileAction_DescriptionLabel=Description: 
-CopyMarkedFileAction_LocationLineLabel=Location: line 
-CopyMarkedFileAction_PathLabel=Path: 
-CopyMarkedFileAction_ResourceLabel=Resource: 
-ErrorWarningFilterAction_Errors=Errors
-ErrorWarningFilterAction_Warnings=Warnings
-OpenMarkedFileAction_GoTo=Go to
-OpenMarkedFileAction_GoToTooltip=Go to the line in file
-RemoveMarkerAction_Delete=Delete
-RemoveMarkerAction_DeleteTooltip=Delete selected marker(s) from list
-SelectedResourceFilterAction_FilterBySelection=Filter by Selection
-SelectedResourceFilterAction_FilterBySelectionTooltip=Displays only problems that occur in the files/projects that are currently selected (e.g., in the Fortran Projects view or in the active editor)
-ShowFullMessageAction_EventDetails=Event Details
-ShowFullMessageAction_ShowDetailsTooltip=Show the entire message for selected event(s)
-VPGProblemContextMenu_Problems=Problems
-VPGProblemLabelProvider_LineN=line {0}
-VPGProblemView_DescriptionColumnHeader=Description
-VPGProblemView_Errors=Errors
-VPGProblemView_nErrors={0} Errors
-VPGProblemView_nWarnings={0} Warnings
-VPGProblemView_PathColumnHeader=Path
-VPGProblemView_ResourceColumnHeader=Resource
-VPGProblemView_UpdatingProblemsViewMessage=Updating Fortran Analysis/Refactoring Problems view
-VPGProblemView_Warnings=Warnings
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/Activator.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/Activator.java
deleted file mode 100644
index 04fcff2..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/Activator.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.photran.internal.ui.vpg;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.photran.ui.vpg"; //$NON-NLS-1$
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	@Override public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	@Override public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-    public static void log(Throwable e)
-    {
-        log("Error", e); //$NON-NLS-1$
-    }
-
-    public static void log(String message, Throwable e)
-    {
-        log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, message, e));
-    }
-
-    public static void log(IStatus status)
-    {
-        getDefault().getLog().log(status);
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/PhotranResourceFilter.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/PhotranResourceFilter.java
deleted file mode 100644
index 6b534b7..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/PhotranResourceFilter.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.vpg;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranResourceRefactoring;
-import org.eclipse.photran.internal.core.sourceform.SourceForm;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.resources.IResourceFilter;
-
-/**
- * A resource filter that only matches accessible Fortran source files and Fortran/C/C++ projects
- * that have refactoring enabled in their project properties. See {@link IResourceFilter}.
- * <p>
- * Currently, this filter excludes fixed form source files, since Photran does not (yet) support
- * refactoring fixed form code.
- * 
- * @author Jeff Overbey
- * 
- * @see IResourceFilter
- */
-public class PhotranResourceFilter implements IResourceFilter
-{
-    public boolean shouldProcess(IResource resource)
-    {
-        if (resource instanceof IProject)
-            return PhotranVPG.getInstance().shouldProcessProject((IProject)resource);
-        else if (resource instanceof IFile)
-            return ((IFile)resource).getProject() != null
-                && PhotranVPG.getInstance().shouldProcessProject(((IFile)resource).getProject())
-                && PhotranVPG.getInstance().shouldProcessFile((IFile)resource)
-                && ((IFile)resource).isAccessible()
-                && (!SourceForm.isFixedForm((IFile)resource) || FortranResourceRefactoring.FIXED_FORM_REFACTORING_ENABLED)
-                && (!SourceForm.isCPreprocessed((IFile)resource) || FortranResourceRefactoring.PREPROCESSOR_REFACTORING_ENABLED);
-        else
-            return true;
-    }
-
-    public String getError(IResource resource)
-    {
-        if (resource instanceof IProject)
-            return PhotranVPG.getInstance().describeWhyCannotProcessProject((IProject)resource);
-        else if (resource instanceof IFile)
-            return PhotranVPG.getInstance().describeWhyCannotProcessFile((IFile)resource);
-        else
-            return null;
-    }
-}
diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/PhotranVPGContribution.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/PhotranVPGContribution.java
deleted file mode 100644
index 80afc35..0000000
--- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/ui/vpg/PhotranVPGContribution.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.vpg;
-
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.IEclipseVPGFactory;
-
-/**
- * This class gives the Rephraser Engine's common UI actions access to
- * Photran's VPG.
- *
- * @author Jeff Overbey
- */
-public class PhotranVPGContribution implements IEclipseVPGFactory
-{
-    @SuppressWarnings("rawtypes")
-    public EclipseVPG getVPG()
-    {
-        return PhotranVPG.getInstance();
-    }
-}
diff --git a/org.eclipse.photran.ui/.classpath b/org.eclipse.photran.ui/.classpath
deleted file mode 100644
index 472ee29..0000000
--- a/org.eclipse.photran.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.ui/.cvsignore b/org.eclipse.photran.ui/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.photran.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.photran.ui/.project b/org.eclipse.photran.ui/.project
deleted file mode 100644
index 9f7605b..0000000
--- a/org.eclipse.photran.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 8de64ac..0000000
--- a/org.eclipse.photran.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 08:53:55 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.photran.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index d436b7a..0000000
--- a/org.eclipse.photran.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Thu Oct 08 11:31:04 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-internal.default.compliance=default
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *    UIUC - Initial API and implementation\r\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * \r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.photran.ui/META-INF/MANIFEST.MF b/org.eclipse.photran.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 23d4bcf..0000000
--- a/org.eclipse.photran.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,34 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.photran.ui; singleton:=true
-Bundle-Version: 7.0.0.qualifier
-Bundle-ClassPath: photranui.jar
-Bundle-Activator: org.eclipse.photran.internal.ui.FortranUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.photran.internal.ui,
- org.eclipse.photran.internal.ui.actions,
- org.eclipse.photran.internal.ui.editor,
- org.eclipse.photran.internal.ui.preferences,
- org.eclipse.photran.internal.ui.properties,
- org.eclipse.photran.internal.ui.startup
-Require-Bundle: org.eclipse.ui,
- org.eclipse.ui.intro,
- org.eclipse.ui.intro.universal,
- org.eclipse.core.runtime,
- org.eclipse.jface.text,
- org.eclipse.ui.editors,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.photran.core,
- org.eclipse.photran.cdtinterface,
- org.eclipse.ui.views,
- org.eclipse.core.resources,
- org.eclipse.ui.ide,
- org.eclipse.cdt.debug.ui,
- org.eclipse.cdt.core,
- org.eclipse.debug.ui,
- org.eclipse.rephraserengine.ui.refactoring;resolution:=optional,
- org.eclipse.cdt.ui
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/org.eclipse.photran.ui/about.html b/org.eclipse.photran.ui/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.photran.ui/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.photran.ui/build.properties b/org.eclipse.photran.ui/build.properties
deleted file mode 100644
index ad30a6f..0000000
--- a/org.eclipse.photran.ui/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-source.photranui.jar = src/
-output.photranui.jar = bin/
-bin.includes = plugin.xml,\
-               photranui.jar,\
-               icons/,\
-               META-INF/,\
-               about.html,\
-               plugin.properties,\
-               intro/,\
-               .,\
-               intro/,\
-               schema/,\
-               templates/
-jre.compilation.profile=J2SE-1.5
-src.includes = about.html,\
-               schema/,\
-               intro/,\
-               icons/,\
-               templates/
diff --git a/org.eclipse.photran.ui/icons/full/obj16/f_file_obj.gif b/org.eclipse.photran.ui/icons/full/obj16/f_file_obj.gif
deleted file mode 100644
index ac45f38..0000000
--- a/org.eclipse.photran.ui/icons/full/obj16/f_file_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui/icons/full/obj16/f_ovr.gif b/org.eclipse.photran.ui/icons/full/obj16/f_ovr.gif
deleted file mode 100644
index a9e4c83..0000000
--- a/org.eclipse.photran.ui/icons/full/obj16/f_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui/icons/sample.gif b/org.eclipse.photran.ui/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/org.eclipse.photran.ui/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui/intro/css/graphics/f.png b/org.eclipse.photran.ui/intro/css/graphics/f.png
deleted file mode 100644
index f4cd6e0..0000000
--- a/org.eclipse.photran.ui/intro/css/graphics/f.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui/intro/css/graphics/f.xcf b/org.eclipse.photran.ui/intro/css/graphics/f.xcf
deleted file mode 100644
index db76e21..0000000
--- a/org.eclipse.photran.ui/intro/css/graphics/f.xcf
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui/intro/css/graphics/f_hov.png b/org.eclipse.photran.ui/intro/css/graphics/f_hov.png
deleted file mode 100644
index a378f7e..0000000
--- a/org.eclipse.photran.ui/intro/css/graphics/f_hov.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui/intro/css/graphics/f_hov.xcf b/org.eclipse.photran.ui/intro/css/graphics/f_hov.xcf
deleted file mode 100644
index 508fd2c..0000000
--- a/org.eclipse.photran.ui/intro/css/graphics/f_hov.xcf
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui/intro/css/graphics/sample.gif b/org.eclipse.photran.ui/intro/css/graphics/sample.gif
deleted file mode 100644
index 5ff1ffc..0000000
--- a/org.eclipse.photran.ui/intro/css/graphics/sample.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui/intro/css/graphics/sample_hov.gif b/org.eclipse.photran.ui/intro/css/graphics/sample_hov.gif
deleted file mode 100644
index 6874164..0000000
--- a/org.eclipse.photran.ui/intro/css/graphics/sample_hov.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran.ui/intro/css/overview.css b/org.eclipse.photran.ui/intro/css/overview.css
deleted file mode 100644
index 904e3d6..0000000
--- a/org.eclipse.photran.ui/intro/css/overview.css
+++ /dev/null
@@ -1,3 +0,0 @@
-
-a#orgeclipsephotran-introLink img { background-image : url(graphics/f.png); }
-a#orgeclipsephotran-introLink:hover img { background-image : url(graphics/f_hov.png); }
\ No newline at end of file
diff --git a/org.eclipse.photran.ui/intro/overviewContent.xml b/org.eclipse.photran.ui/intro/overviewContent.xml
deleted file mode 100644
index fcb759c..0000000
--- a/org.eclipse.photran.ui/intro/overviewContent.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<introContent>
-  	<extensionContent 
-  	   id="orgeclipsephotran-introExtension" style="css/overview.css" name="Photran Overview Extension" path="overview/@">
-		<group style-id="content-group" id="orgeclipsephotran-introLink-group">
-       		<link 
-       		   label="Fortran Development" 
-       		   url="http://www.eclipse.org/photran/welcome/7.0/" 
-       		   id="orgeclipsephotran-introLink" 
-       		   style-id="content-link">
-          		   <text>Get started using Photran for Fortran development</text>
-       		</link>
-       	</group>
-  	</extensionContent>
-</introContent>
\ No newline at end of file
diff --git a/org.eclipse.photran.ui/plugin.properties b/org.eclipse.photran.ui/plugin.properties
deleted file mode 100644
index ea62c63..0000000
--- a/org.eclipse.photran.ui/plugin.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Photran UI Plug-in
-providerName=Eclipse.org
-
-textHoversName=Text Hovers
-
-# Editor 
-
-FortranEditor.name=Fortran Editor
-
-#
-
-FortranDocumentFactory=Fortran Document Factory
-FortranDocumentSetupParticipant=Fortran Document Setup Participant
-
-
-editor.name = Fortran Editor
-context.name = Fortran Editor
-action.label = Togg&le Comment
-category.description = Source Editing
-category.name = Source Editing
-command.description = Comment/Uncomment
-command.name = Photran Block Comment
-actionSet.description = Comment/Uncomment
-actionSet.label = Togg&le Comment
-action.label.0 = Togg&le Comment
-action.label.1 = Toggle Breakpoint
-page.name = Fortran
-page.name.0 = Editor
-page.name.1 = CDT Integration
-page.name.2 = Fortran General
-page.name.3 = Source Form
-extension-point.name = Source Viewer Configuration
\ No newline at end of file
diff --git a/org.eclipse.photran.ui/plugin.xml b/org.eclipse.photran.ui/plugin.xml
deleted file mode 100644
index c97d4f4..0000000
--- a/org.eclipse.photran.ui/plugin.xml
+++ /dev/null
@@ -1,340 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <!--==========================================-->
-   <!-- Free Form and Fixed Form Fortran Editors -->   
-   <!--==========================================-->
-   <extension
-         point="org.eclipse.ui.editors"
-         id="org.eclipse.photran.ui.FortranEditor">
-         
-      <editor
-            default="true"
-            name="%editor.name"
-            icon="icons/full/obj16/f_file_obj.gif"
-            class="org.eclipse.photran.internal.ui.editor.FortranEditor"
-            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
-            id="org.eclipse.photran.ui.FortranEditor">
-         <contentTypeBinding
-              contentTypeId="org.eclipse.photran.core.fortranSource" />
-      </editor>
-   </extension>
-   
-   <!-- Define a Fortran Editor context -->   
-   <extension
-            point="org.eclipse.ui.contexts">
-          <context
-            name="%context.name"
-            parentId="org.eclipse.ui.textEditorScope"
-            id="org.eclipse.photran.ui.FortranEditorContext">
-       </context>
-   </extension>
-
-   <!-- Commands, key bindings, and popup menu entries
-   
-        - Build Project (Ctrl+Shift+B)
-        - Comment/Uncomment (Ctrl+/)
-        
-        Each command should have its ID declared as a constant in AbstractFortranEditor, and
-        it must be set up in AbstractFortranEditor#createActions().
-        
-        For menubarPath, see class ITextEditorActionConstants -->
-
-   <!-- Provide a key binding for the "Build Project" command in the Fortran editor
-        (command ID from org.eclipse.ui.IWorkbenchCommandConstants) -->
-   <extension
-         point="org.eclipse.ui.bindings">
-     <key
-            sequence="M1+M2+B"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.ui.project.buildProject"
-     />
-   </extension>
-
-   <extension point="org.eclipse.ui.popupMenus">
-	  <viewerContribution 
-	        targetID="#FortranEditorContextMenu" 
-	        id="org.eclipse.photran.ui.FixedBlockCommentEditorContribution">
-	     <action 
-	           label="%action.label" 
-               definitionId="org.eclipse.photran.ui.CommentCommand"
-	           class="org.eclipse.photran.internal.ui.actions.FortranBlockCommentActionDelegate" 
-	           menubarPath="group.edit" 
-	           id="org.eclipse.photran.ui.BlockCommentMenuAction"/>
-	  </viewerContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="%category.name"
-            description="%category.description"
-            id="org.eclipse.photran.ui.SourceEditingCategory">
-      </category>
-      <command
-            categoryId="org.eclipse.photran.ui.SourceEditingCategory"
-            description="%command.description"
-            id="org.eclipse.photran.ui.CommentCommand"
-            name="%command.name">
-      </command>
-   </extension>
-   <extension point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%actionSet.label"
-            description="%actionSet.description"
-            visible="false"
-            id="org.eclipse.photran.ui.CommentUncomment">
-	     <action 
-	           label="%action.label.0" 
-               menubarPath="org.eclipse.jdt.ui.source.menu/commentGroup"
-               definitionId="org.eclipse.photran.ui.CommentCommand"
-	           class="org.eclipse.photran.internal.ui.actions.FortranBlockCommentActionDelegate" 
-	           id="org.eclipse.photran.ui.BlockCommentAction">
-	     </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation targetID="org.eclipse.photran.ui.CommentUncomment">
-         <part id="org.eclipse.photran.ui.FortranEditor"/>
-      </actionSetPartAssociation>
-   </extension>
-   <extension
-            point="org.eclipse.ui.bindings">
-      <!--  win32:  M1=CTRL,    M2=SHIFT, M3=ALT, M4=-
-            carbon: M1=COMMAND, M2=SHIFT, M3=ALT, M4=CTRL -->
-        <key
-            sequence="M1+/"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.CommentCommand"/>
-        <key
-            sequence="M1+M2+/"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            contextId="org.eclipse.photran.ui.FortranEditorContext"
-            commandId="org.eclipse.photran.ui.CommentCommand"/>
-   </extension>
-
-   <!-- Define toggling a breakpoint as the default double-click action -->
-   <extension
-         point="org.eclipse.ui.editorActions">
-      <editorContribution
-            targetID="org.eclipse.photran.ui.FortranEditor"
-            id="org.eclipse.photran.ui.BreakpointRulerAction">
-         <action
-               label="%action.label.1"
-               class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
-               actionID="RulerDoubleClick"
-               id="org.eclipse.cdt.debug.ui.CEditor.RulerTobbleBreakpointAction">
-         </action>
-      </editorContribution>
-   </extension>
-   <!-- Enable CDT breakpoint toggle for Photran's editors and model elements -->
-   <extension point="org.eclipse.debug.ui.toggleBreakpointsTargetFactories">
-      <toggleTargetFactory
-            id="ToggleFortranBreakpointsTargetFactory"
-            class="org.eclipse.cdt.debug.internal.ui.actions.ToggleCBreakpointsTargetFactory">
-            <enablement>
-            <or>
-               <instanceof value="org.eclipse.photran.internal.ui.editor.FortranEditor"/>
-            </or>
-         </enablement>
-      </toggleTargetFactory>
-   </extension>
-   <!-- Also support PTP parallel breakpoints -->
-   <!--extension point="org.eclipse.core.runtime.adapters">
-      <factory 
-            class="org.eclipse.ptp.debug.internal.ui.actions.RetargettableActionAdapterFactory"
-            adaptableType="org.eclipse.photran.internal.ui.editor.FortranEditor">
-            <adapter
-                type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget">
-            </adapter>
-            <adapter
-                type="org.eclipse.debug.ui.actions.IRunToLineTarget">
-            </adapter>
-      </factory>
-   </extension-->
-   
-   <!--=============================-->
-   <!-- ActionSet-part associations -->
-   <!--=============================-->
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
-         <part id="org.eclipse.photran.ui.FortranEditor"/>
-      </actionSetPartAssociation>      
-   </extension>
-
-   <!--=============-->
-   <!-- Source Menu -->
-   <!--=============-->
-   <extension point="org.eclipse.ui.menus">
-      <menuContribution
-            locationURI="menu:org.eclipse.ui.main.menu?after=edit">
-         <menu
-               label="&amp;Source"
-               id="org.eclipse.jdt.ui.source.menu">
-            <visibleWhen checkEnabled="false">
-               <iterate operator="or">
-                   <adapt type="org.eclipse.jface.text.ITextSelection">
-                     <test property="org.eclipse.rephraserengine.ui.refactoring.isRefactorable"/>
-                   </adapt>
-               </iterate>
-            </visibleWhen>
-         <!-- Menu mimicks org.eclipse.jdt.ui's (as does CDT's Refactor menu)
-              http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.ui/plugin.xml?view=markup -->
-            <separator name="commentGroup" />
-            <separator name="editGroup" />
-            <command
-                  commandId="org.eclipse.ui.edit.text.shiftRight"
-                  label="&amp;Shift Right"
-                  style="push">
-            </command>
-            <command
-                  commandId="org.eclipse.ui.edit.text.shiftLeft"
-                  label="S&amp;hift Left"
-                  style="push">
-            </command>
-            <separator name="importGroup" />
-            <separator name="generateGroup" />
-            <separator name="codeGroup" />
-            <separator name="externalizeGroup" />
-            <separator name="convertGroup" />
-            <separator name="additions" />
-         </menu>
-      </menuContribution>
-   </extension>
-
-   <!--========================-->
-   <!-- Fortran code templates -->
-   <!--========================-->
-   <extension point="org.eclipse.ui.editors.templates">
-      <contextType
-         name="Fortran"
-         class="org.eclipse.photran.internal.ui.editor.FortranTemplateContext"
-         id="org.eclipse.photran.ui.template.context" />
-      <include
-         file="templates/defaults.xml" />
-   </extension>
-
-   <!--===================================-->
-   <!-- Fortran-specific preference pages -->
-   <!--===================================-->
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%page.name"
-            class="org.eclipse.photran.internal.ui.preferences.MainFortranPreferencePage"
-            id="org.eclipse.photran.ui.MainFortranPreferencePage">
-      </page>
-      <page
-            name="%page.name.0"
-            category="org.eclipse.photran.ui.MainFortranPreferencePage"
-            class="org.eclipse.photran.internal.ui.preferences.EditorPreferencePage"
-            id="org.eclipse.photran.ui.FortranEditorPreferencePage">
-      </page>
-      <page
-            name="%page.name.1"
-            category="org.eclipse.photran.ui.MainFortranPreferencePage"
-            class="org.eclipse.photran.internal.ui.preferences.CDTFortranPreferencePage"
-            id="org.eclipse.photran.ui.CDTFortranPreferencePage">
-      </page>
-      <page
-            name="Templates"
-            category="org.eclipse.photran.ui.MainFortranPreferencePage"
-            class="org.eclipse.photran.internal.ui.preferences.FortranTemplatesPreferencePage"
-            id="org.eclipse.photran.ui.FortranTemplatesPreferencePage">
-      </page>
-   </extension>
-
-   <!--=========================================-->
-   <!-- Fortran-specific project property pages -->
-   <!--=========================================-->
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            class="org.eclipse.photran.internal.ui.properties.Page_head_general"
-            id="org.eclipse.photran.ui.newui.Page_head_general"
-            name="%page.name.2"
-            >
-         <!--filter
-               name="projectNature"
-               value="org.eclipse.cdt.core.cnature">
-         </filter-->
-         <filter
-               name="projectNature"
-               value="org.eclipse.photran.core.fnature">
-         </filter>            
-         <enabledWhen>
-            <or>
-             <instanceof value="org.eclipse.core.resources.IProject"/>
-             <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
-             
-             <instanceof value="org.eclipse.core.resources.IFolder"/>
-             <instanceof value="org.eclipse.cdt.core.model.ICContainer"/>
-
-             <instanceof value="org.eclipse.core.resources.IFile"/>
-              <instanceof value="org.eclipse.cdt.core.model.ITranslationUnit"/>
-            </or>          
-         </enabledWhen>
-      </page>
-          <page
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            name="%page.name.3"
-            class="org.eclipse.photran.internal.ui.properties.SourceFormPropertyPage"
-            id="org.eclipse.photran.ui.SourceFormPropertyPage"
-            category="org.eclipse.photran.ui.newui.Page_head_general">
-         <filter
-               name="projectNature"
-               value="org.eclipse.photran.core.fnature">
-         </filter>            
-         <enabledWhen>
-            <or>
-              <instanceof value="org.eclipse.core.resources.IProject"/>
-              <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
-            </or>          
-         </enabledWhen>
-      </page>
-   </extension>
-
-   <!--=============================================-->
-   <!-- Source Viewer Configuration Extension Point -->
-   <!--=============================================-->
-   <extension-point
-      id="sourceViewerConfig"
-      name="%extension-point.name"
-      schema="schema/sourceViewerConfig.exsd"/>
-   	
-   <!--==============================================-->
-   <!-- Image Associated with Fortran Project Nature -->
-   <!--==============================================-->
-   <extension
-         point="org.eclipse.ui.ide.projectNatureImages">
-      <image
-            icon="icons/full/obj16/f_ovr.gif"
-            natureId="org.eclipse.photran.core.fnature"
-            id="org.eclipse.photran.ui.fProjectNatureImage">
-      </image>
-   </extension>
-
-   <!--==============-->
-   <!-- Welcome Page -->
-   <!--==============-->
-
-   <!--Intro Overview page addition -->
-   <extension
-         point="org.eclipse.ui.intro.configExtension">
-      <configExtension
-            content="intro/overviewContent.xml"
-            configId="org.eclipse.ui.intro.universalConfig">
-      </configExtension>
-   </extension>
-
-   <!-- Show the release notes in a Web browser on first load -->
-   <!--extension point="org.eclipse.ui.startup">
-     <startup class="org.eclipse.photran.internal.ui.startup.ShowReleaseNotes" />
-  </extension-->
-
-</plugin>
diff --git a/org.eclipse.photran.ui/schema/sourceViewerConfig.exsd b/org.eclipse.photran.ui/schema/sourceViewerConfig.exsd
deleted file mode 100755
index d8feeb2..0000000
--- a/org.eclipse.photran.ui/schema/sourceViewerConfig.exsd
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.photran.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.photran.ui" id="sourceViewerConfig" name="Source Viewer Configuration"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="sourceViewerConfig"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="sourceViewerConfig">
-      <complexType>
-         <attribute name="factory" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A class extending &lt;code&gt;org.eclipse.core.model.IContributedModelBuildere&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.photran.internal.ui.editor.IFortranSourceViewerConfigurationFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/FortranTemplateManager.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/FortranTemplateManager.java
deleted file mode 100644
index 4e12881..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/FortranTemplateManager.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui;
-
-import java.io.IOException;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.photran.internal.ui.editor.FortranTemplateContext;
-import org.eclipse.ui.editors.text.templates.ContributionContextTypeRegistry;
-import org.eclipse.ui.editors.text.templates.ContributionTemplateStore;
-
-/**
- * Provides access to the {@link ContextTypeRegistry}, {@link TemplateStore}, etc. for Fortran code templates.
- * 
- * @author Jeff Overbey
- */
-public final class FortranTemplateManager
-{
-    private static final String TEMPLATE_KEY = FortranUIPlugin.PLUGIN_ID + ".templates"; //$NON-NLS-1$
-
-    private static FortranTemplateManager instance;
-
-    public static FortranTemplateManager getInstance()
-    {
-        if (instance == null)
-            instance = new FortranTemplateManager();
-        return instance;
-    }
-
-    private TemplateStore templateStore;
-    private ContributionContextTypeRegistry contextTypeRegistry;
-
-    public TemplateStore getTemplateStore()
-    {
-        if (templateStore == null)
-        {
-            templateStore = new ContributionTemplateStore(
-                getContextTypeRegistry(),
-                FortranUIPlugin.getDefault().getPreferenceStore(),
-                TEMPLATE_KEY);
-            try
-            {
-                templateStore.load();
-            }
-            catch (IOException e)
-            {
-                FortranUIPlugin.log(e);
-            }
-        }
-        return templateStore;
-    }
-
-    public ContextTypeRegistry getContextTypeRegistry()
-    {
-        if (contextTypeRegistry == null)
-        {
-            contextTypeRegistry = new ContributionContextTypeRegistry();
-            contextTypeRegistry.addContextType(FortranTemplateContext.ID);
-        }
-        return contextTypeRegistry;
-    }
-
-    public IPreferenceStore getPreferenceStore()
-    {
-        return FortranUIPlugin.getDefault().getPreferenceStore();
-    }
-
-    @SuppressWarnings("deprecation")
-    public void savePluginPreferences()
-    {
-        FortranUIPlugin.getDefault().savePluginPreferences();
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/FortranUIPlugin.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/FortranUIPlugin.java
deleted file mode 100644
index efc2bc2..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/FortranUIPlugin.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class for the Photran UI plug-in
- * 
- * @author (generated)
- */
-public class FortranUIPlugin extends AbstractUIPlugin
-{
-    public static final String PLUGIN_ID = "org.eclipse.photran.ui"; //$NON-NLS-1$
-
-    // The shared instance.
-    private static FortranUIPlugin plugin;
-
-    /**
-     * The constructor.
-     */
-    public FortranUIPlugin()
-    {
-        super();
-        plugin = this;
-    }
-
-    /**
-     * This method is called upon plug-in activation
-     */
-    @Override public void start(BundleContext context) throws Exception
-    {
-        super.start(context);
-    }
-
-    /**
-     * This method is called when the plug-in is stopped
-     */
-    @Override public void stop(BundleContext context) throws Exception
-    {
-        super.stop(context);
-        plugin = null;
-    }
-
-    /**
-     * Returns the shared instance.
-     */
-    public static FortranUIPlugin getDefault()
-    {
-        return plugin;
-    }
-
-    /**
-     * Returns an image descriptor for the image file at the given plug-in relative path.
-     * 
-     * @param path the path
-     * @return the image descriptor
-     */
-    public static ImageDescriptor getImageDescriptor(String path)
-    {
-        return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.photran.ui", path); //$NON-NLS-1$
-    }
-
-    /**
-     * Set the default preferences plugin values here.
-     */
-    @Override protected void initializeDefaultPluginPreferences()
-    {
-    }
-
-    public static void log(Throwable e)
-    {
-        log("Error", e); //$NON-NLS-1$
-    }
-
-    public static void log(String message, Throwable e)
-    {
-        log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, message, e));
-    }
-
-    public static void log(IStatus status)
-    {
-        getDefault().getLog().log(status);
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/FortranBlockCommentActionDelegate.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/FortranBlockCommentActionDelegate.java
deleted file mode 100644
index 87e467f..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/FortranBlockCommentActionDelegate.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPartitioningException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.DefaultPositionUpdater;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IPositionUpdater;
-import org.eclipse.jface.text.IRewriteTarget;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.Position;
-import org.eclipse.photran.internal.ui.actions.FortranBlockCommentActionDelegate.Edit.EditFactory;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-/**
- * Action supporting block commenting in the Fortran editor
- * 
- * @author Cheah Chin Fei based on org.eclipse.cdt.internal.ui.actions
- * @author Jeff Overbey made FortranEditorActionDelegate
- */
-public class FortranBlockCommentActionDelegate extends FortranEditorActionDelegate
-{
-    public FortranBlockCommentActionDelegate() { super(); }
-    
-    public FortranBlockCommentActionDelegate(FortranEditor ed) { super(ed); }
-
-    public void run(IProgressMonitor progressMonitor)
-    {
-        FortranEditor editor = getFortranEditor();
-        ITextSelection selection = editor.getSelection();
-        IDocument document = editor.getIDocument();
-        if (document == null) return;
-
-        IRewriteTarget target = (IRewriteTarget)editor.getAdapter(IRewriteTarget.class);
-        if (target != null) target.beginCompoundChange();
-
-        Edit.EditFactory factory = new Edit.EditFactory(document);
-
-        try
-        {
-            runInternal(selection, factory);
-        }
-        catch (BadLocationException e)
-        {
-            // can happen on concurrent modification, deletion etc. of the document
-            // -> don't complain, just bail out
-        }
-        finally
-        {
-            factory.release();
-            if (target != null) target.endCompoundChange();
-        }
-    }
-
-    /**
-     * Calls <code>perform</code> on all <code>Edit</code>s in <code>edits</code>.
-     * 
-     * @param edits a list of <code>Edit</code>s
-     * @throws BadLocationException if an <code>Edit</code> threw such an exception.
-     */
-    protected void executeEdits(List<Edit> edits) throws BadLocationException
-    {
-        for (Edit edit : edits)
-            edit.perform();
-    }
-
-    /**
-     * Runs the real command once all the editor, document, and selection checks have succeeded.
-     * 
-     * @param selection the current selection we are being called for
-     * @param factory the edit factory we can use to create <code>Edit</code>s
-     * @throws BadLocationException if an edition fails
-     * @throws BadPartitioningException if a partitioning call fails
-     */
-
-    protected void runInternal(ITextSelection selection, EditFactory factory) throws BadLocationException
-    {
-        // ITextSelection ts = selection;
-        int selectionOffset = selection.getStartLine();
-        int selectionEndOffset = selection.getEndLine();
-        List<Edit> edits = new LinkedList<Edit>();
-        IDocumentProvider dp = getFortranEditor().getDocumentProvider();
-        IDocument doc = dp.getDocument(getFortranEditor().getEditorInput());
-
-        for (int i = selectionOffset; i <= selectionEndOffset; i++)
-        {
-            int eff;
-            eff = doc.getLineOffset(i);
-            if (doc.getChar(eff) == '!')
-                edits.add(factory.createEdit(eff, 1, "")); //$NON-NLS-1$
-            else
-                edits.add(factory.createEdit(eff, 0, "!")); //$NON-NLS-1$
-        }
-        executeEdits(edits);
-
-        if (selectionEndOffset == doc.getNumberOfLines() - 1)
-        {
-            // case when lines get to the end
-            getFortranEditor().selectAndReveal(selection.getOffset(), selection.getLength());
-            getFortranEditor().selectAndReveal(doc.getLineOffset(selectionOffset),
-                                               doc.getLineOffset(selectionEndOffset)
-                                               - doc.getLineOffset(selectionOffset)
-                                               + doc.getLineLength(doc.getLineLength(doc.getNumberOfLines())));
-        }
-        else
-        {
-            // normal case
-            getFortranEditor().selectAndReveal(doc.getLineOffset(selectionOffset), doc.getLineOffset(selectionEndOffset + 1) - doc.getLineOffset(selectionOffset));
-        }
-    }
-
-    /**
-     * An edit is a kind of <code>DocumentEvent</code>, in this case an edit instruction, that is affiliated with a <code>Position</code> on a document. The offset
-     * of the document event is not stored statically, but taken from the affiliated <code>Position</code>, which gets updated when other edits occur.
-     */
-    static class Edit extends DocumentEvent
-    {
-        /**
-         * Factory for edits which manages the creation, installation and destruction of position categories, position updaters etc. on a certain document. Once a factory
-         * has been obtained, <code>Edit</code> objects can be obtained from it which will be linked to the document by positions of one position category.
-         * <p>
-         * Clients are required to call <code>release</code> once the <code>Edit</code>s are not used any more, so the positions can be discarded.
-         * </p>
-         */
-        public static class EditFactory
-        {
-            /** The position category basename for this edits. */
-            private static final String CATEGORY = "__positionalEditPositionCategory"; //$NON-NLS-1$
-
-            /** The count of factories. */
-            private static int fgCount = 0;
-
-            /** This factory's category. */
-            private final String fCategory;
-
-            private IDocument fDocument;
-
-            private IPositionUpdater fUpdater;
-
-            /**
-             * Creates a new <code>EditFactory</code> with an unambiguous position category name.
-             * @param document the document that is being edited.
-             */
-            public EditFactory(IDocument document)
-            {
-                fCategory = CATEGORY + fgCount++;
-                fDocument = document;
-            }
-
-            /**
-             * Creates a new edition on the document of this factory.
-             * 
-             * @param offset the offset of the edition at the point when is created.
-             * @param length the length of the edition (not updated via the position update mechanism)
-             * @param text the text to be replaced on the document
-             * @return an <code>Edit</code> reflecting the edition on the document
-             */
-            public Edit createEdit(int offset, int length, String text) throws BadLocationException
-            {
-                ;
-                if (!fDocument.containsPositionCategory(fCategory))
-                {
-                    fDocument.addPositionCategory(fCategory);
-                    fUpdater = new DefaultPositionUpdater(fCategory);
-                    fDocument.addPositionUpdater(fUpdater);
-                }
-
-                Position position = new Position(offset);
-                try
-                {
-                    fDocument.addPosition(fCategory, position);
-                }
-                catch (BadPositionCategoryException e)
-                {
-                    System.err.println("BadPosition within Create edit"); //$NON-NLS-1$
-                    Assert.isTrue(false);
-                }
-                return new Edit(fDocument, length, text, position);
-            }
-
-            /**
-             * Releases the position category on the document and uninstalls the position updater. <code>Edit</code>s managed by this factory are not updated after
-             * this call.
-             */
-            public void release()
-            {
-                if (fDocument != null && fDocument.containsPositionCategory(fCategory))
-                {
-                    fDocument.removePositionUpdater(fUpdater);
-                    try
-                    {
-                        fDocument.removePositionCategory(fCategory);
-                    }
-                    catch (BadPositionCategoryException e)
-                    {
-                        Assert.isTrue(false);
-                    }
-                    fDocument = null;
-                    fUpdater = null;
-                }
-            }
-        }
-
-        /** The position in the document where this edit be executed. */
-        private Position fPosition;
-
-        /**
-         * Creates a new edition on <code>document</code>, taking its offset from <code>position</code>.
-         * 
-         * @param document the document being edited
-         * @param length the length of the edition
-         * @param text the replacement text of the edition
-         * @param position the position keeping the edition's offset
-         */
-        protected Edit(IDocument document, int length, String text, Position position)
-        {
-            super(document, 0, length, text);
-            fPosition = position;
-        }
-
-        /*
-         * @see org.eclipse.jface.text.DocumentEvent#getOffset()
-         */
-        @Override public int getOffset()
-        {
-            return fPosition.getOffset();
-        }
-
-        /**
-         * Executes the edition on document. The offset is taken from the position.
-         * 
-         * @throws BadLocationException if the execution of the document fails.
-         */
-        public void perform() throws BadLocationException
-        {
-            getDocument().replace(getOffset(), getLength(), getText());
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/FortranEditorActionDelegate.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/FortranEditorActionDelegate.java
deleted file mode 100644
index cda05d4..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/FortranEditorActionDelegate.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.photran.internal.ui.editor.FortranEditor;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * Base class (with utility methods) for actions that are initiated from the Fortran editor.
- *
- * @author Jeff Overbey
- */
-@SuppressWarnings("restriction")
-public abstract class FortranEditorActionDelegate
-    extends Action
-    implements IEditorActionDelegate, IWorkbenchWindowActionDelegate, IRunnableWithProgress
-{
-    ///////////////////////////////////////////////////////////////////////////
-    // Fields
-    ///////////////////////////////////////////////////////////////////////////
-
-    protected IWorkbenchWindow window = null;
-    protected FortranEditor fEditor = null;
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Constructors
-    ///////////////////////////////////////////////////////////////////////////
-
-    public FortranEditorActionDelegate() {}
-
-    public FortranEditorActionDelegate(FortranEditor ed) { fEditor = ed; }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // IActionDelegate Implementation
-    ///////////////////////////////////////////////////////////////////////////
-
-    public void run(IAction action)
-    {
-        if (this.window == null)
-            this.window = Workbench.getInstance().getActiveWorkbenchWindow();
-
-        if (this.window != null)
-        {
-            IEditorPart editor = this.window.getActivePage().getActiveEditor();
-            fEditor = editor instanceof FortranEditor ? (FortranEditor)editor : null;
-        }
-
-        if (this.fEditor != null)
-        {
-            IProgressService context = PlatformUI.getWorkbench().getProgressService();
-            ISchedulingRule lockEntireWorkspace = ResourcesPlugin.getWorkspace().getRoot();
-            try
-            {
-                context.runInUI(context, this, lockEntireWorkspace);
-            }
-            catch (InvocationTargetException e)
-            {
-                e.printStackTrace();
-                MessageDialog.openError(fEditor.getShell(), UIMessages.FortranEditorActionDelegate_UnhandledExceptionTitle, e.getMessage());
-            }
-            catch (InterruptedException e)
-            {
-                // Do nothing
-            }
-        }
-    }
-
-    public void selectionChanged(IAction action, ISelection selection) {;}
-
-    ///////////////////////////////////////////////////////////////////////////
-    // IWorkbenchWindowActionDelegate Implementation
-    ///////////////////////////////////////////////////////////////////////////
-
-    public void init(IWorkbenchWindow window)
-    {
-        this.window = window;
-    }
-
-    public void dispose() {;}
-
-    ///////////////////////////////////////////////////////////////////////////
-    // IEditorActionDelegate Implementation
-    ///////////////////////////////////////////////////////////////////////////
-
-    public void setActiveEditor(IAction action, IEditorPart targetEditor)
-    {
-        fEditor = targetEditor instanceof FortranEditor ? (FortranEditor)targetEditor : null;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Utility Methods for Subclasses
-    ///////////////////////////////////////////////////////////////////////////
-
-    protected FortranEditor getFortranEditor()
-    {
-        return fEditor;
-    }
-
-    protected Shell getShell()
-    {
-        return fEditor == null ? null : fEditor.getShell();
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/UIMessages.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/UIMessages.java
deleted file mode 100644
index 846c0f9..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/UIMessages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.actions;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class UIMessages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.ui.actions.uimessages"; //$NON-NLS-1$
-
-    public static String FortranEditorActionDelegate_UnhandledExceptionTitle;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, UIMessages.class);
-    }
-
-    private UIMessages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/uimessages.properties b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/uimessages.properties
deleted file mode 100644
index 267ee9f..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/actions/uimessages.properties
+++ /dev/null
@@ -1 +0,0 @@
-FortranEditorActionDelegate_UnhandledExceptionTitle=Unhandled Exception
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/CompletionComputer.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/CompletionComputer.java
deleted file mode 100644
index 2581ce8..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/CompletionComputer.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-
-/**
- * Base class for a content assist completion computer.
- * <p>
- * Determines the prefix and suffix at the current cursor location.
- * 
- * @author Jeff Overbey
- */
-public abstract class CompletionComputer
-{
-    protected final IDocument document;
-    protected final int prefixIndex;
-    protected final String prefix;
-    protected final int suffixIndex;
-    protected final String suffix;
-    protected final int replOffset;
-    protected final int replLen;
-
-    protected CompletionComputer(IDocument document, int offset) throws BadLocationException
-    {
-        this.document = document;
-        
-        this.prefixIndex = findPrefix(document, offset);
-        this.prefix = document.get(prefixIndex, offset-prefixIndex).toLowerCase();
-        
-        this.suffixIndex = findSuffix(document, offset);
-        this.suffix = document.get(offset, suffixIndex-offset).toLowerCase();
-        
-        this.replOffset = prefixIndex;
-        this.replLen = suffixIndex - prefixIndex;
-    }
-
-    private int findPrefix(IDocument s, int offset) throws BadLocationException
-    {
-        for (offset--; offset >= 0; offset--)
-        {
-            char c = s.getChar(offset);
-            if (!Character.isLetter(c) && !Character.isDigit(c) && c != '_')
-                return offset + 1;
-        }
-        return 0;
-    }
-
-    private int findSuffix(IDocument s, int offset) throws BadLocationException
-    {
-        int length = s.getLength();
-        for (; offset < length; offset++)
-        {
-            char c = s.getChar(offset);
-            if (!Character.isLetter(c) && !Character.isDigit(c) && c != '_')
-                return offset;
-        }
-        return length;
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranEditor.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranEditor.java
deleted file mode 100644
index 08b3cdf..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranEditor.java
+++ /dev/null
@@ -1,648 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.eclipse.cdt.internal.ui.editor.CDocumentProvider;
-import org.eclipse.cdt.internal.ui.text.TabsToSpacesConverter;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.DefaultLineTracker;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewerExtension2;
-import org.eclipse.jface.text.ITextViewerExtension7;
-import org.eclipse.jface.text.MarginPainter;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.presentation.IPresentationReconciler;
-import org.eclipse.jface.text.presentation.PresentationReconciler;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.rules.DefaultDamagerRepairer;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.jface.text.rules.ITokenScanner;
-import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotation;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel;
-import org.eclipse.jface.text.source.projection.ProjectionSupport;
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.photran.internal.cdtinterface.ui.editor.CDTBasedSourceViewerConfiguration;
-import org.eclipse.photran.internal.cdtinterface.ui.editor.CDTBasedTextEditor;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-import org.eclipse.photran.internal.core.sourceform.SourceForm;
-import org.eclipse.photran.internal.ui.FortranUIPlugin;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.texteditor.ChainedPreferenceStore;
-import org.eclipse.ui.texteditor.DefaultRangeIndicator;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.WorkbenchChainedTextFontFieldEditor;
-
-/**
- * Fortran editor
- *
- * @author Jeff Overbey
- * @author Kurt Hendle - folding support
- */
-@SuppressWarnings({ "deprecation", "restriction" })
-public class FortranEditor extends CDTBasedTextEditor implements ISelectionChangedListener, IPropertyChangeListener
-{
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Constants
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    public static final String EDITOR_ID = "org.eclipse.photran.ui.FortranEditor"; //$NON-NLS-1$
-
-    protected static String CONTEXT_MENU_ID = "#FortranEditorContextMenu"; //$NON-NLS-1$
-
-    public static final String SOURCE_VIEWER_CONFIG_EXTENSION_POINT_ID =
-        "org.eclipse.photran.ui.sourceViewerConfig"; //$NON-NLS-1$
-
-    public static String[] PARTITION_TYPES = new String[] { IDocument.DEFAULT_CONTENT_TYPE };
-
-    protected static String FORTRAN_EDITOR_CONTEXT_ID = "org.eclipse.photran.ui.FortranEditorContext"; //$NON-NLS-1$
-
-    protected static String BLOCK_COMMENT_COMMAND_ID = "org.eclipse.photran.ui.CommentCommand"; //$NON-NLS-1$
-
-    protected static final RGB VERTICAL_LINE_COLOR = new RGB(176, 180, 185);
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Public Fields - Custom Reconciler Task Support
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    /** @see org.eclipse.photran.internal.ui.editor_vpg.FortranVPGReconcilingStrategy */
-    public Object reconcilerTasks = null;
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Fields
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    protected IPreferenceStore fCombinedPreferenceStore;
-    protected Composite fMainComposite;
-    protected Color verticalLineColor;
-    protected TabsToSpacesConverter tabToSpacesConverter;
-
-    // More fields in Folding, below
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Constructor
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    public FortranEditor()
-    {
-        super();
-        setSourceViewerConfiguration(createSourceViewerConfiguration());
-        setRangeIndicator(new DefaultRangeIndicator());
-        useCDTDocumentProvider();
-
-        // This has to be set to be notified of changes to preferences
-        // Without this, the editor will not auto-update
-        IPreferenceStore store = FortranUIPlugin.getDefault().getPreferenceStore();
-        IPreferenceStore generalTextStore = EditorsUI.getPreferenceStore();
-        fCombinedPreferenceStore = new ChainedPreferenceStore(new IPreferenceStore[] { store, generalTextStore, getPreferenceStore()});
-        setPreferenceStore(fCombinedPreferenceStore);
-        // This enables any global changes to editor e.g. font type and size to take effect
-        WorkbenchChainedTextFontFieldEditor.startPropagate(store, JFaceResources.TEXT_FONT);
-
-        useCDTRulerContextMenuID();
-        setEditorContextMenuId(CONTEXT_MENU_ID);
-
-        FortranCorePlugin.getDefault().getPluginPreferences().addPropertyChangeListener(this);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // JFace Text Overrides
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    @Override protected void doSetInput(IEditorInput input) throws CoreException
-    {
-        super.doSetInput(input);
-
-        IDocument document = this.getDocumentProvider().getDocument(input);
-        if (document == null) return;
-
-        configurePartitionScanner(document);
-
-//        if (input instanceof FileEditorInput)
-//            checkForContentTypeMismatch((FileEditorInput)input);
-    }
-
-    @Override public void createPartControl(Composite parent)
-    {
-        super.createPartControl(parent);
-
-        if (FortranPreferences.ENABLE_FOLDING.getValue())
-            installProjectionSupport();
-
-        createLightGrayLines();
-
-//        addWatermark(parent);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Tabs to Spaces Conversion
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    // See also FortranSourceViewer
-    
-    @Override
-    protected boolean isTabsToSpacesConversionEnabled() {
-        return FortranPreferences.CONVERT_TABS_TO_SPACES.getValue();
-    }
-
-    @Override
-    protected void installTabsToSpacesConverter() {
-        ISourceViewer sourceViewer= getSourceViewer();
-        SourceViewerConfiguration config= getSourceViewerConfiguration();
-        if (config != null && sourceViewer instanceof ITextViewerExtension7) {
-            int tabWidth= config.getTabWidth(sourceViewer);
-            tabToSpacesConverter= new TabsToSpacesConverter();
-            tabToSpacesConverter.setNumberOfSpacesPerTab(tabWidth);
-            IDocumentProvider provider= getDocumentProvider();
-            if (provider instanceof CDocumentProvider) {
-                CDocumentProvider cProvider= (CDocumentProvider) provider;
-                tabToSpacesConverter.setLineTracker(cProvider.createLineTracker(getEditorInput()));
-            } else {
-                tabToSpacesConverter.setLineTracker(new DefaultLineTracker());
-            }
-            tabToSpacesConverter.setNumberOfSpacesPerTab(FortranPreferences.TAB_WIDTH.getValue());
-            ((ITextViewerExtension7) sourceViewer).setTabsToSpacesConverter(tabToSpacesConverter);
-            //updateIndentationMode();
-        }
-        else tabToSpacesConverter = null;
-    }
-
-    @Override
-    protected void uninstallTabsToSpacesConverter() {
-        super.uninstallTabsToSpacesConverter();
-        tabToSpacesConverter = null;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Context Menu Contribution
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    // see org.eclipse.ui.texteditor.AbstractTextEditor#editorContextMenuAboutToShow(org.eclipse.jface.action.IMenuManager)
-    @Override public void editorContextMenuAboutToShow(IMenuManager menu)
-    {
-        super.editorContextMenuAboutToShow(menu);
-
-        try
-        {
-            // Instantiate RefactorMenu using reflection since it's in an optional dependency
-            IContributionItem refactorMenu = (IContributionItem)Class.forName("org.eclipse.rephraserengine.ui.menus.RefactorMenu").newInstance(); //$NON-NLS-1$
-            
-            MenuManager refactorSubmenu = new MenuManager("Refactor"); //$NON-NLS-1$
-            refactorSubmenu.add(refactorMenu);
-            menu.appendToGroup(ITextEditorActionConstants.GROUP_EDIT, refactorSubmenu); // cf. CEditor#createActions()
-            //menu.add(refactorSubmenu);
-        }
-        catch (Throwable x)
-        {
-            // The RefactorMenu class is contributed through an optional dependency;
-            // if it's not present, it's not a problem
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Editor Folding
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    //protected ProjectionSupport projectionSupport;
-    //protected Annotation[] oldAnnotations;
-    protected ProjectionAnnotationModel annotationModel;
-
-    @Override protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler ruler, int styles)
-    {
-        //fAnnotationAccess = createAnnotationAccess();
-        //fOverviewRuler = createOverviewRuler(getSharedColors());
-
-        ISourceViewer sourceViewer = new FortranSourceViewer(parent, ruler, getOverviewRuler(), isOverviewRulerVisible(), styles);
-
-        getSourceViewerDecorationSupport(sourceViewer); // Ensure decoration support has been created and configured
-
-        return sourceViewer;
-    }
-
-    private void installProjectionSupport()
-    {
-        ProjectionViewer viewer =(ProjectionViewer)getSourceViewer();
-
-        ProjectionSupport projectionSupport = new ProjectionSupport(viewer, getAnnotationAccess(), getSharedColors());
-        projectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.error"); //$NON-NLS-1$
-        projectionSupport.addSummarizableAnnotationType("org.eclipse.ui.workbench.texteditor.warning"); //$NON-NLS-1$
-        projectionSupport.install();
-
-        viewer.doOperation(ProjectionViewer.TOGGLE); // Turn projection mode on
-
-        annotationModel = viewer.getProjectionAnnotationModel();
-    }
-
-    public void updateFoldingStructure(ArrayList<Position> positions)
-    {
-        try
-        {
-            if (annotationModel != null)
-                annotationModel.modifyAnnotations(null, mapAnnotationsToPositions(positions), null);
-        }
-        catch (Throwable t)
-        {
-            // Ignore
-        }
-    }
-
-    private HashMap<ProjectionAnnotation, Position> mapAnnotationsToPositions(ArrayList<Position> positions)
-    {
-        HashMap<ProjectionAnnotation, Position> newAnnotations = new HashMap<ProjectionAnnotation, Position>();
-        for (int i = 0; i < positions.size(); i++)
-        {
-            ProjectionAnnotation annotation = new ProjectionAnnotation();
-            newAnnotations.put(annotation, positions.get(i));
-            annotation.setRangeIndication(true);
-        }
-        return newAnnotations;
-    }
-
-//    ///////////////////////////////////////////////////////////////////////////////////////////////
-//    // Watermark Indicating Source Form Mismatch
-//    ///////////////////////////////////////////////////////////////////////////////////////////////
-//
-//    private void checkForContentTypeMismatch(FileEditorInput input)
-//    {
-//        contentTypeMismatch = false;
-//
-//        IFile file = input.getFile();
-//        if (file == null || file.getProject() == null || file.getName() == null) return;
-//
-//        String contentType = CoreModel.getRegistedContentTypeId(file.getProject(), file.getName());
-//        if (contentType == null) return;
-//
-//        boolean expectedSourceForm = this.isFixedForm();
-//        boolean actualSourceForm = SourceForm.isFixedForm(file);
-//        if (actualSourceForm != expectedSourceForm)
-//            contentTypeMismatch = true;
-//    }
-//
-//    private void addWatermark(Composite parent)
-//    {
-//        ISourceViewer sourceViewer = getSourceViewer();
-//        if (sourceViewer instanceof ITextViewerExtension2)
-//        {
-//            ITextViewerExtension2 painter = (ITextViewerExtension2)sourceViewer;
-//            painter.addPainter(new WatermarkPainter());
-//        }
-//    }
-//
-//    public final class WatermarkPainter implements IPainter
-//    {
-//        private boolean active = false;
-//        private StyledText widget = null;
-//        private PaintListener listener = null;
-//
-//        public void paint(int reason)
-//        {
-//            if (!active)
-//            {
-//                active = true;
-//                widget = FortranEditor.this.getSourceViewer().getTextWidget();
-//                final Font font = new Font(null, new FontData("Arial", 14, SWT.NORMAL)); //$NON-NLS-1$
-//                final Color lightGray = new Color(null, new RGB(192, 192, 192));
-//                listener = new PaintListener()
-//                {
-//                    public void paintControl(PaintEvent e)
-//                    {
-//                        if (widget == null || contentTypeMismatch == false) return;
-//
-////                        String msg = "WARNING: This file is open in a "
-////                                   + (isFixedForm() ? "fixed-form" : "free-form")
-////                                   + " editor,\nbut the platform content type "
-////                                   + "indicates that it is a "
-////                                   + (isFixedForm() ? "free-form" : "fixed-form")
-////                                   + " file.";
-//                        String msg = "WARNING: Content type mismatch     "; //$NON-NLS-1$
-//                        Rectangle area = widget.getClientArea();
-//                        e.gc.setFont(font);
-//                        e.gc.setForeground(lightGray);
-//                        int x = Math.max(0, area.x + area.width - e.gc.textExtent(msg).x); //area.x + area.width/2;
-//                        int y = area.y;
-//                        e.gc.drawString(msg, x, y, true);
-//                    }
-//                };
-//                widget.addPaintListener(listener);
-//            }
-//        }
-//
-//        public void dispose()
-//        {
-//            if (listener != null)
-//            {
-//                widget.removePaintListener(listener);
-//                listener = null;
-//            }
-//
-//            widget = null;
-//        }
-//
-//        public void deactivate(boolean redraw) {}
-//        public void setPositionManager(IPaintPositionManager manager) {}
-//    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Ctrl+/ Block Commenting Support
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    @Override protected void initializeKeyBindingScopes()
-    {
-        setKeyBindingScopes(new String[] { "org.eclipse.ui.textEditorScope", FORTRAN_EDITOR_CONTEXT_ID }); //$NON-NLS-1$
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Gray Vertical Lines
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Display a light gray line between columns 6/7 and 72/73
-     */
-    protected void createLightGrayLines()
-    {
-        verticalLineColor = new Color(null, VERTICAL_LINE_COLOR);
-
-        ISourceViewer sourceViewer = getSourceViewer();
-        if (sourceViewer instanceof ITextViewerExtension2)
-        {
-            ITextViewerExtension2 painter = (ITextViewerExtension2)sourceViewer;
-
-            int[] columns = getColumnsToDrawVerticalLinesOn();
-            for (int i = 0; i < columns.length; i++)
-            {
-                MarginPainter p = new MarginPainter(getSourceViewer());
-                p.setMarginRulerColumn(columns[i]);
-                p.setMarginRulerColor(verticalLineColor);
-                painter.addPainter(p);
-            }
-        }
-    }
-
-    protected int[] getColumnsToDrawVerticalLinesOn()
-    {
-        if (isFixedForm())
-        {
-            int endColumnWidth = FortranPreferences.FIXED_FORM_COMMENT_COLUMN.getValue();
-            return new int[] { 5, 6, endColumnWidth };
-        }
-        else
-        {
-            return new int[0];
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Preference Page Support
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Returns true if the event will require us to perform a damage and repair
-     * e.g. a color preference change
-     */
-    @Override protected boolean affectsTextPresentation(PropertyChangeEvent event)
-    {
-        return FortranPreferences.respondToPreferenceChange(event.getProperty())
-               || super.affectsTextPresentation(event);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Extensible SourceViewerConfiguration (permits Declaration View, content assist, etc.)
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    protected SourceViewerConfiguration createSourceViewerConfiguration()
-    {
-        // If org.eclipse.photran.vpg.ui is contributing a SourceViewerConfiguration through the
-        // extension point, load it
-        IConfigurationElement[] configs = Platform.getExtensionRegistry().
-            getConfigurationElementsFor(SOURCE_VIEWER_CONFIG_EXTENSION_POINT_ID);
-        if (configs.length > 0)
-        {
-            try
-            {
-                IFortranSourceViewerConfigurationFactory factory =
-                    (IFortranSourceViewerConfigurationFactory)
-                    configs[configs.length-1].createExecutableExtension("factory"); //$NON-NLS-1$
-                return factory.create(FortranEditor.this);
-            }
-            catch (CoreException e)
-            {
-                // Fall through
-            }
-        }
-
-        // Otherwise, default to CDT's reconciler
-        return new FortranSourceViewerConfiguration(this);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Syntax Highlighting and Outline View Support (Partitioning and Reconciling)
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    protected void configurePartitionScanner(IDocument document)
-    {
-        IDocumentPartitioner partitioner = new FastPartitioner(new RuleBasedPartitionScanner(),
-                                                               PARTITION_TYPES);
-        partitioner.connect(document);
-        document.setDocumentPartitioner(partitioner);
-    }
-
-    protected ITokenScanner getTokenScanner()
-    {
-        return new FortranKeywordRuleBasedScanner(isFixedForm(), getSourceViewer());
-    }
-
-    public static class FortranSourceViewerConfiguration extends CDTBasedSourceViewerConfiguration
-    {
-        protected static final Color WHITE = new Color(null, new RGB(255, 255, 255));
-        //protected static final Color LIGHT_YELLOW = new Color(null, new RGB(255, 255, 191));
-
-        protected PresentationReconciler reconciler;
-
-        public FortranSourceViewerConfiguration(FortranEditor editor)
-        {
-            super(editor);
-        }
-
-        /**
-         * Determines the tab width to use in the Fortran editor.
-         * <ol>
-         * <li> First, it looks at the custom Fortran editor preference.  If it is
-         *      non-zero, this width is used.
-         * <li> If the custom preference is not set, the workspace-wide text editor
-         *      preference is used instead.
-         * </ol>
-         */
-        @Override public int getTabWidth(ISourceViewer sourceViewer)
-        {
-            return FortranPreferences.TAB_WIDTH.getValue();
-        }
-        
-        /**
-         * Returns a list of the possible partitions' content types.
-         * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getConfiguredContentTypes(org.eclipse.jface.text.source.ISourceViewer)
-         */
-        @Override public String[] getConfiguredContentTypes(ISourceViewer sourceViewer)
-        {
-            return PARTITION_TYPES;
-        }
-
-        /**
-         * Sets up rules for syntax highlighting.
-         * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getPresentationReconciler(org.eclipse.jface.text.source.ISourceViewer)
-         */
-        @Override public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer)
-        {
-            if (reconciler == null)
-            {
-                reconciler = new PresentationReconciler();
-
-                // Set up a damager-repairer for each content type
-
-                DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getTokenScanner());
-                reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
-                reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
-            }
-
-            return reconciler;
-        }
-
-        protected ITokenScanner getTokenScanner()
-        {
-            return ((FortranEditor)editor).getTokenScanner();
-        }
-
-        /**
-         * Default to a content assistant which shows Fortran code templates.
-         * <p>
-         * Subclasses may override this to provide a content assistant with more functionality.
-         */
-        @Override public IContentAssistant getContentAssistant(ISourceViewer sourceViewer)
-        {
-            ContentAssistant assistant = new ContentAssistant();
-            FortranTemplateCompletionProcessor templateProcessor = new FortranTemplateCompletionProcessor();
-            for (String partitionType : FortranEditor.PARTITION_TYPES)
-                assistant.setContentAssistProcessor(templateProcessor, partitionType);
-            assistant.enableAutoActivation(false); //assistant.setAutoActivationDelay(500);
-            assistant.setProposalPopupOrientation(IContentAssistant.CONTEXT_INFO_BELOW);
-            assistant.setContextInformationPopupBackground(WHITE);
-            assistant.setProposalSelectorBackground(WHITE);
-            return assistant;
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Utility Methods
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    public boolean isFixedForm()
-    {
-        IFile file = getIFile();
-        if (file != null) return SourceForm.isFixedForm(getIFile());
-        
-        IEditorInput input = getEditorInput();
-        if (input != null) return SourceForm.isFixedForm(input.getName());
-        
-        return false;
-    }
-
-    public IFile getIFile()
-    {
-        IEditorInput input = getEditorInput();
-        return (input != null && input instanceof IFileEditorInput ? ((IFileEditorInput)input).getFile() : null);
-    }
-
-    public IDocument getIDocument()
-    {
-        IEditorInput input = getEditorInput();
-        if (input == null) return null;
-
-        IDocumentProvider dp = getDocumentProvider();
-        if (dp == null) return null;
-
-        return dp.getDocument(input);
-    }
-
-    public ITextSelection getSelection()
-    {
-        ISelectionProvider provider = getSelectionProvider();
-        if (provider == null) return null;
-
-        ISelection sel = provider.getSelection();
-        if (!(sel instanceof ITextSelection)) return null;
-
-        return (ITextSelection)sel;
-    }
-
-    public Shell getShell()
-    {
-        return getSite().getShell();
-    }
-
-    public ISourceViewer getSourceViewerx() // Annoyingly, the superclass method is declared final
-    {
-        return super.getSourceViewer();
-    }
-
-    public IReconciler getReconciler()
-    {
-        return getSourceViewerConfiguration().getReconciler(getSourceViewer());
-    }
-
-    public void propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent event)
-    {
-        boolean convertTabs = FortranPreferences.CONVERT_TABS_TO_SPACES.getValue();
-        if (convertTabs && tabToSpacesConverter == null)
-            installTabsToSpacesConverter();
-        else if (!convertTabs && tabToSpacesConverter != null)
-            uninstallTabsToSpacesConverter();
-
-        if (tabToSpacesConverter != null)
-            tabToSpacesConverter.setNumberOfSpacesPerTab(FortranPreferences.TAB_WIDTH.getValue());
-    }
-
-    @Override
-    public void dispose()
-    {
-        FortranCorePlugin.getDefault().getPluginPreferences().removePropertyChangeListener(this);
-        super.dispose();
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranKeywordRuleBasedScanner.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranKeywordRuleBasedScanner.java
deleted file mode 100644
index c9a0178..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranKeywordRuleBasedScanner.java
+++ /dev/null
@@ -1,470 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
-import org.eclipse.jface.resource.StringConverter;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.EndOfLineRule;
-import org.eclipse.jface.text.rules.ICharacterScanner;
-import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.IWordDetector;
-import org.eclipse.jface.text.rules.MultiLineRule;
-import org.eclipse.jface.text.rules.RuleBasedScanner;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.intrinsics.IntrinsicProcDescription;
-import org.eclipse.photran.internal.core.intrinsics.Intrinsics;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-import org.eclipse.photran.internal.core.preferences.FortranRGBPreference;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Scans for Fortran keywords to perform syntax highlighting.
- *
- * @author Jeff Overbey
- */
-@SuppressWarnings("deprecation")
-public class FortranKeywordRuleBasedScanner extends RuleBasedScanner
-{
-    ///////////////////////////////////////////////////////////////////////////
-    // Constants - Words to highlight
-    ///////////////////////////////////////////////////////////////////////////
-
-    private static String[] fgKeywords = { "ACCESS", "ACTION", "ADVANCE", "ALLOCATABLE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-                                          "ALLOCATE", "ASSIGN", "ASSIGNMENT", "ASSOCIATE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-                                          "ASYNCHRONOUS", "BACKSPACE", "BIND", "BLANK", "BLOCK", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "BLOCKDATA", "CALL", "CASE", "CLOSE", "CLASS", "COMMON", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-                                          "CONTAINS", "CONTINUE", "CYCLE", "DATA", "DEALLOCATE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "DEFAULT", "DELIM", "DIMENSION", "DIRECT", "DO", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "DOUBLE", "DOUBLECOMPLEX", "DOUBLEPRECISION", "ELEMENTAL", "ELSE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "ELSEIF", "ELSEWHERE", "END", "ENDBLOCK", "ENDBLOCKDATA", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "ENDDO", "ENDFILE", "ENDIF", "ENTRY", "EOR", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "EQUIVALENCE", "ERR", "EXIST", "EXIT", "EXTENDS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "EXTENSIBLE", "EXTERNAL", "FILE", "FMT", "FLUSH", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "FORALL", "FORM", "FORMAT", "FORMATTED", "FUNCTION", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "GOTO", "IF", "IMPLICIT", "IN", "INOUT", "INCLUDE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-                                          "INQUIRE", "INTENT", "INTERFACE", "INTRINSIC", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-                                          "IOLENGTH", "IOSTAT", "INSTRINSIC", "KIND", "LEN", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "MODULE", "NAME", "NAMED", "NAMELIST", "NEXTREC", "NML", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-                                          "NONE", "NON_OVERRIDABLE", "NOPASS", "NULLIFY", "NUMBER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "ONLY", "OPEN", "OPENED", "OPERATOR", "OPTIONAL", "OUT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-                                          "PAD", "PARAMETER", "PASS", "PAUSE", "POINTER", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "POSITION", "PRECISION", "PRINT", "PRIVATE", "PROCEDURE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "PROGRAM", "PROTECTED", "PUBLIC", "PURE", "READ", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "READWRITE", "REC", "RECL", "RECURSIVE", "RESULT", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "RETURN", "REWIND", "SAVE", "SELECT", "SEQUENCE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "SEQUENTIAL", "SIZE", "STAT", "STATUS", "STOP", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "SUBROUTINE", "TARGET", "THEN", "TO", "TYPE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "UNFORMATTED", //$NON-NLS-1$
-                                          "UNIT", //$NON-NLS-1$
-                                          "USE", //$NON-NLS-1$
-                                          "VOLATILE", //$NON-NLS-1$
-                                          "WHERE", //$NON-NLS-1$
-                                          "WHILE", //$NON-NLS-1$
-                                          "WRITE", //$NON-NLS-1$
-                                          // Fortran 2003 keywords to highlight
-                                          "EXTENDS", "ABSTRACT", "BIND", "GENERIC", "PASS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "NOPASS", "NON_OVERRIDABLE", "DEFERRED", "FINAL", "ENUM", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "ENUMERATOR", "CLASS", "VALUE", "ASSOCIATE", "IS", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "WAIT", //$NON-NLS-1$
-                                          "NON_INTRINSIC", //$NON-NLS-1$
-                                          "IMPORT", //$NON-NLS-1$
-                                          // Fortran 2008 keywords to highlight
-                                          "SUBMODULE", "ENDSUBMODULE", "ENDPROCEDURE", "IMPURE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-                                          "CODIMENSION", "CONTIGUOUS", "CRITICAL", "ENDCRITICAL", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-                                          "ALL", "ALLSTOP", "SYNC", "SYNCALL", "SYNCIMAGES", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                          "IMAGES", "SYNCMEMORY", "MEMORY", "LOCK", "UNLOCK" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
-    //private static String[] fgTextualOperators = { ".AND.", ".EQ.", ".EQV.", ".FALSE.", ".GE.", ".GT.", ".LE.", ".LT.", ".NE.", ".NEQV.", ".NOT.", ".OR.", ".TRUE." };
-    private static String[] fgTextualOperators = { "AND", "EQ", "EQV", "FALSE", "GE", "GT", "LE", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
-                                                   "LT", "NE", "NEQV", "NOT", "OR", "TRUE" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-
-    private static String[] fgTypes = { "REAL", "INTEGER", "CHARACTER", "LOGICAL", "COMPLEX" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
-    private static String[] fgPreprocessor = { "INCLUDE", "#include", "#error", "#warning", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-                                              "#pragma", "#ifdef", "#ifndef", "#if", "#else", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-                                              "#elif", "#endif", "#line" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Fields - colors
-    ///////////////////////////////////////////////////////////////////////////
-
-    private Token colorCpp = createTokenFromRGBPreference(FortranPreferences.COLOR_CPP);
-
-    private Token colorStrings = createTokenFromRGBPreference(FortranPreferences.COLOR_STRINGS);
-
-    private Token colorComments = createTokenFromRGBPreference(FortranPreferences.COLOR_COMMENTS);
-
-    private Token colorIdentifiers = createTokenFromRGBPreference(FortranPreferences.COLOR_IDENTIFIERS);
-
-    private Token colorIntrinsics = createTokenFromRGBPreference(FortranPreferences.COLOR_INTRINSICS);
-
-    private Token colorKeywords = createTokenFromRGBPreference(FortranPreferences.COLOR_KEYWORDS);
-
-    private Token colorNumbersAndPunctuation = createTokenFromRGBPreference(FortranPreferences.COLOR_NUMBERS_PUNCTUATION);
-    
-    private static Token createTokenFromRGBPreference(FortranRGBPreference p)
-    {
-        int style;
-        if (p == FortranPreferences.COLOR_KEYWORDS || p == FortranPreferences.COLOR_CPP)
-            style = SWT.BOLD;
-        else if (p == FortranPreferences.COLOR_INTRINSICS)
-            style = SWT.ITALIC;
-        else
-            style = SWT.NONE;
-
-        return new Token(new TextAttribute(new Color(null, p.getValue()), null, style));
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Constructor
-    ///////////////////////////////////////////////////////////////////////////
-
-    public FortranKeywordRuleBasedScanner(boolean isFixedForm, ISourceViewer sourceViewer)
-    {
-        FortranCorePlugin.getDefault().getPluginPreferences().addPropertyChangeListener(new PreferenceChangeListener(sourceViewer));
-
-        IRule[] rules = new IRule[isFixedForm ? 6+4+1 : 6];
-        int i = 0;
-
-        rules[i++] = new EndOfLineRule("#", colorCpp); //$NON-NLS-1$
-
-        rules[i++] = new MultiLineRule("\"", "\"", colorStrings); //$NON-NLS-1$ //$NON-NLS-2$
-        rules[i++] = new MultiLineRule("'", "'", colorStrings); //$NON-NLS-1$ //$NON-NLS-2$
-
-        rules[i++] = new EndOfLineRule("!", colorComments); //$NON-NLS-1$
-
-        if (isFixedForm)
-        {
-            for (char ch : new char[] { 'c', 'C', '!', '*' })
-            {
-                EndOfLineRule c1 = new EndOfLineRule(new String(new char[] { ch }), colorComments);
-                c1.setColumnConstraint(0);
-                rules[i++] = c1;
-            }
-
-            IRule c3 = new FixedFormColumnCommentRule();
-            rules[i++] = c3;
-
-            //salesRule = new FixedFormIdentifierWordRule(new FortranWordDetector(), colorIdentifiers);
-            //wordRule = new FixedFormIdentifierWordRule(new FortranWordDetector(), colorIdentifiers);
-        }
-
-        Eclipse33WordRule wordRule = new Eclipse33WordRule(new FortranWordDetector(), Token.UNDEFINED, true);
-        SalesScanKeywordRule salesRule = new SalesScanKeywordRule(new FortranWordDetector(), colorIdentifiers);
-
-        createSpecialWordRules(salesRule, wordRule);
-        rules[i++] = wordRule;
-        rules[i++] = salesRule; // Apply Sales last, since it will mark "everything else" as an identifier
-
-        setRules(rules);
-
-        // Punctuation, numbers, etc.
-        setDefaultReturnToken(colorNumbersAndPunctuation);
-    }
-
-    private void createSpecialWordRules(SalesScanKeywordRule salesRule, Eclipse33WordRule wordRule)
-    {
-        // If a word appears more than once (e.g., "real" or "len"), the LAST rule assigned to it will apply
-
-        for (int i = 0; i < fgTextualOperators.length; i++)
-            wordRule.addWord(fgTextualOperators[i], colorKeywords);
-
-        for (IntrinsicProcDescription proc : Intrinsics.getAllIntrinsicProcedures())
-            salesRule.addIdentifier(proc.genericName, colorIntrinsics);
-        for (int i = 0; i < fgPreprocessor.length; i++)
-            salesRule.addWord(fgPreprocessor[i], colorKeywords);
-        for (int i = 0; i < fgTypes.length; i++)
-            salesRule.addWord(fgTypes[i], colorKeywords);
-        for (int i = 0; i < fgKeywords.length; i++)
-            salesRule.addWord(fgKeywords[i], colorKeywords);
-    }
-
-    /**
-     * Updates the display when the editor's colors are changed
-     */
-    private final class PreferenceChangeListener implements IPropertyChangeListener
-    {
-        private ISourceViewer sourceViewer;
-
-        PreferenceChangeListener(ISourceViewer sourceViewer)
-        {
-            this.sourceViewer = sourceViewer;
-        }
-
-        public void propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent event)
-        {
-            String property = event.getProperty();
-            String newVal = event.getNewValue() instanceof String ? (String)event.getNewValue() : null;
-
-            if (property.equals(FortranPreferences.COLOR_COMMENTS.getName()))
-                updateToken(colorComments, newVal);
-            else if (property.equals(FortranPreferences.COLOR_CPP.getName()))
-                updateToken(colorCpp, newVal);
-            else if (property.equals(FortranPreferences.COLOR_STRINGS.getName()))
-                updateToken(colorStrings, newVal);
-            else if (property.equals(FortranPreferences.COLOR_IDENTIFIERS.getName()))
-                updateToken(colorIdentifiers, newVal);
-            else if (property.equals(FortranPreferences.COLOR_INTRINSICS.getName()))
-                updateToken(colorIntrinsics, newVal);
-            else if (property.equals(FortranPreferences.COLOR_KEYWORDS.getName()))
-                updateToken(colorKeywords, newVal);
-            else if (property.equals(FortranPreferences.COLOR_NUMBERS_PUNCTUATION.getName()))
-                updateToken(colorNumbersAndPunctuation, newVal);
-        }
-
-        private void updateToken(Token token, String newColor)
-        {
-            Object data = token.getData();
-            if (data instanceof TextAttribute)
-            {
-                TextAttribute oldAttr = (TextAttribute)data;
-                token.setData(new TextAttribute(new Color(null, StringConverter.asRGB(newColor)),
-                                                oldAttr.getBackground(),
-                                                oldAttr.getStyle()));
-            }
-
-            // Force redraw of entire editor text
-            sourceViewer.invalidateTextPresentation();
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Inner Class - for handling column-based issues in fixed form sources
-    ///////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Rule for highlighting fixed form code which detects tokens past column 72
-     * (or whatever column the user specified in their workspace preferences)
-     * as a comment.
-     */
-    private final class FixedFormColumnCommentRule implements IRule
-    {
-        public IToken evaluate(ICharacterScanner scanner)
-        {
-            final int commentColumn = FortranPreferences.FIXED_FORM_COMMENT_COLUMN.getValue();
-            
-            IToken result = Token.UNDEFINED;
-            scanner.read();
-            if (scanner.getColumn() > commentColumn)
-            {
-                result = colorComments;
-                do
-                    scanner.read();
-                while (scanner.getColumn() > commentColumn);
-            }
-            scanner.unread();
-            return result;
-        }
-    }
-
-    /**
-     * Word detector for Fortran identifiers and generic operators.
-     */
-    private static final class FortranWordDetector implements IWordDetector
-    {
-        public boolean isWordStart(char c)
-        {
-            return Character.isJavaIdentifierStart(c);
-        }
-
-        public boolean isWordPart(char c)
-        {
-            return Character.isJavaIdentifierPart(c);
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Inner Class - WordRule from Eclipse 3.3
-    ///////////////////////////////////////////////////////////////////////////
-
-    /*******************************************************************************
-     * Copyright (c) 2000, 2006 IBM Corporation and others.
-     * All rights reserved. This program and the accompanying materials
-     * are made available under the terms of the Eclipse Public License v1.0
-     * which accompanies this distribution, and is available at
-     * http://www.eclipse.org/legal/epl-v10.html
-     *
-     * Contributors:
-     *     IBM Corporation - initial API and implementation
-     *******************************************************************************/
-    /**
-     * An implementation of <code>IRule</code> capable of detecting words
-     * Word rules also allow for the association of tokens with specific words.
-     * That is, not only can the rule be used to provide tokens for exact matches,
-     * but also for the generalized notion of a word in the context in which it is used.
-     * A word rules uses a word detector to determine what a word is.
-     *
-     * @see IWordDetector
-     */
-    private static class Eclipse33WordRule implements IRule {
-
-        /** Internal setting for the un-initialized column constraint. */
-        protected static final int UNDEFINED= -1;
-
-        /** The word detector used by this rule. */
-        protected IWordDetector fDetector;
-        /** The default token to be returned on success and if nothing else has been specified. */
-        protected IToken fDefaultToken;
-        /** The column constraint. */
-        protected int fColumn= UNDEFINED;
-        /** The table of predefined words and token for this rule. */
-        protected Map<String, IToken> fWords= new HashMap<String, IToken>();
-        /** Buffer used for pattern detection. */
-        private StringBuffer fBuffer= new StringBuffer();
-        /**
-         * Tells whether this rule is case sensitive.
-         * @since 3.3
-         */
-        private boolean fIgnoreCase= false;
-
-        /**
-         * Creates a rule which, with the help of an word detector, will return the token
-         * associated with the detected word. If no token has been associated, the scanner
-         * will be rolled back and an undefined token will be returned in order to allow
-         * any subsequent rules to analyze the characters.
-         *
-         * @param detector the word detector to be used by this rule, may not be <code>null</code>
-         * @see #addWord(String, IToken)
-         */
-        @SuppressWarnings("unused")
-        public Eclipse33WordRule(IWordDetector detector) {
-            this(detector, Token.UNDEFINED, false);
-        }
-
-        /**
-         * Creates a rule which, with the help of a word detector, will return the token
-         * associated with the detected word. If no token has been associated, the
-         * specified default token will be returned.
-         *
-         * @param detector the word detector to be used by this rule, may not be <code>null</code>
-         * @param defaultToken the default token to be returned on success
-         *          if nothing else is specified, may not be <code>null</code>
-         * @see #addWord(String, IToken)
-         */
-        @SuppressWarnings("unused")
-        public Eclipse33WordRule(IWordDetector detector, IToken defaultToken) {
-            this(detector, defaultToken, false);
-        }
-
-        /**
-         * Creates a rule which, with the help of a word detector, will return the token
-         * associated with the detected word. If no token has been associated, the
-         * specified default token will be returned.
-         *
-         * @param detector the word detector to be used by this rule, may not be <code>null</code>
-         * @param defaultToken the default token to be returned on success
-         *          if nothing else is specified, may not be <code>null</code>
-         * @param ignoreCase the case sensitivity associated with this rule
-         * @see #addWord(String, IToken)
-         * @since 3.3
-         */
-        public Eclipse33WordRule(IWordDetector detector, IToken defaultToken, boolean ignoreCase) {
-            Assert.isNotNull(detector);
-            Assert.isNotNull(defaultToken);
-
-            fDetector= detector;
-            fDefaultToken= defaultToken;
-            fIgnoreCase= ignoreCase;
-        }
-
-        /**
-         * Adds a word and the token to be returned if it is detected.
-         *
-         * @param word the word this rule will search for, may not be <code>null</code>
-         * @param token the token to be returned if the word has been found, may not be <code>null</code>
-         */
-        public void addWord(String word, IToken token) {
-            Assert.isNotNull(word);
-            Assert.isNotNull(token);
-
-            fWords.put(word, token);
-        }
-
-        /**
-         * Sets a column constraint for this rule. If set, the rule's token
-         * will only be returned if the pattern is detected starting at the
-         * specified column. If the column is smaller then 0, the column
-         * constraint is considered removed.
-         *
-         * @param column the column in which the pattern starts
-         */
-        @SuppressWarnings("unused")
-        public void setColumnConstraint(int column) {
-            if (column < 0)
-                column= UNDEFINED;
-            fColumn= column;
-        }
-
-        /*
-         * @see IRule#evaluate(ICharacterScanner)
-         */
-        public IToken evaluate(ICharacterScanner scanner) {
-            int c= scanner.read();
-            if (c != ICharacterScanner.EOF && fDetector.isWordStart((char) c)) {
-                if (fColumn == UNDEFINED || (fColumn == scanner.getColumn() - 1)) {
-
-                    fBuffer.setLength(0);
-                    do {
-                        fBuffer.append((char) c);
-                        c= scanner.read();
-                    } while (c != ICharacterScanner.EOF && fDetector.isWordPart((char) c));
-                    scanner.unread();
-
-                    String buffer= fBuffer.toString();
-                    IToken token= fWords.get(buffer);
-
-                    if(fIgnoreCase) {
-                        for (String key : fWords.keySet()) {
-                            if(buffer.equalsIgnoreCase(key)) {
-                                token= fWords.get(key);
-                                break;
-                            }
-                        }
-                    } else
-                        token= (IToken)fWords.get(buffer);
-
-                    if (token != null)
-                        return token;
-
-                    if (fDefaultToken.isUndefined())
-                        unreadBuffer(scanner);
-
-                    return fDefaultToken;
-                }
-            }
-
-            scanner.unread();
-            return Token.UNDEFINED;
-        }
-
-        /**
-         * Returns the characters in the buffer to the scanner.
-         *
-         * @param scanner the scanner to be used
-         */
-        protected void unreadBuffer(ICharacterScanner scanner) {
-            for (int i= fBuffer.length() - 1; i >= 0; i--)
-                scanner.unread();
-        }
-
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranSourceViewer.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranSourceViewer.java
deleted file mode 100644
index 1f4a5e1..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranSourceViewer.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009, 2010 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     QNX Software Systems - initial API and implementation
- *     Sergey Prigogin, Google
- *     Anton Leherbauer (Wind River Systems)
- *     Markus Schorn (Wind River Systems)
- *     Jeff Overbey (UIUC) - Excerpted and modified CSourceViewer for Photran
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor;
-
-import org.eclipse.cdt.internal.ui.editor.IndentUtil;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentRewriteSession;
-import org.eclipse.jface.text.DocumentRewriteSessionType;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentExtension4;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.source.IOverviewRuler;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Custom source viewer for the Fortran editor.
- * <p>
- * This source viewer
- * <ul>
- * <li>includes a horizontal (column) ruler; and
- * <li>uses spaces, rather than tabs, to implement the Shift Left and Shift Right actions if the
- *     corresponding workspace preference is enabled.
- * </ul>
- * 
- * @author Jeff Overbey based on CSourceViewer (see attributions in copyright header)
- */
-@SuppressWarnings("restriction")
-public class FortranSourceViewer extends ProjectionViewer
-{
-    //private static final int TAB_WIDTH = 4;
-    
-    public FortranSourceViewer(
-        Composite parent,
-        IVerticalRuler ruler,
-        IOverviewRuler overviewRuler,
-        boolean showsAnnotationOverview,
-        int styles)
-    {
-        super(parent, ruler, overviewRuler, showsAnnotationOverview, styles);
-    }
-
-    @Override protected void createControl(Composite parent, int styles)
-    {
-        if (FortranPreferences.ENABLE_RULER.getValue())
-        {
-            Composite composite = new Composite(parent, SWT.NONE);
-            GridLayout layout = new GridLayout(1, false);
-            layout.horizontalSpacing = 0;
-            layout.verticalSpacing = 1;
-            layout.marginWidth = layout.marginHeight = 0;
-            composite.setLayout(layout);
-            
-            HorizontalRuler ruler = new HorizontalRuler(composite, SWT.NONE);
-            GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false);
-            gridData.heightHint = 15;
-            ruler.setLayoutData(gridData);
-            ruler.setSize(ruler.getSize().x, 15);
-            
-            Composite editorWrapper = new Composite(composite, SWT.NONE);
-            editorWrapper.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-            editorWrapper.setLayout(new FillLayout());
-            super.createControl(editorWrapper, styles);
-            
-            ruler.configure(getVerticalRuler(), getTextWidget());
-            
-            parent.layout(true);
-        }
-        else super.createControl(parent, styles);
-    }
-
-    @Override
-    protected void shift(boolean useDefaultPrefixes, boolean right, boolean ignoreWhitespace) {
-        if (!useDefaultPrefixes && FortranPreferences.CONVERT_TABS_TO_SPACES.getValue())
-            adjustIndent(right, FortranPreferences.TAB_WIDTH.getValue(), true);
-        else
-            super.shift(useDefaultPrefixes, right, ignoreWhitespace);
-    }
-
-    /**
-     * Increase/decrease indentation of current selection.
-     * 
-     * @param increase  if <code>true</code>, indent is increased by one unit
-     * @param shiftWidth  width in spaces of one indent unit
-     * @param useSpaces  if <code>true</code>, only spaces are used for indentation
-     */
-    protected void adjustIndent(boolean increase, int shiftWidth, boolean useSpaces) {
-        if (fUndoManager != null) {
-            fUndoManager.beginCompoundChange();
-        }
-        IDocument d= getDocument();
-        DocumentRewriteSession rewriteSession= null;
-        try {
-            if (d instanceof IDocumentExtension4) {
-                IDocumentExtension4 extension= (IDocumentExtension4) d;
-                rewriteSession= extension.startRewriteSession(DocumentRewriteSessionType.SEQUENTIAL);
-            }
-
-            Point selection= getSelectedRange();
-
-            // perform the adjustment
-            int tabWidth= getTextWidget().getTabs();
-            int startLine= d.getLineOfOffset(selection.x);
-            int endLine= selection.y == 0 ? startLine : d.getLineOfOffset(selection.x + selection.y - 1);
-            for (int line= startLine; line <= endLine; ++line) {
-                IRegion lineRegion= d.getLineInformation(line);
-                String indent= IndentUtil.getCurrentIndent(d, line, false);
-                int indentWidth= IndentUtil.computeVisualLength(indent, tabWidth);
-                int newIndentWidth= Math.max(0, indentWidth + (increase ? shiftWidth : -shiftWidth));
-                String newIndent= IndentUtil.changePrefix(indent.trim(), newIndentWidth, tabWidth, useSpaces);
-                int commonLen= getCommonPrefixLength(indent, newIndent);
-                if (commonLen < Math.max(indent.length(), newIndent.length())) {
-                    if (commonLen > 0) {
-                        indent= indent.substring(commonLen);
-                        newIndent= newIndent.substring(commonLen);
-                    }
-                    final int offset= lineRegion.getOffset() + commonLen;
-                    if (!increase && newIndent.length() > indent.length() && indent.length() > 0) {
-                        d.replace(offset, indent.length(), ""); //$NON-NLS-1$
-                        d.replace(offset, 0, newIndent);
-                    } else {
-                        d.replace(offset, indent.length(), newIndent);
-                    }
-                }
-            }
-            
-        } catch (BadLocationException x) {
-            // ignored
-        } finally {
-            if (rewriteSession != null) {
-                ((IDocumentExtension4)d).stopRewriteSession(rewriteSession);
-            }
-            if (fUndoManager != null) {
-                fUndoManager.endCompoundChange();
-            }
-        }
-    }
-
-    /**
-     * Compute the length of the common prefix of two strings.
-     * 
-     * @param s1
-     * @param s2
-     * @return the length of the common prefix
-     */
-    private static int getCommonPrefixLength(String s1, String s2) {
-        final int l1= s1.length();
-        final int l2= s2.length();
-        int i= 0;
-        while (i < l1 && i < l2 && s1.charAt(i) == s2.charAt(i)) {
-            ++i;
-        }
-        return i;
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranTemplateCompletionProcessor.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranTemplateCompletionProcessor.java
deleted file mode 100644
index 8205da2..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranTemplateCompletionProcessor.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateCompletionProcessor;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.jface.text.templates.TemplateException;
-import org.eclipse.jface.text.templates.TemplateProposal;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-import org.eclipse.photran.internal.ui.FortranTemplateManager;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A completion processor for Fortran code templates.
- * <p>
- * In addition to overriding the required methods from {@link TemplateCompletionProcessor},
- * this class overrides {@link #computeCompletionProposals(ITextViewer, int)} in order to
- * (1) only suggest templates that start with the prefix entered by the user at
- * the insertion point, and (2) replace tabs and newlines in templates to make the template
- * appear &quot;correctly&quot; indented.
- * 
- * @author Jeff Overbey
- */
-public final class FortranTemplateCompletionProcessor extends TemplateCompletionProcessor
-{
-    @Override
-    protected TemplateContextType getContextType(ITextViewer viewer, IRegion region)
-    {
-        return FortranTemplateManager.getInstance().getContextTypeRegistry()
-            .getContextType(FortranTemplateContext.ID);
-    }
-
-    @Override
-    protected Template[] getTemplates(String contextTypeId)
-    {
-        return FortranTemplateManager.getInstance().getTemplateStore().getTemplates();
-    }
-
-    @Override
-    protected Image getImage(Template template)
-    {
-        return null; // return
-                     // FortranUIPlugin.getDefault().getImageRegistry().get(FortranUIPlugin.ICON_TEMPLATE);
-    }
-
-    /** @see TemplateCompletionProcessor#computeCompletionProposals(ITextViewer, int) */
-    @Override
-    public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int offset)
-    {
-        ITextSelection selection= (ITextSelection) viewer.getSelectionProvider().getSelection();
-
-        // adjust offset to end of normalized selection
-        if (selection.getOffset() == offset)
-            offset= selection.getOffset() + selection.getLength();
-
-        String prefix= extractPrefix(viewer, offset);
-        Region region= new Region(offset - prefix.length(), prefix.length());
-        TemplateContext context= createContext(viewer, region);
-        if (context == null)
-            return new ICompletionProposal[0];
-
-        context.setVariable("selection", selection.getText()); // name of the selection variables {line, word}_selection //$NON-NLS-1$
-
-        Template[] templates= getTemplates(context.getContextType().getId());
-        templates = adjustIndentation(templates, viewer, offset);
-
-        List<ICompletionProposal> matches= new ArrayList<ICompletionProposal>();
-        for (int i= 0; i < templates.length; i++) {
-            Template template= templates[i];
-            try {
-                context.getContextType().validate(template.getPattern());
-            } catch (TemplateException e) {
-                continue;
-            }
-            if (template.matches(prefix, context.getContextType().getId()) && templatePatternStartsWith(prefix, template))
-                matches.add(createProposal(template, context, (IRegion) region, getRelevance(template, prefix)));
-        }
-
-        Collections.sort(matches, new Comparator<ICompletionProposal>() {
-            public int compare(ICompletionProposal o1, ICompletionProposal o2) {
-                return ((TemplateProposal)o2).getRelevance() - ((TemplateProposal)o1).getRelevance();
-            }
-        });
-
-        return matches.toArray(new ICompletionProposal[matches.size()]);
-    }
-
-    private boolean templatePatternStartsWith(String prefix, Template template)
-    {
-        String pattern = template.getPattern();
-        if (pattern.startsWith("$")) // Skip prefix in "${return_type} FUNCTION..." template //$NON-NLS-1$
-            return pattern.substring(pattern.indexOf('}')+1).trim().startsWith(prefix);
-        else
-            return pattern.startsWith(prefix);
-    }
-
-    private Template[] adjustIndentation(Template[] templates, ITextViewer viewer, int offset)
-    {
-        String tabAsSpaces = FortranPreferences.TAB_WIDTH.getStringOfSpaces();
-        String currentLineIndentation = determineIndentation(viewer, offset);
-        
-        Template[] result = new Template[templates.length];
-        int i = 0;
-        for (Template t : templates)
-        {
-            result[i++] = new Template(
-                t.getName(),
-                t.getDescription(),
-                t.getContextTypeId(),
-                t.getPattern()
-                    .replace("\t", tabAsSpaces) //$NON-NLS-1$
-                    .replace("\n", "\n" + currentLineIndentation), //$NON-NLS-1$ //$NON-NLS-2$
-                t.isAutoInsertable());
-        }
-        return result;
-    }
-
-    private String determineIndentation(ITextViewer viewer, int offset)
-    {
-        try
-        {
-            IDocument doc = viewer.getDocument();
-            int startOfLine = doc.getLineOffset(doc.getLineOfOffset(offset));
-            StringBuilder prefix = new StringBuilder(doc.get(startOfLine, offset-startOfLine));
-            // Make sure that if we try to insert a template at "    call <template>",
-            // for example, we use "    " for the indentation string (so we can't just
-            // check whether the last character is whitespace)
-            while (prefix.length() > 0 && !prefix.toString().trim().equals("")) //$NON-NLS-1$
-                prefix.deleteCharAt(prefix.length()-1);
-            return prefix.toString();
-        }
-        catch (BadLocationException e)
-        {
-            return ""; //$NON-NLS-1$
-        }
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranTemplateContext.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranTemplateContext.java
deleted file mode 100644
index 8d91608..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranTemplateContext.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor;
-
-import org.eclipse.jface.text.templates.GlobalTemplateVariables;
-import org.eclipse.jface.text.templates.TemplateContextType;
-
-/**
- * Context for all Fortran templates.
- * 
- * @author Jeff Overbey
- */
-public class FortranTemplateContext extends TemplateContextType
-{
-    public static final String ID = "org.eclipse.photran.ui.template.context"; //$NON-NLS-1$
-    
-    public FortranTemplateContext()
-    {
-        // Determines what variables will be available in templates
-        addResolver(new GlobalTemplateVariables.Cursor());
-        addResolver(new GlobalTemplateVariables.WordSelection());
-        addResolver(new GlobalTemplateVariables.LineSelection());
-        addResolver(new GlobalTemplateVariables.Date());
-        addResolver(new GlobalTemplateVariables.Time());
-        addResolver(new GlobalTemplateVariables.Year());
-        addResolver(new GlobalTemplateVariables.User());
-        addResolver(new GlobalTemplateVariables.Dollar());
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/HorizontalRuler.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/HorizontalRuler.java
deleted file mode 100644
index 30cb3bd..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/HorizontalRuler.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor;
-
-import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
-import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CaretEvent;
-import org.eclipse.swt.custom.CaretListener;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Ruler displaying column numbers at the top of the Fortran editor.
- * 
- * @author Jeff Overbey
- * 
- * @see FortranSourceViewer#createControl(Composite, int)
- */
-@SuppressWarnings("deprecation")
-public final class HorizontalRuler extends Composite implements PaintListener, CaretListener, SelectionListener, ControlListener, IPropertyChangeListener
-{
-    private IVerticalRuler verticalRuler = null;
-    private StyledText styledText = null;
-    
-    public HorizontalRuler(Composite parent, int style)
-    {
-        super(parent, style);
-        
-        GridLayout layout = new GridLayout(1, false);
-        layout.horizontalSpacing = 0;
-        layout.verticalSpacing = 0;
-        layout.marginWidth = layout.marginHeight = 0;
-        setLayout(layout);
-        
-        addPaintListener(this);
-
-        FortranCorePlugin.getDefault().getPluginPreferences().addPropertyChangeListener(this);
-    }
-
-    public void configure(IVerticalRuler verticalRuler, StyledText styledText)
-    {
-        this.verticalRuler = verticalRuler;
-        this.styledText = styledText;
-        styledText.addCaretListener(this);
-        styledText.getHorizontalBar().addSelectionListener(this);
-        verticalRuler.getControl().addControlListener(this);
-    }
-
-    public void paintControl(PaintEvent e)
-    {
-        if (verticalRuler != null && styledText != null && !styledText.isDisposed())
-            new RulerPainter().paint(e.gc);
-    }
-
-    private final class RulerPainter
-    {
-        private int height = getSize().y;
-        private int controlWidth = getSize().x;
-        private int left = verticalRuler.getWidth() - styledText.getHorizontalPixel();
-        private int verticalRulerWidth = verticalRuler.getWidth();
-        private int scrollBarWidth = styledText.getVerticalBar().getSize().x;
-
-        private int characterWidth;
-        private int numCharsScrolled;
-        private int rulerWidth;
-
-        public void paint(GC gc)
-        {
-            gc.setFont(styledText.getFont());
-
-            characterWidth = gc.getFontMetrics().getAverageCharWidth();
-            numCharsScrolled = styledText.getHorizontalIndex();
-            rulerWidth = controlWidth - scrollBarWidth - left + numCharsScrolled*characterWidth;
-
-            drawBackground(gc);
-            if (isFixedWidthFont(gc))
-            {
-                drawTicks(gc);
-                drawTabs(gc);
-                drawNumbers(gc);
-            }
-            drawCursorPosition(gc);
-        }
-
-        private void drawBackground(GC gc)
-        {
-            gc.setBackground(gc.getDevice().getSystemColor(SWT.COLOR_GRAY));
-            gc.setForeground(gc.getDevice().getSystemColor(SWT.COLOR_WHITE));
-
-            //gc.fillRectangle(0, 0, controlWidth, height);
-            gc.fillGradientRectangle(0, 0, controlWidth, height*2, true);
-        }
-
-        private boolean isFixedWidthFont(GC gc)
-        {
-            return gc.getCharWidth('i') == gc.getCharWidth('w');
-        }
-
-        private void drawTicks(GC gc)
-        {
-            gc.setForeground(gc.getDevice().getSystemColor(SWT.COLOR_DARK_GRAY));
-
-            for (int i = 0; i <= rulerWidth/characterWidth; i++)
-            {
-                int x = left + i*characterWidth - characterWidth/2 + 1;
-                
-                int tickHeight;
-                if (i % 10 == 0)
-                    tickHeight = 0;
-                else if (i % 5 == 0)
-                    tickHeight = 3;
-                else
-                    tickHeight = 1;
-                
-                if (x >= verticalRulerWidth && tickHeight > 0)
-                {
-                    int center = height / 2;
-                    int y1 = center - tickHeight + 1;
-                    int y2 = center + tickHeight - 1;
-                    gc.drawLine(x, y1, x, y2);
-                }
-            }
-        }
-
-        private void drawTabs(GC gc)
-        {
-            gc.setBackground(gc.getDevice().getSystemColor(SWT.COLOR_GRAY));
-            
-            int tabSize = FortranPreferences.TAB_WIDTH.getValue();
-
-            for (int i = tabSize+1; i <= rulerWidth/characterWidth; i += tabSize)
-            {
-                int x = left + i*characterWidth - characterWidth/2 + 1;
-                int y = height-1;
-                if (x >= verticalRulerWidth)
-                {
-                    gc.fillPolygon(new int[]
-                        {
-                            x, y-3,
-                            x-3, y,
-                            x+3, y
-                        });
-                }
-            }
-        }
-
-        private void drawNumbers(GC gc)
-        {
-            gc.setForeground(gc.getDevice().getSystemColor(SWT.COLOR_DARK_GRAY));
-
-            Font origFont = gc.getFont();
-            gc.setFont(gc.getDevice().getSystemFont());
-            for (int i = 10; i <= rulerWidth/characterWidth; i += 10)
-            {
-                String string = Integer.toString(i/10);
-                string = string.substring(string.length()-1);
-                Point extent = gc.textExtent(string);
-                int x = left + i*characterWidth - (extent.x / 2) - 1;
-                int y = (height - extent.y) / 2;
-                if (x >= verticalRulerWidth)
-                    gc.drawText(string, x, y, true);
-            }
-            gc.setFont(origFont);
-        }
-
-        private void drawCursorPosition(GC gc)
-        {
-            gc.setForeground(gc.getDevice().getSystemColor(SWT.COLOR_GRAY));
-
-            Point caretLocation = styledText.getCaret().getLocation();
-            int rectWidth = isFixedWidthFont(gc)
-                ? gc.getFontMetrics().getAverageCharWidth()
-                : styledText.getCaret().getSize().x;
-            gc.drawRectangle(
-                verticalRulerWidth+caretLocation.x,
-                0,
-                rectWidth,
-                height-1);
-        }
-    }
-
-    public void caretMoved(CaretEvent event)
-    {
-        redraw();
-    }
-
-    public void widgetSelected(SelectionEvent e)
-    {
-        redraw();
-    }
-
-    public void widgetDefaultSelected(SelectionEvent e)
-    {
-        redraw();
-    }
-
-    public void controlMoved(ControlEvent e)
-    {
-        redraw();
-    }
-
-    public void controlResized(ControlEvent e)
-    {
-        redraw();
-    }
-
-    public void propertyChange(PropertyChangeEvent event)
-    {
-        redraw();
-    }
-    
-    @Override
-    public void dispose()
-    {
-        FortranCorePlugin.getDefault().getPluginPreferences().removePropertyChangeListener(this);
-        super.dispose();
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/IFortranSourceViewerConfigurationFactory.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/IFortranSourceViewerConfigurationFactory.java
deleted file mode 100755
index 15c02d5..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/IFortranSourceViewerConfigurationFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor;
-
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-
-/**
- * Interface implemented by a contribution to the
- * {@value org.eclipse.photran.internal.ui.editor.FortranEditor#SOURCE_VIEWER_CONFIG_EXTENSION_POINT_ID}
- * extension point.
- * 
- * @author Jeff Overbey
- */
-public interface IFortranSourceViewerConfigurationFactory
-{
-    SourceViewerConfiguration create(FortranEditor editor);
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/SalesScanKeywordRule.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/SalesScanKeywordRule.java
deleted file mode 100644
index 050faca..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/SalesScanKeywordRule.java
+++ /dev/null
@@ -1,711 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.editor;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.text.rules.ICharacterScanner;
-import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.IWordDetector;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.rules.WordRule;
-
-/**
- * Syntax highlighting rule which determines whether a word should be a keyword or an identifier.
- * <p>
- * The logic is based on Sale's algorithm, extended to handle Fortran 90, 2003, and 2008.
- * <p>
- * This is only vaguely similar to FreeFormLexerPhase2; this version is much faster but less
- * precise, as it is based on a character-by-character scan rather than a proper tokenization.
- * It only scans one line at a time and is therefore oblivious to continuation lines; this
- * makes it highlight continuation lines incorrectly (see Bugs 302318 and 301712).
- *
- * @see org.eclipse.jface.text.rules.WordRule
- *
- * @author Jeff Overbey (based on WordRule)
- */
-public class SalesScanKeywordRule extends WordRule implements IRule
-{
-    /** The word detector used by this rule. */
-    protected IWordDetector fDetector;
-
-    /** The default token to be returned on success and if nothing else has been specified. */
-    protected IToken fDefaultToken;
-
-    /** The table of predefined keywords and token for this rule. */
-    protected Map<String, IToken> fWords = new HashMap<String, IToken>();
-
-    /** The table of predefined identifiers and token for this rule. */
-    protected Map<String, IToken> fIdentifiers = new HashMap<String, IToken>();
-
-    /** Buffer used for pattern detection. */
-    private StringBuffer fBuffer = new StringBuffer();
-
-    /** Buffer used to store the entire line of text. */
-    private StringBuffer fLineBuffer = new StringBuffer();
-
-    /** The (1-based) column on which the scanned word starts. */
-    private int fWordCol = 0;
-
-    /**
-     * Creates a rule which, with the help of an word detector, will return the token associated
-     * with the detected word. If no token has been associated, the scanner will be rolled back and
-     * an undefined token will be returned in order to allow any subsequent rules to analyze the
-     * characters.
-     *
-     * @param detector the word detector to be used by this rule, may not be <code>null</code>
-     * @see #addWord(String, IToken)
-     */
-    public SalesScanKeywordRule(IWordDetector detector)
-    {
-        this(detector, Token.UNDEFINED);
-    }
-
-    /**
-     * Creates a rule which, with the help of a word detector, will return the token associated with
-     * the detected word. If no token has been associated, the specified default token will be
-     * returned.
-     *
-     * @param detector the word detector to be used by this rule, may not be <code>null</code>
-     * @param defaultToken the default token to be returned on success if nothing else is specified,
-     *            may not be <code>null</code>
-     * @see #addWord(String, IToken)
-     */
-    public SalesScanKeywordRule(IWordDetector detector, IToken defaultToken)
-    {
-        super(detector);
-
-        Assert.isNotNull(detector);
-        Assert.isNotNull(defaultToken);
-
-        fDetector = detector;
-        fDefaultToken = defaultToken;
-    }
-
-    /**
-     * Adds a keyword and the token to be returned if it is used as a keyword
-     * rather than an identifier.
-     *
-     * @param word the word this rule will search for, may not be <code>null</code>
-     * @param token the token to be returned if the word has been found, may not be
-     *            <code>null</code>
-     */
-    @Override public void addWord(String word, IToken token)
-    {
-        Assert.isNotNull(word);
-        Assert.isNotNull(token);
-
-        fWords.put(word.toLowerCase(), token);
-    }
-
-    /**
-     * Adds an identifier and the token to be returned if it is not used as a keyword.
-     *
-     * @param word the word this rule will search for, may not be <code>null</code>
-     * @param token the token to be returned if the word has been found, may not be
-     *            <code>null</code>
-     */
-    public void addIdentifier(String word, IToken token)
-    {
-        Assert.isNotNull(word);
-        Assert.isNotNull(token);
-
-        fIdentifiers.put(word.toLowerCase(), token);
-    }
-
-    /*
-     * @see IRule#evaluate(ICharacterScanner)
-     */
-    @Override public IToken evaluate(ICharacterScanner scanner)
-    {
-        int c = scanner.read();
-        if (c != ICharacterScanner.EOF && fDetector.isWordStart((char)c))
-        {
-                scanner.unread();
-                populateBuffers(scanner);
-
-                String buffer = fBuffer.toString().toLowerCase();
-
-                IToken token = fWords.get(buffer);
-                if (token != null)
-                    return salesScan(token, (IToken)fIdentifiers.get(buffer));
-
-                if (fDefaultToken.isUndefined())
-                    for (int i = fBuffer.length() - 1; i >= 0; i--)
-                        scanner.unread();
-
-                if (fIdentifiers.containsKey(buffer))
-                    return fIdentifiers.get(buffer);
-                else
-                    return fDefaultToken;
-        }
-
-        scanner.unread();
-        return Token.UNDEFINED;
-    }
-
-    private void populateBuffers(ICharacterScanner scanner)
-    {
-        fBuffer.setLength(0);
-        fLineBuffer.setLength(0);
-
-        readPrefix(scanner);
-        readWord(scanner);
-        readSuffix(scanner);
-
-        fixLineBuffer();
-    }
-
-    private void readPrefix(ICharacterScanner scanner)
-    {
-        fWordCol = scanner.getColumn();
-
-        for (int i = 0; i < fWordCol; i++)
-            scanner.unread();
-
-        for (int i = 0; i < fWordCol; i++)
-            fLineBuffer.append((char)scanner.read());
-
-    }
-
-    private void readWord(ICharacterScanner scanner)
-    {
-        int c = scanner.read();
-        do
-        {
-            fBuffer.append((char)c);
-            fLineBuffer.append((char)c);
-            c = scanner.read();
-        }
-        while (c != ICharacterScanner.EOF && fDetector.isWordPart((char)c));
-        scanner.unread();
-    }
-
-    // There is a better way to detect end-of-lines
-    // (see org.eclipse.jface.text.rules.PatternRule#endSequenceDetected)
-    private void readSuffix(ICharacterScanner scanner)
-    {
-        int startCol = scanner.getColumn();
-        int count = 1;
-
-        int c = scanner.read();
-        if (c == ICharacterScanner.EOF || scanner.getColumn() < startCol) return;
-        do
-        {
-            count++;
-            fLineBuffer.append((char)c);
-            c = scanner.read();
-        }
-        while (c != ICharacterScanner.EOF && scanner.getColumn() > startCol);
-
-        for (int i = 0; i < count; i++)
-            scanner.unread();
-    }
-
-    private void fixLineBuffer()
-    {
-        removeStringLiterals();
-        removeTrailingComment();
-        removeConcatenatedStatements();
-    }
-
-    private void removeStringLiterals()
-    {
-        boolean inString = false;
-
-        for (int i = 0, length = fLineBuffer.length(); i < length; i++)
-        {
-            char thisChar = fLineBuffer.charAt(i);
-            char nextChar = i+1 < length ? fLineBuffer.charAt(i+1) : '\0';
-
-            if ((thisChar == '\"' || thisChar == '\'') && !inString)
-                inString = true;
-            else if ((thisChar == '\"' || thisChar == '\'') && inString)
-                inString = (nextChar == '\"');
-
-            if (inString || thisChar == '\"' || thisChar == '\'')
-                fLineBuffer.setCharAt(i, ' ');
-        }
-    }
-
-    private void removeTrailingComment()
-    {
-       int excl = fLineBuffer.lastIndexOf("!"); //$NON-NLS-1$
-       if (excl >= 0)
-       {
-           for (int i = excl, length = fLineBuffer.length(); i < length; i++)
-               fLineBuffer.setCharAt(i, ' ');
-       }
-    }
-
-    private void removeConcatenatedStatements()
-    {
-        int precedingSemicolon = fLineBuffer.indexOf(";"); //$NON-NLS-1$
-        while (precedingSemicolon > 0 && precedingSemicolon < fWordCol)
-        {
-            for (int i = 0; i <= precedingSemicolon; i++)
-                fLineBuffer.setCharAt(i, ' ');
-
-            precedingSemicolon = fLineBuffer.indexOf(";", precedingSemicolon+1); //$NON-NLS-1$
-        }
-
-        int followingSemicolon = fLineBuffer.indexOf(";", fWordCol); //$NON-NLS-1$
-        if (followingSemicolon > 0)
-            for (int i = followingSemicolon, length = fLineBuffer.length(); i < length; i++)
-                fLineBuffer.setCharAt(i, ' ');
-    }
-
-    private IToken salesScan(IToken tokenIfKeyword, IToken tokenIfIdentifier)
-    {
-        SalesScanner salesScanner = new SalesScanner(fLineBuffer.toString(), fBuffer.toString());
-        boolean retainAsKeyword = salesScanner.retainAsKeyword(fWordCol);
-
-//        System.out.println();
-//        System.out.println("\"" + fLineBuffer + "\"");
-//        System.out.println("\"" + fBuffer + "\"");
-//        System.out.println("Position " + fWordCol);
-//        System.out.println("First token at column " + (salesScanner.firstTokenPos));
-//        System.out.println("First token following ) at " + (salesScanner.tokenFollowingParentheticalPos));
-//        System.out.println("Open context comma?   " + salesScanner.openContextComma);
-//        System.out.println("Open context equals?  " + salesScanner.openContextEquals);
-//        System.out.println("Letter follows paren? " + salesScanner.letterFollowsParenthetical);
-
-        if (retainAsKeyword)
-            return tokenIfKeyword;
-        else if (tokenIfIdentifier == null)
-            return fDefaultToken;
-        else
-            return tokenIfIdentifier;
-    }
-
-    /**
-     * Sale's algorithm determines whether the first token is a keyword
-     * or an identifier as well as the first token after the first
-     * closing parenthesis at the top level.
-     * <p>
-     * To apply Sale's algorithm, we must identify whether there is
-     * <ul>
-     * <li>an open context comma,
-     * <li>an open context equals, and/or
-     * <li>a letter immediately following a right parenthesis
-     * </ul>
-     */
-    private static class SalesScanner
-    {
-        private String line, keyword;
-        private int length;
-        private int pos;
-
-        private boolean lineContainsColonColon;
-        private boolean[] inParens;
-
-        private boolean openContextComma;
-        private boolean openContextEquals;
-        private boolean letterFollowsParenthetical;
-
-        private int firstTokenPos = -1;
-        private int tokenFollowingParentheticalPos = -1;
-
-        public SalesScanner(String line, String keyword)
-        {
-            this.line = line;
-            this.keyword = keyword;
-            this.length = line.length();
-            this.pos = 0;
-            this.inParens = new boolean[line.length()];
-
-            this.firstTokenPos = findFirstToken();
-            scan();
-        }
-
-        private int findFirstToken()
-        {
-            int start = 0;
-
-            int cc = line.indexOf("::"); //$NON-NLS-1$
-            lineContainsColonColon = cc > 0;
-            if (lineContainsColonColon) start = cc + 2;
-
-            int pos = skipWhitespace(start);
-            if (pos >= 0 && Character.isDigit(line.charAt(pos)))
-            {
-                // Line (possibly) starts with an integer label
-                pos = skipInteger(pos);
-                pos = skipWhitespace(pos);
-            }
-
-            pos = skipConstructLabel(pos);
-            pos = skipWhitespace(pos);
-
-            return pos;
-        }
-
-        private int skipWhitespace(int start)
-        {
-            for (pos = start; pos < length; pos++)
-                if (!Character.isWhitespace(line.charAt(pos)))
-                    return pos;
-
-            return 0;
-        }
-
-        private int skipInteger(int start)
-        {
-            for (pos = start; pos < length; pos++)
-                if (!Character.isDigit(line.charAt(pos)))
-                    return pos;
-
-            return 0;
-        }
-
-        private int skipConstructLabel(int start)
-        {
-            for (pos = start; pos < length; pos++)
-            {
-                char ch = line.charAt(pos);
-                if (Character.isLetterOrDigit(ch) || ch == '_')
-                    continue;
-                else if (ch == ':')
-                    return pos+1;
-                else
-                    return start;
-            }
-
-            return start;
-        }
-
-        private void scan()
-        {
-            openContextComma = false;
-            openContextEquals = false;
-            letterFollowsParenthetical = false;
-
-            int currentParenDepth = 0;          // Track nested parentheses
-            boolean justClosedParen = false;    // Does this token immediately follow T_RPAREN?
-            boolean firstParenthetical = true;  // Is this the first non-nested T_RPAREN?
-            boolean inArrayLiteral = false;     // Are we inside an (/ array literal /)
-            boolean followingThen = false;      // Have we seen a THEN token
-
-            for (pos = 0; pos < length; pos++)
-            {
-                if (currentParenDepth == 0)
-                {
-                    if (match("(/")) //$NON-NLS-1$
-                        inArrayLiteral = true;
-                    else if (match("/)")) //$NON-NLS-1$
-                        inArrayLiteral = false;
-                    else if (match("then")) //$NON-NLS-1$
-                        followingThen = true;
-
-                    if (!inArrayLiteral)
-                    {
-                        // The pos test ensures that we don't match the = in "integer, kind=3 :: if"
-                        if (match(",") && pos >= firstTokenPos) //$NON-NLS-1$
-                            openContextComma = true;
-                        else if (match("=") && pos >= firstTokenPos && !followingThen) //$NON-NLS-1$
-                            openContextEquals = true;
-
-                        if (justClosedParen && firstParenthetical)
-                        {
-                            firstParenthetical = false;
-                            tokenFollowingParentheticalPos = nextPos();
-
-                            letterFollowsParenthetical = letterIsNext();
-                        }
-                    }
-                }
-                justClosedParen = false;
-                if (match("(")) //$NON-NLS-1$
-                {
-                    currentParenDepth++;
-                }
-                else if (match(")")) //$NON-NLS-1$
-                {
-                    currentParenDepth--;
-                    justClosedParen = true;
-                }
-
-                inParens[pos] = currentParenDepth > 0;
-            }
-        }
-
-        private boolean match(String pattern)
-        {
-            return match(pattern, pos);
-        }
-
-        private boolean match(String pattern, int matchAtPosition)
-        {
-            if (matchAtPosition < 0) return false;
-
-            int patternLength = pattern.length();
-
-            if (matchAtPosition + patternLength > length) return false;
-
-            for (int i = 0; i < patternLength; i++)
-                if (Character.toLowerCase(line.charAt(matchAtPosition+i)) != Character.toLowerCase(pattern.charAt(i)))
-                    return false;
-            return true;
-        }
-
-        private boolean letterIsNext()
-        {
-            for (int i = pos; i < length; i++)
-            {
-                if (Character.isWhitespace(line.charAt(i)))
-                    continue;
-                else if (Character.isLetter(line.charAt(i)))
-                    return true;
-                else
-                    return false;
-            }
-            return false;
-        }
-
-        private int nextPos()
-        {
-            for (int i = pos; i < length; i++)
-            {
-                if (Character.isWhitespace(line.charAt(i)))
-                    continue;
-                else
-                    return i;
-            }
-            return length-1;
-        }
-
-        public boolean retainAsKeyword(int column)
-        {
-//            System.out.println();
-//            System.out.println("Column " + column + ": " + line.substring(column));
-//            System.out.println("OC,: " + openContextComma + "\tOC=: " + openContextEquals + "\t)L: " + letterFollowsParenthetical);
-//            System.out.println("Token following parenthetical starts at column " + tokenFollowingParentheticalPos);
-//            int precedingKeywordOffset = findPrecedingKeyword(column);
-//            String precedingKeyword = precedingKeywordAsString(column, precedingKeywordOffset);
-//            System.out.println("Preceding token is " + precedingKeyword + " (column " + precedingKeywordOffset + ")");
-//            System.out.println("Retain preceding token as keyword? " + internalRetainAsKeyword(precedingKeywordOffset, precedingKeyword));
-//            System.out.println("Line starting at first token: " + line.substring(firstTokenPos));
-//            System.out.println("Retain as keyword? " + internalRetainAsKeyword(column, keyword));
-
-            return internalRetainAsKeyword(column, keyword);
-        }
-
-        private boolean internalRetainAsKeyword(int column, String keyword)
-        {
-            if (column < 0) return false;
-            if (salesRetainAsKeyword(column)) return true;
-            return applyKeywordRules(column, keyword);
-        }
-
-        private boolean applyKeywordRules(int column, String keyword)
-        {
-            // N.B. These rules apply regardless of the token preceding this one
-            if (keyword.equalsIgnoreCase("only")) //$NON-NLS-1$
-                return openContextComma && match("use", firstTokenPos); //$NON-NLS-1$
-            else if (keyword.equalsIgnoreCase("result")) //$NON-NLS-1$
-                return letterFollowsParenthetical;
-            else if (keyword.equalsIgnoreCase("then")) //$NON-NLS-1$
-                return !openContextEquals && !openContextComma && (match("if", firstTokenPos) || match("else", firstTokenPos) || match("forall", firstTokenPos)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-            // BEGIN FORTRAN 2003
-            else if (keyword.equalsIgnoreCase("bind")) //$NON-NLS-1$
-                return openContextComma && (match("enum", firstTokenPos) || match("type", firstTokenPos)) //$NON-NLS-1$ //$NON-NLS-2$
-                    || match("function", firstTokenPos) //$NON-NLS-1$
-                    || match("subroutine", firstTokenPos); //$NON-NLS-1$
-            else if (keyword.equalsIgnoreCase("procedure")) //$NON-NLS-1$
-                return match("procedure", firstTokenPos) || match("module", firstTokenPos) /* F08 */  || match("end", firstTokenPos); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-            else if (keyword.equalsIgnoreCase("pointer")) //$NON-NLS-1$
-                return openContextComma;
-            else if (keyword.equalsIgnoreCase("operator") //$NON-NLS-1$
-                || keyword.equalsIgnoreCase("assignment") //$NON-NLS-1$
-                || keyword.equalsIgnoreCase("read") //$NON-NLS-1$
-                || keyword.equalsIgnoreCase("write")) //$NON-NLS-1$
-                return lineContainsColonColon;
-            // END FORTRAN 2003
-            else
-            {
-                if (isType(keyword) && match("implicit", firstTokenPos)) //$NON-NLS-1$
-                    return true;
-
-                int precedingKeywordOffset = findPrecedingKeyword(column);
-                if (precedingKeywordOffset == column) return false;
-                String precedingKeyword = precedingKeywordAsString(column, precedingKeywordOffset);
-                if (!internalRetainAsKeyword(precedingKeywordOffset, precedingKeyword)) return false;
-                return applyPrecedingKeywordRules(keyword, precedingKeyword);
-            }
-        }
-
-        private boolean applyPrecedingKeywordRules(String keyword, String precedingKeyword)
-        {
-            // BEGIN FORTRAN 2008
-            if (keyword.equalsIgnoreCase("module")) //$NON-NLS-1$
-                return isPrefixSpec(precedingKeyword) && !precedingKeyword.equalsIgnoreCase("module") //$NON-NLS-1$
-                    || precedingKeyword.equalsIgnoreCase("end"); //$NON-NLS-1$
-            // END FORTRAN 2008
-            // N.B. These rules depend on the token preceding this one
-            else if (keyword.equalsIgnoreCase("complex") && precedingKeyword.equalsIgnoreCase("double")) //$NON-NLS-1$ //$NON-NLS-2$
-                return true;
-            else if (isType(keyword) && !keyword.equalsIgnoreCase("type")) //$NON-NLS-1$
-                return isPrefixSpec(precedingKeyword)|| precedingKeyword.equalsIgnoreCase("implicit"); //$NON-NLS-1$
-            else if (isPrefixSpec(keyword))
-                return isType(precedingKeyword);
-            else if (keyword.equalsIgnoreCase("case")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("select"); //$NON-NLS-1$
-            else if (keyword.equalsIgnoreCase("data")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("block"); //$NON-NLS-1$
-            else if (keyword.equalsIgnoreCase("subroutine")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("end") || isPrefixSpec(precedingKeyword); //$NON-NLS-1$
-            else if (keyword.equalsIgnoreCase("function")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("end") || isType(precedingKeyword) || isPrefixSpec(precedingKeyword) || match("type", firstTokenPos); //$NON-NLS-1$ //$NON-NLS-2$
-            else if (keyword.equalsIgnoreCase("if")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("else") || precedingKeyword.equalsIgnoreCase("end"); //$NON-NLS-1$ //$NON-NLS-2$
-            else if (keyword.equalsIgnoreCase("none")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("implicit"); //$NON-NLS-1$
-            else if (keyword.equalsIgnoreCase("complex")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("double"); //$NON-NLS-1$
-            else if (keyword.equalsIgnoreCase("precision")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("double"); //$NON-NLS-1$
-            else if (keyword.equalsIgnoreCase("while")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("do"); //$NON-NLS-1$
-            // BEGIN FORTRAN 2003
-            else if (keyword.equalsIgnoreCase("type")) //$NON-NLS-1$
-                return isPrefixSpec(precedingKeyword)
-                    || precedingKeyword.equalsIgnoreCase("implicit") //$NON-NLS-1$
-                    || precedingKeyword.equalsIgnoreCase("end") //$NON-NLS-1$
-                    || precedingKeyword.equalsIgnoreCase("select"); //$NON-NLS-1$
-            else if (keyword.equalsIgnoreCase("interface")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("abstract") || precedingKeyword.equalsIgnoreCase("end"); //$NON-NLS-1$ //$NON-NLS-2$
-            else if (keyword.equalsIgnoreCase("is")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("type") || precedingKeyword.equalsIgnoreCase("class"); //$NON-NLS-1$ //$NON-NLS-2$
-            else if (keyword.equalsIgnoreCase("default")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("case") || precedingKeyword.equalsIgnoreCase("class"); //$NON-NLS-1$ //$NON-NLS-2$
-            // END FORTRAN 2003
-            // BEGIN FORTRAN 2008
-            else if (keyword.equalsIgnoreCase("stop")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("all"); //$NON-NLS-1$
-            else if (keyword.equalsIgnoreCase("all") //$NON-NLS-1$
-                  || keyword.equalsIgnoreCase("images") //$NON-NLS-1$
-                  || keyword.equalsIgnoreCase("memory")) //$NON-NLS-1$
-                return precedingKeyword.equalsIgnoreCase("sync"); //$NON-NLS-1$
-            // END FORTRAN 2008
-            else
-                return precedingKeyword.equalsIgnoreCase("end"); //$NON-NLS-1$
-        }
-
-        private boolean salesRetainAsKeyword(int column)
-        {
-            if (column == firstTokenPos)
-                return retainFirstTokenAsKeyword();
-            else if (column == tokenFollowingParentheticalPos)
-                return retainTokenFollowingParentheticalAsKeyword();
-            else if (lineContainsColonColon)
-                return column < firstTokenPos && !inParens[column];
-            else
-                return false;
-        }
-
-        private boolean retainFirstTokenAsKeyword()
-        {
-            if (!openContextComma && !openContextEquals)
-                return !lineContainsColonColon;
-            else if (openContextEquals && !openContextComma)
-                return !lineContainsColonColon
-                    && letterFollowsParenthetical
-                    && (match("if", firstTokenPos) || match("where", firstTokenPos) || match("forall", firstTokenPos)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-            else if (openContextComma)
-                return true;
-            else if (letterFollowsParenthetical)
-                return true;
-            else
-                return false;
-        }
-
-        private boolean retainTokenFollowingParentheticalAsKeyword()
-        {
-            return letterFollowsParenthetical
-            && (match("if", firstTokenPos) || match("forall", firstTokenPos)) //$NON-NLS-1$ //$NON-NLS-2$
-            && !openContextEquals;
-        }
-
-        private boolean isType(String kw)
-        {
-            return kw.equalsIgnoreCase("character") //$NON-NLS-1$
-                || kw.equalsIgnoreCase("complex") //$NON-NLS-1$
-                || kw.equalsIgnoreCase("double") //$NON-NLS-1$
-                || kw.equalsIgnoreCase("doublecomplex") //$NON-NLS-1$
-                || kw.equalsIgnoreCase("doubleprecision") //$NON-NLS-1$
-                || kw.equalsIgnoreCase("integer") //$NON-NLS-1$
-                || kw.equalsIgnoreCase("logical") //$NON-NLS-1$
-                || kw.equalsIgnoreCase("real") //$NON-NLS-1$
-                || kw.equalsIgnoreCase("type"); //$NON-NLS-1$
-        }
-
-        private boolean isPrefixSpec(String kw)
-        {
-            return kw.equalsIgnoreCase("recursive") //$NON-NLS-1$
-                || kw.equalsIgnoreCase("pure") //$NON-NLS-1$
-                || kw.equalsIgnoreCase("elemental") //$NON-NLS-1$
-                || kw.equalsIgnoreCase("impure")  // F08 //$NON-NLS-1$
-                || kw.equalsIgnoreCase("module"); // F08 //$NON-NLS-1$
-        }
-
-        private int findPrecedingKeyword(int wordCol)
-        {
-            return backOverIdentifier(backOverSpaces(wordCol-1))+1;
-        }
-
-        private int backOverSpaces(int offset)
-        {
-            while (offset >= 0 && Character.isWhitespace(line.charAt(offset)))
-                offset--;
-            return offset;
-        }
-
-        private int backOverIdentifier(int offset)
-        {
-            if (offset >= 0 && line.charAt(offset) == ')')
-                offset = backOverParens(offset);
-
-            while (offset >= 0 && Character.isJavaIdentifierPart(line.charAt(offset)))
-                offset--;
-            return offset;
-        }
-
-        private int backOverParens(int offset)
-        {
-            int depth = 0;
-
-            while (offset >= 0)
-            {
-                if (line.charAt(offset) == ')')
-                    depth++;
-                else if (line.charAt(offset) == '(')
-                    depth--;
-
-                offset--;
-
-                if (depth == 0) break;
-            }
-
-            return offset;
-        }
-
-        private String precedingKeywordAsString(int column, int precedingKeywordOffset)
-        {
-            String precedingKeyword = line.substring(precedingKeywordOffset, column);
-            if (precedingKeyword.indexOf("(") >= 0) precedingKeyword = precedingKeyword.substring(0, precedingKeyword.indexOf("(")); //$NON-NLS-1$ //$NON-NLS-2$
-            precedingKeyword = precedingKeyword.trim();
-            return precedingKeyword;
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/AbstractFortranPreferencePage.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/AbstractFortranPreferencePage.java
deleted file mode 100644
index f7e68f7..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/AbstractFortranPreferencePage.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.preferences;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * Base class for Fortran preference pages which set preferences via static members of
- * {@link org.eclipse.photran.internal.core.preferences.FortranPreferences}
- * 
- * @author Jeff Overbey
- */
-@SuppressWarnings("deprecation")
-public abstract class AbstractFortranPreferencePage
-    extends FieldEditorPreferencePage
-    implements IWorkbenchPreferencePage
-{
-    public AbstractFortranPreferencePage()
-    {
-        super(GRID); // Grid layout
-        this.setPreferenceStore(new PreferencesAdapter(FortranCorePlugin.getDefault().getPluginPreferences()));
-        FortranPreferences.initializeDefaults();
-    }
-
-    public void init(IWorkbench workbench)
-    {
-    }
-
-    @Override protected void addField(FieldEditor editor)
-    {
-        super.addField(editor);
-        editor.setPreferenceStore(this.getPreferenceStore());
-    }
-
-    @Override public boolean performOk()
-    {
-        if (!super.performOk()) return false;
-        FortranPreferences.savePreferenceStore();
-        return true;
-    }
-
-    /**
-     * Copied from org.eclipse.cdt.internal.ui.text.PreferencesAdapter
-     * 
-     * Adapts {@link org.eclipse.core.runtime.Preferences} to
-     * {@link org.eclipse.jface.preference.IPreferenceStore}
-     * 
-     * @since 3.0
-     */
-    public static class PreferencesAdapter implements IPreferenceStore {
-
-        /**
-         * Property change listener. Listens for events of type
-         * {@link org.eclipse.core.runtime.Preferences.PropertyChangeEvent} and fires
-         * a {@link org.eclipse.jface.util.PropertyChangeEvent} on the
-         * adapter with arguments from the received event.
-         */
-        private class PropertyChangeListener implements Preferences.IPropertyChangeListener {
-
-            /*
-             * @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
-             */
-            public void propertyChange(Preferences.PropertyChangeEvent event) {
-                firePropertyChangeEvent(event.getProperty(), event.getOldValue(), event.getNewValue());
-            }
-        }
-        
-        /** Listeners on the adapter */
-        private ListenerList fListeners= new ListenerList();
-        
-        /** Listener on the adapted Preferences */
-        private PropertyChangeListener fListener= new PropertyChangeListener();
-        
-        /** Adapted Preferences */
-        private Preferences fPreferences;
-
-        /** True iff no events should be forwarded */
-        private boolean fSilent;
-        
-        /**
-         * Initialize with empty Preferences.
-         */
-        public PreferencesAdapter() {
-            this(new Preferences());
-        }
-        /**
-         * Initialize with the given Preferences.
-         * 
-         * @param preferences The preferences to wrap.
-         */
-        public PreferencesAdapter(Preferences preferences) {
-            fPreferences= preferences;
-        }
-        
-        /**
-         * {@inheritDoc}
-         */
-        public void addPropertyChangeListener(IPropertyChangeListener listener) {
-            if (fListeners.size() == 0)
-                fPreferences.addPropertyChangeListener(fListener);
-            fListeners.add(listener);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void removePropertyChangeListener(IPropertyChangeListener listener) {
-            fListeners.remove(listener);
-            if (fListeners.size() == 0)
-                fPreferences.removePropertyChangeListener(fListener);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public boolean contains(String name) {
-            return fPreferences.contains(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
-            if (!fSilent) {
-                PropertyChangeEvent event= new PropertyChangeEvent(this, name, oldValue, newValue);
-                Object[] listeners= fListeners.getListeners();
-                for (int i= 0; i < listeners.length; i++)
-                    ((IPropertyChangeListener) listeners[i]).propertyChange(event);
-            }
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public boolean getBoolean(String name) {
-            return fPreferences.getBoolean(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public boolean getDefaultBoolean(String name) {
-            return fPreferences.getDefaultBoolean(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public double getDefaultDouble(String name) {
-            return fPreferences.getDefaultDouble(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public float getDefaultFloat(String name) {
-            return fPreferences.getDefaultFloat(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public int getDefaultInt(String name) {
-            return fPreferences.getDefaultInt(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public long getDefaultLong(String name) {
-            return fPreferences.getDefaultLong(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public String getDefaultString(String name) {
-            return fPreferences.getDefaultString(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public double getDouble(String name) {
-            return fPreferences.getDouble(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public float getFloat(String name) {
-            return fPreferences.getFloat(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public int getInt(String name) {
-            return fPreferences.getInt(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public long getLong(String name) {
-            return fPreferences.getLong(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public String getString(String name) {
-            return fPreferences.getString(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public boolean isDefault(String name) {
-            return fPreferences.isDefault(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public boolean needsSaving() {
-            return fPreferences.needsSaving();
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void putValue(String name, String value) {
-            try {
-                fSilent= true;
-                fPreferences.setValue(name, value);
-            } finally {
-                fSilent= false;
-            }
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setDefault(String name, double value) {
-            fPreferences.setDefault(name, value);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setDefault(String name, float value) {
-            fPreferences.setDefault(name, value);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setDefault(String name, int value) {
-            fPreferences.setDefault(name, value);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setDefault(String name, long value) {
-            fPreferences.setDefault(name, value);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setDefault(String name, String defaultObject) {
-            fPreferences.setDefault(name, defaultObject);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setDefault(String name, boolean value) {
-            fPreferences.setDefault(name, value);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setToDefault(String name) {
-            fPreferences.setToDefault(name);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setValue(String name, double value) {
-            fPreferences.setValue(name, value);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setValue(String name, float value) {
-            fPreferences.setValue(name, value);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setValue(String name, int value) {
-            fPreferences.setValue(name, value);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setValue(String name, long value) {
-            fPreferences.setValue(name, value);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setValue(String name, String value) {
-            fPreferences.setValue(name, value);
-        }
-
-        /**
-         * {@inheritDoc}
-         */
-        public void setValue(String name, boolean value) {
-            fPreferences.setValue(name, value);
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/CDTFortranPreferencePage.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/CDTFortranPreferencePage.java
deleted file mode 100644
index fd42aa7..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/CDTFortranPreferencePage.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.preferences;
-
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.ComboFieldEditor;
-import org.eclipse.photran.internal.cdtinterface.core.FortranLanguage;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-
-/**
- * CDT integration features Fortran preference page
- * 
- * @author Jeff Overbey
- */
-public class CDTFortranPreferencePage extends AbstractFortranPreferencePage
-{
-    protected void setDescription()
-    {
-    }
-
-    protected void initializeDefaults()
-    {
-        FortranPreferences.PREFERRED_MODEL_BUILDER.setDefault();
-        FortranPreferences.PREFERRED_DOM_PARSER.setDefault();
-    }
-
-    @Override protected void createFieldEditors()
-    {
-        String[][] modelBuilders = listModelBuilders();
-        if (modelBuilders != null)
-            addField(new ComboFieldEditor(FortranPreferences.PREFERRED_MODEL_BUILDER.getName(),
-                                            Messages.CDTFortranPreferencePage_PreferredModelBuilderFieldLabel,
-                                            modelBuilders,
-                                            getFieldEditorParent()));
-        
-        String[][] domParsers = listDOMParsers();
-        if (domParsers != null)
-            addField(new ComboFieldEditor(FortranPreferences.PREFERRED_DOM_PARSER.getName(),
-                                            Messages.CDTFortranPreferencePage_PreferredDOMParserFieldLabel,
-                                            domParsers,
-                                            getFieldEditorParent()));
-    }
-
-    private String[][] listModelBuilders()
-    {
-        IConfigurationElement[] configs = Platform.getExtensionRegistry().getConfigurationElementsFor(
-            FortranLanguage.FORTRAN_MODEL_BUILDER_EXTENSION_POINT_ID);
-        return configs.length == 0 ? null : createKeyValuePairs(configs);
-    }
-
-    private String[][] listDOMParsers()
-    {
-        IConfigurationElement[] configs = Platform.getExtensionRegistry().getConfigurationElementsFor(
-            FortranLanguage.FORTRAN_DOM_PARSER_EXTENSION_POINT_ID);
-        return configs.length == 0 ? null : createKeyValuePairs(configs);
-    }
-
-    private String[][] createKeyValuePairs(IConfigurationElement[] configs)
-    {
-        String[][] result = new String[configs.length][];
-        for (int i = 0; i < configs.length; i++)
-            result[i] = new String[] { configs[i].getAttribute("name"), configs[i].getAttribute("id") }; //$NON-NLS-1$ //$NON-NLS-2$
-        Arrays.sort(result, new Comparator<String[]>()
-        {
-            public int compare(String[] kvPair1, String[] kvPair2)
-            {
-                return kvPair1[0].compareTo(kvPair2[0]);
-            }
-        });
-        return result;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/EditorPreferencePage.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/EditorPreferencePage.java
deleted file mode 100644
index 2e1e2b7..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/EditorPreferencePage.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.preferences;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.ColorFieldEditor;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-
-/**
- * Fortran Editor preference page
- * 
- * @author Jeff Overbey
- */
-public class EditorPreferencePage extends AbstractFortranPreferencePage
-{
-    @Override protected void createFieldEditors()
-    {
-        addField(new BooleanFieldEditor(FortranPreferences.ENABLE_FOLDING.getName(),
-                                        Messages.EditorPreferencePage_EnableFolding,
-                                        getFieldEditorParent()));
-
-        addField(new BooleanFieldEditor(FortranPreferences.ENABLE_RULER.getName(),
-                                        Messages.EditorPreferencePage_EnableHorizRuler,
-                                        getFieldEditorParent()));
-
-        addField(new BooleanFieldEditor(FortranPreferences.CONVERT_TABS_TO_SPACES.getName(),
-            Messages.EditorPreferencePage_ConvertTabsToSpaces,
-            getFieldEditorParent()));
-
-        IntegerFieldEditor tabWidthEditor = new IntegerFieldEditor(
-            FortranPreferences.TAB_WIDTH.getName(),
-            Messages.EditorPreferencePage_TabWidth,
-            getFieldEditorParent());
-        tabWidthEditor.setValidRange(FortranPreferences.TAB_WIDTH.getLowerLimit(), FortranPreferences.TAB_WIDTH.getUpperLimit());
-        tabWidthEditor.setTextLimit(Integer.toString(FortranPreferences.TAB_WIDTH.getUpperLimit()).length());
-        addField(tabWidthEditor);
-
-        IntegerFieldEditor fixedColEditor = new IntegerFieldEditor(
-            FortranPreferences.FIXED_FORM_COMMENT_COLUMN.getName(),
-            Messages.EditorPreferencePage_FixedFormLineLength,
-            getFieldEditorParent());
-        fixedColEditor.setValidRange(FortranPreferences.FIXED_FORM_COMMENT_COLUMN.getLowerLimit(), FortranPreferences.FIXED_FORM_COMMENT_COLUMN.getUpperLimit());
-        fixedColEditor.setTextLimit(Integer.toString(FortranPreferences.FIXED_FORM_COMMENT_COLUMN.getUpperLimit()).length());
-        addField(fixedColEditor);
-        
-        //addField(new Separator(getFieldEditorParent()));
-        
-        addField(new ColorFieldEditor(FortranPreferences.COLOR_COMMENTS.getName(),
-                                      Messages.EditorPreferencePage_CommentsFieldLabel,
-                                      getFieldEditorParent()));
-        addField(new ColorFieldEditor(FortranPreferences.COLOR_IDENTIFIERS.getName(),
-                                      Messages.EditorPreferencePage_IdentifiersFieldLabel,
-                                      getFieldEditorParent()));
-        addField(new ColorFieldEditor(FortranPreferences.COLOR_INTRINSICS.getName(),
-                                      Messages.EditorPreferencePage_IntrinsicsFieldLabel,
-                                      getFieldEditorParent()));
-        addField(new ColorFieldEditor(FortranPreferences.COLOR_KEYWORDS.getName(),
-                                      Messages.EditorPreferencePage_KeywordsFieldLabel,
-                                      getFieldEditorParent()));
-        addField(new ColorFieldEditor(FortranPreferences.COLOR_STRINGS.getName(),
-                                      Messages.EditorPreferencePage_StringsFieldLabel,
-                                      getFieldEditorParent()));
-        addField(new ColorFieldEditor(FortranPreferences.COLOR_NUMBERS_PUNCTUATION.getName(),
-                                      Messages.EditorPreferencePage_NumbersPunctuationLabel,
-                                      getFieldEditorParent()));
-        addField(new ColorFieldEditor(FortranPreferences.COLOR_CPP.getName(),
-                                      Messages.EditorPreferencePage_CPPDirectivesFieldLabel,
-                                      getFieldEditorParent()));
-    }
-    
-//    private static class Separator extends FieldEditor
-//    {
-//        private Label label;
-//        
-//        public Separator(Composite parent)
-//        {
-//            this.createControl(parent);
-//        }
-//        
-//        protected void adjustForNumColumns(int numColumns)
-//        {
-//            ((GridData)label.getLayoutData()).horizontalSpan = 2;
-//        }
-//
-//        protected void doFillIntoGrid(Composite parent, int numColumns)
-//        {
-//            label = new Label(parent, SWT.SEPARATOR);
-//            label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, numColumns, 1));
-//        }
-//
-//        public int getNumberOfControls()
-//        {
-//            return 1;
-//        }
-//        
-//        protected void doLoad() {}
-//        protected void doLoadDefault() {}
-//        protected void doStore() {}
-//    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/FortranTemplatesPreferencePage.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/FortranTemplatesPreferencePage.java
deleted file mode 100644
index 524e1fb..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/FortranTemplatesPreferencePage.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.preferences;
-
-import org.eclipse.photran.internal.ui.FortranTemplateManager;
-import org.eclipse.photran.internal.ui.FortranUIPlugin;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.texteditor.templates.TemplatePreferencePage;
-
-/**
- * Preference page for Fortran code templates.
- * 
- * @author Jeff Overbey
- */
-@SuppressWarnings("deprecation")
-public class FortranTemplatesPreferencePage extends TemplatePreferencePage implements IWorkbenchPreferencePage
-{
-    public FortranTemplatesPreferencePage()
-    {
-        setPreferenceStore(new AbstractFortranPreferencePage.PreferencesAdapter(FortranUIPlugin.getDefault().getPluginPreferences()));
-        setTemplateStore(FortranTemplateManager.getInstance().getTemplateStore());
-        setContextTypeRegistry(FortranTemplateManager.getInstance().getContextTypeRegistry());
-    }
-    
-    @Override protected boolean isShowFormatterSetting()
-    {
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/MainFortranPreferencePage.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/MainFortranPreferencePage.java
deleted file mode 100644
index 7bc01a5..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/MainFortranPreferencePage.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.preferences;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-
-/**
- * Top-level Fortran preference page
- * 
- * @author Jeff Overbey
- */
-public class MainFortranPreferencePage extends AbstractFortranPreferencePage
-{
-    protected void setDescription()
-    {
-    }
-
-    protected void initializeDefaults()
-    {
-        FortranPreferences.SHOW_PARSE_TREE.setDefault();
-        FortranPreferences.ENABLE_VPG_LOGGING.setDefault();
-    }
-
-    @Override protected void createFieldEditors()
-    {
-        addField(new BooleanFieldEditor(FortranPreferences.SHOW_PARSE_TREE.getName(),
-                                        Messages.MainFortranPreferencePage_0,
-                                        getFieldEditorParent()));
-        
-        addField(new BooleanFieldEditor(FortranPreferences.ENABLE_VPG_LOGGING.getName(),
-                                        Messages.MainFortranPreferencePage_1,
-                                        getFieldEditorParent()));
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/Messages.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/Messages.java
deleted file mode 100644
index 6034341..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/Messages.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.preferences;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.ui.preferences.messages"; //$NON-NLS-1$
-
-    public static String CDTFortranPreferencePage_PreferredDOMParserFieldLabel;
-
-    public static String CDTFortranPreferencePage_PreferredModelBuilderFieldLabel;
-
-    public static String EditorPreferencePage_CommentsFieldLabel;
-
-    public static String EditorPreferencePage_ConvertTabsToSpaces;
-
-    public static String EditorPreferencePage_CPPDirectivesFieldLabel;
-
-    public static String EditorPreferencePage_EnableFolding;
-
-    public static String EditorPreferencePage_EnableHorizRuler;
-
-    public static String EditorPreferencePage_FixedFormLineLength;
-
-    public static String EditorPreferencePage_IdentifiersFieldLabel;
-
-    public static String EditorPreferencePage_IntrinsicsFieldLabel;
-
-    public static String EditorPreferencePage_KeywordsFieldLabel;
-
-    public static String EditorPreferencePage_NumbersPunctuationLabel;
-
-    public static String EditorPreferencePage_StringsFieldLabel;
-
-    public static String EditorPreferencePage_TabWidth;
-
-    public static String MainFortranPreferencePage_0;
-
-    public static String MainFortranPreferencePage_1;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/messages.properties b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/messages.properties
deleted file mode 100644
index 82f43c1..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/preferences/messages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-CDTFortranPreferencePage_PreferredDOMParserFieldLabel=Preferred DOM Parser
-CDTFortranPreferencePage_PreferredModelBuilderFieldLabel=Preferred Model Builder
-EditorPreferencePage_CommentsFieldLabel=Comments
-EditorPreferencePage_ConvertTabsToSpaces=Convert tabs to spaces
-EditorPreferencePage_CPPDirectivesFieldLabel=C Preprocessor Directives
-EditorPreferencePage_EnableFolding=Enable folding
-EditorPreferencePage_EnableHorizRuler=Enable horizontal ruler
-EditorPreferencePage_FixedFormLineLength=Fixed-form line length
-EditorPreferencePage_IdentifiersFieldLabel=Identifiers
-EditorPreferencePage_IntrinsicsFieldLabel=Intrinsics
-EditorPreferencePage_KeywordsFieldLabel=Keywords
-EditorPreferencePage_NumbersPunctuationLabel=Numbers and Punctuation
-EditorPreferencePage_StringsFieldLabel=Strings
-EditorPreferencePage_TabWidth=Tab width (0 to use the workspace default)
-MainFortranPreferencePage_0=(Debugging) Show entire abstract syntax tree rather than Outline view
-MainFortranPreferencePage_1=(Debugging) Enable Fortran indexer (VPG database) logging
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranBooleanFieldEditor.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranBooleanFieldEditor.java
deleted file mode 100644
index 991ca38..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranBooleanFieldEditor.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.properties;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-public class FortranBooleanFieldEditor extends BooleanFieldEditor
-{
-    //DO NOT SET THIS VALUE TO ANYTHING!! This field is initialized via getChangeControl(Composite parent)
-    // which is called from super() constructor. Since fields are initialized AFTER the super() constructor
-    // is called, if you set this to, let's say NULL, then AFTER it was already initialized to a proper value
-    // by the super() constructor, it will get re-set to NULL, and you don't want that. So, don't set this
-    // field to anything!
-    private Button myCheckBox;
-    
-    public FortranBooleanFieldEditor(String enableVpgPropertyName, 
-        String string,
-        Composite composite)
-    {
-        super(enableVpgPropertyName, string, composite);
-    }
-
-    ////// !! Copied from BooleanFieldEditor !! /////
-    /**
-     * Returns the change button for this field editor.
-     * @param parent The Composite to create the receiver in.
-     *
-     * @return the change button
-     */
-    @Override protected Button getChangeControl(Composite parent) 
-    {
-        if (myCheckBox == null) {
-            myCheckBox = new Button(parent, SWT.CHECK | SWT.LEFT);
-            myCheckBox.setFont(parent.getFont());
-            myCheckBox.addSelectionListener(new SelectionAdapter() {
-                @Override public void widgetSelected(SelectionEvent e) {
-                    boolean isSelected = myCheckBox.getSelection();
-                    valueChanged(!isSelected, isSelected);
-                }
-            });
-            myCheckBox.addDisposeListener(new DisposeListener() {
-                public void widgetDisposed(DisposeEvent event) {
-                    myCheckBox = null;
-                }
-            });
-        } else {
-            checkParent(myCheckBox, parent);
-        }
-        return myCheckBox;
-    }  
-    
-    public void setValue(boolean value)
-    {
-        if(myCheckBox != null)
-            myCheckBox.setSelection(value);
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranPropertyPage.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranPropertyPage.java
deleted file mode 100644
index 0241e2e..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranPropertyPage.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.properties;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * This is a superclass for Fortran project property pages that need to ask the user
- * to close and re-open any Fortran editors to see their changes take effect.
- * <p>
- * This common superclass ensures that the message dialog will only be shown once,
- * no matter how many property pages are contributed.
- * <p>
- * Subclasses should call {@link #setDirty()} to ensure that the dialog is
- * displayed.
- * 
- * @author Jeff Overbey
- */
-public abstract class FortranPropertyPage extends PropertyPage
-{
-    // static to ensure this is shared among all instances
-    private static boolean dialogShown;
-    
-    private boolean shouldNotifyUser;
-
-    public FortranPropertyPage()
-    {
-        shouldNotifyUser = false;
-        dialogShown = false;
-    }
-    
-    // This really ought to be protected, but that causes IllegalAccessErrors
-    // to be thrown by the preferences dialog at runtime, so we'll make it public
-    public void setDirty()
-    {
-        shouldNotifyUser = true;
-    }
-    
-    @Override public final boolean performOk()
-    {
-        boolean result = doPerformOk();
-        
-        if (shouldNotifyUser && !dialogShown)
-        {
-            dialogShown = true;
-            MessageDialog.openInformation(getShell(),
-                UIMessages.FortranPropertyPage_PreferencesChangedTitle,
-                UIMessages.FortranPropertyPage_NeedToCloseAndReOpenEditors);
-        }
-        
-        return result;
-    }
-    
-    protected abstract boolean doPerformOk();
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranSourceFormEditor.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranSourceFormEditor.java
deleted file mode 100644
index 499108b..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/FortranSourceFormEditor.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.properties;
-
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.photran.internal.core.sourceform.SourceForm;
-import org.eclipse.photran.internal.core.sourceform.SourceFormProperties;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * A field editor to edit which file types to send to the C Preprocessor.
- * 
- * @author Jeff Overbey, Kurt Hendle
- * 
- * @see org.eclipse.jface.preference.ListEditor
- */
-public class FortranSourceFormEditor extends FieldEditor
-{
-    /** Width of the content types combo box in pixels */
-    private static final int COMBO_WIDTH = 250;
-
-    /** Minimum height of a combo box */
-    private static final int DEFAULT_COMBO_HEIGHT = 17;
-
-    /** Total number of pixels of vertical padding surrounding
-     *  a combo box in a table */
-    private static final int COMBO_VERTICAL_PADDING = 5;
-    
-    private Table table;
-    
-    private Listener measureItemListener = null;
-
-    /**
-     * Creates a Fortran Source Form field editor.
-     * 
-     * @param propertyName the name of the preference this field editor works on
-     * @param labelText the label text of the field editor
-     * @param parent the parent of the field editor's control
-     */
-    public FortranSourceFormEditor(String propertyName, String labelText, Composite parent)
-    {
-        init(propertyName, labelText);
-        createControl(parent);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on FieldEditor.
-     */
-    @Override
-    protected void doFillIntoGrid(Composite parent, int numColumns)
-    {
-        Control control = getLabelControl(parent);
-        GridData gd = new GridData();
-        gd.horizontalSpan = numColumns;
-        control.setLayoutData(gd);
-
-        createTableControl(parent);
-        gd = new GridData();
-        gd.horizontalAlignment = GridData.HORIZONTAL_ALIGN_CENTER;
-        gd.verticalAlignment = GridData.FILL;
-        gd.horizontalSpan = numColumns;
-        gd.grabExcessHorizontalSpace = true;
-        gd.grabExcessVerticalSpace = true;
-        table.setLayoutData(gd);
-    }
-
-    private void createTableControl(Composite parent)
-    {
-        table = new Table(parent, SWT.BORDER | SWT.V_SCROLL);
-        table.setHeaderVisible(true);
-        table.setLinesVisible(true);
-        for (int i=0; i<2; i++) {
-            new TableColumn(table, SWT.NONE);
-        }
-        table.getColumn(0).setText(UIMessages.FortranSourceFormEditor_FileNameOrExtensionColumnLabel);
-        table.getColumn(1).setText(UIMessages.FortranSourceFormEditor_SourceFormColumnLabel);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on FieldEditor.
-     */
-    @Override
-    protected void adjustForNumColumns(int numColumns)
-    {
-        Control control = getLabelControl();
-        ((GridData)control.getLayoutData()).horizontalSpan = numColumns;
-        ((GridData)table.getLayoutData()).horizontalSpan = numColumns;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on FieldEditor.
-     */
-    @Override
-    protected void doLoad()
-    {
-        if (table != null)
-            populateTable(SourceFormProperties.parseValue(getPreferenceStore().getString(getPreferenceName())));
-    }
-
-    /* (non-Javadoc)
-     * Method declared on FieldEditor.
-     */
-    @Override
-    protected void doLoadDefault()
-    {
-        if (table != null)
-            populateTable(SourceFormProperties.parseValue(getPreferenceStore().getDefaultString(getPreferenceName())));
-    }
-
-    private void populateTable(Map<String, String> prefValue)
-    {
-        table.removeAll();
-        for (Control c : table.getChildren())
-            if (c instanceof Combo)
-                c.dispose();
-        
-        Combo combo = null;
-        for (String spec : prefValue.keySet())
-            combo = addItem(spec, prefValue.get(spec));
-
-        table.getColumn(0).pack();
-        table.getColumn(1).setWidth(COMBO_WIDTH);
-
-        if (measureItemListener == null)
-            table.addListener(SWT.MeasureItem, createMeasureItemListener(combo));
-    }
-
-    private Listener createMeasureItemListener(Combo combo)
-    {
-        final int comboHeight = combo == null ? DEFAULT_COMBO_HEIGHT : Math.max(combo.getSize().y, DEFAULT_COMBO_HEIGHT);
-        
-        /* NOTE: This callback must be efficient: It is called frequently */
-        return measureItemListener = new Listener() {
-            public void handleEvent(Event event) {
-                event.height = Math.max(event.height, comboHeight + COMBO_VERTICAL_PADDING);
-            }
-        };
-    }
-
-    private Combo addItem(String spec, String sourceFormDescription)
-    {
-        final TableItem item = new TableItem(table, SWT.NONE);
-        item.setText(new String[] { spec, sourceFormDescription });
-        
-        final Combo combo = new Combo(table, SWT.FLAT | SWT.BORDER);
-        for (String sourceForm : SourceForm.allSourceForms())
-            combo.add(sourceForm);
-
-        combo.addSelectionListener(new SelectionListener()
-        {
-            public void widgetSelected(SelectionEvent e)
-            {
-                item.setText(1, combo.getText());
-            }
-            
-            public void widgetDefaultSelected(SelectionEvent e)
-            {
-                widgetSelected(e);
-            }
-        });
-        
-        combo.setText(sourceFormDescription);
-        int index = combo.indexOf(sourceFormDescription);
-        if (index >= 0)
-            combo.select(index);
-        
-        TableEditor editor = new TableEditor(table);
-        editor.grabHorizontal = editor.grabVertical = true;
-        editor.minimumWidth = COMBO_WIDTH;
-        editor.setEditor(combo, item, 1);
-        return combo;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on FieldEditor.
-     */
-    @Override
-    protected void doStore()
-    {
-        Map<String, String> prefValue = new TreeMap<String, String>();
-        for (TableItem item : table.getItems())
-            prefValue.put(item.getText(0), item.getText(1));
-        getPreferenceStore().setValue(getPreferenceName(), SourceFormProperties.unparseValue(prefValue));
-    }
-
-    /* (non-Javadoc)
-     * Method declared on FieldEditor.
-     */
-    @Override
-    public int getNumberOfControls()
-    {
-        return 2;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on FieldEditor.
-     */
-    @Override
-    public void setFocus()
-    {
-        if (table != null)
-            table.setFocus();
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/Page_head_general.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/Page_head_general.java
deleted file mode 100644
index bfa97ce..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/Page_head_general.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 Intel Corporation and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Intel Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.properties;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-/**
- * A copy of CDT's <code>org.eclipse.cdt.ui.newui.Page_head_general</code>
- * 
- * @author Jeff Overbey
- */
-public class Page_head_general extends PropertyPage
-{
-    @Override protected Control createContents(Composite parent)
-    {
-        noDefaultAndApplyButton();
-        return parent;
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/SourceFormPropertyPage.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/SourceFormPropertyPage.java
deleted file mode 100644
index 02c81a0..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/SourceFormPropertyPage.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.properties;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.sourceform.SourceFormProperties;
-import org.eclipse.photran.internal.ui.FortranUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-
-/**
- * The Fortran &gt; Source Forms project property page.
- * 
- * @author Jeff Overbey
- */
-public class SourceFormPropertyPage extends FortranPropertyPage
-{
-    private FortranSourceFormEditor sourceForms;
-    
-    private SourceFormProperties properties;
-    
-    @Override
-    protected Control createContents(Composite parent)
-    {
-        IProject proj = (IProject)getElement();
-        properties = new SourceFormProperties(proj);
-        IPreferenceStore scopedStore = properties.getPropertyStore();
-        scopedStore.addPropertyChangeListener(new IPropertyChangeListener()
-        {
-            public void propertyChange(PropertyChangeEvent event)
-            {
-                setDirty();
-            }
-        });
-
-        final Composite composite = new Composite(parent, SWT.NONE);
-        composite.setLayout(new GridLayout(1, true));
-        GridData data = new GridData(GridData.FILL);
-        data.grabExcessHorizontalSpace = true;
-        composite.setLayoutData(data);
-        
-        // See org.eclipse.ui.internal.dialogs.ContentTypesPreferencePage
-        // and org.eclipse.cdt.ui.dialogs.DocCommentOwnerBlock
-        Link link= new Link(composite, SWT.NONE);
-        link.setText(UIMessages.SourceFormPropertyPage_LinkText);
-        link.setLayoutData(GridDataFactory.swtDefaults()
-                                          .align(SWT.FILL, SWT.TOP)
-                                          .grab(true,false)
-                                          .create());
-        link.addSelectionListener(new SelectionAdapter() {
-            @Override public void widgetSelected(SelectionEvent e) {
-                PreferencesUtil.createPreferenceDialogOn(
-                    composite.getShell(),
-                    "org.eclipse.ui.preferencePages.ContentTypes", //$NON-NLS-1$
-                    null,
-                    null).open();
-            }
-        });
-        
-        sourceForms = new FortranSourceFormEditor(
-            SourceFormProperties.SOURCE_FORMS_PROPERTY_NAME,
-            UIMessages.SourceFormPropertyPage_SourceFormFilenameAssocsLabel, 
-            parent);
-        
-        sourceForms.setPreferenceStore(scopedStore);
-        sourceForms.load();
-        
-        return composite;
-    }
-
-    @Override public void performDefaults()
-    {
-        sourceForms.loadDefault();
-    }
-    
-    @Override public boolean doPerformOk()
-    {
-        sourceForms.store();
-        
-        try
-        {
-            properties.save();
-        }
-        catch (IOException e)
-        {
-            FortranUIPlugin.log(e);
-            MessageDialog.openError(getShell(),
-                UIMessages.SourceFormPropertyPage_ErrorTitle,
-                UIMessages.SourceFormPropertyPage_PropertiesCouldNotBeSaved +
-                e.getClass().getName() + ": " + //$NON-NLS-1$
-                e.getMessage());
-        }
-        
-        touchProject();
-        
-        return true;
-    }
-
-    /**
-     * Updates the timestamps on all Fortran source files in the project in order to
-     * force them to be re-indexed.
-     */
-    private void touchProject()
-    {
-        try
-        {
-            IProject proj = (IProject)getElement();
-            proj.accept(new IResourceVisitor()
-            {
-                public boolean visit(IResource resource) throws CoreException
-                {
-                    if (resource instanceof IFile
-                        && FortranCorePlugin.hasFortranContentType((IFile)resource))
-                    {
-                        touch((IFile)resource);
-                    }
-                    return true;
-                }
-            });
-        }
-        catch (CoreException e)
-        {
-            FortranCorePlugin.log(UIMessages.SourceFormPropertyPage_ErrorTouchingProject, e);
-        }
-    }
-
-    private void touch(IFile file)
-    {
-        try
-        {
-            file.touch(new NullProgressMonitor());
-        }
-        catch (CoreException e)
-        {
-            FortranCorePlugin.log(UIMessages.SourceFormPropertyPage_ErrorTouchingFile, e);
-        }
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/UIMessages.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/UIMessages.java
deleted file mode 100644
index 23e242f..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/UIMessages.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.properties;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class UIMessages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.ui.properties.uimessages"; //$NON-NLS-1$
-
-    public static String FortranPropertyPage_NeedToCloseAndReOpenEditors;
-
-    public static String FortranPropertyPage_PreferencesChangedTitle;
-
-    public static String FortranSourceFormEditor_FileNameOrExtensionColumnLabel;
-
-    public static String FortranSourceFormEditor_SourceFormColumnLabel;
-
-    public static String SourceFormPropertyPage_ErrorTitle;
-
-    public static String SourceFormPropertyPage_ErrorTouchingFile;
-
-    public static String SourceFormPropertyPage_ErrorTouchingProject;
-
-    public static String SourceFormPropertyPage_LinkText;
-
-    public static String SourceFormPropertyPage_PropertiesCouldNotBeSaved;
-
-    public static String SourceFormPropertyPage_SourceFormFilenameAssocsLabel;
-
-    public static String WorkspacePathEditor_ErrorTitle;
-
-    public static String WorkspacePathEditor_ResourceDoesNotExist;
-
-    public static String WorkspacePathEditor_ResourceIsNotAContainer;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, UIMessages.class);
-    }
-
-    private UIMessages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/WorkspacePathEditor.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/WorkspacePathEditor.java
deleted file mode 100644
index 3d20e96..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/WorkspacePathEditor.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.properties;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.ListEditor;
-import org.eclipse.photran.internal.core.properties.AbstractProperties;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-
-/**
- * A field editor to edit workspace paths.  Based on <code>org.eclipse.jface.preference.PathEditor</code>.
- * 
- * @author Jeff Overbey
- * 
- * @see org.eclipse.jface.preference.PathEditor
- */
-public class WorkspacePathEditor extends ListEditor
-{
-    private IProject project;
-
-    /**
-     * The special label text for directory chooser, 
-     * or <code>null</code> if none.
-     */
-    private String dirChooserLabelText;
-
-    /**
-     * Creates a new path field editor 
-     */
-    protected WorkspacePathEditor()
-    {
-    }
-
-    /**
-     * Creates a path field editor.
-     * 
-     * @param name the name of the preference this field editor works on
-     * @param labelText the label text of the field editor
-     * @param dirChooserLabelText the label text displayed for the directory chooser
-     * @param parent the parent of the field editor's control
-     */
-    public WorkspacePathEditor(IProject project, String name, String labelText, String dirChooserLabelText, Composite parent)
-    {
-        parent = new Composite(parent, SWT.NONE);
-        init(name, labelText);
-        this.project = project;
-        this.dirChooserLabelText = dirChooserLabelText;
-        createControl(parent);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ListEditor.
-     * Creates a new path element by means of a directory dialog.
-     */
-    @Override protected String getNewInputObject()
-    {
-        ContainerSelectionDialog dialog = new ContainerSelectionDialog(getShell(), project, false, dirChooserLabelText);
-        if (dialog.open() == ContainerSelectionDialog.OK)
-        {
-            Path result = null;
-            
-            Object[] res = dialog.getResult();
-            if (res.length == 1) result = (Path)res[0];
-
-            // Remember the selection for the next time the dialog is opened
-            IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(result);
-            if (!resource.exists())
-                MessageDialog.openError(getShell(), UIMessages.WorkspacePathEditor_ErrorTitle, UIMessages.WorkspacePathEditor_ResourceDoesNotExist);
-            else if (!(resource instanceof IContainer))
-                MessageDialog.openError(getShell(), UIMessages.WorkspacePathEditor_ErrorTitle, UIMessages.WorkspacePathEditor_ResourceIsNotAContainer);
-            else if (result != null)
-                return result.toOSString();
-        }
-        
-        return null;
-    }
-
-    @Override
-    protected String createList(String[] items)
-    {
-        return AbstractProperties.createList(items);
-    }
-
-    @Override
-    protected String[] parseString(String stringList)
-    {
-        return AbstractProperties.parseString(stringList);
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/uimessages.properties b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/uimessages.properties
deleted file mode 100644
index 3df8628..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/properties/uimessages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-FortranPropertyPage_NeedToCloseAndReOpenEditors=You may need to close and re-open any Fortran editors for the new settings to take effect.
-FortranPropertyPage_PreferencesChangedTitle=Preferences Changed
-FortranSourceFormEditor_FileNameOrExtensionColumnLabel=File Name/Extension
-FortranSourceFormEditor_SourceFormColumnLabel=Source Form
-SourceFormPropertyPage_ErrorTitle=Error Saving Project Properties
-SourceFormPropertyPage_ErrorTouchingFile=Error touching file during project traversal source form changes
-SourceFormPropertyPage_ErrorTouchingProject=Error touching project after source form changes
-SourceFormPropertyPage_LinkText=The list of Fortran filename extensions is determined\nby the <a>workspace-wide content type settings</a>.
-SourceFormPropertyPage_PropertiesCouldNotBeSaved=The project properties could not be saved.\n
-SourceFormPropertyPage_SourceFormFilenameAssocsLabel=Source form/filename associations:
-WorkspacePathEditor_ErrorTitle=Error
-WorkspacePathEditor_ResourceDoesNotExist=The selected resource does not exist
-WorkspacePathEditor_ResourceIsNotAContainer=The selected resource is not a container
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/ShowReleaseNotes.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/ShowReleaseNotes.java
deleted file mode 100644
index 45eea4e..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/ShowReleaseNotes.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.startup;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.photran.internal.core.FortranCorePlugin;
-import org.eclipse.photran.internal.core.preferences.FortranPreferences;
-import org.eclipse.photran.internal.ui.FortranUIPlugin;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IStartup;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
-import org.osgi.framework.Version;
-
-/**
- * Opens the release notes for this version of Photran in a Web browser the first time Photran is
- * started on a particular workspace (and never again after that).
- * <p>
- * Called by Eclipse when the UI plug-in is loaded (see the org.eclipse.ui.startup extension point).
- *
- * @author Jeff Overbey
- */
-public final class ShowReleaseNotes implements IStartup
-{
-    public void earlyStartup()
-    {
-        if (shouldShowReleaseNotes())
-        {
-            openWebBrowser(setPreference());
-        }
-    }
-
-    private boolean shouldShowReleaseNotes()
-    {
-        if (runningJUnitTests() || releaseNotesHaveAlreadyBeenDisplayed())
-        {
-            return false;
-        }
-        else
-        {
-            /*
-            GregorianCalendar today = new GregorianCalendar();
-            return !today.after(new GregorianCalendar(2012, GregorianCalendar.JANUARY, 1));
-            */
-
-            return true;
-        }
-    }
-
-    /**
-     * The JUnit runner changes the eclipse.application property to
-     * <tt>org.eclipse.pde.junit.runtime.uitestapplication</tt>, so
-     * we can test for this to determine whether or not we are running
-     * a JUnit Plug-in Test.  (Since the workspace is generally cleared
-     * on every run, this would cause the Release Notes to be shown
-     * every test run, which should not happen.)
-     * 
-     * @return true if we are running a JUnit Plug-in Test
-     */
-    private boolean runningJUnitTests()
-    {
-        if (FortranCorePlugin.inTestingMode()) return true;
-        
-        String app = System.getProperty("eclipse.application"); //$NON-NLS-1$
-        if (app != null && app.toLowerCase().contains("junit")) return true; //$NON-NLS-1$
-        
-        return false;
-    }
-
-    /**
-     * A hidden workspace preference is used to track whether or not
-     * the release notes have been shown for this workspace.
-     * 
-     * @return true iff the Release Notes Shown workspace preference
-     * indicates that the release notes have already been shown for
-     * this workspace with this version of Photran
-     */
-    private boolean releaseNotesHaveAlreadyBeenDisplayed()
-    {
-        return photranVersion().toString().equals(getPreference());
-    }
-
-    /** @return the current value of the Release Notes Shown workspace preference */
-    private String getPreference()
-    {
-        return FortranPreferences.RELEASE_NOTES_SHOWN.getValue();
-    }
-
-    /** Sets the Release Notes Shown workspace preference, and returns its previous value */
-    private String setPreference()
-    {
-        String lastVersion = getPreference();
-        FortranPreferences.RELEASE_NOTES_SHOWN.setValue(photranVersion().toString());
-        return lastVersion;
-    }
-
-    private void openWebBrowser(final String lastVersion)
-    {
-        Display.getDefault().asyncExec(new Runnable()
-        {
-            public void run()
-            {
-                try
-                {
-                    PlatformUI.getWorkbench().getBrowserSupport()
-                        .createBrowser(
-                            IWorkbenchBrowserSupport.LOCATION_BAR
-                                | IWorkbenchBrowserSupport.NAVIGATION_BAR,
-                            null,
-                            UIMessages.ShowReleaseNotes_WelcomeTitle,
-                            null)
-                        .openURL(new URL(getURL(lastVersion)));
-                }
-                catch (Throwable e)
-                {
-                    // Ignore
-                }
-            }
-        });
-    }
-
-    private String getURL(String lastVersion)
-    {
-        Version version = photranVersion();
-        return "http://www.eclipse.org/photran/welcome/" //$NON-NLS-1$
-            + version.getMajor()
-            + "." //$NON-NLS-1$
-            + version.getMinor()
-            + "/?version=" //$NON-NLS-1$
-            + version.toString()
-            + "&os=" //$NON-NLS-1$
-            + Platform.getOS()
-            + "&arch=" //$NON-NLS-1$
-            + Platform.getOSArch()
-            + "&lastVersion=" //$NON-NLS-1$
-            + lastVersion;
-    }
-
-    private Version photranVersion()
-    {
-        return FortranUIPlugin.getDefault().getBundle().getVersion();
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/UIMessages.java b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/UIMessages.java
deleted file mode 100644
index 401c9f1..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/UIMessages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.ui.startup;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class UIMessages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.photran.internal.ui.startup.uimessages"; //$NON-NLS-1$
-
-    public static String ShowReleaseNotes_WelcomeTitle;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, UIMessages.class);
-    }
-
-    private UIMessages()
-    {
-    }
-}
diff --git a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/uimessages.properties b/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/uimessages.properties
deleted file mode 100644
index 68f6337..0000000
--- a/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/startup/uimessages.properties
+++ /dev/null
@@ -1 +0,0 @@
-ShowReleaseNotes_WelcomeTitle=Welcome
diff --git a/org.eclipse.photran.ui/templates/defaults.xml b/org.eclipse.photran.ui/templates/defaults.xml
deleted file mode 100644
index 5d64ff5..0000000
--- a/org.eclipse.photran.ui/templates/defaults.xml
+++ /dev/null
@@ -1,248 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Default Fortran code templates -->
-<!-- Author: Jeff Overbey -->
-<templates>
-
-  <!--==========================================================================================-->
-  <!-- Constructs -->
-  <!--==========================================================================================-->
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.where_lc"
-    name="where...end where"
-    description="Where construct (lower case)">where (${mask_expression})
-&#009;${cursor}
-end where</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.where_uc"
-    name="WHERE...END WHERE"
-    description="Where construct (upper case)">WHERE (${mask_expression})
-&#009;${cursor}
-END WHERE</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.forall_lc"
-    name="forall...end forall"
-    description="Forall construct (lower case)">forall (${index_name} = ${lower}:${upper})
-&#009;${cursor}
-end forall</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.forall_uc"
-    name="FORALL...END FORALL"
-    description="Forall construct (upper case)">FORALL (${index_name} = ${lower}:${upper})
-&#009;${cursor}
-END FORALL</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.do_lc"
-    name="do...end do"
-    description="Do-loop construct (lower case)">do ${variable} = ${lower}, ${upper}
-&#009;${cursor}
-end do</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.do_uc"
-    name="DO...END DO"
-    description="Do-loop construct (upper case)">DO ${variable} = ${lower}, ${upper}
-&#009;${cursor}
-END DO</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.do_while_lc"
-    name="do while...end do"
-    description="Do-while construct (lower case)">do while (${expression})
-&#009;${cursor}
-end do</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.do_while_uc"
-    name="DO WHILE...END DO"
-    description="Do-while construct (upper case)">DO WHILE (${expression})
-&#009;${cursor}
-END DO</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.if_lc"
-    name="if...then"
-    description="If-then construct (lower case)">if (${expression}) then
-&#009;${cursor}
-end if</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.if_uc"
-    name="IF...THEN"
-    description="If-then construct (upper case)">IF (${expression}) THEN
-&#009;${cursor}
-END IF</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.select_lc"
-    name="select...end select"
-    description="Select case construct (lower case)">select case (${case_expression})
-&#009;case (${value_range_list})
-&#009;&#009;${cursor}
-&#009;case default
-&#009;&#009;
-end select</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.select_uc"
-    name="SELECT...END SELECT"
-    description="Select case construct (upper case)">SELECT CASE (${case_expression})
-&#009;CASE (${value_range_list})
-&#009;&#009;${cursor}
-&#009;CASE DEFAULT
-&#009;&#009;
-END SELECT</template>
-
-  <!--==========================================================================================-->
-  <!-- Statements -->
-  <!--==========================================================================================-->
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.implicit_none_lc"
-    name="implicit none"
-    description="Implicit none statement (lower case)">implicit none
-${cursor}</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.implicit_none_uc"
-    name="IMPLICIT NONE"
-    description="Implicit none statement (upper case)">IMPLICIT NONE
-${cursor}</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.print_lc"
-    name="print *, ..."
-    description="Print statement (lower case)">print *, ${cursor}</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.print_uc"
-    name="PRINT *, ..."
-    description="Print statement (upper case)">PRINT *, ${cursor}</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.call_lc"
-    name="call ..."
-    description="Call statement (lower case)">call ${cursor}</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.call_uc"
-    name="CALL ..."
-    description="Call statement (upper case)">CALL ${cursor}</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.allocate_lc"
-    name="allocate (...)"
-    description="Allocate statement (lower case)">allocate (${cursor})</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.allocate_uc"
-    name="ALLOCATE (...)"
-    description="Allocate statement (upper case)">ALLOCATE (${cursor})</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.nullify_lc"
-    name="nullify (...)"
-    description="Nullify statement (lower case)">nullify (${cursor})</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.nullify_uc"
-    name="NULLIFY (...)"
-    description="Nulify statement (upper case)">NULLIFY (${cursor})</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.deallocate_lc"
-    name="deallocate (...)"
-    description="Deallocate statement (lower case)">deallocate (${cursor})</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.deallocate_uc"
-    name="DEALLOCATE (...)"
-    description="Deallocate statement (upper case)">DEALLOCATE (${cursor})</template>
-
-  <!--==========================================================================================-->
-  <!-- Declarations -->
-  <!--==========================================================================================-->
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.type_lc"
-    name="type...end type"
-    description="Derived type declaration (lower case)">type ${name}
-&#009;${cursor}
-end type ${name}</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.type_uc"
-    name="TYPE...END TYPE"
-    description="Derived type declaration (upper case)">TYPE ${name}
-&#009;${cursor}
-END TYPE ${name}</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.interface_lc"
-    name="interface...end interface"
-    description="Interface declaration (lower case)">interface ${generic_spec}
-&#009;${cursor}
-end interface ${generic_spec}</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.interface_uc"
-    name="INTERFACE...END INTERFACE"
-    description="Interface declaration (upper case)">INTERFACE ${generic_spec}
-&#009;${cursor}
-END INTERFACE ${generic_spec}</template>
-
-  <!--==========================================================================================-->
-  <!-- Program Units -->
-  <!--==========================================================================================-->
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.program_lc"
-    name="program...end program"
-    description="Main program (lower case)">program ${name}
-&#009;implicit none
-&#009;${cursor}
-end program ${name}</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.program_uc"
-    name="PROGRAM...END PROGRAM"
-    description="Main program (upper case)">PROGRAM ${name}
-&#009;IMPLICIT NONE
-&#009;${cursor}
-END PROGRAM ${name}</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.module_lc"
-    name="module...end module"
-    description="Module (lower case)">module ${name}
-&#009;implicit none
-&#009;${cursor}
-contains
-&#009;
-end module ${name}</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.module_uc"
-    name="MODULE...END MODULE"
-    description="Module (upper case)">MODULE ${name}
-&#009;IMPLICIT NONE
-&#009;${cursor}
-CONTAINS
-&#009;
-END MODULE ${name}</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.subroutine_lc"
-    name="subroutine...end subroutine"
-    description="Subroutine (lower case)">subroutine ${name}(${parameters})
-&#009;${cursor}
-end subroutine ${name}</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.subroutine_uc"
-    name="SUBROUTINE...END SUBROUTINE"
-    description="Subroutine (upper case)">SUBROUTINE ${name}(${parameters})
-&#009;${cursor}
-END SUBROUTINE ${name}</template>
-
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.function_lc"
-    name="function...end function"
-    description="Function (lower case)">${return_type} function ${name}(${parameters})
-&#009;${cursor}
-end function ${name}</template>
-  <template autoinsert="true" context="org.eclipse.photran.ui.template.context" deleted="false" enabled="true"
-    id="org.eclipse.photran.ui.template.function_uc"
-    name="FUNCTION...END FUNCTION"
-    description="Function (upper case)">${return_type} FUNCTION ${name}(${parameters})
-&#009;${cursor}
-END FUNCTION ${name}</template>
-
-</templates>
\ No newline at end of file
diff --git a/org.eclipse.photran.xlf-feature/.project b/org.eclipse.photran.xlf-feature/.project
deleted file mode 100644
index aa88533..0000000
--- a/org.eclipse.photran.xlf-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.photran.xlf-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.photran.xlf-feature/build.properties b/org.eclipse.photran.xlf-feature/build.properties
deleted file mode 100644
index bfec94d..0000000
--- a/org.eclipse.photran.xlf-feature/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties
-src.includes = .project,\
-               build.properties,\
-               feature.xml,\
-               feature.properties
diff --git a/org.eclipse.photran.xlf-feature/feature.properties b/org.eclipse.photran.xlf-feature/feature.properties
deleted file mode 100644
index 0a4e444..0000000
--- a/org.eclipse.photran.xlf-feature/feature.properties
+++ /dev/null
@@ -1,36 +0,0 @@
-###############################################################################
-# Copyright (c) 2006-2010 Los Alamos National Laboratory, and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#    IBM - initial API and implementation
-###############################################################################
-# features.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=IBM XLF Compiler Support
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse PTP
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse PTP Update Site
-
-# "description" property - description of the feature
-description=Error parser and managed build toolchain for the IBM XLF compiler
-
-# copyright
-copyright=\
-Copyright (c) 2006-2010 Los Alamos National Laboratory, and others.\n\
-All rights reserved.\n\
-This program and the accompanying materials are made availablen\n\
-under the terms of the Eclipse Public License v1.0 which\n\
-accompanies this distribution and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html
diff --git a/org.eclipse.photran.xlf-feature/feature.xml b/org.eclipse.photran.xlf-feature/feature.xml
deleted file mode 100644
index f9c61fc..0000000
--- a/org.eclipse.photran.xlf-feature/feature.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.photran.xlf"
-      label="%featureName"
-      version="7.0.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.photran.errorparsers.xlf"
-      license-feature="org.eclipse.ptp.license"
-      license-feature-version="1.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/tools/ptp/updates/indigo"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.cdt.core"/>
-      <import feature="org.eclipse.photran" version="7.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.photran.errorparsers.xlf"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.photran.managedbuilder.xlf.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/org.eclipse.rephraserengine-feature/.project b/org.eclipse.rephraserengine-feature/.project
deleted file mode 100644
index d82f054..0000000
--- a/org.eclipse.rephraserengine-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine-feature/build.properties b/org.eclipse.rephraserengine-feature/build.properties
deleted file mode 100644
index 318916a..0000000
--- a/org.eclipse.rephraserengine-feature/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = feature.xml,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
-src.includes = .project,\
-               build.properties,\
-               epl-v10.html,\
-               feature.xml,\
-               license.html,\
-               feature.properties
diff --git a/org.eclipse.rephraserengine-feature/epl-v10.html b/org.eclipse.rephraserengine-feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/org.eclipse.rephraserengine-feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine-feature/feature.properties b/org.eclipse.rephraserengine-feature/feature.properties
deleted file mode 100644
index b5a1bd6..0000000
--- a/org.eclipse.rephraserengine-feature/feature.properties
+++ /dev/null
@@ -1,166 +0,0 @@
-###############################################################################
-# Copyright (c) 2009 IBM and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#    IBM - initial API and implementation
-###############################################################################
-# features.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Rephraser Engine End-User Runtime
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse PTP
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse PTP Update Site
-
-# "description" property - description of the feature
-description=Rephraser Engine
-
-# copyright
-copyright=\
-Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.  All rights reserved.\n\
-This program and the accompanying materials are made available\n\
-under the terms of the Eclipse Public License v1.0 which\n\
-accompanies this distribution and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/org.eclipse.rephraserengine-feature/feature.xml b/org.eclipse.rephraserengine-feature/feature.xml
deleted file mode 100644
index aa87748..0000000
--- a/org.eclipse.rephraserengine-feature/feature.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.rephraserengine"
-      label="%featureName"
-      version="7.0.0.qualifier"
-      provider-name="%providerName">
-
-   <description url="http://www.eclipse.org/photran">
-      %description
-   </description>
-
-   <copyright url="http://www.eclipse.org/photran">
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/tools/ptp/updates/indigo"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ltk.core.refactoring"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ltk.ui.refactoring"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.rephraserengine.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.rephraserengine.core.refactoring"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.rephraserengine.core.vpg"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.rephraserengine.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.rephraserengine.ui.refactoring"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.rephraserengine.ui.vpg"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/org.eclipse.rephraserengine-feature/license.html b/org.eclipse.rephraserengine-feature/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/org.eclipse.rephraserengine-feature/license.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>April 14, 2010</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
-
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
-
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-</body>
-</html>
diff --git a/org.eclipse.rephraserengine-support/.classpath b/org.eclipse.rephraserengine-support/.classpath
deleted file mode 100644
index 6fe660e..0000000
--- a/org.eclipse.rephraserengine-support/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src-cdtdb-4.0.3"/>
-	<classpathentry kind="src" path="src-cdtdb-mock-objects"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine-support/.project b/org.eclipse.rephraserengine-support/.project
deleted file mode 100644
index 5618f5d..0000000
--- a/org.eclipse.rephraserengine-support/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine-support</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c2167ff..0000000
--- a/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,332 +0,0 @@
-#Wed Oct 14 16:23:02 CDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=ignore
-org.eclipse.jdt.core.compiler.problem.deadCode=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=ignore
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=ignore
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=ignore
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=ignore
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=ignore
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=ignore
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
-org.eclipse.jdt.core.compiler.problem.unusedLabel=ignore
-org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=ignore
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 131108c..0000000
--- a/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed Oct 14 14:50:42 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine-support/README.txt b/org.eclipse.rephraserengine-support/README.txt
deleted file mode 100644
index 72ca300..0000000
--- a/org.eclipse.rephraserengine-support/README.txt
+++ /dev/null
@@ -1,41 +0,0 @@
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-REPHRASER ENGINE SUPPORT CODE
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
-This project is used to build JARs containing the database infrastructure used
-in CDT's indexer.  These JARs are:
-
-cdtdb-4.0.3-eclipse.jar
-    Copied into org.eclipse.rephraserengine.core; used by the Rephraser engine
-    Depends on the Eclipse Platform to provide CoreException and similar classes
-
-cdtdb-4.0.3-cmdline.jar
-    Currently unused
-    Uses mock objects to provide CoreException and similar classes
-
-To build the JAR files:
-1. Make sure the code has compiled successfully within the Eclipse IDE.  (The build script simply JARs the .class files
-   from the project's bin directory; it does not recompile them.)
-2. Right-click build/cdtdb-4.0.3.xml in the Package Explorer, and choose Run As > Ant Build
-3. Right click the org.eclipse.rephraserengine-support project, and click Refresh.
-4. Right-click distrib/cdtdb-4.0.3-eclipse.jar, and click Copy.
-5. Right-click on the org.eclipse.rephraserengine.core.vpg project, and click Paste to paste it into the project root,
-   overwriting the existing JAR.
-
-
-
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-Version information:
-
-JO 10/4/07:
-
-  CDT files copied from CDT 4.0.1 (:pserver:anonymous@dev.eclipse.org:/cvsroot/tools/org.eclipse.cdt/org.eclipse.cdt.core
-  Eclipse files copied from Eclipse 3.3.0 (Build id: I20070621-1340) for Mac OS X
-  Only the necessary fields/methods from CCorePlugin were copied; all other files were copied verbatim in their entirety.
-
-JO 06/09/08:
-  Classes in internal.core.pdom.db updated to CDT 4.0.3 (from cdt_4_0 branch).  Changes to Database class (and file
-  format?) in CDT 5.0 are causing problems.
-
-JO 0628/10:
-  Modified the Database class to fix Bug 318197.  (The modified block is labeled JO.)
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine-support/about.html b/org.eclipse.rephraserengine-support/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine-support/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine-support/build/cdtdb-4.0.3.xml b/org.eclipse.rephraserengine-support/build/cdtdb-4.0.3.xml
deleted file mode 100644
index 9aa7073..0000000
--- a/org.eclipse.rephraserengine-support/build/cdtdb-4.0.3.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project default="jar">
-<target name="jar">
-
-      <jar destfile="../distrib/cdtdb-4.0.3-cmdline.jar">
-        <fileset dir="../distrib"
-          includes="license.html"
-        />
-        <fileset dir="../bin"
-          includes="**/*"
-        />
-        <fileset dir="../src-cdtdb-4.0.3"
-          includes="**/*.java"
-        />
-        <fileset dir="../src-cdtdb-mock-objects"
-          includes="**/*.java"
-        />
-      </jar>
-
-      <jar destfile="../distrib/cdtdb-4.0.3-eclipse.jar">
-        <fileset dir="../distrib"
-          includes="license.html"
-        />
-        <fileset dir="../bin"
-          includes="org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/**/*"
-        />
-        <fileset dir="../src-cdtdb-4.0.3"
-          includes="org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/**/*.java"
-        />
-      </jar>
-
-</target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-cmdline.jar b/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-cmdline.jar
deleted file mode 100644
index b30ace3..0000000
--- a/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-cmdline.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-eclipse.jar b/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-eclipse.jar
deleted file mode 100644
index c1f28cf..0000000
--- a/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-eclipse.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.rephraserengine-support/distrib/license.html b/org.eclipse.rephraserengine-support/distrib/license.html
deleted file mode 100644
index ed4b196..0000000
--- a/org.eclipse.rephraserengine-support/distrib/license.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/core/CCorePlugin.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/core/CCorePlugin.java
deleted file mode 100644
index efd5bac..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/core/CCorePlugin.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Markus Schorn (Wind River Systems)
- *     Andrew Ferguson (Symbian)
- *     Anton Leherbauer (Wind River Systems)
- *     oyvind.harboe@zylin.com - http://bugs.eclipse.org/250638
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.core;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class CCorePlugin
-{
-    public static final String PLUGIN_ID = "bz.over.vpg.cdtdb"; //$NON-NLS-1$
-
-    private static ResourceBundle fgResourceBundle;
-
-    // -------- static methods --------
-
-    static {
-        try {
-            fgResourceBundle = ResourceBundle.getBundle("org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.CCorePluginResources"); //$NON-NLS-1$
-        } catch (MissingResourceException x) {
-            fgResourceBundle = null;
-        }
-    }
-
-    public static String getResourceString(String key) {
-        try {
-            return fgResourceBundle.getString(key);
-        } catch (MissingResourceException e) {
-            return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-        } catch (NullPointerException e) {
-            return "#" + key + "#"; //$NON-NLS-1$ //$NON-NLS-2$
-        }
-    }
-
-    public static void log(Throwable e)
-    {
-        e.printStackTrace();
-    }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/CCorePluginResources.properties b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/CCorePluginResources.properties
deleted file mode 100644
index 36862fb..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/CCorePluginResources.properties
+++ /dev/null
@@ -1,87 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 QNX Software Systems and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     QNX Software Systems - Initial API and implementation
-#     Markus Schorn (Wind River Systems)
-###############################################################################
-CBuilder.build_error= Build Error	
-CoreModel.BinaryRunner.Binary_Search_Thread=Searching for Binaries
-CoreModel.CModelBuilder.Parser_Construction_Failure=Parser/Scanner construction failure.
-CoreModel.CModelBuilder.Parse_Failure=Parse failure
-CoreModel.ArchiveContainer.Archives=Archives
-CoreModel.BinaryContainer.Binaries=Binaries
-CoreModel.CModelStatus.Error_in_CPlugin=Error in C Plugin
-CoreModel.NullBinaryParser.Not_binary_file=not a binary file
-CoreModel.NullBinaryParser.Null_Format=Null Format
-
-CoreModel.PathEntry.IllegalContainerPath= Illegal container entry
-CoreModel.PathEntry.DuplicateEntry= Duplicate path entries
-CoreModel.PathEntry.NestedEntry= Nested path entries
-CoreModel.PathEntry.InvalidPathEntry= Invalid path
-
-CommandLauncher.error.commandCanceled=Command canceled
-
-CCProjectNature.exception.noNature=Project must have a cnature
-
-CCorePlugin.exception.noBinaryFormat=No Binary Format
-
-CDescriptorManager.exception.invalid_ownerID=Invalid CDT Project owner ID
-CDescriptorManager.exception.alreadyConfigured=CDT Project already configured
-CDescriptorManager.exception.listenerError=An exception occurred during descriptor notification
-CDescriptorManager.internal_owner=No CDT Project owner
-CDescriptorManager.async_updater=CDT Project async save
-CDescriptorManager.owner_not_Installed=CDT Project owner not installed
-
-CDescriptor.exception.projectAlreadyExists=CDTProject already exists
-CDescriptor.exception.unmatchedOwnerId=CDTProject already exists but does not match owner ID
-CDescriptor.exception.fileNotFound=CDTProject file not found
-CDescriptor.exception.missingOwnerId=Missing owner id
-CDescriptor.exception.missingElement=Missing cdtproject element
-CDescriptor.exception.providerNotFound=Extension not found.
-CDescriptor.extension.internalError=Internal Error
-
-ResolverModel.exception.listenerError=An exception occurred during resolver model change notification
-
-Util.exception.invalidArchive=Not a valid archive file.
-Util.exception.arrayToSmall=Array to small
-Util.exception.notPE=Not a PE format
-Util.exception.notELF=Not ELF format
-Util.exception.notDOSFormat=Not DOS EXE format
-Util.exception.notXCOFF32=Not XCOFF32 format
-Util.exception.unknownFormat=Unknow machine/format
-Util.exception.nullPath=Path is null
-Util.exception.noFileAssociation=No file associated with Binary
-Util.exception.missingBytes=missing bytes
-Util.exception.noData=no more data
-Util.exception.cannotCreatePty=Can not create pty
-Util.exception.closeError=close error
-Util.error.cannotRun=Cannot run 
-Util.unknownName=unknown C++ encoded name
-Util.unknownFormat=Unknown debug format
-
-PathEntryVariableResolver.0=CDT PathEntry variable not specified
-
-CTagsIndexMarker.fileMissing=CTags output file missing
-CTagsIndexMarker.CTagsMissing=CTags not installed or not in path
-DOMIndexerMarker.EmptyScannerInfo=File not indexed because it was not built
-
-dom.languageError=Language not found
-indexer.notFound = Indexer not found
-
-pdom.requestTooLarge=Request too large
-pdom.indexer.name=C/C++ Indexer
-pdom.indexer.task=Indexing
-PDOMIndexerJob.updateMonitorJob=Update Monitor
-CCoreInternals.savePreferencesJob=Save preferences
-CConfigBasedDescriptorManager.0=the project is not a CDT project
-CConfigBasedDescriptorManager.1=description based descriptor operation can not be nested
-CConfigBasedDescriptorManager.2=can not perform descriptor operation based on the read only description
-CConfigBasedDescriptorManager.3=Failed to create descriptor
-CConfigBasedDescriptorManager.4=error: read-only configuration can not be used for CDescriptor
-CConfigBasedDescriptorManager.5=the project does not contain valid configurations
-CCorePlugin.startupJob=CDT Startup
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/BTree.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/BTree.java
deleted file mode 100644
index c958f96..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/BTree.java
+++ /dev/null
@@ -1,703 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     QNX - Initial API and implementation
- *     Andrew Ferguson (Symbian) - Provide B-tree deletion routine
- *     Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.core.CCorePlugin;
-
-
-/**
- * @author Doug Schaefer
- *
- */
-public class BTree {
-	// Constants for internal deletion routine (see deleteImp doc)
-	private static final int DELMODE_NORMAL = 0;
-	private static final int DELMODE_DELETE_MINIMUM = 1;
-	private static final int DELMODE_DELETE_MAXIMUM = 2;
-
-	protected final Database db;
-	protected final int rootPointer;
-
-	protected final int DEGREE;
-	protected final int MAX_RECORDS;
-	protected final int MAX_CHILDREN;
-	protected final int MIN_RECORDS; 
-	protected final int OFFSET_CHILDREN;
-	protected final int MEDIAN_RECORD;
-
-	protected final IBTreeComparator cmp;
-	
-	public BTree(Database db, int rootPointer, IBTreeComparator cmp) {
-		this(db, rootPointer, 8, cmp);
-	}
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param db the database containing the btree
-	 * @param root offset into database of the pointer to the root node
-	 */
-	public BTree(Database db, int rootPointer, int degree, IBTreeComparator cmp) {
-		if(degree<2)
-			throw new IllegalArgumentException(Messages.getString("BTree.IllegalDegree")); //$NON-NLS-1$
-
-		this.db = db;
-		this.rootPointer = rootPointer;
-		this.cmp = cmp;
-		
-		this.DEGREE = degree;
-		this.MIN_RECORDS = DEGREE - 1;
-		this.MAX_RECORDS = 2*DEGREE - 1;
-		this.MAX_CHILDREN = 2*DEGREE;
-		this.OFFSET_CHILDREN = MAX_RECORDS * Database.INT_SIZE;
-		this.MEDIAN_RECORD = DEGREE - 1;
-	}
-
-	protected int getRoot() throws CoreException {
-		return db.getInt(rootPointer);
-	}
-
-	protected final void putRecord(Chunk chunk, int node, int index, int record) {
-		chunk.putInt(node + index * Database.INT_SIZE, record);
-	}
-
-	protected final int getRecord(Chunk chunk, int node, int index) {
-		return chunk.getInt(node + index * Database.INT_SIZE);
-	}
-
-	protected final void putChild(Chunk chunk, int node, int index, int child) {
-		chunk.putInt(node + OFFSET_CHILDREN + index * Database.INT_SIZE, child);
-	}
-
-	protected final int getChild(Chunk chunk, int node, int index) {
-		return chunk.getInt(node + OFFSET_CHILDREN + index * Database.INT_SIZE);
-	}
-
-	/**
-	 * Inserts the record into the b-tree. We don't insert if the
-	 * key was already there, in which case we return the record
-	 * that matched. In other cases, we just return the record back.
-	 * 
-	 * @param offset of the record
-	 * @return 
-	 */
-	public int insert(int record) throws CoreException {
-		int root = getRoot();
-
-		// is this our first time in
-		if (root == 0) {
-			firstInsert(record);
-			return record;
-		}
-
-		return insert(null, 0, 0, root, record);
-	}
-
-	private int insert(Chunk pChunk, int parent, int iParent, int node, int record) throws CoreException {
-		Chunk chunk = db.getChunk(node);
-
-		// if this node is full (last record isn't null), split it
-		if (getRecord(chunk, node, MAX_RECORDS - 1) != 0) {
-			int median = getRecord(chunk, node, MEDIAN_RECORD); 
-			if (median == record)
-				// found it, never mind
-				return median;
-			else {
-				// split it
-				// create the new node and move the larger records over
-				int newnode = allocateNode();
-				Chunk newchunk = db.getChunk(newnode);
-				for (int i = 0; i < MEDIAN_RECORD; ++i) {
-					putRecord(newchunk, newnode, i, getRecord(chunk, node, MEDIAN_RECORD + 1 + i));
-					putRecord(chunk, node, MEDIAN_RECORD + 1 + i, 0);
-					putChild(newchunk, newnode, i, getChild(chunk, node, MEDIAN_RECORD + 1 + i));
-					putChild(chunk, node, MEDIAN_RECORD + 1 + i, 0);
-				}
-				putChild(newchunk, newnode, MEDIAN_RECORD, getChild(chunk, node, MAX_RECORDS));
-				putChild(chunk, node, MAX_RECORDS, 0);
-
-				if (parent == 0) {
-					// create a new root
-					parent = allocateNode();
-					pChunk = db.getChunk(parent);
-					db.putInt(rootPointer, parent);
-					putChild(pChunk, parent, 0, node);
-				} else {
-					// insert the median into the parent
-					for (int i = MAX_RECORDS - 2; i >= iParent; --i) {
-						int r = getRecord(pChunk, parent, i);
-						if (r != 0) {
-							putRecord(pChunk, parent, i + 1, r);
-							putChild(pChunk, parent, i + 2, getChild(pChunk, parent, i + 1));
-						}
-					}
-				}
-				putRecord(pChunk, parent, iParent, median);
-				putChild(pChunk, parent, iParent + 1, newnode);
-
-				putRecord(chunk, node, MEDIAN_RECORD, 0);
-
-				// set the node to the correct one to follow
-				if (cmp.compare(record, median) > 0) {
-					node = newnode;
-					chunk = newchunk;
-				}
-			}
-		}
-
-		// binary search to find the insert point
-		int lower= 0; 
-		int upper= MAX_RECORDS-1;
-		while (lower < upper && getRecord(chunk, node, upper-1) == 0) {
-			upper--;
-		}
-
-		while (lower < upper) {
-			int middle= (lower+upper)/2;
-			int checkRec= getRecord(chunk, node, middle);
-			if (checkRec == 0) {
-				upper= middle;
-			}
-			else {
-				int compare= cmp.compare(checkRec, record);
-				if (compare > 0) {
-					upper= middle;
-				}
-				else if (compare < 0) {
-					lower= middle+1;
-				}
-				else {
-					// found it, no insert, just return the record
-					return record;
-				}
-			}
-		}
-		final int i= lower;
-		int	child = getChild(chunk, node, i);
-		if (child != 0) {
-			// visit the children
-			return insert(chunk, node, i, child, record);
-		} else {
-			// were at the leaf, add us in.
-			// first copy everything after over one
-			for (int j = MAX_RECORDS - 2; j >= i; --j) {
-				int r = getRecord(chunk, node, j);
-				if (r != 0)
-					putRecord(chunk, node, j + 1, r);
-			}
-			putRecord(chunk, node, i, record);
-			return record;
-		}
-	}
-
-	private void firstInsert(int record) throws CoreException {
-		// create the node and save it as root
-		int root = allocateNode();
-		db.putInt(rootPointer, root);
-		// put the record in the first slot of the node
-		putRecord(db.getChunk(root), root, 0, record); 
-	}
-
-	private int allocateNode() throws CoreException {
-		return db.malloc((2 * MAX_RECORDS + 1) * Database.INT_SIZE);
-	}
-
-	/**
-	 * Deletes the specified record from the B-tree.
-	 * <p>
-	 * If the specified record is not present then this routine has no effect.
-	 * <p>
-	 * Specifying a record r for which there is another record q existing in the B-tree
-	 * where cmp.compare(r,q)==0 && r!=q will also have no effect   
-	 * <p>
-	 * N.B. The record is not deleted itself - its storage is not deallocated.
-	 * The reference to the record in the btree is deleted.
-	 *  
-	 * @param record the record to delete
-	 * @param cmp the comparator for locating the record
-	 * @throws CoreException
-	 */
-	public void delete(int record) throws CoreException {
-		try {
-			deleteImp(record, getRoot(), DELMODE_NORMAL);
-		} catch(BTreeKeyNotFoundException e) {
-			// contract of this method is to NO-OP upon this event
-		}
-	}
-
-	private class BTreeKeyNotFoundException extends Exception {
-		private static final long serialVersionUID = 9065438266175091670L;
-		public BTreeKeyNotFoundException(String msg) {
-			super(msg);
-		}
-	}
-
-	/**
-	 * Used in implementation of delete routines
-	 */
-	private class BTNode {
-		final int node;
-		final int keyCount;
-		final Chunk chunk;
-
-		BTNode(int node) throws CoreException {
-			this.node = node;
-			this.chunk = db.getChunk(node);
-			int i=0;
-			while(i<MAX_RECORDS && getRecord(chunk, node, i)!=0)
-				i++;
-			keyCount = i;
-		}
-
-		private BTNode getChild(int index) throws CoreException {
-			if(0<=index && index<MAX_CHILDREN) {
-				int child = BTree.this.getChild(chunk, node, index);
-				if(child!=0)
-					return new BTNode(child);
-			}
-			return null;
-		}
-	}
-
-	/**
-	 * Implementation for deleting a key/record from the B-tree.
-	 * <p>
-	 * There is no distinction between keys and records.
-	 * <p>
-	 * This implements a single downward pass (with minor exceptions) deletion
-	 * <p>
-	 * @param key the address of the record to delete
-	 * @param nodeRecord a node that (directly or indirectly) contains the specified key/record
-	 * @param mode one of DELMODE_NORMAL, DELMODE_DELETE_MINIMUM, DELMODE_DELETE_MAXIMUM
-	 * 	where DELMODE_NORMAL: locates the specified key/record using the comparator provided
-	 *        DELMODE_DELETE_MINIMUM: locates and deletes the minimum element in the subtree rooted at nodeRecord
-	 *        DELMODE_DELETE_MAXIMUM: locates and deletes the maximum element in the subtree rooted at nodeRecord
-	 * @param cmp the comparator used to locate the record in the tree
-	 * @return the address of the record removed from the B-tree
-	 * @throws CoreException
-	 */
-	private int deleteImp(int key, int nodeRecord, int mode)
-	throws CoreException, BTreeKeyNotFoundException {
-		BTNode node = new BTNode(nodeRecord);
-
-		// Determine index of key in current node, or -1 if its not in this node
-		int keyIndexInNode = -1;
-		if(mode==DELMODE_NORMAL)
-			for(int i=0; i<node.keyCount; i++)
-				if(getRecord(node.chunk, node.node, i) == key) {
-					keyIndexInNode = i;
-					break;
-				}
-
-		if(getChild(node.chunk, node.node, 0)==0) {
-			/* Case 1: leaf node containing the key (by method precondition) */
-			if(keyIndexInNode!=-1) {
-				nodeContentDelete(node, keyIndexInNode, 1);
-				return key;
-			} else {
-				if(mode==DELMODE_DELETE_MINIMUM) {
-					int subst = getRecord(node.chunk, node.node, 0);
-					nodeContentDelete(node, 0, 1);
-					return subst;
-				} else if(mode==DELMODE_DELETE_MAXIMUM) {
-					int subst = getRecord(node.chunk, node.node, node.keyCount-1);
-					nodeContentDelete(node, node.keyCount-1, 1);
-					return subst;
-				}
-				throw new BTreeKeyNotFoundException(
-						MessageFormat.format(Messages.getString("BTree.DeletionOnAbsentKey"), //$NON-NLS-1$
-								new Object[]{new Integer(key), new Integer(mode)}));
-			}
-		} else {
-			if(keyIndexInNode != -1) {
-				/* Case 2: non-leaf node which contains the key itself */
-
-				BTNode succ = node.getChild(keyIndexInNode+1);
-				if(succ!=null && succ.keyCount > MIN_RECORDS) {
-					/* Case 2a: Delete key by overwriting it with its successor (which occurs in a leaf node) */
-					int subst = deleteImp(-1, succ.node, DELMODE_DELETE_MINIMUM);
-					putRecord(node.chunk, node.node, keyIndexInNode, subst);
-					return key;
-				}
-
-				BTNode pred = node.getChild(keyIndexInNode); 
-				if(pred!=null && pred.keyCount > MIN_RECORDS) {
-					/* Case 2b: Delete key by overwriting it with its predecessor (which occurs in a leaf node) */
-					int subst = deleteImp(-1, pred.node, DELMODE_DELETE_MAXIMUM);
-					putRecord(node.chunk, node.node, keyIndexInNode, subst);
-					return key;
-				}
-
-				/* Case 2c: Merge successor and predecessor */
-				// assert(pred!=null && succ!=null);
-				mergeNodes(succ, node, keyIndexInNode, pred);
-				return deleteImp(key, pred.node, mode);
-			} else {
-				/* Case 3: non-leaf node which does not itself contain the key */
-
-				/* Determine root of subtree that should contain the key */
-				int subtreeIndex;
-				switch(mode) {
-				case DELMODE_NORMAL:
-					subtreeIndex = node.keyCount; 
-					for(int i=0; i<node.keyCount; i++)
-						if(cmp.compare(getRecord(node.chunk, node.node, i), key)>0) {
-							subtreeIndex = i;
-							break;
-						}
-					break;
-				case DELMODE_DELETE_MINIMUM: subtreeIndex = 0; break;
-				case DELMODE_DELETE_MAXIMUM: subtreeIndex = node.keyCount; break;
-				default: throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, IStatus.OK, Messages.getString("BTree.UnknownMode"), null)); //$NON-NLS-1$
-				}
-
-				BTNode child = node.getChild(subtreeIndex);
-				if(child==null) {
-					throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, IStatus.OK, Messages.getString("BTree.IntegrityError"), null)); //$NON-NLS-1$
-				}
-
-				if(child.keyCount > MIN_RECORDS) {
-					return deleteImp(key, child.node, mode);
-				} else {
-					BTNode sibR = node.getChild(subtreeIndex+1);
-					if(sibR!=null && sibR.keyCount > MIN_RECORDS) {
-						/* Case 3a (i): child will underflow upon deletion, take a key from rightSibling */
-						int rightKey = getRecord(node.chunk, node.node, subtreeIndex);
-						int leftmostRightSiblingKey = getRecord(sibR.chunk, sibR.node, 0);
-						append(child, rightKey, getChild(sibR.chunk, sibR.node, 0));
-						nodeContentDelete(sibR, 0, 1);
-						putRecord(node.chunk, node.node, subtreeIndex, leftmostRightSiblingKey);
-						return deleteImp(key, child.node, mode);
-					}
-
-					BTNode sibL = node.getChild(subtreeIndex-1);
-					if(sibL!=null && sibL.keyCount > MIN_RECORDS) {
-						/* Case 3a (ii): child will underflow upon deletion, take a key from leftSibling */
-						int leftKey = getRecord(node.chunk, node.node, subtreeIndex-1);
-						prepend(child, leftKey, getChild(sibL.chunk, sibL.node, sibL.keyCount));
-						int rightmostLeftSiblingKey = getRecord(sibL.chunk, sibL.node, sibL.keyCount-1);
-						putRecord(sibL.chunk, sibL.node, sibL.keyCount-1, 0);
-						putChild(sibL.chunk, sibL.node, sibL.keyCount, 0);
-						putRecord(node.chunk, node.node, subtreeIndex-1, rightmostLeftSiblingKey);
-						return deleteImp(key, child.node, mode);
-					}
-
-					/* Case 3b (i,ii): leftSibling, child, rightSibling all have minimum number of keys */
-
-					if(sibL!=null) { // merge child into leftSibling
-						mergeNodes(child, node, subtreeIndex-1, sibL);
-						return deleteImp(key, sibL.node, mode);
-					}
-
-					if(sibR!=null) { // merge rightSibling into child
-						mergeNodes(sibR, node, subtreeIndex, child);
-						return deleteImp(key, child.node, mode);
-					}
-
-					throw new BTreeKeyNotFoundException(
-							MessageFormat.format(Messages.getString("BTree.DeletionOnAbsentKey"), //$NON-NLS-1$
-									new Object[]{new Integer(key), new Integer(mode)}));
-				}
-			}
-		}
-	}
-
-	/**
-	 * Merge node 'src' onto the right side of node 'dst' using node
-	 * 'keyProvider' as the source of the median key. Bounds checking is not
-	 * performed.
-	 * @param src the key to merge into dst
-	 * @param mid the node that provides the median key for the new node
-	 * @param kIndex the index of the key in the node <i>mid</i> which is to become the new node's median key
-	 * @param dst the node which is the basis and result of the merge
-	 */
-	public void mergeNodes(BTNode src, BTNode keyProvider, int kIndex, BTNode dst) 
-	throws CoreException {
-		nodeContentCopy(src, 0, dst, dst.keyCount+1, src.keyCount+1);
-		int midKey = getRecord(keyProvider.chunk, keyProvider.node, kIndex);
-		putRecord(dst.chunk, dst.node, dst.keyCount, midKey);
-		int keySucc = kIndex+1 == MAX_RECORDS ? 0 : getRecord(keyProvider.chunk, keyProvider.node, kIndex+1);
-		db.free(getChild(keyProvider.chunk, keyProvider.node,  kIndex+1));
-		nodeContentDelete(keyProvider, kIndex+1, 1);
-		putRecord(keyProvider.chunk, keyProvider.node, kIndex, keySucc);
-		if(kIndex == 0 && keySucc == 0) {
-			/*
-			 * The root node is excused from the property that a node must have a least MIN keys
-			 * This means we must special case it at the point when its had all of its keys deleted
-			 * entirely during merge operations (which push one of its keys down as a pivot)
-			 */
-			int rootNode = getRoot();
-			if(rootNode == keyProvider.node) {
-				db.putInt(rootPointer, dst.node);
-				db.free(rootNode);
-			}
-		}
-	}
-
-	/**
-	 * Insert the key and (its predecessor) child at the left side of the specified node. Bounds checking
-	 * is not performed.
-	 * @param node the node to prepend to
-	 * @param key the new leftmost (least) key
-	 * @param child the new leftmost (least) subtree root
-	 */
-	private void prepend(BTNode node, int key, int child) {
-		nodeContentCopy(node, 0, node, 1, node.keyCount+1);
-		putRecord(node.chunk, node.node, 0, key);
-		putChild(node.chunk, node.node, 0, child);
-	}
-
-	/**
-	 * Insert the key and (its successor) child at the right side of the specified node. Bounds checking
-	 * is not performed.
-	 * @param node
-	 * @param key
-	 * @param child
-	 */
-	private void append(BTNode node, int key, int child) {
-		putRecord(node.chunk, node.node, node.keyCount, key);
-		putChild(node.chunk, node.node, node.keyCount + 1, child);
-	}
-
-	/**
-	 * Overwrite a section of the specified node (dst) with the specified section of the source node. Bounds checking
-	 * is not performed. To allow just copying of the final child (which has no corresponding key) the routine
-	 * behaves as though there were a corresponding key existing with value zero.<p>
-	 * Copying from a node to itself is permitted.
-	 * @param src the node to read from
-	 * @param srcPos the initial index to read from (inclusive)
-	 * @param dst the node to write to
-	 * @param dstPos the initial index to write to (inclusive)
-	 * @param length the number of (key,(predecessor)child) nodes to write
-	 */
-	private void nodeContentCopy(BTNode src, int srcPos, BTNode dst, int dstPos, int length) {
-		for(int i=length-1; i>=0; i--) { // this order is important when src==dst!
-			int srcIndex = srcPos + i;
-			int dstIndex = dstPos + i;
-
-			if(srcIndex<src.keyCount+1) {
-				int srcChild = getChild(src.chunk, src.node, srcIndex);
-				putChild(dst.chunk, dst.node, dstIndex, srcChild);
-
-				if(srcIndex<src.keyCount) {
-					int srcKey = getRecord(src.chunk, src.node, srcIndex);
-					putRecord(dst.chunk, dst.node, dstIndex, srcKey);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Delete a section of node content - (key, (predecessor)child) pairs. Bounds checking
-	 * is not performed. To allow deletion of the final child (which has no corresponding key) the routine
-	 * behaves as though there were a corresponding key existing with value zero.<p>
-	 * Content is deleted and remaining content is moved leftward the appropriate amount.
-	 * @param node the node to delete content from
-	 * @param i the start index (inclusive) to delete from
-	 * @param length the length of the sequence to delete
-	 */
-	private void nodeContentDelete(BTNode node, int i, int length) {
-		for(int index=i; index<=MAX_RECORDS; index++) {
-			int newKey = (index+length) < node.keyCount ? getRecord(node.chunk, node.node, index+length) : 0;
-			int newChild = (index+length) < node.keyCount+1 ? getChild(node.chunk, node.node, index+length) : 0;
-			if(index<MAX_RECORDS) {
-				putRecord(node.chunk, node.node, index, newKey);
-			}
-			if(index<MAX_CHILDREN) {
-				putChild(node.chunk, node.node, index, newChild);
-			}
-		}
-	}
-
-	/**
-	 * Visit all nodes beginning when the visitor comparator
-	 * returns >= 0 until the visitor visit returns falls.
-	 * 
-	 * @param visitor
-	 */
-	public void accept(IBTreeVisitor visitor) throws CoreException {
-		accept(db.getInt(rootPointer), visitor);
-	}
-
-	private boolean accept(int node, IBTreeVisitor visitor) throws CoreException {
-		// if found is false, we are still in search mode
-		// once found is true visit everything
-		// return false when ready to quit
-
-		if (node == 0) {
-			return true;
-		}
-		if(visitor instanceof IBTreeVisitor2) {
-			((IBTreeVisitor2)visitor).preNode(node);
-		}
-
-		try {
-			Chunk chunk = db.getChunk(node);
-			
-			// binary search to find first record greater or equal
-			int lower= 0; 
-			int upper= MAX_RECORDS-1;
-			while (lower < upper && getRecord(chunk, node, upper-1) == 0) {
-				upper--;
-			}
-			while (lower < upper) {
-				int middle= (lower+upper)/2;
-				int checkRec= getRecord(chunk, node, middle);
-				if (checkRec == 0) {
-					upper= middle;
-				}
-				else {
-					int compare= visitor.compare(checkRec);
-					if (compare >= 0) {
-						upper= middle;
-					}
-					else {
-						lower= middle+1;
-					}
-				}
-			}
-			
-			// start with first record greater or equal, reuse comparison results.
-			int i= lower;
-			for (; i < MAX_RECORDS; ++i) {
-				int record = getRecord(chunk, node, i);
-				if (record == 0) 
-					break;
-
-				int compare= visitor.compare(record);
-				if (compare > 0) {
-					// 	start point is to the left
-					return accept(getChild(chunk, node, i), visitor);
-				} 
-				else if (compare == 0) {
-					if (!accept(getChild(chunk, node, i), visitor)) 
-						return false;
-					if (!visitor.visit(record))
-						return false;
-				}
-			}
-			return accept(getChild(chunk, node, i), visitor);
-		} finally {
-			if(visitor instanceof IBTreeVisitor2) {
-				((IBTreeVisitor2)visitor).postNode(node);
-			}
-		}
-	}
-
-	/*
-	 * TODO: It would be good to move these into IBTreeVisitor and eliminate
-	 * IBTreeVisitor2 if this is acceptable.
-	 */
-	private interface IBTreeVisitor2 extends IBTreeVisitor {
-		void preNode(int node) throws CoreException;
-		void postNode(int node) throws CoreException;
-	}
-
-	/**
-	 * Debugging method for checking B-tree invariants
-	 * @return the empty String if B-tree invariants hold, otherwise
-	 * a human readable report
-	 * @throws CoreException
-	 */
-	public String getInvariantsErrorReport() throws CoreException {
-		InvariantsChecker checker = new InvariantsChecker();
-		accept(checker);
-		return checker.isValid() ? "" : checker.getMsg(); //$NON-NLS-1$
-	}
-
-	/**
-	 * A B-tree visitor for checking some B-tree invariants.
-	 * Note ordering invariants are not checked here.
-	 */
-	private class InvariantsChecker implements IBTreeVisitor2 {
-		boolean valid = true;
-		String msg = ""; //$NON-NLS-1$
-		Integer leafDepth;
-		int depth;
-
-		public String getMsg() { return msg; }
-		public boolean isValid() { return valid; }
-		public void postNode(int node) throws CoreException { depth--; }
-		public int compare(int record) throws CoreException { return 0; }
-		public boolean visit(int record) throws CoreException { return true; }
-
-		public void preNode(int node) throws CoreException {
-			depth++;
-
-			// collect information for checking
-			int keyCount = 0;
-			int indexFirstBlankKey = MAX_RECORDS;
-			int indexLastNonBlankKey = 0; 
-			for(int i=0; i<MAX_RECORDS; i++) {
-				if(getRecord(db.getChunk(node), node, i)!=0) {
-					keyCount++;
-					indexLastNonBlankKey = i;
-				} else if(indexFirstBlankKey== MAX_RECORDS){
-					indexFirstBlankKey = i;
-				}
-			}
-
-			int childCount = 0;
-			for(int i=0; i<MAX_CHILDREN; i++) {
-				if(getChild(db.getChunk(node), node, i)!=0) {
-					childCount++;
-				}
-			}
-
-			// check that non-blank keys are contiguous and blank key terminated
-			if(indexFirstBlankKey != indexLastNonBlankKey+1) {
-				boolean full = indexFirstBlankKey == MAX_RECORDS && indexLastNonBlankKey == MAX_RECORDS-1;
-				boolean empty = indexFirstBlankKey == 0 && indexLastNonBlankKey == 0;
-				if(!full && !empty){ 
-					valid = false;
-					msg += MessageFormat.format(Messages.getString("BTree.IntegrityErrorA"), //$NON-NLS-1$
-							new Object[]{new Integer(node), new Integer(indexFirstBlankKey), new Integer(indexLastNonBlankKey)});
-				}
-			}
-
-			// Check: Key number constrains child numbers
-			if(childCount!=0 && childCount!=keyCount+1) {
-				valid = false;
-				msg += MessageFormat.format(Messages.getString("BTree.IntegrityErrorB"), new Object[]{new Integer(node)}); //$NON-NLS-1$
-			}
-
-			// the root node is excused from the remaining node constraints
-			if(node == db.getInt(rootPointer)) {
-				return; 
-			}
-
-			// Check: Non-root nodes must have a keyCount within a certain range
-			if(keyCount < MIN_RECORDS || keyCount > MAX_RECORDS) {
-				valid = false;
-				msg += MessageFormat.format(Messages.getString("BTree.IntegrityErrorC"), new Object[]{new Integer(node)}); //$NON-NLS-1$
-			}
-
-			// Check: All leaf nodes are at the same depth
-			if(childCount==0) {
-				if(leafDepth==null) {
-					leafDepth = new Integer(depth);
-				}
-				if(depth!=leafDepth.intValue()) {
-					valid = false;
-					msg += Messages.getString("BTree.IntegrityErrorD"); //$NON-NLS-1$
-				}
-			}
-		}
-	}
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Chunk.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Chunk.java
deleted file mode 100644
index 554c369..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Chunk.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- * Markus Schorn (Wind River Systems)
- * IBM Corporation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Caches the content of a piece of the database.
- */
-final class Chunk {
-	final private byte[] fBuffer= new byte[Database.CHUNK_SIZE];
-
-	final Database fDatabase;
-	final int fSequenceNumber;
-	
-	boolean fCacheHitFlag= false;
-	boolean fDirty= false;
-	boolean fLocked= false;	// locked chunks must not be released from cache.
-	int fCacheIndex= -1;
-		
-	Chunk(Database db, int sequenceNumber) {
-		fDatabase= db;
-		fSequenceNumber= sequenceNumber;
-	}
-
-	void read() throws CoreException {
-		try {
-			final ByteBuffer buf= ByteBuffer.wrap(fBuffer);
-			fDatabase.read(buf, fSequenceNumber*Database.CHUNK_SIZE);
-		} catch (IOException e) {
-			throw new CoreException(new DBStatus(e));
-		}
-	}
-
-	void flush() throws CoreException {
-		try {
-			final ByteBuffer buf= ByteBuffer.wrap(fBuffer);
-			fDatabase.write(buf, fSequenceNumber*Database.CHUNK_SIZE);
-		} catch (IOException e) {
-			throw new CoreException(new DBStatus(e));
-		}
-		fDirty= false;
-	}
-
-	public void putByte(final int offset, final byte value) {
-		assert fLocked;
-		fDirty= true;
-		fBuffer[offset % Database.CHUNK_SIZE]= value;
-	}
-	
-	public byte getByte(final int offset) {
-		return fBuffer[offset % Database.CHUNK_SIZE];
-	}
-	
-	public byte[] getBytes(final int offset, final int length) {
-		final byte[] bytes = new byte[length];
-		System.arraycopy(fBuffer, offset % Database.CHUNK_SIZE, bytes, 0, length);
-		return bytes;
-	}
-	
-	public void putBytes(final int offset, final byte[] bytes) {
-		assert fLocked;
-		fDirty= true;
-		System.arraycopy(bytes, 0, fBuffer, offset % Database.CHUNK_SIZE, bytes.length);
-	}
-	
-	public void putInt(final int offset, final int value) {
-		assert fLocked;
-		fDirty= true;
-		int idx= offset % Database.CHUNK_SIZE;
-		fBuffer[idx]=   (byte)(value >> 24);
-		fBuffer[++idx]= (byte)(value >> 16);
-		fBuffer[++idx]= (byte)(value >> 8);
-		fBuffer[++idx]= (byte)(value);
-	}
-	
-	public int getInt(final int offset) {
-		int idx= offset % Database.CHUNK_SIZE;
-		return ((fBuffer[idx] & 0xff) << 24) |
-			((fBuffer[++idx] & 0xff) << 16) |
-			((fBuffer[++idx] & 0xff) <<  8) |
-			((fBuffer[++idx] & 0xff) <<  0);
-	}
-
-	public void putShort(final int offset, final short value) {
-		assert fLocked;
-		fDirty= true;
-		int idx= offset % Database.CHUNK_SIZE;
-		fBuffer[idx]= (byte)(value >> 8);
-		fBuffer[++idx]= (byte)(value);
-	}
-	
-	public short getShort(final int offset) {
-		int idx= offset % Database.CHUNK_SIZE;
-		return (short) (((fBuffer[idx] << 8) | (fBuffer[++idx] & 0xff)));
-	}
-
-	public long getLong(final int offset) {
-		int idx= offset % Database.CHUNK_SIZE;
-		return ((((long)fBuffer[idx] & 0xff) << 56) |
-				(((long)fBuffer[++idx] & 0xff) << 48) |
-				(((long)fBuffer[++idx] & 0xff) << 40) |
-				(((long)fBuffer[++idx] & 0xff) << 32) |
-				(((long)fBuffer[++idx] & 0xff) << 24) |
-				(((long)fBuffer[++idx] & 0xff) << 16) |
-				(((long)fBuffer[++idx] & 0xff) <<  8) |
-				(((long)fBuffer[++idx] & 0xff) <<  0));
-	}
-
-	public void putLong(final int offset, final long value) {
-		assert fLocked;
-		fDirty= true;
-		int idx= offset % Database.CHUNK_SIZE;
-
-		fBuffer[idx]=   (byte)(value >> 56);
-		fBuffer[++idx]= (byte)(value >> 48);
-		fBuffer[++idx]= (byte)(value >> 40);
-		fBuffer[++idx]= (byte)(value >> 32);
-		fBuffer[++idx]= (byte)(value >> 24);
-		fBuffer[++idx]= (byte)(value >> 16);
-		fBuffer[++idx]= (byte)(value >> 8);
-		fBuffer[++idx]= (byte)(value);
-	}
-	
-	public void putChar(final int offset, final char value) {
-		assert fLocked;
-		fDirty= true;
-		int idx= offset % Database.CHUNK_SIZE;
-		fBuffer[idx]= (byte)(value >> 8);
-		fBuffer[++idx]= (byte)(value);
-	}
-	
-	public char getChar(final int offset) {
-		int idx= offset % Database.CHUNK_SIZE;
-		return (char) (((fBuffer[idx] << 8) | (fBuffer[++idx] & 0xff)));
-	}
-
-	public void getCharArray(final int offset, final char[] result) {
-		final ByteBuffer buf= ByteBuffer.wrap(fBuffer);
-		buf.position(offset % Database.CHUNK_SIZE);
-		buf.asCharBuffer().get(result);
-	}
-	
-	void clear(final int offset, final int length) {
-		assert fLocked;
-		fDirty= true;
-		int idx= (offset % Database.CHUNK_SIZE);
-		final int end= idx + length;
-		for (; idx < end; idx++) {
-			fBuffer[idx]= 0;
-		}
-	}
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ChunkCache.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ChunkCache.java
deleted file mode 100644
index 455060a..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ChunkCache.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/ 
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-public final class ChunkCache {
-	private static ChunkCache sSharedInstance= new ChunkCache();
-	
-	private Chunk[] fPageTable;
-	private boolean fTableIsFull= false;
-	private int fPointer= 0;
-	
-	public static ChunkCache getSharedInstance() {
-		return sSharedInstance;
-	}
-
-	public ChunkCache() {
-		this(5*1024*1024);
-	}
-	
-	public ChunkCache(long maxSize) {
-		fPageTable= new Chunk[computeLength(maxSize)];
-	}
-	
-	public synchronized void add(Chunk chunk, boolean locked) {
-		if (locked) {
-			chunk.fLocked= true;
-		}
-		if (chunk.fCacheIndex >= 0) {
-			chunk.fCacheHitFlag= true;
-			return;
-		}
-		if (fTableIsFull) {
-			evictChunk();
-			chunk.fCacheIndex= fPointer;
-			fPageTable[fPointer]= chunk;
-		}
-		else {
-			chunk.fCacheIndex= fPointer;
-			fPageTable[fPointer]= chunk;
-
-			fPointer++;
-			if (fPointer == fPageTable.length) {
-				fPointer= 0;
-				fTableIsFull= true;
-			}
-		}
-	}
-	
-	/**                                                                   
-	 * Evicts a chunk from the page table and the chunk table.            
-	 * After this method returns, {@link #fPointer}  will contain
-	 * the index of the evicted chunk within the page table.              
-	 */                                                                   
-	private void evictChunk() {
-		/*
-		 * Use the CLOCK algorithm to determine which chunk to evict.
-		 * i.e., if the chunk in the current slot of the page table has been
-		 * recently referenced (i.e. the reference flag is set), unset the
-		 * reference flag and move to the next slot.  Otherwise, evict the
-		 * chunk in the current slot.
-		 */
-		while (true) {
-			Chunk chunk = fPageTable[fPointer];
-			if (chunk.fCacheHitFlag) {
-				chunk.fCacheHitFlag= false;
-				fPointer= (fPointer + 1) % fPageTable.length;
-			} else {
-				chunk.fDatabase.releaseChunk(chunk);
-				chunk.fCacheIndex= -1;
-				fPageTable[fPointer] = null;
-				return;
-			}
-		}
-	}
-
-	public synchronized void remove(Chunk chunk) {
-		final int idx= chunk.fCacheIndex;
-		if (idx >= 0) {
-			if (fTableIsFull) {
-				fPointer= fPageTable.length-1;
-				fTableIsFull= false;
-			}
-			else {
-				fPointer--;
-			}
-			chunk.fCacheIndex= -1;
-			final Chunk move= fPageTable[fPointer];
-			fPageTable[idx]= move;
-			move.fCacheIndex= idx;
-			fPageTable[fPointer]= null;
-		}	
-	}
-
-	/**                                                                           
-	 * Returns the maximum size of the chunk cache in bytes.
-	 */                                                                           
-	public synchronized long getMaxSize() {
-		return (long) fPageTable.length * Database.CHUNK_SIZE;
-	}
-
-	/**                                                                           
-	 * Clears the page table and changes it to hold chunks with
-	 * maximum total memory of <code>maxSize</code>.       
-	 * @param maxSize the total size of the chunks in bytes.                
-	 */                                                                           
-	public synchronized void setMaxSize(long maxSize) {
-		final int newLength= computeLength(maxSize);
-		final int oldLength= fTableIsFull ? fPageTable.length : fPointer;
-		if (newLength > oldLength) {
-			Chunk[] newTable= new Chunk[newLength];
-			System.arraycopy(fPageTable, 0, newTable, 0, oldLength);
-			fTableIsFull= false;
-			fPointer= oldLength;
-			fPageTable= newTable;
-		}
-		else {
-			for (int i=newLength; i<oldLength; i++) {
-				final Chunk chunk= fPageTable[i];
-				chunk.fDatabase.releaseChunk(chunk);
-				chunk.fCacheIndex= -1;
-			}
-			Chunk[] newTable= new Chunk[newLength];
-			System.arraycopy(fPageTable, 0, newTable, 0, newLength);
-			fTableIsFull= true;
-			fPointer= 0;
-			fPageTable= newTable;
-		}       
-	}                                                                             
-
-	private int computeLength(long maxSize) {
-		long maxLength= Math.min(maxSize/Database.CHUNK_SIZE, Integer.MAX_VALUE);
-		return Math.max(1, (int)maxLength);
-	}
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java
deleted file mode 100644
index 7d2c1c9..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Symbian Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrew Ferguson (Symbian) - Initial implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * DBProperties is a bare-bones implementation of a String->String mapping. It is neither
- * a Map or a Properties subclass, because of their more general applications.
- */
-public class DBProperties {
-	static final int PROP_INDEX = 0;
-	static final int RECORD_SIZE = 4;
-	
-	protected BTree index;
-	protected Database db;
-	protected int record;
-	
-	/**
-	 * Allocate storage for a new DBProperties record in the specified database
-	 * @param db
-	 * @throws CoreException
-	 */
-	public DBProperties(Database db) throws CoreException {
-		this.record= db.malloc(RECORD_SIZE);
-		this.index= new BTree(db, record + PROP_INDEX, DBProperty.getComparator(db));
-		this.db= db;
-	}
-	
-	/**
-	 * Creates an object for accessing an existing DBProperties record at the specified location of the specified database
-	 * @param db
-	 * @param record
-	 * @throws CoreException
-	 */
-	public DBProperties(Database db, int record) throws CoreException {
-		this.record= record;
-		this.index= new BTree(db, record + PROP_INDEX, DBProperty.getComparator(db));
-		this.db= db;
-	}
-	
-	/**
-	 * Read the named property from this properties storage
-	 * @param key a case-sensitive identifier for a property, or null
-	 * @return the value associated with the key, or null if either no such property is set, or the specified key was null
-	 * @throws CoreException
-	 */
-	public String getProperty(String key) throws CoreException {
-		if(key!=null) {
-			DBProperty existing= DBProperty.search(db, index, key);
-			if(existing!=null) {
-				return existing.getValue().getString();
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Read the named property from this properties storage, returning the default value if there is no such property
-	 * @param key a case-sensitive identifier for a property, or null
-	 * @param defaultValue a value to return in case the specified key was null
-	 * @return the value associated with the key, or the specified default value if either no such property is set, or
-	 * the specified key was null
-	 * @throws CoreException
-	 */
-	public String getProperty(String key, String defaultValue) throws CoreException {
-		String val= getProperty(key);
-		return (val == null) ? defaultValue : val;
-	}
-
-	/**
-	 * Returns a Set of property names (Strings) stored in this object
-	 * @return a Set of property names (Strings) stored in this object
-	 * @throws CoreException
-	 */
-	public Set getKeySet() throws CoreException {
-		return DBProperty.getKeySet(db, index);
-	}
-
-	/**
-	 * Write the key, value mapping to the properties. If a mapping for the
-	 * same key already exists, it is overwritten.
-	 * @param key a non-null property name
-	 * @param value a value to associate with the key. may not be null.
-	 * @throws CoreException
-	 * @throws NullPointerException if key is null
-	 */
-	public void setProperty(String key, String value) throws CoreException {
-		removeProperty(key);
-		DBProperty newProperty= new DBProperty(db, key, value);
-		index.insert(newProperty.getRecord());
-	}
-
-	/**
-	 * Deletes a property from this DBProperties object
-	 * @param key
-	 * @return whether a property with matching key existed and was removed, or false if the key was null
-	 * @throws CoreException
-	 */
-	public boolean removeProperty(String key) throws CoreException {
-		if(key!=null) {
-			DBProperty existing= DBProperty.search(db, index, key);
-			if(existing != null) {
-				index.delete(existing.getRecord());
-				existing.delete();
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Deletes all properties, does not delete the record associated with the object itself - that is
-	 * it can be repopulated.
-	 * @throws CoreException
-	 */
-	public void clear() throws CoreException {
-		index.accept(new IBTreeVisitor(){
-			public int compare(int record) throws CoreException {
-				return 0;
-			}
-			public boolean visit(int record) throws CoreException {
-				new DBProperty(db, record).delete();
-				return false; // there should never be duplicates
-			}
-		});
-	}
-	
-	/**
-	 * Deletes all properties stored in this object and the record associated with this object itself.
-	 * <br><br>
-	 * <b>The behaviour of objects of this class after calling this method is undefined</b>
-	 * @throws CoreException
-	 */
-	public void delete() throws CoreException {
-		clear();
-		db.free(record);
-	}
-
-	public int getRecord() {
-		return record;
-	}
-	
-	private static class DBProperty {
-		static final int KEY = 0;
-		static final int VALUE = 4;
-		static final int RECORD_SIZE = 8;
-		
-		Database db;
-		int record;
-		
-		public int getRecord() {
-			return record;
-		}
-		
-		/**
-		 * Allocates and initializes a record in the specified database for a DBProperty record
-		 * @param db
-		 * @param key a non-null property name
-		 * @param value a non-null property value
-		 * @throws CoreException
-		 */
-		DBProperty(Database db, String key, String value) throws CoreException {
-			assert key!=null;
-			assert value!=null;
-			IString dbkey= db.newString(key);
-			IString dbvalue= db.newString(value);
-			this.record= db.malloc(RECORD_SIZE);
-			db.putInt(record + KEY, dbkey.getRecord());
-			db.putInt(record + VALUE, dbvalue.getRecord());
-			this.db= db;
-		}
-		
-		/**
-		 * Returns an object for accessing an existing DBProperty record at the specified location in the
-		 * specified database
-		 * @param db
-		 * @param record
-		 */
-		DBProperty(Database db, int record) {
-			this.record= record;
-			this.db= db;
-		}
-		
-		public IString getKey() throws CoreException {
-			return db.getString(db.getInt(record + KEY));
-		}
-		
-		public IString getValue() throws CoreException {
-			return db.getString(db.getInt(record + VALUE));
-		}
-		
-		public static IBTreeComparator getComparator(final Database db) {
-			return new IBTreeComparator() {
-				public int compare(int record1, int record2) throws CoreException {
-					IString left= db.getString(db.getInt(record1 + KEY));
-					IString right= db.getString(db.getInt(record2 + KEY));
-					return left.compare(right, true);
-				}
-			};
-		}
-		
-		public static DBProperty search(final Database db, final BTree index, final String key) throws CoreException {
-			final DBProperty[] result= new DBProperty[1];
-			index.accept(new IBTreeVisitor(){
-				public int compare(int record) throws CoreException {
-					return db.getString(db.getInt(record + KEY)).compare(key, true);
-				}
-				public boolean visit(int record) throws CoreException {
-					result[0] = new DBProperty(db, record);
-					return false; // there should never be duplicates
-				}
-			});
-			return result[0];
-		}
-		
-		public static Set getKeySet(final Database db, final BTree index) throws CoreException {
-			final Set result= new HashSet();
-			index.accept(new IBTreeVisitor(){
-				public int compare(int record) throws CoreException {
-					return 0;
-				}
-				public boolean visit(int record) throws CoreException {
-					result.add(new DBProperty(db, record).getKey().getString());
-					return true; // there should never be duplicates
-				}
-			});
-			return result;
-		}
-		
-		public void delete() throws CoreException {
-			db.getString(db.getInt(record + KEY)).delete();
-			db.getString(db.getInt(record + VALUE)).delete();
-			db.free(record);
-		}
-	}
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBStatus.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBStatus.java
deleted file mode 100644
index 962a811..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBStatus.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.core.CCorePlugin;
-
-
-/**
- * @author Doug Schaefer
- *
- */
-public class DBStatus extends Status {
-
-	/**
-	 * @param exception
-	 */
-	public DBStatus(IOException exception) {
-		super(IStatus.ERROR, CCorePlugin.PLUGIN_ID, 0, "IOException", exception); //$NON-NLS-1$
-	}
-
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Database.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Database.java
deleted file mode 100644
index b94427e..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Database.java
+++ /dev/null
@@ -1,660 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     QNX - Initial API and implementation
- *     Symbian - Add some non-javadoc implementation notes
- *     Markus Schorn (Wind River Systems)
- *     IBM Corporation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.nio.ByteBuffer;
-import java.nio.channels.ClosedByInterruptException;
-import java.nio.channels.ClosedChannelException;
-import java.nio.channels.FileChannel;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.core.CCorePlugin;
-
-
-/**
- * Database encapsulates access to a flat binary format file with a memory-manager-like API for
- * obtaining and releasing areas of storage (memory).
- *
- * @author Doug Schaefer
- */
-/* 
- * The file encapsulated is divided into Chunks of size CHUNK_SIZE, and a table of contents
- * mapping chunk index to chunk address is maintained. Chunk structure exists only conceptually -
- * its not a structure that appears in the file.
- * 
- * ===== The first chunk is used by Database itself for house-keeping purposes and has structure
- * 
- * offset            content
- * 	                 _____________________________
- * 0                | version number
- * INT_SIZE         | pointer to head of linked list of blocks of size MIN_SIZE
- * ..               | ...
- * INT_SIZE * m (1) | pointer to head of linked list of blocks of size MIN_SIZE * m
- * DATA_AREA        | undefined (PDOM stores its own house-keeping data in this area) 
- * 
- * (1) where m <= (CHUNK_SIZE / MIN_SIZE)
- * 
- * ===== block structure
- * 
- * offset            content
- * 	                 _____________________________
- * 0                | size of block (negative indicates in use, positive unused)
- * PREV_OFFSET      | pointer to prev block (of same size)
- * NEXT_OFFSET      | pointer to next block (of same size)
- * 
- */
-public class Database {
-
-	private final File fLocation;
-	private final boolean fReadOnly;
-	private RandomAccessFile fFile;
-	private boolean fExclusiveLock= false;	// necessary for any write operation
-	private boolean fLocked;				// necessary for any operation.
-	private boolean fIsMarkedIncomplete= false;
-
-	private int fVersion;
-	private final Chunk fHeaderChunk;
-	private Chunk[] fChunks;
-	private ChunkCache fCache;
-	
-	private long malloced;
-	private long freed;
-	private long cacheHits;
-	private long cacheMisses;
-	
-	// public for tests only, you shouldn't need these
-	public static final int VERSION_OFFSET = 0;
-	public static final int CHUNK_SIZE = 1024 * 4;
-	public static final int MIN_SIZE = 16;
-	public static final int INT_SIZE = 4;
-	public static final int CHAR_SIZE = 2;
-	public static final int PREV_OFFSET = INT_SIZE;
-	public static final int NEXT_OFFSET = INT_SIZE * 2;
-	public static final int DATA_AREA = CHUNK_SIZE / MIN_SIZE * INT_SIZE + INT_SIZE;
-	
-	public static final int MAX_SIZE = CHUNK_SIZE - 4; // Room for overhead
-	
-	/**
-	 * Construct a new Database object, creating a backing file if necessary.
-	 * @param location the local file path for the database 
-	 * @param cache the cache to be used optimization
-	 * @param version the version number to store in the database (only applicable for new databases)
-	 * @param permanentReadOnly whether this Database object will ever need writing to
-	 * @throws CoreException
-	 */
-	public Database(File location, ChunkCache cache, int version, boolean openReadOnly) throws CoreException {
-		try {
-			fLocation = location;
-			fReadOnly= openReadOnly;
-			fCache= cache;
-			openFile();
-			
-			int nChunksOnDisk = (int) (fFile.length() / CHUNK_SIZE);
-			fHeaderChunk= new Chunk(this, 0);
-			fHeaderChunk.fLocked= true;		// never makes it into the cache, needed to satisfy assertions
-			if (nChunksOnDisk <= 0) {
-				fVersion= version;
-				fChunks= new Chunk[1];
-			}
-			else {
-				fHeaderChunk.read();
-				fVersion= fHeaderChunk.getInt(VERSION_OFFSET);
-				fChunks = new Chunk[nChunksOnDisk];	// chunk[0] is unused.
-			}
-		} catch (IOException e) {
-			throw new CoreException(new DBStatus(e));
-		}
-	}
-		
-	private void openFile() throws FileNotFoundException {
-		fFile = new RandomAccessFile(fLocation, fReadOnly ? "r" : "rw"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	void read(ByteBuffer buf, int i) throws IOException {
-		int retries= 0;
-		do {
-			try {
-				fFile.getChannel().read(buf, i);
-				return;
-			}
-			catch (ClosedChannelException e) {
-				// bug 219834 file may have be closed by interrupting a thread during an I/O operation.
-				reopen(e, ++retries);
-			} 
-		} while (true);
-	}
-
-	void write(ByteBuffer buf, int i) throws IOException {
-		int retries= 0;
-		do {
-			try {
-				fFile.getChannel().write(buf, i);
-				return;
-			}
-			catch (ClosedChannelException e) {
-				// bug 219834 file may have be closed by interrupting a thread during an I/O operation.
-				reopen(e, ++retries);
-			} 
-		} while(true);
-	}
-
-	private void reopen(ClosedChannelException e, int attempt) throws ClosedChannelException, FileNotFoundException {
-		// only if the current thread was not interrupted we try to reopen the file.
-		if (!(e instanceof ClosedByInterruptException) || attempt >= 20) { // JO negated first part
-			throw e;
-		}
-		openFile();
-	}
-
-
-	public void transferTo(FileChannel target) throws IOException {
-		assert fLocked;
-		final FileChannel from= fFile.getChannel();
-		from.transferTo(0, from.size(), target);
-	}
-	
-	public int getVersion() throws CoreException {
-		return fVersion;
-	}
-	
-	public void setVersion(int version) throws CoreException {
-		assert fExclusiveLock;
-		fHeaderChunk.putInt(VERSION_OFFSET, version);
-		fVersion= version;
-	}
-
-	/**
-	 * Empty the contents of the Database, make it ready to start again
-	 * @throws CoreException
-	 */
-	public void clear(int version) throws CoreException {
-		assert fExclusiveLock;
-		removeChunksFromCache();
-		
-		fVersion= version;
-		// clear the first chunk.
-		fHeaderChunk.clear(0, CHUNK_SIZE);
-		// chunks have been removed from the cache, so we may just reset the array of chunks.
-		fChunks = new Chunk[] {null};
-		try {
-			fHeaderChunk.flush();	// zero out header chunk
-			fFile.getChannel().truncate(CHUNK_SIZE);	// truncate database
-		}
-		catch (IOException e) {
-			CCorePlugin.log(e);
-		}
-		malloced = freed = 0;
-	}
-
-	private void removeChunksFromCache() {
-		synchronized (fCache) {
-			for (int i=1; i < fChunks.length; i++) {
-				Chunk chunk= fChunks[i];
-				if (chunk != null) {
-					fCache.remove(chunk);
-					fChunks[i]= null;
-				}
-			}
-		}
-	}
-	
-	
-	/**
-	 * Return the Chunk that contains the given offset.
-	 * @throws CoreException 
-	 */
-	public Chunk getChunk(int offset) throws CoreException {
-		if (offset < CHUNK_SIZE) {
-			return fHeaderChunk;
-		}
-		synchronized(fCache) {
-			assert fLocked;
-			final int index = offset / CHUNK_SIZE;
-			Chunk chunk= fChunks[index];
-			if (chunk == null) {
-				cacheMisses++;
-				chunk = fChunks[index] = new Chunk(this, index);
-				chunk.read();
-			}
-			else {
-				cacheHits++;
-			}
-			fCache.add(chunk, fExclusiveLock);
-			return chunk;
-		}
-	}
-
-	/**
-	 * Allocate a block out of the database.
-	 * 
-	 * @param size
-	 * @return
-	 */ 
-	public int malloc(int size) throws CoreException {
-		assert fExclusiveLock;
-		if (size > MAX_SIZE)
-			// Too Big
-			throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, 0,
-					CCorePlugin.getResourceString("pdom.requestTooLarge"), new IllegalArgumentException())); //$NON-NLS-1$
-		
-		// Which block size
-		int freeblock = 0;
-		int blocksize;
-		int matchsize = 0;
-		for (blocksize = MIN_SIZE; blocksize <= CHUNK_SIZE; blocksize += MIN_SIZE) {
-			if (blocksize - INT_SIZE >= size) {
-				if (matchsize == 0) // our real size
-					matchsize = blocksize;
-				freeblock = getFirstBlock(blocksize);
-				if (freeblock != 0)
-					break;
-			}
-		}
-		
-		// get the block
-		Chunk chunk;
-		if (freeblock == 0) {
-			// allocate a new chunk
-			freeblock= createNewChunk();
-			blocksize = CHUNK_SIZE;
-			chunk = getChunk(freeblock);
-		} else {
-			chunk = getChunk(freeblock);
-			removeBlock(chunk, blocksize, freeblock);
-		}
- 
-		if (blocksize != matchsize) {
-			// Add in the unused part of our block
-			addBlock(chunk, blocksize - matchsize, freeblock + matchsize);
-		}
-		
-		// Make our size negative to show in use
-		chunk.putInt(freeblock, - matchsize);
-
-		// Clear out the block, lots of people are expecting this
-		chunk.clear(freeblock + 4, size);
-
-		malloced += matchsize;
-		return freeblock + 4;
-	}
-	
-	private int createNewChunk() throws CoreException {
-		assert fExclusiveLock;
-		synchronized (fCache) {
-			final int oldLen= fChunks.length;
-			final Chunk chunk= new Chunk(this, oldLen);
-			chunk.fDirty= true;
-
-			Chunk[] newchunks = new Chunk[oldLen+1];
-			System.arraycopy(fChunks, 0, newchunks, 0, oldLen);
-			newchunks[oldLen]= chunk;
-			fChunks= newchunks;
-			fCache.add(chunk, true);
-			return oldLen * CHUNK_SIZE;
-		}
-	}
-	
-	private int getFirstBlock(int blocksize) throws CoreException {
-		assert fLocked;
-		return fHeaderChunk.getInt((blocksize / MIN_SIZE) * INT_SIZE);
-	}
-	
-	private void setFirstBlock(int blocksize, int block) throws CoreException {
-		assert fExclusiveLock;
-		fHeaderChunk.putInt((blocksize / MIN_SIZE) * INT_SIZE, block);
-	}
-	
-	private void removeBlock(Chunk chunk, int blocksize, int block) throws CoreException {
-		assert fExclusiveLock;
-		int prevblock = chunk.getInt(block + PREV_OFFSET);
-		int nextblock = chunk.getInt(block + NEXT_OFFSET);
-		if (prevblock != 0)
-			putInt(prevblock + NEXT_OFFSET, nextblock);
-		else // we were the head
-			setFirstBlock(blocksize, nextblock);
-			
-		if (nextblock != 0)
-			putInt(nextblock + PREV_OFFSET, prevblock);
-	}
-	
-	private void addBlock(Chunk chunk, int blocksize, int block) throws CoreException {
-		assert fExclusiveLock;
-		// Mark our size
-		chunk.putInt(block, blocksize);
-
-		// Add us to the head of the list
-		int prevfirst = getFirstBlock(blocksize);
-		chunk.putInt(block + PREV_OFFSET, 0);
-		chunk.putInt(block + NEXT_OFFSET, prevfirst);
-		if (prevfirst != 0)
-			putInt(prevfirst + PREV_OFFSET, block);
-		setFirstBlock(blocksize, block);
-	}
-	
-	/**
-	 * Free an allocate block.
-	 * 
-	 * @param offset
-	 */
-	public void free(int offset) throws CoreException {
-		assert fExclusiveLock;
-		// TODO - look for opportunities to merge blocks
-		int block = offset - 4;
-		Chunk chunk = getChunk(block);
-		int blocksize = - chunk.getInt(block);
-		if (blocksize < 0)
-			// already freed
-			throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, 0, "Already Freed", new Exception())); //$NON-NLS-1$
-		addBlock(chunk, blocksize, block);
-		freed += blocksize;
-	}
-
-	public void putByte(int offset, byte value) throws CoreException {
-		getChunk(offset).putByte(offset, value);
-	}
-	
-	public byte getByte(int offset) throws CoreException {
-		return getChunk(offset).getByte(offset);
-	}
-	
-	public void putInt(int offset, int value) throws CoreException {
-		getChunk(offset).putInt(offset, value);
-	}
-	
-	public int getInt(int offset) throws CoreException {
-		return getChunk(offset).getInt(offset);
-	}
-
-	public void putShort(int offset, short value) throws CoreException {
-		getChunk(offset).putShort(offset, value);
-	}
-	
-	public short getShort(int offset) throws CoreException {
-		return getChunk(offset).getShort(offset);
-	}
-
-	public void putLong(int offset, long value) throws CoreException {
-		getChunk(offset).putLong(offset, value);
-	}
-	
-	public long getLong(int offset) throws CoreException {
-		return getChunk(offset).getLong(offset);
-	}
-
-	public void putChar(int offset, char value) throws CoreException {
-		getChunk(offset).putChar(offset, value);
-	}
-
-	public char getChar(int offset) throws CoreException {
-		return getChunk(offset).getChar(offset);
-	}
-	
-	public IString newString(String string) throws CoreException {
-		if (string.length() > ShortString.MAX_LENGTH)
-			return new LongString(this, string);
-		else
-			return new ShortString(this, string);
-	}
-
-	public IString newString(char[] chars) throws CoreException {
-		if (chars.length > ShortString.MAX_LENGTH)
-			return new LongString(this, chars);
-		else
-			return new ShortString(this, chars);
-	}
-
-	public IString getString(int offset) throws CoreException {
-		int length = getInt(offset);
-		if (length > ShortString.MAX_LENGTH)
-			return new LongString(this, offset);
-		else
-			return new ShortString(this, offset);
-	}
-	
-	/**
-	 * For debugging purposes, only.
-	 */
-	public void reportFreeBlocks() throws CoreException {
-		System.out.println("Allocated size: " + fChunks.length * CHUNK_SIZE); //$NON-NLS-1$
-		System.out.println("malloc'ed: " + malloced); //$NON-NLS-1$
-		System.out.println("free'd: " + freed); //$NON-NLS-1$
-		System.out.println("wasted: " + (fChunks.length * CHUNK_SIZE - (malloced - freed))); //$NON-NLS-1$
-		System.out.println("Free blocks"); //$NON-NLS-1$
-		for (int bs = MIN_SIZE; bs <= CHUNK_SIZE; bs += MIN_SIZE) {
-			int count = 0;
-			int block = getFirstBlock(bs);
-			while (block != 0) {
-				++count;
-				block = getInt(block + NEXT_OFFSET);
-			}
-			if (count != 0)
-				System.out.println("Block size: " + bs + "=" + count); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-		
-	/**
-	 * Closes the database. 
-	 * <p>
-	 * The behavior of any further calls to the Database is undefined
-	 * @throws IOException
-	 * @throws CoreException 
-	 */
-	public void close() throws CoreException {
-		assert fExclusiveLock;
-		flush();
-		removeChunksFromCache();
-		
-		// chunks have been removed from the cache, so we are fine
-		fHeaderChunk.clear(0, CHUNK_SIZE);
-		fHeaderChunk.fDirty= false;
-		fChunks= new Chunk[] {null};
-		try {
-			fFile.close();
-		} catch (IOException e) {
-			throw new CoreException(new DBStatus(e));
-		}
-	}
-	
-	/**
-     * This method is public for testing purposes only.
-     */
-	public File getLocation() {
-		return fLocation;
-	}
-
-	/**
-	 * Called from any thread via the cache, protected by {@link #fCache}.
-	 */
-	void releaseChunk(final Chunk chunk) {
-		if (!chunk.fLocked) {
-			fChunks[chunk.fSequenceNumber]= null;
-		}			
-	}
-
-	/**
-	 * Returns the cache used for this database.
-	 * @since 4.0
-	 */
-	public ChunkCache getChunkCache() {
-		return fCache;
-	}
-
-	/**
-	 * Asserts that database is used by one thread exclusively. This is necessary when doing
-	 * write operations.
-	 */
-	public void setExclusiveLock() {
-		fExclusiveLock= true;
-		fLocked= true;
-	}
-
-	public void setLocked(boolean val) {
-		fLocked= val;
-	}
-	
-	public void giveUpExclusiveLock(final boolean flush) throws CoreException {
-		if (fExclusiveLock) {
-			try {
-				ArrayList dirtyChunks= new ArrayList();
-				synchronized (fCache) {
-					for (int i= 1; i < fChunks.length; i++) {
-						Chunk chunk= fChunks[i];
-						if (chunk != null) {
-							if (chunk.fCacheIndex < 0) { 	
-								// locked chunk that has been removed from cache.
-								if (chunk.fDirty) {
-									dirtyChunks.add(chunk); // keep in fChunks until it is flushed.
-								}
-								else {
-									chunk.fLocked= false;
-									fChunks[i]= null;
-								}
-							}
-							else if (chunk.fLocked) {
-								// locked chunk, still in cache.
-								if (chunk.fDirty) {
-									if (flush) {
-										dirtyChunks.add(chunk);
-									}
-								}
-								else {
-									chunk.fLocked= false;
-								}
-							}
-							else {
-								assert !chunk.fDirty; // dirty chunks must be locked.
-							}
-						}
-					}
-				}
-				// also handles header chunk
-				flushAndUnlockChunks(dirtyChunks, flush);
-			}
-			finally {
-				fExclusiveLock= false;
-			}
-		}
-	}
-	
-	public void flush() throws CoreException {
-		assert fLocked;
-		if (fExclusiveLock) {
-			try {
-				giveUpExclusiveLock(true);
-			}
-			finally {
-				setExclusiveLock();
-			}
-			return;
-		}
-
-		// be careful as other readers may access chunks concurrently
-		ArrayList dirtyChunks= new ArrayList();
-		synchronized (fCache) {
-			for (int i= 1; i < fChunks.length ; i++) {
-				Chunk chunk= fChunks[i];
-				if (chunk != null && chunk.fDirty) {
-					dirtyChunks.add(chunk);
-				}
-			}
-		}
-
-		// also handles header chunk
-		flushAndUnlockChunks(dirtyChunks, true);
-	}
-
-	private void flushAndUnlockChunks(final ArrayList dirtyChunks, boolean isComplete) throws CoreException {
-		assert !Thread.holdsLock(fCache);
-		synchronized(fHeaderChunk) {
-			if (!fHeaderChunk.fDirty) {
-				if (!(isComplete && fIsMarkedIncomplete)) {
-					return;
-				}
-			}
-			if (!dirtyChunks.isEmpty()) {
-				markFileIncomplete();
-				for (Iterator it = dirtyChunks.iterator(); it.hasNext();) {
-					Chunk chunk = (Chunk) it.next();
-					if (chunk.fDirty) {
-						chunk.flush();
-					}
-				}
-
-				// only after the chunks are flushed we may unlock and release them.
-				synchronized (fCache) {
-					for (Iterator it = dirtyChunks.iterator(); it.hasNext();) {
-						Chunk chunk = (Chunk) it.next();
-						chunk.fLocked= false;
-						if (chunk.fCacheIndex < 0) {
-							fChunks[chunk.fSequenceNumber]= null;
-						}
-					}
-				}
-			}
-
-			if (isComplete) {
-				if (fHeaderChunk.fDirty || fIsMarkedIncomplete) {
-					fHeaderChunk.putInt(VERSION_OFFSET, fVersion);
-					fHeaderChunk.flush();
-					fIsMarkedIncomplete= false;
-				}
-			}
-		}
-	}
-		
-	private void markFileIncomplete() throws CoreException {
-		if (!fIsMarkedIncomplete) {
-			fIsMarkedIncomplete= true;
-			try {
-				final ByteBuffer buf= ByteBuffer.wrap(new byte[4]);
-
-//              fFile.getChannel().write(buf, 0);
-		        int retries= 0; // JO -- Copied code from above to handle bug 318197
-		        do {
-		            try {
-		                fFile.getChannel().write(buf, 0);
-		                return;
-		            }
-		            catch (ClosedChannelException e) {
-		                // bug 219834 file may have be closed by interrupting a thread during an I/O operation.
-		                reopen(e, ++retries);
-		            }
-		        } while(true);
-
-			} catch (IOException e) {
-				throw new CoreException(new DBStatus(e));
-			}
-		}
-	}
-
-	public void resetCacheCounters() {
-		cacheHits= cacheMisses= 0;
-	}
-	
-	public long getCacheHits() {
-		return cacheHits;
-	}
-	
-	public long getCacheMisses() {
-		return cacheMisses;
-	}
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java
deleted file mode 100644
index 46b24dd..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * @author Doug Schaefer
- *
- */
-public interface IBTreeComparator {
-
-	/**
-	 * Compare two records. Used for insert.
-	 * 
-	 * @param record1
-	 * @param record2
-	 * @return
-	 * @throws IOException
-	 */
-	public abstract int compare(int record1, int record2) throws CoreException;
-	
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java
deleted file mode 100644
index 1dff590..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- * Markus Schorn (Wind River Systems)
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * @author Doug Schaefer
- * 
- * The visitor visits all records where compare returns 0. 
- */
-public interface IBTreeVisitor {
-
-	/**
-	 * Compare the record against an internally held key. The comparison must be
-	 * compatible with the one used for the btree.
-	 * Used for visiting.
-	 * 
-	 * @param record
-	 * @return -1 if record < key, 0 if record == key, 1 if record > key
-	 * @throws IOException
-	 */
-	public abstract int compare(int record) throws CoreException;
-
-	/**
-	 * Visit a given record and return whether to continue or not.
-
-	 * @return <code>true</code> to continue the visit, <code>false</code> to abort it.
-	 * @throws IOException
-	 */
-	public abstract boolean visit(int record) throws CoreException;
-	
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IString.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IString.java
deleted file mode 100644
index 6e42b9c..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IString.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     QNX - Initial API and implementation
- *     Andrew Ferguson (Symbian)
- *     Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Interface for strings stored in the database. There is more than one string
- * format. This interface hides that fact. 
- * 
- * @author Doug Schaefer
- */
-public interface IString {
-	/**
-	 * Get the offset of this IString record in the PDOM
-	 * @return
-	 */
-	public int getRecord();
-	
-	// strcmp equivalents
-	/**
-	 * Compare this IString record and the specified IString record
-	 * @param string
-	 * @param caseSensitive whether to compare in a case-sensitive way
-	 * @return <ul><li> -1 if this &lt; string
-	 * <li> 0 if this == string
-	 * <li> 1 if this &gt; string
-	 * </ul>
-	 * @throws CoreException
-	 */
-	public int compare(IString string, boolean caseSensitive) throws CoreException;
-	
-	/**
-	 * Compare this IString record and the specified String object
-	 * @param string
-	 * @param caseSensitive whether to compare in a case-sensitive way
-	 * @return <ul><li> -1 if this &lt; string
-	 * <li> 0 if this == string
-	 * <li> 1 if this &gt; string
-	 * </ul>
-	 * @throws CoreException
-	 */
-	public int compare(String string, boolean caseSensitive) throws CoreException;
-	
-	/**
-	 * Compare this IString record and the specified character array
-	 * @param chars
-	 * @param caseSensitive whether to compare in a case-sensitive way
-	 * @return <ul><li> -1 if this &lt; chars
-	 * <li> 0 if this == chars
-	 * <li> 1 if this &gt; chars
-	 * </ul>
-	 * @throws CoreException
-	 */
-	public int compare(char[] chars, boolean caseSensitive) throws CoreException;
-
-	/**
-	 * Compare this IString record and the specified IString record in a case sensitive manner
-	 * such that it is compatible with case insensitive comparison.
-	 * @param string
-	 * @return <ul><li> -1 if this &lt; string
-	 * <li> 0 if this == string
-	 * <li> 1 if this &gt; string
-	 * </ul>
-	 * @throws CoreException
-	 */
-	public int compareCompatibleWithIgnoreCase(IString string) throws CoreException;
-
-	/**
-	 * Compare this IString record and the specified char array in a case sensitive manner
-	 * such that it is compatible with case insensitive comparison.
-	 * @param chars
-	 * @return <ul><li> -1 if this &lt; string
-	 * <li> 0 if this == string
-	 * <li> 1 if this &gt; string
-	 * </ul>
-	 * @throws CoreException
-	 */
-	public int compareCompatibleWithIgnoreCase(char[] chars) throws CoreException;
-	
-	/**
-	 * Compare this IString record and the specified character array
-	 * @param chars
-	 * @param caseSensitive whether to compare in a case-sensitive way
-	 * @return <ul><li> -1 if this &lt; chars
-	 * <li> 0 if this has a prefix chars
-	 * <li> 1 if this &gt; chars and does not have the prefix
-	 * </ul>
-	 * @throws CoreException
-	 */
-	public int comparePrefix(char[] name, boolean caseSensitive) throws CoreException;
-
-	/**
-	 * Get an equivalent character array to this IString record<p>
-	 * <b>N.B. This method can be expensive: compare and equals can be used for
-	 * efficient comparisons</b>
-	 * @return an equivalent character array to this IString record
-	 * @throws CoreException
-	 */
-	public char[] getChars() throws CoreException;
-	
-	/**
-	 * Get an equivalent String object to this IString record<p>
-	 * <b>N.B. This method can be expensive: compare and equals can be used for
-	 * efficient comparisons</b>
-	 * @return an equivalent String object to this IString record
-	 * @throws CoreException
-	 */
-	public String getString() throws CoreException;
-	
-	/**
-	 * Free the associated record in the PDOM
-	 * @throws CoreException
-	 */
-	public void delete() throws CoreException;
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ListItem.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ListItem.java
deleted file mode 100644
index 1624102..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ListItem.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    QNX - Initial API and implementation
- *    Markus Schorn (Wind River Systems)
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * This is a list item. It contains a next and prev pointer
- * as well as a pointer to the item.
- * block.
- * 
- * @author Doug Schaefer
- */
-public class ListItem {
-	
-	protected final Database db;
-	protected final int record;
-	
-	protected static final int NEXT = 0;
-	protected static final int PREV = 4;
-	protected static final int ITEM = 8;
-
-	protected static final int RECORD_SIZE = 12;
-	
-	public ListItem(Database db, int record) {
-		this.db = db;
-		this.record = record;
-	}
-	
-	public ListItem(Database db) throws CoreException {
-		this.db = db;
-		this.record = db.malloc(RECORD_SIZE);
-	}
-	
-	public int getRecord() {
-		return record;
-	}
-	
-	public boolean equals(Object obj) {
-		if (obj == this)
-			return true;
-		else if (obj instanceof ListItem)
-			return record == ((ListItem)obj).record;
-		else
-			return false;
-	}
-	
-	public void setItem(int item) throws CoreException {
-		db.putInt(record + ITEM, item);
-	}
-	
-	public int getItem() throws CoreException {
-		return db.getInt(record + ITEM);
-	}
-	
-	public void setNext(ListItem next) throws CoreException {
-		db.putInt(record + NEXT, next.getRecord());
-	}
-	
-	public ListItem getNext() throws CoreException {
-		int next = db.getInt(record + NEXT);
-		return next != 0 ? new ListItem(db, next) : null;
-	}
-	
-	public void setPrev(ListItem prev) throws CoreException {
-		db.putInt(record + PREV, prev.getRecord());
-	}
-	
-	public ListItem getPrev() throws CoreException {
-		int prev = db.getInt(record + PREV);
-		return prev != 0 ? new ListItem(db, prev) : null;
-	}
-
-	public void delete() throws CoreException {
-		db.free(record);
-	}
-	
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/LongString.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/LongString.java
deleted file mode 100644
index f382908..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/LongString.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     QNX - Initial API and implementation
- *     Andrew Ferguson (Symbian)
- *     Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.util.NoSuchElementException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.dom.PDOMNotImplementedError;
-
-
-/**
- * This is for strings that take up more than on chunk.
- * The string will need to be broken up into sections and then
- * reassembled when necessary.
- * 
- * @author Doug Schaefer
- */
-public class LongString implements IString {
-
-	private final Database db;
-	private final int record1;
-
-	// Additional fields of first record
-	private static final int LENGTH = 0; // must be first to match ShortString
-	private static final int NEXT1 = 4;
-	private static final int CHARS1 = 8;
-	
-	private static final int NUM_CHARS1 = (Database.MAX_SIZE - CHARS1) / 2;
-	
-	// Additional fields of subsequent records
-	private static final int NEXTN = 0;
-	private static final int CHARSN = 4;
-	
-	private static final int NUM_CHARSN = (Database.MAX_SIZE - CHARSN) / 2;
-	
-	public LongString(Database db, int record1) {
-		this.db = db;
-		this.record1 = record1;
-	}
-	
-	private interface IWriter {
-		public void writeChars(int start, int length, int p) throws CoreException;
-	}
-
-	private int createString(int length, IWriter writer) throws CoreException {
-		// write the first record
-		int firstRecord = db.malloc(Database.MAX_SIZE);
-		int start = 0;
-		db.putInt(firstRecord, length);
-		writer.writeChars(start, NUM_CHARS1, firstRecord + CHARS1);
-		
-		// write the subsequent records
-		int lastNext = firstRecord + NEXT1;
-		start += NUM_CHARS1;
-		while (length - start > NUM_CHARSN) {
-			int nextRecord = db.malloc(Database.MAX_SIZE);
-			db.putInt(lastNext, nextRecord);
-			writer.writeChars(start, NUM_CHARSN, nextRecord + CHARSN);
-			start += NUM_CHARSN;
-			lastNext = nextRecord + NEXTN;
-		}
-		
-		// Write the final record
-		length -= start;
-		int finalRecord = db.malloc(CHARSN + (length) * 2);
-		db.putInt(lastNext, finalRecord);
-		writer.writeChars(start, length, finalRecord + CHARSN);
-		
-		return firstRecord;
-	}
-	
-	public LongString(Database db, final String string) throws CoreException {
-		this.db = db;
-		this.record1 = createString(string.length(), new IWriter() {
-			public void writeChars(int start, int length, int p) throws CoreException {
-				for (int i = start; i < start + length; ++i) {
-					LongString.this.db.putChar(p, string.charAt(i));
-					p += 2;
-				}
-			}
-		});
-	}
-	
-	public LongString(Database db, final char[] chars) throws CoreException {
-		this.db = db;
-		this.record1 = createString(chars.length, new IWriter() {
-			public void writeChars(int start, int length, int p) throws CoreException {
-				for (int i = start; i < start + length; ++i) {
-					LongString.this.db.putChar(p, chars[i]);
-					p += 2;
-				}
-			}
-		});
-	}
-	
-	public int getRecord() {
-		return record1;
-	}
-
-	public void delete() throws CoreException {
-		int length = db.getInt(record1 + LENGTH) - NUM_CHARS1;
-		int nextRecord = db.getInt(record1 + NEXT1);
-		db.free(record1);
-		
-		// Middle records
-		while (length > NUM_CHARSN) {
-			length -= NUM_CHARSN;
-			int nextnext = db.getInt(nextRecord + NEXTN);
-			db.free(nextRecord);
-			nextRecord = nextnext;
-		}
-		
-		// Last record
-		db.free(nextRecord);
-	}
-	
-	public boolean equals(Object obj) {
-		throw new PDOMNotImplementedError();
-	}
-	
-	public int hashCode() {
-		return record1;
-	}
-	
-	public int compare(IString string, boolean caseSensitive) throws CoreException {
-		if (string instanceof LongString)
-			return compare((LongString)string, caseSensitive);
-		else if (string instanceof ShortString)
-			return compare((ShortString)string, caseSensitive);
-		else
-			throw new IllegalArgumentException();
-	}
-
-	public int compare(char[] other, boolean caseSensitive) throws CoreException {
-		CharIterator i1 = new CharIterator();
-		int i2 = 0;
-		int n2 = other.length;
-		
-		while (i1.hasNext() && i2 < n2) {
-			int cmp= ShortString.compareChars(i1.next(), other[i2], caseSensitive);
-			if(cmp!=0)
-				return cmp;
-			
-			++i2;
-		}
-
-		if (!i1.hasNext() && i2 != n2)
-			return -1;
-		else if (i2 == n2 && i1.hasNext())
-			return 1;
-		else
-			return 0;
-	}
-	
-	public int compare(ShortString other, boolean caseSensitive) throws CoreException {
-		CharIterator i1 = new CharIterator();
-		int index2 = 0;
-		int length2 = other.getLength();
-		
-		while (i1.hasNext() && index2<length2) {
-			int cmp= ShortString.compareChars(i1.next(), other.charAt(index2), caseSensitive);
-			if(cmp!=0)
-				return cmp;
-			index2++;
-		}
-
-		if (!i1.hasNext() && index2 != length2)
-			return -1;
-		else if (index2 == length2 && i1.hasNext())
-			return 1;
-		else
-			return 0;
-	}
-	
-	public int compare(LongString other, boolean caseSensitive) throws CoreException {
-		CharIterator i1 = new CharIterator();
-		CharIterator i2 = other.new CharIterator();
-		
-		while (i1.hasNext() && i2.hasNext()) {
-			int cmp= ShortString.compareChars(i1.next(), i2.next(), caseSensitive);
-			if(cmp!=0)
-				return cmp;
-		}
-
-		if (!i1.hasNext() && i2.hasNext())
-			return -1;
-		else if (!i2.hasNext() && i1.hasNext())
-			return 1;
-		else
-			return 0;
-	}
-	
-	public int compare(String other, boolean caseSensitive) throws CoreException {
-		CharIterator i1 = new CharIterator();
-		int i2 = 0;
-		int n2 = other.length();
-		
-		while (i1.hasNext() && i2 < n2) {
-			int cmp= ShortString.compareChars(i1.next(), other.charAt(i2), caseSensitive);
-			if(cmp!=0)
-				return cmp;
-			
-			++i2;
-		}
-
-		if (!i1.hasNext() && i2 != n2)
-			return -1;
-		else if (i2 == n2 && i1.hasNext())
-			return 1;
-		else
-			return 0;
-	}
-
-	public int comparePrefix(char[] other, boolean caseSensitive) throws CoreException {
-		CharIterator i1 = new CharIterator();
-		int i2 = 0;
-		int n2 = other.length;
-		
-		while (i1.hasNext() && i2 < n2) {
-			int cmp= ShortString.compareChars(i1.next(), other[i2], caseSensitive);
-			if(cmp!=0)
-				return cmp;
-			
-			++i2;
-		}
-
-		if (!i1.hasNext() && i2 != n2)
-			return -1;
-		else
-			return 0;
-	}
-
-	private interface IReader {
-		public void appendChar(char c);
-	}
-	
-	private void readChars(int length, IReader reader) throws CoreException {
-		// First record
-		int p = record1 + CHARS1;
-		for (int i = 0; i < NUM_CHARS1; ++i) {
-			reader.appendChar(db.getChar(p));
-			p += 2;
-		}
-		length -= NUM_CHARS1;
-		int nextRecord = db.getInt(record1 + NEXT1);
-		
-		// Middle records
-		while (length > NUM_CHARSN) {
-			p = nextRecord + CHARSN;
-			for (int i = 0; i < NUM_CHARSN; ++i) {
-				reader.appendChar(db.getChar(p));
-				p += 2;
-			}
-			length -= NUM_CHARSN;
-			nextRecord = db.getInt(nextRecord + NEXTN);
-		}
-		
-		// Last record
-		p = nextRecord + CHARSN;
-		for (int i = 0; i < length; ++i) {
-			reader.appendChar(db.getChar(p));
-			p += 2;
-		}
-	}
-	
-	/**
-     * Convenience class for sequential access to LongString characters
-     */
-	private class CharIterator {
-		int p;
-		int count;
-		int length;
-		
-		public CharIterator() throws CoreException {
-			p = record1 + CHARS1;
-			length =  db.getInt(record1 + LENGTH);
-		}
-		
-		public char next() throws CoreException {
-			char result = db.getChar(p);
-			p += 2;
-			count++;
-			if(count>length) {
-				throw new NoSuchElementException();
-			}
-			if(count == NUM_CHARS1) {
-				p = db.getInt(record1 + NEXT1) + CHARSN;
-			}
-			if(count > NUM_CHARS1 && ((count-NUM_CHARS1) % NUM_CHARSN)==0) {
-				p = db.getInt(record1 + NEXTN) + CHARSN;
-			}
-			return result;
-		}
-		
-		public boolean hasNext() {
-			return count<length;
-		}
-	}
-	
-	public char[] getChars() throws CoreException {
-		int length = db.getInt(record1 + LENGTH);
-		final char[] chars = new char[length];
-		readChars(length, new IReader() {
-			int cp = 0;
-			public void appendChar(char c) {
-				chars[cp++] = c;
-			}
-		});
-		return chars;
-	}
-
-	public String getString() throws CoreException {
-		int length = db.getInt(record1 + LENGTH);
-		final StringBuffer buffer = new StringBuffer(length);
-		readChars(length, new IReader() {
-			public void appendChar(char c) {
-				buffer.append(c);
-			}
-		});
-		return buffer.toString();
-	}
-
-	public int compareCompatibleWithIgnoreCase(IString string) throws CoreException {
-		int cmp= compare(string, false);
-		return cmp==0 ? compare(string, true) : cmp;	
-	}
-
-	public int compareCompatibleWithIgnoreCase(char[] chars) throws CoreException {
-		int cmp= compare(chars, false);
-		return cmp==0 ? compare(chars, true) : cmp;	
-	}
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Messages.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Messages.java
deleted file mode 100644
index 921bddc..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Messages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 Symbian Software Limited
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Symbian Software Limited - initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class Messages {
-	private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db.messages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
-			.getBundle(BUNDLE_NAME);
-
-	private Messages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ShortString.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ShortString.java
deleted file mode 100644
index 3480da1..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ShortString.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     QNX - Initial API and implementation
- *     Andrew Ferguson (Symbian)
- *     Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.core.CCorePlugin;
-
-
-/**
- * This is for strings that fit inside a single chunk.
- * 
- * @author Doug Schaefer
- */
-public class ShortString implements IString {
-	
-	private final Database db;
-	private final int record;
-	
-	private static final int LENGTH = 0;
-	private static final int CHARS = 4;
-	
-	public static final int MAX_LENGTH = (Database.MAX_SIZE - CHARS) / 2;
-	
-	public ShortString(Database db, int offset) {
-		this.db = db;
-		this.record = offset;
-	}
-
-	public ShortString(Database db, char[] chars) throws CoreException {
-		this.db = db;
-		this.record = db.malloc(CHARS + chars.length * 2);
-		
-		Chunk chunk = db.getChunk(record);
-		chunk.putInt(record + LENGTH, (char)chars.length);
-		int n = chars.length;
-		int p = record + CHARS;
-		for (int i = 0; i < n; ++i) {
-			chunk.putChar(p, chars[i]);
-			p += 2;
-		}
-	}
-	
-	public ShortString(Database db, String string) throws CoreException {
-		this.db = db;
-		this.record = db.malloc(CHARS + string.length() * 2);
-		
-		Chunk chunk = db.getChunk(record);
-		chunk.putInt(record + LENGTH, string.length());
-		int n = string.length();
-		int p = record + CHARS;
-		for (int i = 0; i < n; ++i) {
-			chunk.putChar(p, string.charAt(i));
-			p += 2;
-		}
-	}
-	
-	public int getRecord() {
-		return record;
-	}
-	
-	public void delete() throws CoreException {
-		db.free(record);
-	}
-	
-	public char[] getChars() throws CoreException {
-		Chunk chunk = db.getChunk(record);
-		int length = chunk.getInt(record + LENGTH);
-		char[] chars = new char[length];
-		chunk.getCharArray(record+CHARS, chars);
-		return chars;
-	}
-	
-	public String getString() throws CoreException {
-		return new String(getChars());
-	}
-	
-	public boolean equals(Object obj) {
-		if (obj == this)
-			return true;
-		
-		try {
-			if (obj instanceof ShortString) {
-				ShortString string = (ShortString)obj;
-				if (db == string.db && record == string.record)
-					return true;
-				
-				Chunk chunk1 = db.getChunk(record);
-				Chunk chunk2 = string.db.getChunk(string.record);
-				
-				int n1 = chunk1.getInt(record);
-				int n2 = chunk2.getInt(string.record);
-				if (n1 != n2)
-					return false;
-				
-				int p1 = record + CHARS;
-				int p2 = string.record + CHARS;
-				for (int i = 0; i < n1; ++i) {
-					if (chunk1.getChar(p1) != chunk2.getChar(p2))
-						return false;
-					p1 += 2;
-					p2 += 2;
-				}
-				return true;
-			} else if (obj instanceof char[]) {
-				char[] chars = (char[])obj;
-				Chunk chunk = db.getChunk(record);
-
-				// Make sure size is the same
-				int n = chunk.getInt(record);
-				if (n != chars.length)
-					return false;
-				
-				// Check each character
-				int p = record + CHARS;
-				for (int i = 0; i < n; ++i) {
-					if (chunk.getChar(p) != chars[i])
-						return false;
-					p += 2;
-				}
-				return true;
-			} else if (obj instanceof String) {
-				String string = (String)obj;
-				Chunk chunk = db.getChunk(record);
-
-				// Make sure size is the same
-				int n = chunk.getInt(record);
-				if (n != string.length())
-					return false;
-				
-				// Check each character
-				int p = record + CHARS;
-				for (int i = 0; i < n; ++i) {
-					if (chunk.getChar(p) != string.charAt(i))
-						return false;
-					p += 2;
-				}
-				return true;
-			}
-		} catch (CoreException e) {
-			CCorePlugin.log(e);
-		}
-		return false;
-	}
-	
-	public int hashCode() {
-		// Custom hash code function to allow DBStrings in hashmaps.
-		return record;
-	}
-	
-	public int compare(char[] other, boolean caseSensitive) throws CoreException {
-		Chunk chunk = db.getChunk(record);
-		
-		int i1 = record + CHARS;
-		int i2 = 0;
-		int n1 = i1 + chunk.getInt(record + LENGTH) * 2;
-		int n2 = other.length;
-		
-		while (i1 < n1 && i2 < n2) {
-			int cmp= compareChars(chunk.getChar(i1), other[i2], caseSensitive);
-			if(cmp!=0)
-				return cmp;
-			
-			i1 += 2;
-			++i2;
-		}
-
-		if (i1 == n1 && i2 != n2)
-			return -1;
-		else if (i2 == n2 && i1 != n1)
-			return 1;
-		else
-			return 0;
-	}
-	
-	public int compare(IString string, boolean caseSensitive) throws CoreException {
-		if (string instanceof ShortString)
-			return compare((ShortString)string, caseSensitive);
-		else if (string instanceof LongString)
-			return - ((LongString)string).compare(this, caseSensitive);
-		else
-			throw new IllegalArgumentException();
-	}
-	
-	public int compare(ShortString other, boolean caseSensitive) throws CoreException {
-		Chunk chunk1 = db.getChunk(record);
-		Chunk chunk2 = other.db.getChunk(other.record);
-
-		int i1 = record + CHARS;
-		int i2 = other.record + CHARS;
-		int n1 = i1 + chunk1.getInt(record + LENGTH) * 2;
-		int n2 = i2 + chunk2.getInt(other.record + LENGTH) * 2;
-		
-		while (i1 < n1 && i2 < n2) {
-			int cmp= compareChars(chunk1.getChar(i1), chunk2.getChar(i2), caseSensitive);
-			if(cmp!=0)
-				return cmp;
-			
-			i1 += 2;
-			i2 += 2;
-		}
-
-		if (i1 == n1 && i2 != n2)
-			return -1;
-		else if (i2 == n2 && i1 != n1)
-			return 1;
-		else
-			return 0;
-	}
-	
-	public int compare(String other, boolean caseSensitive) throws CoreException {
-		Chunk chunk = db.getChunk(record);
-		
-		int i1 = record + CHARS;
-		int i2 = 0;
-		int n1 = i1 + chunk.getInt(record + LENGTH) * 2;
-		int n2 = other.length();
-		
-		while (i1 < n1 && i2 < n2) {
-			int cmp= compareChars(chunk.getChar(i1), other.charAt(i2), caseSensitive);
-			if(cmp!=0)
-				return cmp;
-			
-			i1 += 2;
-			++i2;
-		}
-
-		if (i1 == n1 && i2 != n2)
-			return -1;
-		else if (i2 == n2 && i1 != n1)
-			return 1;
-		else
-			return 0;
-	}
-	
-
-	public int compareCompatibleWithIgnoreCase(IString string) throws CoreException {
-		if (string instanceof ShortString)
-			return compareCompatibleWithIgnoreCase((ShortString)string);
-		else if (string instanceof LongString)
-			return - ((LongString)string).compareCompatibleWithIgnoreCase(this);
-		else
-			throw new IllegalArgumentException();
-	}
-
-	
-	public int compareCompatibleWithIgnoreCase(ShortString other) throws CoreException {
-		Chunk chunk1 = db.getChunk(record);
-		Chunk chunk2 = other.db.getChunk(other.record);
-
-		int i1 = record + CHARS;
-		int i2 = other.record + CHARS;
-		int n1 = i1 + chunk1.getInt(record + LENGTH) * 2;
-		int n2 = i2 + chunk2.getInt(other.record + LENGTH) * 2;
-		int sensitiveCmp= 0;
-		while (i1 < n1 && i2 < n2) {
-			final char c1= chunk1.getChar(i1);
-			final char c2= chunk2.getChar(i2);
-			if (c1 != c2) {
-				int cmp= compareChars(c1, c2, false); // insensitive
-				if(cmp!=0)
-					return cmp;
-				
-				if (sensitiveCmp == 0) {
-					if (c1 < c2) {
-						sensitiveCmp= -1;
-					}
-					else {
-						sensitiveCmp= 1;
-					}
-				}
-			}
-			
-			i1 += 2;
-			i2 += 2;
-		}
-		
-		if (i1 == n1 && i2 != n2)
-			return -1;
-		else if (i2 == n2 && i1 != n1)
-			return 1;
-
-		return sensitiveCmp;
-	}
-
-	public int compareCompatibleWithIgnoreCase(char[] chars) throws CoreException {
-		Chunk chunk1 = db.getChunk(record);
-
-		int i1 = record + CHARS;
-		int i2 = 0;
-		int n1 = i1 + chunk1.getInt(record + LENGTH) * 2;
-		int n2 = chars.length;
-		int sensitiveCmp= 0;
-		while (i1 < n1 && i2 < n2) {
-			final char c1= chunk1.getChar(i1);
-			final char c2= chars[i2];
-			if (c1 != c2) {
-				int cmp= compareChars(c1, c2, false); // insensitive
-				if(cmp!=0)
-					return cmp;
-				
-				if (sensitiveCmp == 0) {
-					if (c1 < c2) {
-						sensitiveCmp= -1;
-					}
-					else {
-						sensitiveCmp= 1;
-					}
-				}
-			}
-			
-			i1 += 2;
-			i2++;
-		}
-		
-		if (i1 == n1 && i2 != n2)
-			return -1;
-		else if (i2 == n2 && i1 != n1)
-			return 1;
-
-		return sensitiveCmp;
-	}
-	
-	public int comparePrefix(char[] other, boolean caseSensitive) throws CoreException {
-		Chunk chunk = db.getChunk(record);
-		
-		int i1 = record + CHARS;
-		int i2 = 0;
-		int n1 = i1 + chunk.getInt(record + LENGTH) * 2;
-		int n2 = other.length;
-		
-		while (i1 < n1 && i2 < n2) {
-			int cmp= compareChars(chunk.getChar(i1), other[i2], caseSensitive);
-			if(cmp!=0)
-				return cmp;
-			
-			i1 += 2;
-			++i2;
-		}
-
-		if (i1 == n1 && i2 != n2)
-			return -1;
-		else
-			return 0;
-	}
-	
-	public char charAt(int i) throws CoreException {
-		int ptr = record + CHARS + (i*2);
-		return db.getChar(ptr);
-	}
-	
-	public int getLength() throws CoreException {
-		return db.getInt(record + LENGTH);
-	}
-	
-	/**
-	 * Compare characters case-sensitively, or case-insensitively.
-	 * 
-	 * <b>Limitation</b> This only maps the range a-z,A-Z onto each other
-	 * @param a a character
-	 * @param b a character
-	 * @param caseSensitive whether to compare case-sensitively
-	 * @return 
-	 * <ul>
-	 * <li>-1 if a < b
-	 * <li>0 if a == b
-	 * <li>1 if a > b
-	 * </ul>
-	 */
-	public static int compareChars(char a, char b, boolean caseSensitive) {
-		if(caseSensitive) {
-			if (a < b)
-				return -1;
-			if (a > b)
-				return 1;
-		} else {
-			if (a != b) {
-				a= a >= 'a' && a <='z' ? (char) (a - 32) : a;
-				b= b >= 'a' && b <='z' ? (char) (b - 32) : b;
-				if (a < b)
-					return -1;
-				if (a > b)
-					return 1;
-			}
-		}
-		return 0;
-	}
-	
-/* TODO - this is more correct than the above implementation, but we need to
- * benchmark first.
- * 
- * public static int compareChars(char a, char b, boolean caseSensitive) {
-		if(caseSensitive) {
-			if (a < b)
-				return -1;
-			if (a > b)
-				return 1;
-		} else {
-			if (a != b) {
-				a = Character.toUpperCase(a);
-				b = Character.toUpperCase(b);
-				if (a != b) {
-					a = Character.toLowerCase(a);
-					b = Character.toLowerCase(b);
-					if (a != b) {
-						if (a < b)
-							return -1;
-						if (a > b)
-							return 1;
-					}
-				}
-			}
-		}
-		return 0;
-	}
-*/
-
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/messages.properties b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/messages.properties
deleted file mode 100644
index b342cac..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 Symbian Software Limited
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     Symbian Software Limited - initial API and implementation
-###############################################################################
-BTree.IllegalDegree=BTree degree must be >=2
-BTree.DeletionOnAbsentKey=Deletion of key not in btree: {0} mode={1}
-BTree.UnknownMode=BTree unknown deletion mode error
-BTree.IntegrityError=BTree integrity error
-BTree.IntegrityErrorA=[{0} blanks inconsistent b={1} nb={2}]
-BTree.IntegrityErrorB=[{0} wrong number of children with respect to key count]
-BTree.IntegrityErrorC=[{0} key count out of range]
-BTree.IntegrityErrorD=Leaf nodes at differing depths
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/dom/PDOMNotImplementedError.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/dom/PDOMNotImplementedError.java
deleted file mode 100644
index ea78658..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/dom/PDOMNotImplementedError.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.dom;
-
-/**
- * @author Doug Schaefer
- *
- */
-public class PDOMNotImplementedError extends Error {
-
-    public static final long serialVersionUID = 0;
-
-    public PDOMNotImplementedError() {
-        super();
-    }
-    
-    public PDOMNotImplementedError(String message) {
-        super(message);
-    }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/IRuntimeConstants.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/IRuntimeConstants.java
deleted file mode 100644
index b5164ee..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/IRuntimeConstants.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.runtime;
-
-public interface IRuntimeConstants {
-
-    /**
-     * The unique identifier constant (value "<code>org.eclipse.core.runtime</code>")
-     * of the Core Runtime (pseudo-) plug-in.
-     */
-    public static final String PI_RUNTIME = "org.eclipse.core.runtime"; //$NON-NLS-1$
-
-    /**
-     * Name of this bundle.
-     */
-    public static final String PI_COMMON = "org.eclipse.equinox.common"; //$NON-NLS-1$
-
-    /**
-     * Status code constant (value 2) indicating an error occurred while running a plug-in.
-     */
-    public static final int PLUGIN_ERROR = 2;
-
-    /**
-     * Status code constant (value 5) indicating the platform could not write
-     * some of its metadata.
-     */
-    public static final int FAILED_WRITE_METADATA = 5;
-
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/LocalizationUtils.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/LocalizationUtils.java
deleted file mode 100644
index 26be432..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/LocalizationUtils.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.lang.reflect.Field;
-
-/**
- * Helper methods related to string localization.
- * 
- * @since org.eclipse.equinox.common 3.3
- */
-public class LocalizationUtils {
-    /**
-     * This method can be used in the absence of NLS class. The method tries to 
-     * use the NLS-based translation routine. If it falls, the method returns the original
-     * non-translated key.
-     * 
-     * @param key case-sensetive name of the filed in the translation file representing 
-     * the string to be translated
-     * @return
-     */
-    static public String safeLocalize(String key) {
-        try {
-            Class messageClass = Class.forName("org.eclipse.core.internal.runtime.CommonMessages"); //$NON-NLS-1$
-            if (messageClass == null)
-                return key;
-            Field field = messageClass.getDeclaredField(key);
-            if (field == null)
-                return key;
-            Object value = field.get(null);
-            if (value instanceof String)
-                return (String) value;
-        } catch (ClassNotFoundException e) {
-            // eat exception and fall through
-        } catch (NoClassDefFoundError e) {
-            // eat exception and fall through
-        } catch (SecurityException e) {
-            // eat exception and fall through
-        } catch (NoSuchFieldException e) {
-            // eat exception and fall through
-        } catch (IllegalArgumentException e) {
-            // eat exception and fall through
-        } catch (IllegalAccessException e) {
-            // eat exception and fall through
-        }
-        return key;
-    }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/commonMessages.properties b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/commonMessages.properties
deleted file mode 100644
index 5faef93..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/commonMessages.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-### Common runtime plugin messages
-
-ok = OK
-
-### metadata
-meta_couldNotCreate = Error trying to create the platform metadata area: {0}.
-meta_instanceDataUnspecified = The instance data location has not been specified yet.
-meta_noDataModeSpecified = No instance data can be specified.
-meta_notDir = Specified platform location \"{0}\" is not a directory.
-meta_readonly = The platform metadata area could not be written: {0}.  By default the platform writes its content\nunder the current working directory when the platform is launched.  Use the -data parameter to\nspecify a different content area for the platform.
-meta_pluginProblems = Problems occurred when invoking code from plug-in: \"{0}\".
-
-### parsing/resolve
-parse_doubleSeparatorVersion=Plug-in version identifier, \"{0}\", must not contain two consecutive separator characters.
-parse_emptyPluginVersion=A plug-in version identifier must be non-empty.
-parse_fourElementPluginVersion=Plug-in version identifier, \"{0}\", can contain a maximum of four components.
-parse_numericMajorComponent=The major (1st) component of plug-in version identifier, \"{0}\", must be numeric.
-parse_numericMinorComponent=The minor (2nd) component of plug-in version identifier, \"{0}\", must be numeric.
-parse_numericServiceComponent=The service (3rd) component of plug-in version identifier, \"{0}\", must be numeric.
-parse_oneElementPluginVersion=Plug-in version identifier, \"{0}\", must contain at least one component.
-parse_postiveMajor=Plug-in version identifier, \"{0}\", must have a positive major (1st) component.
-parse_postiveMinor=Plug-in version identifier, \"{0}\", must have a positive minor (2nd) component.
-parse_postiveService=Plug-in version identifier, \"{0}\", must have a positive service (3rd) component.
-parse_separatorEndVersion=Plug-in version identifier, \"{0}\", must not end with a separator character.
-parse_separatorStartVersion=Plug-in version identifier, \"{0}\", must not start with a separator character.
-
-### URL
-url_badVariant = Unsupported \"platform:\" protocol variation \"{0}\".
-url_createConnection = Unable to create connection on \"{0}\".
-url_invalidURL = Invalid URL \"{0}\".
-url_noOutput = Output is not supported for \"{0}\", location is read-only.
-url_noaccess = Unhandled URL protocol \"{0}\".
-url_resolveFragment = Unable to resolve fragment \"{0}\".
-url_resolvePlugin = Unable to resolve plug-in \"{0}\".
-
-activator_not_available = The bundle activator for the org.eclipse.equinox.common bundle is not available.
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Assert.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Assert.java
deleted file mode 100644
index a1674e4..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Assert.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks
- * in code. The predicate methods all test a condition and throw some
- * type of unchecked exception if the condition does not hold.
- * <p>
- * Assertion failure exceptions, like most runtime exceptions, are
- * thrown when something is misbehaving. Assertion failures are invariably
- * unspecified behavior; consequently, clients should never rely on
- * these being thrown (and certainly should not being catching them
- * specifically).
- * </p><p>
- * This class can be used without OSGi running.
- * </p><p>
- * This class is not intended to be instantiated or sub-classed by clients.
- * </p>
- * @since org.eclipse.equinox.common 3.2
- */
-public final class Assert {
-    /* This class is not intended to be instantiated. */
-    private Assert() {
-        // not allowed
-    }
-
-    /** Asserts that an argument is legal. If the given boolean is
-     * not <code>true</code>, an <code>IllegalArgumentException</code>
-     * is thrown.
-     *
-     * @param expression the outcode of the check
-     * @return <code>true</code> if the check passes (does not return
-     *    if the check fails)
-     * @exception IllegalArgumentException if the legality test failed
-     */
-    public static boolean isLegal(boolean expression) {
-        return isLegal(expression, ""); //$NON-NLS-1$
-    }
-
-    /** Asserts that an argument is legal. If the given boolean is
-     * not <code>true</code>, an <code>IllegalArgumentException</code>
-     * is thrown.
-     * The given message is included in that exception, to aid debugging.
-     *
-     * @param expression the outcode of the check
-     * @param message the message to include in the exception
-     * @return <code>true</code> if the check passes (does not return
-     *    if the check fails)
-     * @exception IllegalArgumentException if the legality test failed
-     */
-    public static boolean isLegal(boolean expression, String message) {
-        if (!expression)
-            throw new IllegalArgumentException(message);
-        return expression;
-    }
-
-    /** Asserts that the given object is not <code>null</code>. If this
-     * is not the case, some kind of unchecked exception is thrown.
-     * 
-     * @param object the value to test
-     */
-    public static void isNotNull(Object object) {
-        isNotNull(object, ""); //$NON-NLS-1$
-    }
-
-    /** Asserts that the given object is not <code>null</code>. If this
-     * is not the case, some kind of unchecked exception is thrown.
-     * The given message is included in that exception, to aid debugging.
-     *
-     * @param object the value to test
-     * @param message the message to include in the exception
-     */
-    public static void isNotNull(Object object, String message) {
-        if (object == null)
-            throw new AssertionFailedException("null argument:" + message); //$NON-NLS-1$
-    }
-
-    /** Asserts that the given boolean is <code>true</code>. If this
-     * is not the case, some kind of unchecked exception is thrown.
-     *
-     * @param expression the outcode of the check
-     * @return <code>true</code> if the check passes (does not return
-     *    if the check fails)
-     */
-    public static boolean isTrue(boolean expression) {
-        return isTrue(expression, ""); //$NON-NLS-1$
-    }
-
-    /** Asserts that the given boolean is <code>true</code>. If this
-     * is not the case, some kind of unchecked exception is thrown.
-     * The given message is included in that exception, to aid debugging.
-     *
-     * @param expression the outcode of the check
-     * @param message the message to include in the exception
-     * @return <code>true</code> if the check passes (does not return
-     *    if the check fails)
-     */
-    public static boolean isTrue(boolean expression, String message) {
-        if (!expression)
-            throw new AssertionFailedException("assertion failed: " + message); //$NON-NLS-1$
-        return expression;
-    }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/AssertionFailedException.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/AssertionFailedException.java
deleted file mode 100644
index f3e371d..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/AssertionFailedException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * <code>AssertionFailedException</code> is a runtime exception thrown
- * by some of the methods in <code>Assert</code>.
- * <p>
- * This class can be used without OSGi running.
- * </p><p>
- * This class is not intended to be instantiated or sub-classed by clients.
- * </p>
- * @see Assert
- * @since org.eclipse.equinox.common 3.2
- */
-public class AssertionFailedException extends RuntimeException {
-
-    /**
-     * All serializable objects should have a stable serialVersionUID
-     */
-    private static final long serialVersionUID = 1L;
-
-    /** 
-     * Constructs a new exception with the given message.
-     * 
-     * @param detail the message
-     */
-    public AssertionFailedException(String detail) {
-        super(detail);
-    }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/CoreException.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/CoreException.java
deleted file mode 100644
index a2a94cb..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/CoreException.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.PrintStream;
-import java.io.PrintWriter;
-
-/**
- * A checked exception representing a failure.
- * <p>
- * Core exceptions contain a status object describing the 
- * cause of the exception.
- * </p><p>
- * This class can be used without OSGi running.
- * </p>
- * @see IStatus
- */
-public class CoreException extends Exception {
-
-    /**
-     * All serializable objects should have a stable serialVersionUID
-     */
-    private static final long serialVersionUID = 1L;
-
-    /** Status object. */
-    private IStatus status;
-
-    /**
-     * Creates a new exception with the given status object.  The message
-     * of the given status is used as the exception message.
-     *
-     * @param status the status object to be associated with this exception
-     */
-    public CoreException(IStatus status) {
-        super(status.getMessage());
-        this.status = status;
-    }
-
-    /**
-     * Returns the status object for this exception.
-     *
-     * @return a status object
-     */
-    public final IStatus getStatus() {
-        return status;
-    }
-
-    /**
-     * Prints a stack trace out for the exception, and
-     * any nested exception that it may have embedded in
-     * its Status object.
-     */
-    public void printStackTrace() {
-        printStackTrace(System.err);
-    }
-
-    /**
-     * Prints a stack trace out for the exception, and
-     * any nested exception that it may have embedded in
-     * its Status object.
-     * 
-     * @param output the stream to write to
-     */
-    public void printStackTrace(PrintStream output) {
-        synchronized (output) {
-            super.printStackTrace(output);
-            if (status.getException() != null) {
-                output.print(getClass().getName() + "[" + status.getCode() + "]: "); //$NON-NLS-1$ //$NON-NLS-2$
-                status.getException().printStackTrace(output);
-            }
-        }
-    }
-
-    /**
-     * Prints a stack trace out for the exception, and
-     * any nested exception that it may have embedded in
-     * its Status object.
-     * 
-     * @param output the stream to write to
-     */
-    public void printStackTrace(PrintWriter output) {
-        synchronized (output) {
-            super.printStackTrace(output);
-            if (status.getException() != null) {
-                output.print(getClass().getName() + "[" + status.getCode() + "]: "); //$NON-NLS-1$ //$NON-NLS-2$
-                status.getException().printStackTrace(output);
-            }
-        }
-    }
-
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/IStatus.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/IStatus.java
deleted file mode 100644
index 9ddac2b..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/IStatus.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A status object represents the outcome of an operation.
- * All <code>CoreException</code>s carry a status object to indicate 
- * what went wrong. Status objects are also returned by methods needing 
- * to provide details of failures (e.g., validation methods).
- * <p>
- * A status carries the following information:
- * <ul>
- * <li> plug-in identifier (required)</li>
- * <li> severity (required)</li>
- * <li> status code (required)</li>
- * <li> message (required) - localized to current locale</li>
- * <li> exception (optional) - for problems stemming from a failure at
- *    a lower level</li>
- * </ul>
- * Some status objects, known as multi-statuses, have other status objects 
- * as children.
- * </p>
- * <p>
- * The class <code>Status</code> is the standard public implementation
- * of status objects; the subclass <code>MultiStatus</code> is the
- * implements multi-status objects.
- * </p><p>
- * This interface can be used without OSGi running.
- * </p>
- * @see MultiStatus
- * @see Status
- */
-public interface IStatus {
-
-    /** Status severity constant (value 0) indicating this status represents the nominal case.
-     * This constant is also used as the status code representing the nominal case.
-     * @see #getSeverity()
-     * @see #isOK()
-     */
-    public static final int OK = 0;
-
-    /** Status type severity (bit mask, value 1) indicating this status is informational only.
-     * @see #getSeverity()
-     * @see #matches(int)
-     */
-    public static final int INFO = 0x01;
-
-    /** Status type severity (bit mask, value 2) indicating this status represents a warning.
-     * @see #getSeverity()
-     * @see #matches(int)
-     */
-    public static final int WARNING = 0x02;
-
-    /** Status type severity (bit mask, value 4) indicating this status represents an error.
-     * @see #getSeverity()
-     * @see #matches(int)
-     */
-    public static final int ERROR = 0x04;
-
-    /** Status type severity (bit mask, value 8) indicating this status represents a
-     * cancelation
-     * @see #getSeverity()
-     * @see #matches(int)
-     * @since 3.0
-     */
-    public static final int CANCEL = 0x08;
-
-    /**
-     * Returns a list of status object immediately contained in this
-     * multi-status, or an empty list if this is not a multi-status.
-     *
-     * @return an array of status objects
-     * @see #isMultiStatus()
-     */
-    public IStatus[] getChildren();
-
-    /**
-     * Returns the plug-in-specific status code describing the outcome.
-     *
-     * @return plug-in-specific status code
-     */
-    public int getCode();
-
-    /**
-     * Returns the relevant low-level exception, or <code>null</code> if none. 
-     * For example, when an operation fails because of a network communications
-     * failure, this might return the <code>java.io.IOException</code>
-     * describing the exact nature of that failure.
-     *
-     * @return the relevant low-level exception, or <code>null</code> if none
-     */
-    public Throwable getException();
-
-    /**
-     * Returns the message describing the outcome.
-     * The message is localized to the current locale.
-     *
-     * @return a localized message
-     */
-    public String getMessage();
-
-    /**
-     * Returns the unique identifier of the plug-in associated with this status
-     * (this is the plug-in that defines the meaning of the status code).
-     *
-     * @return the unique identifier of the relevant plug-in
-     */
-    public String getPlugin();
-
-    /**
-     * Returns the severity. The severities are as follows (in
-     * descending order):
-     * <ul>
-     * <li><code>CANCEL</code> - cancelation occurred</li>
-     * <li><code>ERROR</code> - a serious error (most severe)</li>
-     * <li><code>WARNING</code> - a warning (less severe)</li>
-     * <li><code>INFO</code> - an informational ("fyi") message (least severe)</li>
-     * <li><code>OK</code> - everything is just fine</li>
-     * </ul>
-     * <p>
-     * The severity of a multi-status is defined to be the maximum
-     * severity of any of its children, or <code>OK</code> if it has
-     * no children.
-     * </p>
-     *
-     * @return the severity: one of <code>OK</code>, <code>ERROR</code>, 
-     * <code>INFO</code>, <code>WARNING</code>,  or <code>CANCEL</code>
-     * @see #matches(int)
-     */
-    public int getSeverity();
-
-    /**
-     * Returns whether this status is a multi-status.
-     * A multi-status describes the outcome of an operation
-     * involving multiple operands.
-     * <p>
-     * The severity of a multi-status is derived from the severities
-     * of its children; a multi-status with no children is
-     * <code>OK</code> by definition.
-     * A multi-status carries a plug-in identifier, a status code,
-     * a message, and an optional exception. Clients may treat
-     * multi-status objects in a multi-status unaware way.
-     * </p>
-     *
-     * @return <code>true</code> for a multi-status, 
-     *    <code>false</code> otherwise
-     * @see #getChildren()
-     */
-    public boolean isMultiStatus();
-
-    /**
-     * Returns whether this status indicates everything is okay
-     * (neither info, warning, nor error).
-     *
-     * @return <code>true</code> if this status has severity
-     *    <code>OK</code>, and <code>false</code> otherwise
-     */
-    public boolean isOK();
-
-    /**
-     * Returns whether the severity of this status matches the given
-     * severity mask. Note that a status with severity <code>OK</code>
-     * will never match; use <code>isOK</code> instead to detect
-     * a status with a severity of <code>OK</code>.
-     *
-     * @param severityMask a mask formed by bitwise or'ing severity mask
-     *    constants (<code>ERROR</code>, <code>WARNING</code>,
-     *    <code>INFO</code>, <code>CANCEL</code>)
-     * @return <code>true</code> if there is at least one match, 
-     *    <code>false</code> if there are no matches
-     * @see #getSeverity()
-     * @see #CANCEL
-     * @see #ERROR
-     * @see #WARNING
-     * @see #INFO
-     */
-    public boolean matches(int severityMask);
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Status.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Status.java
deleted file mode 100644
index 091ff0b..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Status.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.internal.runtime.IRuntimeConstants;
-import org.eclipse.core.internal.runtime.LocalizationUtils;
-
-/**
- * A concrete status implementation, suitable either for 
- * instantiating or subclassing.
- * <p>
- * This class can be used without OSGi running.
- * </p>
- */
-public class Status implements IStatus {
-
-    /**
-     * A standard OK status with an "ok"  message.
-     *
-     * @since 3.0
-     */
-    public static final IStatus OK_STATUS = new Status(OK, IRuntimeConstants.PI_RUNTIME, OK, LocalizationUtils.safeLocalize("ok"), null); //$NON-NLS-1$
-    /**
-     * A standard CANCEL status with no message.
-     * 
-     * @since 3.0
-     */
-    public static final IStatus CANCEL_STATUS = new Status(CANCEL, IRuntimeConstants.PI_RUNTIME, 1, "", null); //$NON-NLS-1$
-    /**
-     * The severity. One of
-     * <ul>
-     * <li><code>CANCEL</code></li>
-     * <li><code>ERROR</code></li>
-     * <li><code>WARNING</code></li>
-     * <li><code>INFO</code></li>
-     * <li>or <code>OK</code> (0)</li>
-     * </ul>
-     */
-    private int severity = OK;
-
-    /** Unique identifier of plug-in.
-     */
-    private String pluginId;
-
-    /** Plug-in-specific status code.
-     */
-    private int code;
-
-    /** Message, localized to the current locale.
-     */
-    private String message;
-
-    /** Wrapped exception, or <code>null</code> if none.
-     */
-    private Throwable exception = null;
-
-    /** Constant to avoid generating garbage.
-     */
-    private static final IStatus[] theEmptyStatusArray = new IStatus[0];
-
-    /**
-     * Creates a new status object.  The created status has no children.
-     *
-     * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>, 
-     * <code>INFO</code>, <code>WARNING</code>,  or <code>CANCEL</code>
-     * @param pluginId the unique identifier of the relevant plug-in
-     * @param code the plug-in-specific status code, or <code>OK</code>
-     * @param message a human-readable message, localized to the
-     *    current locale
-     * @param exception a low-level exception, or <code>null</code> if not
-     *    applicable 
-     */
-    public Status(int severity, String pluginId, int code, String message, Throwable exception) {
-        setSeverity(severity);
-        setPlugin(pluginId);
-        setCode(code);
-        setMessage(message);
-        setException(exception);
-    }
-
-    /**
-     * Simplified constructor of a new status object; assumes that code is <code>OK</code>.
-     * The created status has no children.
-     *
-     * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>, 
-     * <code>INFO</code>, <code>WARNING</code>,  or <code>CANCEL</code>
-     * @param pluginId the unique identifier of the relevant plug-in
-     * @param message a human-readable message, localized to the
-     *    current locale
-     * @param exception a low-level exception, or <code>null</code> if not
-     *    applicable
-     *     
-     * @since org.eclipse.equinox.common 3.3
-     */
-    public Status(int severity, String pluginId, String message, Throwable exception) {
-        setSeverity(severity);
-        setPlugin(pluginId);
-        setMessage(message);
-        setException(exception);
-        setCode(OK);
-    }
-
-    /**
-     * Simplified constructor of a new status object; assumes that code is <code>OK</code> and
-     * exception is <code>null</code>. The created status has no children.
-     *
-     * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>, 
-     * <code>INFO</code>, <code>WARNING</code>,  or <code>CANCEL</code>
-     * @param pluginId the unique identifier of the relevant plug-in
-     * @param message a human-readable message, localized to the
-     *    current locale
-     *    
-     * @since org.eclipse.equinox.common 3.3
-     */
-    public Status(int severity, String pluginId, String message) {
-        setSeverity(severity);
-        setPlugin(pluginId);
-        setMessage(message);
-        setCode(OK);
-        setException(null);
-    }
-
-    /* (Intentionally not javadoc'd)
-     * Implements the corresponding method on <code>IStatus</code>.
-     */
-    public IStatus[] getChildren() {
-        return theEmptyStatusArray;
-    }
-
-    /* (Intentionally not javadoc'd)
-     * Implements the corresponding method on <code>IStatus</code>.
-     */
-    public int getCode() {
-        return code;
-    }
-
-    /* (Intentionally not javadoc'd)
-     * Implements the corresponding method on <code>IStatus</code>.
-     */
-    public Throwable getException() {
-        return exception;
-    }
-
-    /* (Intentionally not javadoc'd)
-     * Implements the corresponding method on <code>IStatus</code>.
-     */
-    public String getMessage() {
-        return message;
-    }
-
-    /* (Intentionally not javadoc'd)
-     * Implements the corresponding method on <code>IStatus</code>.
-     */
-    public String getPlugin() {
-        return pluginId;
-    }
-
-    /* (Intentionally not javadoc'd)
-     * Implements the corresponding method on <code>IStatus</code>.
-     */
-    public int getSeverity() {
-        return severity;
-    }
-
-    /* (Intentionally not javadoc'd)
-     * Implements the corresponding method on <code>IStatus</code>.
-     */
-    public boolean isMultiStatus() {
-        return false;
-    }
-
-    /* (Intentionally not javadoc'd)
-     * Implements the corresponding method on <code>IStatus</code>.
-     */
-    public boolean isOK() {
-        return severity == OK;
-    }
-
-    /* (Intentionally not javadoc'd)
-     * Implements the corresponding method on <code>IStatus</code>.
-     */
-    public boolean matches(int severityMask) {
-        return (severity & severityMask) != 0;
-    }
-
-    /**
-     * Sets the status code.
-     *
-     * @param code the plug-in-specific status code, or <code>OK</code>
-     */
-    protected void setCode(int code) {
-        this.code = code;
-    }
-
-    /**
-     * Sets the exception.
-     *
-     * @param exception a low-level exception, or <code>null</code> if not
-     *    applicable 
-     */
-    protected void setException(Throwable exception) {
-        this.exception = exception;
-    }
-
-    /**
-     * Sets the message. If null is passed, message is set to an empty
-     * string.
-     *
-     * @param message a human-readable message, localized to the
-     *    current locale
-     */
-    protected void setMessage(String message) {
-        if (message == null)
-            this.message = ""; //$NON-NLS-1$
-        else
-            this.message = message;
-    }
-
-    /**
-     * Sets the plug-in id.
-     *
-     * @param pluginId the unique identifier of the relevant plug-in
-     */
-    protected void setPlugin(String pluginId) {
-        Assert.isLegal(pluginId != null && pluginId.length() > 0);
-        this.pluginId = pluginId;
-    }
-
-    /**
-     * Sets the severity.
-     *
-     * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>, 
-     * <code>INFO</code>, <code>WARNING</code>,  or <code>CANCEL</code>
-     */
-    protected void setSeverity(int severity) {
-        Assert.isLegal(severity == OK || severity == ERROR || severity == WARNING || severity == INFO || severity == CANCEL);
-        this.severity = severity;
-    }
-
-    /**
-     * Returns a string representation of the status, suitable 
-     * for debugging purposes only.
-     */
-    public String toString() {
-        StringBuffer buf = new StringBuffer();
-        buf.append("Status "); //$NON-NLS-1$
-        if (severity == OK) {
-            buf.append("OK"); //$NON-NLS-1$
-        } else if (severity == ERROR) {
-            buf.append("ERROR"); //$NON-NLS-1$
-        } else if (severity == WARNING) {
-            buf.append("WARNING"); //$NON-NLS-1$
-        } else if (severity == INFO) {
-            buf.append("INFO"); //$NON-NLS-1$
-        } else if (severity == CANCEL) {
-            buf.append("CANCEL"); //$NON-NLS-1$
-        } else {
-            buf.append("severity="); //$NON-NLS-1$
-            buf.append(severity);
-        }
-        buf.append(": "); //$NON-NLS-1$
-        buf.append(pluginId);
-        buf.append(" code="); //$NON-NLS-1$
-        buf.append(code);
-        buf.append(' ');
-        buf.append(message);
-        buf.append(' ');
-        buf.append(exception);
-        return buf.toString();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.refactoring/.classpath b/org.eclipse.rephraserengine.core.refactoring/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.core.refactoring/.project b/org.eclipse.rephraserengine.core.refactoring/.project
deleted file mode 100644
index 86e02bc..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine.core.refactoring</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.core.refactoring/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.core.refactoring/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b7e516f..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu May 27 10:33:03 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.core.refactoring/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.core.refactoring/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 2afef25..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed Oct 14 14:50:36 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.core.refactoring/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.core.refactoring/META-INF/MANIFEST.MF
deleted file mode 100644
index 1865b6d..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.rephraserengine.core.refactoring
-Bundle-Version: 3.0.0.qualifier
-Bundle-Vendor: %Bundle-Vendor
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.rephraserengine.core.refactorings,
- org.eclipse.rephraserengine.core.refactorings.simple
-Require-Bundle: org.eclipse.rephraserengine.core,
- org.eclipse.core.resources,
- org.eclipse.jface.text,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.core.runtime
diff --git a/org.eclipse.rephraserengine.core.refactoring/OSGI-INF/l10n/bundle.properties b/org.eclipse.rephraserengine.core.refactoring/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index b38e74a..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Properties file for org.eclipse.rephraserengine.core.refactoring
-Bundle-Vendor = Eclipse.org - Photran
-Bundle-Name = Rephraser Engine Core Refactoring Plug-in
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.refactoring/about.html b/org.eclipse.rephraserengine.core.refactoring/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.refactoring/build.properties b/org.eclipse.rephraserengine.core.refactoring/build.properties
deleted file mode 100644
index f8643a2..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               OSGI-INF/,\
-               OSGI-INF/l10n/,\
-               OSGI-INF/l10n/bundle.properties
-src.includes = about.html
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IEditorRefactoring.java b/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IEditorRefactoring.java
deleted file mode 100644
index 748395f..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IEditorRefactoring.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.refactorings;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.ITextSelection;
-
-/**
- * A refactoring that can be applied when the user has a file open in a text/code editor.
- * <p>
- * These refactorings will be available only when the user has a file open in a text/code editor.
- * They are provided with the current selection in the editor, the assumption being that what the
- * refactoring does will depend on what the user has selected.
- * <p>
- * Contrast this with an {@link IResourceRefactoring}, which is available from the editor but is
- * also available when the user has selected one or more resources in the Navigator view; these
- * refactorings may be applied to several resources at once, and an editor selection may not be
- * available; thus, an {@link IResourceRefactoring} is expected to operate on the entire file,
- * oblivious to the current selection.
- *
- * @author Jeff Overbey
- *
- * @see IResourceRefactoring
- * @see IRefactoring
- * 
- * @since 1.0
- */
-public interface IEditorRefactoring extends IRefactoring
-{
-    /**
-     * This method should be invoked immediately after the constructor is called.
-     * 
-     * @param file the file currently open in the editor (non-<code>null</code>)
-     * @param selection the current selection in the editor (non-<code>null</code>)
-     */
-    void initialize(IFile file, ITextSelection selection);
-}
diff --git a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IRefactoring.java b/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IRefactoring.java
deleted file mode 100644
index aa86ef6..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IRefactoring.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.refactorings;
-
-/**
- * Common super-interface for {@link IResourceRefactoring} and {@link IEditorRefactoring}.
- *
- * @author Jeff Overbey
- *
- * @see IResourceRefactoring
- * @see IEditorRefactoring
- * 
- * @since 1.0
- */
-public interface IRefactoring
-{
-    /**
-     * Returns the name of this refactoring, suitable for display to the user.
-     * <p>
-     * All important words should be capitalized, for example, "Extract Method", "Convert Member
-     * Type to Top Level", etc.
-     * <p>
-     * This name will be shown in the title bar of the refactoring wizard dialog and in the
-     * Edit &gt; Undo menu item.  It may also be used as the refactoring's label in the Refactor
-     * menu (if it is not assigned a different label in <tt>plugin.xml</tt>).
-     * <p>
-     * This method is also required by the Eclipse LTK <code>Refactoring</code> class.
-     *
-     * @return the refactoring's human-readable name (non-<code>null</code>)
-     */
-    String getName();
-}
diff --git a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IResourceRefactoring.java b/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IResourceRefactoring.java
deleted file mode 100644
index b4b3002..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/IResourceRefactoring.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.refactorings;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * A refactoring that can be applied to one or more resources (i.e., files, folders, or projects).
- * <p>
- * These refactorings will be available when the user has selected one or more resources in the
- * Navigator view, as well as when a resource is open in an editor.  Since these refactorings may be
- * applied to several resources at once, and the refactoring is not necessarily initiated from an
- * editor, the current selection in the editor is not provided; an <code>IResourceRefactoring</code>
- * is expected to operate on entire files, oblivious to any current selection in the editor.
- * <p>
- * Contrast this with an {@link IEditorRefactoring}, which only applies to a single file, is only
- * available when the user has that file open in an editor, and is also provided the current
- * selection in the editor.
- *
- * @author Jeff Overbey
- *
- * @see IEditorRefactoring
- * @see IRefactoring
- * 
- * @since 1.0
- */
-public interface IResourceRefactoring extends IRefactoring
-{
-    void initialize(List<IFile> files);
-}
diff --git a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/UserInputBoolean.java b/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/UserInputBoolean.java
deleted file mode 100644
index fb4bcd3..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/UserInputBoolean.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.refactorings;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Used to annotate a setter method in a refactoring class, this indicates that a check box control
- * should be made available in the refactoring wizard's user input page; when the checks or unchecks
- * the box, the annotated method will be invoked and passed <code>true</code> or <code>false</code>
- * indicating whether or not the box is checked.
- * <p>
- * This annotation is only used when a refactoring uses an automatically-generated user input page,
- * and it must only be used to annotate a method with the signature
- * <code>void setterMethod(boolean newValue)</code>
- *
- * @author Jeff Overbey
- * 
- * @since 1.0
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-public @interface UserInputBoolean
-{
-    /**
-     * @return a label that will be displayed to the left of the check box (non-<code>null</code>)
-     */
-    String label();
-
-    /**
-     * @return the default value (true iff the check box should be checked)
-     */
-    boolean defaultValue() default false;
-}
diff --git a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/UserInputString.java b/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/UserInputString.java
deleted file mode 100644
index 8d446e8..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/UserInputString.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.refactorings;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Used to annotate a setter method in a refactoring class, this indicates that a text box control
- * should be made available in the refactoring wizard's user input page; when the user types in the
- * text box, the annotated method will be invoked and passed the contents of the text box as an
- * argument.
- * <p>
- * This annotation is only used when a refactoring uses an automatically-generated user input page,
- * and it must only be used to annotate a method with the signature
- * <code>void setterMethod(String newValue)</code>
- *
- * @author Jeff Overbey
- * 
- * @since 1.0
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-public @interface UserInputString
-{
-    /**
-     * @return a label that will be displayed to the left of the text box (non-<code>null</code>)
-     */
-    String label();
-
-    /**
-     * @return the name of a method which will provide an initial default value
-     */
-    String defaultValueMethod() default "";
-}
diff --git a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/simple/SimpleEditorRefactoring.java b/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/simple/SimpleEditorRefactoring.java
deleted file mode 100644
index 31af09e..0000000
--- a/org.eclipse.rephraserengine.core.refactoring/src/org/eclipse/rephraserengine/core/refactorings/simple/SimpleEditorRefactoring.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.refactorings.simple;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.lang.reflect.Method;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.TextFileChange;
-import org.eclipse.rephraserengine.core.refactorings.IEditorRefactoring;
-import org.eclipse.text.edits.ReplaceEdit;
-
-/**
- * This is an extremely simple {@link IEditorRefactoring} implementation intended for use in
- * demonstrations/simple examples. Production code should inherit from
- * <code>VPGEditorRefactoring</code> or another {@link IEditorRefactoring} implementation instead.
- * <p>
- * Subclasses of this class will be similar in appearance to production refactorings (e.g., they
- * will call {@link #findSelected(Class, Object)} and {@link #fail(String)}), but they don't require
- * as much code (e.g., the refactoring name is automatically computed, and there is no separation
- * between precondition checking and change creation).
- * <p>
- * Subclasses must override {@link #perform()}. Typically, the entire refactoring is performed
- * inside this method. They should invoke {@link #fail(String)} if the refactoring encounters an
- * error.
- * <p>
- * Subclasses may also override {@link #beforeUserInput()}, which is invoked before the wizard
- * dialog is displayed.
- * 
- * @author Jeff Overbey
- * 
- * @since 3.0
- */
-public abstract class SimpleEditorRefactoring extends Refactoring implements IEditorRefactoring
-{
-    @SuppressWarnings("serial")
-    protected static final class PreconditionFailure extends Exception
-    {
-        public PreconditionFailure(String message)
-        {
-            super(message);
-        }
-    }
-
-    protected IFile file;
-
-    protected ITextSelection selection;
-
-    protected TextFileChange change;
-
-    public final void initialize(IFile file, ITextSelection selection)
-    {
-        this.file = file;
-        this.selection = selection;
-        this.change = new TextFileChange(getName(), file);
-    }
-
-    @Override
-    public final RefactoringStatus checkInitialConditions(IProgressMonitor pm) throws CoreException,
-        OperationCanceledException
-    {
-        RefactoringStatus status = new RefactoringStatus();
-        try
-        {
-            beforeUserInput();
-        }
-        catch (PreconditionFailure e)
-        {
-            status.addFatalError(e.getMessage());
-        }
-        catch (Exception e)
-        {
-            status.addFatalError(e.getClass().getSimpleName() + ": " + e.getMessage()); //$NON-NLS-1$
-        }
-        return status;
-    }
-
-    /**
-     * Callback method invoked before the refactoring wizard is displayed to the user.
-     * <p>
-     * Subclasses may override this method.
-     * 
-     * @throws Exception
-     */
-    protected void beforeUserInput() throws Exception
-    {
-        // Do nothing
-    }
-
-    @Override
-    public final RefactoringStatus checkFinalConditions(IProgressMonitor pm) throws CoreException,
-        OperationCanceledException
-    {
-        RefactoringStatus status = new RefactoringStatus();
-        try
-        {
-            String newFileContents = perform();
-            change.initializeValidationData(pm);
-            change.setEdit(new ReplaceEdit(0, countCharsIn(file), newFileContents));
-        }
-        catch (PreconditionFailure e)
-        {
-            status.addFatalError(e.getMessage());
-        }
-        catch (Exception e)
-        {
-            status.addFatalError(e.getClass().getSimpleName() + ": " + e.getMessage()); //$NON-NLS-1$
-        }
-        return status;
-    }
-
-    private int countCharsIn(IFile file) throws CoreException, IOException
-    {
-        int size = 0;
-        Reader in = new BufferedReader(new InputStreamReader(file.getContents(true), file.getCharset()));
-        while (in.read() > -1)
-            size++;
-        in.close();
-        return size;
-    }
-
-    /**
-     * Performs the refactoring, returning the new contents of the file.
-     * <p>
-     * Subclasses must override this method.
-     * 
-     * @return the entire, revised contents of the file resulting from the refactoring
-     * 
-     * @throws PreconditionFailure to display an error message to the user
-     * @throws Exception to display the exception class name and an error message to the user
-     */
-    protected abstract String perform() throws Exception;
-
-    /**
-     * Causes the refactoring to fail, displaying the given error message to the user.
-     * 
-     * @param message the error message to display
-     * 
-     * @throws PreconditionFailure
-     */
-    protected final void fail(String message) throws PreconditionFailure
-    {
-        throw new PreconditionFailure(message);
-    }
-
-    /**
-     * (Utility method) Finds the least AST node of the given type encompassing the user's text
-     * selection in the editor.
-     * <p>
-     * This implementation assumes a Ludwig-style AST where interior nodes have
-     * <code>getChildren</code> and <code>findFirst/LastToken</code> methods, and tokens have
-     * <code>getOffset</code> and <code>getLength</code> methods. These are invoked through
-     * reflection, so this is by no means an efficient implementation.
-     * <p>
-     * In production code, an efficient implementation of this method is typically provided by the
-     * VPG or AST.
-     */
-    @SuppressWarnings("unchecked")
-    protected <T> T findSelected(Class<T> nodeType, Object node)
-    {
-        try
-        {
-            Method getChildren = node.getClass().getMethod("getChildren"); //$NON-NLS-1$
-            for (Object child : (Iterable< ? >)getChildren.invoke(node))
-            {
-                T result = findSelected(nodeType, child);
-                if (result != null) return result;
-            }
-
-            if (nodeType.isAssignableFrom(node.getClass()))
-            {
-                Object firstToken = node.getClass().getMethod("findFirstToken").invoke(node); //$NON-NLS-1$
-                Object lastToken = node.getClass().getMethod("findLastToken").invoke(node); //$NON-NLS-1$
-                if (firstToken != null && lastToken != null)
-                {
-                    int firstOffset = ((Integer)firstToken.getClass()
-                        .getMethod("getOffset").invoke(firstToken)).intValue(); //$NON-NLS-1$
-                    int lastOffset = ((Integer)lastToken.getClass()
-                        .getMethod("getOffset").invoke(lastToken)).intValue(); //$NON-NLS-1$
-                    lastOffset += ((Integer)lastToken.getClass()
-                        .getMethod("getLength").invoke(lastToken)).intValue(); //$NON-NLS-1$
-                    if (selection.getLength() == 0 && firstOffset <= selection.getOffset()
-                        && selection.getOffset() < lastOffset)
-                    {
-                        // This is the least node enclosing the cursor position; that's good enough
-                        return (T)node;
-                    }
-                    else if (selection.getOffset() == firstOffset
-                        && selection.getLength() == (lastOffset - firstOffset))
-                    {
-                        // The selection exactly encloses this node
-                        return (T)node;
-                    }
-                }
-            }
-
-            return null;
-        }
-        catch (Exception e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    @Override
-    public final Change createChange(IProgressMonitor pm) throws CoreException,
-        OperationCanceledException
-    {
-        return change;
-    }
-
-    /**
-     * Returns the name of this refactoring.
-     * <p>
-     * The name of the refactoring is determined by the class name.
-     * <ul>
-     * <li> "ExtractLocalVariableRefactoring" => "Extract Local Variable"
-     * <li> "RenameRefactoring" => "Rename"
-     * </ul>
-     * Subclasses may override this method to customize the name.
-     */
-    @Override
-    public String getName()
-    {
-        String name = getClass().getSimpleName();
-
-        if (name.toLowerCase().endsWith("refactoring")) //$NON-NLS-1$
-            name = name.substring(0, name.length() - "refactoring".length()); //$NON-NLS-1$
-
-        StringBuilder sb = new StringBuilder(64);
-        for (int i = 0, len = name.length(); i < len; i++)
-        {
-            char c = name.charAt(i);
-            if (Character.isUpperCase(c) && i > 0)
-                sb.append(" " + c); //$NON-NLS-1$
-            else
-                sb.append(c);
-        }
-        return sb.toString();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/.classpath b/org.eclipse.rephraserengine.core.vpg.tests/.classpath
deleted file mode 100644
index 472ee29..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/.project b/org.eclipse.rephraserengine.core.vpg.tests/.project
deleted file mode 100644
index 8cbd84b..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine.core.vpg.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 84920e5..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 09:50:11 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 03cc119..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Fri Oct 09 01:04:06 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.core.vpg.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 6d4f2e7..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Rephraser Engine Unit Tests
-Bundle-SymbolicName: org.eclipse.rephraserengine.core.vpg.tests
-Bundle-Version: 3.0.0.qualifier
-Bundle-Vendor: Eclipse.org - Photran
-Require-Bundle: org.junit,
- org.eclipse.rephraserengine.core.vpg,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.rephraserengine.core
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.rephraserengine.internal.core.tests.dependence,
- org.eclipse.rephraserengine.internal.core.tests.flow,
- org.eclipse.rephraserengine.internal.core.tests.vpg
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/about.html b/org.eclipse.rephraserengine.core.vpg.tests/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/build.properties b/org.eclipse.rephraserengine.core.vpg.tests/build.properties
deleted file mode 100644
index 9cbab3c..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html
-src.includes = about.html
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/dependence/GCDTestTest.java b/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/dependence/GCDTestTest.java
deleted file mode 100644
index 55befbb..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/dependence/GCDTestTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.core.tests.dependence;
-
-import junit.framework.TestCase;
-
-import org.eclipse.rephraserengine.core.analysis.dependence.GCDTest;
-
-/**
- *
- * @author Jeff Overbey
- */
-public class GCDTestTest extends TestCase
-{
-    /**
-     * DO I = 1, N
-     *     A(I + 1) = A(I) + B(I)     ! S1
-     * ENDDO
-     */
-    public void testPage38()
-    {
-        assertTrue(test(
-            1,
-            //          Constant term
-            //          |  Coefficient of I
-            //          |  |
-            //          V  V
-            new int[] { 1, 1 },
-            new int[] { 0, 1 }));
-    }
-
-    /**
-     * DO I = 1, N
-     *     A(I + 2) = A(I) + B(I)     ! S1
-     * ENDDO
-     */
-    public void testPage39()
-    {
-        assertTrue(test(
-            1,
-            //          Constant term
-            //          |  Coefficient of I
-            //          |  |
-            //          V  V
-            new int[] { 2, 1 },
-            new int[] { 0, 1 }));
-    }
-
-    /**
-     * DO I = 1, N
-     *     A(2*I) = A(2*I + 1)
-     * ENDDO
-     */
-    public void testFalse()
-    {
-        assertFalse(test(
-            1,
-            //          Constant term
-            //          |  Coefficient of I
-            //          |  |
-            //          V  V
-            new int[] { 0, 2 },
-            new int[] { 1, 2 }));
-    }
-
-    private boolean test(int n, int[] a, int[] b)
-    {
-        return new GCDTest().test(n, null, null, a, b, null).dependenceMightExist();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/dependence/IntMatrixTests.java b/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/dependence/IntMatrixTests.java
deleted file mode 100644
index 8cd14e2..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/dependence/IntMatrixTests.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.core.tests.dependence;
-
-import junit.framework.TestCase;
-
-import org.eclipse.rephraserengine.core.analysis.dependence.GeneralizedGCDTest.IntMatrix;
-import org.eclipse.rephraserengine.core.analysis.dependence.GeneralizedGCDTest.IntVector;
-import org.eclipse.rephraserengine.core.analysis.dependence.GeneralizedGCDTest.IntMatrix.Reduce;
-
-/**
- *
- * @author Jeff Overbey
- */
-public class IntMatrixTests extends TestCase
-{
-    public void testToString()
-    {
-        int rows = 3;
-        int cols = 5;
-        IntMatrix m = IntMatrix.zero(rows, cols);
-        for (int row = 1; row <= rows; row++)
-            for (int col = 1; col <= cols; col++)
-                m.set(row, col, 10*row + col);
-        String actual = m.toString();
-        String expected =
-                "   11   12   13   14   15\n" +
-                "   21   22   23   24   25\n" +
-                "   31   32   33   34   35\n";
-        assertEquals(expected, actual);
-
-        IntMatrix copy = IntMatrix.copyFrom(m);
-
-        m.swapColumns(2, 3);
-        String actual2 = m.toString();
-        String expected2 =
-                "   11   13   12   14   15\n" +
-                "   21   23   22   24   25\n" +
-                "   31   33   32   34   35\n";
-        assertEquals(expected2, actual2);
-
-        m.set(1, 2, 77777);
-        m.set(2, 3, 88888);
-        m.set(2, 4, 99999);
-
-        assertEquals(expected, copy.toString());
-
-        int[] ints = new int[] {
-                3, 4, 5,
-                6, 7, 8,
-                -1, 0, 1,
-                4, 3, 2,
-                1, 0, 0
-        };
-        IntMatrix m3 = IntMatrix.create(5, 3, ints);
-        String actual3 = m3.toString();
-        String expected3 =
-                "    3    4    5\n" +
-                "    6    7    8\n" +
-                "   -1    0    1\n" +
-                "    4    3    2\n" +
-                "    1    0    0\n";
-        assertEquals(expected3, actual3);
-        assertTrue(m3.equalsUnwrapped(ints));
-    }
-
-    /** Wolfe p. 113 */
-    public void testReduceRow()
-    {
-        IntMatrix a = IntMatrix.create(1, 3,
-            6, -4, 14);
-        Reduce r = a.reduce();
-        assertTrue(r.getColumnEchelonForm().equalsUnwrapped(2, 0, 0));
-        assertTrue(r.getUnimodularMatrix().equalsUnwrapped(
-            1, 2, -1,
-            1, 3,  2,
-            0, 0,  1));
-    }
-
-    /** Wolfe p. 116 */
-    public void testReduceMatrix()
-    {
-        IntMatrix a = IntMatrix.create(3, 3,
-            3,  2, -1,
-            2, -2,  5,
-            0,  0,  0);
-        Reduce r = a.reduce();
-        assertTrue(r.getColumnEchelonForm().equalsUnwrapped(
-            -1, 0, 0,
-             5, 1, 0,
-             0, 0, 0));
-        assertTrue(r.getUnimodularMatrix().equalsUnwrapped(
-            0,  1, -8,
-            0, -2, 17,
-            1, -1, 10));
-
-        IntVector t = r.getColumnEchelonForm().forwardSubstitute(9, 7, 0);
-        assertEquals(-9, t.get(1));
-        assertEquals(52, t.get(2));
-    }
-
-    public void testForwardSubstitute()
-    {
-        IntMatrix u = IntMatrix.create(3, 3,
-            -15, 0, 0,
-            -8, -4, 0,
-             3,  2, 1);
-        int[] c = new int[] { -15, -16, 15 };
-        IntVector x = u.forwardSubstitute(c);
-        assertEquals(3, x.size());
-        assertEquals(1, x.get(1));
-        assertEquals(2, x.get(2));
-        assertEquals(8, x.get(3));
-    }
-
-    /** Wolfe p. 226 */
-    public void testSolve0()
-    {
-        IntMatrix a = IntMatrix.create(4, 4,
-            1, -1, 0, 0,
-            0,  0, 1, -1,
-            0,  0, 0,  0,
-            0,  0, 0,  0);
-        IntVector t = a.solve(-1, 0, 0, 0);
-        assertEquals(4, t.size());
-        assertEquals(-1, t.get(1));
-        assertEquals(0, t.get(2));
-        assertEquals(0, t.get(3));
-        assertEquals(0, t.get(4));
-    }
-
-    public void testSolve1()
-    {
-        IntMatrix a = IntMatrix.create(4, 4,
-            1, -1, 1, -1,
-            0,  0, 1, -1,
-            0,  0, 0,  0,
-            0,  0, 0,  0);
-        IntVector t = a.solve(-1, 0, 0, 0);
-        assertEquals(4, t.size());
-        assertEquals(-1, t.get(1));
-        assertEquals(0, t.get(2));
-        assertEquals(0, t.get(3));
-        assertEquals(0, t.get(4));
-    }
-
-    // http://tutorial.math.lamar.edu/Classes/LinAlg/SolvingSystemsOfEqns.aspx
-    public void testSolve2()
-    {
-        IntMatrix a = IntMatrix.create(3, 3,
-            -2, 1, -1,
-             1, 2,  3,
-             3, 0,  1);
-        IntVector t = a.solve(4, 13, -1);
-        assertEquals(3, t.size());
-        assertEquals(-1, t.get(1));
-        assertEquals(4, t.get(2));
-        assertEquals(2, t.get(3));
-    }
-
-    // http://tutorial.math.lamar.edu/Classes/LinAlg/SolvingSystemsOfEqns.aspx
-    public void testSolve3()
-    {
-        IntMatrix a = IntMatrix.create(3, 3,
-            1, -2, 3,
-            -1, 1, -2,
-            2, -1, 3);
-        // No solutions
-        IntVector t = a.solve(-2, 3, 1);
-        assertNull(t);
-    }
-
-    // http://tutorial.math.lamar.edu/Classes/LinAlg/SolvingSystemsOfEqns.aspx
-    public void testSolve4()
-    {
-        IntMatrix a = IntMatrix.create(3, 3,
-            1, -2, 3,
-            -1, 1, -2,
-            2, -1, 3);
-        // Infinite solutions
-        IntVector t = a.solve(-2, 3, -7);
-        assertEquals(3, t.size());
-        assertEquals(-4, t.get(1));
-        assertEquals(-1, t.get(2));
-        assertEquals(0, t.get(3));
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/flow/FlowGraphTests.java b/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/flow/FlowGraphTests.java
deleted file mode 100644
index d4c110f..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/flow/FlowGraphTests.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.core.tests.flow;
-
-import junit.framework.TestCase;
-
-import org.eclipse.rephraserengine.core.analysis.flow.BasicBlock;
-import org.eclipse.rephraserengine.core.analysis.flow.BasicBlockBuilder;
-import org.eclipse.rephraserengine.core.analysis.flow.FlowGraph;
-import org.eclipse.rephraserengine.core.analysis.flow.FlowGraphNode;
-
-/**
- * Unit tests for {@link FlowGraph} and {@link FlowGraphNode}.
- *
- * @author Jeff Overbey
- */
-public class FlowGraphTests extends TestCase
-{
-    /**
-     * <pre>
-     *   (1)
-     *    |
-     *   (2)
-     *   / \
-     * (3)  (4)
-     *  |    |
-     * (5)  (6)
-     *  \   /|\
-     *   \ / | \
-     *   (7)(8)(9)
-     * </pre>
-     */
-    @SuppressWarnings("unchecked")
-    public void testTraversalAndBasicBlocks()
-    {
-        FlowGraphNode<Integer>
-            n1 = new FlowGraphNode<Integer>("n1", 1),
-            n2 = new FlowGraphNode<Integer>("n2", 2),
-            n3 = new FlowGraphNode<Integer>("n3", 3),
-            n4 = new FlowGraphNode<Integer>("n4", 4),
-            n5 = new FlowGraphNode<Integer>("n5", 5),
-            n6 = new FlowGraphNode<Integer>("n6", 6),
-            n7 = new FlowGraphNode<Integer>("n7", 7),
-            n8 = new FlowGraphNode<Integer>("n8", 8),
-            n9 = new FlowGraphNode<Integer>("n9", 9);
-        n1.connectTo(n2);
-        n2.connectTo(n3, n4);
-        n3.connectTo(n5);
-        n4.connectTo(n6);
-        n5.connectTo(n7);
-        n6.connectTo(n7, n8, n9);
-
-        assertEquals("n1", n1.getName());
-        assertEquals("n9", n9.getName());
-
-        StringBuilder sb = new StringBuilder();
-        for (FlowGraphNode<Integer> n : n6.getSuccessors())
-            sb.append(n.getData());
-        assertEquals("789", sb.toString());
-
-        sb = new StringBuilder();
-        for (FlowGraphNode<Integer> n : n6.getSuccessorsInReverse())
-            sb.append(n.getData());
-        assertEquals("987", sb.toString());
-
-        sb = new StringBuilder();
-        for (FlowGraphNode<Integer> n : n6.getPrecedessors())
-            sb.append(n.getData());
-        assertEquals("4", sb.toString());
-
-        sb = new StringBuilder();
-        for (FlowGraphNode<Integer> n : n7.getPrecedessors())
-            sb.append(n.getData());
-        assertEquals("56", sb.toString());
-
-        FlowGraph<Integer> cfg = new FlowGraph<Integer>(n1, null);
-
-        sb = new StringBuilder();
-        for (Integer n : cfg.dataInReversePostOrder())
-            sb.append(n);
-        assertEquals("987645321", sb.toString());
-
-        sb = new StringBuilder();
-        for (Integer n : cfg.dataInPreOrder())
-            sb.append(n);
-        assertEquals("123574689", sb.toString());
-
-        FlowGraph<BasicBlock<Integer>> bbCfg = new FlowGraph<Integer>(n1, null).formBasicBlocks();
-        assertEquals(
-            "n1: 12\n" +
-            "    => n3\n" +
-            "    => n4\n" +
-            "n3: 35\n" +
-            "    => n7\n" +
-            "n7: 7\n" +
-            "n4: 46\n" +
-            "    => n7\n" +
-            "    => n8\n" +
-            "    => n9\n" +
-            "n8: 8\n" +
-            "n9: 9",
-            bbCfg.toString());
-    }
-
-    /**
-     * <pre>
-     * (1)
-     *  |
-     * (2)
-     *  |
-     * (3) <-- goto
-     *  |
-     * (4)
-     * </pre>
-     */
-    public void testBasicBlocksGoto()
-    {
-        FlowGraphNode<Integer>
-            n1 = new FlowGraphNode<Integer>("n1", 1),
-            n2 = new FlowGraphNode<Integer>("n2", 2),
-            n3 = new FlowGraphNode<Integer>("n3", 3),
-            n4 = new FlowGraphNode<Integer>("n4", 4);
-        n1.connectTo(n2);
-        n2.connectTo(n3);
-        n3.connectTo(n4);
-
-        BasicBlockBuilder<Integer> builder = new BasicBlockBuilder<Integer>()
-        {
-            @Override
-            protected boolean isGoToOrStop(Integer data)
-            {
-                return data.intValue() == 3;
-            }
-        };
-
-        FlowGraph<BasicBlock<Integer>> bbFlowGraph = new FlowGraph<Integer>(n1, null).formBasicBlocks(builder);
-        assertEquals(
-            "n1: 123\n" +
-        	"    => n4\n" +
-        	"n4: 4",
-        	bbFlowGraph.toString());
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/flow/ReachingDefsTest.java b/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/flow/ReachingDefsTest.java
deleted file mode 100644
index f17d71c..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/flow/ReachingDefsTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.core.tests.flow;
-
-import java.util.BitSet;
-
-import junit.framework.TestCase;
-
-import org.eclipse.rephraserengine.core.analysis.flow.FlowGraph;
-import org.eclipse.rephraserengine.core.analysis.flow.FlowGraphNode;
-import org.eclipse.rephraserengine.core.analysis.flow.ReachingDefsAnalysis;
-
-/**
- * Unit tests for {@link ReachingDefsAnalysis}.
- *
- * @author Jeff Overbey
- */
-public class ReachingDefsTest extends TestCase
-{
-    private static class RDAnalysis extends ReachingDefsAnalysis<Integer>
-    {
-        public RDAnalysis(FlowGraph<Integer> cfg)
-        {
-            super(cfg, countDefs(cfg));
-        }
-
-        private static int countDefs(FlowGraph<Integer> cfg)
-        {
-            int numDefs = 0;
-            for (Integer n : cfg.dataInReversePostOrder())
-                numDefs = Math.max(numDefs, n);
-            return numDefs;
-        }
-
-        @Override protected BitSet gen(Integer node)
-        {
-            BitSet result = new BitSet(numDefs);
-            if (node > 0)
-                result.set(node);
-            return result;
-        }
-
-        @Override protected BitSet kill(Integer node)
-        {
-            BitSet result = new BitSet(numDefs);
-            if (node > 0)
-            {
-                result.set(node);
-                result.flip(0, numDefs);
-            }
-            return result;
-        }
-    }
-
-    public void test1()
-    {
-        /*                    CFG Node    Def/Use
-         *                    ========    =======
-         * read a               N1        D1
-         * read a               N2        D2
-         * print a              N3             U1
-         */
-
-        //                            Def
-        FlowGraphNode<Integer> n1 = new FlowGraphNode<Integer>("n1", 1),
-                n2 = new FlowGraphNode<Integer>("n2", 2),
-                n3 = new FlowGraphNode<Integer>("n3", 0);
-
-        FlowGraph<Integer> cfg = new FlowGraph<Integer>(
-            new FlowGraphNode<Integer>("entry", 0),
-            new FlowGraphNode<Integer>("exit", 0));
-        cfg.getEntryNode().connectTo(n1);
-        n1.connectTo(n2);
-        n2.connectTo(n3);
-        n3.connectTo(cfg.getExitNode());
-
-        RDAnalysis analysis = new RDAnalysis(cfg);
-        analysis.run();
-        //System.out.println(analysis);
-        assertEquals("{}", analysis.defsReaching(cfg.getEntryNode()).toString());
-        assertEquals("{}", analysis.defsReaching(n1).toString());
-        assertEquals("{1}", analysis.defsReaching(n2).toString());
-        assertEquals("{2}", analysis.defsReaching(n3).toString());
-        assertEquals("{2}", analysis.defsReaching(cfg.getExitNode()).toString());
-    }
-
-    public void test2()
-    {
-        /*                    CFG Node    Def/Use
-         *                    ========    =======
-         * read a               N1        D1
-         * while (a < 10)       N2             U1
-         *   a *= 2               N3      D2   U2
-         * if (a == 11)         N4             U3
-         *   a = 999              N5      D3
-         * print a              N6             U4
-         */
-
-        //                            Def
-        FlowGraphNode<Integer> n1 = new FlowGraphNode<Integer>("n1", 1),
-                n2 = new FlowGraphNode<Integer>("n2", 0),
-                n3 = new FlowGraphNode<Integer>("n3", 2),
-                n4 = new FlowGraphNode<Integer>("n4", 0),
-                n5 = new FlowGraphNode<Integer>("n5", 3),
-                n6 = new FlowGraphNode<Integer>("n6", 0);
-
-        FlowGraph<Integer> cfg = new FlowGraph<Integer>(
-            new FlowGraphNode<Integer>("entry", 0),
-            new FlowGraphNode<Integer>("exit", 0));
-        cfg.getEntryNode().connectTo(n1);
-        n1.connectTo(n2);
-        n2.connectTo(n3); n2.connectTo(n4);
-        n3.connectTo(n2); n3.connectTo(n4);
-        n4.connectTo(n5); n4.connectTo(n6);
-        n5.connectTo(n6);
-        n6.connectTo(cfg.getExitNode());
-
-        RDAnalysis analysis = new RDAnalysis(cfg);
-        analysis.run();
-        //System.out.println(analysis);
-        assertEquals("{}", analysis.defsReaching(cfg.getEntryNode()).toString());
-        assertEquals("{}", analysis.defsReaching(n1).toString());
-        assertEquals("{1, 2}", analysis.defsReaching(n2).toString());
-        assertEquals("{1, 2}", analysis.defsReaching(n3).toString());
-        assertEquals("{1, 2}", analysis.defsReaching(n4).toString());
-        assertEquals("{1, 2}", analysis.defsReaching(n5).toString());
-        assertEquals("{1, 2, 3}", analysis.defsReaching(n6).toString());
-        assertEquals("{1, 2, 3}", analysis.defsReaching(cfg.getExitNode()).toString());
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/InternalCDTDBTests.java b/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/InternalCDTDBTests.java
deleted file mode 100644
index 0a00ce2..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/InternalCDTDBTests.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.core.tests.vpg;
-
-import java.io.File;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB.Annotations;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB.Dependencies;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB.Edges;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB.Files;
-
-public class InternalCDTDBTests extends TestCase
-{
-    private InternalCDTDB db = null;
-
-    @Override
-    protected void setUp() throws Exception
-    {
-        File dbFile = File.createTempFile("vpg", null);
-        dbFile.deleteOnExit();
-
-        db = new InternalCDTDB(dbFile);
-    }
-
-    public void testFiles() throws CoreException
-    {
-        assertNotNull(db);
-        Files f = db.files;
-        assertNotNull(f);
-
-        assertEquals(0, numFiles());
-        assertTrue(f.findRecordFor("a") < 0);
-        assertTrue(f.findRecordFor("a") < 0);
-
-        for (String filename : new String[] { "a", "b", "c" })
-        {
-            int record = f.ensure(filename);
-            assertTrue(record >= 0);
-            assertEquals(record, f.ensure(filename));
-            assertEquals(record, f.findRecordFor(filename));
-            assertEquals(filename, f.getFilename(record).getString());
-        }
-
-        assertEquals(3, numFiles());
-
-        f.delete("b");
-
-        assertTrue(f.findRecordFor("a") >= 0);
-        assertTrue(f.findRecordFor("b") < 0);
-        assertTrue(f.findRecordFor("c") >= 0);
-        assertEquals(2, numFiles());
-
-        int record = f.findRecordFor("a");
-        f.setModificationStamp(record, 12345);
-        assertEquals(12345, f.getModificationStamp(record));
-        f.setModificationStamp(record, 54321);
-        assertEquals(54321, f.getModificationStamp(record));
-
-        f.delete("a");
-        f.delete("c");
-        f.delete("c");
-        assertEquals(0, numFiles());
-    }
-
-    private int numFiles() throws CoreException
-    {
-        return db.files.findAllFileRecords().size();
-    }
-
-    public void testDependencies() throws CoreException
-    {
-        assertNotNull(db);
-        Dependencies d = db.dependencies;
-        assertNotNull(d);
-
-        assertEquals(0, numFiles());
-        assertDependencies(0, 0, 0, 0, 0, 0);
-
-        d.ensure("a", "b");
-        assertDependencies(0, 1, 1, 0, 0, 0);
-        d.ensure("a", "b");
-        assertDependencies(0, 1, 1, 0, 0, 0);
-
-        d.ensure("a", "c");
-        assertDependencies(0, 2, 1, 0, 1, 0);
-
-        d.ensure("c", "a");
-        assertDependencies(1, 2, 1, 0, 1, 1);
-
-        d.delete("a", "b");
-        assertDependencies(1, 1, 0, 0, 1, 1);
-
-        d.delete("c", "a");
-        assertDependencies(0, 1, 0, 0, 1, 0);
-
-        d.delete("a", "c");
-        assertDependencies(0, 0, 0, 0, 0, 0);
-
-        db.files.delete("a");
-        db.files.delete("b");
-        db.files.delete("c");
-        assertEquals(0, numFiles());
-    }
-
-    private void assertDependencies(int inA, int outA, int inB, int outB, int inC, int outC) throws CoreException
-    {
-        assertEquals(inA, db.dependencies.findAllIncomingDependencyRecordsTo("a").size());
-        assertEquals(outA, db.dependencies.findAllOutgoingDependencyRecordsFrom("a").size());
-
-        assertEquals(inB, db.dependencies.findAllIncomingDependencyRecordsTo("b").size());
-        assertEquals(outB, db.dependencies.findAllOutgoingDependencyRecordsFrom("b").size());
-
-        assertEquals(inC, db.dependencies.findAllIncomingDependencyRecordsTo("c").size());
-        assertEquals(outC, db.dependencies.findAllOutgoingDependencyRecordsFrom("c").size());
-
-        assertEquals(inA > 0, db.dependencies.hasIncomingDependencyRecords("a"));
-        assertEquals(outA > 0, db.dependencies.hasOutgoingDependencyRecords("a"));
-
-        assertEquals(inB > 0, db.dependencies.hasIncomingDependencyRecords("b"));
-        assertEquals(outB > 0, db.dependencies.hasOutgoingDependencyRecords("b"));
-
-        assertEquals(inC > 0, db.dependencies.hasIncomingDependencyRecords("c"));
-        assertEquals(outC > 0, db.dependencies.hasOutgoingDependencyRecords("c"));
-    }
-
-    public void testEdges() throws CoreException
-    {
-        assertNotNull(db);
-        Edges e = db.edges;
-        assertNotNull(e);
-
-        assertEquals(0, numFiles());
-
-        e.ensure("a", 1, 2, "b", 3, 4, 5);
-        assertEdges(0, 1, 1, 0, 0, 0);
-        e.ensure("a", 1, 2, "b", 3, 4, 5);
-        assertEdges(0, 1, 1, 0, 0, 0);
-
-        e.ensure("a", 1, 2, "b", 3, 4, 6);
-        assertEdges(0, 2, 2, 0, 0, 0);
-
-        int record = e.ensure("b", 3, 4, "a", 1, 2, 6);
-        assertEdges(1, 2, 2, 1, 0, 0);
-
-        assertEquals("b", db.files.getFilename(e.getFromFileRecordPtr(record)).getString());
-        assertEquals(3, e.getFromOffset(record));
-        assertEquals(4, e.getFromLength(record));
-        assertEquals("a", db.files.getFilename(e.getToFileRecordPtr(record)).getString());
-        assertEquals(1, e.getToOffset(record));
-        assertEquals(2, e.getToLength(record));
-        assertEquals(6, e.getEdgeType(record));
-
-        assertEquals(2, e.findAllOutgoingEdgeRecordsFrom("a", 1, 2).size());
-        assertEquals(2, e.findAllIncomingEdgeRecordsTo("b", 3, 4).size());
-
-        assertEquals(1, e.findAllOutgoingEdgeRecordsFrom("a", 1, 2, 5).size());
-        assertEquals(1, e.findAllIncomingEdgeRecordsTo("b", 3, 4, 5).size());
-        assertEquals(1, e.findAllOutgoingEdgeRecordsFrom("a", 1, 2, 6).size());
-        assertEquals(1, e.findAllIncomingEdgeRecordsTo("b", 3, 4, 6).size());
-        assertEquals(0, e.findAllOutgoingEdgeRecordsFrom("a", 1, 2, 7).size());
-        assertEquals(0, e.findAllIncomingEdgeRecordsTo("b", 3, 4, 7).size());
-
-        db.files.delete("a");
-        db.files.delete("b");
-        db.files.delete("c");
-        assertEquals(0, numFiles());
-    }
-
-    private void assertEdges(int inA, int outA, int inB, int outB, int inC, int outC) throws CoreException
-    {
-        assertEquals(inA, db.edges.findAllIncomingEdgeRecordsTo("a").size());
-        assertEquals(outA, db.edges.findAllOutgoingEdgeRecordsFrom("a").size());
-
-        assertEquals(inB, db.edges.findAllIncomingEdgeRecordsTo("b").size());
-        assertEquals(outB, db.edges.findAllOutgoingEdgeRecordsFrom("b").size());
-
-        assertEquals(inC, db.edges.findAllIncomingEdgeRecordsTo("c").size());
-        assertEquals(outC, db.edges.findAllOutgoingEdgeRecordsFrom("c").size());
-
-        assertEquals(inA > 0, db.edges.hasIncomingEdges("a"));
-        assertEquals(outA > 0, db.edges.hasOutgoingEdges("a"));
-
-        assertEquals(inB > 0, db.edges.hasIncomingEdges("b"));
-        assertEquals(outB > 0, db.edges.hasOutgoingEdges("b"));
-
-        assertEquals(inC > 0, db.edges.hasIncomingEdges("c"));
-        assertEquals(outC > 0, db.edges.hasOutgoingEdges("c"));
-    }
-
-    public void testAnnotations() throws CoreException
-    {
-        assertNotNull(db);
-        Annotations a = db.annotations;
-        assertNotNull(a);
-
-        assertEquals(0, numFiles());
-
-        byte[] a1 = new byte[] { 1, 2, 3 };
-        byte[] a2 = new byte[] { 4, 5, 6 };
-
-        a.set("a", 1, 2, 0, a2);
-        assertAnnotations(1, 0);
-
-        a.set("a", 1, 2, 0, a1);
-        assertAnnotations(1, 0);
-
-        a.set("a", 1, 2, 1, a2);
-        assertAnnotations(2, 0);
-
-        System.out.println(a);
-
-        a.set("a", 1, 3, 1, a2);
-        System.out.println(a);
-        assertAnnotations(3, 0);
-
-        assertEquals(2, db.annotations.findAllAnnotationRecordsFor("a", 1, 2).size());
-        assertEquals(1, db.annotations.findAllAnnotationRecordsFor("a", 1, 3).size());
-
-        db.files.delete("a");
-        db.files.delete("b");
-        db.files.delete("c");
-        assertEquals(0, numFiles());
-    }
-
-    private void assertAnnotations(int numA, int numB) throws CoreException
-    {
-        assertEquals(numA, db.annotations.findAllAnnotationRecordsFor("a").size());
-        assertEquals(numB, db.annotations.findAllAnnotationRecordsFor("b").size());
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/RAMDBTests.java b/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/RAMDBTests.java
deleted file mode 100644
index 4b24c9a..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/RAMDBTests.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.rephraserengine.internal.core.tests.vpg;

-

-import java.io.File;

-import java.io.IOException;

-import java.io.ObjectInputStream;

-import java.io.Serializable;

-import java.util.ArrayList;

-import java.util.HashMap;

-import java.util.HashSet;

-import java.util.List;

-import java.util.Set;

-import java.util.TreeSet;

-

-import junit.framework.TestCase;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.rephraserengine.core.util.Pair;

-import org.eclipse.rephraserengine.core.util.TwoKeyHashMap;

-import org.eclipse.rephraserengine.core.vpg.IVPGNode;

-import org.eclipse.rephraserengine.core.vpg.VPGDependency;

-import org.eclipse.rephraserengine.core.vpg.VPGEdge;

-import org.eclipse.rephraserengine.core.vpg.db.ram.RAMDB;

-

-/**

- * Class that checks the correctness of NewDB.java

- * 

- * @author Esfar Huq

- * @author Rui Wang

- * @author Jeff Overbey - replaced public fields with MyRAMDB

- */

-@SuppressWarnings(value={"unchecked", "rawtypes"})

-public class RAMDBTests extends TestCase

-{

-    private static class MyRAMDB<A, T, R extends IVPGNode<T>> extends RAMDB<A, T, R>

-    {

-        private static File tempFile = null;

-        

-        public MyRAMDB() throws IOException

-        {

-            super(null, createTempFile());

-        }

-

-        private static File createTempFile() throws IOException

-        {

-            if (tempFile == null)

-            {

-                tempFile = File.createTempFile("rephraser", "ramdb");

-                tempFile.deleteOnExit();

-            }

-            return tempFile;

-        }

-

-        @Override

-        public long getModificationStamp(String filename)

-        {

-            return 0L;

-        }

-        

-        public HashMap<String, Long> files() { return files; }

-        public HashSet<VPGDependency<A, T, R>> dependencies() { return dependencies; }

-        public HashMap<R, Set<VPGEdge<A, T, R>>> outgoingEdges() { return outgoingEdges; }

-        //public HashMap<R, Set<VPGEdge<A, T, R>>> incomingEdges() { return incomingEdges; }

-        public TwoKeyHashMap<R, Integer, Serializable> annotations() { return annotations; }

-

-        @Override protected Object readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { return in.readObject(); }

-    }

-    

-    private MyRAMDB db;

-    

-    @Override

-    protected void setUp() throws Exception

-    {

-        super.setUp();

-        

-        this.db = new MyRAMDB();

-    }

-

-    public void testDependencies() throws CoreException

-    {

-        assertNotNull(db);

-        assertNotNull(db.dependencies());

-        

-        VPGDependency d1 = new VPGDependency("A.txt", "B.txt");

-        VPGDependency d2 = new VPGDependency("C.txt", "D.txt");

-        VPGDependency d3 = new VPGDependency("C.txt", "E.txt");

-        VPGDependency d4 = new VPGDependency("C.txt", "F.txt");

-        

-        //ENSURE

-        db.ensure(d1);

-        db.ensure(d2);

-        db.ensure(d2);  //check if duplicates are handled

-        db.ensure(d3);

-        db.ensure(d4);

-        assertEquals(4, db.dependencies().size());

-        

-        //DELETE

-        db.delete(d1);

-        db.delete(d1);

-        assertEquals(3, db.dependencies().size());

-        assertEquals(true, db.dependencies().contains(d2));

-        

-        //GET OUTGOING DEPENDENCIES FROM

-        Iterable<String> result1 = db.getOutgoingDependenciesFrom("C.txt");

-        assertEquals("[D.txt, E.txt, F.txt]", result1.toString());

-        

-        //GET INCOMING DEPENDENCIES TO

-        Iterable<String> result2 = db.getIncomingDependenciesTo("E.txt");

-        assertEquals("[C.txt]", result2.toString());

-    }

-    

-    public void testEdges() throws CoreException

-    {

-        assertNotNull(db);

-        assertNotNull(db.outgoingEdges());

-        

-        VPGEdge e1 = new VPGEdge(new TestTokenRef(db, "C.txt", 0, 0), new TestTokenRef(db, "D.txt", 0, 0), Integer.MIN_VALUE);

-        VPGEdge e2 = new VPGEdge(new TestTokenRef(db, "A.txt", 0, 0), new TestTokenRef(db, "B.txt", 0, 0), Integer.MIN_VALUE);

-        VPGEdge e3 = new VPGEdge(new TestTokenRef(db, "C.txt", 0, 0), new TestTokenRef(db, "A.txt", 0, 0), Integer.MIN_VALUE);

-        

-        //ENSURE

-        db.ensure(e1);

-        db.ensure(e2);

-        db.ensure(e3);

-        db.ensure(e1);

-        assertEquals(2, db.outgoingEdges().keySet().size());

-        

-        //DELETE

-        db.delete(e3);

-        db.delete(e3);

-        //System.out.println(db.outgoingEdges());

-        assertEquals(2, db.outgoingEdges().keySet().size());

-        

-        //GET ALL EDGES FOR

-        Iterable<VPGEdge> result1 = db.getAllEdgesFor("B.txt");

-        List<VPGEdge> r1 = new ArrayList<VPGEdge>();

-        r1.add(e2);

-        

-        assertEquals(result1.toString(),r1.toString());

-    }

-    

-    public void testAnnotations() throws CoreException

-    {

-        assertNotNull(db);

-        assertNotNull(db.annotations());

-        

-        //SET ANNOTATION

-        int count = 0;

-        

-        TestTokenRef r1 = new TestTokenRef(db, "A.txt", 0, 0);

-        TestTokenRef r2 = new TestTokenRef(db, "B.txt", 0, 0);

-        TestTokenRef r3 = new TestTokenRef(db, "C.txt", 0, 0);

-        

-        byte[] b1 = new byte[] {1, 2, 3};

-        byte[] b2 = new byte[] {1, 2, 3};

-        byte[] b3 = new byte[] {1, 2, 3};

-        

-        db.setAnnotation(r1, 0, b1);

-        db.setAnnotation(r2, 1, b2);

-        db.setAnnotation(r3, 2, b3);

-        db.setAnnotation(r1, 0, b1);

-        

-        for(TestTokenRef r : (Set<TestTokenRef>)db.annotations().keySet())

-        {

-            count += db.annotations().getAllEntriesFor(r).keySet().size();

-        }

-        

-        assertEquals(3, count);

-        

-        //DELETE ANNOTATION

-        count = 0;

-        db.deleteAnnotation(r2, 1);

-        db.deleteAnnotation(r3, 2);

-        db.deleteAnnotation(r1, -1);

-        

-        for(TestTokenRef r : (Set<TestTokenRef>)db.annotations().keySet())

-        {

-            count += db.annotations().getAllEntriesFor(r).keySet().size();

-        }

-        

-        assertEquals(1, count);

-               

-        //GET ANNOTATION

-        assertEquals(b1, db.getAnnotation(r1, 0));

-        assertEquals(null, db.getAnnotation(r3, 2));

-        

-        //GET ALL ANNOTATIONS FOR

-        Iterable<Pair<TestTokenRef, Integer>> a = db.getAllAnnotationsFor("A.txt");

-        assertEquals(a.iterator().next(), new Pair<TestTokenRef, Integer>(r1, 0));

-    }

-    

-    public void testFiles()

-    {

-        //reset the database for convenience

-        try

-        {

-            this.setUp();

-        }catch(Exception e)

-        {

-            e.printStackTrace();

-        }

-       

-        assertNotNull(db);

-        assertNotNull(db.files());

-       

-        //MODIFICATION STAMP

-        db.updateModificationStamp("A.txt");

-        assertEquals(0L, db.getModificationStamp("A.txt"));

-       

-        //DELETE ALL ENTRIES FOR

-        VPGDependency d1 = new VPGDependency("A.txt", "B.txt");

-        VPGDependency d2 = new VPGDependency("C.txt", "D.txt");

-        VPGDependency d3 = new VPGDependency("C.txt", "E.txt");

-        VPGDependency d4 = new VPGDependency("C.txt", "F.txt");

-        

-        db.ensure(d1);

-        db.ensure(d2);

-        db.ensure(d3);

-        db.ensure(d4);

-        

-        VPGEdge e1 = new VPGEdge(new TestTokenRef(db, "C.txt", 0, 0), new TestTokenRef(db, "D.txt", 0, 0), Integer.MIN_VALUE);

-        VPGEdge e2 = new VPGEdge(new TestTokenRef(db, "A.txt", 0, 0), new TestTokenRef(db, "B.txt", 0, 0), Integer.MIN_VALUE);

-        VPGEdge e3 = new VPGEdge(new TestTokenRef(db, "C.txt", 0, 0), new TestTokenRef(db, "A.txt", 0, 0), Integer.MIN_VALUE);

-        

-        db.ensure(e1);

-        db.ensure(e2);

-        db.ensure(e3);

-        

-        TestTokenRef r1 = new TestTokenRef(db, "A.txt", 0, 0);

-        TestTokenRef r2 = new TestTokenRef(db, "B.txt", 0, 0);

-        TestTokenRef r3 = new TestTokenRef(db, "C.txt", 0, 0);

-        

-        byte[] b1 = new byte[] {1, 2, 3};

-        byte[] b2 = new byte[] {1, 2, 3};

-        byte[] b3 = new byte[] {1, 2, 3};

-        

-        db.setAnnotation(r1, 0, b1);

-        db.setAnnotation(r2, 1, b2);

-        db.setAnnotation(r3, 2, b3);

-        

-        db.deleteAllEntriesFor("A.txt");

-        assertEquals(3, db.dependencies().size());

-        assertEquals(1, db.outgoingEdges().keySet().size());

-        assertEquals(2, db.annotations().keySet().size());

-        

-        //LIST ALL FILENAMES

-        TreeSet<String> filenames = new TreeSet<String>(db.listAllFilenames());

-        assertEquals("[A.txt, B.txt, C.txt, D.txt, E.txt, F.txt]", filenames.toString());

-        

-        //LIST ALL FILENAMES WITH DEPENDENTS

-        filenames = new TreeSet<String>(db.listAllFilenamesWithDependents());

-        assertEquals("[D.txt, E.txt, F.txt]", filenames.toString());

-        

-        //LIST ALL DEPENDENT FILENAMES

-        filenames = new TreeSet<String>(db.listAllDependentFilenames());

-        assertEquals("[C.txt]", filenames.toString());

-    }

-    

-    public void testFlush() throws Exception

-    {

-        //reset the database for convenience

-        this.setUp();

-       

-        assertNotNull(db);

-        assertNotNull(db.files());

-        assertNotNull(db.dependencies());

-        assertNotNull(db.outgoingEdges());

-        assertNotNull(db.annotations());

-        

-        VPGDependency d1 = new VPGDependency("A.txt", "B.txt");

-        VPGDependency d2 = new VPGDependency("C.txt", "D.txt");

-        

-        db.ensure(d1);

-        db.ensure(d2);

-        

-        VPGEdge e2 = new VPGEdge(new TestTokenRef(db, "A.txt", 0, 0), new TestTokenRef(db, "B.txt", 0, 0), Integer.MIN_VALUE);

-        db.ensure(e2);

-        

-        db.flush();

-        this.setUp();

-        

-        assertEquals(2, db.dependencies().size());

-        assertEquals(1, db.outgoingEdges().keySet().size());

-        assertEquals(4, db.files().keySet().size());

-    }

-}

diff --git a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/TestTokenRef.java b/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/TestTokenRef.java
deleted file mode 100644
index 2639be6..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/TestTokenRef.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.core.tests.vpg;
-
-import java.io.Serializable;
-
-import org.eclipse.rephraserengine.core.vpg.VPG;
-import org.eclipse.rephraserengine.core.vpg.NodeRef;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.VPGDB;
-
-public class TestTokenRef extends NodeRef<Object> implements Serializable
-{
-    private static final long serialVersionUID = 1L;
-
-    private transient final VPGDB<?,?,TestTokenRef> db;
-
-    public TestTokenRef(VPGDB<?,?,TestTokenRef> db, String filename, int offset, int length)
-    {
-        super(filename, offset, length);
-        this.db = db;
-    }
-
-    @Override public Object getASTNode() { throw new UnsupportedOperationException(); }
-
-    @Override protected <R extends IVPGNode<Object>> VPG< ? , Object, R> getVPG() { throw new UnsupportedOperationException(); }
-
-    @SuppressWarnings("unchecked")
-    @Override protected VPGDB<?,?,TestTokenRef> getDB() { return db; }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/.classpath b/org.eclipse.rephraserengine.core.vpg/.classpath
deleted file mode 100644
index c4a6e44..0000000
--- a/org.eclipse.rephraserengine.core.vpg/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry exported="true" kind="lib" path="cdtdb-4.0.3-eclipse.jar"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.core.vpg/.cvsignore b/org.eclipse.rephraserengine.core.vpg/.cvsignore
deleted file mode 100644
index 8e695ec..0000000
--- a/org.eclipse.rephraserengine.core.vpg/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-doc
diff --git a/org.eclipse.rephraserengine.core.vpg/.project b/org.eclipse.rephraserengine.core.vpg/.project
deleted file mode 100644
index bd2589e..0000000
--- a/org.eclipse.rephraserengine.core.vpg/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine.core.vpg</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.core.vpg/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.core.vpg/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4b7863c..0000000
--- a/org.eclipse.rephraserengine.core.vpg/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 10:39:43 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.core.vpg/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.core.vpg/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 61620f0..0000000
--- a/org.eclipse.rephraserengine.core.vpg/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Fri Oct 09 01:03:47 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.core.vpg/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.core.vpg/META-INF/MANIFEST.MF
deleted file mode 100644
index 5e523ef..0000000
--- a/org.eclipse.rephraserengine.core.vpg/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,32 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.rephraserengine.core.vpg
-Bundle-Version: 3.0.0.qualifier
-Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.rephraserengine.core.analysis.flow,
- org.eclipse.rephraserengine.core.preservation,
- org.eclipse.rephraserengine.core.vpg,
- org.eclipse.rephraserengine.core.vpg.db.caching,
- org.eclipse.rephraserengine.core.vpg.db.cdt,
- org.eclipse.rephraserengine.core.vpg.db.profiling,
- org.eclipse.rephraserengine.core.vpg.db.ram,
- org.eclipse.rephraserengine.core.vpg.eclipse,
- org.eclipse.rephraserengine.core.vpg.refactoring,
- org.eclipse.rephraserengine.internal.core.vpg.db.cdt;x-friends:="org.eclipse.rephraserengine.core.vpg.tests",
- org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.core;x-friends:="org.eclipse.rephraserengine.core.vpg.tests",
- org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;x-friends:="org.eclipse.rephraserengine.core.vpg.tests",
- org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.dom;x-friends:="org.eclipse.rephraserengine.core.vpg.tests"
-Bundle-Execution-Environment: J2SE-1.5
-Bundle-ClassPath: cdtdb-4.0.3-eclipse.jar,
- .
-Import-Package: org.eclipse.core.runtime
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.rephraserengine.core,
- org.eclipse.core.runtime,
- org.eclipse.jface.text,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.rephraserengine.core.refactoring,
- org.eclipse.ui.workbench,
- org.eclipse.core.commands
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/org.eclipse.rephraserengine.core.vpg/OSGI-INF/l10n/bundle.properties b/org.eclipse.rephraserengine.core.vpg/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 21ad248..0000000
--- a/org.eclipse.rephraserengine.core.vpg/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Properties file for org.eclipse.rephraserengine.core.vpg
-Bundle-Vendor = Eclipse.org - Photran
-Bundle-Name = Rephraser Engine Core VPG Plug-in
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/about.html b/org.eclipse.rephraserengine.core.vpg/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.core.vpg/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/build.properties b/org.eclipse.rephraserengine.core.vpg/build.properties
deleted file mode 100644
index 04d558e..0000000
--- a/org.eclipse.rephraserengine.core.vpg/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               cdtdb-4.0.3-eclipse.jar,\
-               about.html,\
-               OSGI-INF/,\
-               OSGI-INF/l10n/,\
-               OSGI-INF/l10n/bundle.properties
-src.includes = cdtdb-4.0.3-eclipse.jar,\
-               about.html
diff --git a/org.eclipse.rephraserengine.core.vpg/cdtdb-4.0.3-eclipse.jar b/org.eclipse.rephraserengine.core.vpg/cdtdb-4.0.3-eclipse.jar
deleted file mode 100644
index c1f28cf..0000000
--- a/org.eclipse.rephraserengine.core.vpg/cdtdb-4.0.3-eclipse.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.rephraserengine.core.vpg/src/doc-files/vpg.dot b/org.eclipse.rephraserengine.core.vpg/src/doc-files/vpg.dot
deleted file mode 100644
index 57637f5..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/doc-files/vpg.dot
+++ /dev/null
@@ -1,32 +0,0 @@
-digraph vpg
-{
-	Program -> Declaration;
-	
-	Declaration -> Type;
-	integer [shape=box,fontname="Courier"];
-	Type -> integer;
-	
-	Declaration -> Variable;
-	i_decl [shape=box,label="i",fontname="Courier"];
-	Variable -> i_decl;
-	Declaration -> InitExpression;
-	InitExpression -> IntegerLiteral;
-	3 [shape=box,fontname="Courier"];
-	IntegerLiteral -> 3;
-
-	Program -> StatementList;
-	StatementList -> Statement;
-	Statement -> PrintStmt;
-	PrintStmt -> Expression;
-	Expression -> Concatenation;
-	i_ref [shape=box,label="i",fontname="Courier"];
-	Concatenation -> VariableReference;
-	VariableReference -> i_ref;
-	
-	Concatenation -> StringLiteral;
-	string [shape=box,fontname="Courier",label="is the value of i"];
-	StringLiteral -> string;
-
-	VariableReference -> Declaration [label="Binding",fontname="Times-Italic",fontsize=10,style=dotted,constraint=false];
-
-	Declaration -> Program [label="Scope of Declaration",fontname="Times-Italic",fontsize=10,style=dotted,constraint=false];}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/src/doc-files/vpg.png b/org.eclipse.rephraserengine.core.vpg/src/doc-files/vpg.png
deleted file mode 100644
index a175f67..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/doc-files/vpg.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/analysis/flow/VPGFlowGraph.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/analysis/flow/VPGFlowGraph.java
deleted file mode 100644
index 7a08dfe..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/analysis/flow/VPGFlowGraph.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.flow;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.rephraserengine.core.util.Worklist;
-import org.eclipse.rephraserengine.core.vpg.NodeRef;
-import org.eclipse.rephraserengine.core.vpg.VPG;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-
-/**
- * A control flow graph constructed from edges in a VPG.
- *
- * @author Jeff Overbey
- *
- * @param <R> {@link IVPGNode}/{@link NodeRef} type
- * @param <T> node/token type
- * @param <U> flowgraph node type
- *
- * @since 3.0
- */
-public abstract class VPGFlowGraph<R extends IVPGNode<T>, T, U>
-              extends FlowGraph<U>
-{
-    private final class NodeFactory
-    {
-        private final Map<R, FlowGraphNode<U>> nodes = new HashMap<R, FlowGraphNode<U>>();
-
-        private int lastNodeNumber = 0;
-
-        public FlowGraphNode<U> nodeFor(R tokenRef)
-        {
-            if (nodes.containsKey(tokenRef))
-            {
-                return nodes.get(tokenRef);
-            }
-            else
-            {
-                FlowGraphNode<U> result = new FlowGraphNode<U>(generateNodeName(), map(tokenRef));
-                nodes.put(tokenRef, result);
-                return result;
-            }
-        }
-
-        private String generateNodeName()
-        {
-            return "node" + Integer.toString(++lastNodeNumber); //$NON-NLS-1$
-        }
-
-        public FlowGraphNode<U> get(R tokenRef)
-        {
-            return nodes.get(tokenRef);
-        }
-
-        public boolean containsKey(R tokenRef)
-        {
-            return nodes.containsKey(tokenRef);
-        }
-    }
-
-    private final NodeFactory nodeFactory;
-
-    protected final VPG<?,?,R> vpg;
-
-    public VPGFlowGraph(VPG<?,?,R> vpg, R entryNodeRef, R exitNodeRef, int controlFlowEdgeType)
-    {
-        this.vpg = vpg;
-        this.nodeFactory = new NodeFactory();
-        this.entryNode = nodeFactory.nodeFor(entryNodeRef);
-        this.exitNode = nodeFactory.nodeFor(exitNodeRef);
-
-        populate(entryNodeRef, exitNodeRef, controlFlowEdgeType);
-    }
-
-    public VPGFlowGraph(VPG<?,?,R> vpg, R entryNodeRef, R exitNodeRef, Enum<?> controlFlowEdgeType)
-    {
-        this(vpg, entryNodeRef, exitNodeRef, controlFlowEdgeType.ordinal());
-    }
-
-    private void populate(R entryNodeRef, R exitNodeRef, int controlFlowEdgeType)
-    {
-        Worklist<R> worklist = new Worklist<R>(entryNodeRef);
-
-        for (R currentNodeRef : worklist)
-        {
-            FlowGraphNode<U> currentNode = nodeFactory.get(currentNodeRef);
-
-            for (R successorNodeRef : currentNodeRef.<R>followOutgoing(controlFlowEdgeType))
-            {
-                if (nodeFactory.containsKey(successorNodeRef))
-                {
-                    currentNode.connectTo(nodeFactory.get(successorNodeRef));
-                }
-                else
-                {
-                    FlowGraphNode<U> successorNode = nodeFactory.nodeFor(successorNodeRef);
-                    currentNode.connectTo(successorNode);
-                    worklist.add(successorNodeRef);
-                }
-            }
-        }
-    }
-
-    protected abstract U map(R tokenRef);
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/MergePreservationAnalyzer.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/MergePreservationAnalyzer.java
deleted file mode 100644
index 95f3be2..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/MergePreservationAnalyzer.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.preservation;
-
-import java.util.Collection;
-
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.VPGEdge;
-
-/**
- * 
- * @author Jeff Overbey
- */
-final class MergePreservationAnalyzer<A, T, R extends IVPGNode<T>> extends PreservationAnalyzer<A, T, R>
-{
-    public MergePreservationAnalyzer(
-        Collection<VPGEdge<A,T,R>> initialEdges,
-        Collection<VPGEdge<A,T,R>> finalEdges,
-        PreservationRuleset ruleset)
-    {
-        super(initialEdges, finalEdges, ruleset);
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Messages.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Messages.java
deleted file mode 100644
index 253749d..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Messages.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.preservation;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- * 
- * @since 2.0
- */
-class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.core.preservation.messages"; //$NON-NLS-1$
-
-    public static String Model_Computing;
-
-    public static String Model_Differencing;
-
-    public static String Model_Normalizing;
-
-    public static String Model_PreparingToCompute;
-
-    public static String PreservationAnalysis_EdgeWillChange;
-
-    public static String PreservationAnalysis_EnteringHypotheticalMode;
-
-    public static String PreservationAnalysis_ExitingHypotheticalMode;
-
-    public static String PreservationAnalysis_FromHere;
-
-    public static String PreservationAnalysis_TheFollowingFilesWillNotCompile;
-
-    public static String PreservationAnalysis_ToHere;
-
-    public static String PreservationAnalysis_TransformationWillChange;
-
-    public static String PreservationAnalysis_TransformationWillEliminate;
-
-    public static String PreservationAnalysis_TransformationWillIntroduce;
-
-    public static String PreservationAnalysis_WillPointHereInstead;
-
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Model.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Model.java
deleted file mode 100644
index 232da67..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Model.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.preservation;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.VPG;
-import org.eclipse.rephraserengine.core.vpg.VPGEdge;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-
-/**
- * A mutable, in-memory copy of the edges in part of a program graph.
- *
- * @author Jeff Overbey
- * 
- * @since 3.0
- */
-final class Model<A, T, R extends IVPGNode<T>>
-{
-    private String name;
-    private EclipseVPG<A,T,R> vpg;
-    private List<String> files;
-    private Set<String> filesWithNoEdges;
-    private Collection<VPGEdge<A,T,R>> edges;
-
-    public Model(String name, IProgressMonitor pm, int ticks, EclipseVPG<A,T,R> vpg, String... filenames)
-    {
-        this(name, pm, ticks, vpg, Arrays.asList(filenames));
-    }
-
-    public Model(String name, IProgressMonitor pm, int ticks, EclipseVPG<A,T,R> vpg, List<String> filenames)
-    {
-        this.name = name;
-        this.vpg = vpg;
-
-        pm.subTask(Messages.Model_PreparingToCompute + name);
-        this.files = vpg.sortFilesAccordingToDependencies(new ArrayList<String>(filenames)); //, new NullProgressMonitor());
-
-        this.filesWithNoEdges = new TreeSet<String>();
-
-        pm = new SubProgressMonitor(pm, ticks, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
-        pm.beginTask(Messages.bind(Messages.Model_Computing, name), files.size());
-        this.edges = new ArrayList<VPGEdge<A,T,R>>();
-        for (String thisFile : files)
-        {
-            pm.subTask(VPG.lastSegmentOfFilename(thisFile));
-            addEdges(thisFile, pm);
-            pm.worked(1);
-        }
-        pm.done();
-    }
-
-    private void addEdges(String filename, IProgressMonitor pm)
-    {
-        int count = 0;
-
-        for (VPGEdge<A,T,R> edge : vpg.getAllEdgesFor(filename))
-        {
-            edges.add(edge);
-            count++;
-        }
-
-        if (count == 0)
-            filesWithNoEdges.add(filename);
-    }
-
-    List<String> getFiles()
-    {
-        return files;
-    }
-
-    void inormalize(ReplacementList replacements, IProgressMonitor pm)
-    {
-        pm = new SubProgressMonitor(pm, 0, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
-        pm.beginTask(Messages.bind(Messages.Model_Normalizing, name), edges.size());
-
-        // Use a set to eliminate duplicates
-        Set<VPGEdge<A,T,R>> newEdges = createNewEdgeSet();
-        
-        for (VPGEdge<A,T,R> e : edges)
-        {
-            newEdges.add(e.projectInitial(replacements, vpg));
-            pm.worked(1);
-        }
-        
-        edges = newEdges;
-        
-        pm.done();
-    }
-
-    void dnormalize(ReplacementList replacements, IProgressMonitor pm)
-    {
-        pm = new SubProgressMonitor(pm, 0, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
-        pm.beginTask(Messages.bind(Messages.Model_Normalizing, name), edges.size());
-
-        // Use a set to eliminate duplicates
-        Set<VPGEdge<A,T,R>> newEdges = createNewEdgeSet();
-        
-        for (VPGEdge<A,T,R> e : edges)
-        {
-            newEdges.add(e.projectFinal(replacements, vpg));
-            pm.worked(1);
-        }
-        
-        edges = newEdges;
-
-        pm.done();
-    }
-
-    protected Set<VPGEdge<A,T,R>> createNewEdgeSet()
-    {
-        return new TreeSet<VPGEdge<A,T,R>>();
-    }
-
-    ModelDiff checkPreservation(Model<A,T,R> that, PreservationRuleset ruleset, IProgressMonitor pm)
-    {
-        pm = new SubProgressMonitor(pm, 0, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
-        pm.beginTask(
-            Messages.bind(Messages.Model_Differencing, this.name, that.name),
-            this.edges.size() + that.edges.size());
-
-        ModelDiff diff = new ModelDiff();
-
-        int type = 0;
-        PreservationAnalyzer<A,T,R> analyzer = new MergePreservationAnalyzer<A,T,R>(this.edges, that.edges, ruleset);
-        while (analyzer.hasEdgesRemaining())
-        {
-            int edgesRemainingBefore = analyzer.countEdgesRemaining();
-            
-            for (VPGEdge.Classification classification : VPGEdge.Classification.values())
-                analyzer.checkPreservation(type, classification, diff);
-            analyzer.ensureNoEdgesRemaining(type);
-            type++;
-            
-            pm.worked(analyzer.countEdgesRemaining() - edgesRemainingBefore);
-        }
-
-        pm.done();
-        return diff;
-    }
-    
-    @Override public String toString()
-    {
-        if (edges.size() > 100)
-            return "(Model contains more than 100 edges)"; //$NON-NLS-1$
-        else
-            return toString(null, null, null);
-    }
-
-    public String toString(String filename, String fileContents, ArrayList<Integer> lineMap)
-    {
-        StringBuilder sb = new StringBuilder();
-
-        sb.append(edges.size());
-        sb.append(" edges\n\n"); //$NON-NLS-1$
-
-        Set<Integer> edgeTypes = new TreeSet<Integer>();
-        for (VPGEdge<?,?,?> entry : edges)
-            edgeTypes.add(entry.getType());
-
-        for (int edgeType : edgeTypes)
-        {
-            for (VPGEdge<?,?,?> entry : edges)
-            {
-                if (entry.getType() == edgeType)
-                {
-                    if (entry.getSource() == null)
-                    {
-                        sb.append("(null"); //$NON-NLS-1$
-                    }
-                    else
-                    {
-                        if (!entry.getSource().getFilename().equals(filename))
-                        {
-                            sb.append(entry.getSource().getFilename());
-                            sb.append(':');
-                        }
-                        sb.append('[');
-                        sb.append(String.format("%5d", entry.getSource().getOffset())); //$NON-NLS-1$
-                        sb.append(", "); //$NON-NLS-1$
-                        sb.append(String.format("%5d", entry.getSource().getEndOffset())); //$NON-NLS-1$
-                    }
-                    sb.append(")  ===("); //$NON-NLS-1$
-                    sb.append(entry.getType());
-                    sb.append(")==>  "); //$NON-NLS-1$
-                    if (entry.getSink() == null)
-                    {
-                        sb.append("(null"); //$NON-NLS-1$
-                    }
-                    else
-                    {
-                        if (!entry.getSink().getFilename().equals(filename))
-                        {
-                            sb.append(entry.getSink().getFilename());
-                            sb.append(':');
-                        }
-                        sb.append('[');
-                        sb.append(String.format("%5d", entry.getSink().getOffset())); //$NON-NLS-1$
-                        sb.append(", "); //$NON-NLS-1$
-                        sb.append(String.format("%5d", entry.getSink().getEndOffset())); //$NON-NLS-1$
-                    }
-                    sb.append(")"); //$NON-NLS-1$
-
-                    if (fileContents != null)
-                    {
-                        sb.append("           ["); //$NON-NLS-1$
-                        if (entry.getSource() == null || !entry.getSource().getFilename().equals(filename))
-                            sb.append('?');
-                        else if (entry.getSource().getOffset() >= 0 && entry.getSource().getEndOffset() >= entry.getSource().getOffset())
-                            sb.append(extractText(fileContents, entry.getSource()));
-                        sb.append("]"); //$NON-NLS-1$
-                        if (lineMap != null)
-                        {
-                            sb.append(" (Line "); //$NON-NLS-1$
-                            sb.append(getLine(entry.getSource().getOffset(), lineMap));
-                            sb.append(")"); //$NON-NLS-1$
-                        }
-                        sb.append("  ===("); //$NON-NLS-1$
-                        sb.append(vpg.describeEdgeType(entry.getType()));
-                        sb.append(")==>  ["); //$NON-NLS-1$
-                        if (entry.getSink() == null || !entry.getSink().getFilename().equals(filename))
-                            sb.append('?');
-                        else if (entry.getSink().getOffset() >= 0 && entry.getSink().getEndOffset() >= entry.getSink().getOffset())
-                            sb.append(extractText(fileContents, entry.getSink()));
-                        sb.append("]"); //$NON-NLS-1$
-                        if (lineMap != null)
-                        {
-                            sb.append(" (Line "); //$NON-NLS-1$
-                            sb.append(getLine(entry.getSink().getOffset(), lineMap));
-                            sb.append(")"); //$NON-NLS-1$
-                        }
-                    }
-
-                    sb.append('\n');
-                }
-            }
-        }
-        return sb.toString();
-    }
-
-    private String extractText(String fileContents, IVPGNode<?> tokenRef)
-    {
-        String result = fileContents.substring(tokenRef.getOffset(), tokenRef.getEndOffset());
-        result = result.replace("\t", "\\t"); //$NON-NLS-1$ //$NON-NLS-2$
-        result = result.replace("\r", "\\r"); //$NON-NLS-1$ //$NON-NLS-2$
-        result = result.replace("\n", "\\n"); //$NON-NLS-1$ //$NON-NLS-2$
-        if (result.length() > 17)
-            result = result.substring(0, 18) + "..."; //$NON-NLS-1$
-        return result;
-    }
-
-    private int getLine(int offset, ArrayList<Integer> lineMap)
-    {
-        for (int i = 0; i < lineMap.size(); i++)
-            if (offset < lineMap.get(i))
-                return i+1;
-        return lineMap.size();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ModelDiff.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ModelDiff.java
deleted file mode 100644
index c6446ba..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ModelDiff.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.preservation;
-
-import java.util.HashSet;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.rephraserengine.core.preservation.ModelDiff.ModelDiffProcessor;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.VPGEdge;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-
-/**
- * An object representing the differences between two program graphs.
- * <p>
- * Program graphs are represented as {@link Model} objects.  Differences are described in terms of
- * (1) added edges, (2) deleted edges, and (3) edges whose sink endpoints changed.  The list of
- * changes is traversed via an Internal Iterator using {@link #processUsing(ModelDiffProcessor)}.
- * 
- * @author Jeff Overbey
- */
-@SuppressWarnings("unused")
-final class ModelDiff
-{
-    public static abstract class ModelDiffProcessor
-    {
-        public abstract void processEdgeAdded(EdgeAdded addition);
-        public abstract void processEdgeDeleted(EdgeDeleted deletion);
-        public abstract void processAllEdgesDeleted(Set<String> filenames);
-        public abstract void processEdgeSinkChanged(EdgeSinkChanged change);
-    }
-
-    protected static abstract class DiffEntry
-    {
-        public final VPGEdge<?,?,?> edge;
-
-        public DiffEntry(VPGEdge<?,?,?> edge)
-        {
-            this.edge = edge.getOriginalEdge();
-        }
-
-        protected abstract void accept(ModelDiffProcessor processor);
-
-        public IFile getFileContainingSourceRegion()
-        {
-            return EclipseVPG.getIFileForFilename(edge.getSource().getFilename());
-        }
-
-        public IRegion getSourceRegion()
-        {
-            return new Region(edge.getSource().getOffset(), edge.getSource().getLength());
-        }
-
-        public IFile getFileContainingSinkRegion()
-        {
-            return EclipseVPG.getIFileForFilename(edge.getSink().getFilename());
-        }
-
-        public IRegion getSinkRegion()
-        {
-            return new Region(edge.getSink().getOffset(), edge.getSink().getLength());
-        }
-
-        @Override public boolean equals(Object other)
-        {
-            if (other == null || !other.getClass().equals(this.getClass())) return false;
-
-            DiffEntry that = (DiffEntry)other;
-            return this.edge.equals(that.edge);
-        }
-
-        @Override public int hashCode()
-        {
-            return edge.hashCode();
-        }
-
-        @Override public String toString()
-        {
-            return edge.toString();
-        }
-    }
-
-    public static final class EdgeAdded extends DiffEntry
-    {
-        public EdgeAdded(VPGEdge<?,?,?> edge)
-        {
-            super(edge);
-        }
-
-        @Override protected void accept(ModelDiffProcessor processor)
-        {
-            processor.processEdgeAdded(this);
-        }
-    }
-
-    public static final class EdgeDeleted extends DiffEntry
-    {
-        public EdgeDeleted(VPGEdge<?,?,?> edge)
-        {
-            super(edge);
-        }
-
-        @Override protected void accept(ModelDiffProcessor processor)
-        {
-            processor.processEdgeDeleted(this);
-        }
-    }
-
-    public static final class EdgeSinkChanged extends DiffEntry
-    {
-        public final VPGEdge<?,?,?> newEdge;
-
-        public EdgeSinkChanged(VPGEdge<?,?,?> edge, VPGEdge<?,?,?> newEdge)
-        {
-            super(edge);
-            this.newEdge = newEdge.getOriginalEdge();
-        }
-
-        @Override protected void accept(ModelDiffProcessor processor)
-        {
-            processor.processEdgeSinkChanged(this);
-        }
-
-        public IFile getFileContainingNewSinkRegion()
-        {
-            return EclipseVPG.getIFileForFilename(newEdge.getSink().getFilename());
-        }
-
-        public IRegion getNewSinkRegion()
-        {
-            IVPGNode<?> newSink = newEdge.getSink();
-            return new Region(newSink.getOffset(), newSink.getLength());
-        }
-
-        @Override public String toString()
-        {
-            return
-                edge.toString() +
-                " will become " + //$NON-NLS-1$
-                newEdge.toString();
-        }
-
-        @Override public boolean equals(Object other)
-        {
-            return super.equals(other)
-                && this.newEdge.equals(((EdgeSinkChanged)other).newEdge);
-        }
-
-        @Override public int hashCode()
-        {
-            return super.hashCode() + 17 * newEdge.hashCode();
-        }
-    }
-
-    private Set<String> filesWithAllEdgesDeleted = new TreeSet<String>();
-    private Set<DiffEntry> differences = new HashSet<DiffEntry>();
-
-    void recordFileWithNoEdges(String filename)
-    {
-        filesWithAllEdgesDeleted.add(filename);
-    }
-    
-    void add(DiffEntry entry)
-    {
-        differences.add(entry);
-    }
-
-//    public Iterator<DiffEntry> iterator()
-//    {
-//        return differences.iterator();
-//    }
-
-    public void processUsing(ModelDiffProcessor processor)
-    {
-        if (!filesWithAllEdgesDeleted.isEmpty())
-            processor.processAllEdgesDeleted(filesWithAllEdgesDeleted);
-        
-        for (DiffEntry entry : differences)
-            entry.accept(processor);
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PostTransformationContext.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PostTransformationContext.java
deleted file mode 100644
index ef7fcb2..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PostTransformationContext.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.preservation;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.ltk.core.refactoring.FileStatusContext;
-import org.eclipse.ltk.core.refactoring.RefactoringStatusContext;
-
-/**
- * A {@link RefactoringStatusContext} that is similar to a {@link FileStatusContext} except it
- * represents a position in a file <i>after</i> it has been modified by a refactoring.
- * <p>
- * The org.eclipse.rephraserengine.ui.vpg plug-in registers a viewer for this type of object; it
- * displays the modified contents of the file and highlights the indicated region.
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-public class PostTransformationContext extends RefactoringStatusContext
-{
-    protected IFile file;
-    protected String newContents;
-    protected IRegion region;
-
-    public PostTransformationContext(IFile file, String newContents, IRegion region)
-    {
-        this.file = file;
-        this.newContents = newContents;
-        this.region = region;
-    }
-
-    public IFile getFile()
-    {
-        return file;
-    }
-
-    public String getFileContents()
-    {
-        return newContents == null ? "" : newContents; //$NON-NLS-1$
-    }
-
-    public IRegion getTextRegion()
-    {
-        return region;
-    }
-
-    @Override
-    public Object getCorrespondingElement()
-    {
-        return null;
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationAnalysis.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationAnalysis.java
deleted file mode 100644
index e2f6441..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationAnalysis.java
+++ /dev/null
@@ -1,483 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.preservation;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.PrintStream;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ltk.core.refactoring.FileStatusContext;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.rephraserengine.core.preservation.ModelDiff.EdgeAdded;
-import org.eclipse.rephraserengine.core.preservation.ModelDiff.EdgeDeleted;
-import org.eclipse.rephraserengine.core.preservation.ModelDiff.EdgeSinkChanged;
-import org.eclipse.rephraserengine.core.preservation.ModelDiff.ModelDiffProcessor;
-import org.eclipse.rephraserengine.core.util.OffsetLength;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-
-/**
- * Checks for preservation of semantic edges in a program graph modulo a sequence of primitive
- * transformations.
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-@SuppressWarnings({"unchecked", "rawtypes"})
-public final class PreservationAnalysis
-{
-    private static final String SEPARATOR = ","; //$NON-NLS-1$
-    
-    private IAdapterManager adapterManager;
-
-    private EclipseVPG vpg;
-    //private IProgressMonitor progressMonitor;
-
-    private Model initialModel;
-    private ReplacementList replacements;
-    private PreservationRuleset ruleset;
-    
-    private String fields;
-    private String times;
-
-    /** @since 3.0 */
-    public PreservationAnalysis(
-        EclipseVPG vpg,
-        IProgressMonitor progressMonitor, int ticks,
-        IFile file,
-        PreservationRuleset ruleset)
-    {
-        this(vpg, progressMonitor, ticks, EclipseVPG.getFilenameForIFile(file), ruleset);
-    }
-
-    /** @since 3.0 */
-    public PreservationAnalysis(
-        EclipseVPG vpg,
-        IProgressMonitor progressMonitor, int ticks,
-        Collection<IFile> files,
-        PreservationRuleset ruleset)
-    {
-        this(vpg, progressMonitor, ticks, getFilenames(files), ruleset);
-    }
-
-    /** @since 3.0 */
-    public PreservationAnalysis(
-        EclipseVPG vpg,
-        IProgressMonitor progressMonitor, int ticks,
-        String filename,
-        PreservationRuleset ruleset)
-    {
-        this(vpg, progressMonitor, ticks, Collections.singletonList(filename), ruleset);
-    }
-
-    /** @since 3.0 */
-    public PreservationAnalysis(
-        EclipseVPG vpg,
-        IProgressMonitor progressMonitor, int ticks,
-        List<String> filenames,
-        PreservationRuleset ruleset)
-    {
-        this.adapterManager = Platform.getAdapterManager();
-        this.vpg = vpg;
-        //this.progressMonitor = progressMonitor;
-
-        this.replacements = new ReplacementList();
-        this.ruleset = ruleset;
-
-        this.fields = "Filenames"; //$NON-NLS-1$
-        this.times = filenames.toString();
-
-        progressMonitor.subTask(Messages.PreservationAnalysis_EnteringHypotheticalMode);
-        long start = System.currentTimeMillis();
-        ensureDatabaseIsInHypotheticalMode();
-        this.fields += SEPARATOR + "Hypothetical"; //$NON-NLS-1$
-        this.times += SEPARATOR + (System.currentTimeMillis()-start);
-
-        start = System.currentTimeMillis();
-        this.initialModel = new Model("initial model", progressMonitor, ticks, vpg, filenames); //$NON-NLS-1$
-        this.fields += SEPARATOR + "Init Model"; //$NON-NLS-1$
-        this.times += SEPARATOR + (System.currentTimeMillis()-start);
-    }
-
-    private static List<String> getFilenames(Collection<IFile> files)
-    {
-        List<String> result = new ArrayList<String>(files.size());
-        for (IFile file : files)
-            result.add(EclipseVPG.getFilenameForIFile(file));
-        return result;
-    }
-
-    private void ensureDatabaseIsInHypotheticalMode() throws Error
-    {
-        if (!vpg.isInHypotheticalMode())
-        {
-            try
-            {
-                vpg.enterHypotheticalMode();
-            }
-            catch (IOException e)
-            {
-                throw new Error(e);
-            }
-        }
-    }
-
-    public void markAlpha(IFile file, Object node)
-    {
-        String filename = EclipseVPG.getFilenameForIFile(file);
-        OffsetLength offsetLength = (OffsetLength)adapterManager.getAdapter(node, OffsetLength.class);
-        if (offsetLength == null)
-            throw new Error("Unable to get OffsetLength adapter for " + node.getClass().getName()); //$NON-NLS-1$
-
-        Replacement alpha = new Replacement(
-            filename,
-            offsetLength.getOffset(),
-            0,
-            offsetLength.getLength());
-
-        replacements.add(alpha);
-        adapterManager.getAdapter(node, ResetOffsetLength.class);
-    }
-
-    public void markEpsilon(IFile file, Object node)
-    {
-        String filename = EclipseVPG.getFilenameForIFile(file);
-        OffsetLength offsetLength = (OffsetLength)adapterManager.getAdapter(node, OffsetLength.class);
-        if (offsetLength == null)
-            throw new Error("Unable to get OffsetLength adapter for " + node.getClass().getName()); //$NON-NLS-1$
-
-        Replacement epsilon = new Replacement(
-            filename,
-            offsetLength.getOffset(),
-            offsetLength.getLength(),
-            0);
-
-        replacements.add(epsilon);
-    }
-
-    public void markRho(IFile file, Object node, int oldLength, int newLength)
-    {
-        String filename = EclipseVPG.getFilenameForIFile(file);
-        OffsetLength offsetLength = (OffsetLength)adapterManager.getAdapter(node, OffsetLength.class);
-        if (offsetLength == null)
-            throw new Error("Unable to get OffsetLength adapter for " + node.getClass().getName()); //$NON-NLS-1$
-
-        Replacement rho = new Replacement(
-            filename,
-            offsetLength.getOffset(),
-            oldLength,
-            newLength);
-
-        replacements.add(rho);
-    }
-
-//    /**
-//     * @since 3.0
-//     */
-//    public void markMu(IFile file, Object oldNode, Object newNode)
-//    {
-//        String filename = EclipseVPG.getFilenameForIFile(file);
-//
-//        OffsetLength oldOffsetLength = (OffsetLength)adapterManager.getAdapter(oldNode, OffsetLength.class);
-//        if (oldOffsetLength == null)
-//            throw new Error("Unable to get OffsetLength adapter for " + oldNode.getClass().getName()); //$NON-NLS-1$
-//
-//        OffsetLength newOffsetLength = (OffsetLength)adapterManager.getAdapter(newNode, OffsetLength.class);
-//        if (newOffsetLength == null)
-//            throw new Error("Unable to get OffsetLength adapter for " + newNode.getClass().getName()); //$NON-NLS-1$
-//
-//        Mu mu = PrimitiveOp.mu(
-//            filename,
-//            oldOffsetLength,
-//            newOffsetLength);
-//
-//        replacements.add(mu);
-//    }
-//
-//    /**
-//     * @since 3.0
-//     */
-//    public void markMu(IFile file, OffsetLength oldOffsetLength, OffsetLength newOffsetLength)
-//    {
-//        String filename = EclipseVPG.getFilenameForIFile(file);
-//
-//        Mu mu = PrimitiveOp.mu(
-//            filename,
-//            oldOffsetLength,
-//            newOffsetLength);
-//
-//        replacements.add(mu);
-//    }
-
-    @Override public String toString()
-    {
-        return replacements.toString();
-    }
-
-    /** @since 3.0 */
-    public void logPostTransformTime(long milliseconds)
-    {
-        this.fields += SEPARATOR + "PostTransform"; //$NON-NLS-1$
-        this.times += SEPARATOR + milliseconds;
-    }
-
-    public void checkForPreservation(
-        RefactoringStatus status,
-        IProgressMonitor progressMonitor, int ticks)
-    {
-        printDebug("INITIAL MODEL", initialModel); //$NON-NLS-1$
-        printDebug("NORMALIZING RELATIVE TO", replacements); //$NON-NLS-1$
-
-        long start = System.currentTimeMillis();
-        initialModel.inormalize(replacements, progressMonitor);
-        this.fields += SEPARATOR + "I-Normalize"; //$NON-NLS-1$
-        this.times += SEPARATOR + (System.currentTimeMillis()-start);
-        printDebug("NORMALIZED INITIAL MODEL", initialModel); //$NON-NLS-1$
-
-        printDebug("File ordering:", initialModel.getFiles()); //$NON-NLS-1$
-        start = System.currentTimeMillis();
-        Model derivativeModel = new Model(
-            "derivative model", //$NON-NLS-1$
-            progressMonitor, ticks+3,
-            vpg,
-            initialModel.getFiles());
-        this.fields += SEPARATOR + "D-Model"; //$NON-NLS-1$
-        this.times += SEPARATOR + (System.currentTimeMillis()-start);
-        printDebug("DERIVATIVE MODEL", derivativeModel); //$NON-NLS-1$
-
-        start = System.currentTimeMillis();
-        derivativeModel.dnormalize(replacements, progressMonitor);
-        this.fields += SEPARATOR + "D-Normalize"; //$NON-NLS-1$
-        this.times += SEPARATOR + (System.currentTimeMillis()-start);
-        printDebug("NORMALIZED DERIVATIVE MODEL", derivativeModel); //$NON-NLS-1$
-
-        start = System.currentTimeMillis();
-        ModelDiff diff = initialModel.checkPreservation(derivativeModel, ruleset, progressMonitor);
-        this.fields += SEPARATOR + "Preservation"; //$NON-NLS-1$
-        this.times += SEPARATOR + (System.currentTimeMillis()-start);
-
-        start = System.currentTimeMillis();
-        describeDifferences(status, diff);
-        this.fields += SEPARATOR + "Desc Diff"; //$NON-NLS-1$
-        this.times += SEPARATOR + (System.currentTimeMillis()-start);
-
-        start = System.currentTimeMillis();
-        leaveHypotheticalMode(progressMonitor);
-        this.fields += SEPARATOR + "Leave Hypoth"; //$NON-NLS-1$
-        this.times += SEPARATOR + (System.currentTimeMillis()-start);
-        
-        logTimes();
-    }
-
-    private void logTimes()
-    {
-        try
-        {
-            FileWriter output = new FileWriter(
-                System.getProperty("user.home") + File.separator + //$NON-NLS-1$
-                "Desktop" + File.separator + //$NON-NLS-1$
-                "times.csv", true); //$NON-NLS-1$
-            output.write(fields + "\n"); //$NON-NLS-1$
-            output.write(times + "\n"); //$NON-NLS-1$
-            output.close();
-        }
-        catch (IOException e)
-        {
-            e.printStackTrace();
-        }
-    }
-
-    private void leaveHypotheticalMode(IProgressMonitor progressMonitor) throws Error
-    {
-        try
-        {
-            progressMonitor.subTask(Messages.PreservationAnalysis_ExitingHypotheticalMode);
-            vpg.leaveHypotheticalMode();
-        }
-        catch (IOException e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    private void printDebug(String string, Object object)
-    {
-        System.out.println();
-        System.out.println();
-        System.out.print(string); System.out.println(":"); //$NON-NLS-1$
-        System.out.println(object.toString());
-    }
-
-    private void describeDifferences(final RefactoringStatus status, ModelDiff diff)
-    {
-        final HashMap<IFile, String> modifiedSourceCode = new HashMap<IFile, String>();
-
-        diff.processUsing(new ModelDiffProcessor()
-        {
-            @Override
-            public void processAllEdgesDeleted(Set<String> filesWithAllEdgesDeleted)
-            {
-                String msg = Messages.PreservationAnalysis_TheFollowingFilesWillNotCompile;
-                status.addError(msg);
-
-                for (String filename : filesWithAllEdgesDeleted)
-                    status.addError("    " + filename, //$NON-NLS-1$
-                        new FileStatusContext(EclipseVPG.getIFileForFilename(filename), null));
-            }
-            
-            private String getCode(IFile file, HashMap<IFile, String> modifiedSourceCode)
-            {
-                if (file == null)
-                    return null;
-                else if (modifiedSourceCode.containsKey(file))
-                    return modifiedSourceCode.get(file);
-                else
-                {
-                    Object ast = vpg.acquireTransientAST(EclipseVPG.getFilenameForIFile(file));
-                    if (ast == null) return null;
-
-                    String code = vpg.getSourceCodeFromAST(ast);
-                    if (code == null) return null;
-
-                    modifiedSourceCode.put(file, code);
-                    return code;
-                }
-            }
-
-            @Override
-            public void processEdgeAdded(EdgeAdded addition)
-            {
-                String msg =
-                    Messages.bind(
-                        Messages.PreservationAnalysis_TransformationWillIntroduce,
-                        vpg.describeEdgeType(addition.edge.getType()).toLowerCase(),
-                        addition);
-                status.addError(msg);
-
-                status.addError(Messages.PreservationAnalysis_FromHere,
-                    new PostTransformationContext(
-                        addition.getFileContainingSourceRegion(),
-                        getCode(addition.getFileContainingSourceRegion(), modifiedSourceCode),
-                        addition.getSourceRegion()));
-
-                status.addError(Messages.PreservationAnalysis_ToHere,
-                    new PostTransformationContext(
-                        addition.getFileContainingSinkRegion(),
-                        getCode(addition.getFileContainingSinkRegion(), modifiedSourceCode),
-                        addition.getSinkRegion()));
-            }
-
-            @Override
-            public void processEdgeDeleted(EdgeDeleted deletion)
-            {
-                String msg =
-                    Messages.bind(
-                        Messages.PreservationAnalysis_TransformationWillEliminate,
-                        vpg.describeEdgeType(deletion.edge.getType()).toLowerCase(),
-                        deletion);
-                status.addError(msg);
-
-                status.addError(Messages.PreservationAnalysis_FromHere,
-                    new FileStatusContext(
-                        deletion.getFileContainingSourceRegion(),
-                        deletion.getSourceRegion()));
-
-                status.addError(Messages.PreservationAnalysis_ToHere,
-                    new FileStatusContext(
-                        deletion.getFileContainingSinkRegion(),
-                        deletion.getSinkRegion()));
-            }
-
-            @Override
-            public void processEdgeSinkChanged(EdgeSinkChanged change)
-            {
-                String msg =
-                    Messages.bind(
-                        Messages.PreservationAnalysis_TransformationWillChange,
-                        vpg.describeEdgeType(change.edge.getType()).toLowerCase(),
-                        change);
-                status.addError(msg);
-
-                status.addError(
-                    Messages.bind(
-                        Messages.PreservationAnalysis_EdgeWillChange,
-                        vpg.describeEdgeType(change.edge.getType()).toLowerCase()),
-                    new PostTransformationContext(
-                        change.getFileContainingSourceRegion(),
-                        getCode(change.getFileContainingSourceRegion(), modifiedSourceCode),
-                        change.getSourceRegion()));
-
-                status.addError(Messages.PreservationAnalysis_ToHere,
-                    new PostTransformationContext(
-                        change.getFileContainingSinkRegion(),
-                        getCode(change.getFileContainingSinkRegion(), modifiedSourceCode),
-                        change.getSinkRegion()));
-
-                status.addError(Messages.PreservationAnalysis_WillPointHereInstead,
-                    new PostTransformationContext(
-                        change.getFileContainingNewSinkRegion(),
-                        getCode(change.getFileContainingNewSinkRegion(), modifiedSourceCode),
-                        change.getNewSinkRegion()));
-            }
-        });
-    }
-    
-    /** @since 3.0 */
-    public static boolean printModelOn(PrintStream ps, IFile file, EclipseVPG<?,?,?> vpg) throws UnsupportedEncodingException, IOException, CoreException
-    {
-        String filename = EclipseVPG.getFilenameForIFile(file);
-        if (filename == null) return false;
-        
-        ArrayList<Integer> lineMap = new ArrayList<Integer>();
-        String fileContents = readStream(lineMap,
-            new BufferedReader(new InputStreamReader(file.getContents(true), file.getCharset())));
-        ps.println(filename);
-        ps.println();
-        Model model = new Model("edge model", new NullProgressMonitor(), 0, vpg, filename); //$NON-NLS-1$
-        ps.print(model.toString(filename, fileContents, lineMap));
-        return true;
-    }
-
-    private static String readStream(ArrayList<Integer> lineMap, Reader in) throws IOException
-    {
-        StringBuffer sb = new StringBuffer(4096);
-        for (int offset = 0, ch = in.read(); ch >= 0; ch = in.read())
-        {
-            sb.append((char)ch);
-            offset++;
-
-            if (ch == '\n' && lineMap != null)
-            {
-                //System.out.println("Line " + (lineMap.size()+1) + " starts at offset " + offset);
-                lineMap.add(offset);
-            }
-        }
-        in.close();
-        return sb.toString();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationAnalyzer.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationAnalyzer.java
deleted file mode 100644
index 914a16d..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationAnalyzer.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.preservation;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.rephraserengine.core.preservation.ModelDiff.EdgeAdded;
-import org.eclipse.rephraserengine.core.preservation.ModelDiff.EdgeDeleted;
-import org.eclipse.rephraserengine.core.preservation.ModelDiff.EdgeSinkChanged;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.VPGEdge;
-import org.eclipse.rephraserengine.core.vpg.VPGEdge.Classification;
-
-/**
- * Method object implementing the preservation analysis algorithm.
- * <p>
- * The constructor is given two sorted lists of edges. The positions in the lists are remembered
- * between calls to {@link #checkPreservation(int, Classification, ModelDiff)}, so a
- * {@link PreservationAnalyzer} can be restarted with a new edge classification or type where it
- * left off.
- * <p>
- * See usage in
- * {@link Model#checkPreservation(Model, PreservationRuleset, org.eclipse.core.runtime.IProgressMonitor)}.
- * 
- * @author Jeff Overbey
- */
-abstract class PreservationAnalyzer<A, T, R extends IVPGNode<T>> extends PreservationRuleset.Processor
-{
-    @SuppressWarnings("serial")
-    private static abstract class UnexpectedEdgeException extends Error
-    {
-        private VPGEdge<?,?,?> edge;
-
-        public UnexpectedEdgeException(VPGEdge<?,?,?> edge)
-        {
-            this.edge = edge;
-        }
-        
-        @SuppressWarnings("unchecked")
-        public <A, T, R extends IVPGNode<T>> VPGEdge<A,T,R> getEdge()
-        {
-            return (VPGEdge<A,T,R>)edge;
-        }
-    }
-    
-    @SuppressWarnings("serial")
-    private static class UnexpectedInitialEdge extends UnexpectedEdgeException
-    {
-        public UnexpectedInitialEdge(VPGEdge<?,?,?> edge) { super(edge); }
-    }
-    
-    @SuppressWarnings("serial")
-    private static class UnexpectedFinalEdge extends UnexpectedEdgeException
-    {
-        public UnexpectedFinalEdge(VPGEdge<?,?,?> edge) { super(edge); }
-    }
-    
-    private final Iterable<VPGEdge<A,T,R>> initialEdges;
-    private final Iterable<VPGEdge<A,T,R>> finalEdges;
-    private final PreservationRuleset ruleset;
-    
-    private final Iterator<VPGEdge<A,T,R>> initialIterator;
-    private final Iterator<VPGEdge<A,T,R>> finalIterator;
-    private VPGEdge<A,T,R> initialEdge;
-    private VPGEdge<A,T,R> finalEdge;
-    
-    private int targetType;
-    private Classification targetClassification;
-    
-    public PreservationAnalyzer(
-        Collection<VPGEdge<A,T,R>> initialEdges,
-        Collection<VPGEdge<A,T,R>> finalEdges,
-        PreservationRuleset ruleset)
-    {
-        this.initialEdges = initialEdges;
-        this.finalEdges = finalEdges;
-        this.ruleset = ruleset;
-        this.initialIterator = initialEdges.iterator();
-        this.finalIterator = finalEdges.iterator();
-        this.initialEdge = initialIterator.hasNext() ? initialIterator.next() : null;
-        this.finalEdge = finalIterator.hasNext() ? finalIterator.next() : null;
-    }
-
-    public void checkPreservation(int targetType, Classification targetClassification, ModelDiff diff) throws UnexpectedEdgeException
-    {
-        this.targetType = targetType;
-        this.targetClassification = targetClassification;
-        
-        while (finalEdge() != null || initialEdge() != null)
-        {
-            try
-            {
-                ruleset.invokeCallback(targetType, targetClassification, this);
-            }
-            catch (UnexpectedInitialEdge exception)
-            {
-                VPGEdge<A,T,R> entry = exception.getEdge();
-                System.err.println("Unexpected initial edge " + entry); //$NON-NLS-1$
-                VPGEdge<A,T,R> otherEntry = findEdgeWithNewSink(entry);
-                if (otherEntry != null)
-                {
-                    //that.edges.remove(otherEntry);
-                    diff.add(new EdgeSinkChanged(entry, otherEntry));
-                }
-                else
-                {
-//                    if (that.filesWithNoEdges.contains(entry.getSource().getFilename()))
-//                        diff.recordFileWithNoEdges(entry.getSource().getFilename());
-//                    else if (that.filesWithNoEdges.contains(entry.getSink().getFilename()))
-//                        diff.recordFileWithNoEdges(entry.getSink().getFilename());
-//                    else
-                        diff.add(new EdgeDeleted(entry));
-                }
-            }
-            catch (UnexpectedFinalEdge exception)
-            {
-                VPGEdge<A,T,R> edge = exception.getEdge();
-                System.err.println("Unexpected final edge " + edge); //$NON-NLS-1$
-                diff.add(new EdgeAdded(edge));
-            }
-        }
-    }
-    
-    private VPGEdge<A,T,R> finalEdge(){ return getEdge(finalEdge); }
-
-    private VPGEdge<A,T,R> initialEdge() { return getEdge(initialEdge); }
-    
-    private VPGEdge<A,T,R> getEdge(VPGEdge<A,T,R> edge)
-    {
-        if (edge == null) return null;
-        if (edge.getType() < targetType) throw new IllegalStateException("INTERNAL ERROR: Type " + targetType + " processing terminated prematurely"); //$NON-NLS-1$ //$NON-NLS-2$
-        if (edge.getType() != targetType) return null;
-        if (!edge.getClassification().equals(targetClassification)) return null;
-        return edge;
-    }
-    
-    @Override void handleIgnore()
-    {
-        if (finalEdge() != null) finalEdge = finalIterator.hasNext() ? finalIterator.next() : null;
-        if (initialEdge() != null) initialEdge = initialIterator.hasNext() ? initialIterator.next() : null;
-    }
-
-    @Override void handlePreserveAll()
-    {
-        VPGEdge<A,T,R> finalEdge = finalEdge();
-        VPGEdge<A,T,R> initialEdge = initialEdge();
-        
-        if (finalEdge != null && initialEdge == null)
-        {
-            this.finalEdge = finalIterator.hasNext() ? finalIterator.next() : null;
-            throw new UnexpectedFinalEdge(finalEdge);
-        }
-        else if (finalEdge == null && initialEdge != null)
-        {
-            this.initialEdge = initialIterator.hasNext() ? initialIterator.next() : null;
-            throw new UnexpectedInitialEdge(initialEdge);
-        }
-        else if (finalEdge != null && initialEdge != null)
-        {
-            int comparison = finalEdge.compareTo(initialEdge);
-            if (comparison < 0)
-            {
-                this.finalEdge = finalIterator.hasNext() ? finalIterator.next() : null;
-                throw new UnexpectedFinalEdge(finalEdge);
-            }
-            else if (comparison == 0)
-            {
-                this.initialEdge = initialIterator.hasNext() ? initialIterator.next() : null;
-                this.finalEdge = finalIterator.hasNext() ? finalIterator.next() : null;
-            }
-            else // (comparison > 0)
-            {
-                this.initialEdge = initialIterator.hasNext() ? initialIterator.next() : null;
-                throw new UnexpectedInitialEdge(finalEdge);
-            }
-        }
-    }
-    
-    @Override void handlePreserveSubset()
-    {
-        VPGEdge<A,T,R> finalEdge = finalEdge();
-        VPGEdge<A,T,R> initialEdge = initialEdge();
-        
-        if (finalEdge != null && initialEdge == null)
-        {
-            this.finalEdge = finalIterator.hasNext() ? finalIterator.next() : null;
-            throw new UnexpectedFinalEdge(finalEdge);
-        }
-        else if (finalEdge != null && initialEdge != null)
-        {
-            int comparison = finalEdge.compareTo(initialEdge);
-            if (comparison < 0)
-            {
-                this.finalEdge = finalIterator.hasNext() ? finalIterator.next() : null;
-                throw new UnexpectedFinalEdge(finalEdge);
-            }
-            else if (comparison == 0)
-            {
-                this.initialEdge = initialIterator.hasNext() ? initialIterator.next() : null;
-                this.finalEdge = finalIterator.hasNext() ? finalIterator.next() : null;
-            }
-            else // (comparison > 0)
-            {
-                this.initialEdge = initialIterator.hasNext() ? initialIterator.next() : null;
-            }
-        }
-    }
-    
-    @Override void handlePreserveSuperset()
-    {
-        VPGEdge<A,T,R> finalEdge = finalEdge();
-        VPGEdge<A,T,R> initialEdge = initialEdge();
-        
-        if (finalEdge == null && initialEdge != null)
-        {
-            this.initialEdge = initialIterator.hasNext() ? initialIterator.next() : null;
-            throw new UnexpectedInitialEdge(initialEdge);
-        }
-        else if (finalEdge != null && initialEdge != null)
-        {
-            int comparison = finalEdge.compareTo(initialEdge);
-            if (comparison < 0)
-            {
-                this.finalEdge = finalIterator.hasNext() ? finalIterator.next() : null;
-                throw new UnexpectedFinalEdge(finalEdge);
-            }
-            else if (comparison == 0)
-            {
-                this.initialEdge = initialIterator.hasNext() ? initialIterator.next() : null;
-                this.finalEdge = finalIterator.hasNext() ? finalIterator.next() : null;
-            }
-            else // (comparison > 0)
-            {
-                this.initialEdge = initialIterator.hasNext() ? initialIterator.next() : null;
-            }
-        }
-    }
-
-    public boolean hasEdgesRemaining()
-    {
-        return initialIterator.hasNext() || finalIterator.hasNext();
-    }
-
-    public void ensureNoEdgesRemaining(int type)
-    {
-        if (initialEdge != null
-                && initialEdge.getType() == type)
-            throw new IllegalStateException("INTERNAL ERROR: Type " + type + " processing incomplete - initial edge "+ initialEdge);  //$NON-NLS-1$//$NON-NLS-2$
-
-        if (finalEdge != null
-                && finalEdge.getType() == type)
-            throw new IllegalStateException("INTERNAL ERROR: Type " + type + " processing incomplete - final edge "+ finalEdge);  //$NON-NLS-1$//$NON-NLS-2$
-    }
-    
-    private VPGEdge<A,T,R> findEdgeWithNewSink(VPGEdge<A,T,R> initialEdge)
-    {
-        for (VPGEdge<A,T,R> finalEdge : finalEdges)
-        {
-            if (finalEdge.getSource() != null
-                && finalEdge.getSource().equals(initialEdge.getSource())
-                && finalEdge.getType() == initialEdge.getType())
-            {
-                return finalEdge;
-            }
-        }
-        return null;
-    }
-
-    /** @return the number of edges remaining to be processed */
-    @SuppressWarnings("rawtypes")
-    public int countEdgesRemaining()
-    {
-        if (initialEdges instanceof List
-            && initialIterator instanceof ListIterator
-            && finalEdges instanceof List
-            && initialIterator instanceof ListIterator)
-        {
-            return (((List)initialEdges).size() - ((ListIterator)initialIterator).nextIndex())
-                 + (((List)finalEdges).size() - ((ListIterator)finalIterator).nextIndex());
-        }
-        else return 0;
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationRuleset.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationRuleset.java
deleted file mode 100644
index 8945f48..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/PreservationRuleset.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.preservation;
-
-import org.eclipse.rephraserengine.core.util.TwoKeyHashMap;
-import org.eclipse.rephraserengine.core.vpg.VPGEdge.Classification;
-
-/**
- * Set of rules indicating how each type of semantic edge should be preserved in a program graph.
- *
- * @author Jeff Overbey
- * 
- * @since 3.0
- */
-public class PreservationRuleset
-{
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Static Members (for Rules)
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    static abstract class Processor
-    {
-        abstract void handlePreserveAll();
-        abstract void handlePreserveSubset();
-        abstract void handlePreserveSuperset();
-        abstract void handleIgnore();
-    }
-
-    private static enum Rule
-    {
-        PRESERVE_ALL      { @Override protected void processUsing(Processor p) { p.handlePreserveAll(); } },
-        PRESERVE_SUBSET   { @Override protected void processUsing(Processor p) { p.handlePreserveSubset(); } },
-        PRESERVE_SUPERSET { @Override protected void processUsing(Processor p) { p.handlePreserveSuperset(); } },
-        IGNORE            { @Override protected void processUsing(Processor p) { p.handleIgnore(); } };
-        
-        protected abstract void processUsing(Processor p);
-    }
-    
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    // Class Members
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-
-    private TwoKeyHashMap<Integer, Classification, Rule> preservationRules =
-        new TwoKeyHashMap<Integer, Classification, Rule>();
-    
-    public PreservationRuleset() {}
-    
-    public void preserveAll(int edgeType)
-    {
-        for (Classification c : Classification.values())
-            addRule(edgeType, c, Rule.PRESERVE_ALL);
-    }
-    
-    public void preserveIncoming(int edgeType)
-    {
-        addRule(edgeType, Classification.INCOMING, Rule.PRESERVE_ALL);
-        addRule(edgeType, Classification.EXTERNAL, Rule.PRESERVE_ALL);
-    }
-    
-    public void preserveSupersetOutgoing(int edgeType)
-    {
-        addRule(edgeType, Classification.OUTGOING, Rule.PRESERVE_SUPERSET);
-        addRule(edgeType, Classification.EXTERNAL, Rule.PRESERVE_ALL);
-    }
-    
-    public void preserveSubsetInternal(int edgeType)
-    {
-        addRule(edgeType, Classification.INTERNAL, Rule.PRESERVE_SUBSET);
-        addRule(edgeType, Classification.EXTERNAL, Rule.PRESERVE_ALL);
-    }
-    
-    private void addRule(int edgeType, Classification classification, Rule rule)
-    {
-        preservationRules.put(edgeType, classification, rule);
-    }
-    
-    void invokeCallback(int edgeType, Classification classification, Processor processor)
-    {
-        getRule(edgeType, classification).processUsing(processor);
-    }
-
-    private Rule getRule(int edgeType, Classification classification)
-    {
-        Rule result = preservationRules.getEntry(edgeType, classification);
-        if (result != null)
-            return result;
-        else
-            return Rule.IGNORE;
-    }
-
-    @Override public String toString()
-    {
-        StringBuilder sb = new StringBuilder();
-        for (int type : preservationRules.keySet())
-        {
-            sb.append("Type "); //$NON-NLS-1$
-            sb.append(type);
-            sb.append(": "); //$NON-NLS-1$
-            for (Classification c : Classification.values())
-            {
-                sb.append("  "); //$NON-NLS-1$
-                sb.append(c.toString());
-                sb.append(" - "); //$NON-NLS-1$
-                sb.append(getRule(type, c));
-            }
-            sb.append("\n"); //$NON-NLS-1$
-        }
-        return sb.toString();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Replacement.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Replacement.java
deleted file mode 100644
index 4947f97..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/Replacement.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.preservation;
-
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-
-/**
- * A replacement [ i, j ) <small>//</small> [ i, k ), i.e., an object representing
- * the replacement of a textual span with offset <i>i</i> and length
- * |<i>j</i> - <i>i</i>| with new text of length |<i>k</i> - <i>i</i>|.
- * 
- * @author Jeff Overbey
- * 
- * @since 3.0
- */
-public final class Replacement
-{
-    private final String filename;
-    private final int offset;
-    private final int origLength;
-    private final int newLength;
-
-    /**
-     * @param filename
-     * @param offset
-     * @param oldLength
-     * @param newLength
-     */
-    public Replacement(String filename, int offset, int oldLength, int newLength)
-    {
-        this.filename = filename;
-        this.offset = offset;
-        this.origLength = oldLength;
-        this.newLength = newLength;
-    }
-
-    /** @return the filename */
-    public String getFilename()
-    {
-        return filename;
-    }
-
-    /** @return the start offset */
-    public int getOffset()
-    {
-        return offset;
-    }
-
-    /** @return the end offset of the original text ({@link #getOffset()} + {@link #getOrigLength()}) */
-    public int getOrigEndOffset()
-    {
-        return offset + origLength;
-    }
-
-//    /** @return the end offset of the replacement text ({@link #getOffset()} + {@link #getNewLength()}) */
-//    public int getNewEndOffset()
-//    {
-//        return offset + newLength;
-//    }
-
-    /** @return the length of the original text */
-    public int getOrigLength()
-    {
-        return origLength;
-    }
-
-    /** @return the length of the replacement text */
-    public int getNewLength()
-    {
-        return newLength;
-    }
-    
-    public boolean isAddition()
-    {
-        return origLength == 0;
-    }
-    
-    public boolean isRemoval()
-    {
-        return newLength == 0;
-    }
-
-    int adjust(String filename, int n)
-    {
-        if (this.filename.equals(filename) && n >= offset+origLength)
-            return newLength - origLength;
-        else
-            return 0;
-    }
-
-    boolean overlaps(Replacement that)
-    {
-        return !doesNotOverlap(that);
-    }
-
-    private boolean doesNotOverlap(Replacement that)
-    {
-        return !this.getFilename().equals(that.getFilename())
-            || this.getOrigEndOffset() <= that.getOffset()
-            || this.getOffset() >= that.getOrigEndOffset();
-    }
-    
-    boolean origIntervalContains(IVPGNode<?> tokenRef)
-    {
-        return filename.equals(tokenRef.getFilename())
-            && this.offset <= tokenRef.getOffset()
-            && tokenRef.getEndOffset() <= this.getOrigEndOffset();
-    }
-    
-    boolean newIntervalContains(IVPGNode<?> tokenRef, ReplacementList list)
-    {
-        if (!filename.equals(tokenRef.getFilename())) return false;
-        
-        list = list.without(this);
-        
-        int newOffset = list.offset(filename, getOffset());
-        int newEndOffset = list.offset(filename, offset+newLength-1) + 1;
-        
-        return newOffset <= tokenRef.getOffset()
-            && tokenRef.getEndOffset() <= newEndOffset;
-    }
-
-    @Override public String toString()
-    {
-        return filename + ": "                                //$NON-NLS-1$
-            + "[" + offset + ", " + (offset+origLength) + ")"  //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-            + " // "                                          //$NON-NLS-1$
-            + "[" + offset + ", " + (offset+newLength) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-    }
-
-    @Override public int hashCode()
-    {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((filename == null) ? 0 : filename.hashCode());
-        result = prime * result + newLength;
-        result = prime * result + offset;
-        result = prime * result + origLength;
-        return result;
-    }
-
-    @Override public boolean equals(Object obj)
-    {
-        if (this == obj) return true;
-        if (obj == null) return false;
-        if (getClass() != obj.getClass()) return false;
-        Replacement other = (Replacement)obj;
-        if (filename == null)
-        {
-            if (other.filename != null) return false;
-        }
-        else if (!filename.equals(other.filename)) return false;
-        if (newLength != other.newLength) return false;
-        if (offset != other.offset) return false;
-        if (origLength != other.origLength) return false;
-        return true;
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ReplacementList.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ReplacementList.java
deleted file mode 100644
index 7a42072..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ReplacementList.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.preservation;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.VPG;
-
-/**
- * A list of {@link Replacement}s.
- *
- * @author Jeff Overbey
- * 
- * @since 3.0
- */
-public final class ReplacementList implements Iterable<Replacement>
-{
-    protected final List<Replacement> list;
-
-    /** Constructor.  Creates an empty list of replacements. */
-    public ReplacementList()
-    {
-        list = new ArrayList<Replacement>();
-    }
-
-    /** Constructor.  Creates a list from the given replacements. */
-    public ReplacementList(Replacement... ops)
-    {
-        this();
-
-        for (Replacement op : ops)
-            add(op);
-    }
-
-    /** @return this list with the given replacement omitted */
-    public ReplacementList without(Replacement opToOmit)
-    {
-        ReplacementList result = new ReplacementList();
-
-        for (Replacement op : list)
-            if (!op.equals(opToOmit))
-                result.add(op);
-
-        return result;
-    }
-
-//    public boolean isEmpty()
-//    {
-//        return list.isEmpty();
-//    }
-//
-//    public int size()
-//    {
-//        return list.size();
-//    }
-//
-//    public Replacement get(int i)
-//    {
-//        return list.get(i);
-//    }
-
-    public Iterator<Replacement> iterator()
-    {
-        return list.iterator();
-    }
-
-//    public Replacement remove(int i)
-//    {
-//        return list.remove(i);
-//    }
-
-    /** Adds the given replacement to this list */
-    public void add(Replacement op)
-    {
-        if (op.isAddition() && needToMergeAlpha(op))
-            mergeAlpha(op);
-        else
-            internalAdd(op);
-    }
-
-    private boolean needToMergeAlpha(Replacement alpha)
-    {
-        return !list.isEmpty()
-            && lastOp().isAddition()
-            && lastOp().getFilename().equals(alpha.getFilename())
-            && lastOp().getOffset() == alpha.getOffset();
-    }
-
-    private Replacement lastOp()
-    {
-        return list.get(list.size()-1);
-    }
-
-    private void mergeAlpha(Replacement alpha2)
-    {
-        Replacement alpha1 = list.remove(list.size()-1);
-
-        Replacement newAlpha = new Replacement(
-            alpha1.getFilename(),
-            alpha1.getOffset(),
-            0,
-            alpha1.getNewLength() + alpha2.getNewLength());
-
-        internalAdd(newAlpha);
-    }
-
-    private void internalAdd(Replacement opToAdd)
-    {
-        for (Replacement existingOp : list)
-            if (opToAdd.overlaps(existingOp))
-                throw new IllegalArgumentException("Cannot add operation " //$NON-NLS-1$
-                    + opToAdd
-                    + " because it overlaps " //$NON-NLS-1$
-                    + existingOp);
-
-        list.add(opToAdd);
-    }
-
-    /** @return the new offset after the given offset has been adjusted by the replacements in this list */
-    public int offset(String filename, int offset)
-    {
-        int result = offset;
-        for (Replacement op : list)
-            result += op.adjust(filename, offset);
-        return result;
-    }
-
-    /** @return the initial model projection of the given {@link IVPGNode} */
-    public <T, R extends IVPGNode<T>> R projectInitial(R tokenRef, VPG<?,T,R> vpg)
-    {
-        for (Replacement replacement : list)
-            if (replacement.origIntervalContains(tokenRef))
-                return null;
-        
-        String filename = tokenRef.getFilename();
-        int newOffset = offset(filename, tokenRef.getOffset());
-        int newEndOffset = offset(filename, tokenRef.getEndOffset());//-1)+1;
-        return vpg.getVPGNode(
-            filename,
-            newOffset,
-            newEndOffset - newOffset);
-    }
-
-    /** @return the final model projection of the given {@link IVPGNode} */
-    public <T, R extends IVPGNode<T>> R projectFinal(R tokenRef, VPG<?,T,R> vpg)
-    {
-        for (Replacement replacement : list)
-            if (replacement.newIntervalContains(tokenRef, this))
-                return null;
-        
-        return tokenRef;
-    }
-
-    @Override public String toString()
-    {
-        StringBuilder sb = new StringBuilder();
-        boolean first = true;
-        for (Replacement op : list)
-        {
-            if (first) first = false; else sb.append('\n');
-            sb.append(op);
-        }
-        return sb.toString();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ResetOffsetLength.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ResetOffsetLength.java
deleted file mode 100644
index d44eb07..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/ResetOffsetLength.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.preservation;
-
-/**
- * After an AST node is marked for an alpha-operation, the analyzer will request that the node be
- * adapted to this type.  Clients may ignore this request.
- * <p>
- * In Photran, this has the side effect of resetting the offset of every token under the node to -1,
- * so that the subtree will be excluded when attempting to compute offset information for other
- * nodes (see Photran's <code>ASTNodeAdapterFactory</code> for details).
- *
- * @author Jeff Overbey
- *
- * @see PreservationAnalysis#markAlpha(org.eclipse.core.resources.IFile, Object)
- * @see PreservationAnalysis#markEpsilon(org.eclipse.core.resources.IFile, Object)
- *
- * @since 1.0
- */
-public final class ResetOffsetLength
-{
-    private ResetOffsetLength() {}
-
-    public static final ResetOffsetLength RESET = new ResetOffsetLength();
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/messages.properties b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/messages.properties
deleted file mode 100644
index 6941d0a..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/preservation/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-Model_Computing=Computing {0}:
-Model_Differencing=Differencing {0} and {1}
-Model_Normalizing=Normalizing {0}
-Model_PreparingToCompute=Preparing to compute 
-PreservationAnalysis_EdgeWillChange=\ \ \ \ The {0} from here (click to view)
-PreservationAnalysis_EnteringHypotheticalMode=Please wait; switching database to hypothetical mode
-PreservationAnalysis_ExitingHypotheticalMode=Switching database out of hypothetical mode
-PreservationAnalysis_FromHere=\ \ \ \ from here (click to view)
-PreservationAnalysis_TheFollowingFilesWillNotCompile=The following files will not compile if the transformation is completed:
-PreservationAnalysis_ToHere=\ \ \ \ to here (click to view)
-PreservationAnalysis_TransformationWillChange=Completing this transformation will cause an existing {0} to change ({1})
-PreservationAnalysis_TransformationWillEliminate=Completing this transformation will cause an existing {0} to be eliminated ({1})
-PreservationAnalysis_TransformationWillIntroduce=Completing this transformation will introduce an unexpected {0} ({1})
-PreservationAnalysis_WillPointHereInstead=\ \ \ \ will instead point here (click to view)
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/ASTRepository.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/ASTRepository.java
deleted file mode 100644
index 48338cf..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/ASTRepository.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg;
-
-import java.lang.ref.WeakReference;
-import java.util.HashMap;
-
-/**
- * The VPG's cache of abstract syntax trees.
- * 
- * @param <A> AST type
- * 
- * @author Jeff Overbey
- */
-final class ASTRepository<A>
-{
-    /** Cache of ASTs acquired using {@link #acquirePermanentAST(String)} or converted
-     *  using {@link #makeTransientASTPermanent(String)}. */
-    protected HashMap<String, A> permanentASTs;
-
-    /** Cache of ASTs acquired using {@link #acquireTransientAST(String)}. */
-    protected HashMap<String, WeakReference<A>> transientASTs;
-
-    /** Small queue of <i>recent</i> ASTs acquired using {@link #acquireTransientAST(String)}. */
-    protected Object[] transientASTCache;
-    private int transientASTCacheIndex = 0;
-
-    public ASTRepository(int transientASTCacheSize)
-    {
-        assert transientASTCacheSize > 0;
-
-        this.transientASTs = new HashMap<String, WeakReference<A>>();
-        this.permanentASTs = new HashMap<String, A>();
-        this.transientASTCache = new Object[transientASTCacheSize];
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // API: AST ACQUISITION/RELEASE
-    ////////////////////////////////////////////////////////////////////////////
-
-    /** @return an AST for the given file which will be garbage collected after
-     *  no pointers to any of its nodes remain.
-     */
-    public <T, R extends IVPGNode<T>>
-           A acquireTransientAST(String filename, boolean forceRecomputationOfEdgesAndAnnotations, VPG<A, T, R> vpg)
-    {
-        if (vpg.isVirtualFile(filename) || !vpg.shouldProcessFile(filename)) return null;
-
-        A ast = null;
-
-        if (!forceRecomputationOfEdgesAndAnnotations)
-        {
-            if (permanentASTs.containsKey(filename))
-                ast = permanentASTs.get(filename);
-            else if (transientASTs.containsKey(filename))
-                ast = transientASTs.get(filename).get();
-
-            if (ast != null) return ast;
-        }
-
-        boolean shouldComputeEdgesAndAnnotations =
-            forceRecomputationOfEdgesAndAnnotations || vpg.isOutOfDate(filename);
-        
-        if (shouldComputeEdgesAndAnnotations)
-            vpg.getLog().clearEntriesFor(filename);
-
-        ast = vpg.parse(filename);
-        if (ast != null)
-        {
-            WeakReference<A> astRef = new WeakReference<A>(ast);
-            transientASTs.put(filename, astRef);
-            //astFilenames.put(astRef, filename);
-
-            transientASTCache[transientASTCacheIndex] = ast;
-            transientASTCacheIndex = (transientASTCacheIndex+1) % transientASTCache.length;
-        }
-
-        if (shouldComputeEdgesAndAnnotations)
-            vpg.getVPGWriter().computeEdgesAndAnnotations(filename, ast);
-
-        return ast;
-    }
-
-    /** @return an AST for the given file.  The AST will remain in memory until it is
-     *  explicitly released using {@link #releaseAST(String)} or {@link #releaseAllASTs()}.
-     */
-    public <T, R extends IVPGNode<T>>
-           A acquirePermanentAST(String filename, VPG<A, T, R> vpg)
-    {
-        A ast = acquireTransientAST(filename, false, vpg);
-        return makeTransientASTPermanent(filename, ast);
-    }
-
-    /**
-     * Changes the AST for the given file from a transient AST to a permanent
-     * AST.  The AST will remain in memory until it is explicitly released
-     * using {@link #releaseAST(String)} or {@link #releaseAllASTs()}.
-     * 
-     * @since 2.0
-     */
-    public <T, R extends IVPGNode<T>>
-           A makeTransientASTPermanent(String filename, VPG<A, T, R> vpg)
-    {
-        return makeTransientASTPermanent(filename, acquireTransientAST(filename, false, vpg));
-    }
-
-    /** Changes the AST for the given file from a transient AST to a permanent
-     *  AST.  The AST will remain in memory until it is explicitly released
-     *  using {@link #releaseAST(String)} or {@link #releaseAllASTs()}.
-     */
-    public A makeTransientASTPermanent(String filename, A ast)
-    {
-        transientASTs.remove(filename);
-        permanentASTs.put(filename, ast);
-        return ast;
-    }
-
-    /** Releases the AST for the given file, regardless of whether it was
-     *  acquired as a permanent or transient AST. */
-    public void releaseAST(String filename)
-    {
-        transientASTs.remove(filename);
-        permanentASTs.remove(filename);
-    }
-
-    /**
-     * Releases all ASTs, regardless of whether they were acquired as
-     * transient and permanent ASTs.
-     *
-     * @see #acquireTransientAST(String)
-     * @see #acquirePermanentAST(String)
-     * @see #makeTransientASTPermanent(String)
-     */
-    public void releaseAllASTs()
-    {
-        transientASTs.clear();
-        permanentASTs.clear();
-    }
-
-    /**
-     * If the given AST was acquired using {@link #acquireTransientAST(String)} or
-     * {@link #acquirePermanentAST(String)}, returns the filename to which it
-     * corresponds.  If it is not the root of an AST acquired from this VPG, returns
-     * <code>null</code>.
-     * <p>
-     * Note that this is not an O(1) operation: Internally, the filename is found
-     * by comparing the given argument with every AST in memory.
-     * 
-     * @return filename or <code>null</code>
-     * 
-     * @since 2.0
-     */
-    public String getFilenameCorrespondingTo(A ast)
-    {
-        for (String filename : transientASTs.keySet())
-            if (transientASTs.get(filename).get() == ast)
-                return filename;
-        
-        for (String filename : permanentASTs.keySet())
-            if (permanentASTs.get(filename) == ast)
-                return filename;
-        
-        return null;
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/DemandDB.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/DemandDB.java
deleted file mode 100644
index 57957f6..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/DemandDB.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg;
-
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.rephraserengine.core.util.Pair;
-import org.eclipse.rephraserengine.core.util.SetOfPairs;
-
-/**
- * Decorator for a VPG database that handles lazy edge computations (i.e., edges computed on demand).
- *
- * @author Jeff Overbey
- *
- * @param <A> AST type
- * @param <T> token type
- * @param <R> TokenRef type
- * 
- * @since 3.0
- */
-public final class DemandDB<A, T, R extends IVPGNode<T>>
-           extends VPGDB<A, T, R>
-{
-    private final VPGDB<A, T, R> db;
-    
-    private SetOfPairs<String, ILazyVPGPopulator> oldFilesPopulated;
-    private SetOfPairs<String, ILazyVPGPopulator> filesPopulated;
-    
-    private ILazyVPGPopulator[] lazyPopulators;
-    private Map<Integer, ILazyVPGPopulator> edgeTypePopulators;
-    private Map<Integer, ILazyVPGPopulator> annotationTypePopulators;
-
-    public DemandDB(VPGDB<A, T, R> diskDatabase)
-    {
-        super(diskDatabase);
-
-        Assert.isNotNull(diskDatabase);
-        Assert.isTrue(diskDatabase != this);
-
-        this.db = diskDatabase;
-        this.oldFilesPopulated = null;
-        this.filesPopulated = new SetOfPairs<String, ILazyVPGPopulator>();
-        this.edgeTypePopulators = new HashMap<Integer, ILazyVPGPopulator>();
-        this.annotationTypePopulators = new HashMap<Integer, ILazyVPGPopulator>();
-    }
-    
-    void setContentProvider(VPGWriter<A, T, R> contentProvider)
-    {
-        this.lazyPopulators = contentProvider.getLazyEdgePopulators();
-        
-        for (ILazyVPGPopulator populator : lazyPopulators)
-        {
-            for (int edgeType : populator.edgeTypesPopulated())
-                edgeTypePopulators.put(edgeType, populator);
-
-            for (int annotationType : populator.annotationTypesPopulated())
-                annotationTypePopulators.put(annotationType, populator);
-        }
-    }
-    
-    ////////////////////////////////////////////////////////////////////////////
-    // NEW API
-    ////////////////////////////////////////////////////////////////////////////
-
-    public boolean lazyComputationEnabled = true;
-
-    ////////////////////////////////////////////////////////////////////////////
-    // UTILITY METHODS
-    ////////////////////////////////////////////////////////////////////////////
-
-    private void ensureLazyEdgesAndAnnotations(String targetFile)
-    {
-        if (!lazyComputationEnabled) return;
-        
-        runPopulators(getPopulatorsThatHaveNotBeenRunOn(targetFile), targetFile);
-    }
-
-    private List<ILazyVPGPopulator> getPopulatorsThatHaveNotBeenRunOn(String targetFile)
-    {
-        List<ILazyVPGPopulator> result = new ArrayList<ILazyVPGPopulator>(lazyPopulators.length);
-        for (ILazyVPGPopulator populator : lazyPopulators)
-            if (!filesPopulated.contains(targetFile, populator))
-                result.add(populator);
-        return result;
-    }
-
-    private void runPopulators(Collection<ILazyVPGPopulator> populators, String targetFile)
-    {
-        if (somePopulatorRequiresDependentFilesToBePopulated(populators))
-        {
-            ArrayList<String> files = new ArrayList<String>(Collections.singletonList(targetFile));
-            for (String filename : sortFilesAccordingToDependencies(files))
-            {
-                for (ILazyVPGPopulator populator : populators)
-                {
-                    // Add the populator to the list BEFORE running it so that
-                    // it can read edges that it has written without causing
-                    // infinite recursion
-                    filesPopulated.add(filename, populator);
-                    populator.populateVPG(filename);
-                }
-            }
-        }
-        else
-        {
-            for (ILazyVPGPopulator populator : populators)
-            {
-                filesPopulated.add(targetFile, populator);
-                populator.populateVPG(targetFile);
-            }
-        }
-    }
-
-    private boolean somePopulatorRequiresDependentFilesToBePopulated(Collection<ILazyVPGPopulator> populatorsToRun)
-    {
-        for (ILazyVPGPopulator populator : populatorsToRun)
-            if (populator.dependentFilesMustBePopulated())
-                return true;
-
-        return false;
-    }
-
-    private void ensureLazyEdge(String targetFile, int edgeType)
-    {
-        if (!lazyComputationEnabled) return;
-        
-        if (edgeTypePopulators.containsKey(edgeType))
-        {
-            ILazyVPGPopulator populator = edgeTypePopulators.get(edgeType);
-            if (!filesPopulated.contains(targetFile, populator))
-                runPopulators(Collections.singleton(populator), targetFile);
-        }
-    }
-
-    private void ensureLazyAnnotation(String targetFile, int annotationType)
-    {
-        if (!lazyComputationEnabled) return;
-        
-        if (annotationTypePopulators.containsKey(annotationType))
-        {
-            ILazyVPGPopulator populator = annotationTypePopulators.get(annotationType);
-            if (!filesPopulated.contains(targetFile, populator))
-                runPopulators(Collections.singleton(populator), targetFile);
-        }
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // VPG DATABASE METHODS
-    ////////////////////////////////////////////////////////////////////////////
-
-    @Override public void flush()
-    {
-        db.flush();
-    }
-
-    @Override public void close()
-    {
-        db.close();
-    }
-
-    @Override public void clearDatabase()
-    {
-        filesPopulated.clear();
-        db.clearDatabase();
-    }
-
-    // HYPOTHETICAL UPDATING ///////////////////////////////////////////////////
-
-    @Override public void enterHypotheticalMode() throws IOException
-    {
-        oldFilesPopulated = filesPopulated.clone();
-        db.enterHypotheticalMode();
-    }
-
-    @Override public void leaveHypotheticalMode() throws IOException
-    {
-        db.leaveHypotheticalMode();
-        filesPopulated = oldFilesPopulated;
-        oldFilesPopulated = null;
-    }
-
-    @Override public boolean isInHypotheticalMode()
-    {
-        return oldFilesPopulated != null; // true iff db.isInHypotheticalMode();
-    }
-
-    // FILES ///////////////////////////////////////////////////////////////////
-
-    @Override public void updateModificationStamp(String filename)
-    {
-        db.updateModificationStamp(filename);
-    }
-
-    @Override public boolean isOutOfDate(String filename)
-    {
-        return db.isOutOfDate(filename);
-    }
-
-    @Override public void deleteAllEntriesFor(String filename)
-    {
-        filesPopulated.remove(filename);
-        db.deleteAllEntriesFor(filename);
-    }
-
-    @Override public void deleteAllEdgesAndAnnotationsFor(String filename)
-    {
-        filesPopulated.remove(filename);
-        db.deleteAllEdgesAndAnnotationsFor(filename);
-    }
-
-    @Override public void deleteAllIncomingDependenciesFor(String filename)
-    {
-        db.deleteAllIncomingDependenciesFor(filename);
-    }
-
-    @Override public void deleteAllOutgoingDependenciesFor(String filename)
-    {
-        db.deleteAllOutgoingDependenciesFor(filename);
-    }
-
-    @Override public Iterable<String> listAllFilenames()
-    {
-    	return db.listAllFilenames();
-    }
-
-    @Override public Iterable<String> listAllFilenamesWithDependents()
-    {
-    	return db.listAllFilenamesWithDependents();
-    }
-
-    @Override public Iterable<String> listAllDependentFilenames()
-    {
-    	return db.listAllDependentFilenames();
-    }
-
-    // DEPENDENCIES ////////////////////////////////////////////////////////////
-
-    @Override public void ensure(VPGDependency<A, T, R> dependency)
-    {
-        db.ensure(dependency);
-    }
-
-    @Override public void delete(VPGDependency<A, T, R> dependency)
-    {
-        db.delete(dependency);
-    }
-
-    @Override public Iterable<String> getOutgoingDependenciesFrom(String filename)
-    {
-        return db.getOutgoingDependenciesFrom(filename);
-    }
-
-    @Override public Iterable<String> getIncomingDependenciesTo(String filename)
-    {
-        return db.getIncomingDependenciesTo(filename);
-    }
-
-    // EDGES ///////////////////////////////////////////////////////////////////
-
-    @Override public void ensure(VPGEdge<A, T, R> edge)
-    {
-        db.ensure(edge);
-    }
-
-    @Override public void delete(VPGEdge<A, T, R> edge)
-    {
-        db.delete(edge);
-    }
-
-    @Override public Iterable<? extends VPGEdge<A, T, R>> getAllEdgesFor(String filename)
-    {
-        ensureLazyEdgesAndAnnotations(filename);
-        return db.getAllEdgesFor(filename);
-    }
-
-    @Override public Iterable<? extends VPGEdge<A, T, R>> getOutgoingEdgesFrom(R tokenRef, int edgeType)
-    {
-        ensureLazyEdge(tokenRef.getFilename(), edgeType);
-        return db.getOutgoingEdgesFrom(tokenRef, edgeType);
-    }
-
-    @Override public Iterable<? extends VPGEdge<A, T, R>> getIncomingEdgesTo(R tokenRef, int edgeType)
-    {
-        ensureLazyEdge(tokenRef.getFilename(), edgeType);
-        return db.getIncomingEdgesTo(tokenRef, edgeType);
-    }
-
-    // ANNOTATIONS /////////////////////////////////////////////////////////////
-
-    @Override public void setAnnotation(R token, int annotationID, Serializable annotation)
-    {
-        db.setAnnotation(token, annotationID, annotation);
-    }
-
-    @Override public void deleteAnnotation(R token, int annotationID)
-    {
-        db.deleteAnnotation(token, annotationID);
-    }
-
-    @Override public Serializable getAnnotation(R tokenRef, int annotationID)
-    {
-        ensureLazyAnnotation(tokenRef.getFilename(), annotationID);
-        return db.getAnnotation(tokenRef, annotationID);
-    }
-
-    @Override public Iterable<Pair<R, Integer>> getAllAnnotationsFor(String filename)
-    {
-        ensureLazyEdgesAndAnnotations(filename);
-        return db.getAllAnnotationsFor(filename);
-    }
-
-    // UTILITY METHODS /////////////////////////////////////////////////////////
-
-    @Override public void printOn(PrintStream out)
-    {
-        db.printOn(out);
-    }
-
-    @Override public void printStatisticsOn(PrintStream out)
-    {
-        db.printStatisticsOn(out);
-    }
-
-    @Override public void resetStatistics()
-    {
-        db.resetStatistics();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/ILazyVPGPopulator.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/ILazyVPGPopulator.java
deleted file mode 100644
index 3d39218..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/ILazyVPGPopulator.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg;
-
-/**
- * Adds edges and annotations to an in-memory AST on demand, when they are requested,
- * rather than computing them immediately when the file is indexed.
- * 
- * @author Jeff Overbey
- * 
- * @since 3.0
- */
-public interface ILazyVPGPopulator
-{
-    /** @return true if, to populate lazy edges in a file correctly, lazy edges must be populated in all of its dependent files */
-    public abstract boolean dependentFilesMustBePopulated();
-    
-    /** @return the edge types populated by this {@link ILazyVPGPopulator} */
-    public abstract int[] edgeTypesPopulated();
-    
-    /** @return the annotation types populated by this {@link ILazyVPGPopulator} */
-    public abstract int[] annotationTypesPopulated();
-    
-    /** Populates lazy edges in the given file */
-    public abstract void populateVPG(String filename);
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/IVPGComponentFactory.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/IVPGComponentFactory.java
deleted file mode 100644
index 3b5bd48..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/IVPGComponentFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg;
-
-/**
- * Creates various objects for a particular {@link VPG}.
- * <p>
- * Specifically, an {@link IVPGComponentFactory} can
- * <ul>
- * <li> provide its caller with the {@link IVPGNode}/{@link NodeRef} object corresponding to a given AST node.
- * </ul>
- * When the VPG is first being constructed and initialized, the {@link IVPGComponentFactory} is used to create
- * <ul>
- * <li> the error/warning log ({@link VPGLog}),
- * <li> the database ({@link VPGDB}), and
- * <li> the {@link VPGWriter}.
- * </ul>
- * 
- * @author Jeff Overbey
- * 
- * @param <A> AST type
- * @param <T> token type
- * @param <R> {@link IVPGNode}/{@link NodeRef} type
- * 
- * @since 3.0
- */
-public interface IVPGComponentFactory<A, T, R extends IVPGNode<T>>
-{
-    public abstract VPGLog<T, R> createLog();
-
-    public abstract VPGDB<A, T, R> createDatabase(VPGLog<T,R> log);
-
-    public abstract VPGWriter<A, T, R> createVPGWriter(VPGDB<A, T, R> db, VPGLog<T,R> log);
-    
-    /**
-     * @return an {@link IVPGNode}/{@link NodeRef} referring to the AST node/token at the given
-     *         position in the given file.
-     */
-    public abstract R getVPGNode(String filename, int offset, int length);
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/IVPGNode.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/IVPGNode.java
deleted file mode 100644
index 5d28318..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/IVPGNode.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg;
-
-import java.io.Serializable;
-
-/**
- * A VPG node; in essence, a reference to an AST node.
- * <p>
- * A concise, serializable description of a unique node (or token) in an AST. It consists of a
- * filename, offset, and length. <a href="../../../overview-summary.html#TokenRef">More
- * Information</a>
- * <p>
- * These are usually created by {@link IVPGComponentFactory#getVPGNode(String, int, int)}.
- * 
- * @author Jeff Overbey
- * 
- * @param <T> node/token type
- * 
- * @since 3.0
- */
-public interface IVPGNode<T> extends Serializable, Comparable<IVPGNode<?>>
-{
-    /** @return the filename containing the token being referenced */
-    public abstract String getFilename();
-
-    /** @return the offset of the token being referenced */
-    public abstract int getOffset();
-
-    /** @return the length of the token being referenced */
-    public abstract int getLength();
-
-    /**
-     * @return a pointer to the AST node corresponding to this
-     * {@link IVPGNode}, or <code>null</code> if it could not be found.
-     */
-    public abstract T getASTNode();
-
-    /**
-     * Returns a list of the tokens pointed at by an edge extending from the given token.
-     * <p>
-     * To only return edges of a particular type, set the <code>edgeType</code>
-     * parameter to that type.
-     *
-     * @param edgeType the type of edge (an arbitrary non-negative integer), or
-     *                 {@link VPG#ALL_EDGES} to process all edges, regardless
-     *                 of type
-     * @since 3.0
-     */
-    public abstract <R extends IVPGNode<T>> Iterable<R> followOutgoing(int edgeType);
-
-    /**
-     * Returns a list of the tokens which have an edges pointing at the given token.
-     * <p>
-     * To only return edges of a particular type, set the <code>edgeType</code>
-     * parameter to that type.
-     *
-     * @param edgeType the type of edge (an arbitrary non-negative integer), or
-     *                 {@link VPG#ALL_EDGES} to process all edges, regardless
-     *                 of type
-     * @since 3.0
-     */
-    public abstract <R extends IVPGNode<T>> Iterable<R> followIncoming(int edgeType);
-
-    /** @return the annotation with the given ID for the given token, or <code>null</code>
-     *  if it does not exist
-     * @since 3.0
-     */
-    public abstract <R extends Serializable> R getAnnotation(int annotationID);
-
-    /** @return the offset of the first character beyond the end of this token
-     *  (i.e., the offset of last character in this token, plus one) */
-    public abstract int getEndOffset();
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/Messages.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/Messages.java
deleted file mode 100644
index b1c1c16..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/Messages.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- * 
- * @since 2.0
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.core.vpg.messages"; //$NON-NLS-1$
-
-    public static String VPG_AnnotationOfType;
-
-    public static String VPG_EdgeOfType;
-
-    public static String VPG_PostTransformAnalysis;
-
-    public static String VPG_ProcessingDependentFile;
-
-    public static String VPG_SortingFilesEnqueuingDependents;
-
-    public static String VPG_SortingFilesSortingDependents;
-
-    public static String VPGDB_AnnotationOfType;
-
-    public static String VPGDB_EdgeOfType;
-
-    public static String VPGDB_FilenameOffsetLength;
-
-    public static String VPGLog_ErrorLabel;
-
-    public static String VPGLog_FilenameOffsetLength;
-
-    public static String VPGLog_WarningLabel;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/NodeRef.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/NodeRef.java
deleted file mode 100755
index 04f1957..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/NodeRef.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.rephraserengine.core.vpg;

-

-import java.io.Serializable;

-

-/**

- * Standard implementation of {@link IVPGNode}.

- * 

- * @author Jeff Overbey

- * 

- * @param <T> node/token type

- * 

- * @since 3.0

- */

-public abstract class NodeRef<T> implements IVPGNode<T>

-{

-	private static final long serialVersionUID = 1L;

-

-    /** @since 2.0 */

-	protected final String filename;

-    /** @since 2.0 */

-	protected final int offset;

-    /** @since 2.0 */

-	protected final int length;

-

-	/** Constructor.  Creates a TokenRef referring to the token at

-	 *  the given position in the given file. */

-	public NodeRef(String filename, int offset, int length)

-	{

-		this.filename = filename;

-		this.offset = offset;

-		this.length = length;

-	}

-

-    /** Copy constructor. */

-	public NodeRef(NodeRef<T> copyFrom)

-	{

-		this.filename = copyFrom.filename;

-		this.offset = copyFrom.offset;

-		this.length = copyFrom.length;

-	}

-

-    ///////////////////////////////////////////////////////////////////////////

-	// Accessors

-    ///////////////////////////////////////////////////////////////////////////

-

-	/* (non-Javadoc)

-     * @see org.eclipse.rephraserengine.core.vpg.IVPGNode#getFilename()

-     */

-	public String getFilename()

-	{

-		return filename;

-	}

-

-	/* (non-Javadoc)

-     * @see org.eclipse.rephraserengine.core.vpg.IVPGNode#getOffset()

-     */

-	public int getOffset()

-	{

-		return offset;

-	}

-

-	/* (non-Javadoc)

-     * @see org.eclipse.rephraserengine.core.vpg.IVPGNode#getLength()

-     */

-	public int getLength()

-	{

-		return length;

-	}

-

-    ///////////////////////////////////////////////////////////////////////////

-    // AST Mapping

-    ///////////////////////////////////////////////////////////////////////////

-

-    /* (non-Javadoc)

-     * @see org.eclipse.rephraserengine.core.vpg.IVPGNode#getASTNode()

-     */

-    public abstract T getASTNode();

-

-    ///////////////////////////////////////////////////////////////////////////

-    // AST Mapping

-    ///////////////////////////////////////////////////////////////////////////

-

-    /* (non-Javadoc)

-     * @see org.eclipse.rephraserengine.core.vpg.IVPGNode#followOutgoing(int)

-     */

-    @SuppressWarnings("unchecked")

-    public <R extends IVPGNode<T>> Iterable<R> followOutgoing(int edgeType)

-    {

-        return this.<R>getDB().getOutgoingEdgeTargets((R)this, edgeType);

-    }

-

-    /* (non-Javadoc)

-     * @see org.eclipse.rephraserengine.core.vpg.IVPGNode#followIncoming(int)

-     */

-    @SuppressWarnings("unchecked")

-    public <R extends IVPGNode<T>> Iterable<R> followIncoming(int edgeType)

-    {

-        return this.<R>getDB().getIncomingEdgeSources((R)this, edgeType);

-    }

-

-    /* (non-Javadoc)

-     * @see org.eclipse.rephraserengine.core.vpg.IVPGNode#getAnnotation(int)

-     */

-    @SuppressWarnings("unchecked")

-    public <R extends Serializable> R getAnnotation(int annotationID)

-    {

-        return (R)getDB().getAnnotation(this, annotationID);

-    }

-

-    ///////////////////////////////////////////////////////////////////////////

-	// Utility Methods

-    ///////////////////////////////////////////////////////////////////////////

-

-    protected abstract <R extends IVPGNode<T>> VPG<?, T, R> getVPG();

-    

-    protected <R extends IVPGNode<T>> VPGDB<?, T, R> getDB()

-    {

-        return this.<R>getVPG().getDB();

-    }

-    

-    /* (non-Javadoc)

-     * @see org.eclipse.rephraserengine.core.vpg.IVPGNode#getEndOffset()

-     */

-    public int getEndOffset()

-    {

-        return offset + length;

-    }

-

-    ///////////////////////////////////////////////////////////////////////////

-

-    @Override public String toString()

-    {

-        return "(Offset " + offset + ", length " + length + " in " + filename + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$

-    }

-

-    @Override public boolean equals(Object other)

-    {

-        if (other == null || !(other instanceof IVPGNode<?>)) return false;

-

-        IVPGNode<?> o = (IVPGNode<?>)other;

-        return filename.equals(o.getFilename())

-            && offset == o.getOffset()

-            && length == o.getLength();

-    }

-

-    @Override public int hashCode()

-    {

-        return offset + length + (filename == null ? 0 : filename.hashCode());

-    }

-

-    /** @since 3.0 */

-    public int compareTo(IVPGNode<?> that)

-    {

-        int result = 0;

-        

-        if (this.filename != null && that.getFilename() == null)

-            result = -1;

-        else if (this.filename == null && that.getFilename() != null)

-            result = 1;

-        else if (this.filename != null && that.getFilename() != null)

-            result = this.filename.compareTo(that.getFilename());

-        if (result != 0) return result;

-        

-        result = this.offset - that.getOffset();

-        if (result != 0) return result;

-        

-        result = this.length - that.getLength();

-        return result;

-    }

-}

diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPG.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPG.java
deleted file mode 100755
index e8b88bf..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPG.java
+++ /dev/null
@@ -1,521 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg;
-
-import java.io.IOException;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.rephraserengine.core.util.Pair;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-
-/**
- * Base class for a Virtual Program Graph. <a href="../../../overview-summary.html#VPG">More
- * Information</a>
- * <p>
- * This class may be subclassed directly, although in an Eclipse environment, clients will usually
- * subclass {@link EclipseVPG} instead.
- * <p>
- * <i>Requirements/assumptions:</i>
- * <ul>
- * <li>Transient ASTs <b>require</b> the AST to have bi-directional pointers. Otherwise, the portion
- * of the tree above the acquired token can be garbage collected!
- * </ul>
- * 
- * @author Jeff Overbey
- * 
- * @param <A> AST type
- * @param <T> token type
- * @param <R> {@link IVPGNode}/{@link NodeRef} type
- * 
- * @since 1.0
- */
-public abstract class VPG<A, T, R extends IVPGNode<T>>
-{
-    /** The VPG component factory, which creates the database, log, etc. for this VPG. */
-    private final IVPGComponentFactory<A, T, R> factory;
-    
-    /** The VPG writer, which populates the dependencies, edges, and annotations in this VPG. */
-    private final VPGWriter<A, T, R> vpgWriter;
-    
-    /** The AST cache, which provides access to ASTs and determines which files' ASTs are in memory. */
-    private final ASTRepository<A> astCache;
-    
-    /** The VPG database, which stores and persists the VPG's dependencies, edges, and annotations. */
-    private final DemandDB<A, T, R> db;
-
-	/** The VPG error/warning log. */
-	private final VPGLog<T, R> log;
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Constructor
-    ///////////////////////////////////////////////////////////////////////////
-
-	/** @since 3.0 */
-    protected VPG(IVPGComponentFactory<A, T, R> factory)
-    {
-        this(factory, 5);
-    }
-
-    /** @since 3.0 */
-	protected VPG(IVPGComponentFactory<A, T, R> factory, int transientASTCacheSize)
-	{
-        assert transientASTCacheSize > 0;
-
-        this.factory = factory;
-        this.log = factory.createLog();
-        this.db = new DemandDB<A,T,R>(factory.createDatabase(log));
-        this.vpgWriter = factory.createVPGWriter(db, log);
-        db.setContentProvider(vpgWriter);
-
-        this.astCache = new ASTRepository<A>(transientASTCacheSize);
-	}
-    
-    ////////////////////////////////////////////////////////////////////////////
-    // ACCESSORS
-    ////////////////////////////////////////////////////////////////////////////
-
-    /** @since 3.0 */
-    @SuppressWarnings("unchecked")
-    public <W extends VPGWriter<A, T, R>> W getVPGWriter()
-    {
-        return (W)vpgWriter;
-    }
-    
-    /** @since 3.0 */
-    public VPGLog<T, R> getLog()
-    {
-        return log;
-    }
-    
-    /*package*/ VPGDB<A, T, R> getDB()
-    {
-        return db;
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // CALLBACK: AST CONSTRUCTION
-    ////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Parses the given file.
-     * @param filename (non-null)
-     * @return an AST for the given file, or <code>null</code> if an error was encountered
-     */
-    protected abstract A parse(String filename);
-
-	////////////////////////////////////////////////////////////////////////////
-	// API: AST ACQUISITION/RELEASE
-	////////////////////////////////////////////////////////////////////////////
-
-	/** @return an AST for the given file which will be garbage collected after
-	 *  no pointers to any of its nodes remain.
-	 */
-	public final A acquireTransientAST(String filename)
-	{
-		return astCache.acquireTransientAST(filename, false, this);
-	}
-
-	/** @return an AST for the given file.  The AST will remain in memory until it is
-	 *  explicitly released using {@link #releaseAST(String)} or {@link #releaseAllASTs()}.
-	 */
-	public final A acquirePermanentAST(String filename)
-	{
-	    return astCache.acquirePermanentAST(filename, this);
-	}
-
-    /**
-     * Changes the AST for the given file from a transient AST to a permanent
-     * AST.  The AST will remain in memory until it is explicitly released
-     * using {@link #releaseAST(String)} or {@link #releaseAllASTs()}.
-     * 
-     * @since 2.0
-     */
-    public final A makeTransientASTPermanent(String filename)
-    {
-        return astCache.makeTransientASTPermanent(filename, this);
-    }
-
-	/** Changes the AST for the given file from a transient AST to a permanent
-	 *  AST.  The AST will remain in memory until it is explicitly released
-	 *  using {@link #releaseAST(String)} or {@link #releaseAllASTs()}.
-	 */
-	public final A makeTransientASTPermanent(String filename, A ast)
-	{
-        return astCache.makeTransientASTPermanent(filename, ast);
-	}
-
-	/** Releases the AST for the given file, regardless of whether it was
-	 *  acquired as a permanent or transient AST. */
-	public final void releaseAST(String filename)
-	{
-	    astCache.releaseAST(filename);
-	}
-
-    /**
-     * Releases all ASTs, regardless of whether they were acquired as
-     * transient and permanent ASTs.
-     *
-     * @see #acquireTransientAST(String)
-     * @see #acquirePermanentAST(String)
-     * @see #makeTransientASTPermanent(String)
-     */
-	public final void releaseAllASTs()
-	{
-		astCache.releaseAllASTs();
-	}
-
-	/**
-	 * If the given AST was acquired using {@link #acquireTransientAST(String)} or
-	 * {@link #acquirePermanentAST(String)}, returns the filename to which it
-	 * corresponds.  If it is not the root of an AST acquired from this VPG, returns
-	 * <code>null</code>.
-	 * <p>
-	 * Note that this is not an O(1) operation: Internally, the filename is found
-	 * by comparing the given argument with every AST in memory.
-	 * 
-	 * @return filename or <code>null</code>
-	 * 
-	 * @since 2.0
-	 */
-	public final String getFilenameCorrespondingTo(A ast)
-	{
-        return astCache.getFilenameCorrespondingTo(ast);
-	}
-    
-    ////////////////////////////////////////////////////////////////////////////
-    // API: VPG NODE ACCESS
-    ////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * @return a TokenRef referring to the token with the given position in the given file.
-     * 
-     * @since 3.0
-     */
-    public final R getVPGNode(String filename, int offset, int length)
-    {
-        return factory.getVPGNode(filename, offset, length);
-    }
-
-	////////////////////////////////////////////////////////////////////////////
-	// API: DEPENDENCIES
-	////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * @return the name of every file on which at least one other file is dependent.
-     * @since 3.0
-     */
-    public Iterable<String> listAllFilenamesWithDependents()
-    {
-        return db.listAllFilenamesWithDependents();
-    }
-
-    /**
-     * @return the name of every file which depends on at least one other file.
-     * @since 3.0
-     */
-    public Iterable<String> listAllDependentFilenames()
-    {
-        return db.listAllDependentFilenames();
-    }
-
-    /**
-     * @return all of the files on which the given file depends
-     * @since 3.0
-     */
-    public Iterable<String> getOutgoingDependenciesFrom(String filename)
-    {
-        return db.getOutgoingDependenciesFrom(filename);
-    }
-
-    /**
-     * @return all of the files dependent on the given file
-     * @since 3.0
-     */
-    public Iterable<String> getIncomingDependenciesTo(String filename)
-    {
-        return db.getIncomingDependenciesTo(filename);
-    }
-    
-    /** @since 3.0 */
-    public List<String> sortFilesAccordingToDependencies(List<String> files)
-    {
-        return db.sortFilesAccordingToDependencies(files);
-    }
-
-//  public boolean checkForCircularDependencies(String filename)
-//  {
-//      throw new UnsupportedOperationException();
-//  }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // API: EDGES
-    ////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Returns a list of all of the edges with at least one endpoint in the given file.
-     * <p>
-     * Due to implementation details, some edges may be listed more than once.
-     * 
-     * @since 3.0
-     */
-    public Iterable<? extends VPGEdge<A, T, R>> getAllEdgesFor(String filename)
-    {
-        return db.getAllEdgesFor(filename);
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // API: ANNOTATIONS
-    ////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Returns a list of all of the annotations in the given file.
-     * <p>
-     * The first entry of each pair is a {@link IVPGNode}, and the second is an annotation type.
-     * The annotation can be retrieved using {@link VPGDB#getAnnotation(VPGNode, int)}.
-     * <p>
-     * Due to implementation details, some annotations may be listed more than once.
-     * 
-     * @since 3.0
-     */
-    public Iterable<Pair<R, Integer>> getAllAnnotationsFor(String filename)
-    {
-        return db.getAllAnnotationsFor(filename);
-    }
-    
-	////////////////////////////////////////////////////////////////////////////
-	// PARSER/AST METHODS
-	////////////////////////////////////////////////////////////////////////////
-
-    /** Forces the database to be updated based on the current in-memory AST for the given file. */
-    public void commitChangesFromInMemoryASTs(IProgressMonitor pm, int ticks, String... filenames)
-    {
-        List<String> files = new ArrayList<String>(Arrays.asList(filenames));
-        files = sortFilesAccordingToDependencies(files); //, pm);
-
-        pm = new SubProgressMonitor(pm, ticks, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
-        pm.beginTask(Messages.VPG_PostTransformAnalysis, files.size());
-        for (String thisFile : files)
-        {
-            if (!isVirtualFile(thisFile))
-            {
-                pm.subTask(lastSegmentOfFilename(thisFile));
-                vpgWriter.computeEdgesAndAnnotationsFromModifiedAST(thisFile, acquireTransientAST(thisFile));
-            }
-            pm.worked(1);
-        }
-        pm.done();
-    }
-
-    public static String lastSegmentOfFilename(String filename)
-    {
-        if (filename == null) return ""; //$NON-NLS-1$
-
-        int lastSlash = filename.lastIndexOf('/');
-        int lastBackslash = filename.lastIndexOf('\\');
-        if (lastSlash < 0 && lastBackslash < 0)
-            return filename;
-        else
-            return filename.substring(Math.max(lastSlash + 1, lastBackslash + 1));
-    }
-
-    /**
-     * Returns the source code for the given AST (which may have been modified).
-     * <p>
-     * In preservation-based refactorings, if a transformation will cause an error
-     * in the modified source code, this is used in the refactoring wizard to display
-     * the modified source code and highlight the erroroneous region when the error
-     * list is displayed.  If preservation-based refactorings are not being implemented,
-     * usually it is not necessary to override this method.
-     * 
-     * @return source code for the given AST (which may have been modified), or <code>null</code>
-     *         if this capability is not supported.
-     */
-    public String getSourceCodeFromAST(A ast)
-    {
-        return null;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Files & Resource Filtering
-    ///////////////////////////////////////////////////////////////////////////
-
-    /**
-     * @return all filenames present in the VPG database.
-     * @since 3.0
-     */
-    public Iterable<String> listAllFilenames()
-    {
-        return db.listAllFilenames();
-    }
-
-    /** @since 3.0 */
-    public boolean isOutOfDate(String filename)
-    {
-        return db.isOutOfDate(filename);
-    }
-
-    /**
-     * Returns <code>true</code> iff the given filename refers to a virtual file, i.e., a symbolic
-     * name that does not represent an actual file on disk.
-     * @param filename (non-null)
-     * @return <code>true</code> iff the given filename refers to a virtual file
-     */
-    public boolean isVirtualFile(String filename)
-    {
-        return false;
-    }
-
-    /**
-     * @return true iff the given file should be parsed
-     * @since 3.0
-     */
-    public boolean shouldProcessFile(String filename)
-    {
-        return !isVirtualFile(filename);
-    }
-    
-    ////////////////////////////////////////////////////////////////////////////
-    // HYPOTHETICAL UPDATING
-    ////////////////////////////////////////////////////////////////////////////
-    
-    /** @since 3.0 */
-    public void enterHypotheticalMode() throws IOException
-    {
-        db.enterHypotheticalMode();
-    }
-    
-    /** @since 3.0 */
-    public void leaveHypotheticalMode() throws IOException
-    {
-        db.leaveHypotheticalMode();
-    }
-    
-    /** @since 3.0 */
-    public boolean isInHypotheticalMode()
-    {
-        return db.isInHypotheticalMode();
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // API: INDEXING
-    ////////////////////////////////////////////////////////////////////////////
-    
-    /** Recomputes the edges and annotations for the given file, regardless
-     *  of whether or not the VPG database entries for that file are
-     *  out of date.
-     */
-    public final void forceRecomputationOfDependencies(String filename)
-    {
-        vpgWriter.computeDependencies(filename);
-    }
-
-    /** Recomputes the edges and annotations for the given file, regardless
-     *  of whether or not the VPG database entries for that file are
-     *  out of date.
-     */
-    public final void forceRecomputationOfEdgesAndAnnotations(String filename)
-    {
-        releaseAST(filename);
-        astCache.acquireTransientAST(filename, true, this);
-    }
-
-    /**
-     * Callback method invoked by {@link EclipseVPG} when it detects that a file has been deleted
-     * from the filesystem.
-     * <p>
-     * Typically, implementors should respond by deleting all information (dependencies, edges, and
-     * annotations) for the file, since it no longer exists.
-     * 
-     * @param filename path to the deleted file
-     * 
-     * @since 3.0
-     */
-    public void deleteAllEntriesFor(String filename)
-    {
-        log.clearEntriesFor(filename);
-        db.deleteAllEntriesFor(filename);
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // UTILITY METHODS - DATABASE
-    ////////////////////////////////////////////////////////////////////////////
-    
-    /** @since 3.0 */
-    public void resetDatabaseStatistics()
-    {
-        db.resetStatistics();
-    }
-    
-    /** @since 3.0 */
-    public void printDatabaseStatisticsOn(PrintStream out)
-    {
-        db.printStatisticsOn(out);
-    }
-    
-    /** @since 3.0 */
-    public void printDatabaseOn(PrintStream out)
-    {
-        db.printOn(out);
-    }
-    
-    /** @since 3.0 */
-    public void clearDatabase()
-    {
-        db.clearDatabase();
-    }
-    
-    /**
-     * Forces any in-memory data to be flushed to disk
-     * @since 3.0
-     */
-    public void flushDatabase()
-    {
-        db.flush();
-    }
-
-    /** Called when the database is no longer needed.  Typically ensures that
-     * any data in memory is flushed to disk and any locks are released.
-     */
-    public void close()
-    {
-        db.close();
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // UTILITY METHODS - DESCRIPTION/DEBUGGING
-    ////////////////////////////////////////////////////////////////////////////
-
-    public String describeEdgeType(int edgeType)
-    {
-        return Messages.bind(Messages.VPG_EdgeOfType, edgeType);
-    }
-
-    public String describeAnnotationType(int annotationType)
-    {
-        return Messages.bind(Messages.VPG_AnnotationOfType, annotationType);
-    }
-
-    /**
-     * 
-     * @param message
-     * @param filename (possibly <code>null</code>
-     * 
-     * @since 3.0
-     */
-    public void debug(String message, String filename)
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGDB.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGDB.java
deleted file mode 100644
index a34bb6a..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGDB.java
+++ /dev/null
@@ -1,417 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg;
-
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.rephraserengine.core.util.Pair;
-import org.eclipse.rephraserengine.core.vpg.db.profiling.ProfilingDB;
-
-/**
- * A VPG database, which stores dependencies, edges, and annotations.
- * 
- * @author Jeff Overbey
- * 
- * @param <A> AST type
- * @param <T> token type
- * @param <R> {@link IVPGNode}/{@link NodeRef} type
- *
- * @since 1.0
- */
-public abstract class VPGDB<A, T, R extends IVPGNode<T>>
-{
-    ///////////////////////////////////////////////////////////////////////////
-    // Constants
-    ///////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Constant that can be passed to <code>getIncoming/OutgoingEdge...()</code> to
-     * indicate that edges of all types should be returned.
-     */
-    public static final int ALL_EDGES = Integer.MIN_VALUE;
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Fields
-    ///////////////////////////////////////////////////////////////////////////
-
-    /** @since 3.0 */
-    protected final IVPGComponentFactory<A, T, R> factory;
-    
-    ///////////////////////////////////////////////////////////////////////////
-    // Constructors
-    ///////////////////////////////////////////////////////////////////////////
-
-    /** @since 3.0 */
-    public VPGDB(IVPGComponentFactory<A, T, R> factory)
-    {
-        this.factory = factory;
-    }
-    
-    /**
-     * Constructor for use by subclasses that wrap another database (e.g., {@link ProfilingDB}.
-     * <p>
-     * Rather than providing an explicit {@link IVPGComponentFactory}, this uses the locator from the
-     * wrapped database.
-     * 
-     * @since 3.0
-     */
-    protected VPGDB(VPGDB<A, T, R> wrappedDB)
-    {
-        this.factory = wrappedDB.factory;
-    }
-    
-    ///////////////////////////////////////////////////////////////////////////
-    // API
-    ///////////////////////////////////////////////////////////////////////////
-
-    /** Forces any in-memory data to be flushed to disk */
-    public abstract void flush();
-
-    /** Called when the database is no longer needed.  Typically ensures that
-     * any data in memory is flushed to disk and any locks are released.
-     */
-    public abstract void close();
-
-    /** Removes ALL data from the database; also clears the error/warning log. */
-    public abstract void clearDatabase();
-
-    // HYPOTHETICAL UPDATING ///////////////////////////////////////////////////
-    
-    public abstract void enterHypotheticalMode() throws IOException;
-    
-    public abstract void leaveHypotheticalMode() throws IOException;
-    
-    public abstract boolean isInHypotheticalMode();
-
-    // FILES ///////////////////////////////////////////////////////////////////
-
-    /** Marks the VPG database entries for the given file as being up-to-date. */
-    public abstract void updateModificationStamp(String filename);
-
-    /** @return true iff the VPG entries for the given file are not up-to-date */
-    public abstract boolean isOutOfDate(String filename);
-
-    /** Removes all dependencies, edges, and annotations for the given file. */
-    public abstract void deleteAllEntriesFor(String filename);
-
-    /** Removes all edges and annotations (but not dependencies) for the given file. */
-    public abstract void deleteAllEdgesAndAnnotationsFor(String filename);
-
-    /** Removes all edges pointing inward to any token in the given file. */
-    public abstract void deleteAllIncomingDependenciesFor(String filename);
-
-    /** Removes all edges pointing outward from any token in the given file. */
-    public abstract void deleteAllOutgoingDependenciesFor(String filename);
-
-    /** Returns all filenames present in the VPG database. */
-    public abstract Iterable<String> listAllFilenames();
-
-    /** Returns the name of every file on which at least one other file is
-     *  dependent. */
-    public abstract Iterable<String> listAllFilenamesWithDependents();
-
-    /** Returns the name of every file which depends on at least one other
-     *  file. */
-    public abstract Iterable<String> listAllDependentFilenames();
-
-    // DEPENDENCIES ////////////////////////////////////////////////////////////
-
-    /** Adds the given dependency to the VPG database if a dependency between
-     *  its files does not already exist. */
-    public abstract void ensure(VPGDependency<A, T, R> dependency);
-
-    /** Deletes the given dependency from the VPG database. */
-    public abstract void delete(VPGDependency<A, T, R> dependency);
-
-    /** @return all of the files on which the given file depends */
-    public abstract Iterable<String> getOutgoingDependenciesFrom(String filename);
-
-    /** @return all of the files dependent on the given file */
-    public abstract Iterable<String> getIncomingDependenciesTo(String filename);
-    
-    /** @since 3.0 */
-    public List<String> sortFilesAccordingToDependencies(final List<String> files)
-    {
-        // Enqueue the reflexive transitive closure of the dependencies
-        for (int i = 0; i < files.size(); i++)
-            enqueueNewDependents(files.get(i), files);
-
-        // Topological Sort -- from Cormen et al. pp. 550, 541
-        class DFS
-        {
-            final Integer WHITE = 0, GRAY = 1, BLACK = 2;
-
-            final int numFiles = files.size();
-            ArrayList<String> result = new ArrayList<String>(numFiles);
-            HashMap<String, Integer> color = new HashMap<String, Integer>();
-            int time;
-
-            DFS()
-            {
-                for (String filename : files)
-                    color.put(filename, WHITE);
-
-                time = 0;
-
-                for (String filename : files)
-                    if (color.get(filename) == WHITE)
-                        dfsVisit(filename);
-            }
-
-            private void dfsVisit(String u)
-            {
-                color.put(u, GRAY);
-                time++;
-
-                for (String v : getIncomingDependenciesTo(u))
-                    if (color.get(v) == WHITE)
-                        dfsVisit(v);
-
-                color.put(u, BLACK);
-                result.add(0, u);
-            }
-        }
-
-        return new DFS().result;
-    }
-
-    private void enqueueNewDependents(String filename, List<String> dependents)
-    {
-        for (String f : findAllFilesDependentUpon(filename))
-            if (!dependents.contains(f))
-                dependents.add(f);
-    }
-
-    private Set<String> findAllFilesDependentUpon(String filename)
-    {
-        Set<String> dependents = new HashSet<String>();
-
-        for (String dependentFilename : getIncomingDependenciesTo(filename))
-            dependents.add(dependentFilename);
-
-        return dependents;
-    }
-
-    // EDGES ///////////////////////////////////////////////////////////////////
-
-    /** Adds the given edge to the VPG database if an edge of the given type
-     *  between its tokens does not already exist. */
-    public abstract void ensure(VPGEdge<A, T, R> edge);
-
-    /** Deletes the given edge from the VPG database. */
-    public abstract void delete(VPGEdge<A, T, R> edge);
-
-    /**
-     * Returns a list of all of the edges with at least one endpoint in the given file.
-     * <p>
-     * Due to implementation details, some edges may be listed more than once.
-     */
-    public abstract Iterable<? extends VPGEdge<A, T, R>> getAllEdgesFor(String filename);
-
-    /**
-     * Returns a list of the edges extending from the given token.
-     * <p>
-     * To only return edges of a particular type, set the <code>edgeType</code>
-     * parameter to that type.
-     *
-     * @param edgeType the type of edge (an arbitrary non-negative integer), or
-     *                 {@link VPG#ALL_EDGES} to return all edges, regardless
-     *                 of type
-     * @since 3.0
-     */
-    public abstract Iterable<? extends VPGEdge<A, T, R>> getOutgoingEdgesFrom(R tokenRef, int edgeType);
-
-    /**
-     * Returns a list of the edges pointing at the given token.
-     * <p>
-     * To only return edges of a particular type, set the <code>edgeType</code>
-     * parameter to that type.
-     *
-     * @param edgeType the type of edge (an arbitrary non-negative integer), or
-     *                 {@link VPG#ALL_EDGES} to return all edges, regardless
-     *                 of type
-     * @since 3.0
-     */
-    public abstract Iterable<? extends VPGEdge<A, T, R>> getIncomingEdgesTo(R tokenRef, int edgeType);
-
-    /**
-     * Returns a list of the tokens pointed at by an edge extending from the given token.
-     * <p>
-     * To only return edges of a particular type, set the <code>edgeType</code>
-     * parameter to that type.
-     *
-     * @param edgeType the type of edge (an arbitrary non-negative integer), or
-     *                 {@link VPG#ALL_EDGES} to process all edges, regardless
-     *                 of type
-     * @since 3.0
-     */
-    public Iterable<R> getOutgoingEdgeTargets(R tokenRef, int edgeType)
-    {
-        return new EdgeIterable<A, T, R>(getOutgoingEdgesFrom(tokenRef, edgeType), false);
-    }
-
-    /**
-     * Returns a list of the tokens which have an edges pointing at the given token.
-     * <p>
-     * To only return edges of a particular type, set the <code>edgeType</code>
-     * parameter to that type.
-     *
-     * @param edgeType the type of edge (an arbitrary non-negative integer), or
-     *                 {@link VPG#ALL_EDGES} to process all edges, regardless
-     *                 of type
-     * @since 3.0
-     */
-    public Iterable<R> getIncomingEdgeSources(R tokenRef, int edgeType)
-    {
-        return new EdgeIterable<A, T, R>(getIncomingEdgesTo(tokenRef, edgeType), true);
-    }
-
-    // ANNOTATIONS /////////////////////////////////////////////////////////////
-
-    /**
-     * Annotates the given token with the given (serializable) object
-     * (which may be <code>null</code>).
-     * If an annotation for the given token with the given ID already exists,
-     * it will be replaced.
-     * <p>
-     * A token can have several annotations, but each annotation must be given
-     * a unique ID.  For example, annotation 0 might describe
-     * the type of an identifier, while annotation 1 might hold documentation
-     * for that identifier.
-     * 
-     * @since 3.0
-     */
-    public abstract void setAnnotation(R token, int annotationID, Serializable annotation);
-
-    /** @since 3.0 */
-    public void setAnnotation(R token, Enum<?> annotationID, Serializable annotation)
-    {
-        setAnnotation(token, annotationID.ordinal(), annotation);
-    }
-
-    /** Deletes the annotation with the given ID for the given token, if it exists.
-     * @since 3.0
-     */
-    public abstract void deleteAnnotation(R token, int annotationID);
-
-    /** @since 3.0 */
-    public void deleteAnnotation(R token, Enum<?> annotationID)
-    {
-        deleteAnnotation(token, annotationID.ordinal());
-    }
-
-    /** @return the annotation with the given ID for the given token, or <code>null</code>
-     *  if it does not exist
-     * @since 3.0
-     */
-    public abstract Serializable getAnnotation(R tokenRef, int annotationID);
-
-    /** @since 3.0 */
-    public Serializable getAnnotation(R tokenRef, Enum<?> annotationID)
-    {
-        return getAnnotation(tokenRef, annotationID.ordinal());
-    }
-
-    /**
-     * Returns a list of all of the annotations in the given file.
-     * <p>
-     * The first entry of each pair is a {@link IVPGNode}, and the second is an annotation type.
-     * The annotation can be retrieved using {@link VPGDB#getAnnotation(VPGNode, int)}.
-     * <p>
-     * Due to implementation details, some annotations may be listed more than once.
-     * 
-     * @since 3.0
-     */
-    public abstract Iterable<Pair<R, Integer>> getAllAnnotationsFor(String filename);
-    
-    // UTILITY METHODS /////////////////////////////////////////////////////////
-
-    public abstract void printOn(PrintStream out);
-
-    public abstract void printStatisticsOn(PrintStream out);
-
-    public abstract void resetStatistics();
-
-    /** @since 3.0 */
-    public String describeEdgeType(int edgeType)
-    {
-        return Messages.bind(Messages.VPGDB_EdgeOfType, edgeType);
-    }
-
-    /** @since 3.0 */
-    public String describeAnnotationType(int annotationType)
-    {
-        return Messages.bind(Messages.VPGDB_AnnotationOfType, annotationType);
-    }
-
-    /** @since 3.0 */
-    public String describeToken(String filename, int offset, int length)
-    {
-        return Messages.bind(Messages.VPGDB_FilenameOffsetLength,
-                             new Object[] { filename, offset, length });
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // UTILITY CLASSES
-    ////////////////////////////////////////////////////////////////////////////
-
-    @SuppressWarnings("hiding")
-    private class EdgeIterable<A, T, R extends IVPGNode<T>> implements Iterable<R>
-    {
-        private Iterable<? extends VPGEdge<A, T, R>> edges;
-        private boolean returnSources;
-
-        EdgeIterable(Iterable<? extends VPGEdge<A, T, R>> edges, boolean returnSources)
-        {
-            this.edges = edges;
-            this.returnSources = returnSources;
-        }
-
-        public Iterator<R> iterator()
-        {
-            final Iterator<? extends VPGEdge<A, T, R>> edgeIterator = edges.iterator();
-
-            return new Iterator<R>()
-            {
-                public boolean hasNext()
-                {
-                    return edgeIterator.hasNext();
-                }
-
-                public R next()
-                {
-                    try
-                    {
-                        VPGEdge<A, T, R> edge = edgeIterator.next();
-                        return returnSources ? edge.getSource() : edge.getSink();
-                    }
-                    catch (Exception e)
-                    {
-                        throw new Error(e);
-                    }
-                }
-
-                public void remove()
-                {
-                    throw new UnsupportedOperationException();
-                }
-            };
-        }
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGDependency.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGDependency.java
deleted file mode 100755
index b728cd7..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGDependency.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.rephraserengine.core.vpg;

-

-import java.io.Serializable;

-

-/**

- * A dependency in a VPG between two files.

- * <a href="../../../overview-summary.html#DEA">More Information</a>

- *

- * @author Jeff Overbey

- * 

- * @param <A> AST type

- * @param <T> token type

- * @param <R> {@link IVPGNode}/{@link NodeRef} type

- *

- * @since 1.0

- */

-public class VPGDependency<A, T, R extends IVPGNode<T>> implements Serializable

-{

-    private static final long serialVersionUID = 1L;

-

-    private String dependentFile;

-	private String dependsOnFile;

-

-    /**

-     * Constructor. Creates a dependency between two files in the given VPG.

-     * <p>

-     * The dependency is <i>not</i> added to the VPG database automatically.

-     * 

-     * @since 3.0

-     */

-	public VPGDependency(String dependencyFrom, String dependsOn)

-	{

-		this.dependentFile = dependencyFrom;

-		this.dependsOnFile = dependsOn;

-	}

-

-    ///////////////////////////////////////////////////////////////////////////

-    // Accessors

-    ///////////////////////////////////////////////////////////////////////////

-

-	/** @return the file which is dependent upon another file */

-	public String getDependentFile()

-	{

-		return dependentFile;

-	}

-

-	/** @return the file which is depended upon */

-	public String getDependsOnFile()

-	{

-		return dependsOnFile;

-	}

-}

diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGEdge.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGEdge.java
deleted file mode 100755
index d9d3adf..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGEdge.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.rephraserengine.core.vpg;

-

-import java.io.Serializable;

-

-import org.eclipse.rephraserengine.core.preservation.ReplacementList;

-

-/**

- * A semantic edge in a VPG.

- * <a href="../../../overview-summary.html#DEA">More Information</a>

- *

- * @author Jeff Overbey

- * 

- * @param <A> AST type

- * @param <T> token type

- * @param <R> {@link IVPGNode}/{@link NodeRef} type

- *

- * @since 1.0

- */

-public final class VPGEdge<A, T, R extends IVPGNode<T>> implements Comparable<VPGEdge<?,?,?>>, Serializable

-{

-    private static final long serialVersionUID = 1L;

-

-    /**

-     * @since 3.0

-     */

-    public static enum Classification

-    {

-        INCOMING,

-        OUTGOING,

-        INTERNAL,

-        EXTERNAL

-    }

-    

-    /** @since 2.0 */

-    protected final R source;

-    /** @since 2.0 */

-    protected final R sink;

-    /** @since 2.0 */

-    protected final int type;

-    /** @since 3.0 */

-    protected transient VPGEdge<A, T, R> origEdge;

-

-	/**

-	 * Constructor. Creates an edge of the given type between the given tokens in the given VPG.

-	 * <p>

-	 * The edge is <i>not</i> added to the VPG database automatically.

-	 * 

-	 * @since 3.0

-	 */

-	public VPGEdge(R source, R sink, int type)

-	{

-		this.source = source;

-		this.sink = sink;

-		this.type = type;

-		this.origEdge = this;

-	}

-

-    /**

-     * Constructor. Creates an edge of the given type between the given tokens in the given VPG.

-     * <p>

-     * The edge is <i>not</i> added to the VPG database automatically.

-     * 

-     * @since 3.0

-     */

-    public VPGEdge(R source, R sink, Enum<?> type)

-    {

-        this(source, sink, type.ordinal());

-    }

-

-    ///////////////////////////////////////////////////////////////////////////

-    // Accessors

-    ///////////////////////////////////////////////////////////////////////////

-

-	/**

-	 * @return a TokenRef describing the token from which this edge emanates

-     * @since 3.0

-     */

-	public R getSource()

-	{

-		return source;

-	}

-

-    /**

-     * @return a TokenRef describing the token to which this edge points

-     * @since 3.0

-     */

-	public R getSink()

-	{

-		return sink;

-	}

-

-    /** @return the type of this edge */

-    public int getType()

-    {

-        return type;

-    }

-

-    /**

-     * @return the original edge, if this edge is a projection created by

-     *         {@link #projectInitial(ReplacementList)} or {@link #projectFinal(ReplacementList)}

-     * 

-     * @since 3.0

-     */

-    public VPGEdge<A, T, R> getOriginalEdge()

-    {

-        return origEdge;

-    }

-

-    ///////////////////////////////////////////////////////////////////////////

-    // Utility Methods

-    ///////////////////////////////////////////////////////////////////////////

-

-    /** @return the token from which this edge emanates

-     * (i.e., a pointer to the token in an AST) */

-	public T findSource() throws Exception

-	{

-		return source.getASTNode();

-	}

-

-    /** @return the token to which this edge points

-     * (i.e., a pointer to the token in an AST) */

-	public T findSink() throws Exception

-	{

-		return sink.getASTNode();

-	}

-

-    ///////////////////////////////////////////////////////////////////////////

-

-	/** @since 3.0 */

-    public int compareTo(VPGEdge<?,?,?> that)

-    {

-        int result = 0;

-        

-        if (this.type < that.type)

-            result = -1;

-        else if (this.type > that.type)

-            result = 1;

-        if (result != 0) return result;

-        

-        result = this.getClassification().compareTo(that.getClassification());

-        if (result != 0) return result;

-

-        if (this.source != null && that.source == null)

-            result = -1;

-        else if (this.source == null && that.source != null)

-            result = 1;

-        else if (this.source != null && that.source != null)

-            result = this.source.compareTo(that.source);

-        if (result != 0) return result;

-        

-        if (this.sink != null && that.sink == null)

-            result = -1;

-        else if (this.sink == null && that.sink != null)

-            result = 1;

-        else if (this.sink != null && that.sink != null)

-            result = this.sink.compareTo(that.sink);

-        return result;

-    }

-

-	@Override public String toString()

-	{

-		return "Edge of type " + type + " from " + source + " to " + sink; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

-	}

-

-    /**

-     * @return the initial model projection of this edge

-     * 

-     * @since 3.0

-     */

-    public VPGEdge<A, T, R> projectInitial(ReplacementList replacements, VPG<A,T,R> vpg)

-    {

-        R srcProj = replacements.projectInitial(source, vpg);

-        R sinkProj = replacements.projectInitial(sink, vpg);

-        VPGEdge<A, T, R> result = new VPGEdge<A, T, R>(srcProj, sinkProj, type);

-        result.origEdge = this;

-        return result;

-    }

-

-    /**

-     * @return the final model projection of this edge

-     * 

-     * @since 3.0

-     */

-    public VPGEdge<A, T, R> projectFinal(ReplacementList replacements, VPG<A,T,R> vpg)

-    {

-        R srcProj = replacements.projectFinal(source, vpg);

-        R sinkProj = replacements.projectFinal(sink, vpg);

-        VPGEdge<A, T, R> result = new VPGEdge<A, T, R>(srcProj, sinkProj, type);

-        result.origEdge = this;

-        return result;

-    }

-

-    /**

-     * @return the classification of this edge

-     * 

-     * @since 3.0

-     */

-    public Classification getClassification()

-    {

-        if (source != null && sink != null)

-            return Classification.EXTERNAL;

-        else if (source != null && sink == null)

-            return Classification.INCOMING;

-        else if (source == null && sink != null)

-            return Classification.OUTGOING;

-        else // (source == null && sink == null)

-            return Classification.INTERNAL;

-    }

-}

diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGLog.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGLog.java
deleted file mode 100644
index 416b7fc..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGLog.java
+++ /dev/null
@@ -1,433 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.PrintStream;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-/**
- * VPG error/warning log.
- * 
- * @author Jeff Overbey
- * @author Kurt Hendle
- * 
- * @param <T> token type
- * @param <R> {@link IVPGNode}/{@link NodeRef} type
- * 
- * @since 1.0
- */
-public final class VPGLog<T, R extends IVPGNode<T>>
-{
-    public class Entry
-	{
-		private boolean isWarning;
-		private String message;
-		private R tokenRef;
-
-		/** @since 3.0 */
-		public Entry(boolean isWarningOnly, String message, R tokenRef)
-		{
-			this.isWarning = isWarningOnly;
-			this.message = message;
-			this.tokenRef = tokenRef;
-		}
-
-	    ///////////////////////////////////////////////////////////////////////////
-	    // Accessors
-	    ///////////////////////////////////////////////////////////////////////////
-
-		/** @return true iff this in a warning entry */
-		public boolean isWarning()
-		{
-			return isWarning;
-		}
-
-		/** @return true iff this is an error entry */
-		public boolean isError()
-		{
-			return !isWarning;
-		}
-
-		/** @return the message to display to the user */
-		public String getMessage()
-		{
-			return message;
-		}
-
-		/** @return the token associated with this error message, or <code>null</code> 
-		 * @since 3.0*/
-		public R getTokenRef()
-		{
-			return tokenRef;
-		}
-	}
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Fields
-    ///////////////////////////////////////////////////////////////////////////
-
-    /** @since 3.0 */
-    protected final File logFile;
-    
-    /** @since 3.0 */
-    protected IVPGComponentFactory<?, T, R> locator;
-    
-    ///////////////////////////////////////////////////////////////////////////
-    // Constructor
-    ///////////////////////////////////////////////////////////////////////////
-
-    /**
-     * @since 3.0
-     */
-    public VPGLog(File logFile, IVPGComponentFactory<?, T, R> locator)
-    {
-        this.logFile = logFile;
-        this.locator = locator;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // API
-    ///////////////////////////////////////////////////////////////////////////
-
-    /** The entries in the log */
-	protected List<Entry> log = new ArrayList<Entry>();
-
-	/** Clears the error/warning log. */
-	public void clear()
-	{
-		log.clear();
-		notifyListeners();
-	}
-
-	/** Removes all entries for the given file from the error/warning log. */
-	public void clearEntriesFor(String filename)
-	{
-	    List<Entry> newLog = new LinkedList<Entry>();
-
-	    // Iterate using indices to avoid ConcurrentModificationException
-		for (int i = 0; i < log.size(); i++)
-		{
-		    Entry entry = log.get(i);
-			R tokenRef = entry.getTokenRef();
-			if (tokenRef == null || !tokenRef.getFilename().equals(filename))
-				newLog.add(entry);
-		}
-
-		log = newLog;
-
-		notifyListeners();
-	}
-
-	/**
-	 * Adds the given warning to the error/warning log.
-	 *
-	 * @param message the warning message to display to the user
-	 */
-	public void logWarning(String message)
-	{
-		log.add(new Entry(true, message, null));
-		notifyListeners();
-	}
-
-    /**
-     * Adds the given warning to the error/warning log.
-     *
-     * @param message the warning message to display to the user
-     * @param filename the file with which the warning is associated
-     */
-	public void logWarning(String message, String filename)
-	{
-		log.add(new Entry(true, message, locator.getVPGNode(filename, 0, 0)));
-		notifyListeners();
-	}
-
-    /**
-     * Adds the given warning to the error/warning log.
-     *
-     * @param message the warning message to display to the user
-     * @param tokenRef a specific token with which the warning is associated;
-     *                 for example, if an identifier was used without being
-     *                 initialized, it could reference that identifier
-     * @since 3.0
-     */
-	public void logWarning(String message, R tokenRef)
-	{
-		log.add(new Entry(true, message, tokenRef));
-		notifyListeners();
-	}
-
-    /**
-     * Adds the given error to the error/warning log.
-     *
-     * @param e an exception that will be displayed to the user
-     */
-    public void logError(Throwable e)
-    {
-        logError(e, null);
-    }
-
-    /**
-     * Adds the given error to the error/warning log.
-     *
-     * @param e an exception that will be displayed to the user
-     * @param tokenRef a specific token with which the warning is associated;
-     *                 for example, if an identifier was used without being
-     *                 initialized, it could reference that identifier
-     * @since 3.0
-     */
-	public void logError(Throwable e, R tokenRef)
-	{
-		StringBuilder sb = new StringBuilder();
-		sb.append(e.getClass().getName());
-		sb.append(": "); //$NON-NLS-1$
-		sb.append(e.getMessage());
-		sb.append("\n"); //$NON-NLS-1$
-		ByteArrayOutputStream bs = new ByteArrayOutputStream();
-		e.printStackTrace(new PrintStream(bs));
-		sb.append(bs);
-
-		log.add(new Entry(false, sb.toString(), tokenRef));
-		notifyListeners();
-	}
-
-    /**
-     * Adds the given error to the error/warning log.
-     *
-     * @param message the error message to display to the user
-     */
-	public void logError(String message)
-	{
-		log.add(new Entry(false, message, null));
-		notifyListeners();
-	}
-
-//    /**
-//     * Adds the given error to the error/warning log.
-//     *
-//     * @param message the error message to display to the user
-//     * @param filename the file with which the warning is associated
-//     */
-//	public void logError(String message, String filename)
-//	{
-//		log.add(new Entry(false, message, createTokenRef(filename, 0, 0)));
-//		notifyListeners();
-//	}
-
-    /**
-     * Adds the given error to the error/warning log.
-     *
-     * @param message the error message to display to the user
-     * @param tokenRef a specific token with which the error is associated;
-     *                 for example, if an identifier was used but not
-     *                 declared, it could reference that identifier
-     * @since 3.0
-     */
-	public void logError(String message, R tokenRef)
-	{
-		log.add(new Entry(false, message, tokenRef));
-		notifyListeners();
-	}
-
-	/** @return true iff at least one error exists in the error/warning log */
-	public boolean hasErrorsLogged()
-	{
-        for (int i = 0; i < log.size(); i++)
-            if (log.get(i).isError())
-				return true;
-
-		return false;
-	}
-
-    /** @return true iff at least one entry exists in the error/warning log */
-	public boolean hasErrorsOrWarningsLogged()
-	{
-		return !log.isEmpty();
-	}
-
-	/** @return the error/warning log */
-	public List<Entry> getEntries()
-	{
-		return log;
-	}
-
-	/** Prints the error/warning log on the given <code>PrintStream</code> */
-	public void printOn(PrintStream out)
-	{
-        for (int i = 0; i < log.size(); i++)
-        {
-            Entry entry = log.get(i);
-
-	        out.print(entry.isError() ? Messages.VPGLog_ErrorLabel : Messages.VPGLog_WarningLabel);
-	        out.println(entry.getMessage());
-
-	        R t = entry.getTokenRef();
-	        if (t != null)
-	        {
-	            out.print(
-	                Messages.bind(
-	                    Messages.VPGLog_FilenameOffsetLength,
-	                    new Object[] { t.getFilename(), t.getOffset(), t.getLength() }));
-	        }
-	    }
-	}
-
-	////////////////////////////////////////////////////////////////////////////////
-	// Listener Support
-    ////////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * An object which acts as an Observer [GoF] on the VPG error/warning log.
-     *
-     * @author Jeff Overbey
-     */
-    public static interface ILogListener
-    {
-        /** Callback method invoked when the VPG error/warning log changes. */
-        void onLogChange();
-    }
-
-    private Set<ILogListener> listeners = new HashSet<ILogListener>();
-
-    /** Adds the given object as a Observer [GoF] of the VPG error/warning log */
-    public void addLogListener(ILogListener listener)
-    {
-        listeners.add(listener);
-        listener.onLogChange();
-    }
-
-    /** Removes the given object as a Observer [GoF] of the VPG error/warning log */
-    public void removeLogListener(ILogListener listener)
-    {
-        listeners.remove(listener);
-    }
-
-    protected void notifyListeners()
-    {
-        for (ILogListener listener : listeners)
-            listener.onLogChange();
-    }
-    
-    ////////////////////////////////////////////////////////////////////////////////
-    // Persistence Support
-    ////////////////////////////////////////////////////////////////////////////////
-
-    private static final String EOL = System.getProperty("line.separator"); //$NON-NLS-1$
-
-    private static final String EOL_ESCAPE = "&EOL;"; //$NON-NLS-1$
-    
-    /**
-     * Writes the log to a file.
-     * @since 2.0
-     */
-    public void writeToFile() throws IOException
-    {
-        Writer output = new BufferedWriter(new FileWriter(logFile));
-        
-        try
-        {
-            R tokenRef = null;
-            for (int i = 0; i < log.size(); i++)
-            {
-                Entry entry = log.get(i);
-
-                output.write(Boolean.toString(entry.isWarning())+
-                    EOL);
-                
-                tokenRef = entry.getTokenRef();
-                if (tokenRef == null)
-                    output.write(EOL);
-                else
-                    output.write(tokenRef.getFilename() + "," + //$NON-NLS-1$
-                        Integer.toString(tokenRef.getOffset()) + "," + //$NON-NLS-1$
-                        Integer.toString(tokenRef.getLength()) +
-                        EOL);
-                
-                output.write(entry.getMessage().replaceAll(EOL, EOL_ESCAPE) + EOL);
-            }
-        }
-        finally
-        {
-            output.close();
-        }
-    }
-    
-    /**
-     * Reads the log which from a file back into memory.
-     * <p>
-     * Log entries have the format:
-     * <pre>
-     *      isWarning
-     *      TokenRef filename, offset, length
-     *      message
-     * </pre>
-     * @since 2.0
-     */
-    public void readLogFromFile()
-    {
-        try
-        {
-            FileInputStream fstream = new FileInputStream(logFile);
-            BufferedReader bRead = new BufferedReader(new InputStreamReader(fstream));
-            
-            clear();
-            
-            String line;
-            while ((line = bRead.readLine()) != null)
-            {
-                boolean isWarning = Boolean.parseBoolean(line);
-                
-                //read tokenRef values
-                line = bRead.readLine();
-                R tokenRef;
-                if (line.trim().equals("")) //$NON-NLS-1$
-                {
-                    tokenRef = null;
-                }
-                else
-                {
-                    String[] tokenRefString = line.split("\\,"); //$NON-NLS-1$
-                    tokenRef = locator.getVPGNode(
-                        tokenRefString[0],
-                        Integer.parseInt(tokenRefString[1]),
-                        Integer.parseInt(tokenRefString[2]));
-                }
-                
-                //read message
-                line = bRead.readLine();
-                log.add(new Entry(isWarning, line.replaceAll(EOL_ESCAPE, EOL), tokenRef));
-            }
-            
-            bRead.close();
-            fstream.close();
-        }
-        catch (Exception e)
-        {
-            return;
-        }
-        finally
-        {
-            notifyListeners();
-        }
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGWriter.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGWriter.java
deleted file mode 100644
index 4df8bf3..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/VPGWriter.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg;
-
-/**
- * Strategy object which populates a VPG database ({@link VPGDB}).
- * 
- * @author Jeff Overbey
- * 
- * @since 3.0
- */
-public abstract class VPGWriter<A, T, R extends IVPGNode<T>>
-{
-    /** The VPG database, which persists edges and annotations. */
-    protected final VPGDB<A, T, R> db;
-
-    /** The VPG error/warning log. */
-    protected final VPGLog<T, R> log;
-
-    ////////////////////////////////////////////////////////////////////////////
-    // CONSTRUCTOR
-    ////////////////////////////////////////////////////////////////////////////
-
-    protected VPGWriter(VPGDB<A, T, R> db, VPGLog<T, R> log)
-    {
-        this.db = db;
-        this.log = log;
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // CALLBACKS: VPG POPULATION
-    ////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Calculates dependencies for the given file.
-     * @param filename (non-null)
-     */
-    public abstract void computeDependencies(String filename);
-
-    /**
-     * Computes dependencies, edges, and annotations for the given file, adding them to the VPG
-     * database.
-     * <p>
-     * If the parser was unable to parse the given file, the AST will be <code>null</code>.
-     * 
-     * @param filename the name of the parsed file (not null)
-     * @param ast the AST for the given file, as returned from the parser (possibly null)
-     */
-    protected abstract void populateVPG(String filename, A ast);
-
-    public void computeEdgesAndAnnotations(String filename, A ast)
-    {
-        // Log cleared prior to parse -- log.clearEntriesFor(filename);
-        
-        if (db instanceof DemandDB<?,?,?>) ((DemandDB<A,T,R>)db).lazyComputationEnabled = false;
-        db.deleteAllEdgesAndAnnotationsFor(filename);
-        populateVPG(filename, ast);
-        db.updateModificationStamp(filename);
-        if (db instanceof DemandDB<?,?,?>) ((DemandDB<A,T,R>)db).lazyComputationEnabled = true;
-    }
-
-    public void computeEdgesAndAnnotationsFromModifiedAST(String filename, A ast)
-    {
-        computeEdgesAndAnnotations(filename, ast);
-    }
-    
-    public ILazyVPGPopulator[] getLazyEdgePopulators()
-    {
-        return new ILazyVPGPopulator[0];
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/caching/CachingDB.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/caching/CachingDB.java
deleted file mode 100644
index c88cbf3..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/caching/CachingDB.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg.db.caching;
-
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.NoSuchElementException;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.rephraserengine.core.util.Pair;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.NodeRef;
-import org.eclipse.rephraserengine.core.vpg.VPGDB;
-import org.eclipse.rephraserengine.core.vpg.VPGDependency;
-import org.eclipse.rephraserengine.core.vpg.VPGEdge;
-import org.eclipse.rephraserengine.core.vpg.db.cdt.CDTDB;
-
-/**
- * Base class for a typical Virtual Program Graph database the caches the result of another
- * (on-disk) database (usually a {@link CDTDB}).
- *
- * @author Jeff Overbey
- *
- * @param <A> AST type
- * @param <T> token type
- * @param <R> {@link IVPGNode}/{@link NodeRef} type
- * 
- * @since 1.0
- */
-public class CachingDB<A, T, R extends IVPGNode<T>>
-     extends VPGDB<A, T, R>
-{
-    private final class CacheKey
-    {
-        public final R tokenRef;
-        public final int id;
-
-        public CacheKey(R tokenRef, int edgeType)
-        {
-            this.tokenRef = tokenRef;
-            this.id = edgeType;
-        }
-
-        @SuppressWarnings("unchecked")
-        @Override public boolean equals(Object o)
-        {
-            try
-            {
-                if (o == null) return false;
-                CacheKey other = (CacheKey)o;
-                return this.tokenRef.equals(other.tokenRef)
-                    && this.id == other.id;
-            }
-            catch (ClassCastException e)
-            {
-                return false;
-            }
-        }
-
-        @Override public int hashCode()
-        {
-            return tokenRef.hashCode() * 17 + id;
-        }
-    }
-
-    public VPGDB<A, T, R> db;
-
-    private int maxEdgeCacheEntries;
-    private int maxAnnotationCacheEntries;
-
-    private HashMap<CacheKey, Iterable<? extends VPGEdge<A, T, R>>> incomingEdgeCache;
-    private HashMap<CacheKey, Iterable<? extends VPGEdge<A, T, R>>> outgoingEdgeCache;
-    private HashMap<CacheKey, Serializable> annotationCache;
-
-    private long edgeHits = 0, edgeMisses = 0, totalEdgeListBuildTime = 0;
-    private long annotationHits = 0, annotationMisses = 0, totalDeserializationTime = 0;
-
-    public CachingDB(VPGDB<A, T, R> diskDatabase)
-    {
-        this(diskDatabase, Integer.MAX_VALUE, Integer.MAX_VALUE);
-    }
-
-    public CachingDB(VPGDB<A, T, R> diskDatabase, int maxEdgeCacheEntries, int maxAnnotationCacheEntries)
-    {
-        super(diskDatabase);
-
-        Assert.isNotNull(diskDatabase);
-        Assert.isTrue(diskDatabase != this);
-        Assert.isTrue(maxEdgeCacheEntries > 0, "maxEdgeCacheEntries must be a positive integer"); //$NON-NLS-1$
-        Assert.isTrue(maxAnnotationCacheEntries > 0, "maxAnnotationCacheEntries must be a positive integer"); //$NON-NLS-1$
-
-        this.db = diskDatabase;
-        this.maxEdgeCacheEntries = maxEdgeCacheEntries;
-        this.maxAnnotationCacheEntries = maxAnnotationCacheEntries;
-        this.incomingEdgeCache = new HashMap<CacheKey, Iterable<? extends VPGEdge<A, T, R>>>();
-        this.outgoingEdgeCache = new HashMap<CacheKey, Iterable<? extends VPGEdge<A, T, R>>>();
-        this.annotationCache = new HashMap<CacheKey, Serializable>();
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // VPG DATABASE METHODS
-    ////////////////////////////////////////////////////////////////////////////
-
-    @Override public void flush()
-    {
-        db.flush();
-    }
-
-    @Override public void close()
-    {
-        db.close();
-    }
-
-    private void clearCache()
-    {
-        incomingEdgeCache.clear();
-        outgoingEdgeCache.clear();
-        annotationCache.clear();
-    }
-
-    @Override public void clearDatabase()
-    {
-        clearCache();
-        db.clearDatabase();
-    }
-
-    // HYPOTHETICAL UPDATING ///////////////////////////////////////////////////
-
-    @Override public void enterHypotheticalMode() throws IOException
-    {
-        clearCache();
-        db.enterHypotheticalMode();
-    }
-
-    @Override public void leaveHypotheticalMode() throws IOException
-    {
-        clearCache();
-        db.leaveHypotheticalMode();
-    }
-
-    @Override public boolean isInHypotheticalMode()
-    {
-        return db.isInHypotheticalMode();
-    }
-
-    // FILES ///////////////////////////////////////////////////////////////////
-
-    @Override public void updateModificationStamp(String filename)
-    {
-        db.updateModificationStamp(filename);
-    }
-
-    @Override public boolean isOutOfDate(String filename)
-    {
-        return db.isOutOfDate(filename);
-    }
-
-    @Override public void deleteAllEntriesFor(String filename)
-    {
-        clearCache();
-        db.deleteAllEntriesFor(filename);
-    }
-
-    @Override public void deleteAllEdgesAndAnnotationsFor(String filename)
-    {
-        clearCache();
-        db.deleteAllEdgesAndAnnotationsFor(filename);
-    }
-
-    @Override public void deleteAllIncomingDependenciesFor(String filename)
-    {
-        db.deleteAllIncomingDependenciesFor(filename);
-    }
-
-    @Override public void deleteAllOutgoingDependenciesFor(String filename)
-    {
-        db.deleteAllOutgoingDependenciesFor(filename);
-    }
-
-    @Override public Iterable<String> listAllFilenames()
-    {
-    	return db.listAllFilenames();
-    }
-
-    @Override public Iterable<String> listAllFilenamesWithDependents()
-    {
-    	return db.listAllFilenamesWithDependents();
-    }
-
-    @Override public Iterable<String> listAllDependentFilenames()
-    {
-    	return db.listAllDependentFilenames();
-    }
-
-    // DEPENDENCIES ////////////////////////////////////////////////////////////
-
-    @Override public void ensure(VPGDependency<A, T, R> dependency)
-    {
-        db.ensure(dependency);
-    }
-
-    @Override public void delete(VPGDependency<A, T, R> dependency)
-    {
-        db.delete(dependency);
-    }
-
-    @Override public Iterable<String> getOutgoingDependenciesFrom(String filename)
-    {
-        return db.getOutgoingDependenciesFrom(filename);
-    }
-
-    @Override public Iterable<String> getIncomingDependenciesTo(String filename)
-    {
-        return db.getIncomingDependenciesTo(filename);
-    }
-
-    // EDGES ///////////////////////////////////////////////////////////////////
-
-    @Override public void ensure(VPGEdge<A, T, R> edge)
-    {
-        removeFromCache(edge);
-        db.ensure(edge);
-    }
-
-    @Override public void delete(VPGEdge<A, T, R> edge)
-    {
-        removeFromCache(edge);
-        db.delete(edge);
-    }
-
-    private void removeFromCache(VPGEdge<A, T, R> edge)
-    {
-        incomingEdgeCache.remove(new CacheKey(edge.getSink(), edge.getType()));
-        outgoingEdgeCache.remove(new CacheKey(edge.getSource(), edge.getType()));
-    }
-
-    @Override public Iterable<? extends VPGEdge<A, T, R>> getAllEdgesFor(String filename)
-    {
-        return db.getAllEdgesFor(filename);
-    }
-
-    @Override public Iterable<? extends VPGEdge<A, T, R>> getOutgoingEdgesFrom(R tokenRef, int edgeType)
-    {
-        CacheKey key = new CacheKey(tokenRef, edgeType);
-        if (outgoingEdgeCache.containsKey(key))
-        {
-            edgeHits++;
-            //System.out.println("Edge cache hit");
-            return outgoingEdgeCache.get(key);
-        }
-        else
-        {
-            edgeMisses++;
-            //System.out.println("Edge cache miss");
-            return buildEdgeCache(outgoingEdgeCache, key, db.getOutgoingEdgesFrom(tokenRef, edgeType));
-        }
-    }
-
-    @Override public Iterable<? extends VPGEdge<A, T, R>> getIncomingEdgesTo(R tokenRef, int edgeType)
-    {
-        CacheKey key = new CacheKey(tokenRef, edgeType);
-        if (incomingEdgeCache.containsKey(key))
-        {
-            edgeHits++;
-            //System.out.println("Edge cache hit");
-            return incomingEdgeCache.get(key);
-        }
-        else
-        {
-            edgeMisses++;
-            //System.out.println("Edge cache miss");
-            return buildEdgeCache(incomingEdgeCache, key, db.getIncomingEdgesTo(tokenRef, edgeType));
-        }
-    }
-
-    private Iterable<? extends VPGEdge<A, T, R>> buildEdgeCache(
-        HashMap<CacheKey, Iterable<? extends VPGEdge<A, T, R>>> cache,
-        CacheKey key,
-        Iterable<? extends VPGEdge<A, T, R>> iterable)
-    {
-        try
-        {
-            if (cache.size() > maxEdgeCacheEntries)
-            {
-//                Iterator<CacheKey> it = cache.keySet().iterator();
-//                if (it.next() != null)
-//                    it.remove();
-            	try
-            	{
-            		cache.remove(cache.keySet().iterator().next());
-            	}
-            	catch (NoSuchElementException e)
-            	{
-            		// This should not happen since cache.size() > 1,
-            		// but it's been reported (S Kalogerakos on Photran
-            		// mailing list), so we should handle it
-            		cache.clear();
-            	}
-            }
-
-            if (maxEdgeCacheEntries > 0)
-            {
-                long start = System.currentTimeMillis();
-
-                ArrayList<VPGEdge<A, T, R>> list = new ArrayList<VPGEdge<A, T, R>>();
-                for (VPGEdge<A, T, R> edge : iterable)
-                    list.add(edge);
-
-                long buildTime = System.currentTimeMillis() - start;
-                totalEdgeListBuildTime += buildTime;
-                //System.out.println("Edge list build time: " + buildTime + " ms");
-
-                cache.put(key, list);
-                return list;
-            }
-            else
-            {
-                return iterable;
-            }
-        }
-        catch (OutOfMemoryError e)
-        {
-            maxEdgeCacheEntries = cache.size()-1;
-            return iterable;
-        }
-    }
-
-    // ANNOTATIONS /////////////////////////////////////////////////////////////
-
-    @Override public void setAnnotation(R token, int annotationID, Serializable annotation)
-    {
-        removeFromCache(token, annotationID);
-        db.setAnnotation(token, annotationID, annotation);
-    }
-
-    @Override public void deleteAnnotation(R token, int annotationID)
-    {
-        removeFromCache(token, annotationID);
-        db.deleteAnnotation(token, annotationID);
-    }
-
-    private void removeFromCache(R token, int annotationID)
-    {
-        annotationCache.remove(new CacheKey(token, annotationID));
-    }
-
-    @Override public Serializable getAnnotation(R tokenRef, int annotationID)
-    {
-        CacheKey key = new CacheKey(tokenRef, annotationID);
-        if (annotationCache.containsKey(key))
-        {
-            annotationHits++;
-            //System.out.println("Annotation cache hit");
-            return annotationCache.get(key);
-        }
-        else
-        {
-            annotationMisses++;
-            //System.out.println("Annotation cache miss");
-            if (annotationCache.size() > maxAnnotationCacheEntries)
-            {
-//                Iterator<CacheKey> it = annotationCache.keySet().iterator();
-//                if (it.next() != null)
-//                    it.remove();
-                annotationCache.remove(annotationCache.keySet().iterator().next());
-            }
-
-            long start = System.currentTimeMillis();
-            Serializable ann = db.getAnnotation(tokenRef, annotationID);
-            long deserTime = System.currentTimeMillis() - start;
-            totalDeserializationTime += deserTime;
-            //System.out.println("Annotation deserialization time: " + deserTime + " ms");
-
-            annotationCache.put(key, ann);
-            return ann;
-        }
-    }
-
-    @Override public Iterable<Pair<R, Integer>> getAllAnnotationsFor(String filename)
-    {
-        return db.getAllAnnotationsFor(filename);
-    }
-
-    // UTILITY METHODS /////////////////////////////////////////////////////////
-
-    @Override public void printOn(PrintStream out)
-    {
-        printStatisticsOn(out);
-        out.println();
-        db.printOn(out);
-    }
-
-    @Override public void printStatisticsOn(PrintStream out)
-    {
-        out.println("Database Cache Statistics:"); //$NON-NLS-1$
-
-        long edgeTotal = edgeHits + edgeMisses;
-        float edgeHitRatio = edgeTotal == 0 ? 0 : ((float)edgeHits) / edgeTotal * 100;
-        out.println("    Edge Cache Hit Ratio:        " + edgeHits + "/" + edgeTotal + " (" + (long)Math.round(edgeHitRatio) + "%)"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
-        long annotationTotal = annotationHits + annotationMisses;
-        float annotationHitRatio = annotationTotal == 0 ? 0 : ((float)annotationHits) / annotationTotal * 100;
-        out.println("    Annotation Cache Hit Ratio: " + annotationHits + "/" + annotationTotal + " (" + (long)Math.round(annotationHitRatio) + "%)"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
-        if (edgeMisses > 0)
-            out.println("    Average edge list build time: " + (totalEdgeListBuildTime/edgeMisses) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$
-
-        if (annotationMisses > 0)
-            out.println("    Average annotation deserialization time: " + (totalDeserializationTime/annotationMisses) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$
-
-//      out.println();
-//      out.println("Cache Sizes:");
-//      out.println("    Incoming Edge Cache: " + incomingEdgeCache.size() + " entries (max " + maxEdgeCacheEntries + ")");
-//      out.println("    Incoming Edge Cache: " + outgoingEdgeCache.size() + " entries (max " + maxEdgeCacheEntries + ")");
-//      out.println("    Annotation Cache: " + annotationCache.size() + " entries (max " + maxAnnotationCacheEntries + ")");
-        
-        db.printStatisticsOn(out);
-    }
-
-    @Override public void resetStatistics()
-    {
-        edgeHits = edgeMisses = annotationHits = annotationMisses = totalEdgeListBuildTime = totalDeserializationTime = 0;
-        db.resetStatistics();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/cdt/CDTDB.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/cdt/CDTDB.java
deleted file mode 100644
index 8762888..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/cdt/CDTDB.java
+++ /dev/null
@@ -1,861 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg.db.cdt;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.io.Serializable;
-import java.nio.channels.FileChannel;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.rephraserengine.core.util.Pair;
-import org.eclipse.rephraserengine.core.vpg.IVPGComponentFactory;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.NodeRef;
-import org.eclipse.rephraserengine.core.vpg.VPGDB;
-import org.eclipse.rephraserengine.core.vpg.VPGDependency;
-import org.eclipse.rephraserengine.core.vpg.VPGEdge;
-import org.eclipse.rephraserengine.core.vpg.VPGLog;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB.IntVector;
-
-/**
- * Base class for a VPG database maintained on disk using the B-tree infrastructure from the Eclipse
- * C/C++ Development Tool's indexer database.
- * <p>
- * This class is intended to be subclassed directly.
- * <p>
- * N.B. You <i>must</i> call {@link #close()} to flush the database to disk.
- * 
- * @author Jeff Overbey
- * 
- * @param <A> AST type
- * @param <T> token type
- * @param <R> {@link IVPGNode}/{@link NodeRef} type
- * 
- * @since 1.0
- */
-public abstract class CDTDB<A, T, R extends IVPGNode<T>>
-              extends VPGDB<A, T, R>
-{
-    private InternalCDTDB db;
-    private File lock;
-    
-    private final VPGLog<T, R> log;
-
-    /**
-     * @since 3.0
-     */
-    public CDTDB(String filename, IVPGComponentFactory<A, T, R> locator, VPGLog<T, R> log)
-    {
-        this(new File(filename), locator, log);
-    }
-
-    /**
-     * @since 3.0
-     */
-    public CDTDB(File file, IVPGComponentFactory<A, T, R> locator, VPGLog<T, R> log)
-    {
-        super(locator);
-
-        Assert.isNotNull(file);
-
-        try
-        {
-            this.log = log;
-            this.db = new InternalCDTDB(file);
-            this.lock = new File(file.getPath() + ".lock"); //$NON-NLS-1$
-            clearDBIfPossiblyCorrupted();
-        }
-        catch (CoreException e)
-        {
-            throw new Error("Unable to create VPG database " + file.getName(), e); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Clears the database if a lock file exists, indicating that it might be corrupted.
-     * <p>
-     * A lock file is created when the database is started.  If Eclipse is shut down cleanly, the
-     * lock file is deleted.  However, if it is terminated abnormally, the lock file will still
-     * exist.  This checks if the lock file exists, and, if so, clears the database, which will
-     * force the VPG to re-index all the source files in the workspace.
-     * <p>
-     * Note that only one instance of Eclipse can be open on a particular workspace, so it is not
-     * possible that the lock exists because the database is open in a different instance of Eclipse.
-     */
-    private void clearDBIfPossiblyCorrupted()
-    {
-        if (lock.exists())
-        {
-            this.clearDatabase();
-        }
-        else
-        {
-            try
-            {
-                lock.createNewFile();
-            }
-            catch (IOException e)
-            {
-                //ignore
-            }
-        }
-    }
-
-    ////////////////////////////////////////////////////////////////////////////
-    // VPG DATABASE METHODS
-    ////////////////////////////////////////////////////////////////////////////
-
-    @Override public void flush()
-    {
-        try
-        {
-            db.flush();
-        }
-        catch (CoreException e)
-        {
-            throw new Error("Unable to flush VPG database to disk", e); //$NON-NLS-1$
-        }
-    }
-
-    @Override public void close()
-    {
-        try
-        {
-            db.close();
-            lock.delete();
-        }
-        catch (CoreException e)
-        {
-            throw new Error("Unable to close VPG database", e); //$NON-NLS-1$
-        }
-    }
-
-    @Override public void clearDatabase()
-    {
-        log.clear();
-
-        try
-        {
-            db.clear();
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    // HYPOTHETICAL UPDATING ///////////////////////////////////////////////////
-    
-    private InternalCDTDB origDB = null;
-    
-    @Override public void enterHypotheticalMode() throws IOException
-    {
-        assert !isInHypotheticalMode();
-        
-        try
-        {
-            db.flush();
-            File copy = copyFile(db.getFile());
-            
-            origDB = db;
-            db = new InternalCDTDB(copy);
-        }
-        catch (CoreException e)
-        {
-            throw new Error(e);
-        }
-    }
-    
-    private static File copyFile(File orig) throws IOException
-    {
-        File tempFile = File.createTempFile("rephraser-tmp", "db"); //$NON-NLS-1$ //$NON-NLS-2$
-        tempFile.deleteOnExit();
-        FileChannel from = new FileInputStream(orig).getChannel();
-        FileChannel to = new FileOutputStream(tempFile).getChannel();
-        to.transferFrom(from, 0, from.size());
-        from.close();
-        to.close();
-        return tempFile;
-    }
-    
-    @Override public void leaveHypotheticalMode()
-    {
-        assert isInHypotheticalMode();
-        
-        db = origDB;
-        origDB = null;
-    }
-    
-    @Override public boolean isInHypotheticalMode()
-    {
-        return origDB != null;
-    }
-
-    // FILES ///////////////////////////////////////////////////////////////////
-
-    private int ensureEntryForFile(String filename) throws CoreException
-    {
-        return db.files.ensure(filename);
-    }
-
-    @Override public void updateModificationStamp(String filename)
-    {
-        try
-        {
-            db.files.setModificationStamp(ensureEntryForFile(filename), getModificationStamp(filename));
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    @Override public boolean isOutOfDate(String filename)
-    {
-        try
-        {
-            long storedModificationStamp = db.files.getModificationStamp(ensureEntryForFile(filename));
-            //System.out.println((storedModificationStamp < getModificationStamp(filename)) + " - " + storedModificationStamp + " " + getModificationStamp(filename) + " - " + filename);
-            return storedModificationStamp < getModificationStamp(filename);
-        }
-        catch (CoreException e)
-        {
-            return true;
-        }
-    }
-
-    protected abstract long getModificationStamp(String filename);
-
-    /**
-     * Deletes all dependencies, edges, and token annotations that reference
-     * a token in the given file
-     *
-     * @param filename (non-null)
-     */
-    @Override public void deleteAllEntriesFor(String filename)
-    {
-        try
-        {
-            db.dependencies.deleteAllIncomingDependenciesTo(filename);
-            db.dependencies.deleteAllOutgoingDependenciesFrom(filename);
-            db.edges.deleteAllIncomingEdgesTo(filename);
-            db.edges.deleteAllOutgoingEdgesFrom(filename);
-            db.annotations.deleteAllAnnotationsFor(filename);
-            db.files.delete(filename);
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    @Override public void deleteAllEdgesAndAnnotationsFor(String filename)
-    {
-        try
-        {
-            db.edges.deleteAllIncomingEdgesTo(filename);
-            db.edges.deleteAllOutgoingEdgesFrom(filename);
-            db.annotations.deleteAllAnnotationsFor(filename);
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    @Override public void deleteAllIncomingDependenciesFor(String filename)
-    {
-        try
-        {
-            db.dependencies.deleteAllIncomingDependenciesTo(filename);
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    @Override public void deleteAllOutgoingDependenciesFor(String filename)
-    {
-        try
-        {
-            db.dependencies.deleteAllOutgoingDependenciesFrom(filename);
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    private void cleanUp(String filename)
-    {
-        try
-        {
-            if (db.dependencies.hasIncomingDependencyRecords(filename)) return;
-            if (db.dependencies.hasOutgoingDependencyRecords(filename)) return;
-            if (db.edges.hasIncomingEdges(filename)) return;
-            if (db.edges.hasOutgoingEdges(filename)) return;
-            if (db.annotations.hasAnnotations(filename)) return;
-
-            db.files.delete(filename);
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    @Override public Iterable<String> listAllFilenames()
-    {
-        try
-        {
-            return db.files.getAllFilenames();
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-            return Collections.<String>emptyList();
-        }
-    }
-
-    @Override public Iterable<String> listAllFilenamesWithDependents()
-    {
-        try
-        {
-            return db.dependencies.listAllFilenamesWithDependents();
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-            return Collections.<String>emptyList();
-        }
-    }
-
-    @Override public Iterable<String> listAllDependentFilenames()
-    {
-        try
-        {
-            return db.dependencies.listAllDependentFilenames();
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-            return Collections.<String>emptyList();
-        }
-    }
-
-    // DEPENDENCIES ////////////////////////////////////////////////////////////
-
-    @Override public void ensure(VPGDependency<A, T, R> dependency)
-    {
-        try
-        {
-            db.dependencies.ensure(dependency.getDependentFile(), dependency.getDependsOnFile());
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    @Override public void delete(VPGDependency<A, T, R> dependency)
-    {
-        try
-        {
-            String dependentFile = dependency.getDependentFile();
-            String dependsOnFile = dependency.getDependsOnFile();
-            db.dependencies.delete(dependentFile, dependsOnFile);
-            cleanUp(dependentFile);
-            cleanUp(dependsOnFile);
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    @Override public Iterable<String> getOutgoingDependenciesFrom(String filename)
-    {
-        try
-        {
-            final IntVector records = db.dependencies.findAllOutgoingDependencyRecordsFrom(filename);
-
-            return new Iterable<String>()
-            {
-                public Iterator<String> iterator()
-                {
-
-                    return new Iterator<String>()
-                    {
-                        private int nextRecord = 0;
-                        private int numRecords = records.size();
-
-                        public boolean hasNext()
-                        {
-                            return nextRecord < numRecords;
-                        }
-
-                        public String next()
-                        {
-                            try
-                            {
-                                return db.files.getFilename(db.dependencies.getDependsOnFileRecordPtr(records.get(nextRecord++))).getString();
-                            }
-                            catch (CoreException e)
-                            {
-                                log.logError(e);
-                                throw new Error(e);
-                            }
-                        }
-
-                        public void remove()
-                        {
-                            throw new UnsupportedOperationException();
-                        }
-                    };
-                }
-            };
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-            return new LinkedList<String>();
-        }
-    }
-
-    @Override public Iterable<String> getIncomingDependenciesTo(String filename)
-    {
-        try
-        {
-            final IntVector records = db.dependencies.findAllIncomingDependencyRecordsTo(filename);
-
-            return new Iterable<String>()
-            {
-                public Iterator<String> iterator()
-                {
-                    return new Iterator<String>()
-                    {
-                        private int nextRecord = 0;
-                        private int numRecords = records.size();
-
-                        public boolean hasNext()
-                        {
-                            return nextRecord < numRecords;
-                        }
-
-                        public String next()
-                        {
-                            try
-                            {
-                                return db.files.getFilename(db.dependencies.getDependentFileRecordPtr(records.get(nextRecord++))).getString();
-                            }
-                            catch (CoreException e)
-                            {
-                                log.logError(e);
-                                throw new Error(e);
-                            }
-                        }
-
-                        public void remove()
-                        {
-                            throw new UnsupportedOperationException();
-                        }
-
-                    };
-                }
-            };
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-            return new LinkedList<String>();
-        }
-    }
-
-    // EDGES ///////////////////////////////////////////////////////////////////
-
-    @Override public void ensure(VPGEdge<A, T, R> edge)
-    {
-        try
-        {
-            R source = edge.getSource();
-            R sink = edge.getSink();
-            db.edges.ensure(source.getFilename(), source.getOffset(), source.getLength(), sink.getFilename(), sink.getOffset(), sink.getLength(), edge.getType());
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    @Override public void delete(VPGEdge<A, T, R> edge)
-    {
-        try
-        {
-            R source = edge.getSource();
-            R sink = edge.getSink();
-            db.edges.delete(source.getFilename(), source.getOffset(), source.getLength(), sink.getFilename(), sink.getOffset(), sink.getLength(), edge.getType());
-            cleanUp(source.getFilename());
-            cleanUp(sink.getFilename());
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    @Override public Iterable<? extends VPGEdge<A, T, R>> getAllEdgesFor(String filename)
-    {
-        try
-        {
-            final IntVector inRecords = db.edges.findAllIncomingEdgeRecordsTo(filename);
-            final IntVector outRecords = db.edges.findAllOutgoingEdgeRecordsFrom(filename);
-
-            return new Iterable<VPGEdge<A, T, R>>()
-            {
-                public Iterator<VPGEdge<A, T, R>> iterator()
-                {
-                    return new Iterator<VPGEdge<A, T, R>>()
-                    {
-                        private int nextRecord = 0;
-                        private int numRecords = inRecords.size() + outRecords.size();
-
-                        public boolean hasNext()
-                        {
-                            return nextRecord < numRecords;
-                        }
-
-                        public VPGEdge<A, T, R> next()
-                        {
-                            try
-                            {
-                                IntVector records = (nextRecord < inRecords.size() ? inRecords : outRecords);
-                                int recordNum     = (nextRecord < inRecords.size() ? nextRecord : nextRecord-inRecords.size());
-
-                                R fromRef = factory.getVPGNode(db.files.getFilename(db.edges.getFromFileRecordPtr(records.get(recordNum))).getString(), db.edges.getFromOffset(records.get(recordNum)), db.edges.getFromLength(records.get(recordNum)));
-                                R toRef = factory.getVPGNode(db.files.getFilename(db.edges.getToFileRecordPtr(records.get(recordNum))).getString(), db.edges.getToOffset(records.get(recordNum)), db.edges.getToLength(records.get(recordNum)));
-                                VPGEdge<A, T, R> result = new VPGEdge<A,T,R>(fromRef, toRef, db.edges.getEdgeType(records.get(recordNum)));
-                                nextRecord++;
-                                return result;
-                            }
-                            catch (CoreException e)
-                            {
-                                log.logError(e);
-                                throw new Error(e);
-                            }
-                        }
-
-                        public void remove()
-                        {
-                            throw new UnsupportedOperationException();
-                        }
-                    };
-                }
-            };
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-            return new LinkedList<VPGEdge<A, T, R>>();
-        }
-    }
-
-    @Override public Iterable<VPGEdge<A, T, R>> getOutgoingEdgesFrom(R tokenRef, int edgeType)
-    {
-        try
-        {
-            final IntVector records =
-                edgeType == ALL_EDGES
-                    ? db.edges.findAllOutgoingEdgeRecordsFrom(tokenRef.getFilename(), tokenRef.getOffset(), tokenRef.getLength())
-                    : db.edges.findAllOutgoingEdgeRecordsFrom(tokenRef.getFilename(), tokenRef.getOffset(), tokenRef.getLength(), edgeType);
-
-            return new Iterable<VPGEdge<A, T, R>>()
-            {
-                public Iterator<VPGEdge<A, T, R>> iterator()
-                {
-                    return new Iterator<VPGEdge<A, T, R>>()
-                    {
-                        private int nextRecord = 0;
-                        private int numRecords = records.size();
-
-                        public boolean hasNext()
-                        {
-                            return nextRecord < numRecords;
-                        }
-
-                        public VPGEdge<A, T, R> next()
-                        {
-                            try
-                            {
-                                R fromRef = factory.getVPGNode(db.files.getFilename(db.edges.getFromFileRecordPtr(records.get(nextRecord))).getString(), db.edges.getFromOffset(records.get(nextRecord)), db.edges.getFromLength(records.get(nextRecord)));
-                                R toRef = factory.getVPGNode(db.files.getFilename(db.edges.getToFileRecordPtr(records.get(nextRecord))).getString(), db.edges.getToOffset(records.get(nextRecord)), db.edges.getToLength(records.get(nextRecord)));
-                                return new VPGEdge<A,T,R>(fromRef, toRef, db.edges.getEdgeType(records.get(nextRecord++)));
-                            }
-                            catch (CoreException e)
-                            {
-                                log.logError(e);
-                                throw new Error(e);
-                            }
-                        }
-
-                        public void remove()
-                        {
-                            throw new UnsupportedOperationException();
-                        }
-                    };
-                }
-            };
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-            return new LinkedList<VPGEdge<A, T, R>>();
-        }
-    }
-
-    @Override public Iterable<VPGEdge<A, T, R>> getIncomingEdgesTo(R tokenRef, int edgeType)
-    {
-        try
-        {
-            final IntVector records =
-                edgeType == ALL_EDGES
-                    ? db.edges.findAllIncomingEdgeRecordsTo(tokenRef.getFilename(), tokenRef.getOffset(), tokenRef.getLength())
-                    : db.edges.findAllIncomingEdgeRecordsTo(tokenRef.getFilename(), tokenRef.getOffset(), tokenRef.getLength(), edgeType);
-
-            return new Iterable<VPGEdge<A, T, R>>()
-            {
-                public Iterator<VPGEdge<A, T, R>> iterator()
-                {
-                    return new Iterator<VPGEdge<A, T, R>>()
-                    {
-                        private int nextRecord = 0;
-                        private int numRecords = records.size();
-
-                        public boolean hasNext()
-                        {
-                            return nextRecord < numRecords;
-                        }
-
-                        public VPGEdge<A, T, R> next()
-                        {
-                            try
-                            {
-                                R fromRef = factory.getVPGNode(db.files.getFilename(db.edges.getFromFileRecordPtr(records.get(nextRecord))).getString(), db.edges.getFromOffset(records.get(nextRecord)), db.edges.getFromLength(records.get(nextRecord)));
-                                R toRef = factory.getVPGNode(db.files.getFilename(db.edges.getToFileRecordPtr(records.get(nextRecord))).getString(), db.edges.getToOffset(records.get(nextRecord)), db.edges.getToLength(records.get(nextRecord)));
-                                return new VPGEdge<A,T,R>(fromRef, toRef, db.edges.getEdgeType(records.get(nextRecord++)));
-                            }
-                            catch (CoreException e)
-                            {
-                                log.logError(e);
-                                throw new Error(e);
-                            }
-                        }
-
-                        public void remove()
-                        {
-                            throw new UnsupportedOperationException();
-                        }
-
-                    };
-                }
-            };
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-            return new LinkedList<VPGEdge<A, T, R>>();
-        }
-    }
-
-    // ANNOTATIONS /////////////////////////////////////////////////////////////
-
-    @Override public void setAnnotation(R token, int annotationID, Serializable annotation)
-    {
-        try
-        {
-            db.annotations.set(token.getFilename(), token.getOffset(), token.getLength(), annotationID, serialize(annotation));
-        }
-        catch (Exception e)
-        {
-            log.logError(e);
-        }
-    }
-
-    @Override public void deleteAnnotation(R token, int annotationID)
-    {
-        try
-        {
-            db.annotations.delete(token.getFilename(), token.getOffset(), token.getLength(), annotationID);
-            cleanUp(token.getFilename());
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-        }
-    }
-
-    @Override public Serializable getAnnotation(R token, int annotationID)
-    {
-        try
-        {
-            int record = db.annotations.findRecordFor(token.getFilename(), token.getOffset(), token.getLength(), annotationID);
-            if (record < 0)
-                return null;
-            else
-                return deserialize(db.annotations.getAnnotation(record));
-        }
-        catch (Exception e)
-        {
-            log.logError(e);
-            return null;
-        }
-    }
-
-    @Override public Iterable<Pair<R, Integer>> getAllAnnotationsFor(String filename)
-    {
-        try
-        {
-            final IntVector records = db.annotations.findAllAnnotationRecordsFor(filename);
-
-            return new Iterable<Pair<R, Integer>>()
-            {
-                public Iterator<Pair<R, Integer>> iterator()
-                {
-                    return new Iterator<Pair<R, Integer>>()
-                    {
-                        private int nextRecord = 0;
-                        private int numRecords = records.size();
-
-                        public boolean hasNext()
-                        {
-                            return nextRecord < numRecords;
-                        }
-
-                        public Pair<R, Integer> next()
-                        {
-                            try
-                            {
-                                R tokenRef = factory.getVPGNode(
-                                    db.files.getFilename(db.annotations.getFileRecordPtr(records.get(nextRecord))).getString(),
-                                    db.annotations.getOffset(records.get(nextRecord)),
-                                    db.annotations.getLength(records.get(nextRecord)));
-                                int type = db.annotations.getAnnotationType(records.get(nextRecord));
-                                nextRecord++;
-                                return new Pair<R, Integer>(tokenRef, type);
-                            }
-                            catch (CoreException e)
-                            {
-                                log.logError(e);
-                                throw new Error(e);
-                            }
-                        }
-
-                        public void remove()
-                        {
-                            throw new UnsupportedOperationException();
-                        }
-                    };
-                }
-            };
-        }
-        catch (CoreException e)
-        {
-            log.logError(e);
-            return new LinkedList<Pair<R, Integer>>();
-        }
-    }
-
-    /**
-     * Subclasses should implement this as
-     * <pre>
-     * ByteArrayOutputStream out = new ByteArrayOutputStream();
-     * new ObjectOutputStream(out).writeObject(annotation);
-     * return out.toByteArray();
-     * </pre>
-     * or a more efficient variant.
-     * <p>
-     * This is delegated to subclasses to complement <code>deserialize</code>.
-     */
-    protected abstract byte[] serialize(Serializable annotation) throws IOException;
-
-    /**
-     * Subclasses should implement this as
-     * <pre>
-     * return (Serializable)new ObjectInputStream(binaryStream).readObject();
-     * </pre>
-     * <p>
-     * This must be implemented in the subclass, since the serialized (annotation) classes may not be in the
-     * classpath of the VPG plug-in, causing <code>ClassNotFoundException</code>s.
-     */
-    protected abstract Serializable deserialize(InputStream binaryStream) throws IOException, ClassNotFoundException;
-
-    ////////////////////////////////////////////////////////////////////////////
-
-    @Override public void printOn(PrintStream out)
-    {
-        try
-        {
-            out.println("MODIFICATION STAMPS:"); //$NON-NLS-1$
-            out.println();
-            out.println(db.files.toString());
-
-            out.println();
-            out.println();
-            out.println("DEPENDENCIES:"); //$NON-NLS-1$
-            out.println();
-            out.println(db.dependencies.toString());
-
-            out.println();
-            out.println();
-            out.println("EDGES:"); //$NON-NLS-1$
-            out.println();
-            out.println(db.edges.toString());
-
-            out.println();
-            out.println();
-            out.println("ANNOTATIONS:"); //$NON-NLS-1$
-            out.println();
-            try
-            {
-                out.println(db.annotations.toString());
-            }
-            catch (Exception e)
-            {
-                log.logError(e);
-            }
-        }
-        catch (Exception e)
-        {
-            out.print(e.getMessage());
-            e.printStackTrace(out);
-        }
-    }
-
-    @Override public void printStatisticsOn(PrintStream out)
-    {
-        out.println("(No statistics available)"); //$NON-NLS-1$
-    }
-
-    @Override public void resetStatistics()
-    {
-        // Nothing to do
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/profiling/ProfilingDB.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/profiling/ProfilingDB.java
deleted file mode 100644
index b9c0d72..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/profiling/ProfilingDB.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     UIUC - Initial API and implementation

- *******************************************************************************/

-

-package org.eclipse.rephraserengine.core.vpg.db.profiling;

-

-import java.io.IOException;

-import java.io.PrintStream;

-import java.io.Serializable;

-import java.util.HashMap;

-

-import org.eclipse.rephraserengine.core.util.Pair;

-import org.eclipse.rephraserengine.core.vpg.IVPGNode;

-import org.eclipse.rephraserengine.core.vpg.VPGDB;

-import org.eclipse.rephraserengine.core.vpg.VPGDependency;

-import org.eclipse.rephraserengine.core.vpg.VPGEdge;

-

-/**

- * VPG database decorator which collects information about the frequency and duration of VPG

- * database method invocations.

- * <p>

- * The collected information is displayed when the &quot;Print Database Statistic&quot; action is

- * invoked (from the Refactor &gt; (Debugging) menu).

- * <p>

- * The information collected includes the number of method calls made, the average time spent in

- * each method call, and the longest amount of time spent in each method call.

- * 

- * @author Esfar Huq

- * 

- * @param <A> AST type

- * @param <T> token type

- * @param <R> TokenRef type

- * @param <D> database type

- * @param <L> VPG log type

- * 

- * @since 3.0

- */

-public class ProfilingDB<A, T, R extends IVPGNode<T>>

-     extends VPGDB<A, T, R>

-{

-    private VPGDB<A, T, R> db;

-    

-    /** Maps a method name to the number of calls made to the method */

-    private HashMap<String, Integer> methodCalls;

-

-    /** Maps a method name to the total time spent in that method (in milliseconds) */

-    private HashMap<String, Long> methodTimes;

-

-    /** Maps a method name to the elapsed time of the longest call for that method (in milliseconds) */

-    private HashMap<String, Long> methodLongestCall;

-    

-    public ProfilingDB(VPGDB<A, T, R> diskDatabase)

-    {

-        super(diskDatabase);

-        

-        db = diskDatabase;

-        

-        methodCalls = new HashMap<String, Integer>();

-        methodTimes = new HashMap<String, Long>();

-        methodLongestCall = new HashMap<String, Long>();

-    }

-

-    /**

-     * Updates the three fields of this class after a call is made to the database.

-     * 

-     * @param methodName - the database method that was called

-     * @param time - the total time (in milliseconds) that the call took

-     */

-    private void update(String methodName, long time)

-    {

-        if (!methodCalls.containsKey(methodName))

-        {

-            // case where method has been invoked for the first time

-            methodCalls.put(methodName, Integer.valueOf(1));

-            methodTimes.put(methodName, Long.valueOf(time));

-            methodLongestCall.put(methodName, Long.valueOf(time));

-        }

-        else

-        {

-            // update number of calls made

-            int oldNumCalls = methodCalls.get(methodName).intValue();

-            oldNumCalls++;

-            methodCalls.put(methodName, Integer.valueOf(oldNumCalls));

-

-            // update total time spent

-            long oldTotTime = methodTimes.get(methodName).longValue();

-            oldTotTime += time;

-            methodTimes.put(methodName, Long.valueOf(oldTotTime));

-

-            // check to see if we should update the longest call field

-            if (methodLongestCall.get(methodName).longValue() < time)

-                methodLongestCall.put(methodName, Long.valueOf(time));

-        }

-    }

-    

-    ////////////////////////////////////////////////////////////////////////////

-    // VPG DATABASE METHODS

-    ////////////////////////////////////////////////////////////////////////////

-

-    @Override public void flush()

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.flush();

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("flush", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public void close()

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.close();

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("close", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public void clearDatabase()

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.clearDatabase();

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("clearDatabase", endTime - startTime); //$NON-NLS-1$

-    }

-

-    // HYPOTHETICAL UPDATING ///////////////////////////////////////////////////

-

-    @Override public void enterHypotheticalMode() throws IOException

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.enterHypotheticalMode();

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("enterHypotheticalMode", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public void leaveHypotheticalMode() throws IOException

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.leaveHypotheticalMode();

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("leaveHypotheticalMode", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public boolean isInHypotheticalMode()

-    {

-        long startTime = System.currentTimeMillis();

-        

-        boolean result = db.isInHypotheticalMode();

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("isInHypotheticalMode", endTime - startTime); //$NON-NLS-1$

-        return result;

-    }

-

-    // FILES ///////////////////////////////////////////////////////////////////

-

-    @Override public void updateModificationStamp(String filename)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.updateModificationStamp(filename);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("updateModificationStamp", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public boolean isOutOfDate(String filename)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        boolean result = db.isOutOfDate(filename);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("isOutOfDate", endTime - startTime); //$NON-NLS-1$

-        return result;

-    }

-

-    @Override public void deleteAllEntriesFor(String filename)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.deleteAllEntriesFor(filename);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("deleteAllEntriesFor", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public void deleteAllEdgesAndAnnotationsFor(String filename)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.deleteAllEdgesAndAnnotationsFor(filename);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("deleteAllEdgesAndAnnotationsFor", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public void deleteAllIncomingDependenciesFor(String filename)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.deleteAllIncomingDependenciesFor(filename);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("deleteAllIncomingDependenciesFor", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public void deleteAllOutgoingDependenciesFor(String filename)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.deleteAllOutgoingDependenciesFor(filename);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("deleteAllOutgoingDependenciesFor", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public Iterable<String> listAllFilenames()

-    {

-        long startTime = System.currentTimeMillis();

-        

-    	Iterable<String> result = db.listAllFilenames();

-    	

-    	long endTime = System.currentTimeMillis();

-        

-        update("listAllFilenames", endTime - startTime); //$NON-NLS-1$

-        return result;

-    }

-

-    @Override public Iterable<String> listAllFilenamesWithDependents()

-    {

-        long startTime = System.currentTimeMillis();

-        

-        Iterable<String> result = db.listAllFilenamesWithDependents();

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("listAllFilenamesWithDependents", endTime - startTime); //$NON-NLS-1$

-        return result;

-    }

-

-    @Override public Iterable<String> listAllDependentFilenames()

-    {

-        long startTime = System.currentTimeMillis();

-        

-        Iterable<String> result = db.listAllDependentFilenames();

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("listAllDependentFilenames", endTime - startTime); //$NON-NLS-1$

-        return result;

-    }

-

-    // DEPENDENCIES ////////////////////////////////////////////////////////////

-

-    @Override public void ensure(VPGDependency<A, T, R> dependency)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.ensure(dependency);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("ensure - dependency", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public void delete(VPGDependency<A, T, R> dependency)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.delete(dependency);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("delete - dependency", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public Iterable<String> getOutgoingDependenciesFrom(String filename)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        Iterable<String> result = db.getOutgoingDependenciesFrom(filename);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("getOutgoingDependenciesFrom", endTime - startTime); //$NON-NLS-1$

-        return result;

-    }

-

-    @Override public Iterable<String> getIncomingDependenciesTo(String filename)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        Iterable<String> result = db.getIncomingDependenciesTo(filename);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("getIncomingDependenciesTo", endTime - startTime); //$NON-NLS-1$

-        return result;

-    }

-

-    // EDGES ///////////////////////////////////////////////////////////////////

-

-    @Override public void ensure(VPGEdge<A, T, R> edge)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.ensure(edge);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("ensure - edge", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public void delete(VPGEdge<A, T, R> edge)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.delete(edge);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("delete - edge", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public Iterable<? extends VPGEdge<A, T, R>> getAllEdgesFor(String filename)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        Iterable<? extends VPGEdge<A, T, R>> result =  db.getAllEdgesFor(filename);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("getAllEdgesFor", endTime - startTime); //$NON-NLS-1$

-        return result;

-    }

-

-    // ANNOTATIONS /////////////////////////////////////////////////////////////

-

-    @Override public Iterable<Pair<R, Integer>> getAllAnnotationsFor(String filename)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        Iterable<Pair<R, Integer>> result =  db.getAllAnnotationsFor(filename);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("getAllAnnotationsFor", endTime - startTime); //$NON-NLS-1$

-        return result;

-}

-

-    @Override public void setAnnotation(R token, int annotationID, Serializable annotation)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.setAnnotation(token, annotationID, annotation);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("setAnnotation", endTime - startTime); //$NON-NLS-1$

-    }

-

-    @Override public void deleteAnnotation(R token, int annotationID)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        db.deleteAnnotation(token, annotationID);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("deleteAnnotation", endTime - startTime); //$NON-NLS-1$

-    }

-

-    // UTILITY METHODS /////////////////////////////////////////////////////////

-

-    @Override public void printOn(PrintStream out)

-    {

-        printStatisticsOn(out);

-        out.println();

-        db.printOn(out);

-    }

-

-    @Override public void printStatisticsOn(PrintStream out)

-    {

-        out.println();

-        out.println("Wrapped database is " + db.getClass().getName()); //$NON-NLS-1$

-        out.println();

-        out.println("Additional Statistics: "); //$NON-NLS-1$

-        out.format("%-35s%-20s%-20s%-20s\n", "Method Name", "Times Called", "Average Time (ms)", "Longest Time (ms)");   //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$

-        

-        for (String aMethod : methodCalls.keySet())

-        {

-            int numCalls = methodCalls.get(aMethod).intValue();

-            double avgTime = (double)methodTimes.get(aMethod) / (double)numCalls;

-            long longestCall = methodLongestCall.get(aMethod).longValue();

-            

-            out.format("%-35s%-20d%-20.2f%-20d\n", aMethod, numCalls, avgTime, longestCall); //$NON-NLS-1$

-        }

-        

-        db.printStatisticsOn(out);

-    }

-

-    @Override public void resetStatistics()

-    {

-        methodCalls = new HashMap <String, Integer>();

-        methodTimes = new HashMap <String, Long>();

-        methodLongestCall = new HashMap <String, Long>();

-        db.resetStatistics();

-    }

-

-    @Override

-    public Iterable<? extends VPGEdge<A, T, R>> getOutgoingEdgesFrom(R tokenRef, int edgeType)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        Iterable<? extends VPGEdge<A, T, R>> result =  db.getOutgoingEdgesFrom(tokenRef, edgeType);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("getOutgoingEdgesFrom", endTime - startTime); //$NON-NLS-1$

-        return result;

-    }

-

-    @Override

-    public Iterable<? extends VPGEdge<A, T, R>> getIncomingEdgesTo(R tokenRef, int edgeType)

-    {

-        long startTime = System.currentTimeMillis();

-        

-        Iterable<? extends VPGEdge<A, T, R>> result = db.getIncomingEdgesTo(tokenRef, edgeType);

-        

-        long endTime = System.currentTimeMillis();

-        

-        update("getIncomingEdgesTo", endTime - startTime); //$NON-NLS-1$

-        return result;

-    }

-

-    @Override

-    public Serializable getAnnotation(R tokenRef, int annotationID)

-    {

-        

-        long startTime = System.currentTimeMillis();

-        

-        Serializable result = db.getAnnotation(tokenRef, annotationID);

-       

-        long endTime = System.currentTimeMillis();

-        

-        update("getAnnotation", endTime - startTime); //$NON-NLS-1$

-        return result;

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/ram/RAMDB.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/ram/RAMDB.java
deleted file mode 100644
index 3296306..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/db/ram/RAMDB.java
+++ /dev/null
@@ -1,637 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.rephraserengine.core.vpg.db.ram;

-

-import java.io.BufferedInputStream;

-import java.io.BufferedOutputStream;

-import java.io.EOFException;

-import java.io.File;

-import java.io.FileInputStream;

-import java.io.FileOutputStream;

-import java.io.IOException;

-import java.io.ObjectInputStream;

-import java.io.ObjectOutputStream;

-import java.io.PrintStream;

-import java.io.Serializable;

-import java.nio.channels.FileChannel;

-import java.util.Collection;

-import java.util.Collections;

-import java.util.HashMap;

-import java.util.HashSet;

-import java.util.Iterator;

-import java.util.Set;

-import java.util.TreeSet;

-import java.util.zip.DeflaterOutputStream;

-import java.util.zip.InflaterInputStream;

-

-import org.eclipse.rephraserengine.core.util.Pair;

-import org.eclipse.rephraserengine.core.util.TwoKeyHashMap;

-import org.eclipse.rephraserengine.core.vpg.IVPGComponentFactory;

-import org.eclipse.rephraserengine.core.vpg.IVPGNode;

-import org.eclipse.rephraserengine.core.vpg.NodeRef;

-import org.eclipse.rephraserengine.core.vpg.VPG;

-import org.eclipse.rephraserengine.core.vpg.VPGDB;

-import org.eclipse.rephraserengine.core.vpg.VPGDependency;

-import org.eclipse.rephraserengine.core.vpg.VPGEdge;

-

-/**

- * VPG database that maintains files, dependencies, edges, and annotations in memory, then flushes

- * the in-memory database to disk when the database is closed (i.e., the Eclipse workbench is

- * closed).

- * 

- * @author Esfar Huq

- * @author Rui Wang

- * @author Jeff Overbey

- * 

- * @param <A> AST type

- * @param <T> token type

- * @param <R> {@link IVPGNode}/{@link NodeRef} type

- * 

- * @since 3.0

- */

-public abstract class RAMDB<A, T, R extends IVPGNode<T>>

-              extends VPGDB<A, T, R>

-{

-    protected final File file; //file to which database information will be written to/read from

-    protected HashMap<String, Long> files;

-    protected HashSet<VPGDependency<A, T, R>> dependencies;

-    protected HashMap<R, Set<VPGEdge<A, T, R>>> outgoingEdges;

-    protected HashMap<R, Set<VPGEdge<A, T, R>>> incomingEdges;

-    protected TwoKeyHashMap<R, Integer, Serializable> annotations;

-    

-    /** Constructor that initializes the private fields */

-    public RAMDB(IVPGComponentFactory<A, T, R> locator, File file)

-    {

-        super(locator);

-        

-        this.file = file;

-        

-        if (file.exists() && file.canRead())

-            readFrom(file);

-        else

-            createEmptyDatabase();

-    }

-

-    protected void createEmptyDatabase()

-    {

-        files = new HashMap<String, Long>();

-        dependencies = new HashSet<VPGDependency<A, T, R>>();

-        outgoingEdges = new HashMap<R, Set<VPGEdge<A, T, R>>>();

-        incomingEdges = new HashMap<R, Set<VPGEdge<A, T, R>>>();

-        annotations = new TwoKeyHashMap<R, Integer, Serializable>();

-    }

-    

-    @SuppressWarnings("unchecked")

-    protected void readFrom(File file)

-    {

-        //check if we can load in fields from disk

-        try

-        {

-            ObjectInputStream in =

-                new ObjectInputStream(

-                    new InflaterInputStream(

-                        new BufferedInputStream(

-                            new FileInputStream(file))));

-            

-            files = (HashMap<String, Long>)readObject(in);

-            dependencies = (HashSet<VPGDependency<A, T, R>>)readObject(in);

-            outgoingEdges = (HashMap<R, Set<VPGEdge<A, T, R>>>)readObject(in);

-            incomingEdges = (HashMap<R, Set<VPGEdge<A, T, R>>>)readObject(in);

-            annotations = (TwoKeyHashMap<R, Integer, Serializable>)readObject(in);

-            

-            in.close();

-        }

-        catch (EOFException e)

-        {

-            // Database file is probably empty; don't worry

-            createEmptyDatabase();

-        }

-        catch (Exception e)

-        {

-            //Activator.log(e);

-            e.printStackTrace();

-            createEmptyDatabase();

-        }

-    }

-    

-    protected abstract Object readObject(ObjectInputStream in) throws IOException, ClassNotFoundException;

-    

-    protected void writeTo(File file)

-    {

-        //serialize private fields and store them

-        try

-        {

-            ObjectOutputStream out =

-                new ObjectOutputStream(

-                    new DeflaterOutputStream(

-                        new BufferedOutputStream(

-                            new FileOutputStream(file))));

-            

-            out.writeObject(files);

-            out.writeObject(dependencies);

-            out.writeObject(outgoingEdges);

-            out.writeObject(incomingEdges);

-            out.writeObject(annotations);

-            

-            out.close();

-        }

-        catch (IOException e)

-        {

-            //Activator.log(e);

-            e.printStackTrace();

-            file.delete();

-        }

-    }

-

-    ///////////////////////////////////////////////////////////////////////////

-    // API

-    ///////////////////////////////////////////////////////////////////////////

-

-    /** Forces any in-memory data to be flushed to disk */

-    @Override

-    public void flush()

-    {

-        writeTo(file);

-    }

-

-    /** Called when the database is no longer needed.  Typically ensures that

-     * any data in memory is flushed to disk and any locks are released.

-     */

-    @Override

-    public void close()

-    {

-        flush();

-        files = null;

-        dependencies = null;

-        outgoingEdges = null;

-        incomingEdges = null;

-        annotations = null;

-    }

-

-    /** Removes ALL data from the database; also clears the error/warning log. */

-    @Override

-    public void clearDatabase()

-    {

-        files.clear();

-        dependencies.clear();

-        outgoingEdges.clear();

-        incomingEdges.clear();

-        annotations.clear();

-    }

-    

-    

-    // HYPOTHETICAL UPDATING ///////////////////////////////////////////////////

-    

-    private File originalContents = null;

-    

-    @Override

-    public void enterHypotheticalMode() throws IOException

-    {

-        if (isInHypotheticalMode()) return;

-        

-        flush();

-        originalContents = copyFile(file);

-        clearDatabase();

-        readFrom(file);

-    }

-    

-    private static File copyFile(File orig) throws IOException

-    {

-        File tempFile = File.createTempFile("rephraser-tmp", "db"); //$NON-NLS-1$ //$NON-NLS-2$

-        tempFile.deleteOnExit();

-        FileChannel from = new FileInputStream(orig).getChannel();

-        FileChannel to = new FileOutputStream(tempFile).getChannel();

-        to.transferFrom(from, 0, from.size());

-        from.close();

-        to.close();

-        return tempFile;

-    }

-

-    @Override

-    public void leaveHypotheticalMode() throws IOException

-    {

-        if (!isInHypotheticalMode()) return;

-        

-        clearDatabase();

-        readFrom(originalContents);

-        originalContents.delete();

-        originalContents = null;

-    }

-    

-    @Override

-    public boolean isInHypotheticalMode()

-    {

-        return originalContents != null;

-    }

-    

-    

-    // FILES ///////////////////////////////////////////////////////////////////

-

-    /** Marks the VPG database entries for the given file as being up-to-date. */

-    @Override

-    public void updateModificationStamp(String filename)

-    {

-        files.put(filename, getModificationStamp(filename));

-    }

-

-    public abstract long getModificationStamp(String filename);

-    

-    /** @return true iff the VPG entries for the given file are not up-to-date */

-    @Override

-    public boolean isOutOfDate(String filename)

-    {

-        checkIfFileInDatabase(filename);

-        

-        long storedModificationStamp = files.get(filename);

-        return storedModificationStamp < getModificationStamp(filename);

-    }

-

-    /** Removes all dependencies, edges, and annotations for the given file. */

-    @Override

-    public void deleteAllEntriesFor(String filename)

-    {

-        this.deleteAllIncomingDependenciesFor(filename);

-        this.deleteAllOutgoingDependenciesFor(filename);

-        

-        this.deleteAllEdgesAndAnnotationsFor(filename);

-    }

-

-    /** Removes all edges and annotations (but not dependencies) for the given file. */

-    @Override

-    public void deleteAllEdgesAndAnnotationsFor(String filename)

-    {

-        //edges

-        Iterator<R> it = outgoingEdges.keySet().iterator();

-        while (it.hasNext())

-            if (it.next().getFilename().equals(filename))

-                it.remove();

-

-        it = incomingEdges.keySet().iterator();

-        while (it.hasNext())

-            if (it.next().getFilename().equals(filename))

-                it.remove();

-

-        // annotations

-        it = annotations.keySet().iterator();

-        while (it.hasNext())

-            if (it.next().getFilename().equals(filename))

-                it.remove();

-    }

-

-    /** Removes all edges pointing inward to any token in the given file. */

-    @Override

-    public void deleteAllIncomingDependenciesFor(String filename)

-    {

-        Iterator<VPGDependency<A, T, R>> dItr = dependencies.iterator();

-        while (dItr.hasNext())

-            if (dItr.next().getDependsOnFile().equals(filename))

-                dItr.remove();

-    }

-

-    /** Removes all edges pointing outward from any token in the given file. */

-    @Override

-    public void deleteAllOutgoingDependenciesFor(String filename)

-    {

-        Iterator<VPGDependency<A, T, R>> dItr = dependencies.iterator();

-        while (dItr.hasNext())

-            if (dItr.next().getDependentFile().equals(filename))

-                dItr.remove();

-    }

-

-    /** Returns all filenames present in the VPG database. */

-    @Override

-    public Set<String> listAllFilenames()

-    {

-        return files.keySet();

-    }

-

-    /** Returns the name of every file on which at least one other file is

-     *  dependent. */

-    @Override

-    public Set<String> listAllFilenamesWithDependents()

-    {

-        Set<String> toReturn = new HashSet<String>();

-        

-        for (VPGDependency<A, T, R> d : dependencies)

-            toReturn.add(d.getDependsOnFile());

-        

-        return toReturn;

-    }

-

-    /** Returns the name of every file which depends on at least one other

-     *  file. */

-    @Override

-    public Set<String> listAllDependentFilenames()

-    {

-        Set<String> toReturn = new HashSet<String>();

-        

-        for (VPGDependency<A, T, R> d : dependencies)

-            toReturn.add(d.getDependentFile());

-        

-        return toReturn;

-    }

-

-    

-    // DEPENDENCIES ////////////////////////////////////////////////////////////

-

-    /** Adds the given dependency to the VPG database if a dependency between

-     *  its files does not already exist. */

-    @Override

-    public void ensure(VPGDependency<A, T, R> dependency)

-    {

-        checkIfFileInDatabase(dependency.getDependentFile());

-        checkIfFileInDatabase(dependency.getDependsOnFile());

-        

-        dependencies.add(dependency);

-    }

-

-    /** Deletes the given dependency from the VPG database. */

-    @Override

-    public void delete(VPGDependency<A, T, R> dependency)

-    {

-        dependencies.remove(dependency);

-    }

-

-    /** @return all of the files on which the given file depends */

-    @Override

-    public Iterable<String> getOutgoingDependenciesFrom(String filename)

-    {

-        checkIfFileInDatabase(filename);

-        

-        Set<String> toReturn = new TreeSet<String>();

-        for (VPGDependency<A, T, R> d : dependencies)

-            if (d.getDependentFile().equals(filename))

-                toReturn.add(d.getDependsOnFile());

-        

-        return toReturn;

-    }

-

-    /** @return all of the files dependent on the given file */

-    @Override

-    public Iterable<String> getIncomingDependenciesTo(String filename)

-    {

-        checkIfFileInDatabase(filename);

-        

-        Set<String> toReturn = new TreeSet<String>();

-        for (VPGDependency<A, T, R> d : dependencies)

-            if (d.getDependsOnFile().equals(filename))

-                toReturn.add(d.getDependentFile());

-        

-        return toReturn;

-    }

-    

-    

-    // EDGES ///////////////////////////////////////////////////////////////////

-

-    /** Adds the given edge to the VPG database if an edge of the given type

-     *  between its tokens does not already exist. */

-    @Override

-    public void ensure(VPGEdge<A, T, R> edge)

-    {

-        checkIfFileInDatabase(edge.getSource().getFilename());

-        checkIfFileInDatabase(edge.getSink().getFilename());

-        

-        R source = edge.getSource();

-        R sink = edge.getSink();

-        

-        Set<VPGEdge<A, T, R>> eSource = outgoingEdges.get(source);

-        Set<VPGEdge<A, T, R>> eSink = incomingEdges.get(sink);

-        

-        if (eSource == null)

-            outgoingEdges.put(source, new TreeSet<VPGEdge<A, T, R>>());

-        outgoingEdges.get(source).add(edge);

-

-        if (eSink == null) 

-            incomingEdges.put(sink, new TreeSet<VPGEdge<A, T, R>>());

-        incomingEdges.get(sink).add(edge);

-    }

-

-    /** Deletes the given edge from the VPG database. */

-    @Override

-    public void delete(VPGEdge<A, T, R> edge)

-    {

-        Set<VPGEdge<A, T, R>> e1 = outgoingEdges.get(edge.getSource());

-        if (e1 != null && e1.contains(edge))

-        {

-            if (e1.size() == 1)

-                outgoingEdges.remove(edge.getSource());

-            else

-                outgoingEdges.get(edge.getSource()).remove(edge);

-        }

-        

-        Set<VPGEdge<A, T, R>> e2 = incomingEdges.get(edge.getSink());

-        if (e2 != null && e2.contains(edge))

-        {

-            if (e2.size() == 1)

-                incomingEdges.remove(edge.getSink());

-            else

-                incomingEdges.get(edge.getSink()).remove(edge);

-        }

-    }

-

-    /**

-     * Returns a list of all of the edges with at least one endpoint in the given file.

-     * <p>

-     * Due to implementation details, some edges may be listed more than once.

-     *

-     */

-    @Override

-    public Collection<? extends VPGEdge<A, T, R>> getAllEdgesFor(String filename)

-    {

-        checkIfFileInDatabase(filename);

-        

-        Set<VPGEdge<A, T, R>> toReturn = new TreeSet<VPGEdge<A, T, R>>(); 

-

-        for (R r : outgoingEdges.keySet())

-            if (r.getFilename().equals(filename))

-                toReturn.addAll(this.getOutgoingEdgesFrom(r, ALL_EDGES));

-   

-        for (R r : incomingEdges.keySet())

-            if (r.getFilename().equals(filename))

-                toReturn.addAll(this.getIncomingEdgesTo(r, ALL_EDGES));

-   

-        return toReturn;

-    }

-

-    /**

-     * Returns a list of the edges extending from the given token.

-     * <p>

-     * To only return edges of a particular type, set the <code>edgeType</code>

-     * parameter to that type.

-     *

-     * @param edgeType the type of edge (an arbitrary non-negative integer), or

-     *                 {@link VPG#ALL_EDGES_ALLOWED} to return all edges, regardless

-     *                 of type THIS IS INDICATED BY Integer.MIN_VALUE

-     */

-    @Override

-    public Collection<? extends VPGEdge<A, T, R>> getOutgoingEdgesFrom(R source, int edgeType)

-    {

-        if (outgoingEdges.get(source) == null) return Collections.emptySet();

-        

-        checkIfFileInDatabase(source.getFilename());

-        

-        if (edgeType == ALL_EDGES)

-        {

-            return outgoingEdges.get(source);

-        }

-        else

-        {

-            Set<VPGEdge<A, T, R>> toReturn = new TreeSet<VPGEdge<A, T, R>>();

-            for (VPGEdge<A, T, R> e : outgoingEdges.get(source))

-                if (e.getType() == edgeType)

-                    toReturn.add(e);

-            return toReturn;

-        }

-    }

-

-    /**

-     * Returns a list of the edges pointing at the given token.

-     * <p>

-     * To only return edges of a particular type, set the <code>edgeType</code>

-     * parameter to that type.

-     *

-     * @param edgeType the type of edge (an arbitrary non-negative integer), or

-     *                 {@link VPG#ALL_EDGES} to return all edges, regardless

-     *                 of type THIS IS INDICATED BY Integer.MIN_VALUE

-     */

-    @Override

-    public Collection<? extends VPGEdge<A, T, R>> getIncomingEdgesTo(R sink, int edgeType)

-    {

-        if (incomingEdges.get(sink) == null) return new TreeSet<VPGEdge<A, T, R>>();

-        

-        checkIfFileInDatabase(sink.getFilename());

-        

-        if (edgeType == ALL_EDGES)

-        {

-            return incomingEdges.get(sink);

-        }

-        else

-        {

-            Set<VPGEdge<A, T, R>> toReturn = new TreeSet<VPGEdge<A, T, R>>();

-            for (VPGEdge<A, T, R> e : incomingEdges.get(sink))

-                if (e.getType() == edgeType)

-                    toReturn.add(e);

-            return toReturn;

-        }

-    }

-    

-    

-    // ANNOTATIONS /////////////////////////////////////////////////////////////

-

-    /**

-     * Annotates the given token with the given (serializable) object

-     * (which may be <code>null</code>).

-     * If an annotation for the given token with the given ID already exists,

-     * it will be replaced.

-     * <p>

-     * A token can have several annotations, but each annotation must be given

-     * a unique ID.  For example, annotation 0 might describe

-     * the type of an identifier, while annotation 1 might hold documentation

-     * for that identifier.

-     */

-    @Override

-    public void setAnnotation(R token, int annotationID, Serializable annotation)

-    {

-        checkIfFileInDatabase(token.getFilename());

-        

-        annotations.put(token, annotationID, annotation);

-    }

-

-    /** Deletes the annotation with the given ID for the given token, if it exists. */

-    @Override

-    public void deleteAnnotation(R token, int annotationID)

-    {

-        annotations.remove(token, annotationID);

-    }

-

-    /** @return the annotation with the given ID for the given token, or <code>null</code>

-     *  if it does not exist */

-    @Override

-    public Serializable getAnnotation(R token, int annotationID)

-    {

-        checkIfFileInDatabase(token.getFilename());

-        

-        return annotations.getEntry(token, annotationID);

-    }

-

-    /**

-     * Returns a list of all of the annotations in the given file.

-     * <p>

-     * The first entry of each pair is a {@link IVPGNode}, and the second is an annotation type.

-     * The annotation can be retrieved using {@link VPGDB#getAnnotation(IVPGNode, int)}.

-     * <p>

-     * Due to implementation details, some annotations may be listed more than once.

-     * 

-     * @since 3.0

-     */

-    @Override

-    public Iterable<Pair<R, Integer>> getAllAnnotationsFor(String filename)

-    {

-        checkIfFileInDatabase(filename);

-        

-        Set<Pair<R, Integer>> toReturn = new HashSet<Pair<R, Integer>>();

-        

-        for (R r : annotations.keySet())

-            if (r.getFilename().equals(filename))

-                for (Integer i : annotations.getAllEntriesFor(r).keySet())

-                    toReturn.add(new Pair<R, Integer>((R)r, i));

-        

-        return toReturn;

-    }

-    

-    

-    // UTILITY METHODS /////////////////////////////////////////////////////////

-

-    @Override

-    public void printOn(PrintStream out)

-    {

-        out.println("MODIFICATION STAMPS:"); //$NON-NLS-1$

-        out.println();

-        out.println(this.files.toString());

-

-        out.println();

-        out.println();

-        out.println("DEPENDENCIES:"); //$NON-NLS-1$

-        out.println();

-        out.println(this.dependencies.toString());

-

-        out.println();

-        out.println();

-        out.println("EDGES:"); //$NON-NLS-1$

-        out.println();

-        out.println(this.outgoingEdges.toString());

-

-        out.println();

-        out.println();

-        out.println("ANNOTATIONS:"); //$NON-NLS-1$

-        out.println();

-        out.println(this.annotations.toString());

-    }

-

-    @Override

-    public void printStatisticsOn(PrintStream out)

-    {

-        //BLANK

-    }

-

-    @Override

-    public void resetStatistics()

-    {

-        //BLANK

-    }

-    

-    /** Checks to see if a file is in the database, if not, bring the file in **/

-    private void checkIfFileInDatabase(String filename)

-    {

-        if (!files.containsKey(filename))

-            files.put(filename, Long.MIN_VALUE);

-    }

-}

diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/EclipseVPG.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/EclipseVPG.java
deleted file mode 100644
index d768945..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/EclipseVPG.java
+++ /dev/null
@@ -1,606 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg.eclipse;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.VPG;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchListener;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * A virtual program graph for use in an Eclipse environment.
- * <a href="../../../../overview-summary.html#Eclipse">More Information</a>
- * <p>
- * This class is intended to be subclassed directly.
- *
- * @author Jeff Overbey
- * 
- * @since 1.0
- */
-@SuppressWarnings("restriction")
-public abstract class EclipseVPG<A, T, R extends IVPGNode<T>>
-              extends VPG<A, T, R>
-{
-    private String syncMessage;
-
-    /**
-     * @since 3.0
-     */
-    public EclipseVPG(IEclipseVPGComponentFactory<A, T, R> locator, String syncMessage, int transientASTCacheSize)
-    {
-        super(locator, transientASTCacheSize);
-        this.syncMessage = syncMessage;
-    }
-
-    /**
-     * @since 3.0
-     */
-    public EclipseVPG(IEclipseVPGComponentFactory<A, T, R> locator, String syncMessage)
-    {
-        super(locator);
-        this.syncMessage = syncMessage;
-    }
-
-    /** Enqueues a job to make sure the VPG is up-to-date with the
-     *  workspace, and instructs it to automatically update itself
-     *  when files are added, changed, or deleted in the workspace.
-     */
-    public void start()
-    {
-        ensureVPGClosedOnWorkbenchShutdown();
-        
-        getLog().readLogFromFile();
-        
-        // Now listen for changes to workspace resources
-        ResourcesPlugin.getWorkspace().addResourceChangeListener(new VPGResourceChangeListener(), IResourceChangeEvent.POST_CHANGE);
-
-        // The C/C++ Development Tool (see org.eclipse.cdt.internal.core.model.CModelManager) handles
-        // IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.PRE_CLOSE
-
-        // and also executes
-        // Platform.getContentTypeManager().addContentTypeChangeListener(this);
-
-        queueJobToEnsureVPGIsUpToDate();
-    }
-
-    /** Ensures that the database is closed and flushed when the workbench shuts down */
-    private void ensureVPGClosedOnWorkbenchShutdown()
-    {
-        Workbench.getInstance().addWorkbenchListener(new IWorkbenchListener()
-        {
-            public boolean preShutdown(IWorkbench workbench, boolean forced)
-            {
-                FlushDatabaseJob job = new FlushDatabaseJob();
-                job.setRule(
-                    MultiRule.combine(
-                        VPGSchedulingRule.getInstance(),
-                        ResourcesPlugin.getWorkspace().getRoot()));
-                job.schedule();
-                return true;
-            }
-
-            public void postShutdown(IWorkbench workbench)
-            {
-            }
-        });
-    }
-
-    private final class FlushDatabaseJob extends WorkspaceJob
-    {
-        private FlushDatabaseJob()
-        {
-            super(Messages.bind(Messages.EclipseVPG_WritingDatabaseToDisk, syncMessage));
-        }
-
-        @Override
-        public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException
-        {
-            try
-            {
-                flushDatabase();
-                getLog().writeToFile();
-                return Status.OK_STATUS;
-            }
-            catch (Throwable e)
-            {
-                return new Status(IStatus.ERROR, null, e.getMessage(), e);
-            }
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Resource Visitor
-    ///////////////////////////////////////////////////////////////////////////
-
-    public WorkspaceJob queueJobToEnsureVPGIsUpToDate()
-    {
-        WorkspaceJob job = new VPGInitialWorkspaceSyncJob(syncMessage);
-        job.setRule(MultiRule.combine(VPGSchedulingRule.getInstance(),
-                    ResourcesPlugin.getWorkspace().getRoot()));
-        job.schedule();
-        return job;
-    }
-
-    private final class VPGInitialWorkspaceSyncJob extends VPGJob<A, T>
-    {
-        private VPGInitialWorkspaceSyncJob(String name)
-        {
-            super(name);
-        }
-
-        @Override public IStatus runInWorkspace(final IProgressMonitor monitor)
-        {
-            try
-            {
-                monitor.beginTask(Messages.EclipseVPG_Indexing, IProgressMonitor.UNKNOWN);
-                return ensureVPGIsUpToDate(monitor);
-            }
-            finally
-            {
-                monitor.done();
-            }
-        }
-    }
-
-    /** Ensures that the VPG database contains up-to-date information for all of
-     *  the resources in the workspace.
-     */
-    public IStatus ensureVPGIsUpToDate(IProgressMonitor monitor)
-    {
-        try
-        {
-            long start = System.currentTimeMillis();
-            
-            WorkspaceSyncResourceVisitor visitor = new WorkspaceSyncResourceVisitor();
-            collectFilesToIndex(visitor, monitor);
-            visitor.calculateDependencies(monitor);
-            visitor.index(monitor);
-
-            long end = System.currentTimeMillis();
-            debug("Total time in #ensureVPGIsUpToDate: " + (end-start) + " ms", null); //$NON-NLS-1$ //$NON-NLS-2$
-
-            return Status.OK_STATUS;
-        }
-        catch (CoreException e)
-        {
-            return e.getStatus();
-        }
-    }
-
-    private void collectFilesToIndex(WorkspaceSyncResourceVisitor visitor, IProgressMonitor monitor) throws CoreException
-    {
-        monitor.subTask(Messages.EclipseVPG_SearchingForWorkspaceModifications);
-        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-        workspaceRoot.accept(visitor); // Collect list of files to index
-    }
-
-    private EclipseVPGWriter<A, T, R> getBuilder()
-    {
-        return (EclipseVPGWriter<A, T, R>)getBuilder();
-    }
-    
-    private final class WorkspaceSyncResourceVisitor implements IResourceVisitor
-    {
-        private final ArrayList<String> files;
-
-        private WorkspaceSyncResourceVisitor()
-        {
-            this.files = new ArrayList<String>(1024);
-        }
-
-        public boolean visit(IResource resource)
-        {
-            try
-            {
-                if (!resource.isAccessible()) return false;
-
-                if (resource instanceof IProject && !shouldProcessProject((IProject)resource)) return false;
-
-                if (resource instanceof IFile && shouldProcessFile((IFile)resource))
-                    files.add(EclipseVPG.getFilenameForIFile((IFile)resource));
-            }
-            catch (Exception e)
-            {
-                getLog().logError(e);
-            }
-            return !(resource instanceof IFile);
-        }
-
-        public void calculateDependencies(IProgressMonitor monitor)
-        {
-            ArrayList<String> queue = files;
-            int completed = 0, total = queue.size();
-            for (String filename : queue)
-            {
-                if (monitor.isCanceled()) throw new OperationCanceledException();
-
-                monitor.subTask(
-                    filename + " " + //$NON-NLS-1$
-                    Messages.bind(Messages.EclipseVPG_CalculatingDependencies,
-                                  ++completed,
-                                  total));
-                calculateDependenciesIfNotUpToDate(filename);
-            }
-        }
-
-        public void index(IProgressMonitor monitor)
-        {
-            List<String> queue = sortFilesAccordingToDependencies(files); //, monitor);
-
-            int completed = 0, total = countFilesInQueue(queue);
-            for (String filename : queue)
-            {
-                if (monitor.isCanceled()) throw new OperationCanceledException();
-
-                if (shouldListFileInIndexerProgressMessages(filename))
-                    monitor.subTask(filename + " " + //$NON-NLS-1$
-                        Messages.bind(Messages.EclipseVPG_XofY,
-                                      ++completed,
-                                      total));
-
-                indexIfNotUpToDate(filename);
-            }
-        }
-    }
-
-    private int countFilesInQueue(List<String> queue)
-    {
-        int total = 0;
-        for (String filename : queue)
-            if (shouldListFileInIndexerProgressMessages(filename))
-                total++;
-        return total;
-    }
-
-    protected boolean shouldListFileInIndexerProgressMessages(String filename)
-    {
-        return !isVirtualFile(filename);
-    }
-
-    //public ArrayList<String> sortFilesAccordingToDependencies(final ArrayList<String> files, final IProgressMonitor monitor)
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Resource Change Listener
-    ///////////////////////////////////////////////////////////////////////////
-
-    private final class VPGResourceChangeListener implements IResourceChangeListener
-    {
-        public void resourceChanged(IResourceChangeEvent event)
-        {
-            if (!(event.getSource() instanceof IWorkspace)) return;
-
-            if (event.getType() != IResourceChangeEvent.POST_CHANGE) return;
-
-            final IResourceDelta delta = event.getDelta();
-            if (delta == null) return;
-
-            new VPGResourceDeltaJob(syncMessage, delta).schedule();
-        }
-    }
-
-    private final class VPGResourceDeltaJob extends VPGJob<A, T>
-    {
-        private final IResourceDelta delta;
-
-        private VPGResourceDeltaJob(String name, IResourceDelta delta)
-        {
-            super(name);
-            this.delta = delta;
-        }
-
-        @Override public IStatus runInWorkspace(final IProgressMonitor monitor)
-        {
-            try
-            {
-                monitor.beginTask(Messages.EclipseVPG_Indexing, IProgressMonitor.UNKNOWN);
-                
-                long start = System.currentTimeMillis();
-                
-                // Re-index or delete entries for files when they are added/changed or deleted, respectively
-                VPGResourceDeltaVisitor visitor = new VPGResourceDeltaVisitor();
-                monitor.subTask(Messages.EclipseVPG_SearchingForWorkspaceModifications);
-                delta.accept(visitor); // Collect files to index
-                visitor.calculateDependencies(monitor);
-                visitor.index(monitor);
-                
-                long end = System.currentTimeMillis();
-                debug("Total time indexing resource delta: " + (end-start) + " ms", null); //$NON-NLS-1$ //$NON-NLS-2$
-                return Status.OK_STATUS;
-            }
-            catch (CoreException e)
-            {
-                return e.getStatus();
-            }
-            finally
-            {
-                monitor.done();
-            }
-        }
-    }
-
-    private final class VPGResourceDeltaVisitor implements IResourceDeltaVisitor
-    {
-        private ArrayList<String> files;
-        private HashMap<String, Boolean> forceReindex;
-
-        public VPGResourceDeltaVisitor()
-        {
-            this.files = new ArrayList<String>(256);
-            this.forceReindex = new HashMap<String, Boolean>(256);
-        }
-
-        public boolean visit(IResourceDelta delta)
-        {
-            try
-            {
-                IResource resource = delta.getResource();
-                if (!(resource instanceof IFile))
-                {
-                    if (resource instanceof IProject)
-                        return shouldProcessProject((IProject)resource);
-                    else
-                        return true;
-                }
-                IFile file = (IFile)resource;
-                if (!shouldProcessFile(file)) return true;
-
-                String filename = getFilenameForIFile(file);
-
-                switch (delta.getKind())
-                {
-                case IResourceDelta.ADDED:
-                    debug("Resource Delta: Add", filename); //$NON-NLS-1$
-                    files.add(filename);
-                    forceReindex.put(filename, true); // Was false
-                    break;
-
-                case IResourceDelta.CHANGED:
-                    debug("Resource Delta: Change", filename); //$NON-NLS-1$
-                    if ((delta.getFlags() & (IResourceDelta.CONTENT|IResourceDelta.REPLACED)) != 0)
-                    {
-                        files.add(filename);
-                        forceReindex.put(filename, true);
-                    }
-                    break;
-
-                case IResourceDelta.REMOVED:
-                    debug("Resource Delta: Remove", filename); //$NON-NLS-1$
-                    deleteAllEntriesFor(filename);
-                    break;
-                }
-            }
-            catch (Exception e)
-            {
-                getLog().logError(e);
-            }
-            return true;
-        }
-
-        public void calculateDependencies(IProgressMonitor monitor)
-        {
-            ArrayList<String> queue = files;
-            int completed = 0, total = queue.size();
-            for (String filename : queue)
-            {
-                if (monitor.isCanceled()) throw new OperationCanceledException();
-
-                monitor.subTask(filename + " " + //$NON-NLS-1$
-                    Messages.bind(Messages.EclipseVPG_XofY,
-                        ++completed,
-                        total));
-                Boolean force = forceReindex.get(filename);
-                if (force == null || force)
-                    forceRecomputationOfDependencies(filename);
-                else
-                    calculateDependenciesIfNotUpToDate(filename);
-            }
-        }
-
-        public void index(IProgressMonitor monitor)
-        {
-            List<String> queue = sortFilesAccordingToDependencies(files); //, monitor);
-            int completed = 0, total = countFilesInQueue(queue);
-            for (String filename : queue)
-            {
-                if (monitor.isCanceled()) throw new OperationCanceledException();
-
-                if (shouldListFileInIndexerProgressMessages(filename))
-                    monitor.subTask(filename + " " + //$NON-NLS-1$
-                        Messages.bind(Messages.EclipseVPG_XofY,
-                            ++completed,
-                            total));
-
-                Boolean force = forceReindex.get(filename);
-                if (force == null || force)
-                    forceRecomputationOfEdgesAndAnnotations(filename);
-                else
-                    indexIfNotUpToDate(filename);
-            }
-        }
-    }
-
-    /** Updates the VPG database's dependency information for the given file
-     *  if the stored information is out of date
-     * @param monitor */
-    protected void calculateDependenciesIfNotUpToDate(String filename)
-    {
-        if (isOutOfDate(filename))
-        {
-            debug(Messages.EclipseVPG_Indexing, filename);
-            forceRecomputationOfDependencies(filename);
-        }
-        else
-        {
-            debug(Messages.EclipseVPG_IndexIsUpToDate, filename);
-        }
-    }
-
-    /** Updates the VPG database information for the given file if the stored
-     *  information is out of date
-     * @param monitor */
-    protected void indexIfNotUpToDate(String filename)
-    {
-        if (isOutOfDate(filename))
-        {
-            debug(Messages.EclipseVPG_Indexing, filename);
-            forceRecomputationOfEdgesAndAnnotations(filename);
-        }
-        else
-        {
-            debug(Messages.EclipseVPG_IndexIsUpToDate, filename);
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Utility Methods (IFile<->Filename Mapping)
-    ///////////////////////////////////////////////////////////////////////////
-
-    public static IFile getIFileForFilename(String filename)
-    {
-        return ResourceUtil.getIFileForFilename(filename);
-    }
-
-    public static String getFilenameForIFile(IFile file)
-    {
-        return ResourceUtil.getFilenameForIFile(file);
-    }
-
-    public static IResource getIResourceForFilename(String filename)
-    {
-        return ResourceUtil.getIResourceForFilename(filename);
-    }
-
-    public static String getFilenameForIResource(IResource resource)
-    {
-        return ResourceUtil.getFilenameForIResource(resource);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // IFile-Based AST Acquisition & Release API
-    ///////////////////////////////////////////////////////////////////////////
-
-    /**
-     * @since 2.0
-     */
-    public A acquireTransientAST(IFile file)
-    {
-        return file == null ? null : acquireTransientAST(getFilenameForIFile(file));
-    }
-
-    /**
-     * @since 2.0
-     */
-    public A acquirePermanentAST(IFile file)
-    {
-        return file == null ? null : acquirePermanentAST(getFilenameForIFile(file));
-    }
-    
-    /**
-     * @since 2.0
-     */
-    public A makeTransientASTPermanent(IFile file)
-    {
-        return file == null ? null : makeTransientASTPermanent(getFilenameForIFile(file));
-    }
-
-    /**
-     * @since 2.0
-     */
-    public A makeTransientASTPermanent(IFile file, A ast)
-    {
-        return file == null ? null : makeTransientASTPermanent(getFilenameForIFile(file), ast);
-    }
-
-    /**
-     * @since 2.0
-     */
-    public void releaseAST(IFile file)
-    {
-        if (file != null) releaseAST(getFilenameForIFile(file));
-    }
-    
-    /**
-     * @since 2.0
-     */
-    public IFile getIFileCorrespondingTo(A ast)
-    {
-        String filename = getFilenameCorrespondingTo(ast);
-        return filename == null ? null : getIFileForFilename(filename);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // VPG Overrides
-    ///////////////////////////////////////////////////////////////////////////
-
-    /** Forces the database to be updated based on the current in-memory AST for the given file */
-    public void commitChangesFromInMemoryASTs(IProgressMonitor pm, int ticks, IFile file)
-    {
-        commitChangesFromInMemoryASTs(pm, ticks, getFilenameForIFile(file));
-    }
-
-    /**
-     * Forces the database to be updated based on the current in-memory ASTs for the given files
-     * @since 2.0
-     */
-    public void commitChangesFromInMemoryASTs(IProgressMonitor pm, int ticks, Set<IFile> files)
-    {
-        String[] filenames = new String[files.size()];
-        int i = 0;
-        for (IFile file : files)
-            filenames[i++] = getFilenameForIFile(file);
-        
-        commitChangesFromInMemoryASTs(pm, ticks, filenames);
-    }
-    
-    ///////////////////////////////////////////////////////////////////////////
-    // Abstract Methods (Resource Filtering)
-    ///////////////////////////////////////////////////////////////////////////
-
-    /** @return true iff the given file should be parsed 
-     * @since 3.0*/
-    @Override public boolean shouldProcessFile(String filename)
-    {
-        IFile file = EclipseVPG.getIFileForFilename(filename);
-        return file == null ? false : shouldProcessFile(file);
-    }
-
-    /** @return true if the given project should be indexed 
-     * @since 3.0*/
-    public abstract boolean shouldProcessProject(IProject project);
-
-    /** @return true iff the given file should be indexed 
-     * @since 3.0*/
-    public abstract boolean shouldProcessFile(IFile file);
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/EclipseVPGWriter.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/EclipseVPGWriter.java
deleted file mode 100644
index 3d4c093..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/EclipseVPGWriter.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg.eclipse;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.rephraserengine.core.vpg.NodeRef;
-import org.eclipse.rephraserengine.core.vpg.VPGWriter;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.VPGDB;
-import org.eclipse.rephraserengine.core.vpg.VPGLog;
-
-/**
- * A {@link VPGWriter} corresponding to an {@link EclipseVPG}.
- * 
- * @author Jeff Overbey
- * 
- * @param <A> AST type
- * @param <T> token type
- * @param <R> {@link IVPGNode}/{@link NodeRef} type
- * 
- * @since 3.0
- */
-public abstract class EclipseVPGWriter<A, T, R extends IVPGNode<T>>
-              extends VPGWriter<A, T, R>
-{
-    protected EclipseVPGWriter(VPGDB<A, T, R> db, VPGLog<T,R> log)
-    {
-        super(db, log);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Utility Methods (IFile<->Filename Mapping)
-    ///////////////////////////////////////////////////////////////////////////
-
-    public static IFile getIFileForFilename(String filename)
-    {
-        return ResourceUtil.getIFileForFilename(filename);
-    }
-
-    public static String getFilenameForIFile(IFile file)
-    {
-        return ResourceUtil.getFilenameForIFile(file);
-    }
-
-    public static IResource getIResourceForFilename(String filename)
-    {
-        return ResourceUtil.getIResourceForFilename(filename);
-    }
-
-    public static String getFilenameForIResource(IResource resource)
-    {
-        return ResourceUtil.getFilenameForIResource(resource);
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/IEclipseVPGComponentFactory.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/IEclipseVPGComponentFactory.java
deleted file mode 100644
index f4f655d..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/IEclipseVPGComponentFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg.eclipse;
-
-import org.eclipse.rephraserengine.core.vpg.IVPGComponentFactory;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.NodeRef;
-import org.eclipse.rephraserengine.core.vpg.VPGDB;
-import org.eclipse.rephraserengine.core.vpg.VPGLog;
-
-/**
- * An {@link IVPGComponentFactory} for an {@link EclipseVPG}.
- * <p>
- * This class overrides {@link IVPGComponentFactory#createVPGWriter(VPGDB, VPGLog)}, requiring that
- * method to return an {@link EclipseVPGWriter}.
- * 
- * @author Jeff Overbey
- * 
- * @param <A> AST type
- * @param <T> token type
- * @param <R> {@link IVPGNode}/{@link NodeRef} type
- * 
- * @since 3.0
- */
-public interface IEclipseVPGComponentFactory<A, T, R extends IVPGNode<T>>
-         extends IVPGComponentFactory<A, T, R>
-{
-    public abstract EclipseVPGWriter<A, T, R> createVPGWriter(VPGDB<A, T, R> db, VPGLog<T,R> log);
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/Messages.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/Messages.java
deleted file mode 100644
index eae668a..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/Messages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg.eclipse;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- * 
- * @since 2.0
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.core.vpg.eclipse.messages"; //$NON-NLS-1$
-
-    public static String EclipseVPG_CalculatingDependencies;
-
-    public static String EclipseVPG_Indexing;
-
-    public static String EclipseVPG_IndexIsUpToDate;
-
-    public static String EclipseVPG_SearchingForWorkspaceModifications;
-
-    /** @since 3.0 */
-    public static String EclipseVPG_WritingDatabaseToDisk;
-
-    public static String EclipseVPG_XofY;
-
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/ResourceUtil.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/ResourceUtil.java
deleted file mode 100644
index a48db15..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/ResourceUtil.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg.eclipse;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-
-/**
- * Utility methods for converting between {@link IFile}/{@link IResource} objects and (
- * <code>String</code>) filenames used by the VPG and stored in its database.
- * 
- * @author Jeff Overbey
- * 
- * @since 3.0
- */
-public class ResourceUtil
-{
-    private ResourceUtil() {;}
-    
-    ///////////////////////////////////////////////////////////////////////////
-    // Utility Methods (IFile<->Filename Mapping)
-    ///////////////////////////////////////////////////////////////////////////
-
-    public static IFile getIFileForFilename(String filename)
-    {
-        IResource resource = getIResourceForFilename(filename);
-        if (resource instanceof IFile)
-            return (IFile)resource;
-        else
-            return null;
-    }
-
-    public static String getFilenameForIFile(IFile file)
-    {
-        return getFilenameForIResource(file);
-    }
-
-    public static IResource getIResourceForFilename(String filename)
-    {
-        return ResourcesPlugin.getWorkspace().getRoot().findMember(filename);
-    }
-
-    public static String getFilenameForIResource(IResource resource)
-    {
-        if (resource == null)
-            return null;
-        else
-            return resource.getFullPath().toString();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/VPGJob.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/VPGJob.java
deleted file mode 100644
index 242de70..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/VPGJob.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg.eclipse;
-
-import org.eclipse.core.resources.WorkspaceJob;
-
-/**
- * A {@link WorkspaceJob} which accesses a VPG.
- * <p>
- * The job will be scheduled such that only one VPG-accessing job is running at any point in time
- * (using a {@link VPGSchedulingRule}).
- * <p>
- * <a href="../../../../overview-summary.html#Eclipse">More Information</a>
- * <p>
- * This class is intended to be subclassed directly.
- * 
- * @author Jeff Overbey
- * @see org.eclipse.core.resources.WorkspaceJob
- * 
- * @since 1.0
- */
-public abstract class VPGJob<A, T> extends WorkspaceJob
-{
-	public VPGJob(String name)
-	{
-		super(name);
-		setRule(VPGSchedulingRule.getInstance());
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/VPGSchedulingRule.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/VPGSchedulingRule.java
deleted file mode 100644
index 8302b3c..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/VPGSchedulingRule.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg.eclipse;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-
-/**
- * An {@link ISchedulingRule} for jobs which access a VPG.
- * <p>
- * Only one job with a {@link VPGSchedulingRule} is allowed to run at any single point in time.
- * <p>
- * This class is a Singleton; the singleton instance is accessed via the {@link #getInstance()}
- * method.
- * <p>
- * <a href="../../../../overview-summary.html#Eclipse">More Information</a>
- * 
- * @author Jeff Overbey
- * 
- * @since 1.0
- */
-public class VPGSchedulingRule implements ISchedulingRule
-{
-	private static VPGSchedulingRule instance = null;
-
-	public static VPGSchedulingRule getInstance()
-	{
-		if (instance == null) instance = new VPGSchedulingRule();
-		return instance;
-	}
-
-	private VPGSchedulingRule() {}
-
-	public boolean isConflicting(ISchedulingRule rule)
-	{
-		return rule == this;
-	}
-
-	public boolean contains(ISchedulingRule rule)
-	{
-		return rule == this;
-	}
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/messages.properties b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/messages.properties
deleted file mode 100644
index 7d58c57..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/messages.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-EclipseVPG_CalculatingDependencies=(calculating dependencies - file {0} of {1})
-EclipseVPG_Indexing=Indexing
-EclipseVPG_IndexIsUpToDate=Index is up to date
-EclipseVPG_SearchingForWorkspaceModifications=Searching for workspace modifications...
-EclipseVPG_WritingDatabaseToDisk=Writing {0} database to disk...
-EclipseVPG_XofY=({0} of {1})
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/package-info.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/package-info.java
deleted file mode 100644
index cc0ff38..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/eclipse/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Contains classes supporting integration of VPGs into Eclipse-based tools.
- */
-package org.eclipse.rephraserengine.core.vpg.eclipse;
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/messages.properties b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/messages.properties
deleted file mode 100644
index 99dbd55..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-VPG_AnnotationOfType=Annotation of type {0}
-VPG_EdgeOfType=Edge of type {0}
-VPG_PostTransformAnalysis=Post-transform analysis:
-VPG_ProcessingDependentFile=- Processing dependent file 
-VPG_SortingFilesEnqueuingDependents=Sorting files according to dependencies - enqueuing dependents ({0} of {1})
-VPG_SortingFilesSortingDependents=Sorting files according to dependencies - sorting dependents of {0} ({1} of {2})
-VPGDB_AnnotationOfType=Annotation of type {0}
-VPGDB_EdgeOfType=Edge of type {0}
-VPGDB_FilenameOffsetLength={0}, offset {1}, length {2}
-VPGLog_ErrorLabel=ERROR:   
-VPGLog_FilenameOffsetLength=\ \ \ \ \ \ \ \ \ ({0}, offset {1}, length {2})
-VPGLog_WarningLabel=Warning: 
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/package-info.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/package-info.java
deleted file mode 100644
index 6daf324..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * Contains base classes for VPGs, dependencies, and edges.
- * <p>
- * Eclipse integration and VPG implementations using various databases are <i>not</i> in this package.
- */
-package org.eclipse.rephraserengine.core.vpg;
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/Messages.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/Messages.java
deleted file mode 100644
index 4643d89..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/Messages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.vpg.refactoring;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings
- * .
- * @since 2.0
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.core.vpg.refactoring.messages"; //$NON-NLS-1$
-
-    public static String VPGEditorRefactoring_FileInTheEditorCannotBeParsed;
-
-    public static String VPGPreservationBasedEditorRefactoring_CheckingFinalPreconditions;
-
-    public static String VPGRefactoring_EnsuringIndexIsUpToDate;
-
-    public static String VPGRefactoring_FileInTheEditorIsNotAccessible;
-
-    public static String VPGRefactoring_FileInTheEditorIsReadOnly;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGEditorRefactoring.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGEditorRefactoring.java
deleted file mode 100644
index 447007e..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGEditorRefactoring.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.rephraserengine.core.vpg.refactoring;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.rephraserengine.core.refactorings.IEditorRefactoring;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-
-/**
- * A refactoring which requires the user to make a selection in a text editor in order to invoke the
- * refactoring.
- * <p>
- * Contrast with {@link VPGResourceRefactoring}.
- * 
- * @author Jeff Overbey
- * 
- * @param <A> AST type
- * @param <T> node/token type (i.e., the type returned by {@link IVPGNode#getASTNode()})
- * @param <V> VPG
- * 
- * @since 2.0
- */
-public abstract class VPGEditorRefactoring<A, T, V extends EclipseVPG<A, T, ? extends IVPGNode<T>>>
-    extends VPGRefactoring<A, T, V>
-    implements IEditorRefactoring
-{
-    protected IFile fileInEditor;
-    protected ITextSelection selectedRegionInEditor;
-    protected A astOfFileInEditor;
-
-    public void initialize(IFile file, ITextSelection selection)
-    {
-        if (file == null) throw new IllegalArgumentException("file argument cannot be null"); //$NON-NLS-1$
-
-        this.fileInEditor = file;
-        this.selectedRegionInEditor = selection;
-        this.astOfFileInEditor = null; // until #checkInitialConditions invoked
-    }
-
-    public void initialize(IFile file)
-    {
-        initialize(file, null);
-    }
-
-    @Override
-    protected void checkFiles(RefactoringStatus status) throws PreconditionFailure
-    {
-        assert fileInEditor != null;
-
-        checkIfFileIsAccessibleAndWritable(fileInEditor);
-
-        this.astOfFileInEditor = vpg.acquireTransientAST(fileInEditor);
-        logVPGErrors(status, fileInEditor);
-        if (astOfFileInEditor == null)
-            fail(Messages.VPGEditorRefactoring_FileInTheEditorCannotBeParsed);
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGPreservationBasedEditorRefactoring.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGPreservationBasedEditorRefactoring.java
deleted file mode 100644
index 1e799c4..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGPreservationBasedEditorRefactoring.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.rephraserengine.core.vpg.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.rephraserengine.core.preservation.PreservationAnalysis;
-import org.eclipse.rephraserengine.core.preservation.PreservationRuleset;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-
-/**
- * @since 2.0
- */
-public abstract class VPGPreservationBasedEditorRefactoring<A, T, V extends EclipseVPG<A, T, ? extends IVPGNode<T>>>
-    extends VPGEditorRefactoring<A, T, V>
-{
-    protected PreservationAnalysis preservation = null;
-
-    @Override
-    protected final void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-        try
-        {
-            pm.beginTask(Messages.VPGPreservationBasedEditorRefactoring_CheckingFinalPreconditions, 40);
-
-            // If the user used the Back button in the refactoring wizard dialog,
-            // the AST pointed to by astOfFileInEditor may have been released, so we
-            // should re-acquire the current AST to make sure (1) we're not using
-            // a modified AST, and (2) we're using an AST that the VPG is currently
-            // aware of (i.e., not a stale AST no longer in its cache).
-            this.astOfFileInEditor = vpg.acquireTransientAST(fileInEditor);
-
-            doValidateUserInput(status, new SubProgressMonitor(pm, 5));
-            if (!status.hasFatalError())
-            {
-                vpg.acquirePermanentAST(fileInEditor);
-
-                preservation = new PreservationAnalysis(getVPG(), pm, 10,
-                    fileInEditor,
-                    getEdgesToPreserve());
-
-                doTransform(status, new SubProgressMonitor(pm, 5));
-
-                vpg.commitChangesFromInMemoryASTs(pm, 20, fileInEditor);
-                preservation.checkForPreservation(status, pm, 0);
-
-                this.addChangeFromModifiedAST(this.fileInEditor, pm);
-            }
-
-            pm.done();
-        }
-        finally
-        {
-            vpg.releaseAllASTs();
-        }
-    }
-
-    @Override
-    protected final void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-    }
-
-    protected abstract void doValidateUserInput(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure;
-
-    /** @since 3.0 */
-    protected abstract PreservationRuleset getEdgesToPreserve();
-
-    protected abstract void doTransform(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure;
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGRefactoring.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGRefactoring.java
deleted file mode 100644
index e6be5d3..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGRefactoring.java
+++ /dev/null
@@ -1,307 +0,0 @@
-package org.eclipse.rephraserengine.core.vpg.refactoring;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.text.Region;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.FileStatusContext;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.RefactoringStatusContext;
-import org.eclipse.ltk.core.refactoring.TextFileChange;
-import org.eclipse.rephraserengine.core.refactorings.IRefactoring;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.VPGLog;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.text.edits.ReplaceEdit;
-
-/**
- * A refactoring which accesses a VPG.
- * 
- * @author Jeff Overbey
- * 
- * @param <A> AST type
- * @param <T> node/token type (i.e., the type returned by {@link IVPGNode#getASTNode()})
- * @param <V> VPG
- * 
- * @since 2.0
- */
-public abstract class VPGRefactoring<A, T, V extends EclipseVPG<A, T, ? extends IVPGNode<T>>>
-    extends Refactoring
-    implements IRefactoring
-{
-    ///////////////////////////////////////////////////////////////////////////
-    // Constants
-    ///////////////////////////////////////////////////////////////////////////
-
-    /** The OS-dependent end-of-line sequence (\n or \r\n) */
-    protected static final String EOL = System.getProperty("line.separator"); //$NON-NLS-1$
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Fields
-    ///////////////////////////////////////////////////////////////////////////
-
-    protected V vpg;
-    protected CompositeChange allChanges = null;
-
-    ///////////////////////////////////////////////////////////////////////////
-    // LTK Refactoring Implementation
-    ///////////////////////////////////////////////////////////////////////////
-    
-    @Override
-    public final RefactoringStatus checkInitialConditions(IProgressMonitor pm)
-    {
-        this.vpg = getVPG();
-        
-        RefactoringStatus status = new RefactoringStatus();
-
-        pm.beginTask(Messages.VPGRefactoring_EnsuringIndexIsUpToDate, IProgressMonitor.UNKNOWN);
-        vpg.ensureVPGIsUpToDate(pm);
-        pm.done();
-
-        try
-        {
-            checkFiles(status);
-            if (!status.hasFatalError())
-            {
-                preCheckInitialConditions(status, new ForwardingProgressMonitor(pm));
-                doCheckInitialConditions(status, new ForwardingProgressMonitor(pm));
-            }
-        }
-        catch (PreconditionFailure f)
-        {
-            status.addFatalError(f.getMessage());
-        }
-
-        return status;
-    }
-
-    protected abstract V getVPG();
-
-    protected abstract void checkFiles(RefactoringStatus status) throws PreconditionFailure;
-
-    protected void preCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-    }
-
-    protected abstract void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure;
-
-    protected void logVPGErrors(RefactoringStatus status)
-    {
-        logVPGErrors(status, (Collection<IFile>)null);
-    }
-
-    protected void logVPGErrors(RefactoringStatus status, IFile file)
-    {
-        logVPGErrors(status, file == null ? null : Collections.singleton(file));
-    }
-
-    protected void logVPGErrors(RefactoringStatus status, Collection<IFile> files)
-    {
-        for (VPGLog<T, ? extends IVPGNode<T>>.Entry entry : vpg.getLog().getEntries())
-        {
-            if (files == null || contains(files, entry.getTokenRef()))
-            {
-                if (entry.isWarning())
-                    status.addWarning(entry.getMessage(), createContext(entry.getTokenRef()));
-                else
-                    status.addError(entry.getMessage(), createContext(entry.getTokenRef()));
-            }
-        }
-    }
-
-    private boolean contains(Collection<IFile> files, IVPGNode<T> tokenRef)
-    {
-        if (files == null || tokenRef == null || tokenRef.getFilename() == null)
-            return false;
-        
-        IFile file = EclipseVPG.getIFileForFilename(tokenRef.getFilename());
-        if (file == null)
-            return false;
-        
-        return files.contains(file);
-    }
-
-    @Override
-    public final RefactoringStatus checkFinalConditions(IProgressMonitor pm)
-    {
-        allChanges = new CompositeChange(getName());
-
-        RefactoringStatus status = new RefactoringStatus();
-        //pm.beginTask("Checking final preconditions; please wait...", IProgressMonitor.UNKNOWN);
-        try
-        {
-            preCheckFinalConditions(status, new ForwardingProgressMonitor(pm));
-            doCheckFinalConditions(status, new ForwardingProgressMonitor(pm));
-        }
-        catch (PreconditionFailure f)
-        {
-            status.addFatalError(f.getMessage());
-        }
-        //pm.done();
-        return status;
-    }
-
-    protected void preCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure
-    {
-    }
-
-    protected abstract void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm) throws PreconditionFailure;
-
-    /**
-     * To get text to display in the GUI, the precondition checking methods
-     * must call {@link IProgressMonitor#setTaskName(String)} rather than
-     * {@link IProgressMonitor#subTask(String)}.  However, the change creation
-     * method <i>can</i> call {@link IProgressMonitor#subTask(String)}.  This
-     * &quot;forwards&quot; calls to {@link #subTask(String)} to
-     * {@link #setTaskName(String)}.
-     *
-     * @author Jeff Overbey
-     */
-    protected static class ForwardingProgressMonitor implements IProgressMonitor
-    {
-        private IProgressMonitor pm;
-        private String prefix = ""; //$NON-NLS-1$
-
-        public ForwardingProgressMonitor(IProgressMonitor pm)
-        {
-            this.pm = pm;
-        }
-
-        public void beginTask(String name, int totalWork) { pm.beginTask(name, totalWork); pm.setTaskName(name); prefix = name + " - "; } //$NON-NLS-1$
-        public void done() { prefix = ""; pm.setTaskName(""); pm.done(); } //$NON-NLS-1$ //$NON-NLS-2$
-        public void internalWorked(double work) { pm.internalWorked(work); }
-        public boolean isCanceled() { return pm.isCanceled(); }
-        public void setCanceled(boolean value) { pm.setCanceled(value); }
-        public void setTaskName(String name) { pm.setTaskName(prefix + name); }
-        public void worked(int work) { pm.worked(work); }
-
-        public void subTask(String name)
-        {
-            pm.setTaskName(prefix + name);
-        }
-    }
-
-    @Override
-    public final Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-        assert pm != null;
-
-        //pm.beginTask("Constructing workspace transformation; please wait...", IProgressMonitor.UNKNOWN);
-        // allChanges constructed above in #checkFinalConditions
-        doCreateChange(pm);
-        postCreateChange(pm);
-        //pm.done();
-        return allChanges;
-    }
-
-    protected abstract void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException;
-
-    /** @since 3.0 */
-    protected void postCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
-    {
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Utilities for Subclasses
-    ///////////////////////////////////////////////////////////////////////////
-
-    /**
-     * A <code>PreconditionFailure</code> is thrown (e.g., by {@link AbstractFortranRefactoring#fail(String)})
-     * to indicate an error severe enough that the refactoring cannot be completed.
-     */
-    protected static class PreconditionFailure extends Exception
-    {
-        private static final long serialVersionUID = 1L;
-
-        public PreconditionFailure(String message)
-        {
-            super(message);
-        }
-    }
-
-    /**
-     * Throws a <code>PreconditionFailure</code>, indicating an error severe enough
-     * that the refactoring cannot be completed.
-     *
-     * @param message an error message to display to the user
-     */
-    protected void fail(String message) throws PreconditionFailure
-    {
-        throw new PreconditionFailure(message);
-    }
-
-    // REFACTORING STATUS /////////////////////////////////////////////////////
-
-    /**
-     * @since 3.0
-     */
-    protected RefactoringStatusContext createContext(IVPGNode<T> tokenRef)
-    {
-        if (tokenRef == null) return null;
-
-        IFile file = EclipseVPG.getIFileForFilename(tokenRef.getFilename());
-        if (file == null) return null;
-
-        return new FileStatusContext(file,
-                                     new Region(tokenRef.getOffset(), tokenRef.getLength()));
-    }
-
-    // CHANGE CREATION ////////////////////////////////////////////////////////
-
-    /**
-     * This method should be called from within the <code>doCreateChange</code> method after all
-     * of the changes to a file's AST have been made.
-     * <p>
-     * If calling <code>#toString</code> on the AST does not reproduce the modified
-     * source code for the given file, this method should be overridden.
-     */
-    protected void addChangeFromModifiedAST(IFile file, IProgressMonitor pm) {
-        try {
-            A ast = vpg.acquireTransientAST(file);
-            TextFileChange changeThisFile = new TextFileChange(getName() + " - " //$NON-NLS-1$
-                    + file.getFullPath().toOSString(), file);
-            changeThisFile.initializeValidationData(pm);
-            changeThisFile.setEdit(new ReplaceEdit(0, countCharsIn(file), getSourceCodeFromAST(ast)));
-            allChanges.add(changeThisFile);
-        } catch (Exception e) {
-            throw new Error(e);
-        }
-    }
-
-    protected String getSourceCodeFromAST(A ast)
-    {
-        return ast.toString();
-    }
-
-    private int countCharsIn(IFile file) throws CoreException, IOException
-    {
-        int size = 0;
-        Reader in = new BufferedReader(new InputStreamReader(file.getContents(true), file.getCharset()));
-        while (in.read() > -1)
-            size++;
-        in.close();
-        return size;
-    }
-
-    // PRECONDITIONS //////////////////////////////////////////////////////////
-
-    protected void checkIfFileIsAccessibleAndWritable(IFile file) throws PreconditionFailure
-    {
-        if (!file.isAccessible())
-            fail(Messages.bind(Messages.VPGRefactoring_FileInTheEditorIsNotAccessible, file.getName()));
-
-        if (file.isReadOnly())
-            fail(Messages.bind(Messages.VPGRefactoring_FileInTheEditorIsReadOnly, file.getName()));
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGResourceRefactoring.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGResourceRefactoring.java
deleted file mode 100644
index 047cd2c..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/VPGResourceRefactoring.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.rephraserengine.core.vpg.refactoring;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.rephraserengine.core.refactorings.IResourceRefactoring;
-import org.eclipse.rephraserengine.core.vpg.IVPGNode;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-
-/**
- * A refactoring which operates on entire files (or folders) at once, rather than requiring the user
- * to make a text selection in an editor.
- * <p>
- * Contrast with {@link VPGEditorRefactoring}.
- * 
- * @author Jeff Overbey
- * 
- * @param <A> AST type
- * @param <T> node/token type (i.e., the type returned by {@link IVPGNode#getASTNode()})
- * @param <V> VPG
- * 
- * @since 2.0
- */
-public abstract class VPGResourceRefactoring<A, T, V extends EclipseVPG<A, T, ? extends IVPGNode<T>>>
-    extends VPGRefactoring<A, T, V>
-    implements IResourceRefactoring
-{
-    protected List<IFile> selectedFiles = null;
-
-    public void initialize(List<IFile> files)
-    {
-        if (files == null) throw new IllegalArgumentException("files argument cannot be null"); //$NON-NLS-1$
-        if (files.isEmpty()) throw new IllegalArgumentException("files argument cannot be empty"); //$NON-NLS-1$
-        
-        // Copy the list to ensure it is mutable
-        this.selectedFiles = new LinkedList<IFile>();
-        this.selectedFiles.addAll(files);
-    }
-
-
-    @Override
-    protected void checkFiles(RefactoringStatus status) throws PreconditionFailure
-    {
-        assert selectedFiles != null;
-
-        for (IFile file : selectedFiles)
-            checkIfFileIsAccessibleAndWritable(file);
-    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/messages.properties b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/messages.properties
deleted file mode 100644
index a1979a5..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/core/vpg/refactoring/messages.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-VPGEditorRefactoring_FileInTheEditorCannotBeParsed=The file in the editor cannot be parsed.
-VPGPreservationBasedEditorRefactoring_CheckingFinalPreconditions=Checking final preconditions
-VPGRefactoring_EnsuringIndexIsUpToDate=Ensuring index is up-to-date
-VPGRefactoring_FileInTheEditorIsNotAccessible=The file in the editor ({0}) is not accessible.
-VPGRefactoring_FileInTheEditorIsReadOnly=The file in the editor ({0})) is read-only.
diff --git a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/internal/core/vpg/db/cdt/InternalCDTDB.java b/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/internal/core/vpg/db/cdt/InternalCDTDB.java
deleted file mode 100644
index 9a4ff7f..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/org/eclipse/rephraserengine/internal/core/vpg/db/cdt/InternalCDTDB.java
+++ /dev/null
@@ -1,1473 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.core.vpg.db.cdt;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.TreeSet;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db.BTree;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db.ChunkCache;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db.Database;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db.IBTreeComparator;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db.IBTreeVisitor;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db.IString;
-
-/**
- * Encapsulation of a CDT BTree-based VPG database.
- * <p>
- * This is essentially a database with four tables.
- * <ul>
- * <li> files
- * <li> dependencies
- * <li> edges
- * <li> annotations
- * </ul>
- * This class contains a public field with each of these names
- * which provides access to the corresponding table.
- * 
- * @author Jeff Overbey
- * 
- * @since 1.0
- */
-/*
- * In reality, there are no tables: A Database is simply a big
- * block of "memory" on disk, where blocks of any size can be
- * malloc()'d and free()'d.
- *
- * The first few blocks in the database hold the root nodes
- * of several BTrees.  The nodes of these BTrees point to
- * the records of each table.
- *
- * The JUnit tests in org.eclipse.cdt.internal.pdom.tests.DBTest
- * were particularly helpful in figuring out the CDT Database API.
- *
- * @author Jeff Overbey
- */
-public class InternalCDTDB
-{
-    static final int FILENAME_BTREE_ROOT           = Database.DATA_AREA + 0;
-    static final int FORWARD_DEPENDENCY_BTREE_ROOT = Database.DATA_AREA + 4;
-    static final int REVERSE_DEPENDENCY_BTREE_ROOT = Database.DATA_AREA + 8;
-    static final int FORWARD_EDGE_BTREE_ROOT       = Database.DATA_AREA + 12;
-    static final int REVERSE_EDGE_BTREE_ROOT       = Database.DATA_AREA + 16;
-    static final int ANNOTATION_BTREE_ROOT         = Database.DATA_AREA + 20;
-
-    protected File file;
-    protected Database db;
-
-    public final Files files;
-    public final Dependencies dependencies;
-    public final Edges edges;
-    public final Annotations annotations;
-
-    public InternalCDTDB(File file) throws CoreException
-    {
-        this.file = file;
-
-        db = new Database(file, new ChunkCache(), 0, false);
-        db.setExclusiveLock();
-
-        files = new Files();
-        dependencies = new Dependencies();
-        edges = new Edges();
-        annotations = new Annotations();
-    }
-
-    public File getFile()
-    {
-        return file;
-    }
-
-    public void flush() throws CoreException
-    {
-        db.flush();
-    }
-
-    public void close() throws CoreException
-    {
-        db.close();
-        db = null;
-    }
-
-    public void clear() throws CoreException
-    {
-        db.clear(0);
-    }
-
-    /**
-     * Base class for BTree visitors that are searching for a single record
-     * <p>
-     * Based on org.eclipse.cdt.internal.pdom.tests.DBTest.FindVisitor
-     *
-     * @author Jeff Overbey
-     */
-    protected abstract class FindVisitor implements IBTreeVisitor
-    {
-        private int record = -1;
-
-        public boolean visit(int record)
-        {
-            this.record = record;
-            return false;
-        }
-
-        public boolean foundRecord()
-        {
-            return record >= 0;
-        }
-
-        public int getRecord()
-        {
-            return record;
-        }
-    }
-
-    /**
-     * Performs a lexicographic comparison of two tuples, i.e.,
-     * <pre>
-     * (0,0) < (0,1) < (0,2) < (1,0) < (1,1) < (1,2)
-     * <pre>
-     * If tuple1 and tuple2 are not of the same length,
-     * only the first <i>n</i> components are compared,
-     * where <i>n</i> is the length of the smaller tuple.
-     * This is useful, for example, when comparing two edges:
-     * the last component of the tuple contains the edge type,
-     * so if that component is omitted, edges with any type
-     * will be matched.
-     * @return an integer which is
-     * <ol>
-     * <li> less than zero iff tuple1 &lt; tuple2,
-     * <li> greater than zero iff tuple1 &gt; tuple2, or
-     * <li> equal to zero iff tuple1 = tuple2.
-     * </ol>
-     */
-    private static int lexicographicallyCompare(int[] tuple1, int[] tuple2)
-    {
-        int length = Math.min(tuple1.length, tuple2.length);
-
-        for (int i = 0; i < length; i++)
-        {
-            if (tuple1[i] < tuple2[i])
-                return -1;
-            else if (tuple1[i] > tuple2[i])
-                return 1;
-        }
-
-        return 0;
-    }
-
-    /**
-     * The files table contains two fields:
-     * <ol>
-     * <li> Filename (String)
-     * <li> Modification stamp (long)
-     * </ol>
-     *
-     * @author Jeff Overbey
-     */
-    public class Files
-    {
-        // RECORD STRUCTURE
-
-        protected static final int FILENAME_FIELD = 0;
-        protected static final int MODIFICATION_STAMP_FIELD = 4;
-
-        public static final int RECORD_SIZE = 8;
-
-        public IString getFilename(int record) throws CoreException
-        {
-            return db.getString(db.getInt(record + FILENAME_FIELD));
-        }
-
-        public void setFilename(int record, String filename) throws CoreException
-        {
-            db.putInt(record + FILENAME_FIELD, db.newString(filename).getRecord());
-        }
-
-        public long getModificationStamp(int record) throws CoreException
-        {
-            return db.getLong(record + MODIFICATION_STAMP_FIELD);
-        }
-
-        public void setModificationStamp(int record, long timestamp) throws CoreException
-        {
-            db.putLong(record + MODIFICATION_STAMP_FIELD, timestamp);
-        }
-
-        protected int createNewRecord(String filename) throws CoreException
-        {
-            int record = db.malloc(RECORD_SIZE);
-            setFilename(record, filename);
-            setModificationStamp(record, Integer.MIN_VALUE);
-            filenameBTree.insert(record);
-            return record;
-        }
-
-        // INDEX
-
-        protected BTree filenameBTree = new BTree(db, FILENAME_BTREE_ROOT, new IBTreeComparator()
-        {
-            public int compare(int record1, int record2) throws CoreException
-            {
-                return getFilename(record1).compare(getFilename(record2), true);
-            }
-        });
-
-        public int findRecordFor(final String filename) throws CoreException
-        {
-            FindVisitor visitor = new FindVisitor()
-            {
-                public int compare(int record) throws CoreException
-                {
-                    return getFilename(record).compare(filename, true);
-                }
-            };
-            filenameBTree.accept(visitor);
-            return visitor.getRecord();
-        }
-
-        public IntVector findAllFileRecords() throws CoreException
-        {
-            final IntVector records = new IntVector();
-
-            filenameBTree.accept(new IBTreeVisitor()
-            {
-                public int compare(int record) throws CoreException
-                {
-                    return 0;
-                }
-
-                public boolean visit(int record) throws CoreException
-                {
-                    records.add(record);
-                    return true;
-                }
-            });
-
-            return records;
-        }
-
-        public int ensure(String filename) throws CoreException
-        {
-            int record = findRecordFor(filename);
-            return record < 0 ? createNewRecord(filename) : record;
-        }
-
-        public void delete(String filename) throws CoreException
-        {
-            int record = findRecordFor(filename);
-            if (record < 0) return;
-
-            filenameBTree.delete(record);
-            db.free(record);
-        }
-
-        public Iterable<String> getAllFilenames() throws CoreException
-        {
-            final TreeSet<String> result = new TreeSet<String>();
-
-            filenameBTree.accept(new IBTreeVisitor()
-            {
-                public int compare(int record) throws CoreException
-                {
-                    return 0;
-                }
-
-                public boolean visit(int record) throws CoreException
-                {
-                    result.add(getFilename(record).getString());
-                    return true;
-                }
-
-            });
-
-            return result;
-        }
-
-        @Override public String toString()
-        {
-            final StringBuilder sb = new StringBuilder();
-
-            try
-            {
-                filenameBTree.accept(new IBTreeVisitor()
-                {
-                    public int compare(int record) throws CoreException
-                    {
-                        return 0;
-                    }
-
-                    public boolean visit(int record) throws CoreException
-                    {
-                        sb.append(getFilename(record).getChars());
-                        sb.append(" ("); //$NON-NLS-1$
-                        sb.append(record);
-                        sb.append(")\n"); //$NON-NLS-1$
-                        return true;
-                    }
-
-                });
-            }
-            catch (CoreException e)
-            {
-                sb.append(e);
-            }
-
-            return sb.toString();
-        }
-    }
-
-    /**
-     * The dependencies table contains two fields:
-     * <ol>
-     * <li> Dependent file (pointer to a record in the Files table)
-     * <li> Depends on file (pointer to a record in the Files table)
-     * </ol>
-     *
-     * @author Jeff Overbey
-     */
-    public class Dependencies
-    {
-        // RECORD STRUCTURE
-
-        protected static final int DEPENDENT_FILE_FIELD = 0;
-        protected static final int DEPENDS_ON_FILE_FIELD = 4;
-
-        public static final int RECORD_SIZE = 8;
-
-        public int getDependentFileRecordPtr(int record) throws CoreException
-        {
-            return db.getInt(record + DEPENDENT_FILE_FIELD);
-        }
-
-        public void setDependentFileRecordPtr(int dependencyRecord, int fileRecord) throws CoreException
-        {
-            db.putInt(dependencyRecord + DEPENDENT_FILE_FIELD, fileRecord);
-        }
-
-        public int getDependsOnFileRecordPtr(int record) throws CoreException
-        {
-            return db.getInt(record + DEPENDS_ON_FILE_FIELD);
-        }
-
-        public void setDependsOnFileRecordPtr(int dependencyRecord, int fileRecord) throws CoreException
-        {
-            db.putInt(dependencyRecord + DEPENDS_ON_FILE_FIELD, fileRecord);
-        }
-
-        protected int[] getRecordAsTuple(int record) throws CoreException
-        {
-            return new int[]
-            {
-                getDependentFileRecordPtr(record),
-                getDependsOnFileRecordPtr(record),
-            };
-        }
-
-        protected int[] getReverseRecordAsTuple(int record) throws CoreException
-        {
-            return new int[]
-            {
-                getDependsOnFileRecordPtr(record),
-                getDependentFileRecordPtr(record),
-            };
-        }
-
-        protected int createNewRecord(int dependentFile, int dependsOnFile) throws CoreException
-        {
-            int record = db.malloc(RECORD_SIZE);
-            setDependentFileRecordPtr(record, dependentFile);
-            setDependsOnFileRecordPtr(record, dependsOnFile);
-            forwardDependencyBTree.insert(record);
-            reverseDependencyBTree.insert(record);
-            return record;
-        }
-
-        // INDICES
-
-        protected BTree forwardDependencyBTree = new BTree(db, FORWARD_DEPENDENCY_BTREE_ROOT, new IBTreeComparator()
-        {
-            public int compare(int record1, int record2) throws CoreException
-            {
-                return lexicographicallyCompare(getRecordAsTuple(record1), getRecordAsTuple(record2));
-            }
-        });
-
-        protected BTree reverseDependencyBTree = new BTree(db, REVERSE_DEPENDENCY_BTREE_ROOT, new IBTreeComparator()
-        {
-            public int compare(int record1, int record2) throws CoreException
-            {
-                return lexicographicallyCompare(getReverseRecordAsTuple(record1), getReverseRecordAsTuple(record2));
-            }
-        });
-
-        private int findRecordFor(String filename1, String filename2) throws CoreException
-        {
-            int fromFileRecordPtr = files.findRecordFor(filename1);
-            if (fromFileRecordPtr < 0) return -1;
-
-            int toFileRecordPtr = files.findRecordFor(filename2);
-            if (toFileRecordPtr < 0) return -1;
-
-            return findRecordFor(fromFileRecordPtr, toFileRecordPtr);
-        }
-
-        private int findRecordFor(final int fromFileRecordPtr, final int toFileRecordPtr) throws CoreException
-        {
-            final int[] tuple2 = new int[] { fromFileRecordPtr, toFileRecordPtr };
-
-            //System.out.println("Searching for (" + fromFileRecordPtr + "," + toFileRecordPtr + ")");
-            FindVisitor visitor = new FindVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    int[] tuple1 = getRecordAsTuple(record1);
-
-                    return lexicographicallyCompare(tuple1, tuple2);
-                }
-            };
-            forwardDependencyBTree.accept(visitor);
-            //System.out.println("Found record " + visitor.getRecord());
-            return visitor.getRecord();
-        }
-
-        public int ensure(String filename1, String filename2) throws CoreException
-        {
-            int fromFileRecordPtr = files.ensure(filename1);
-            int toFileRecordPtr = files.ensure(filename2);
-
-            int result = findRecordFor(fromFileRecordPtr, toFileRecordPtr);
-
-            return result < 0 ? createNewRecord(fromFileRecordPtr, toFileRecordPtr) : result;
-        }
-
-        public void delete(String filename1, String filename2) throws CoreException
-        {
-            int record = findRecordFor(filename1, filename2);
-            if (record < 0) return;
-
-            forwardDependencyBTree.delete(record);
-            reverseDependencyBTree.delete(record);
-            db.free(record);
-        }
-
-        public void deleteAllOutgoingDependenciesFrom(String fromFilename) throws CoreException
-        {
-            IntVector records = findAllOutgoingDependencyRecordsFrom(fromFilename);
-            for (int i = 0, size = records.size(); i < size; i++)
-            {
-                int record = records.get(i);
-                forwardDependencyBTree.delete(record);
-                reverseDependencyBTree.delete(record);
-                db.free(record);
-            }
-        }
-
-        public void deleteAllIncomingDependenciesTo(String toFilename) throws CoreException
-        {
-            IntVector records = findAllIncomingDependencyRecordsTo(toFilename);
-            for (int i = 0, size = records.size(); i < size; i++)
-            {
-                int record = records.get(i);
-                forwardDependencyBTree.delete(record);
-                reverseDependencyBTree.delete(record);
-                db.free(record);
-            }
-        }
-
-        public boolean hasOutgoingDependencyRecords(String fromFilename) throws CoreException
-        {
-            int fromFileRecordPtr = files.findRecordFor(fromFilename);
-            if (fromFileRecordPtr == -1) return false;
-
-            final int[] tuple2 = { fromFileRecordPtr };
-
-            FindVisitor v = new FindVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getRecordAsTuple(record1), tuple2);
-                }
-            };
-            forwardDependencyBTree.accept(v);
-            return v.foundRecord();
-        }
-
-        public IntVector findAllOutgoingDependencyRecordsFrom(String fromFilename) throws CoreException
-        {
-            final IntVector records = new IntVector();
-
-            int fromFileRecordPtr = files.findRecordFor(fromFilename);
-            if (fromFileRecordPtr == -1) return records;
-
-            final int[] tuple2 = { fromFileRecordPtr };
-
-            forwardDependencyBTree.accept(new IBTreeVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getRecordAsTuple(record1), tuple2);
-                }
-
-                public boolean visit(int record) throws CoreException
-                {
-                    records.add(record);
-                    return true;
-                }
-            });
-
-            return records;
-        }
-
-        public boolean hasIncomingDependencyRecords(String toFilename) throws CoreException
-        {
-            int toFileRecordPtr = files.findRecordFor(toFilename);
-            if (toFileRecordPtr == -1) return false;
-
-            final int[] tuple2 = { toFileRecordPtr };
-
-            FindVisitor v = new FindVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getReverseRecordAsTuple(record1), tuple2);
-                }
-            };
-            reverseDependencyBTree.accept(v);
-            return v.foundRecord();
-        }
-
-        public IntVector findAllIncomingDependencyRecordsTo(String toFilename) throws CoreException
-        {
-            final IntVector records = new IntVector();
-
-            int toFileRecordPtr = files.findRecordFor(toFilename);
-            if (toFileRecordPtr == -1) return records;
-
-            final int[] tuple2 = { toFileRecordPtr };
-
-            reverseDependencyBTree.accept(new IBTreeVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getReverseRecordAsTuple(record1), tuple2);
-                }
-
-                public boolean visit(int record) throws CoreException
-                {
-                    records.add(record);
-                    return true;
-                }
-            });
-
-            return records;
-        }
-
-        public Iterable<String> listAllFilenamesWithDependents() throws CoreException
-        {
-            final TreeSet<String> result = new TreeSet<String>();
-
-            reverseDependencyBTree.accept(new IBTreeVisitor()
-            {
-                public int compare(int record) throws CoreException
-                {
-                    return 0;
-                }
-
-                public boolean visit(int record) throws CoreException
-                {
-                    result.add(files.getFilename(getDependsOnFileRecordPtr(record)).getString());
-                    return true;
-                }
-
-            });
-
-            return result;
-        }
-
-        public Iterable<String> listAllDependentFilenames() throws CoreException
-        {
-            final TreeSet<String> result = new TreeSet<String>();
-
-            forwardDependencyBTree.accept(new IBTreeVisitor()
-            {
-                public int compare(int record) throws CoreException
-                {
-                    return 0;
-                }
-
-                public boolean visit(int record) throws CoreException
-                {
-                    result.add(files.getFilename(getDependentFileRecordPtr(record)).getString());
-                    return true;
-                }
-
-            });
-
-            return result;
-        }
-
-        @Override public String toString()
-        {
-            final StringBuilder sb = new StringBuilder();
-
-            try
-            {
-                forwardDependencyBTree.accept(new IBTreeVisitor()
-                {
-                    public int compare(int record) throws CoreException
-                    {
-                        return 0;
-                    }
-
-                    public boolean visit(int record) throws CoreException
-                    {
-                        sb.append(files.getFilename(getDependentFileRecordPtr(record)).getChars());
-                        sb.append(" depends on "); //$NON-NLS-1$
-                        sb.append(files.getFilename(getDependsOnFileRecordPtr(record)).getChars());
-                        sb.append(" ("); //$NON-NLS-1$
-                        sb.append(record);
-                        sb.append(")\n"); //$NON-NLS-1$
-                        return true;
-                    }
-
-                });
-            }
-            catch (CoreException e)
-            {
-                sb.append(e);
-            }
-
-            return sb.toString();
-        }
-    }
-
-    /**
-     * The edges table contains the following fields:
-     * <ol>
-     * <li> From file (pointer to a record in the Files table)
-     * <li> From offset (int)
-     * <li> From length (int)
-     * <li> To file (pointer to a record in the Files table)
-     * <li> To offset (int)
-     * <li> To length (int)
-     * <li> Edge type (int)
-     * </ol>
-     *
-     * @author Jeff Overbey
-     */
-    public class Edges
-    {
-        // RECORD STRUCTURE
-
-        protected static final int FROM_FILE_FIELD = 0;
-        protected static final int FROM_OFFSET_FIELD = 4;
-        protected static final int FROM_LENGTH_FIELD = 8;
-        protected static final int TO_FILE_FIELD = 12;
-        protected static final int TO_OFFSET_FIELD = 16;
-        protected static final int TO_LENGTH_FIELD = 20;
-        protected static final int EDGE_TYPE_FIELD = 24;
-
-        public static final int RECORD_SIZE = 28;
-
-        public int getFromFileRecordPtr(int record) throws CoreException
-        {
-            return db.getInt(record + FROM_FILE_FIELD);
-        }
-
-        public void setFromFileRecordPtr(int dependencyRecord, int fileRecord) throws CoreException
-        {
-            db.putInt(dependencyRecord + FROM_FILE_FIELD, fileRecord);
-        }
-
-        public int getFromOffset(int record) throws CoreException
-        {
-            return db.getInt(record + FROM_OFFSET_FIELD);
-        }
-
-        public void setFromOffset(int dependencyRecord, int value) throws CoreException
-        {
-            db.putInt(dependencyRecord + FROM_OFFSET_FIELD, value);
-        }
-
-        public int getFromLength(int record) throws CoreException
-        {
-            return db.getInt(record + FROM_LENGTH_FIELD);
-        }
-
-        public void setFromLength(int dependencyRecord, int value) throws CoreException
-        {
-            db.putInt(dependencyRecord + FROM_LENGTH_FIELD, value);
-        }
-
-        public int getToFileRecordPtr(int record) throws CoreException
-        {
-            return db.getInt(record + TO_FILE_FIELD);
-        }
-
-        public void setToFileRecordPtr(int dependencyRecord, int fileRecord) throws CoreException
-        {
-            db.putInt(dependencyRecord + TO_FILE_FIELD, fileRecord);
-        }
-
-        public int getToOffset(int record) throws CoreException
-        {
-            return db.getInt(record + TO_OFFSET_FIELD);
-        }
-
-        public void setToOffset(int record, int value) throws CoreException
-        {
-            db.putInt(record + TO_OFFSET_FIELD, value);
-        }
-
-        public int getToLength(int record) throws CoreException
-        {
-            return db.getInt(record + TO_LENGTH_FIELD);
-        }
-
-        public void setToLength(int record, int value) throws CoreException
-        {
-            db.putInt(record + TO_LENGTH_FIELD, value);
-        }
-
-        public int getEdgeType(int record) throws CoreException
-        {
-            return db.getInt(record + EDGE_TYPE_FIELD);
-        }
-
-        public void setEdgeType(int record, int value) throws CoreException
-        {
-            db.putInt(record + EDGE_TYPE_FIELD, value);
-        }
-
-        protected int[] getRecordAsTuple(int record) throws CoreException
-        {
-            return new int[]
-            {
-                getFromFileRecordPtr(record),
-                getFromOffset(record),
-                getFromLength(record),
-                getEdgeType(record),
-                getToFileRecordPtr(record),
-                getToOffset(record),
-                getToLength(record),
-            };
-        }
-
-        protected int[] getReverseRecordAsTuple(int record) throws CoreException
-        {
-            return new int[]
-            {
-                getToFileRecordPtr(record),
-                getToOffset(record),
-                getToLength(record),
-                getEdgeType(record),
-                getFromFileRecordPtr(record),
-                getFromOffset(record),
-                getFromLength(record),
-            };
-        }
-
-        protected int createNewRecord(int fromFile, int fromOffset, int fromLength, int toFile, int toOffset, int toLength, int edgeType) throws CoreException
-        {
-            int record = db.malloc(RECORD_SIZE);
-            setFromFileRecordPtr(record, fromFile);
-            setFromOffset(record, fromOffset);
-            setFromLength(record, fromLength);
-            setToFileRecordPtr(record, toFile);
-            setToOffset(record, toOffset);
-            setToLength(record, toLength);
-            setEdgeType(record, edgeType);
-            forwardEdgeBTree.insert(record);
-            reverseEdgeBTree.insert(record);
-            return record;
-        }
-
-        // INDICES
-
-        protected BTree forwardEdgeBTree = new BTree(db, FORWARD_EDGE_BTREE_ROOT, new IBTreeComparator()
-        {
-            public int compare(int record1, int record2) throws CoreException
-            {
-                return lexicographicallyCompare(getRecordAsTuple(record1), getRecordAsTuple(record2));
-            }
-        });
-
-        protected BTree reverseEdgeBTree = new BTree(db, REVERSE_EDGE_BTREE_ROOT, new IBTreeComparator()
-        {
-            public int compare(int record1, int record2) throws CoreException
-            {
-                return lexicographicallyCompare(getReverseRecordAsTuple(record1), getReverseRecordAsTuple(record2));
-            }
-        });
-
-        private int findRecordFor(String fromFilename, int fromOffset, int fromLength, String toFilename, int toOffset, int toLength, int edgeType) throws CoreException
-        {
-            int fromFileRecordPtr = files.findRecordFor(fromFilename);
-            if (fromFileRecordPtr < 0) return -1;
-
-            int toFileRecordPtr = files.findRecordFor(toFilename);
-            if (toFileRecordPtr < 0) return -1;
-
-            return findRecordFor(fromFileRecordPtr, fromOffset, fromLength, toFileRecordPtr, toOffset, toLength, edgeType);
-        }
-
-        private int findRecordFor(final int fromFileRecordPtr, int fromOffset, int fromLength, final int toFileRecordPtr, int toOffset, int toLength, int edgeType) throws CoreException
-        {
-            final int[] tuple2 = new int[] { fromFileRecordPtr, fromOffset, fromLength, edgeType, toFileRecordPtr, toOffset, toLength };
-
-            FindVisitor visitor = new FindVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getRecordAsTuple(record1), tuple2);
-                }
-            };
-            forwardEdgeBTree.accept(visitor);
-            return visitor.getRecord();
-        }
-
-        public int ensure(String fromFilename, int fromOffset, int fromLength, String toFilename, int toOffset, int toLength, int edgeType) throws CoreException
-        {
-            int fromFileRecordPtr = files.ensure(fromFilename);
-            int toFileRecordPtr = files.ensure(toFilename);
-
-            int result = findRecordFor(fromFileRecordPtr, fromOffset, fromLength, toFileRecordPtr, toOffset, toLength, edgeType);
-
-            return result < 0 ? createNewRecord(fromFileRecordPtr, fromOffset, fromLength, toFileRecordPtr, toOffset, toLength, edgeType) : result;
-        }
-
-        public void delete(String fromFilename, int fromOffset, int fromLength, String toFilename, int toOffset, int toLength, int edgeType) throws CoreException
-        {
-            int record = findRecordFor(fromFilename, fromOffset, fromLength, toFilename, toOffset, toLength, edgeType);
-            if (record < 0) return;
-
-            forwardEdgeBTree.delete(record);
-            reverseEdgeBTree.delete(record);
-            db.free(record);
-        }
-
-        public void deleteAllOutgoingEdgesFrom(String fromFilename) throws CoreException
-        {
-            IntVector records = findAllOutgoingEdgeRecordsFrom(fromFilename);
-            for (int i = 0, size = records.size(); i < size; i++)
-            {
-                int record = records.get(i);
-                forwardEdgeBTree.delete(record);
-                reverseEdgeBTree.delete(record);
-                db.free(record);
-            }
-        }
-
-        public void deleteAllIncomingEdgesTo(String toFilename) throws CoreException
-        {
-            IntVector records = findAllIncomingEdgeRecordsTo(toFilename);
-            for (int i = 0, size = records.size(); i < size; i++)
-            {
-                int record = records.get(i);
-                forwardEdgeBTree.delete(record);
-                reverseEdgeBTree.delete(record);
-                db.free(record);
-            }
-        }
-
-        public IntVector findAllOutgoingEdgeRecordsFrom(String fromFilename) throws CoreException
-        {
-            return findAllOutgoingEdgeRecords(new int[] { files.findRecordFor(fromFilename) });
-        }
-
-        public IntVector findAllOutgoingEdgeRecordsFrom(String fromFilename, int offset, int length) throws CoreException
-        {
-            return findAllOutgoingEdgeRecords(new int[] { files.findRecordFor(fromFilename), offset, length });
-        }
-
-        public IntVector findAllOutgoingEdgeRecordsFrom(String fromFilename, int offset, int length, int edgeType) throws CoreException
-        {
-            return findAllOutgoingEdgeRecords(new int[] { files.findRecordFor(fromFilename), offset, length, edgeType });
-        }
-
-        protected IntVector findAllOutgoingEdgeRecords(final int[] tuple2) throws CoreException
-        {
-            if (tuple2[0] < 0) return new IntVector(); // File not found
-
-            final IntVector records = new IntVector();
-
-            forwardEdgeBTree.accept(new IBTreeVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getRecordAsTuple(record1), tuple2);
-                }
-
-                public boolean visit(int record) throws CoreException
-                {
-                    records.add(record);
-                    return true;
-                }
-            });
-
-            return records;
-        }
-
-        public boolean hasOutgoingEdges(String filename) throws CoreException
-        {
-            final int[] tuple2 = new int[] { files.findRecordFor(filename) };
-            if (tuple2[0] < 0) return false; // File not found
-
-            FindVisitor v = new FindVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getRecordAsTuple(record1), tuple2);
-                }
-            };
-            forwardEdgeBTree.accept(v);
-            return v.foundRecord();
-        }
-
-        public IntVector findAllIncomingEdgeRecordsTo(String fromFilename) throws CoreException
-        {
-            return findAllIncomingEdgeRecords(new int[] { files.findRecordFor(fromFilename) });
-        }
-
-        public IntVector findAllIncomingEdgeRecordsTo(String fromFilename, int offset, int length) throws CoreException
-        {
-            return findAllIncomingEdgeRecords(new int[] { files.findRecordFor(fromFilename), offset, length });
-        }
-
-        public IntVector findAllIncomingEdgeRecordsTo(String fromFilename, int offset, int length, int edgeType) throws CoreException
-        {
-            return findAllIncomingEdgeRecords(new int[] { files.findRecordFor(fromFilename), offset, length, edgeType });
-        }
-
-        protected IntVector findAllIncomingEdgeRecords(final int[] tuple2) throws CoreException
-        {
-            if (tuple2[0] < 0) return new IntVector(); // File not found
-
-            final IntVector records = new IntVector();
-
-            reverseEdgeBTree.accept(new IBTreeVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getReverseRecordAsTuple(record1), tuple2);
-                }
-
-                public boolean visit(int record) throws CoreException
-                {
-                    records.add(record);
-                    return true;
-                }
-            });
-
-            return records;
-        }
-
-        public boolean hasIncomingEdges(String filename) throws CoreException
-        {
-            final int[] tuple2 = new int[] { files.findRecordFor(filename) };
-            if (tuple2[0] < 0) return false; // File not found
-
-            FindVisitor v = new FindVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getReverseRecordAsTuple(record1), tuple2);
-                }
-            };
-            reverseEdgeBTree.accept(v);
-            return v.foundRecord();
-        }
-
-        @Override public String toString()
-        {
-            final StringBuilder sb = new StringBuilder();
-
-            try
-            {
-                forwardEdgeBTree.accept(new IBTreeVisitor()
-                {
-                    public int compare(int record) throws CoreException
-                    {
-                        return 0;
-                    }
-
-                    public boolean visit(int record) throws CoreException
-                    {
-                        sb.append("Edge of type "); //$NON-NLS-1$
-                        sb.append(getEdgeType(record));
-                        sb.append(" from "); //$NON-NLS-1$
-                        sb.append(files.getFilename(getFromFileRecordPtr(record)).getChars());
-                        sb.append(", offset "); //$NON-NLS-1$
-                        sb.append(getFromOffset(record));
-                        sb.append(", length "); //$NON-NLS-1$
-                        sb.append(getFromLength(record));
-                        sb.append(" to "); //$NON-NLS-1$
-                        sb.append(files.getFilename(getToFileRecordPtr(record)).getChars());
-                        sb.append(", offset "); //$NON-NLS-1$
-                        sb.append(getToOffset(record));
-                        sb.append(", length "); //$NON-NLS-1$
-                        sb.append(getToLength(record));
-                        sb.append(" ("); //$NON-NLS-1$
-                        sb.append(record);
-                        sb.append(")\n"); //$NON-NLS-1$
-                        return true;
-                    }
-
-                });
-            }
-            catch (CoreException e)
-            {
-                sb.append(e);
-            }
-
-            return sb.toString();
-        }
-    }
-
-    /**
-     * The annotations table contains the following fields:
-     * <ol>
-     * <li> File (pointer to a record in the Files table)
-     * <li> Offset (int)
-     * <li> Length (int)
-     * <li> Annotation type (int)
-     * <li> Annotation (serialized object)
-     * </ol>
-     *
-     * @author Jeff Overbey
-     */
-    public class Annotations
-    {
-        // RECORD STRUCTURE
-
-        protected static final int FILE_FIELD = 0;
-        protected static final int OFFSET_FIELD = 4;
-        protected static final int LENGTH_FIELD = 8;
-        protected static final int ANNOTATION_TYPE_FIELD = 12;
-        protected static final int ANNOTATION_PTR_FIELD = 16;
-        protected static final int ANNOTATION_LENGTH_FIELD = 20;
-
-        public static final int RECORD_SIZE = 24;
-
-        public int getFileRecordPtr(int record) throws CoreException
-        {
-            return db.getInt(record + FILE_FIELD);
-        }
-
-        public void setFileRecordPtr(int dependencyRecord, int fileRecord) throws CoreException
-        {
-            db.putInt(dependencyRecord + FILE_FIELD, fileRecord);
-        }
-
-        public int getOffset(int record) throws CoreException
-        {
-            return db.getInt(record + OFFSET_FIELD);
-        }
-
-        public void setOffset(int dependencyRecord, int value) throws CoreException
-        {
-            db.putInt(dependencyRecord + OFFSET_FIELD, value);
-        }
-
-        public int getLength(int record) throws CoreException
-        {
-            return db.getInt(record + LENGTH_FIELD);
-        }
-
-        public void setLength(int dependencyRecord, int value) throws CoreException
-        {
-            db.putInt(dependencyRecord + LENGTH_FIELD, value);
-        }
-
-        public int getAnnotationType(int record) throws CoreException
-        {
-            return db.getInt(record + ANNOTATION_TYPE_FIELD);
-        }
-
-        public void setAnnotationType(int record, int value) throws CoreException
-        {
-            db.putInt(record + ANNOTATION_TYPE_FIELD, value);
-        }
-
-        public int getAnnotationPtr(int record) throws CoreException
-        {
-            return db.getInt(record + ANNOTATION_PTR_FIELD);
-        }
-
-        public int getAnnotationLength(int record) throws CoreException
-        {
-            return db.getInt(record + ANNOTATION_LENGTH_FIELD);
-        }
-
-        public InputStream getAnnotation(final int record) throws CoreException
-        {
-            return new InputStream()
-            {
-                private int annotationRecord = getAnnotationPtr(record);
-                private int length = getAnnotationLength(record);
-
-                private int i = 0;
-
-                @Override
-                public int read() throws IOException
-                {
-                    try
-                    {
-                        if (i < length)
-                            return db.getByte(annotationRecord + (i++)) & 0xFF;
-                        else
-                            return -1;
-                    }
-                    catch (CoreException e)
-                    {
-                        throw new IOException("Internal error reading serialized object from database: " + e.getMessage()); //$NON-NLS-1$
-                    }
-                }
-            };
-        }
-
-        public void setAnnotation(int record, byte[] annotation) throws CoreException
-        {
-            int annotationPtr = db.malloc(annotation.length);
-
-            for (int i = 0; i < annotation.length; i++)
-                db.putByte(annotationPtr + i, annotation[i]);
-
-            db.putInt(record + ANNOTATION_PTR_FIELD, annotationPtr);
-            db.putInt(record + ANNOTATION_LENGTH_FIELD, annotation.length);
-        }
-
-        protected int[] getRecordAsTuple(int record) throws CoreException
-        {
-            return new int[]
-            {
-                getFileRecordPtr(record),
-                getOffset(record),
-                getLength(record),
-                getAnnotationType(record),
-            };
-        }
-
-        protected int createNewRecord(int file, int offset, int length, int annotationType, byte[] annotation) throws CoreException
-        {
-            int record = db.malloc(RECORD_SIZE);
-            setFileRecordPtr(record, file);
-            setOffset(record, offset);
-            setLength(record, length);
-            setAnnotationType(record, annotationType);
-            setAnnotation(record, annotation);
-            annotationBTree.insert(record);
-            return record;
-        }
-
-        // INDICES
-
-        protected BTree annotationBTree = new BTree(db, ANNOTATION_BTREE_ROOT, new IBTreeComparator()
-        {
-            public int compare(int record1, int record2) throws CoreException
-            {
-                return lexicographicallyCompare(getRecordAsTuple(record1), getRecordAsTuple(record2));
-            }
-        });
-
-        public int findRecordFor(String filename, int offset, int length, int annotationType) throws CoreException
-        {
-            int fromFileRecordPtr = files.findRecordFor(filename);
-            if (fromFileRecordPtr < 0) return -1;
-
-            return findRecordFor(fromFileRecordPtr, offset, length, annotationType);
-        }
-
-        private int findRecordFor(final int fileRecordPtr, int offset, int length, int annotationType) throws CoreException
-        {
-            final int[] tuple2 = new int[] { fileRecordPtr, offset, length, annotationType };
-
-            FindVisitor visitor = new FindVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getRecordAsTuple(record1), tuple2);
-                }
-            };
-            annotationBTree.accept(visitor);
-            return visitor.getRecord();
-        }
-
-        public int set(String fromFilename, int fromOffset, int fromLength, int edgeType, byte[] annotation) throws CoreException
-        {
-            delete(fromFilename, fromOffset, fromLength, edgeType);
-            return createNewRecord(files.ensure(fromFilename), fromOffset, fromLength, edgeType, annotation);
-        }
-
-        public void delete(String fromFilename, int fromOffset, int fromLength, int edgeType) throws CoreException
-        {
-            int record = findRecordFor(fromFilename, fromOffset, fromLength, edgeType);
-            if (record < 0) return;
-
-            db.free(getAnnotationPtr(record));
-            annotationBTree.delete(record);
-            db.free(record);
-        }
-
-        public void deleteAllAnnotationsFor(String fromFilename) throws CoreException
-        {
-            IntVector records = findAllAnnotationRecordsFor(fromFilename);
-            for (int i = 0, size = records.size(); i < size; i++)
-            {
-                int record = records.get(i);
-                db.free(getAnnotationPtr(record));
-                annotationBTree.delete(record);
-                db.free(record);
-            }
-        }
-
-        public IntVector findAllAnnotationRecordsFor(String fromFilename) throws CoreException
-        {
-            return findAllAnnotationRecords(new int[] { files.findRecordFor(fromFilename) });
-        }
-
-        public IntVector findAllAnnotationRecordsFor(String fromFilename, int offset, int length) throws CoreException
-        {
-            return findAllAnnotationRecords(new int[] { files.findRecordFor(fromFilename), offset, length });
-        }
-
-        protected IntVector findAllAnnotationRecords(final int[] tuple2) throws CoreException
-        {
-            if (tuple2[0] < 0) return new IntVector(); // File not found
-
-            final IntVector records = new IntVector();
-
-            annotationBTree.accept(new IBTreeVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getRecordAsTuple(record1), tuple2);
-                }
-
-                public boolean visit(int record) throws CoreException
-                {
-                    records.add(record);
-                    return true;
-                }
-            });
-
-            return records;
-        }
-
-        public boolean hasAnnotations(String filename) throws CoreException
-        {
-            final int[] tuple2 = new int[] { files.findRecordFor(filename) };
-            if (tuple2[0] < 0) return false; // File not found
-
-            FindVisitor v = new FindVisitor()
-            {
-                public int compare(int record1) throws CoreException
-                {
-                    return lexicographicallyCompare(getRecordAsTuple(record1), tuple2);
-                }
-            };
-            annotationBTree.accept(v);
-            return v.foundRecord();
-        }
-
-        @Override public String toString()
-        {
-            final StringBuilder sb = new StringBuilder();
-
-            try
-            {
-                annotationBTree.accept(new IBTreeVisitor()
-                {
-                    public int compare(int record) throws CoreException
-                    {
-                        return 0;
-                    }
-
-                    public boolean visit(int record) throws CoreException
-                    {
-                        sb.append("Annotation of type "); //$NON-NLS-1$
-                        sb.append(getAnnotationType(record));
-                        sb.append(" on "); //$NON-NLS-1$
-                        sb.append(files.getFilename(getFileRecordPtr(record)).getChars());
-                        sb.append(", offset "); //$NON-NLS-1$
-                        sb.append(getOffset(record));
-                        sb.append(", length "); //$NON-NLS-1$
-                        sb.append(getLength(record));
-                        sb.append(" ("); //$NON-NLS-1$
-                        sb.append(record);
-                        sb.append(")\n"); //$NON-NLS-1$
-                        return true;
-                    }
-
-                });
-            }
-            catch (CoreException e)
-            {
-                sb.append(e);
-            }
-
-            return sb.toString();
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-
-    /**
-     * An automatically-expanding vector of integers.
-     *
-     * Integers are stored as primitives rather than <code>Integer</code> in order to increase efficiency.
-     */
-    public static class IntVector
-    {
-        private int[] array;
-        private int size;
-
-        public IntVector()
-        {
-            this(64); // Heuristic
-        }
-
-        public IntVector(int initialCapacity)
-        {
-            if (initialCapacity < 0) throw new IllegalArgumentException("Initial capacity must be a positive integer (not " + initialCapacity + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-
-            this.array = new int[initialCapacity];
-            this.size = 0;
-        }
-
-        /**
-         * Increases the capacity of the stack, if necessary, to hold at least <code>minCapacity</code> elements.
-         *
-         * The resizing heuristic is from <code>java.util.ArrayList</code>.
-         *
-         * @param minCapacity
-         */
-        public void ensureCapacity(int minCapacity)
-        {
-            if (minCapacity <= this.array.length) return;
-
-            int newCapacity = Math.max((this.array.length * 3) / 2 + 1, minCapacity);
-            int[] newStack = new int[newCapacity];
-            System.arraycopy(this.array, 0, newStack, 0, this.size);
-            this.array = newStack;
-        }
-
-        public void add(int value)
-        {
-            ensureCapacity(this.size + 1);
-            this.array[this.size++] = value;
-        }
-
-        public int get(int index)
-        {
-            if (index < 0 || index > this.size) throw new IndexOutOfBoundsException();
-
-            return this.array[index];
-        }
-
-        public boolean isEmpty()
-        {
-            return this.size == 0;
-        }
-
-        public void clear()
-        {
-            this.size = 0;
-        }
-
-        public int size()
-        {
-            return this.size;
-        }
-
-        @Override public String toString()
-        {
-            StringBuilder sb = new StringBuilder();
-            sb.append("["); //$NON-NLS-1$
-            for (int i = 0; i < this.size; i++)
-            {
-                if (i > 0) sb.append(", "); //$NON-NLS-1$
-                sb.append(this.array[i]);
-            }
-            sb.append("]"); //$NON-NLS-1$
-            return sb.toString();
-        }
-    }
-
-    ///////////////////////////////////////////////////////////////////////////
-
-//    public static void main(String[] args) throws Exception
-//    {
-//        InternalCDTDB db = new InternalCDTDB(new File("/Users/joverbey/Desktop/db"));
-//
-//        db.files.ensure("Dog");
-//        db.files.ensure("Cat");
-//        db.files.ensure("Mouse");
-//        System.out.println(db.files);
-//
-//        db.files.delete("Dog");
-//        System.out.println(db.files);
-//
-//        db.files.delete("Cat");
-//        System.out.println(db.files);
-//
-//        db.files.delete("Mouse");
-//        System.out.println(db.files);
-//
-//        db.files.ensure("Mouse");
-//        db.files.ensure("Mouse");
-//        System.out.println(db.files);
-//
-//        db.files.ensure("Dog");
-//        db.files.ensure("Cat");
-//        db.files.ensure("Mouse");
-//        System.out.println(db.files);
-//
-//        db.dependencies.ensure("Dog", "Cat");
-//        db.dependencies.ensure("Dog", "Cat");
-//        System.out.println(db.dependencies);
-//
-//        db.dependencies.ensure("Dog", "Tiger");
-//        System.out.println(db.dependencies);
-//
-//        db.dependencies.delete("Dog", "Cat");
-//        System.out.println(db.dependencies);
-//
-//        db.dependencies.delete("Dog", "Coolio");
-//        System.out.println(db.dependencies);
-//
-//        db.dependencies.delete("Dog", "Tiger");
-//        db.dependencies.delete("Dog", "Tiger");
-//        System.out.println(db.dependencies);
-//
-//        System.out.println(db.files);
-//
-//        db.edges.ensure("Cat", 1, 2, "Dog", 3, 4, 0);
-//        db.edges.ensure("Dog", 4, 3, "Cat", 2, 1, 1);
-//        System.out.println(db.edges);
-//
-//        db.edges.ensure("Dog", 4, 3, "Beetle", 2, 1, 6);
-//        db.edges.ensure("Dog", 4, 3, "Beetle", 2, 1, 6);
-//        System.out.println(db.edges);
-//
-//        System.out.println(db.files);
-//
-//        db.edges.delete("Dog", 4, 3, "Beetle", 2, 1, 6);
-//        db.edges.delete("Dog", 4, 3, "Beetle", 2, 1, 6);
-//        System.out.println(db.edges);
-//
-//        System.out.println(db.files);
-//    }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg/src/overview.html b/org.eclipse.rephraserengine.core.vpg/src/overview.html
deleted file mode 100644
index 6c77abb..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/overview.html
+++ /dev/null
@@ -1,296 +0,0 @@
-<html>
-<body>
-<a name="VPG"></a>
-<center>
-<h1>Virtual Program Graph - Architectural Overview</h1>
-<p><i>Jeff Overbey &bull; July-August 2007</i></p>
-</center>
-
-<!-- ============================================================================================================== -->
-<!-- ============================================================================================================== -->
-<h2>Introduction</h2>
-<!-- ============================================================================================================== -->
-<!-- ============================================================================================================== -->
-
-<p>In source-to-source program transformation systems,
-it is common to represent programs as abstract syntax trees (ASTs) with &quot;extra&quot; edges between nodes.
-For example, an AST node representing the use of a variable <i>i</i> might have an edge pointing to the
-declaration of <i>i.</i>  A subclass might have a different kind of edge pointing at its superclass.
-Edges can also be used to describe dependencies, data flow, control flow, and many other properties.
-An AST with these &quot;extra&quot; edges is called a <i>program graph.</i></p>
-
-<div class="indent1">
-<!-- ============================================================================================================== -->
-<h3>Example</h3>
-<!-- ============================================================================================================== -->
-
-
-<p>Consider the following program in a fictitious programming language.</p>
-
-<pre>
-program
-  integer i = 3
-  print i + " is the value of i" 
-end program
-</pre>
-
-<p>A program graph might look like the following.  The nodes and solid edges comprise the AST;
-rectangular nodes represent tokens in the source program.
-The &quot;extra&quot; edges--the edges that make it a program graph rather than just an ordinary
-AST--are labeled and dotted.</p>
-
-<p align="center"><img src="doc-files/vpg.png" border="0"></p>
-
-<p>This program graph has two types of edges.
-<ul>
-<li> A <i>binding</i> edge links variables references to their corresponding declarations.
-<li> A <i>scope of declaration</i> edge links declarations to the node representing their scope.
-</ul>
-</p>
-
-<p>Now, consider how this graph can be used.
-<ul>
-<li> To find the declaration of a variable, we simply follow the <i>binding</i> edge to its declaration.
-<li> To find all of the references to a variable, we search for all of the <i>binding</i> edges pointing
-     to its declaration.
-<li> To determine the scope of a variable, we follow its <i>scope of declaration</i> edge.
-<li> Similarly, we can find all of the variables defined in a scope by searching for all of the
-     <i>scope of declaration</i> edges pointing to that node.
-<li> A <i>scope of declaration</i> edge links declarations to the node representing their scope.
-</ul>
-</p>
-
-</div>
-
-<!-- ============================================================================================================== -->
-<!-- ============================================================================================================== -->
-<h2>Virtual Program Graphs (VPGs)</h2>
-<!-- ============================================================================================================== -->
-<!-- ============================================================================================================== -->
-
-<p>Often, program graphs only conceptual: &quot;Real&quot; programs can be extremely large,
-spanning hundreds of files, and edges may span across these files.  For example, a function
-defined in one file may be used in another, so a <i>binding</i> edge would span across files.
-Of course, it is inefficient--and sometimes impossible--to store ASTs for several hundred files
-in memory.  Therefore, most systems cache information about externally-visible
-declarations in a <b>program database.</b>
-It becomes the programmer's responsibility to parse individual files and to distinguish what
-is available the program database from what is available in the AST.</p>
-
-<p>The <tt>bz.over.vpg</tt> package serves as a basis for implementing <b>virtual program graphs,</b> which
-hide parsing and database access from the programmer.  Essentially, the programmer can <i>pretend</i>
-that an AST for the entire (several-hundred-file) program is available in memory.</p>
-
-<!--p><i>N.B. There is a separate package <tt>(bz.over.vpg.core.eclipse)</tt> which allows a VPG to be
-integrated into an Eclipse plug-in, automatically updating itself when files are changed.
-The additional features and requirements of Eclipse-integrated VPGs are described
-<a href="#Eclipse">later</a>..</i></p-->
-
-<div class="indent1">
-<!-- ============================================================================================================== -->
-<h3>Using a Virtual Program Graph</h3>
-<!-- ============================================================================================================== -->
-
-<p>In this section, we will describe how a virtual program appears to work according to someone who is using
-it to write a refactoring or implement a search feature in an IDE, etc.  In other words, this is its
-external interface, the interface seen by people who need to do program analyses.</p>
-
-<p>To a user, the VPG itself appears to have only two capabilities:
-<ul>
-<li> When the user needs the AST for a particular file, he asks the VPG to provide it to him.
-<li> The VPG contains an error log, describing files that could not be parsed for one reason or another.
-     At times, the user may want to retrieve entries from this log and display them to the user.
-</ul>
-</p>
-
-<p>When used properly, the real benefit of a VPG is the methods that can be added to AST nodes.
-   In the example VPG in the picture above, for example, 
-<ul>
-<li> The user could call a method <tt>getDeclaration()</tt> on a <tt>VariableReference</tt> node,
-     which would return the corresponding <tt>Declaration</tt> node.
-<li> The user could call a method <tt>getAllReferences()</tt> on a <tt>Declaration</tt> node,
-     which would return a list of all of the references to that declaration.
-<li> The user could call a method <tt>getScope()</tt> on a <tt>Declaration</tt> node,
-     which would return the scope of that definition (e.g., a <tt>Program</tt> node).
-<li> The user could call a method <tt>getScope()</tt> on a <tt>VariableReference</tt> node,
-     which would return the scope of its definition.
-</ul>
-</p>
-
-<p>Again, it is important to remember that the returned node <i>does not have to be in the same file.</i>
-For example, <tt>getAllReferences()</tt> could return a list of all of the references to that variable,
-even if they span hundreds of files.  (Of course, it does not have to load hundreds of ASTs into memory
-to do this!)</p>
-
-</div>
-
-<div class="indent1">
-<!-- ============================================================================================================== -->
-<h3>Building a Virtual Program Graph</h3>
-<!-- ============================================================================================================== -->
-
-<p>This section describes how methods on AST nodes (such as the ones in the bulleted list above)
-are actually implemented.  (If you are simply <i>using</i> a VPG, there is no reason to read this
-section: If a VPG is implemented well, all of this should be hidden from you.)</p>
-
-<div class="indent2">
-<a name="DEA"></a>
-<h4>Dependencies, Edges, Annotations, and the VPG Database</h4>
-<!-- ============================================================================================================== -->
-
-<p>VPGs contain a number of methods that are not visible to ordinary users
-of VPGs: They are intended to be used only for implementing user-visible methods on AST nodes,
-such as the ones described above.</p>  
-
-<p>Recall that a program graph is just an AST with extra edges.
-A VPG contains edges, but it also contains <i>dependencies</i> and <i>annotations.</i>
-<ul>
-<li> <i>Edges</i> were described above: They point from one AST node to another.  There can be
-     many different types of edges.
-<li> <i>Dependencies</i> point from one file to another.  For example, if File A uses a function
-     defined in File B, then there is a dependency from File A to File B.  A dependency could also
-     occur if File A imports a module from File B, or <tt>#include</tt>s File B (in C/C++), etc.
-<li> <i>Annotations</i> let an arbitrary object be associated with a node in an AST.
-     For example, some object describing the type of a variable
-     (e.g., &quot;integer array of length 10&quot;)
-     could be associated with a <tt>Declaration</tt> node in an AST.
-</ul>
-</p>
-
-<p>All of the edges, dependencies, and annotations are stored on disk in a <i>VPG Database.</i></p>
-
-</div>
-
-<div class="indent2">
-<a name="TokenRef"></a>
-<h4>TokenRefs</h4>
-<!-- ============================================================================================================== -->
-
-<p>A <tt>TokenRef</tt> is just a simple object with three fields:
-<ul>
-<li> a filename,
-<li> an offset, and
-<li> a length.
-</ul>
-</p>
-
-<p>Since edges point from one AST node to another, annotations are associated with a particular
-AST node, and both edges and annotations are stored on disk, there needs to be some concise way to describe
-AST nodes.  This is the purpose of a <tt>TokenRef</tt>.<p>
-
-<p>As the name implies, <tt>TokenRef</tt>s are actually suitable for uniquely identifying particular
-<i>tokens</i> in an AST.  <i>Although it should be hidden from the </i>user<i> of
-a VPG, the edges and annotations in a VPG are actually associated with tokens, not arbitrary AST nodes.</i>
-This was a carefully-made decision, based on the heuristic that essentially every &quot;interesting&quot;
-node in a AST has at least one token that can be used to distinguish it from other &quot;interesting&quot;
-nodes.  Functions have names.  Variables have names.  Programs have names.  Scopes are typically
-things like functions or programs.  Assignment statements have an equals sign.  And so forth.</p>
-
-<p><small><i>Again, this is a heuristic.  One common case where it is not true is when the root
-node of an AST needs to be annotated: This can be handled, for example, by deciding that a
-<tt>TokenRef</tt> referring to offset -1, length 0 refers to the root node of the AST, by convention.
-If it really is necessary to refer to completely arbitrary nodes in the AST, one could cheat: The
-nodes in an AST could be numbered from 0 to </i>n<i>, and the &quot;offset&quot; of a <tt>TokenRef</tt>
-could store a node number (the length field could be ignored).</i></small></p>
-
-</div>
-
-<div class="indent2">
-<h4>Mapping TokenRefs to Tokens</h4>
-<!-- ============================================================================================================== -->
-
-<p>VPGs provide a method <tt>findToken(TokenRef)</tt> which returns a pointer to the given token in an AST.
-This is called <i>dereferencing the <tt>TokenRef</tt>.</i></p>
-
-<p>This is perhaps surprising, because an AST for the file pointed to might or might not be in memory.
-   This is fine; since the VPG is where users go to request ASTs anyway, the VPG &quot;knows&quot; whether
-   an AST for that file is in memory or not.  If not, it loads it.
-   When a VPG needs to provide an AST for a file, regardless of whether the user requests it or it
-   happens as a result of dereferencing a <tt>TokenRef</tt>, the following happens.
-<ul>
-<li> The VPG maintains a cache of ASTs.  If an up-to-date AST is available in the cache, it is
-     simply provided to the user.  If not, the VPG calls the parser, which provides an AST.
-<li> The VPG database is checked; if the information for the file it parsed is out of date,
-     the dependencies, edges, and annotations for that file (and any dependent files) are recalculated.
-<li> The new AST is added to the cache.
-</ul>
-
-<p>When an AST is requested from the VPG, the requested AST can be either <i>permanent</i> or <i>transient</i>.
-A transient AST will be garbage collected when there are no pointers remaining to any of its nodes.
-A permanent AST will be held in memory until the user explicitly tells the VPG to release it.
-If dereferencing a <tt>TokenRef</tt> requires building a new AST, a transient AST is constructed, so it
-can be garbage collected as soon as the user is done using that AST.  Of course, the user can ask the
-VPG to make that AST permanent if he so desires.</p>
-
-</div>
-
-<div class="indent2">
-<h4>VPG-Building Methods</h4>
-<!-- ============================================================================================================== -->
-
-<p>VPGs provide package-private methods to
-<ul>
-<li> add dependencies, edges, and annotations,
-<li> delete dependencies, edges, and annotations,
-<li> retrieve all of the incoming or outgoing edges to/from a particular token,
-<li> retrieve all of the incoming or outgoing dependencies to/from a particular file,
-<li> log errors and warnings, and 
-<li> delete all of the dependencies, edges, and annotations associated with a particular file.
-</ul>
-</p>
-
-<p>In the section &quot;Using a Virtual Program Graph,&quot; we described several methods that
-could be implemented on AST nodes using a VPG.  For example, we suggested that
-&quot;The user could call a method <tt>getAllReferences()</tt> on a <tt>Declaration</tt> node,
-which would return a list of all of the references to that declaration.&quot;
-This could be implemented as follows.
-<ul>
-<li> When the VPG is built, <i>binding</i> edges are pointed at the identifier token
-     associated with the declaration.
-<li> To get all of the references, we ask the VPG for all of the incoming <i>binding</i>
-     edges for the identifier.  Each of these points to another token.  If necessary, we
-     can search upwards from each token in the AST, and return its <tt>VariableDeclaration</tt>
-     node.
-</ul>
-
-</div>
-
-</div>
-
-<!-- ============================================================================================================== -->
-<!-- ============================================================================================================== -->
-<a name="Eclipse"></a>
-<h2>Eclipse Integration</h2>
-<!-- ============================================================================================================== -->
-<!-- ============================================================================================================== -->
-
-Special support is provided for integrating VPGs into Eclipse-based tools.
-<ul>
-<li> Eclipse-based VPGs can sit quietly in the background, updating the VPG database
-     incrementally as the user edits files.  When the Eclipse-based VPG is
-     &quot;started,&quot; it scans the entire Eclipse workspace to make sure its database
-     entries for all of the files are up-to-date.  Then, it updates itself incrementally
-     as files are added, changed, or deleted.
-<li> There is a special type of workspace job and scheduling rule for tasks which access
-     the VPG.  These ensure that only one VPG job is running at any given time.
-     The background/incremental updates are one type of VPG job, and it is important
-     not to read from or write to the VPG while those are running.  Additionally,
-     the provided implementations of VPGs are not thread-safe: If two threads try to access
-     the VPG simultaneously, very strange errors can occur, such as parser stack underflows
-     or a completely corrupted VPG database.
-</ul> 
-
-<!--h2>Implementing a Virtual Program Graph</h2>
-    
-<p>VPGs were designed according to the following principles.
-<ul>
-<li> Parsing a file and constructing an AST is inexpensive and can be done &quot;on demand.&quot;
-<li> Disk accesses are expensive; a minimal amount of information should be maintained on disk.
-</ul>
-</p>
-
-There are several example VPGs available, which should be used as reference for implementing
-a VPG. -->
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg/src/stylesheet.css b/org.eclipse.rephraserengine.core.vpg/src/stylesheet.css
deleted file mode 100644
index 318f98c..0000000
--- a/org.eclipse.rephraserengine.core.vpg/src/stylesheet.css
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Javadoc style sheet */
-
-/* Define colors, fonts and other style attributes here to override the defaults */
-
-/* Page background color */
-body { background-color: #FFFFFF; font-family: Trebuchet MS, Verdana, Helvetica, Arial, sans-serif; font-size: 90% }
-
-/* Headings */
-// h1 { font-size: 150% }
-
-h1 { margin-top: 100px }
-h2 { margin-top: 80px; border-bottom: 1px solid #008080 }
-h3 { margin-top: 40px }
-h4 { margin-top: 40px }
-
-p  { font-family: Times, serif; font-size: 12pt }
-td { font-family: Times, serif; font-size: 12pt }
-li { font-family: Times, serif; font-size: 12pt }
-tt { font-size: 10pt }
-
-a:link    { color: #008080; text-decoration: none }
-a:visited { color: #008080; text-decoration: none }
-a:hover   { color: #008080; text-decoration: underline }
-a:active  { color: #008080; text-decoration: none }
-
-div.indent1 { margin-left: 80px }
-div.indent2 { margin-left: 80px }
-
-/* Table colors */
-// .TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
-// .TableHeadingColor     { background: #CCFFFF } /* Dark mauve */
-.TableHeadingColor     { background: #80C0C0 } /* Dark mauve */
-.TableSubHeadingColor  { background: #EEFFFF } /* Light mauve */
-.TableRowColor         { background: #FFFFFF } /* White */
-
-/* Font used in left-hand frame lists */
-.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif }
-.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
-.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
-
-/* Navigation bar fonts and colors */
-.NavBarCell1    { background-color:#EEFFFF;} /* Light mauve */
-.NavBarCell1Rev { background-color:#008B8B;} /* Dark Blue */
-.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
-.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
-
-.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
-.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
diff --git a/org.eclipse.rephraserengine.core/.classpath b/org.eclipse.rephraserengine.core/.classpath
deleted file mode 100644
index 472ee29..0000000
--- a/org.eclipse.rephraserengine.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.core/.project b/org.eclipse.rephraserengine.core/.project
deleted file mode 100644
index 8630336..0000000
--- a/org.eclipse.rephraserengine.core/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 73ee669..0000000
--- a/org.eclipse.rephraserengine.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 10:31:34 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.core/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 33ffb26..0000000
--- a/org.eclipse.rephraserengine.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed Oct 14 14:50:39 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.core/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 9167026..0000000
--- a/org.eclipse.rephraserengine.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.rephraserengine.core
-Bundle-Version: 3.0.0.qualifier
-Bundle-Vendor: %Bundle-Vendor
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.rephraserengine.core.analysis.dependence,
- org.eclipse.rephraserengine.core.analysis.flow,
- org.eclipse.rephraserengine.core.analysis.symtab,
- org.eclipse.rephraserengine.core.resources,
- org.eclipse.rephraserengine.core.util
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.core.runtime
diff --git a/org.eclipse.rephraserengine.core/OSGI-INF/l10n/bundle.properties b/org.eclipse.rephraserengine.core/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 8c13d44..0000000
--- a/org.eclipse.rephraserengine.core/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Properties file for org.eclipse.rephraserengine.core
-Bundle-Vendor = Eclipse.org - Photran
-Bundle-Name = Rephraser Engine Core Plug-in
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core/about.html b/org.eclipse.rephraserengine.core/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.core/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core/build.properties b/org.eclipse.rephraserengine.core/build.properties
deleted file mode 100644
index 04fa2df..0000000
--- a/org.eclipse.rephraserengine.core/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               OSGI-INF/l10n/bundle.properties
-src.includes = about.html
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Dependence.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Dependence.java
deleted file mode 100644
index 80f43d6..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Dependence.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.dependence;
-
-/**
- * A dependence between two variable/array accesses.
- * <p>
- * THIS IS PRELIMINARY AND EXPERIMENTAL.  IT IS NOT APPROPRIATE FOR PRODUCTION USE.
- *
- * @author Jeff Overbey
- * @see LoopDependences
- * 
- * @since 2.0
- */
-public class Dependence
-{
-    public static enum Type
-    {
-        FLOW_DEPENDENCE(Messages.Dependence_Flow),
-        ANTI_DEPENDENCE(Messages.Dependence_Anti),
-        OUTPUT_DEPENDENCE(Messages.Dependence_Output);
-
-        private String description;
-
-        private Type(String description)
-        {
-            this.description = description;
-        }
-
-        public static Type of(Dependence d)
-        {
-            if (d.from.isWrite() && d.to.isWrite())
-                return OUTPUT_DEPENDENCE;
-            else if (d.from.isRead() && d.to.isWrite())
-                return ANTI_DEPENDENCE;
-            else // (d.from.isWrite && d.to.isRead())
-                return FLOW_DEPENDENCE;
-        }
-
-        @Override public String toString()
-        {
-            return description;
-        }
-    }
-
-    public final IVariableReference from;
-    public final IVariableReference to;
-    public final Type type;
-
-    public Dependence(IVariableReference from, IVariableReference to)
-    {
-        assert from.isRead() != from.isWrite() && to.isRead() != to.isWrite();
-        
-        this.from = from;
-        this.to = to;
-        this.type = Type.of(this);
-    }
-
-    @Override public boolean equals(Object o)
-    {
-        if (!this.getClass().equals(o.getClass())) return false;
-
-        Dependence that = (Dependence)o;
-        return this.from.equals(that.from)
-            && this.to.equals(that.to)
-            && this.type.equals(that.type);
-    }
-
-    @Override public int hashCode()
-    {
-        return from.hashCode() + 13 * to.hashCode() + 19 * type.hashCode();
-    }
-
-    @Override public String toString()
-    {
-        //return type + " from " + from + " to " + to;
-        return Messages.bind(Messages.Dependence_Description,
-                             new Object[] { type, from, to });
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/DependenceTestFailure.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/DependenceTestFailure.java
deleted file mode 100644
index 16ce481..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/DependenceTestFailure.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.dependence;
-
-/**
- * Thrown when dependence testing cannot succeed.
- * <p>
- * THIS IS PRELIMINARY AND EXPERIMENTAL.  IT IS NOT APPROPRIATE FOR PRODUCTION USE.
- * 
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-@SuppressWarnings("serial")
-public class DependenceTestFailure extends Error
-{
-    public DependenceTestFailure(String message)
-    {
-        super(message);
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Direction.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Direction.java
deleted file mode 100644
index 7fd6658..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Direction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.dependence;
-
-/**
- * Enumeration representing the possible entries in a direction vector:
- * &quot;&lt;&quot, &quot;=&quot;, or &quot;&gt;&quot;.
- * <p>
- * A special value &quot;*&quot, used to indicate &quot;any direction&quot;
- * in the Banerjee Inequality, is also provided.
- * <p>
- * Reference: Allen and Kennedy, <i>Optimizing Compilers for Modern
- * Architectures.</i>  Direction vectors are defined on p. 46
- * (Definition 2.10); the Banerjee Inequality is described on pp. 97-111.
- * <p>
- * THIS IS PRELIMINARY AND EXPERIMENTAL.  IT IS NOT APPROPRIATE FOR PRODUCTION USE.
- * 
- * @author Jeff Overbey
- * @see IDependenceTester
- * 
- * @since 2.0
- */
-public /*was package-private*/ enum Direction
-{
-    /** &quot;&lt;&quot */
-    LESS_THAN,
-    
-    /** &quot;=&quot; */
-    EQUALS,
-    
-    /** &quot;&gt;&quot; */
-    GREATER_THAN,
-    
-    /** * */
-    ANY;
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/GCDTest.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/GCDTest.java
deleted file mode 100644
index 1cad22c..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/GCDTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.dependence;
-
-/**
- * Implements the GCD dependence test.
- * <p>
- * The GCD test is a simple dependence testing algorithm that simply
- * checks whether gcd(a1, ..., an, b1, ..., bn) divides b0 - a0.
- * <p>
- * Reference: Allen and Kennedy, <i>Optimizing Compilers for Modern
- * Architectures,</i> p. 96.
- * <p>
- * THIS IS PRELIMINARY AND EXPERIMENTAL.  IT IS NOT APPROPRIATE FOR PRODUCTION USE.
- *
- * @author Jeff Overbey
- * @see IDependenceTester
- * 
- * @since 2.0
- */
-public /*was package-private*/ class GCDTest implements IDependenceTester
-{
-    public Result test(int n, int[] L, int[] U, int[] a, int[] b, Direction[] direction)
-    {
-        assert n >= 1 && a.length == n+1 && b.length == n+1;
-
-        int gcd = a[1];
-        for (int i = 1; i <= n; i++)
-        {
-            gcd = gcd(gcd, a[i]);
-            gcd = gcd(gcd, b[i]);
-        }
-
-        return divides(gcd, b[0]-a[0]) ? Result.POSSIBLE_DEPENDENCE : Result.NO_DEPENDENCE;
-    }
-
-    /** @return the greatest common divisor of n and m */
-    public static int gcd(int n, int m)
-    {
-        // Euclidean algorithm
-        n = Math.abs(n);
-        m = Math.abs(m);
-        assert n >= 0 && m >= 0;
-
-        while (m != 0)
-        {
-            int t = m;
-            m = n % m;
-            n = t;
-        }
-        return n;
-    }
-
-    /** @return true iff n | m */
-    private static boolean divides(int n, int m)
-    {
-        return m % n == 0;
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/GeneralizedGCDTest.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/GeneralizedGCDTest.java
deleted file mode 100644
index f033439..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/GeneralizedGCDTest.java
+++ /dev/null
@@ -1,552 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.dependence;
-
-import java.util.Arrays;
-
-/**
- * Generalized GCD Dependence Test
- * <p>
- * (Wolfe pp. 246-247)
- * <p>
- * THIS IS PRELIMINARY AND EXPERIMENTAL.  IT IS NOT APPROPRIATE FOR PRODUCTION USE.
- *
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-public class GeneralizedGCDTest implements IDependenceTester
-{
-    public Result test(int n, int[] L, int[] U, int[] a, int[] b, Direction[] direction)
-    {
-        // a: Coefficients in definition
-        // b: Coefficients in reference
-
-        // For each index variable
-        //     element 2*i is definition
-        //     element 2*i+1 is use
-        IntMatrix coeffs = IntMatrix.zero(2*n /* but only 1 row used */, 2*n);
-
-        for (int i = 1; i <= n; i++)
-        {
-            coeffs.set(1, 2*(i-1)+1, a[i]);
-            coeffs.set(1, 2*(i-1)+2, -b[i]);
-        }
-
-        int[] c = new int[2*n];
-        c[0] = b[0] - a[0];
-
-        System.out.println("Solving\n" + coeffs + " * t =\n" + Arrays.toString(c)); //$NON-NLS-1$ //$NON-NLS-2$
-
-        IntVector sol = coeffs.solve(c);
-        System.out.println("    t =\n" + (sol == null ? "null" : sol)); //$NON-NLS-1$ //$NON-NLS-2$
-
-        return sol != null && !sol.isZero() ? Result.POSSIBLE_DEPENDENCE : Result.NO_DEPENDENCE;
-    }
-
-    /**
-    * A mutable matrix of integers, used solely to support the Generalized GCD dependence tester.
-    *
-    * @author Jeff Overbey
-    *
-    * @see GeneralizedGCDTest
-    */
-   public static final class IntMatrix
-   {
-       public static IntMatrix zero(int rows, int cols)
-       {
-           return new IntMatrix(rows, cols);
-       }
-
-       public static IntMatrix identity(int rank)
-       {
-           IntMatrix id = new IntMatrix(rank, rank);
-           for (int i = 1; i <= rank; i++)
-               id.set(i, i, 1);
-           return id;
-       }
-
-       public static IntMatrix copyFrom(IntMatrix m)
-       {
-           IntMatrix result = zero(m.rows, m.cols);
-           for (int col = 0; col < m.cols; col++)
-               System.arraycopy(m.data[col], 0, result.data[col], 0, m.rows);
-           return result;
-       }
-
-       public static IntMatrix create(int rows, int cols, int... vals)
-       {
-           if (vals.length != rows*cols) throw new IllegalArgumentException("Wrong number of values"); //$NON-NLS-1$
-
-           IntMatrix result = zero(rows, cols);
-           int i = 0;
-           for (int row = 1; row <= rows; row++)
-               for (int col = 1; col <= cols; col++)
-                   result.set(row, col, vals[i++]);
-           return result;
-       }
-
-       protected final int rows, cols;
-       protected final int[][] data;
-
-       protected IntMatrix(int rows, int cols)
-       {
-           this.rows = rows;
-           this.cols = cols;
-           this.data = new int[cols][rows];
-       }
-
-       /**
-        * @param row (1-based)
-        * @param col (1-based)
-        * @return
-        */
-       public int get(int row, int col)
-       {
-           check(row, col);
-
-           return data[col-1][row-1];
-       }
-
-       /**
-        * @param row (1-based)
-        * @param col (1-based)
-        * @param value
-        */
-       public void set(int row, int col, int value)
-       {
-           check(row, col);
-
-           data[col-1][row-1] = value;
-       }
-
-       /**
-        *
-        * @param col1
-        * @param col2
-        */
-       public void swapColumns(int col1, int col2)
-       {
-           int[] tmp = data[col1-1];
-           data[col1-1] = data[col2-1];
-           data[col2-1] = tmp;
-       }
-
-       protected void check(int row, int col)
-       {
-           if (row < 1 || row > rows) throw new IllegalArgumentException("Invalid row " + row); //$NON-NLS-1$
-           if (col < 1 || col > cols) throw new IllegalArgumentException("Invalid column " + col); //$NON-NLS-1$
-       }
-
-       /**
-        * @return
-        */
-       public int numRows()
-       {
-           return rows;
-       }
-
-       /**
-        * @return
-        */
-       public int numCols()
-       {
-           return cols;
-       }
-
-       @Override public String toString()
-       {
-           StringBuilder sb = new StringBuilder();
-           for (int row = 1; row <= rows; row++)
-           {
-               for (int col = 1; col <= cols; col++)
-               {
-                   sb.append(String.format("%5d", get(row, col))); //$NON-NLS-1$
-               }
-               sb.append('\n');
-           }
-           return sb.toString();
-       }
-
-       public boolean equalsUnwrapped(int... vals)
-       {
-           if (vals.length != rows * cols) throw new IllegalArgumentException("Wrong length array"); //$NON-NLS-1$
-
-           int i = 0;
-           for (int row = 1; row <= rows; row++)
-               for (int col = 1; col <= cols; col++)
-                   if (get(row, col) != vals[i++])
-                       return false;
-           return true;
-       }
-
-       public Reduce reduce()
-       {
-           return new Reduce(this);
-       }
-
-       public IntVector solve(int... c)
-       {
-           if (!isSquare()) throw new IllegalArgumentException();
-
-           // "this" is the matrix A
-
-           // We want to find a vector x such that A x = c
-           // Find unimodular matrix U and column echelon form D such that A U = D
-           Reduce reduce = reduce();
-
-           //        A      x  = c
-           // <=> (D  U^-1) x  = c
-           // <=>  D (U^-1  x) = c
-           // <=>  D      t    = c       for some t
-           // Find t such that D t = c
-           IntMatrix d = reduce.getColumnEchelonForm();
-           IntVector t = d.forwardSubstitute(c);
-           if (t == null) return null; // No solution
-
-           //   t =   U^-1 x
-           // U t = U U^-1 x
-           // U t =        x
-           IntVector x = reduce.getUnimodularMatrix().times(t);
-           return x;
-       }
-
-       /**
-        * @param vec
-        * @return
-        */
-       private IntVector times(IntVector vec)
-       {
-           int origSize = vec.size();
-           if (origSize < numRows())
-           {
-               IntVector newVec = IntVector.zero(numRows());
-               for (int i = 1; i <= origSize; i++)
-                   newVec.set(i, vec.get(i));
-               vec = newVec;
-           }
-
-           int size = vec.size();
-           if (numRows() != size) throw new IllegalArgumentException();
-           if (numCols() != size) throw new IllegalArgumentException();
-
-           IntVector result = IntVector.zero(size);
-           for (int row = 1; row <= size; row++)
-           {
-               int sum = 0;
-               for (int col = 1; col <= size; col++)
-                   sum += vec.get(col) * this.get(row, col);
-               result.set(row, sum);
-           }
-
-           if (origSize != size)
-           {
-               IntVector newVec = IntVector.zero(origSize);
-               for (int i = 1; i <= origSize; i++)
-                   newVec.set(i, result.get(i));
-               return newVec;
-           }
-           else return result;
-       }
-
-       /**
-        * Reduces a coefficient matrix D = (d, 0, 0, ..., 0) and finds an appropriate unimodular matrix
-        * U such that AU = D
-        *
-        * Reduces a coefficient matrix to column echelon form
-        *
-        * Wolfe p.112
-        */
-       public static final class Reduce
-       {
-           protected IntMatrix a;
-           private IntMatrix d;
-           private IntMatrix u;
-
-           protected Reduce(IntMatrix a)
-           {
-               /** ReduceRow -- Wolfe p. 112 */
-               if (a.numRows() == 1)
-               {
-                   this.a = a;
-                   this.u = IntMatrix.identity(a.numCols()); // TODO
-                   this.d = IntMatrix.copyFrom(a); // TODO
-                   reduce(1, 1, a.numCols());
-               }
-               /** ReduceMatrix -- Wolfe p. 115 */
-               else
-               {
-                   this.a = a;
-                   this.u = IntMatrix.identity(a.numCols()); // TODO
-                   this.d = IntMatrix.copyFrom(a); // TODO
-                   int c = 1;
-                   for (int i = 1; i <= a.numRows(); i++)
-                   {
-                       reduce(i, c, a.numCols());
-                       if (d.get(i, c) != 0) c++;
-                   }
-               }
-           }
-
-           /** Leaves only a single nonzero entry in columns j through n of row i */
-           protected void reduce(int i, int j, int n)
-           {
-               int k;
-               boolean f;
-
-               do
-               {
-                   if (d.isZero(i, j, n)) return;
-                   k = d.colWithMinimumMagnitude(i, j, d.numCols());
-                   f = true;
-                   for (int m = j; m <= n; m++)
-                   {
-                       if (m != k)
-                       {
-                           int q = d.get(i, m) / d.get(i, k);
-                           if (q != 0)
-                           {
-                               d.addColumnMultiple(m, -q, k);
-                               u.addColumnMultiple(m, -q, k);
-                               if (d.get(i, m) > 0) f = false;
-                           }
-                       }
-                   }
-               } while (!f);
-               if (k != 1)
-               {
-                   d.swapColumns(j, k);
-                   u.swapColumns(j, k);
-               }
-           }
-
-           /**
-            * @return the u
-            */
-           public IntMatrix getUnimodularMatrix()
-           {
-               return u;
-           }
-
-           /**
-            * @return the d
-            */
-           public IntMatrix getColumnEchelonForm()
-           {
-               return d;
-           }
-
-           @Override public String toString()
-           {
-               return "A =\n" + a + "\n\nD =\n" + d + "\n\nU =\n" + u; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-           }
-       }
-
-       /**
-        * @param i
-        * @param j
-        * @param n
-        * @return
-        */
-       public boolean isZero(int row, int colFrom, int colThru)
-       {
-           for (int col = colFrom; col <= colThru; col++)
-               if (get(row, col) != 0)
-                   return false;
-
-           return true;
-       }
-
-       /**
-        * @param thruCol
-        * @param fromCol
-        * @param i
-        * @return
-        */
-       public int colWithMinimumMagnitude(int row, int fromCol, int thruCol)
-       {
-           while (get(row, fromCol) == 0 && fromCol <= cols)
-               fromCol++;
-           if (fromCol > cols) throw new IllegalArgumentException();
-
-           int result = fromCol;
-           for (int col = fromCol; col <= thruCol; col++)
-               if (get(row, col) != 0 && Math.abs(get(row, col)) < Math.abs(get(row, result)))
-                   result = col;
-           return result;
-       }
-
-       /**
-        * @param m
-        * @param i
-        * @param k
-        */
-       public void addColumnMultiple(int col1, int factor, int col2)
-       {
-           for (int row = 1; row <= rows; row++)
-               set(row, col1, get(row, col1) + factor * get(row, col2));
-       }
-
-       // http://www.ecs.fullerton.edu/~mathews/n2003/BackSubstitutionMod.html
-       public IntVector forwardSubstitute(int... c)
-       {
-           //assert isLowerTriangular() && isColumnEchelonForm();
-           if (!isSquare()) throw new IllegalArgumentException();
-           if (c.length != numRows()) throw new IllegalArgumentException();
-
-           int size = numRows(); //Math.min(numRows(), numNonzeroCols());
-           IntVector x = IntVector.zero(size);
-           for (int i = 1; i <= size; i++)
-           {
-               int sum = 0;
-               for (int j = 1; j < i; j++)
-                   sum += get(i, j) * x.get(j);
-               if (c[i-1] - sum == 0 && get(i, i) == 0)
-                   x.set(i, 0); // Infinitely many solutions
-               else if (get(i, i) == 0)
-                   return null; // No solution
-               else
-                   x.set(i, (c[i-1] - sum) / get(i, i));
-           }
-           return x;
-       }
-
-       /**
-        * @return
-        */
-       private boolean isSquare()
-       {
-           return numRows() == numCols();
-       }
-   }
-
-   /**
-    * A mutable vector of integers, used solely to support the Generalized GCD dependence tester.
-    *
-    * @author Jeff Overbey
-    *
-    * @see GeneralizedGCDTest
-    */
-   public static final class IntVector
-   {
-       public static IntVector zero(int size)
-       {
-           return new IntVector(size);
-       }
-
-       public static IntVector copyFrom(IntVector m)
-       {
-           IntVector result = zero(m.data.length);
-           System.arraycopy(m.data, 0, result.data, 0, m.data.length);
-           return result;
-       }
-
-       public static IntVector create(int... vals)
-       {
-           IntVector result = zero(vals.length);
-           System.arraycopy(vals, 0, result.data, 0, vals.length);
-           return result;
-       }
-
-       protected final int[] data;
-
-       protected IntVector(int size)
-       {
-           this.data = new int[size];
-       }
-
-       /**
-        * @param element (1-based)
-        * @return
-        */
-       public int get(int element)
-       {
-           check(element);
-
-           return data[element-1];
-       }
-
-       /**
-        * @param element (1-based)
-        * @param value
-        */
-       public void set(int element, int value)
-       {
-           check(element);
-
-           data[element-1] = value;
-       }
-
-       protected void check(int element)
-       {
-           if (element < 1 || element > data.length) throw new IllegalArgumentException("Invalid element " + element); //$NON-NLS-1$
-       }
-
-       /**
-        * @return
-        */
-       public int size()
-       {
-           return data.length;
-       }
-
-       @Override public String toString()
-       {
-           StringBuilder sb = new StringBuilder();
-           for (int row = 1; row <= size(); row++)
-           {
-               sb.append(String.format("%5d", get(row))); //$NON-NLS-1$
-               sb.append('\n');
-           }
-           return sb.toString();
-       }
-
-       public boolean equalsUnwrapped(int... vals)
-       {
-           if (vals.length != data.length) throw new IllegalArgumentException("Wrong length array"); //$NON-NLS-1$
-
-           return Arrays.equals(vals, data);
-       }
-
-       /**
-        * @return
-        */
-       public boolean isZero()
-       {
-           for (int i = 0; i < data.length; i++)
-               if (data[i] != 0)
-                   return false;
-
-           return true;
-       }
-
-       /**
-        * @param unimodularMatrix
-        * @return
-        */
-       public IntVector asRowTimes(IntMatrix matrix)
-       {
-           int size = this.size();
-           if (matrix.numRows() != size) throw new IllegalArgumentException();
-           if (matrix.numCols() != size) throw new IllegalArgumentException();
-
-           IntVector result = IntVector.zero(size);
-           for (int col = 1; col <= size; col++)
-           {
-               int sum = 0;
-               for (int row = 1; row <= size; row++)
-                   sum += this.get(row) * matrix.get(row, col);
-               result.set(col, sum);
-           }
-           return result;
-       }
-   }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/IDependenceTester.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/IDependenceTester.java
deleted file mode 100644
index be471b5..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/IDependenceTester.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.dependence;
-
-/**
- * A dependence test operating on a perfect loop nest
- * <pre>
- * DO i_1 = L_1, U_1
- *     DO i_2 = L_2, U_2
- *        ...
- *            DO i_n = L_n, U_n
- *                A( a_0 + a_1*i_1 + ... + a_n*i_n ) = ...    ! Stmt1
- *                ... = A( b_0 + b_1*i_1 + ... + b_n*i_n )    ! Stmt2
- *            ENDDO
- *        ...
- *     ENDDO
- * ENDDO
- * </pre>
- * takes as input
- * <ol>
- *   <li> the number of loops <i>n</i> in the nest,
- *   <li> the lower and upper bounds, L_i and U_i, of each loop (for each 1 &lt;= i &lt;= n),
- *   <li> the coefficients a_i of a linearly-subscripted array access (for each 1 &lt;= i &lt;= n), and
- *   <li> the coefficients b_i of another linearly-subscripted array access (for each 1 &lt;= i &lt;= n),
- * </ol>
- * as well as the entries of a direction vector
- * D = (D_1, D_2, ..., D_n)
- * where each entry is either &quot;&lt;&quot, &quot;=&quot;, or &quot;&gt;&quot;; it returns false only if
- * it can prove that there is not a dependence between the statements Stmt1 and Stmt2 with the given
- * direction vector.  Otherwise, it returns true, indicating that there is (or might be) a dependence
- * (note that this means dependence testing is conservative).
- * <p>
- * Reference: Allen and Kennedy, <i>Optimizing Compilers for Modern Architectures,</i> pp. 95-96.
- * <p>
- * THIS IS PRELIMINARY AND EXPERIMENTAL.  IT IS NOT APPROPRIATE FOR PRODUCTION USE.
- *
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-public interface IDependenceTester
-{
-    public static enum Result
-    {
-        //                  Dependence might exist?
-        //                  |       Definite result?
-        //                  |       |
-        NO_DEPENDENCE      (false,  true),
-        POSSIBLE_DEPENDENCE(true,   false),
-        DEFINITE_DEPENDENCE(true,   true);
-
-        private boolean asBoolean;
-        private boolean isDefinite;
-
-        private Result(boolean asBoolean, boolean isDefinite)
-        {
-            this.asBoolean = asBoolean;
-            this.isDefinite = isDefinite;
-        }
-
-        public boolean dependenceMightExist() { return asBoolean; }
-
-        public boolean isDefinite() { return isDefinite; }
-    }
-
-    Result test(int n, int[] L, int[] U, int[] a, int[] b, Direction[] direction);
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/IVariableReference.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/IVariableReference.java
deleted file mode 100644
index f79e028..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/IVariableReference.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.dependence;
-
-/**
- * A variable reference in a {@link Dependence}.
- * <p>
- * THIS IS PRELIMINARY AND EXPERIMENTAL.  IT IS NOT APPROPRIATE FOR PRODUCTION USE.
- * 
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-public interface IVariableReference
-{
-    boolean isRead();
-    boolean isWrite();
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Messages.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Messages.java
deleted file mode 100644
index b162466..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.dependence;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- * 
- * @since 2.0
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.core.analysis.dependence.messages"; //$NON-NLS-1$
-
-    public static String Dependence_Anti;
-    public static String Dependence_Flow;
-    public static String Dependence_Output;
-    public static String Dependence_Description;
-    
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/messages.properties b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/messages.properties
deleted file mode 100644
index 7676a77..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/dependence/messages.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-Dependence_Anti=Anti-dependence
-Dependence_Flow=Flow dependence
-Dependence_Output=Output dependence
-# Anti-dependence from XXX to YYY
-Dependence_Description={0} from {1} to {2}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/BasicBlock.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/BasicBlock.java
deleted file mode 100644
index a8b43a2..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/BasicBlock.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.flow;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * A basic block in a control flow graph.
- * <p>
- * A basic block is a sequence of instructions such that, if the first instruction is executed,
- * all of the subsequent instructions must be executed as well.  I.e., if control enters a basic
- * block, it must exit the block without halting or branching in the middle of the block.  A
- * basic block has a single entrypoint (the first instruction, or <i>leader</i>0 and a single
- * exit point (after the last instruction).  Note that the last instruction may be a branch:
- * Control exits the basic block at exactly one point (after the last instruction), but it may
- * flow to any number of other basic blocks.
- * <p>
- * This class implements {@link Iterable}, so the instructions in this basic block can be iterated
- * through using a new-style for-loop.
- *
- * <p>
- * See Aho et al., <i>Compilers: Principles, Techniques, and Tools</i> (1986), pp. 528-529 for more
- * information.
- *
- * @author Jeff Overbey
- *
- * @see FlowGraph#formBasicBlocks()
- * @see FlowGraph#formBasicBlocks(BasicBlockBuilder)
- *
- * @since 3.0
- */
-public class BasicBlock<T> implements Iterable<T>
-{
-    protected final List<T> instructions;
-
-    BasicBlock(T leader)
-    {
-        this.instructions = new ArrayList<T>(4);
-        add(leader);
-    }
-
-    void add(T insn)
-    {
-        instructions.add(insn);
-    }
-
-    public T getLeader()
-    {
-        return instructions.get(0);
-    }
-
-    public Iterator<T> iterator()
-    {
-        return instructions.iterator();
-    }
-
-    @Override public String toString()
-    {
-        StringBuilder sb = new StringBuilder();
-        for (T insn : this)
-            sb.append(insn.toString());
-        return sb.toString();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/BasicBlockBuilder.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/BasicBlockBuilder.java
deleted file mode 100644
index aca78f4..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/BasicBlockBuilder.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.flow;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Method object to construct basic blocks from the nodes in a control flow graph and build a new
- * flow graph from those basic blocks.  Used by {@link FlowGraph#formBasicBlocks(BasicBlockBuilder)}.
- * <p>
- * If the underlying language contains unconditional branch instructions or instructions that may
- * halt execution of the program, the default algorithm for constructing basic blocks will be
- * incorrect; in such cases, subclasses must override {@link #isGoToOrStop(Object)} in order to
- * properly recognize these instructions.  (By definition, if control enters a basic block, it
- * must exit the block without halting or branching in the middle of the block.  If the language
- * contains an unconditional branch, and the target of the branch has only one predecessor (the
- * branch instruction), the default algorithm will try to coalesce the target instruction into the
- * basic block containing the branch instruction.  Therefore, subclasses must explicitly determine
- * that the instruction is a branch so that its target will become the leader of a new basic block.)
- * <p>
- * See Aho et al., <i>Compilers: Principles, Techniques, and Tools</i> (1986), pp. 528-529 for more
- * information.
- *
- * @author Jeff Overbey
- *
- * @see FlowGraph#formBasicBlocks(BasicBlockBuilder)
- *
- * @since 3.0
- */
-public class BasicBlockBuilder<U>
-{
-    private FlowGraph<U> cfg;
-    private Map<FlowGraphNode<U>, FlowGraphNode<BasicBlock<U>>> newNodes;
-
-    FlowGraph<BasicBlock<U>> buildFlowGraphFrom(FlowGraph<U> cfg)
-    {
-        this.cfg = cfg;
-        this.newNodes = new HashMap<FlowGraphNode<U>, FlowGraphNode<BasicBlock<U>>>();
-        constructNewNodes();
-        connectNewNodes();
-        return new FlowGraph<BasicBlock<U>>(newNodes.get(cfg.getEntryNode()), newNodes.get(cfg.getExitNode()));
-    }
-
-    private void constructNewNodes()
-    {
-        FlowGraphNode<BasicBlock<U>> currentNode = null;
-        for (FlowGraphNode<U> node : cfg.nodesInPreOrder())
-        {
-            if (currentNode == null
-                || node.getPrecedessors().size() != 1
-                || isGoToOrStop(node.getPrecedessors().get(0).getData()))
-                currentNode = new FlowGraphNode<BasicBlock<U>>(node.getName(), new BasicBlock<U>(node.getData()));
-            else
-                currentNode.getData().add(node.getData());
-            newNodes.put(node, currentNode);
-
-            if (node.getSuccessors().size() != 1)
-                currentNode = null;
-        }
-    }
-
-    private void connectNewNodes()
-    {
-        for (FlowGraphNode<U> node : cfg.nodesInPreOrder())
-        {
-            FlowGraphNode<BasicBlock<U>> nodeBB = newNodes.get(node);
-            for (FlowGraphNode<U> succ : node.getSuccessors())
-            {
-                FlowGraphNode<BasicBlock<U>> succBB = newNodes.get(succ);
-                if (succBB != nodeBB)
-                    nodeBB.connectTo(succBB);
-            }
-        }
-    }
-
-    /**
-     * @return true iff the given data (instruction/statement) corresponds to either
-     * <ul>
-     * <li> a conditional or unconditional branch, or
-     * <li> a statement that stops execution of the program.
-     * </ul>
-     * The statement(s)/instructions(s) following this one will become leaders of new basic blocks.
-     */
-    protected boolean isGoToOrStop(U data)
-    {
-        return false;
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/FlowGraph.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/FlowGraph.java
deleted file mode 100644
index ca6f9d2..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/FlowGraph.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.flow;
-
-/**
- * A control flow graph.
- *
- * @author Jeff Overbey
- *
- * @param U type of data associated with each flowgraph node
- *
- * @see org.eclipse.rephraserengine.core.analysis.flow.VPGFlowGraph
- *
- * @since 3.0
- */
-public class FlowGraph<U>
-{
-    protected FlowGraphNode<U> entryNode, exitNode;
-
-    public FlowGraph(FlowGraphNode<U> entryNode, FlowGraphNode<U> exitNode)
-    {
-        this.entryNode = entryNode;
-        this.exitNode = exitNode;
-    }
-
-    protected FlowGraph()
-    {
-        this.entryNode = null; // Subclass must
-        this.exitNode = null;  // set these
-    }
-
-    public FlowGraphNode<U> getEntryNode()
-    {
-        return this.entryNode;
-    }
-
-    public FlowGraphNode<U> getExitNode()
-    {
-        return this.exitNode;
-    }
-
-    public Iterable<U> dataInReversePostOrder()
-    {
-        return entryNode.subgraphDataInReversePostOrder();
-    }
-
-    public Iterable<FlowGraphNode<U>> nodesInReversePostOrder()
-    {
-        return entryNode.subgraphInReversePostOrder();
-    }
-
-    public Iterable<U> dataInPreOrder()
-    {
-        return entryNode.subgraphDataInPreOrder();
-    }
-
-    public Iterable<FlowGraphNode<U>> nodesInPreOrder()
-    {
-        return entryNode.subgraphInPreOrder();
-    }
-
-    public FlowGraph<BasicBlock<U>> formBasicBlocks()
-    {
-        return new BasicBlockBuilder<U>().buildFlowGraphFrom(this);
-    }
-
-    public FlowGraph<BasicBlock<U>> formBasicBlocks(BasicBlockBuilder<U> builder)
-    {
-        return builder.buildFlowGraphFrom(this);
-    }
-
-    int getMaxNameLength()
-    {
-        int nameLen = 0;
-        for (FlowGraphNode<U> node : this.nodesInPreOrder())
-            nameLen = Math.max(nameLen, node.getName().length());
-        return nameLen;
-    }
-
-    @Override public String toString()
-    {
-        StringBuilder sb = new StringBuilder();
-
-        int nameLen = getMaxNameLength();
-
-        String spaces = spaces(nameLen);
-        for (FlowGraphNode<U> node : this.nodesInPreOrder())
-        {
-            sb.append(String.format("%" + nameLen + "s: %s\n", //$NON-NLS-1$ //$NON-NLS-2$
-                node.getName(),
-                nodeDataAsString(node).replace("\n", "\n" + spaces))); //$NON-NLS-1$ //$NON-NLS-2$
-
-            for (FlowGraphNode<U> succ : node.getSuccessors())
-                sb.append(String.format("    => %s\n", succ.getName())); //$NON-NLS-1$
-        }
-        if (sb.length() > 0) sb.deleteCharAt(sb.length()-1);
-        return sb.toString();
-    }
-
-    /**
-     * @param node
-     * @return
-     */
-    protected String nodeDataAsString(FlowGraphNode<U> node)
-    {
-        return String.valueOf(node.getData());
-    }
-
-    private String spaces(int count)
-    {
-        StringBuilder sb = new StringBuilder();
-        for (int i = 0; i < count; i++)
-            sb.append(' ');
-        return sb.toString();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/FlowGraphNode.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/FlowGraphNode.java
deleted file mode 100644
index f27933b..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/FlowGraphNode.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.flow;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.rephraserengine.core.util.ReverseIterator;
-
-/**
- * A node in a control flow graph.
- *
- * @author Jeff Overbey
- *
- * @param T type of data associated with each flowgraph node
- *
- * @since 3.0
- */
-public final class FlowGraphNode<T>
-{
-    private final String name;
-    private final T data;
-    private final List<FlowGraphNode<T>> successors, precedessors;
-
-    public FlowGraphNode(String name, T data)
-    {
-        this.name = name;
-        this.data = data;
-        this.successors = new LinkedList<FlowGraphNode<T>>();
-        this.precedessors = new LinkedList<FlowGraphNode<T>>();
-    }
-
-    public String getName()
-    {
-        return name;
-    }
-
-    public T getData()
-    {
-        return data;
-    }
-
-    public void connectTo(FlowGraphNode<T> node)
-    {
-        this.successors.add(node);
-        node.precedessors.add(this);
-    }
-
-    public void connectTo(FlowGraphNode<T>... nodes)
-    {
-        for (FlowGraphNode<T> n : nodes)
-            connectTo(n);
-    }
-
-    public List<FlowGraphNode<T>> getSuccessors()
-    {
-        return successors;
-    }
-
-    public Iterable<FlowGraphNode<T>> getSuccessorsInReverse()
-    {
-        return new Iterable<FlowGraphNode<T>>()
-        {
-            public Iterator<FlowGraphNode<T>> iterator()
-            {
-                return new ReverseIterator<FlowGraphNode<T>>(successors);
-            }
-        };
-    }
-
-    public List<FlowGraphNode<T>> getPrecedessors()
-    {
-        return precedessors;
-    }
-
-    Iterable<FlowGraphNode<T>> subgraphInReversePostOrder()
-    {
-        final LinkedList<FlowGraphNode<T>> result = new LinkedList<FlowGraphNode<T>>();
-
-        this.inReversePostOrder(new Callback()
-        {
-            @Override public void handle(FlowGraphNode<T> node)
-            {
-                result.add(node);
-            }
-        });
-
-        return result;
-    }
-
-    Iterable<T> subgraphDataInReversePostOrder()
-    {
-        final LinkedList<T> result = new LinkedList<T>();
-
-        this.inReversePostOrder(new Callback()
-        {
-            @Override public void handle(FlowGraphNode<T> node)
-            {
-                result.add(node.getData());
-            }
-        });
-
-        return result;
-    }
-
-    private void inReversePostOrder(Callback callback)
-    {
-        this.inReversePostOrder(new HashSet<FlowGraphNode<T>>(), callback);
-    }
-
-    private void inReversePostOrder(HashSet<FlowGraphNode<T>> visited, Callback callback)
-    {
-        visited.add(this);
-
-        for (FlowGraphNode<T> n : getSuccessorsInReverse())
-            if (!visited.contains(n))
-                n.inReversePostOrder(visited, callback);
-
-        callback.handle(this);
-    }
-
-    Iterable<FlowGraphNode<T>> subgraphInPreOrder()
-    {
-        final LinkedList<FlowGraphNode<T>> result = new LinkedList<FlowGraphNode<T>>();
-
-        this.inPreOrder(new Callback()
-        {
-            @Override public void handle(FlowGraphNode<T> node)
-            {
-                result.add(node);
-            }
-        });
-
-        return result;
-    }
-
-    Iterable<T> subgraphDataInPreOrder()
-    {
-        final LinkedList<T> result = new LinkedList<T>();
-
-        this.inPreOrder(new Callback()
-        {
-            @Override public void handle(FlowGraphNode<T> node)
-            {
-                result.add(node.getData());
-            }
-        });
-
-        return result;
-    }
-
-    private void inPreOrder(Callback callback)
-    {
-        this.inPreOrder(new HashSet<FlowGraphNode<T>>(), callback);
-    }
-
-    private void inPreOrder(HashSet<FlowGraphNode<T>> visited, Callback callback)
-    {
-        visited.add(this);
-        callback.handle(this);
-
-        for (FlowGraphNode<T> n : getSuccessors())
-            if (!visited.contains(n))
-                n.inPreOrder(visited, callback);
-    }
-
-    private abstract class Callback { public abstract void handle(FlowGraphNode<T> node); }
-
-    @Override public String toString()
-    {
-        return String.format("%s: %s", name, data.toString()); //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/ReachingDefsAnalysis.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/ReachingDefsAnalysis.java
deleted file mode 100644
index 1cad692..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/flow/ReachingDefsAnalysis.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.flow;
-
-import java.util.BitSet;
-import java.util.HashMap;
-
-/**
- * Reaching definitions data flow analysis.
- *
- * @author Jeff Overbey
- *
- * @param T type of nodes in the control flow graph
- *
- * @since 3.0
- */
-public abstract class ReachingDefsAnalysis<T>
-{
-    protected final FlowGraph<T> flowGraph;
-    protected final int numDefs;
-
-    private HashMap<FlowGraphNode<T>, BitSet> in;
-
-    /**
-     *
-     * @param flowGraph
-     * @param numDefs
-     */
-    public ReachingDefsAnalysis(FlowGraph<T> flowGraph, int numDefs)
-    {
-        this.flowGraph = flowGraph;
-        this.numDefs = numDefs;
-        this.in = new HashMap<FlowGraphNode<T>, BitSet>();
-    }
-
-    /**
-     *
-     */
-    public void run()
-    {
-        boolean changed;
-        do
-        {
-            changed = false;
-            for (FlowGraphNode<T> node : flowGraph.nodesInReversePostOrder())
-            {
-                //           \  /
-                // in(i) =    \/          gen(j) or ( in(j) and not kill(j) )
-                //        j in preds(i)
-                BitSet newIn = new BitSet(numDefs);
-                for (FlowGraphNode<T> j : node.getPrecedessors())
-                {
-                    BitSet out = new BitSet(numDefs);
-                    out.or(defsReaching(j));
-                    out.andNot(kill(j.getData()));
-
-                    out.or(gen(j.getData()));
-
-                    newIn.or(out);
-                }
-
-                BitSet defs = defsReaching(node);
-                if (!newIn.equals(defs))
-                {
-                    in.put(node, newIn);
-                    changed = true;
-                }
-            }
-        }
-        while (changed);
-    }
-
-    /**
-     *
-     * @param node
-     * @return
-     */
-    public BitSet defsReaching(FlowGraphNode<T> node)
-    {
-        if (in.containsKey(node))
-            return in.get(node);
-        else
-            return new BitSet(numDefs);
-    }
-
-    /**
-     * @param node
-     * @return
-     */
-    protected abstract BitSet gen(T node);
-
-    /**
-     * @param node
-     * @return
-     */
-    protected abstract BitSet kill(T node);
-
-    @Override public String toString()
-    {
-        int nameLen = flowGraph.getMaxNameLength();
-
-        StringBuilder sb = new StringBuilder();
-        for (FlowGraphNode<T> node : flowGraph.nodesInPreOrder())
-            sb.append(String.format("%" + nameLen + "s: %s\n", //$NON-NLS-1$ //$NON-NLS-2$
-                node.getName(),
-                defsReaching(node).toString()));
-        return sb.toString();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/symtab/SymbolTable.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/symtab/SymbolTable.java
deleted file mode 100644
index 6de45fb..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/analysis/symtab/SymbolTable.java
+++ /dev/null
@@ -1,411 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.analysis.symtab;
-
-import java.util.Collections;
-import java.util.ConcurrentModificationException;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.rephraserengine.core.util.TwoKeyHashMap;
-
-/**
- * A simple, generic symbol table with nested scopes.
- * <p>
- * THIS IS PRELIMINARY AND EXPERIMENTAL.  IT IS NOT APPROPRIATE FOR PRODUCTION USE.
- *
- * @author Jeff Overbey
- *
- * @param <N> namespace type
- * @param <S> symbol type
- * 
- * @since 2.0
- */
-public class SymbolTable<N, S>
-{
-    /**
-     * Settings that determine how this symbol table and its children will operate.
-     */
-    public static class Settings<S>
-    {
-        /** Constructor.  See {@link #errorEntry}. */
-        public Settings() { this.errorEntry = null; }
-
-        /** Constructor.  See {@link #errorEntry}. */
-        public Settings(S errorEntry) { this.errorEntry = errorEntry; }
-
-        /**
-         * A (unique) error symbol which will be returned whenever lookup fails.
-         * May be <code>null</code>.
-         * <p>
-         * Failure will always be determined by comparing symbols <i>pointerwise</i>
-         * with this value.
-         * <p>
-         * The value of this field is set via the {@link Settings#Settings(Object)}
-         * constructor.
-         */
-        public final S errorEntry;
-
-        /**
-         * If a lookup fails in this scope, this setting determines whether the
-         * {@link SymbolTable#lookup(Object, String)} method should fail immediately
-         * (<code>false</code>) or if it should attempt to look up the name in an
-         * outer scope (<code>true</code>).
-         */
-        public boolean resolveInOuterScopeIfLookupFails = true;
-
-        /**
-         * This determines whether {@link SymbolTable#enter(Object, String, Object)}
-         * should allow a symbol to be added if it already exists in an outer scope.
-         * <p>
-         * If {@link #resolveInOuterScopeIfLookupFails} is <code>false</code>, this
-         * setting has no effect, since a lookup will never search an outer scope.
-         */
-        public boolean allowShadowing = true;
-
-        /**
-         * This determines whether symbol names are case-sensitive.  If
-         * <code>false</code>, all symbol names will be converted to lower case.
-         */
-        public boolean caseSensitive = true;
-    }
-
-    /**
-     * Settings for this symbol table hierarchy, including what symbol will be
-     * returned when a lookup fails and what scoping rules should apply.
-     */
-    protected final Settings<S> settings;
-
-    /**
-     * Symbol table representing the outer scope, or <code>null</code> if this is the
-     * outermost (global) scope.
-     */
-    protected final SymbolTable<N, S> parent;
-
-    /**
-     * Entries in the scope represented by this symbol table.  Maps a namespace and
-     * a name to a symbol.
-     */
-    protected final TwoKeyHashMap<N, String, S> entries;
-
-    /**
-     * Named scopes contained in this symbol table.  Maps a scope name to a symbol table.
-     */
-    protected final Map<String, SymbolTable<N, S>> namedScopes;
-
-    public SymbolTable()
-    {
-        this.settings = new Settings<S>();
-        this.entries = new TwoKeyHashMap<N, String, S>();
-        this.namedScopes = new HashMap<String, SymbolTable<N, S>>();
-        this.parent = null;
-    }
-
-    public SymbolTable(Settings<S> settings)
-    {
-        assert settings != null;
-
-        this.settings = settings;
-        this.entries = new TwoKeyHashMap<N, String, S>();
-        this.namedScopes = new HashMap<String, SymbolTable<N, S>>();
-        this.parent = null;
-    }
-
-    public SymbolTable(SymbolTable<N, S> parent)
-    {
-        assert parent != null;
-
-        this.settings = parent.settings;
-        this.entries = new TwoKeyHashMap<N, String, S>();
-        this.namedScopes = new HashMap<String, SymbolTable<N, S>>();
-        this.parent = parent;
-    }
-
-    protected String canonicalize(String name)
-    {
-        assert name != null;
-
-        if (settings.caseSensitive)
-            return name;
-        else
-            return name.toLowerCase();
-    }
-
-    /**
-     * Looks up the given name in the given namespace.
-     *
-     * @param namespace
-     * @param name
-     * @return the corresponding symbol, or {@link Settings#errorEntry} if the symbol
-     *         cannot be found
-     */
-    public S lookup(N namespace, String name)
-    {
-        assert namespace != null && name != null;
-
-        name = canonicalize(name);
-
-        if (entries.containsEntry(namespace, name))
-            return entries.getEntry(namespace, name);
-        else if (parent != null && settings.resolveInOuterScopeIfLookupFails)
-            return parent.lookup(namespace, name);
-        else
-            return settings.errorEntry;
-    }
-
-    /**
-     * @return <code>true</code> iff {@link #lookup(Object, String)} will succeed
-     *         for the given namespace and name
-     */
-    public boolean contains(N namespace, String name)
-    {
-        assert namespace != null && name != null;
-
-        return lookup(namespace, name) != settings.errorEntry;
-    }
-
-    /**
-     * Adds an entry to the symbol type for the given name in the given namespace.
-     *
-     * @param namespace
-     * @param name
-     * @param symbol
-     * @return the symbol iff entry succeeds, or <code>null</code> if the symbol
-     *         cannot be added because it will conflict with an existing symbol
-     */
-    public S enter(N namespace, String name, S symbol)
-    {
-        assert namespace != null && name != null && symbol != null;
-
-        name = canonicalize(name);
-
-        if (!canEnter(namespace, name))
-            return null;
-        else
-            return entries.put(namespace, name, symbol);
-    }
-
-    /**
-     * Adds an entry to the symbol type if there is not already a symbol for the
-     * given name in the given namespace; otherwise, returns the existing symbol.
-     *
-     * @param namespace
-     * @param name
-     * @param symbol
-     * @return the symbol corresponding to the given name in the given namespace
-     */
-    public S ensure(N namespace, String name, S symbol)
-    {
-        assert namespace != null && name != null && symbol != null;
-
-        name = canonicalize(name);
-
-        if (!canEnter(namespace, name))
-            return lookup(namespace, name);
-        else
-            return entries.put(namespace, name, symbol);
-    }
-
-    /**
-     * @return <code>true</code> iff {@link #enter(Object, String, Object)} will
-     *         succeed for the given namespace and name
-     */
-    public boolean canEnter(N namespace, String name)
-    {
-        assert namespace != null && name != null;
-
-        name = canonicalize(name);
-
-        if (entries.containsEntry(namespace, name))
-            return false;
-        else if (parent != null && settings.resolveInOuterScopeIfLookupFails)
-            return settings.allowShadowing || parent.lookup(namespace, name) == settings.errorEntry;
-        else
-            return true;
-    }
-
-    /**
-     * Returns a new symbol table for a child scope of this scope (i.e., a nested
-     * scope).
-     * <p>
-     * Note that this does not modify this {@link SymbolTable} object; the correct
-     * usage is <code>symtab = symtab.enterScope()</code>.
-     *
-     * @return a new symbol table for a child scope of this scope
-     */
-    public SymbolTable<N, S> enterScope()
-    {
-        return new SymbolTable<N, S>(this);
-    }
-
-    /**
-     * Returns a new symbol table for a child scope of this scope (i.e., a nested
-     * scope).
-     * <p>
-     * Note that this does not modify this {@link SymbolTable} object; the correct
-     * usage is <code>symtab = symtab.enterScope()</code>.
-     *
-     * @return a new symbol table for a child scope of this scope
-     */
-    public SymbolTable<N, S> enterNamedScope(String name)
-    {
-        SymbolTable<N, S> namedScope = enterScope();
-        namedScopes.put(name, namedScope);
-        return namedScope;
-    }
-
-    /**
-     * Returns the symbol table for the parent scope of this scope (i.e., the next
-     * outermost scope).
-     * <p>
-     * Note that this does not modify this {@link SymbolTable} object; the correct
-     * usage is <code>symtab = symtab.exitScope()</code>.
-     *
-     * @return the symbol table for the parent scope of this scope, or
-     *         <code>null</code> iff this symbol table has no parent (i.e., it
-     *         represents the outermost scope)
-     */
-    public SymbolTable<N, S> exitScope()
-    {
-        return parent;
-    }
-
-    /**
-     * Returns a map containing all of the entries in the given namespace that
-     * are defined in this scope.
-     * <p>
-     * This does <i>not</i> include any entries inherited from the parent scope.
-     * <p>
-     * An an API policy, this map may or may not be backed by the map supporting
-     * this symbol table.  Therefore, it must not be modified, and the symbol
-     * table must not be modified while iterating through the map (to prevent
-     * {@link ConcurrentModificationException}s).
-     *
-     * @param namespace
-     * @return a mapping from (canonicalized) symbol names to symbols
-     */
-    public Map<String, S> getLocalEntriesIn(N namespace)
-    {
-        Map<String, S> result = entries.getAllEntriesFor(namespace);
-
-        if (result == null)
-            return Collections.<String, S>emptyMap();
-        else
-            return result;
-    }
-
-    /**
-     * Returns the symbol table for the outermost scope containing this scope (i.e.,
-     * the ancester symbol table with a <code>null</code> parent symbol table).
-     * <p>
-     * Note that this does not modify this {@link SymbolTable} object; the most
-     * common usage is <code>symtab.outermostScope().enter(...)</code>.
-     *
-     * @return the symbol table for the parent scope of this scope
-     */
-    public SymbolTable<N, S> outermostScope()
-    {
-        if (parent == null)
-            return this;
-        else
-            return parent.outermostScope();
-    }
-    
-    /**
-     * Returns the symbol table corresponding to the given named scope.
-     * 
-     * @return the symbol table associated with the named scope <code>scopeName</code>, or
-     *         <code>null</code> iff no such named scope exists
-     * 
-     * @since 3.0
-     */
-    public SymbolTable<N, S> getNamedScope(String scopeName)
-    {
-        if (namedScopes != null)
-            return namedScopes.get(scopeName);
-        else
-            return null;
-    }
-
-    /**
-     * Returns the nested symbol table found by traversing successively deeper named scopes, using
-     * the given sequence of scope names.
-     * 
-     * @return the symbol table corresponding to
-     *         <code>getNamedScope(scopeNames[0]).getNamedScope(scopeNames[1]).getNamedScope(scopeNames[2])</code>
-     *         ..., or <code>null</code> iff no such named scope exists
-     * 
-     * @since 3.0
-     */
-    public SymbolTable<N, S> getNestedNamedScope(String... scopeNames)
-    {
-        SymbolTable<N, S> result = this;
-        for (String scopeName : scopeNames)
-           if (!scopeName.trim().equals("") && result != null) //$NON-NLS-1$
-               result = result.getNamedScope(scopeName);
-        return result;
-    }
-    
-    /**
-     * Returns the symbol table containing the given named scope.
-     * 
-     * @return the symbol table containing the given named scope,
-     *         or <code>null</code> iff no such named scope exists
-     * 
-     * @since 3.0
-     */
-    public SymbolTable<N, S> getStartingScope(String scopeName)
-    {
-        assert scopeName != null;
-
-        if (namedScopes != null && namedScopes.get(scopeName) != null)
-            return this;
-        else if (settings.resolveInOuterScopeIfLookupFails)
-            return parent.getStartingScope(scopeName);
-        else
-            return null;
-    }
-
-    @Override public String toString()
-    {
-        StringBuilder sb = new StringBuilder();
-
-        for (N namespace : entries.keySet())
-        {
-            sb.append(namespace.toString().toUpperCase() + " NAMESPACE:\n"); //$NON-NLS-1$
-
-            for (String name : entries.getAllEntriesFor(namespace).keySet())
-                sb.append("    " + name + " -> " + entries.getEntry(namespace, name) + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-            sb.append("\n"); //$NON-NLS-1$
-        }
-
-        if (!namedScopes.isEmpty())
-        {
-            sb.append("This symbol table contains the following named scopes:\n"); //$NON-NLS-1$
-
-            for (String name : namedScopes.keySet())
-            {
-                sb.append("    "); //$NON-NLS-1$
-                sb.append(name);
-                sb.append("\n"); //$NON-NLS-1$
-            }
-        }
-
-        if (parent != null)
-        {
-            sb.append("\n\n==================== PARENT ====================\n"); //$NON-NLS-1$
-            sb.append(parent.toString());
-        }
-
-        return sb.toString();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/DefaultResourceFilter.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/DefaultResourceFilter.java
deleted file mode 100644
index 0806ca5..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/DefaultResourceFilter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.resources;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * A resource filter that accepts all resources, as long as they are accessible.
- *
- * @author Jeff Overbey
- *
- * @see IResourceFilter
- * @see IResource#isAccessible()
- * 
- * @since 1.0
- */
-public class DefaultResourceFilter implements IResourceFilter
-{
-    public boolean shouldProcess(IResource resource)
-    {
-       return resource.isAccessible();
-    }
-    
-    public String getError(IResource resource)
-    {
-        return Messages.bind(Messages.DefaultResourceFilter_ResourceIsNotAccessible,
-                             resource.getName());
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/IResourceFilter.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/IResourceFilter.java
deleted file mode 100644
index 090d5fe..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/IResourceFilter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.resources;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * A <i>resource filter</i> is given an {@link IResource} and determines whether or not it should be
- * processed.
- * <p>
- * Resource filters are used by the refactoring components to determine what types of files and
- * projects a set of refactorings can be applied to; this is used to determine, based on what
- * file(s) the user has selected, which refactoring(s) will be shown in the Refactor menu.
- * <p>
- * Resource filters are used by the VPG to determine what projects and what types of files in those
- * projects will be indexed, i.e., what projects and files will have data stored in the VPG
- * database.
- *
- * @author Jeff Overbey
- * 
- * @since 1.0
- */
-public interface IResourceFilter
-{
-    /** @return true iff this resource can and should be processed */
-    boolean shouldProcess(IResource resource);
-
-    /**
-     * As a precondition, this method will only be invoked if {@link #shouldProcess(IResource)}
-     * recently returned <code>false</code> for the given resource.
-     * 
-     * @return an error message, if the given resource has been filtered out due to an error
-     * condition, or <code>null</code> otherwise.  The error message will be displayed to the user,
-     * so it may also be useful to describe what the user can do to fix the error.
-     */
-    String getError(IResource resource);
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/Messages.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/Messages.java
deleted file mode 100644
index ccf2561..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/Messages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.resources;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- * 
- * @since 2.0
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.core.resources.messages"; //$NON-NLS-1$
-
-    public static String DefaultResourceFilter_ResourceIsNotAccessible;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/messages.properties b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/messages.properties
deleted file mode 100644
index ad5eff5..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/resources/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-DefaultResourceFilter_ResourceIsNotAccessible=The resource ({0}) is not accessible.
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/LRUCache.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/LRUCache.java
deleted file mode 100644
index b21482f..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/LRUCache.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.util;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * A cache that holds a finite number of entries and removes the least recently used
- * entry when it becomes filled beyond this fixed capacity.
- * <p>
- * The underlying data structure is a {@link HashMap}: entries in the cache have a
- * key and a value.
- * 
- * @author Jeff Overbey
- * 
- * @since 3.0
- */
-public class LRUCache<T, U>
-{
-    protected final int cacheSize;
-    
-    protected final Map<T, U> cache;
-    protected final List<T> lruKeys;
-    
-    public LRUCache(int cacheSize)
-    {
-        this.cacheSize = cacheSize;
-        this.cache = new HashMap<T, U>(cacheSize);
-        this.lruKeys = new LinkedList<T>();
-    }
-    
-    public boolean contains(T key)
-    {
-        return cache.containsKey(key);
-    }
-    
-    public U get(T key)
-    {
-        if (lruKeys.get(0) != key) // Pointer comparison
-        {
-            if (!this.lruKeys.remove(key)) return null;
-            lruKeys.add(0, key);
-        }
-        
-        return cache.get(key);
-    }
-
-    public void clear()
-    {
-        cache.clear();
-        lruKeys.clear();
-    }
-
-    public void cache(T key, U value)
-    {
-        if (cacheIsFull())
-            removeLeastRecentlyUsedFromCache();
-        
-        cache.put(key, value);
-        lruKeys.add(key);
-    }
-    
-    private boolean cacheIsFull()
-    {
-        return cache.size() == cacheSize;
-    }
-
-    protected void removeLeastRecentlyUsedFromCache()
-    {
-        T lru = lruKeys.remove(0);
-        cache.remove(lru);
-    }
-
-    public void remove(T key)
-    {
-        lruKeys.remove(key);
-        cache.remove(key);
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/MathUtil.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/MathUtil.java
deleted file mode 100644
index f838e10..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/MathUtil.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.util;
-
-/**
- * Collection of assorted math routines.
- * 
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-public class MathUtil
-{
-    private MathUtil() {;}
-    
-    /** @return the binomial coefficient <i>C(n, k)</i> */
-    public static long binomialCoefficient(int n, int k)
-    {
-        if (k > n) return 0;
-
-        long result = 1;
-        for (int i = 1; i <= k; i++)
-             result = result * (n-k+i) / i;
-        return result;
-    }
-    
-    /** @return the <i>n!</i> */
-    public static long factorial(int n)
-    {
-        if (n < 0) throw new IllegalArgumentException();
-        if (n < 2) return 1;
-
-        long result = 1;
-        for (int i = n; i >= 2; i--)
-             result *= i;
-        return result;
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Messages.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Messages.java
deleted file mode 100644
index ff277a2..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Messages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.util;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- * 
- * @since 2.0
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.core.util.messages"; //$NON-NLS-1$
-
-    public static String Spawner_ProcessExitedAbnormally;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/OffsetLength.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/OffsetLength.java
deleted file mode 100644
index 014ffaf..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/OffsetLength.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.util;
-
-
-/**
- * An <b>offset</b> and a <b>length</b> (simply two integers, typically non-negative).
- * <p>
- * <code>OffsetLength</code>s are frequently used to store the location of a particular range of
- * text in a file.
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-public final class OffsetLength
-{
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Static Methods
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    /** @return the offset of the first character beyond this region */
-    public static int getPositionPastEnd(int offset, int length)
-    {
-        return offset + Math.max(length, 1);
-    }
-
-    /** @return true iff every character in the "other" region is also in "this" region */
-    public static boolean contains(int thisOffset, int thisLength, int otherOffset, int otherLength)
-    {
-        return thisOffset <= otherOffset
-            && getPositionPastEnd(otherOffset, otherLength) <= getPositionPastEnd(thisOffset, thisLength);
-    }
-
-    /** @return true iff every character in the "other" region is also in "this" region */
-    public static boolean contains(int thisOffset, int thisLength, OffsetLength other)
-    {
-        return other != null && contains(thisOffset, thisLength, other.offset, other.length);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Fields
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    private int offset = 0, length = 0;
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Constructor
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    /** Creates an <code>OffsetLength</code> with the given offset and length */
-    public OffsetLength(int offset, int length)
-    {
-        this.offset = offset;
-        this.length = length;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Basic Accessor/Mutator Methods
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    /** @return the offset */
-    public int getOffset()
-    {
-        return offset;
-    }
-
-    /** Sets the offset */
-    public void setOffset(int offset)
-    {
-        this.offset = Math.max(offset, 0);
-    }
-
-    /** @return the length */
-    public int getLength()
-    {
-        return length;
-    }
-
-    /** Sets the length */
-    public void setLength(int length)
-    {
-        this.length = Math.max(length, 0);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Computed Accessor Methods
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    /** @return the offset of the first character beyond this region */
-   public int getPositionPastEnd()
-    {
-        return getPositionPastEnd(offset, length);
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // Inquiry & Comparison Methods
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-   /**
-    * @return true iff the offset and length are both non-negative, i.e., this
-    *         represents a plausible region of text
-    * @since 2.0
-    */
-   public boolean isValid()
-   {
-       return this.offset >= 0 && this.length >= 0;
-   }
-
-   /** @return true iff every character in the "other" region is also in this region */
-    public boolean contains(OffsetLength other)
-    {
-        return contains(this.offset, this.length, other);
-    }
-
-    /** @return true iff both the offset and length are equal to those of the supplied <code>OffsetLength</code> */
-    @Override public boolean equals(Object o)
-    {
-        if (o == null || !this.getClass().equals(o.getClass())) return false;
-
-        OffsetLength other = (OffsetLength)o;
-        return this.offset == other.offset && this.length == other.length;
-    }
-
-    @Override public int hashCode()
-    {
-        return 19 * offset + length;
-    }
-
-    /** @return true iff this offset is greater than or equal to the target offset */
-    public boolean isOnOrAfter(int targetOffset)
-    {
-        return this.offset >= targetOffset;
-    }
-
-    /** @return true iff this offset is less than the target offset */
-    public boolean isBefore(int targetOffset)
-    {
-        return this.offset < targetOffset;
-    }
-
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    // toString
-    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-    @Override public String toString()
-    {
-        return "offset " + offset + ", length " + length; //$NON-NLS-1$ //$NON-NLS-2$
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Pair.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Pair.java
deleted file mode 100644
index 3412577..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Pair.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.util;
-
-/**
- * An ordered pair <i>(fst, snd)</i>.
- * 
- * @author Jeff Overbey
- * 
- * @param <T>
- * @param <U>
- * 
- * @since 2.0
- */
-public final class Pair<T, U>
-{
-    /** Factory method */
-    public static <X, Y> Pair<X, Y> of(X fst, Y snd)
-    {
-        return new Pair<X, Y>(fst, snd);
-    }
-    
-    public final T fst;
-    public final U snd;
-
-    public Pair(T fst, U snd)
-    {
-        this.fst = fst;
-        this.snd = snd;
-    }
-    
-    @Override public int hashCode()
-    {
-        return hashCode(this.fst) * 19 + hashCode(this.snd);
-    }
-    
-    private int hashCode(Object o)
-    {
-        if (o == null)
-            return 0;
-        else
-            return o.hashCode();
-    }
-
-    @Override public boolean equals(Object obj)
-    {
-        if (obj == null || !obj.getClass().equals(this.getClass())) return false;
-        
-        Pair<?,?> that = (Pair<?,?>)obj;
-        return equals(this.fst, that.fst) && equals(this.snd, that.snd);
-    }
-    
-    protected boolean equals(Object o1, Object o2)
-    {
-        if (o1 == null && o2 == null)
-            return true;
-        else if (o1 != null && o2 != null && o1.equals(o2))
-            return true;
-        else
-            return false;
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/ReverseIterator.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/ReverseIterator.java
deleted file mode 100644
index 3c7bd30..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/ReverseIterator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.util;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-/**
- * An {@link Iterator} that traverses a {@link List} in reverse order.
- *
- * @author Jeff Overbey
- *
- * @since 3.0
- */
-public class ReverseIterator<T> implements Iterator<T>
-{
-    private final ListIterator<T> it;
-
-    public ReverseIterator(List<T> list)
-    {
-        this.it = list.listIterator(list.size());
-    }
-
-    public boolean hasNext()
-    {
-        return it.hasPrevious();
-    }
-
-    public T next()
-    {
-        return it.previous();
-    }
-
-    public void remove()
-    {
-        it.remove();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/SetOfPairs.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/SetOfPairs.java
deleted file mode 100644
index fec8cd4..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/SetOfPairs.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.util;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-
-/**
- * A set of <i>(key, value)</i> pairs where many pairs are expected to have the same key.
- * <p>
- * Internally, the pairs are stored as a <code>HashMap<K, HashSet<V>></code>.
- * @author Jeff Overbey
- * @since 3.0
- */
-public class SetOfPairs<K, V> implements Cloneable
-{
-    protected final HashMap<K, HashSet<V>> data = new HashMap<K, HashSet<V>>();
-
-    public void clear()
-    {
-        data.clear();
-    }
-    
-    public void add(K key, V value)
-    {
-        if (!data.containsKey(key))
-            data.put(key, new HashSet<V>());
-
-        data.get(key).add(value);
-
-    }
-
-    public void remove(K key)
-    {
-        data.remove(key);
-    }
-    
-    public boolean contains(K key, V value)
-    {
-        return data.containsKey(key) && data.get(key).contains(value);
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override public SetOfPairs<K, V> clone()
-    {
-        try
-        {
-            SetOfPairs<K, V> clone = (SetOfPairs<K, V>)super.clone();
-            for (K filename : clone.data.keySet())
-                clone.data.put(filename, (HashSet<V>)clone.data.get(filename).clone());
-            return clone;
-        }
-        catch (CloneNotSupportedException e)
-        {
-            throw new Error(e);
-        }
-    }
-    
-    @Override public String toString()
-    {
-        StringBuilder sb = new StringBuilder();
-        sb.append("["); //$NON-NLS-1$
-        for (K key : data.keySet())
-        {
-            Iterator<V> valueIt = data.get(key).iterator();
-            sb.append("(" + key + "," + valueIt.next() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-            while (valueIt.hasNext())
-            {
-                sb.append(", "); //$NON-NLS-1$
-                sb.append("(" + key + "," + valueIt.next() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-            }
-        }
-        sb.append("]"); //$NON-NLS-1$
-        return sb.toString();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Spawner.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Spawner.java
deleted file mode 100644
index f7cafa4..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Spawner.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.util;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Utility class with static methods to run a command line program and return its output.
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-public final class Spawner
-{
-    /**
-     * If the spawner exits with an error status, this determines whether the output will be dumped
-     * to standard error before an exception is thrown.
-     * 
-     * @since 3.0
-     */
-    public static boolean SHOW_OUTPUT_ON_ERROR = true;
-    
-    private Spawner() {}
-
-    /**
-     * Attempts to run the given operating system program+arguments in the current working directory.
-     * @return the process's combined output to standard output and standard error
-     * @throws Exception if the process exits with a nonzero exit code
-     */
-    public static String run(String... args) throws Exception
-    {
-        return run(null, Arrays.asList(args));
-    }
-
-    /**
-     * Attempts to run the given operating system program+arguments in the current working directory.
-     * @return the process's combined output to standard output and standard error
-     * @throws Exception if the process exits with a nonzero exit code
-     */
-    public static String run(List<String> args) throws Exception
-    {
-        return run(null, args);
-    }
-
-    /**
-     * Attempts to run the given operating system program+arguments in the given working directory.
-     * @return the process's combined output to standard output and standard error
-     * @throws Exception if the process exits with a nonzero exit code
-     */
-    public static String run(File workingDirectory, String... args) throws Exception
-    {
-        return run(workingDirectory, Arrays.asList(args));
-    }
-
-    /**
-     * Attempts to run the given operating system program+arguments in the given working directory.
-     * @return the process's combined output to standard output and standard error
-     * @throws Exception if the process exits with a nonzero exit code
-     */
-    public static String run(File workingDirectory, List<String> args) throws Exception
-    {
-        ProcessBuilder builder = new ProcessBuilder(args);
-        builder.directory(workingDirectory);
-        builder.redirectErrorStream(true);
-        Process process = builder.start();
-        ConcurrentReader output = new ConcurrentReader(process.getInputStream());
-        synchronized (output)
-        {
-            output.start();
-            int exitCode = process.waitFor();
-            if (exitCode != 0)
-            {
-                if (SHOW_OUTPUT_ON_ERROR)
-                    System.err.println(output.toString());
-                throw new Exception(
-                    Messages.bind(Messages.Spawner_ProcessExitedAbnormally,
-                                  exitCode,
-                                  output.toString()));
-            }
-            waitFor(output);
-        }
-        return output.toString();
-    }
-
-    private static void waitFor(ConcurrentReader output)
-    {
-        try
-        {
-            output.wait();
-        }
-        catch (InterruptedException e)
-        {
-        }
-    }
-
-    private static class ConcurrentReader extends Thread
-    {
-        private InputStream stdout;
-        private StringBuilder sb;
-
-        public ConcurrentReader(InputStream stdout)
-        {
-            this.stdout = stdout;
-            this.sb = new StringBuilder();
-        }
-
-        @Override public void run()
-        {
-            BufferedReader in = new BufferedReader(new InputStreamReader(stdout));
-            try
-            {
-                for (String line = in.readLine(); line != null; line = in.readLine())
-                {
-                    sb.append(line);
-                    sb.append('\n');
-                }
-                done();
-            }
-            catch (IOException e)
-            {
-                sb.append(e.toString());
-            }
-            finally
-            {
-                try
-                {
-                    in.close();
-                }
-                catch (IOException e)
-                {
-                    sb.append(e.toString());
-                }
-            }
-        }
-
-        private synchronized void done()
-        {
-            notifyAll();
-        }
-
-        @Override public String toString()
-        {
-            return sb.toString();
-        }
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/StringUtil.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/StringUtil.java
deleted file mode 100644
index bf3c9c9..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/StringUtil.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.util;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Utility methods for working with strings.
- * 
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-public class StringUtil
-{
-    private StringUtil() {;}
-    
-    public static long countLines(String s)
-    {
-        if (s.length() == 0) return 0L;
-
-        long numLines = 1L;
-        int lastIndex = 0;
-        int nextIndex = s.indexOf('\n');
-        while (nextIndex >= 0)
-        {
-            numLines++;
-            lastIndex = nextIndex;
-            if (lastIndex + 1 >= s.length())
-                nextIndex = -1;
-            else
-                nextIndex = s.indexOf('\n', lastIndex + 1);
-        }
-        return numLines;
-    }
-
-    public static String read(Reader in) throws IOException
-    {
-        StringBuilder sb = new StringBuilder();
-        for (int ch = in.read(); ch >= 0; ch = in.read())
-        {
-            sb.append((char)ch);
-        }
-        in.close();
-        return sb.toString();
-    }
-    
-    public static String read(InputStream in) throws IOException
-    {
-        return read(new InputStreamReader(in));
-    }
-    
-    public static String read(IFile file) throws IOException, CoreException
-    {
-        return read(new BufferedReader(new InputStreamReader(file.getContents(true), file.getCharset())));
-    }
-
-    public static String read(File file) throws IOException
-    {
-        return read(new BufferedReader(new FileReader(file)));
-    }
-
-    public static String readOrReturnNull(IFile file)
-    {
-        try
-        {
-            return read(file);
-        }
-        catch (Exception e)
-        {
-            return null;
-        }
-    }
-
-    /**
-     * Returns the (0-based) offset of the character at the given (1-based) line and column.
-     * @param line the line number (the first line is line 1) 
-     * @param col the column number (the first column is column 1)
-     * @return the character offset (the first character is at offset 0)
-     */
-    public static int offsetOf(int line, int col, String string)
-    {
-        assert line >= 1 && col >= 1 && string != null;
-        
-        int offset = offsetOfLine(line, string);
-        if (offset < 0)
-            return -1;
-        else
-            return offset + col - 1;
-    }
-
-    /**
-     * Returns the (0-based) offset of the first character on the given (1-based) line.
-     * @param line the line number (the first line is line 1) 
-     * @return the character offset (the first character is at offset 0)
-     */
-    public static int offsetOfLine(int line, String string)
-    {
-        assert line >= 1 && string != null;
-
-        if (line == 1) return 0;
-
-        int precedingLF = -1;
-        int curLine = 1;
-        while (precedingLF >= 0 || curLine == 1)
-        {
-            precedingLF = string.indexOf('\n', precedingLF+1);
-            curLine++;
-            if (curLine == line) return precedingLF < 0 ? -1 : precedingLF+1;
-        }
-        
-        return -1;
-    }
-
-    public static String stripNonASCIICharsAndCRs(String s)
-    {
-        return stripNonASCIIChars(s, true);
-    }
-
-    public static String stripNonASCIIChars(String s)
-    {
-        return stripNonASCIIChars(s, false);
-    }
-
-    protected static String stripNonASCIIChars(String s, boolean stripCRs)
-    {
-        StringBuilder sb = new StringBuilder(s.length());
-        for (int i = 0, len = s.length(); i < len; i++)
-        {
-            char ch = s.charAt(i);
-            if (stripCRs && i == '\r')
-                continue;
-            else if (i < 256)
-                sb.append(ch);
-            else
-                sb.append('?');
-        }
-        return sb.toString();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TokenList.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TokenList.java
deleted file mode 100644
index 381bd23..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TokenList.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.util;
-
-import java.util.Iterator;
-
-/**
- * Maintains a list of all of the tokens in a program, allowing them to be
- * located quickly by offset.
- * 
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-public abstract class TokenList<T> implements Iterable<T>
-{
-    private T[] array;
-    private int size;
-    
-    public TokenList()
-    {
-    	this.array = internalCreateTokenArray(4096); // Heuristic
-    	this.size = 0;
-    }
-
-    protected abstract T[] createTokenArray(int size);
-    
-    protected abstract int getStreamOffset(T token);
-    
-    protected abstract int getLength(T token);
-    
-    protected abstract int getLine(T token);
-
-    private T[] internalCreateTokenArray(int size)
-    {
-        T[] result = createTokenArray(size);
-        
-        if (result.length != size)
-            throw new IllegalStateException(
-                "TokenList#createTokenArray is not implemented correctly.  It was " + //$NON-NLS-1$
-                "asked to create an array of length " + size + ", but it created " + //$NON-NLS-1$ //$NON-NLS-2$
-                "an array of length " + result.length + " instead."); //$NON-NLS-1$ //$NON-NLS-2$
-        
-        return result;
-    }
-
-    public void add(T token)
-    {
-        ensureCapacity();
-        array[size++] = token;
-    }
-
-    private void ensureCapacity()
-    {
-        if (size == array.length) expandArray();
-    }
-
-    private void expandArray()
-    {
-        T[] newTokenArray = internalCreateTokenArray(array.length*2);
-        System.arraycopy(array, 0, newTokenArray, 0, array.length);
-        array = newTokenArray;
-    }
-    
-    public void add(int index, T token)
-    {
-        if (index < 0 || index > size) throw new IllegalArgumentException("Invalid index " + index); //$NON-NLS-1$
-        
-        ensureCapacity();
-        for (int i = size; i >= index; i--)
-            array[i+1] = array[i];
-        array[index] = token;
-        size++;
-    }
-
-    public boolean remove(T tokenToRemove)
-    {
-        int index = find(tokenToRemove);
-        return index < 0 ? false : remove(index);
-    }
-    
-    public boolean remove(int index)
-    {
-        if (index < 0 || index >= size) throw new IllegalArgumentException("Invalid index " + index); //$NON-NLS-1$
-        
-        for (int i = index + 1; i < size; i++)
-            array[i-1] = array[i];
-        size--;
-        return true;
-    }
-    
-    public T get(int index)
-    {
-        if (index < 0 || index >= size) throw new IllegalArgumentException("Invalid index " + index); //$NON-NLS-1$
-
-        return array[index];
-    }
-    
-    public int size()
-    {
-    	return size;
-    }
-    
-    public int find(T token)
-    {
-        for (int i = 0; i < size; i++)
-            if (array[i].equals(token))
-                return i;
-        return -1;
-    }
-    
-    public T findTokenContainingStreamOffset(int offset)
-    {
-        int low = 0, high = size - 1;
-        for (int mid = (high+low)/2; low <= high; mid = (high+low)/2)
-        {
-            int value = getStreamOffset(array[mid]);
-            if (value <= offset && offset < value+getLength(array[mid]))
-                return array[mid];
-            else if (offset > value)
-                low = mid + 1;
-            else // (offset < value)
-                high = mid - 1;
-        }
-        return null;
-    }
-    
-    public T findStreamOffsetLength(int offset, int length)
-    {
-        int low = 0, high = size - 1;
-        for (int mid = (high+low)/2; low <= high; mid = (high+low)/2)
-        {
-            int value = getStreamOffset(array[mid]);
-            if (offset > value)
-                low = mid + 1;
-            else if (offset < value)
-                high = mid - 1;
-            else // (value == offset)
-                return getLength(array[mid]) == length ? array[mid] : null;
-        }
-        return null;
-    }
-    
-    public T findFirstTokenOnLine(int line)
-    {
-        int index = findIndexOfAnyTokenOnLine(line);
-        if (index < 0) return null;
-        while (index > 0 && getLine(array[index-1]) == line)
-            index--;
-        return array[index];
-    }
-    
-    /**
-     * @since 3.0
-     */
-    public T findFirstTokenOnOrAfterLine(int line)
-    {
-        T result = findFirstTokenOnLine(line);
-        if (result != null)
-            return result;
-        else
-        {
-            for (int index = 0; index < size; index++)
-                if (getLine(array[index]) >= line)
-                    return array[index];
-            return null;
-        }
-    }
-
-    private int findIndexOfAnyTokenOnLine(int line)
-    {
-        int low = 0, high = size - 1;
-        for (int mid = (high+low)/2; low <= high; mid = (high+low)/2)
-        {
-            int value = getLine(array[mid]);
-            if (line > value)
-                low = mid + 1;
-            else if (line < value)
-                high = mid - 1;
-            else // (value == offset)
-                return mid;
-        }
-        return -1;
-    }
-    
-    public T findLastTokenOnLine(int line)
-    {
-        int index = findIndexOfAnyTokenOnLine(line);
-        if (index < 0) return null;
-        while (index+1 < size && getLine(array[index+1]) == line)
-            index++;
-        return array[index];
-    }
-    
-    /**
-     * @since 3.0
-     */
-    public T findLastTokenOnOrBeforeLine(int line)
-    {
-        T result = findLastTokenOnLine(line);
-        if (result != null)
-            return result;
-        else
-        {
-            for (int index = 0; index < size; index++)
-            {
-                if (getLine(array[index]) > line)
-                {
-                    if (index == 0)
-                        return null;
-                    else
-                        return array[index-1];
-                }
-            }
-            return array[size-1];
-        }
-    }
-
-    public Iterator<T> iterator()
-    {
-        return new Iterator<T>()
-        {
-            int index = 0;
-            
-            public boolean hasNext()
-            {
-                return index < size;
-            }
-
-            public T next()
-            {
-                return index < size ? array[index++] : null;
-            }
-
-            public void remove()
-            {
-                throw new UnsupportedOperationException();
-            }
-        };
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TwoKeyHashMap.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TwoKeyHashMap.java
deleted file mode 100644
index 48c4f0b..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TwoKeyHashMap.java
+++ /dev/null
@@ -1,264 +0,0 @@
-package org.eclipse.rephraserengine.core.util;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-import java.util.Set;
-
-/**
- * This is essentially a table -- a big block of cells indexed by row and column.
- * 
- * @author Jeff Overbey
- * @author Esfar Huq
- * @author Rui Wang -- added method clone()
- * 
- * @param <RowType>
- * @param <ColType>
- * @param <CellType>
- * 
- * @since 2.0
- */
-@SuppressWarnings("serial")
-public final class TwoKeyHashMap<RowType, ColType, CellType> implements Iterable<CellType>, Serializable
-{
-    protected HashMap<RowType, HashMap<ColType, CellType>> table = new HashMap<RowType, HashMap<ColType, CellType>>();
-
-    /**
-     * Add an entry, or if one already exists, replace it.
-     * @param k1 - First key
-     * @param k2
-     * @param v
-     */
-    public CellType put(RowType k1, ColType k2, CellType v)
-    {
-        // Map the first key...
-        if (!table.containsKey(k1)) table.put(k1, new HashMap<ColType, CellType>());
-        HashMap<ColType, CellType> thisRow = table.get(k1);
-
-        // ...and the second one to the table entry
-        thisRow.put(k2, v);
-        
-        return v;
-    }
-
-    /**
-     * Retrieve the entry keyed by the given symbols.
-     * @param k1
-     * @param k2
-     * @return value
-     */
-    public CellType getEntry(RowType k1, ColType k2)
-    {
-        // Map the first key (row ID)...
-        if (!table.containsKey(k1)) return null;
-        HashMap<ColType, CellType> thisRow = table.get(k1);
-
-        // ...and the second one (column ID)...
-        if (!thisRow.containsKey(k2)) return null;
-
-        // ...to the table entry
-        return thisRow.get(k2);
-    }
-
-    /**
-     * Retrieve all entries keyed by the given symbol.
-     * @param k1
-     * @return value
-     */
-    public HashMap<ColType, CellType> getAllEntriesFor(RowType k1)
-    {
-        // Map the first key (row ID)...
-        if (!table.containsKey(k1)) return null;
-        return table.get(k1);
-    }
-
-    /**
-     * @return a <code>Set</code> of all of the (first) keys. Use <code>getAllEntriesFor</code> to get the corresponding entries.
-     */
-    public Set<RowType> keySet()
-    {
-        return table.keySet();
-    }
-
-    /**
-     * Returns true iff the entry keyed by the given symbols is not null (i.e., returns true if there is no entry keyed by the given symbols).
-     * @param k1
-     * @param k2
-     * @return boolean
-     */
-    public boolean containsEntry(RowType k1, ColType k2)
-    {
-        return getEntry(k1, k2) != null;
-    }
-
-    /**
-     * Removes all entries.
-     */
-    public void clear()
-    {
-        table.clear();
-    }
-
-    /**
-     * Removes all entries keyed by the given value.
-     * @param key
-     */
-    public void remove(RowType key)
-    {
-        table.remove(key);
-    }
-
-    /**
-     * Removes all entries keyed by the given values.
-     * @param k1
-     * @param k2
-     */
-    public void remove(RowType k1, ColType k2)
-    {
-        if (table.containsKey(k1)) table.get(k1).remove(k2);
-    }
-
-    @Override public String toString()
-    {
-        StringBuffer sb = new StringBuffer();
-        sb.append("{"); //$NON-NLS-1$
-        for (RowType r : table.keySet())
-        {
-            HashMap<ColType, CellType> thisRow = table.get(r);
-            if (thisRow != null)
-            {
-                for (ColType c : thisRow.keySet())
-                {
-                    sb.append("   "); //$NON-NLS-1$
-                    sb.append("("); //$NON-NLS-1$
-                    sb.append(r);
-                    sb.append(", "); //$NON-NLS-1$
-                    sb.append(c);
-                    sb.append(") ==> "); //$NON-NLS-1$
-                    sb.append(thisRow.get(c));
-                }
-            }
-        }
-        sb.append("   }"); //$NON-NLS-1$
-        return sb.toString();
-    }
-
-    /**
-     * An <code>Iterator</code> that iterates over all of the values (cells) in this <code>TwoKeyHashMap</code>.
-     */
-    protected final class ValueIterator implements Iterator<CellType>
-    {
-        protected State currentState;
-
-        protected Iterator<HashMap<ColType, CellType>> rowIterator;
-
-        protected Iterator<CellType> colIterator;
-
-        protected abstract class State
-        {
-            protected State() {}
-            abstract CellType getNextValue();
-        }
-
-        protected final State INITIAL = new State()
-        {
-            @Override CellType getNextValue()
-            {
-                rowIterator = table.values().iterator();
-
-                currentState = STARTING_NEW_ROW;
-                return currentState.getNextValue();
-            }
-        };
-
-        protected final State STARTING_NEW_ROW = new State()
-        {
-            @Override CellType getNextValue()
-            {
-                if (rowIterator.hasNext())
-                {
-                    colIterator = rowIterator.next().values().iterator();
-                    currentState = WORKING_THROUGH_ROW;
-                }
-                else
-                {
-                    currentState = DONE;
-                }
-                return currentState.getNextValue();
-            }
-        };
-
-        protected final State WORKING_THROUGH_ROW = new State()
-        {
-            @Override CellType getNextValue()
-            {
-                if (colIterator.hasNext())
-                    return colIterator.next();
-                else
-                {
-                    currentState = STARTING_NEW_ROW;
-                    return currentState.getNextValue();
-                }
-            }
-        };
-
-        protected final State DONE = new State()
-        {
-            @Override CellType getNextValue()
-            {
-                return null;
-            }
-        };
-
-        // /////////////////////////////////////////////////////////////////////////////////////////
-
-        protected CellType nextValue;
-
-        ValueIterator()
-        {
-            currentState = INITIAL;
-            nextValue = currentState.getNextValue();
-        }
-
-        public boolean hasNext()
-        {
-            return nextValue != null;
-        }
-
-        public CellType next()
-        {
-            CellType currentValue = nextValue;
-            nextValue = currentState.getNextValue();
-            if (currentValue == null && nextValue == null) throw new NoSuchElementException();
-            return currentValue;
-        }
-
-        public void remove()
-        {
-            throw new UnsupportedOperationException();
-        }
-    }
-
-    public Iterator<CellType> iterator()
-    {
-        return new ValueIterator();
-    }
-    
-    @Override
-    public Object clone()
-    {
-        TwoKeyHashMap<RowType, ColType, CellType> toReturn = new TwoKeyHashMap<RowType, ColType, CellType>();
-        
-        for (RowType r : table.keySet())
-        {
-            for (ColType c : table.get(r).keySet())
-            {
-                CellType t = table.get(r).get(c);
-                toReturn.put(r, c, t);
-            }
-        }
-        
-        return toReturn;
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TwoKeyTreeMap.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TwoKeyTreeMap.java
deleted file mode 100644
index 5e40288..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/TwoKeyTreeMap.java
+++ /dev/null
@@ -1,248 +0,0 @@
-package org.eclipse.rephraserengine.core.util;
-
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.TreeMap;
-
-/**
- * This is essentially a table -- a big block of cells indexed by row and column.
- * 
- * @author Jeff Overbey
- * 
- * @param <RowType>
- * @param <ColType>
- * @param <CellType>
- * 
- * @since 3.0
- * 
- * @see TwoKeyHashMap
- */
-public final class TwoKeyTreeMap<RowType  extends Comparable<RowType>,
-                                 ColType  extends Comparable<ColType>,
-                                 CellType extends Comparable<CellType>>
-        implements Iterable<CellType>
-{
-    protected TreeMap<RowType, TreeMap<ColType, CellType>> table = new TreeMap<RowType, TreeMap<ColType, CellType>>();
-
-    /**
-     * Add an entry, or if one already exists, replace it.
-     * @param k1 - First key
-     * @param k2
-     * @param v
-     */
-    public CellType put(RowType k1, ColType k2, CellType v)
-    {
-        // Map the first key...
-        if (!table.containsKey(k1)) table.put(k1, new TreeMap<ColType, CellType>());
-        TreeMap<ColType, CellType> thisRow = table.get(k1);
-
-        // ...and the second one to the table entry
-        thisRow.put(k2, v);
-        
-        return v;
-    }
-
-    /**
-     * Retrieve the entry keyed by the given symbols.
-     * @param k1
-     * @param k2
-     * @return value
-     */
-    public CellType getEntry(RowType k1, ColType k2)
-    {
-        // Map the first key (row ID)...
-        if (!table.containsKey(k1)) return null;
-        TreeMap<ColType, CellType> thisRow = table.get(k1);
-
-        // ...and the second one (column ID)...
-        if (!thisRow.containsKey(k2)) return null;
-
-        // ...to the table entry
-        return thisRow.get(k2);
-    }
-
-    /**
-     * Retrieve all entries keyed by the given symbol.
-     * @param k1
-     * @return value
-     */
-    public TreeMap<ColType, CellType> getAllEntriesFor(RowType k1)
-    {
-        // Map the first key (row ID)...
-        if (!table.containsKey(k1)) return null;
-        return table.get(k1);
-    }
-
-    /**
-     * @return a <code>Set</code> of all of the (first) keys. Use <code>getAllEntriesFor</code> to get the corresponding entries.
-     */
-    public Set<RowType> keySet()
-    {
-        return table.keySet();
-    }
-
-    /**
-     * Returns true iff the entry keyed by the given symbols is not null (i.e., returns true if there is no entry keyed by the given symbols).
-     * @param k1
-     * @param k2
-     * @return boolean
-     */
-    public boolean containsEntry(RowType k1, ColType k2)
-    {
-        return getEntry(k1, k2) != null;
-    }
-
-    /**
-     * Removes all entries.
-     */
-    public void clear()
-    {
-        table.clear();
-    }
-
-    /**
-     * Removes all entries keyed by the given value.
-     * @param key
-     */
-    public void remove(RowType key)
-    {
-        table.remove(key);
-    }
-
-    /**
-     * Removes all entries keyed by the given values.
-     * @param k1
-     * @param k2
-     */
-    public void remove(RowType k1, ColType k2)
-    {
-        if (table.containsKey(k1)) table.get(k1).remove(k2);
-    }
-
-    @Override public String toString()
-    {
-        StringBuffer sb = new StringBuffer();
-        sb.append("{"); //$NON-NLS-1$
-        for (RowType r : table.keySet())
-        {
-            TreeMap<ColType, CellType> thisRow = table.get(r);
-            if (thisRow != null)
-            {
-                for (ColType c : thisRow.keySet())
-                {
-                    sb.append("   "); //$NON-NLS-1$
-                    sb.append("("); //$NON-NLS-1$
-                    sb.append(r);
-                    sb.append(", "); //$NON-NLS-1$
-                    sb.append(c);
-                    sb.append(") ==> "); //$NON-NLS-1$
-                    sb.append(thisRow.get(c));
-                }
-            }
-        }
-        sb.append("   }"); //$NON-NLS-1$
-        return sb.toString();
-    }
-
-    /**
-     * An <code>Iterator</code> that iterates over all of the values (cells) in this <code>TwoKeyTreeMap</code>.
-     */
-    protected final class ValueIterator implements Iterator<CellType>
-    {
-        protected State currentState;
-
-        protected Iterator<TreeMap<ColType, CellType>> rowIterator;
-
-        protected Iterator<CellType> colIterator;
-
-        protected abstract class State
-        {
-            protected State() {}
-            abstract CellType getNextValue();
-        }
-
-        protected final State INITIAL = new State()
-        {
-            @Override CellType getNextValue()
-            {
-                rowIterator = table.values().iterator();
-
-                currentState = STARTING_NEW_ROW;
-                return currentState.getNextValue();
-            }
-        };
-
-        protected final State STARTING_NEW_ROW = new State()
-        {
-            @Override CellType getNextValue()
-            {
-                if (rowIterator.hasNext())
-                {
-                    colIterator = rowIterator.next().values().iterator();
-                    currentState = WORKING_THROUGH_ROW;
-                }
-                else
-                {
-                    currentState = DONE;
-                }
-                return currentState.getNextValue();
-            }
-        };
-
-        protected final State WORKING_THROUGH_ROW = new State()
-        {
-            @Override CellType getNextValue()
-            {
-                if (colIterator.hasNext())
-                    return colIterator.next();
-                else
-                {
-                    currentState = STARTING_NEW_ROW;
-                    return currentState.getNextValue();
-                }
-            }
-        };
-
-        protected final State DONE = new State()
-        {
-            @Override CellType getNextValue()
-            {
-                return null;
-            }
-        };
-
-        // /////////////////////////////////////////////////////////////////////////////////////////
-
-        protected CellType nextValue;
-
-        ValueIterator()
-        {
-            currentState = INITIAL;
-            nextValue = currentState.getNextValue();
-        }
-
-        public boolean hasNext()
-        {
-            return nextValue != null;
-        }
-
-        public CellType next()
-        {
-            CellType currentValue = nextValue;
-            nextValue = currentState.getNextValue();
-            if (currentValue == null && nextValue == null) throw new NoSuchElementException();
-            return currentValue;
-        }
-
-        public void remove()
-        {
-            throw new UnsupportedOperationException();
-        }
-    }
-
-    public Iterator<CellType> iterator()
-    {
-        return new ValueIterator();
-    }
-}
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Worklist.java b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Worklist.java
deleted file mode 100644
index a727270..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/Worklist.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.core.util;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-/**
- * A <code>Worklist</code> is essentially a queue -- objects are added to the back and removed from the front -- but
- * unlike the usual Java collections, it is safe to add and remove items while it is being iterated over (e.g., in a
- * new-style for-loop).
- *
- * @author Jeff Overbey
- *
- * @since 3.0
- */
-public class Worklist<T> implements Iterable<T>
-{
-    private final LinkedList<T> worklist = new LinkedList<T>();
-
-    private int size = 0;
-
-    /** Constructs an empty worklist. */
-    public Worklist()
-    {
-    }
-
-    /** Constructs a worklist which initially contains the given item(s). */
-    public Worklist(T item)
-    {
-        add(item);
-    }
-
-    /** Constructs a worklist which initially contains the given item(s). */
-    public Worklist(T... items)
-    {
-        for (T item : items)
-            add(item);
-    }
-
-    /** Removes all items from this worklist. */
-    public void clear()
-    {
-        worklist.clear();
-        size = 0;
-    }
-
-    /** Adds the given item at the end of this worklist. */
-    public void add(T item)
-    {
-        size++;
-        worklist.add(item);
-    }
-
-    /**
-     * Iterates through the given collection, successively adding its elements to the end of this
-     * worklist.
-     */
-    public void addAll(Collection<T> items)
-    {
-        size += items.size();
-        worklist.addAll(items);
-    }
-
-    /** @return true iff this worklist contains the given item */
-    public boolean contains(T item)
-    {
-        return worklist.contains(item);
-    }
-
-    /** @return the number of items in this worklist */
-    public int size()
-    {
-        return size;
-    }
-
-    /** Removes the first item in this worklist and returns it. */
-    public T removeFirst()
-    {
-        size--;
-        return worklist.removeFirst();
-    }
-
-    /** @return true iff there are no items in this worklist */
-    public boolean done()
-    {
-        return size == 0;
-    }
-
-    public Iterator<T> iterator()
-    {
-        return new Iterator<T>()
-        {
-            public boolean hasNext()
-            {
-                return !done();
-            }
-
-            public T next()
-            {
-                return removeFirst();
-            }
-
-            public void remove()
-            {
-                throw new UnsupportedOperationException();
-            }
-        };
-    }
-
-    @Override public String toString()
-    {
-        return worklist.toString();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/messages.properties b/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/messages.properties
deleted file mode 100644
index 6c95e69..0000000
--- a/org.eclipse.rephraserengine.core/src/org/eclipse/rephraserengine/core/util/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-Spawner_ProcessExitedAbnormally=Process exited abnormally with exit code {0}\n{1}
diff --git a/org.eclipse.rephraserengine.doc.isv/.project b/org.eclipse.rephraserengine.doc.isv/.project
deleted file mode 100644
index 080cc8f..0000000
--- a/org.eclipse.rephraserengine.doc.isv/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine.doc.isv</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.doc.isv/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.doc.isv/META-INF/MANIFEST.MF
deleted file mode 100644
index d333af5..0000000
--- a/org.eclipse.rephraserengine.doc.isv/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Rephraser Engine ISV Documentation
-Bundle-SymbolicName: org.eclipse.rephraserengine.doc.isv; singleton:=true
-Bundle-Version: 3.0.0.qualifier
-Bundle-Vendor: Eclipse.org - Photran
diff --git a/org.eclipse.rephraserengine.doc.isv/about.html b/org.eclipse.rephraserengine.doc.isv/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.doc.isv/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/build.properties b/org.eclipse.rephraserengine.doc.isv/build.properties
deleted file mode 100644
index cccaee3..0000000
--- a/org.eclipse.rephraserengine.doc.isv/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-bin.includes = plugin.xml,\
-               META-INF/,\
-               html/,\
-               *.xml,\
-               images/,\
-               about.html
-src.includes = about.html,\
-               html/,\
-               images/,\
-               toc.xml,\
-               tocsamples.xml,\
-               tocconcepts.xml
diff --git a/org.eclipse.rephraserengine.doc.isv/html/concepts/introduction.html b/org.eclipse.rephraserengine.doc.isv/html/concepts/introduction.html
deleted file mode 100644
index 14d2063..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/concepts/introduction.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Introduction</title>
-</head>
-
-<body>
-<h1>Introduction</h1>
-
-The Rephraser Engine is an Eclipse-based library that expedites the development of refactoring tools.  It contains the following components:
-<ul>
-<li> The <i>refactoring</i> component allows plug-ins to easily contribute refactorings to the Eclipse user interface.
-<li> The <i>virtual program graph (VPG)</i> component provides a language-independent program database and indexing infrastructure.
-<li> The <i>testing</i> component provides several utility classes for constructing JUnit test suites.
-</ul>
-
-<p>These components share a common suite of utility classes, many of which are useful to clients as well.</p>
-
-<p>The dependencies among the projects comprising the Rephraser Engine are as follows.  Note that the Refactoring component does <i>not</i>
-require that the VPG component be used.</p>
-
-<p><img src="../../images/architecture.png" border="0" /></p>
-
-<p>"Rephraser" is an acronym which stands for
-Rapid
-Eclipse
-Prototyping
-Host for
-Research on <!-- Approximate Semantic -->
-            <!-- Agnostic Specified -->
-Abstract
-Specified
-Equivalence-based
-Refactoring.</p>
-
-<h2>Features</h2>
-
-<h3>Refactoring</h3>
-
-<p>The Refactoring component extends the Eclipse Language ToolKit (LTK) and
-<ul>
-<li> contributes a Refactor menu to the workbench menu bar, as well as to the context menu for resource selections in the workbench;
-<li> provides an extension point that allows refactorings to be contributed to this menu; and
-<li> does not require any user interface code to be written for simple refactorings.
-</ul></p>
-
-<h3>VPG</h3>
-
-<p>The VPG component
-<ul>
-<li> provides a set of base classes for building persistable program graphs;
-<li> provides an indexing infrastructure by registering a resource listener and automatically updating program graphs as workspace resources change; and
-<li> contributes a "(Debugging)" sub-menu to the workbench Refactoring menu, which provides various actions for viewing, analyzing, and manipulating VPG databases.
-</ul></p>
-
-<h3>Testing</h3>
-
-<p>The Testing component
-<ul>
-<li> provides classes to construct a test suite (dynamically) from set of files or from a set of &quot;markers&quot; in a single file; and
-<li> provides utility classes to aid in combinatorial testing.
-</ul></p>
-
-<h3>Common Components/Miscellany</h3>
-
-<p>The Rephraser Engine also includes
-<ul>
-<li> classes to aid in contributing to the Eclipse Search UI (e.g., SearchResult),
-<li> assorted classes to aid in writing common static analyses (e.g., SymbolTable),
-<li> several utility classes (e.g., TwoKeyHashMap, Spawner, StringUtil, OffsetLength).
-</ul>
-</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/html/concepts/refactorings.html b/org.eclipse.rephraserengine.doc.isv/html/concepts/refactorings.html
deleted file mode 100644
index ff13316..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/concepts/refactorings.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Contributing Refactorings</title>
-<style type="text/css">
-<!--
-span.st1 
-    {
-    font-family: Courier New;
-    font-size: 10pt;
-    color: #800000;
-    }
-span.st2 
-    {
-    font-family: Courier New;
-    font-size: 10pt;
-    color: #000000;
-    }
-span.st3 
-    {
-    font-family: Courier New;
-    font-size: 10pt;
-    color: #000080;
-    }
-span.st4 
-    {
-    font-family: Courier New;
-    font-size: 10pt;
-    color: #008000;
-    }
-span.st5 
-    {
-    font-family: Times New Roman;
-    font-size: 12pt;
-    color: #000000;
-    }
--->
-</style>
-</head>
-
-<body>
-<h1>Contributing Refactorings</h1>
-
-TODO
-
-org.eclipse.rephraserengine.ui.refactoring.refactorings extension point
-
-<h2>Examples</h2>
-
-<!-- http://www.sautinsoft.net/rtf-to-html-convert.aspx -->
-
-<div><span class="st2"> &nbsp;&nbsp;</span><span class="st3">&lt;extension</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">point=</span><span class="st4">"org.eclipse.rephraserengine.ui.refactoring.refactorings"</span><span class="st3">&gt;</span></div>
-<div><span class="st2"></span>&nbsp;</div>
-
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st1">&lt;!-- The resource filter determines what must be selected for these refactorings to be visible --&gt;</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;resourceFilter</span><span class="st2"> </span><span class="st3">class=</span><span class="st4">"org.eclipse.rephraserengine.examples.text.TextFileResourceFilter"</span><span class="st2"> </span><span class="st3">/&gt;</span></div>
-<div><span class="st2"></span>&nbsp;</div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st1">&lt;!-- Each group defines a new (separated) section in the Refactor menu --&gt;</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;group&gt;</span></div>
-
-<div><span class="st2"></span>&nbsp;</div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st1">&lt;!-- A resource refactoring which uses an auto-generated user interface --&gt;</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;resourceRefactoring</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">class=</span><span class="st4">"org.eclipse.rephraserengine.examples.text.ConvertTabsToSpacesRefactoring"</span><span class="st2"> </span><span class="st3">/&gt;</span></div>
-<div><span class="st2"></span>&nbsp;</div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st1">&lt;!-- An editor refactoring which uses an auto-generated user interface --&gt;</span></div>
-
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;editorRefactoring</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">class=</span><span class="st4">"org.eclipse.photran.internal.core.refactoring.MakePrivateEntityPublicRefactoring"</span><span class="st2"> </span><span class="st3">/&gt;</span></div>
-<div><span class="st2"></span>&nbsp;</div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st1">&lt;!-- Same as previous, except the given label ("Increase Visibility") will appear in the menu;</span></div>
-<div><span class="st2"></span><span class="st1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when the label attribute is absent, the label will be whatever is returned by the refactoring&amp;apos;s</span></div>
-
-<div><span class="st2"></span><span class="st1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#getName method --&gt;</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;editorRefactoring</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">label=</span><span class="st4">"Increase Visibility"</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">class=</span><span class="st4">"org.eclipse.photran.internal.core.refactoring.MakePrivateEntityPublicRefactoring"</span><span class="st2"> </span><span class="st3">/&gt;</span></div>
-<div><span class="st2"></span>&nbsp;</div>
-
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st1">&lt;!-- An editor refactoring which uses a custom user interface --&gt;</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;editorRefactoring</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">class=</span><span class="st4">"org.eclipse.photran.internal.core.refactoring.AddOnlyToUseStmtRefactoring"</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">inputPage=</span><span class="st4">"org.eclipse.photran.internal.refactoring.ui.AddOnlyToUseStmtInputPage"</span><span class="st2"> </span><span class="st3">/&gt;</span></div>
-<div><span class="st2"></span>&nbsp;</div>
-
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st1">&lt;!-- A command which is contributed as an editor refactoring --&gt;</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st1">&lt;!-- Note that this is the only way to give a refactoring a key binding --&gt;</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;editorRefactoring</span><span class="st2"> </span><span class="st3">command=</span><span class="st4">"org.eclipse.photran.ui.RenameRefactoringCommand"</span><span class="st2"> </span><span class="st3">/&gt;</span></div>
-<div><span class="st2"></span>&nbsp;</div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st1">&lt;!-- An editor refactoring which only appears in the menu when the</span></div>
-
-<div><span class="st2"></span><span class="st1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PHOTRAN_INCLUDE_TEST_REFACTORINGS environment variable is set to a non-null value --&gt;</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;editorRefactoring</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">require_env=</span><span class="st4">"PHOTRAN_INCLUDE_TEST_REFACTORINGS"</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">class=</span><span class="st4">"org.eclipse.photran.internal.core.refactoring.AddEmptySubprogramRefactoring"</span><span class="st2"> </span><span class="st3">/&gt;</span></div>
-<div><span class="st2"></span>&nbsp;</div>
-
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;/group&gt;</span></div>
-<div><span class="st2"> &nbsp;&nbsp;</span><span class="st3">&lt;/extension&gt;</span></div>
-</pre>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/html/concepts/vpg.html b/org.eclipse.rephraserengine.doc.isv/html/concepts/vpg.html
deleted file mode 100644
index e93dcad..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/concepts/vpg.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Contributing a Virtual Program Graph</title>
-<style type="text/css">
-<!--
-span.st1 
-    {
-    font-family: Courier New;
-    font-size: 10pt;
-    color: #800000;
-    }
-span.st2 
-    {
-    font-family: Courier New;
-    font-size: 10pt;
-    color: #000000;
-    }
-span.st3 
-    {
-    font-family: Courier New;
-    font-size: 10pt;
-    color: #000080;
-    }
-span.st4 
-    {
-    font-family: Courier New;
-    font-size: 10pt;
-    color: #008000;
-    }
-span.st5 
-    {
-    font-family: Times New Roman;
-    font-size: 12pt;
-    color: #000000;
-    }
--->
-</style>
-</head>
-
-<body>
-<h1>Contributing a Virtual Program Graph</h1>
-
-TODO
-
-<h2>Example</h2>
-
-<!-- http://www.sautinsoft.net/rtf-to-html-convert.aspx -->
-
-<div><span class="st1"> &nbsp;&nbsp;&lt;!-- This will automatically add some actions to the (Debugging) sub-menu of the Refactor</span></div>
-<div><span class="st2"></span><span class="st1"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menu in the menu bar, such as Display VPG Database, Refresh VPG Database, etc. --&gt;</span></div>
-<div><span class="st2"> &nbsp;&nbsp;</span><span class="st3">&lt;extension</span></div>
-
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">point=</span><span class="st4">"org.eclipse.rephraserengine.ui.vpg.vpg"</span><span class="st3">&gt;</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;vpg</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">id=</span><span class="st4">"org.eclipse.photran.ui.vpg"</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">name=</span><span class="st4">"Fortran"</span></div>
-<div><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">class=</span><span class="st4">"org.eclipse.photran.internal.ui.vpg.PhotranVPGContribution"</span><span class="st2"> </span><span class="st3">/&gt;</span></div>
-
-<div><span class="st2"> &nbsp;&nbsp;</span><span class="st3">&lt;/extension&gt;</span></div>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/html/samples/samples.html b/org.eclipse.rephraserengine.doc.isv/html/samples/samples.html
deleted file mode 100644
index bec1c51..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/samples/samples.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Samples</title>
-</head>
-
-<body>
-<h1>Samples</h1>
-
-<h2>org.eclipse.rephraserengine.examples.text</h2>
-
-<h2>org.eclipse.rephraserengine.examples.testing</h2>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-editor.html b/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-editor.html
deleted file mode 100644
index 3a1d93d..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-editor.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Tasks</title>
-<style type="text/css">
-<!--
-span.st1 
-	{
-	font-family: Helvetica;
-	font-size: 10pt;
-	color: #800000;
-	}
-span.st2 
-	{
-	font-family: Helvetica;
-	font-size: 10pt;
-	color: #000000;
-	}
-span.st3 
-	{
-	font-family: Helvetica;
-	font-size: 10pt;
-	color: #000080;
-	}
-span.st4 
-	{
-	font-family: Helvetica;
-	font-size: 10pt;
-	color: #008000;
-	}
--->
-</style>
-</head>
-
-<body>
-<h1>Contributing the VPG "(Debugging)" Action Set to an Editor</h1>
-
-<h2>Example</h2>
-
-<!-- Converted using http://www.sautinsoft.net/rtf-to-html-convert.aspx -->
-<div style="text-indent:0pt;"><span class="st1">&lt;!-- Associate the action set with the workbench text editor --&gt;</span></div>
-<div style="text-indent:0pt;"><span class="st2"></span><span class="st3">&lt;extension</span><span class="st2"> </span><span class="st3">point=</span><span class="st4">"org.eclipse.ui.actionSetPartAssociations"</span><span class="st3">&gt;</span></div>
-<div style="text-indent:0pt;"><span class="st2"> &nbsp;&nbsp;</span><span class="st3">&lt;actionSetPartAssociation</span><span class="st2"> </span><span class="st3">targetID=</span><span class="st4">"org.eclipse.rephraserengine.ui.DebugActionSet"</span><span class="st3">&gt;</span></div>
-<div style="text-indent:0pt;"><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;part</span><span class="st2"> </span><span class="st3">id=</span><span class="st4">"org.eclipse.ui.DefaultTextEditor"</span><span class="st3">/&gt;</span></div>
-<div style="text-indent:0pt;"><span class="st2"> &nbsp;&nbsp;</span><span class="st3">&lt;/actionSetPartAssociation&gt;</span></div>
-<div style="text-indent:0pt;"><span class="st2"></span><span class="st3">&lt;/extension&gt;</span></div><div align="center">Trial version can convert no more than 30000 symbols.<br /><a href="http://www.sautinsoft.com/convert-rtf-to-html/order.php">Get the full featured version!</a></div></body>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-editor.rtf b/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-editor.rtf
deleted file mode 100644
index 05b58dc..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-editor.rtf
+++ /dev/null
@@ -1,15 +0,0 @@
-{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fnil\fcharset0 Monaco;}
-{\colortbl;\red255\green255\blue255;\red128\green0\blue0;\red0\green0\blue128;\red0\green128\blue0;
-}
-\margl1440\margr1440\vieww12040\viewh9180\viewkind0
-\deftab720
-\pard\pardeftab720\ql\qnatural
-
-\f0\fs20 \cf2 <!-- Associate the action set with the workbench text editor -->\cf0 \
-\pard\pardeftab720\ql\qnatural
-\cf3 <extension\cf0  \cf3 point=\cf4 "org.eclipse.ui.actionSetPartAssociations"\cf3 >\cf0 \
-   \cf3 <actionSetPartAssociation\cf0  \cf3 targetID=\cf4 "org.eclipse.rephraserengine.ui.DebugActionSet"\cf3 >\cf0 \
-      \cf3 <part\cf0  \cf3 id=\cf4 "org.eclipse.ui.DefaultTextEditor"\cf3 />\cf0 \
-   \cf3 </actionSetPartAssociation>\cf0 \
-\cf3 </extension>}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-perspective.html b/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-perspective.html
deleted file mode 100644
index 25ed42a..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-perspective.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Tasks</title>
-<style type="text/css">
-<!--
-span.st1 
-	{
-	font-family: Helvetica;
-	font-size: 10pt;
-	color: #800000;
-	}
-span.st2 
-	{
-	font-family: Helvetica;
-	font-size: 10pt;
-	color: #000000;
-	}
-span.st3 
-	{
-	font-family: Helvetica;
-	font-size: 10pt;
-	color: #000080;
-	}
-span.st4 
-	{
-	font-family: Helvetica;
-	font-size: 10pt;
-	color: #008000;
-	}
--->
-</style>
-</head>
-
-<body>
-<h1>Contributing the VPG "(Debugging)" Action Set to a Perspective</h1>
-
-<h2>Example</h2>
-
-<!-- Converted using http://www.sautinsoft.net/rtf-to-html-convert.aspx -->
-<div style="text-indent:0pt;"><span class="st1">&lt;!-- Associate the action set with the Resource perspective --&gt;</span></div>
-<div style="text-indent:0pt;"><span class="st2"></span><span class="st3">&lt;extension</span><span class="st2"> </span><span class="st3">point=</span><span class="st4">"org.eclipse.ui.perspectiveExtensions"</span><span class="st3">&gt;</span></div>
-<div style="text-indent:0pt;"><span class="st2"> &nbsp;&nbsp;</span><span class="st3">&lt;perspectiveExtension</span><span class="st2"> </span><span class="st3">targetID=</span><span class="st4">"org.eclipse.ui.resourcePerspective"</span><span class="st3">&gt;</span></div>
-<div style="text-indent:0pt;"><span class="st2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="st3">&lt;actionSet</span><span class="st2"> </span><span class="st3">id=</span><span class="st4">"org.eclipse.rephraserengine.ui.DebugActionSet"</span><span class="st3">/&gt;</span></div>
-<div style="text-indent:0pt;"><span class="st2"> &nbsp;&nbsp;</span><span class="st3">&lt;/perspectiveExtension&gt;</span></div>
-<div style="text-indent:0pt;"><span class="st2"></span><span class="st3">&lt;/extension&gt;</span></div><div align="center">Trial version can convert no more than 30000 symbols.<br /><a href="http://www.sautinsoft.com/convert-rtf-to-html/order.php">Get the full featured version!</a></div></body>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-perspective.rtf b/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-perspective.rtf
deleted file mode 100644
index 51f45bb..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/tasks/contribute-vpg-actions-perspective.rtf
+++ /dev/null
@@ -1,15 +0,0 @@
-{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fnil\fcharset0 Monaco;}
-{\colortbl;\red255\green255\blue255;\red128\green0\blue0;\red0\green0\blue128;\red0\green128\blue0;
-}
-\margl1440\margr1440\vieww9000\viewh8400\viewkind0
-\deftab720
-\pard\pardeftab720
-
-\f0\fs20 \cf2 <!-- Associate the action set with the Resource perspective -->\cf0 \
-\pard\pardeftab720
-\cf3 <extension\cf0  \cf3 point=\cf4 "org.eclipse.ui.perspectiveExtensions"\cf3 >\cf0 \
-   \cf3 <perspectiveExtension\cf0  \cf3 targetID=\cf4 "org.eclipse.ui.resourcePerspective"\cf3 >\cf0 \
-      \cf3 <actionSet\cf0  \cf3 id=\cf4 "org.eclipse.rephraserengine.ui.DebugActionSet"\cf3 />\cf0 \
-   \cf3 </perspectiveExtension>\cf0 \
-\cf3 </extension>}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/images/architecture.graffle b/org.eclipse.rephraserengine.doc.isv/images/architecture.graffle
deleted file mode 100644
index c50e3ae..0000000
--- a/org.eclipse.rephraserengine.doc.isv/images/architecture.graffle
+++ /dev/null
@@ -1,2605 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>ActiveLayerIndex</key>
-	<integer>0</integer>
-	<key>ApplicationVersion</key>
-	<array>
-		<string>com.omnigroup.OmniGraffle</string>
-		<string>138.12.0.121252</string>
-	</array>
-	<key>AutoAdjust</key>
-	<false/>
-	<key>BackgroundGraphic</key>
-	<dict>
-		<key>Bounds</key>
-		<string>{{0, 0}, {414, 450}}</string>
-		<key>Class</key>
-		<string>SolidGraphic</string>
-		<key>ID</key>
-		<integer>2</integer>
-		<key>Style</key>
-		<dict>
-			<key>shadow</key>
-			<dict>
-				<key>Draws</key>
-				<string>NO</string>
-			</dict>
-			<key>stroke</key>
-			<dict>
-				<key>Draws</key>
-				<string>NO</string>
-			</dict>
-		</dict>
-	</dict>
-	<key>CanvasOrigin</key>
-	<string>{0, 0}</string>
-	<key>CanvasSize</key>
-	<string>{414, 450}</string>
-	<key>ColumnAlign</key>
-	<integer>1</integer>
-	<key>ColumnSpacing</key>
-	<real>36</real>
-	<key>CreationDate</key>
-	<string>2010-02-24 15:53:57 -0600</string>
-	<key>Creator</key>
-	<string>Jeffrey Overbey</string>
-	<key>DisplayScale</key>
-	<string>1 0/72 in = 1.0000 in</string>
-	<key>GraphDocumentVersion</key>
-	<integer>6</integer>
-	<key>GraphicsList</key>
-	<array>
-		<dict>
-			<key>Bounds</key>
-			<string>{{283.129, 40.5977}, {68, 29}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FitText</key>
-			<string>YES</string>
-			<key>Flow</key>
-			<string>Resize</string>
-			<key>FontInfo</key>
-			<dict>
-				<key>Font</key>
-				<string>BankGothic-Medium</string>
-				<key>Size</key>
-				<real>89</real>
-			</dict>
-			<key>ID</key>
-			<integer>426</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>ShadowVector</key>
-					<string>{0, 2}</string>
-				</dict>
-				<key>stroke</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Pad</key>
-				<integer>0</integer>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\froman\fcharset0 Times-Roman;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\i\fs48 \cf0 \kerning1\expnd2\expndtw13
-engine}</string>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-			<key>Wrap</key>
-			<string>NO</string>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{64.4942, 9}, {287, 51}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FitText</key>
-			<string>YES</string>
-			<key>Flow</key>
-			<string>Resize</string>
-			<key>FontInfo</key>
-			<dict>
-				<key>Font</key>
-				<string>BankGothic-Medium</string>
-				<key>Size</key>
-				<real>89</real>
-			</dict>
-			<key>ID</key>
-			<integer>425</integer>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>ShadowVector</key>
-					<string>{0, 2}</string>
-				</dict>
-				<key>stroke</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Pad</key>
-				<integer>0</integer>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fnil\fcharset0 BankGothic-Medium;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs96 \cf0 Rephraser}</string>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-			<key>Wrap</key>
-			<string>NO</string>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{50.4942, 218.122}, {315, 216}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>405</integer>
-			<key>Magnets</key>
-			<array>
-				<string>{0, 1}</string>
-				<string>{0, -1}</string>
-				<string>{1, 0}</string>
-				<string>{-1, 0}</string>
-			</array>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>stroke</key>
-				<dict>
-					<key>Width</key>
-					<real>2</real>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{50.4942, 191.122}, {315, 27}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FontInfo</key>
-			<dict>
-				<key>Font</key>
-				<string>Helvetica-Bold</string>
-				<key>Size</key>
-				<real>14</real>
-			</dict>
-			<key>ID</key>
-			<integer>404</integer>
-			<key>Magnets</key>
-			<array>
-				<string>{0, 1}</string>
-				<string>{0, -1}</string>
-				<string>{1, 0}</string>
-				<string>{-1, 0}</string>
-			</array>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>b</key>
-						<string>0.826087</string>
-						<key>g</key>
-						<string>0.826087</string>
-						<key>r</key>
-						<string>0.826087</string>
-					</dict>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>stroke</key>
-				<dict>
-					<key>Width</key>
-					<real>2</real>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\b\fs28 \cf0 Rephraser Engine End-User Runtime}</string>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{68.4942, 398.998}, {279, 18.4999}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FontInfo</key>
-			<dict>
-				<key>Font</key>
-				<string>Helvetica</string>
-				<key>Size</key>
-				<real>12</real>
-			</dict>
-			<key>ID</key>
-			<integer>414</integer>
-			<key>Magnets</key>
-			<array>
-				<string>{0, 1}</string>
-				<string>{0, -1}</string>
-				<string>{1, 0}</string>
-				<string>{-1, 0}</string>
-			</array>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>b</key>
-						<string>0.826087</string>
-						<key>g</key>
-						<string>0.826087</string>
-						<key>r</key>
-						<string>0.826087</string>
-					</dict>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{68.4942, 236.499}, {279, 18.4999}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>FontInfo</key>
-			<dict>
-				<key>Font</key>
-				<string>Helvetica</string>
-				<key>Size</key>
-				<real>12</real>
-			</dict>
-			<key>ID</key>
-			<integer>413</integer>
-			<key>Magnets</key>
-			<array>
-				<string>{0, 1}</string>
-				<string>{0, -1}</string>
-				<string>{1, 0}</string>
-				<string>{-1, 0}</string>
-			</array>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>b</key>
-						<string>0.826087</string>
-						<key>g</key>
-						<string>0.826087</string>
-						<key>r</key>
-						<string>0.826087</string>
-					</dict>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\b\fs24 \cf0 Language-Independent Infrastructure}</string>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{-18.7441, 348.999}, {80.9999, 18.4999}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>412</integer>
-			<key>Magnets</key>
-			<array>
-				<string>{0, 1}</string>
-				<string>{0, -1}</string>
-				<string>{1, 0}</string>
-				<string>{-1, 0}</string>
-			</array>
-			<key>Rotation</key>
-			<real>270</real>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>b</key>
-						<string>0.826087</string>
-						<key>g</key>
-						<string>0.826087</string>
-						<key>r</key>
-						<string>0.826087</string>
-					</dict>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 Core}</string>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{-9.74414, 277.249}, {63, 18.4999}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>411</integer>
-			<key>Magnets</key>
-			<array>
-				<string>{0, 1}</string>
-				<string>{0, -1}</string>
-				<string>{1, 0}</string>
-				<string>{-1, 0}</string>
-			</array>
-			<key>Rotation</key>
-			<real>270</real>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>b</key>
-						<string>0.826087</string>
-						<key>g</key>
-						<string>0.826087</string>
-						<key>r</key>
-						<string>0.826087</string>
-					</dict>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>Text</key>
-				<string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
-
-\f0\fs24 \cf0 UI}</string>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{68.4942, 318.188}, {279, 80.9999}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>380</integer>
-			<key>Magnets</key>
-			<array>
-				<string>{0, 1}</string>
-				<string>{0, -1}</string>
-				<string>{1, 0}</string>
-				<string>{-1, 0}</string>
-			</array>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Bounds</key>
-			<string>{{68.4942, 254.999}, {279, 63}}</string>
-			<key>Class</key>
-			<string>ShapedGraphic</string>
-			<key>ID</key>
-			<integer>379</integer>
-			<key>Magnets</key>
-			<array>
-				<string>{0, 1}</string>
-				<string>{0, -1}</string>
-				<string>{1, 0}</string>
-				<string>{-1, 0}</string>
-			</array>
-			<key>Shape</key>
-			<string>Rectangle</string>
-			<key>Style</key>
-			<dict>
-				<key>fill</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-				<key>shadow</key>
-				<dict>
-					<key>Draws</key>
-					<string>NO</string>
-				</dict>
-			</dict>
-			<key>Text</key>
-			<dict>
-				<key>VerticalPad</key>
-				<integer>0</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>ID</key>
-			<integer>415</integer>
-			<key>Points</key>
-			<array>
-				<string>{184.756, 358.483}</string>
-				<string>{221.129, 376.483}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>StickArrow</string>
-					<key>Pattern</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>395</integer>
-			</dict>
-			<key>ID</key>
-			<integer>401</integer>
-			<key>Points</key>
-			<array>
-				<string>{139.628, 144.811}</string>
-				<string>{139.628, 330.316}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>archive</key>
-						<data>
-						YnBsaXN0MDDUAQIDBAUGCQpYJHZl
-						cnNpb25UJHRvcFkkYXJjaGl2ZXJY
-						JG9iamVjdHMSAAGGoNEHCFRyb290
-						gAFfEA9OU0tleWVkQXJjaGl2ZXKl
-						CwwVGR5VJG51bGzUDQ4PEBESExRW
-						JGNsYXNzXE5TQ29sb3JTcGFjZV8Q
-						Ek5TQ3VzdG9tQ29sb3JTcGFjZVdO
-						U1doaXRlgAQQA4ACRDAuNQDSDRYX
-						GFROU0lEgAMQAtIaGxwOWCRjbGFz
-						c2VzWiRjbGFzc25hbWWiDh1YTlNP
-						YmplY3TSGhsfIKIgHVdOU0NvbG9y
-						CBEaHykyNzo/QVNZX2hvfJGZm52f
-						pKmusLK3wMvO19zfAAAAAAAAAQEA
-						AAAAAAAAIQAAAAAAAAAAAAAAAAAA
-						AOc=
-						</data>
-						<key>b</key>
-						<string>0.500023</string>
-						<key>g</key>
-						<string>0.500023</string>
-						<key>r</key>
-						<string>0.500023</string>
-					</dict>
-					<key>HeadArrow</key>
-					<string>StickArrow</string>
-					<key>Pattern</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>399</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>Group</string>
-			<key>Graphics</key>
-			<array>
-				<dict>
-					<key>Bounds</key>
-					<string>{{83.6285, 105.739}, {112, 38.5719}}</string>
-					<key>Class</key>
-					<string>ShapedGraphic</string>
-					<key>FontInfo</key>
-					<dict>
-						<key>Color</key>
-						<dict>
-							<key>w</key>
-							<string>0</string>
-						</dict>
-						<key>Font</key>
-						<string>Helvetica</string>
-						<key>Size</key>
-						<real>12</real>
-					</dict>
-					<key>ID</key>
-					<integer>399</integer>
-					<key>Shape</key>
-					<string>Rectangle</string>
-					<key>Style</key>
-					<dict>
-						<key>shadow</key>
-						<dict>
-							<key>Draws</key>
-							<string>NO</string>
-						</dict>
-						<key>stroke</key>
-						<dict>
-							<key>Color</key>
-							<dict>
-								<key>archive</key>
-								<data>
-								YnBsaXN0MDDU
-								AQIDBAUGCQpY
-								JHZlcnNpb25U
-								JHRvcFkkYXJj
-								aGl2ZXJYJG9i
-								amVjdHMSAAGG
-								oNEHCFRyb290
-								gAFfEA9OU0tl
-								eWVkQXJjaGl2
-								ZXKlCwwVGR5V
-								JG51bGzUDQ4P
-								EBESExRWJGNs
-								YXNzXE5TQ29s
-								b3JTcGFjZV8Q
-								Ek5TQ3VzdG9t
-								Q29sb3JTcGFj
-								ZVdOU1doaXRl
-								gAQQA4ACRDAu
-								NQDSDRYXGFRO
-								U0lEgAMQAtIa
-								GxwOWCRjbGFz
-								c2VzWiRjbGFz
-								c25hbWWiDh1Y
-								TlNPYmplY3TS
-								GhsfIKIgHVdO
-								U0NvbG9yCBEa
-								HykyNzo/QVNZ
-								X2hvfJGZm52f
-								pKmusLK3wMvO
-								19zfAAAAAAAA
-								AQEAAAAAAAAA
-								IQAAAAAAAAAA
-								AAAAAAAAAOc=
-								</data>
-								<key>b</key>
-								<string>0.500023</string>
-								<key>g</key>
-								<string>0.500023</string>
-								<key>r</key>
-								<string>0.500023</string>
-							</dict>
-						</dict>
-					</dict>
-					<key>Text</key>
-					<dict>
-						<key>RTFD</key>
-						<data>
-						BAtzdHJlYW10eXBlZIHoA4QBQISE
-						hBJOU0F0dHJpYnV0ZWRTdHJpbmcA
-						hIQITlNPYmplY3QAhZKEhIQITlNT
-						dHJpbmcBlIQBKxBFeGFtcGxlOgpU
-						ZXN0aW5nhoQCaUkBEJKEhIQMTlNE
-						aWN0aW9uYXJ5AJSEAWkDkoSWlgdO
-						U0NvbG9yhpKEhIQHTlNDb2xvcgCU
-						hAFjA4QCZmaDAAAAPwGGkoSWlgZO
-						U0ZvbnSGkoSEhAZOU0ZvbnQelJkc
-						hAVbMjhjXQYAAAAUAAAA//5IAGUA
-						bAB2AGUAdABpAGMAYQCEAWYMmwCb
-						AZsAmwCGkoSWlhBOU1BhcmFncmFw
-						aFN0eWxlhpKEhIQQTlNQYXJhZ3Jh
-						cGhTdHlsZQCUhARDQ0BTAgCEhIQH
-						TlNBcnJheQCUmQyShISECU5TVGV4
-						dFRhYgCUhAJDZgAchpKEpaQAOIaS
-						hKWkAFSGkoSlpABwhpKEpaQAgYwA
-						hpKEpaQAgagAhpKEpaQAgcQAhpKE
-						paQAgeAAhpKEpaQAgfwAhpKEpaQA
-						gRgBhpKEpaQAgTQBhpKEpaQAgVAB
-						hoYAhoaG
-						</data>
-						<key>Text</key>
-						<string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;\red128\green128\blue128;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
-
-\f0\fs24 \cf2 Example:\
-Testing}</string>
-						<key>VerticalPad</key>
-						<integer>0</integer>
-					</dict>
-				</dict>
-				<dict>
-					<key>Bounds</key>
-					<string>{{83.6285, 99.3113}, {32.9412, 6.42865}}</string>
-					<key>Class</key>
-					<string>ShapedGraphic</string>
-					<key>FontInfo</key>
-					<dict>
-						<key>Font</key>
-						<string>Helvetica</string>
-						<key>Size</key>
-						<real>12</real>
-					</dict>
-					<key>ID</key>
-					<integer>400</integer>
-					<key>Shape</key>
-					<string>Rectangle</string>
-					<key>Style</key>
-					<dict>
-						<key>shadow</key>
-						<dict>
-							<key>Draws</key>
-							<string>NO</string>
-						</dict>
-						<key>stroke</key>
-						<dict>
-							<key>Color</key>
-							<dict>
-								<key>archive</key>
-								<data>
-								YnBsaXN0MDDU
-								AQIDBAUGCQpY
-								JHZlcnNpb25U
-								JHRvcFkkYXJj
-								aGl2ZXJYJG9i
-								amVjdHMSAAGG
-								oNEHCFRyb290
-								gAFfEA9OU0tl
-								eWVkQXJjaGl2
-								ZXKlCwwVGR5V
-								JG51bGzUDQ4P
-								EBESExRWJGNs
-								YXNzXE5TQ29s
-								b3JTcGFjZV8Q
-								Ek5TQ3VzdG9t
-								Q29sb3JTcGFj
-								ZVdOU1doaXRl
-								gAQQA4ACRDAu
-								NQDSDRYXGFRO
-								U0lEgAMQAtIa
-								GxwOWCRjbGFz
-								c2VzWiRjbGFz
-								c25hbWWiDh1Y
-								TlNPYmplY3TS
-								GhsfIKIgHVdO
-								U0NvbG9yCBEa
-								HykyNzo/QVNZ
-								X2hvfJGZm52f
-								pKmusLK3wMvO
-								19zfAAAAAAAA
-								AQEAAAAAAAAA
-								IQAAAAAAAAAA
-								AAAAAAAAAOc=
-								</data>
-								<key>b</key>
-								<string>0.500023</string>
-								<key>g</key>
-								<string>0.500023</string>
-								<key>r</key>
-								<string>0.500023</string>
-							</dict>
-						</dict>
-					</dict>
-				</dict>
-			</array>
-			<key>ID</key>
-			<integer>398</integer>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>389</integer>
-			</dict>
-			<key>ID</key>
-			<integer>387</integer>
-			<key>Points</key>
-			<array>
-				<string>{277.129, 144.811}</string>
-				<string>{277.129, 275.007}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>Color</key>
-					<dict>
-						<key>archive</key>
-						<data>
-						YnBsaXN0MDDUAQIDBAUGCQpYJHZl
-						cnNpb25UJHRvcFkkYXJjaGl2ZXJY
-						JG9iamVjdHMSAAGGoNEHCFRyb290
-						gAFfEA9OU0tleWVkQXJjaGl2ZXKl
-						CwwVGR5VJG51bGzUDQ4PEBESExRW
-						JGNsYXNzXE5TQ29sb3JTcGFjZV8Q
-						Ek5TQ3VzdG9tQ29sb3JTcGFjZVdO
-						U1doaXRlgAQQA4ACRDAuNQDSDRYX
-						GFROU0lEgAMQAtIaGxwOWCRjbGFz
-						c2VzWiRjbGFzc25hbWWiDh1YTlNP
-						YmplY3TSGhsfIKIgHVdOU0NvbG9y
-						CBEaHykyNzo/QVNZX2hvfJGZm52f
-						pKmusLK3wMvO19zfAAAAAAAAAQEA
-						AAAAAAAAIQAAAAAAAAAAAAAAAAAA
-						AOc=
-						</data>
-						<key>b</key>
-						<string>0.500023</string>
-						<key>g</key>
-						<string>0.500023</string>
-						<key>r</key>
-						<string>0.500023</string>
-					</dict>
-					<key>HeadArrow</key>
-					<string>StickArrow</string>
-					<key>Pattern</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>385</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>Group</string>
-			<key>Graphics</key>
-			<array>
-				<dict>
-					<key>Bounds</key>
-					<string>{{221.129, 105.739}, {112, 38.5719}}</string>
-					<key>Class</key>
-					<string>ShapedGraphic</string>
-					<key>FontInfo</key>
-					<dict>
-						<key>Color</key>
-						<dict>
-							<key>w</key>
-							<string>0</string>
-						</dict>
-						<key>Font</key>
-						<string>Helvetica</string>
-						<key>Size</key>
-						<real>12</real>
-					</dict>
-					<key>ID</key>
-					<integer>385</integer>
-					<key>Shape</key>
-					<string>Rectangle</string>
-					<key>Style</key>
-					<dict>
-						<key>shadow</key>
-						<dict>
-							<key>Draws</key>
-							<string>NO</string>
-						</dict>
-						<key>stroke</key>
-						<dict>
-							<key>Color</key>
-							<dict>
-								<key>archive</key>
-								<data>
-								YnBsaXN0MDDU
-								AQIDBAUGCQpY
-								JHZlcnNpb25U
-								JHRvcFkkYXJj
-								aGl2ZXJYJG9i
-								amVjdHMSAAGG
-								oNEHCFRyb290
-								gAFfEA9OU0tl
-								eWVkQXJjaGl2
-								ZXKlCwwVGR5V
-								JG51bGzUDQ4P
-								EBESExRWJGNs
-								YXNzXE5TQ29s
-								b3JTcGFjZV8Q
-								Ek5TQ3VzdG9t
-								Q29sb3JTcGFj
-								ZVdOU1doaXRl
-								gAQQA4ACRDAu
-								NQDSDRYXGFRO
-								U0lEgAMQAtIa
-								GxwOWCRjbGFz
-								c2VzWiRjbGFz
-								c25hbWWiDh1Y
-								TlNPYmplY3TS
-								GhsfIKIgHVdO
-								U0NvbG9yCBEa
-								HykyNzo/QVNZ
-								X2hvfJGZm52f
-								pKmusLK3wMvO
-								19zfAAAAAAAA
-								AQEAAAAAAAAA
-								IQAAAAAAAAAA
-								AAAAAAAAAOc=
-								</data>
-								<key>b</key>
-								<string>0.500023</string>
-								<key>g</key>
-								<string>0.500023</string>
-								<key>r</key>
-								<string>0.500023</string>
-							</dict>
-						</dict>
-					</dict>
-					<key>Text</key>
-					<dict>
-						<key>RTFD</key>
-						<data>
-						BAtzdHJlYW10eXBlZIHoA4QBQISE
-						hBJOU0F0dHJpYnV0ZWRTdHJpbmcA
-						hIQITlNPYmplY3QAhZKEhIQITlNT
-						dHJpbmcBlIQBKw1FeGFtcGxlOgpU
-						ZXh0hoQCaUkBDZKEhIQMTlNEaWN0
-						aW9uYXJ5AJSEAWkDkoSWlgdOU0Nv
-						bG9yhpKEhIQHTlNDb2xvcgCUhAFj
-						A4QCZmaDAAAAPwGGkoSWlgZOU0Zv
-						bnSGkoSEhAZOU0ZvbnQelJkchAVb
-						MjhjXQYAAAAUAAAA//5IAGUAbAB2
-						AGUAdABpAGMAYQCEAWYMmwCbAZsA
-						mwCGkoSWlhBOU1BhcmFncmFwaFN0
-						eWxlhpKEhIQQTlNQYXJhZ3JhcGhT
-						dHlsZQCUhARDQ0BTAgCEhIQHTlNB
-						cnJheQCUmQyShISECU5TVGV4dFRh
-						YgCUhAJDZgAchpKEpaQAOIaShKWk
-						AFSGkoSlpABwhpKEpaQAgYwAhpKE
-						paQAgagAhpKEpaQAgcQAhpKEpaQA
-						geAAhpKEpaQAgfwAhpKEpaQAgRgB
-						hpKEpaQAgTQBhpKEpaQAgVABhoYA
-						hoaG
-						</data>
-						<key>Text</key>
-						<string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;\red128\green128\blue128;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
-
-\f0\fs24 \cf2 Example:\
-Text}</string>
-						<key>VerticalPad</key>
-						<integer>0</integer>
-					</dict>
-				</dict>
-				<dict>
-					<key>Bounds</key>
-					<string>{{221.129, 99.3113}, {32.9412, 6.42865}}</string>
-					<key>Class</key>
-					<string>ShapedGraphic</string>
-					<key>FontInfo</key>
-					<dict>
-						<key>Font</key>
-						<string>Helvetica</string>
-						<key>Size</key>
-						<real>12</real>
-					</dict>
-					<key>ID</key>
-					<integer>386</integer>
-					<key>Shape</key>
-					<string>Rectangle</string>
-					<key>Style</key>
-					<dict>
-						<key>shadow</key>
-						<dict>
-							<key>Draws</key>
-							<string>NO</string>
-						</dict>
-						<key>stroke</key>
-						<dict>
-							<key>Color</key>
-							<dict>
-								<key>archive</key>
-								<data>
-								YnBsaXN0MDDU
-								AQIDBAUGCQpY
-								JHZlcnNpb25U
-								JHRvcFkkYXJj
-								aGl2ZXJYJG9i
-								amVjdHMSAAGG
-								oNEHCFRyb290
-								gAFfEA9OU0tl
-								eWVkQXJjaGl2
-								ZXKlCwwVGR5V
-								JG51bGzUDQ4P
-								EBESExRWJGNs
-								YXNzXE5TQ29s
-								b3JTcGFjZV8Q
-								Ek5TQ3VzdG9t
-								Q29sb3JTcGFj
-								ZVdOU1doaXRl
-								gAQQA4ACRDAu
-								NQDSDRYXGFRO
-								U0lEgAMQAtIa
-								GxwOWCRjbGFz
-								c2VzWiRjbGFz
-								c25hbWWiDh1Y
-								TlNPYmplY3TS
-								GhsfIKIgHVdO
-								U0NvbG9yCBEa
-								HykyNzo/QVNZ
-								X2hvfJGZm52f
-								pKmusLK3wMvO
-								19zfAAAAAAAA
-								AQEAAAAAAAAA
-								IQAAAAAAAAAA
-								AAAAAAAAAOc=
-								</data>
-								<key>b</key>
-								<string>0.500023</string>
-								<key>g</key>
-								<string>0.500023</string>
-								<key>r</key>
-								<string>0.500023</string>
-							</dict>
-						</dict>
-					</dict>
-				</dict>
-			</array>
-			<key>ID</key>
-			<integer>384</integer>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>Group</string>
-			<key>Graphics</key>
-			<array>
-				<dict>
-					<key>Bounds</key>
-					<string>{{83.6285, 330.816}, {112, 27.4286}}</string>
-					<key>Class</key>
-					<string>ShapedGraphic</string>
-					<key>ID</key>
-					<integer>395</integer>
-					<key>Shape</key>
-					<string>Rectangle</string>
-					<key>Style</key>
-					<dict>
-						<key>shadow</key>
-						<dict>
-							<key>Draws</key>
-							<string>NO</string>
-						</dict>
-					</dict>
-					<key>Text</key>
-					<dict>
-						<key>Text</key>
-						<string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
-
-\f0\fs24 \cf0 testing.junit3}</string>
-						<key>VerticalPad</key>
-						<integer>0</integer>
-					</dict>
-				</dict>
-				<dict>
-					<key>Bounds</key>
-					<string>{{83.6285, 326.245}, {32.9412, 4.57143}}</string>
-					<key>Class</key>
-					<string>ShapedGraphic</string>
-					<key>ID</key>
-					<integer>396</integer>
-					<key>Shape</key>
-					<string>Rectangle</string>
-					<key>Style</key>
-					<dict>
-						<key>shadow</key>
-						<dict>
-							<key>Draws</key>
-							<string>NO</string>
-						</dict>
-					</dict>
-				</dict>
-			</array>
-			<key>ID</key>
-			<integer>394</integer>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>LineGraphic</string>
-			<key>Head</key>
-			<dict>
-				<key>ID</key>
-				<integer>382</integer>
-			</dict>
-			<key>ID</key>
-			<integer>391</integer>
-			<key>Points</key>
-			<array>
-				<string>{277.129, 303.436}</string>
-				<string>{277.129, 363.132}</string>
-			</array>
-			<key>Style</key>
-			<dict>
-				<key>stroke</key>
-				<dict>
-					<key>HeadArrow</key>
-					<string>StickArrow</string>
-					<key>Pattern</key>
-					<integer>1</integer>
-					<key>TailArrow</key>
-					<string>0</string>
-				</dict>
-			</dict>
-			<key>Tail</key>
-			<dict>
-				<key>ID</key>
-				<integer>389</integer>
-			</dict>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>Group</string>
-			<key>Graphics</key>
-			<array>
-				<dict>
-					<key>Bounds</key>
-					<string>{{221.129, 275.507}, {112, 27.4286}}</string>
-					<key>Class</key>
-					<string>ShapedGraphic</string>
-					<key>ID</key>
-					<integer>389</integer>
-					<key>Shape</key>
-					<string>Rectangle</string>
-					<key>Style</key>
-					<dict>
-						<key>shadow</key>
-						<dict>
-							<key>Draws</key>
-							<string>NO</string>
-						</dict>
-					</dict>
-					<key>Text</key>
-					<dict>
-						<key>Text</key>
-						<string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
-
-\f0\fs24 \cf0 ui}</string>
-						<key>VerticalPad</key>
-						<integer>0</integer>
-					</dict>
-				</dict>
-				<dict>
-					<key>Bounds</key>
-					<string>{{221.129, 270.936}, {32.9412, 4.57143}}</string>
-					<key>Class</key>
-					<string>ShapedGraphic</string>
-					<key>ID</key>
-					<integer>390</integer>
-					<key>Shape</key>
-					<string>Rectangle</string>
-					<key>Style</key>
-					<dict>
-						<key>shadow</key>
-						<dict>
-							<key>Draws</key>
-							<string>NO</string>
-						</dict>
-					</dict>
-				</dict>
-			</array>
-			<key>ID</key>
-			<integer>388</integer>
-		</dict>
-		<dict>
-			<key>Class</key>
-			<string>Group</string>
-			<key>Graphics</key>
-			<array>
-				<dict>
-					<key>Bounds</key>
-					<string>{{221.129, 363.632}, {112, 27.4286}}</string>
-					<key>Class</key>
-					<string>ShapedGraphic</string>
-					<key>ID</key>
-					<integer>382</integer>
-					<key>Shape</key>
-					<string>Rectangle</string>
-					<key>Style</key>
-					<dict>
-						<key>shadow</key>
-						<dict>
-							<key>Draws</key>
-							<string>NO</string>
-						</dict>
-					</dict>
-					<key>Text</key>
-					<dict>
-						<key>Text</key>
-						<string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
-
-\f0\fs24 \cf0 core}</string>
-						<key>VerticalPad</key>
-						<integer>0</integer>
-					</dict>
-				</dict>
-				<dict>
-					<key>Bounds</key>
-					<string>{{221.129, 359.061}, {32.9412, 4.57143}}</string>
-					<key>Class</key>
-					<string>ShapedGraphic</string>
-					<key>ID</key>
-					<integer>383</integer>
-					<key>Shape</key>
-					<string>Rectangle</string>
-					<key>Style</key>
-					<dict>
-						<key>shadow</key>
-						<dict>
-							<key>Draws</key>
-							<string>NO</string>
-						</dict>
-					</dict>
-				</dict>
-			</array>
-			<key>ID</key>
-			<integer>381</integer>
-		</dict>
-	</array>
-	<key>GridInfo</key>
-	<dict>
-		<key>ShowsGrid</key>
-		<string>YES</string>
-		<key>SnapsToGrid</key>
-		<string>YES</string>
-	</dict>
-	<key>GuidesLocked</key>
-	<string>NO</string>
-	<key>GuidesVisible</key>
-	<string>YES</string>
-	<key>HPages</key>
-	<integer>1</integer>
-	<key>ImageCounter</key>
-	<integer>1</integer>
-	<key>KeepToScale</key>
-	<false/>
-	<key>Layers</key>
-	<array>
-		<dict>
-			<key>Lock</key>
-			<string>NO</string>
-			<key>Name</key>
-			<string>Layer 1</string>
-			<key>Print</key>
-			<string>YES</string>
-			<key>View</key>
-			<string>YES</string>
-		</dict>
-	</array>
-	<key>LayoutInfo</key>
-	<dict>
-		<key>Animate</key>
-		<string>NO</string>
-		<key>circoMinDist</key>
-		<real>18</real>
-		<key>circoSeparation</key>
-		<real>0.0</real>
-		<key>layoutEngine</key>
-		<string>dot</string>
-		<key>neatoSeparation</key>
-		<real>0.0</real>
-		<key>twopiSeparation</key>
-		<real>0.0</real>
-	</dict>
-	<key>LinksVisible</key>
-	<string>NO</string>
-	<key>MagnetsVisible</key>
-	<string>NO</string>
-	<key>MasterSheets</key>
-	<array/>
-	<key>ModificationDate</key>
-	<string>2010-03-05 15:36:30 -0600</string>
-	<key>Modifier</key>
-	<string>Jeffrey Overbey</string>
-	<key>NotesVisible</key>
-	<string>NO</string>
-	<key>Orientation</key>
-	<integer>2</integer>
-	<key>OriginVisible</key>
-	<string>NO</string>
-	<key>PageBreaks</key>
-	<string>YES</string>
-	<key>PrintInfo</key>
-	<dict>
-		<key>NSBottomMargin</key>
-		<array>
-			<string>float</string>
-			<string>41</string>
-		</array>
-		<key>NSLeftMargin</key>
-		<array>
-			<string>float</string>
-			<string>18</string>
-		</array>
-		<key>NSPaperSize</key>
-		<array>
-			<string>size</string>
-			<string>{612, 792}</string>
-		</array>
-		<key>NSRightMargin</key>
-		<array>
-			<string>float</string>
-			<string>18</string>
-		</array>
-		<key>NSTopMargin</key>
-		<array>
-			<string>float</string>
-			<string>18</string>
-		</array>
-	</dict>
-	<key>PrintOnePage</key>
-	<false/>
-	<key>QuickLookPreview</key>
-	<data>
-	JVBERi0xLjMKJcTl8uXrp/Og0MTGCjUgMCBvYmoKPDwgL0xlbmd0aCA2IDAgUiAvRmls
-	dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAG1WE1TIzcQvftX6MgeLNT6GinHEFJF
-	KocseCuHrRxcZiCmjAFjJ/vz83o0o/nw2BhXBYodM6tudbdeP73mTXwVb0Lh25IV1imx
-	KcWfYi0ur95JLN4FVd/vCzFV0qnqS7SfWqPJg7j8o9wsytftbr4SmyXcGuUq14USzkkb
-	LXlhiiAWz+Ly5pnELy/V7sGnAAqhCytJhyCMj9IqbSZpqU5LL2/L1Xy7/Ke8elm9bJbP
-	5XazXPBWWhPbRRG8NL6wwmiJ3SgKK11B+IS0ECGJ3/DzlJK7uqu2VeLuCrFS9cuUH1wF
-	7JudGhel8qT3vU5QrDvkUC8NwgUZTdRWEJbrQlodXOSSPhzbgvM10hute3aNdxyF5qNQ
-	AsfQiVQXRapWoaV3xhmO+ueZwNZ8oFM8p0TSF4SK2skMVf+VpEKqswdxsXjZlF/E7Elc
-	z5DB3nHn7AlnYjmlvZpyfEfziiiBQkH8SOm4KL3SkS1QZbtfgqNbBGzhAMyib9d475Zu
-	MlY68koWRXAjpbPS+xhxJlYMSrdbfpk0hfuO/7biL9T7vns2LYqaQzLKSGtcEEBWfueM
-	1Dj2yaqqhQI8FeD5/RR3nirTA+50UHUn1Vv01jW2K4TSdFyzLoVS42GS2z8AoDpYD4RG
-	ScFkPABabY8BD02PdapdFYNbOTsx2kttXcZF3wnjol7qRCRZOKfdXmuM4yLbGaNkIEBv
-	2Irs/RAuyMQqTUEKhOXjGC4MKhGCRchDXGzL9+1y/Sifduvl1rQYOdxcxlqpvaK2uTxz
-	hneJM6owmaca6p18xFUxSoOEwSgNA3Yc9voN5Mx5xKo+JvAZxg87OlSFKUBxXbO9bsvh
-	HiAso62MhY0jXaedVKRA4VPTL+/k4vrH/Pl1Vf7UslYHY21PHfYNMlTKRGCahmw4O9sp
-	4oVPxY0xdFr+2LZuTyYKAiYCwVuHKLR3ElXR4vNEoQtTmR5wl4kib9HdtrbFtpkomnU1
-	Z+1hu+3xAbaD6EDxRJ4Ywrnno0cTn4NzZgnu83PhnMnif4DzKb5BxKlV9pE3DueTnJqD
-	ThO7nY7ovF0H0fmd0UpCD34C0R3TUJkC0Z132R1ZyCFcVaDA+l1vXbIFosn4/roa0c0F
-	1m3YCuUfCUYKlq+qKHDLSxuM5pYjLXX1DiJNsZo4vYNxvlazYgZRW+UOeNNkpOMbI2lm
-	XMy8a9+U+5egxDQ0osGNXwQaJNth0ixdPLKoNLt2oGtIIZBAFFCqPAXohvTfoBGS3MSj
-	ls7Z0lCAWAjJEpIEXqBFa+nXUAfuadyBoVCT/Ak3Xv2ONS9q6JRj3sathr1xZ3FokYNJ
-	F+UwfBYb2aoOH+aNFe5GjqQTSFdgs0LmnDBU4DgxnRByxuwT2etAX/t9FfDtpm2RvRTb
-	xDrJ5hSxl4OscwrCowm2rlqtCIaJ8g2aEoWtoULiVsXdXCfaVPzAJDFIlJLWUtAE+4kC
-	ZUrZsUHianSQaA9w7BMyzhihyFcoDpXRVUdOh5VIttPoX4AgYauxGzvSnvBXBc4eU4ZW
-	UF4o9FiqCsRQQKnXAg+Yq2em3+frx938sZzerO/L1xL/rLfiZv2wmb9vN7vFdoeRKk8G
-	R86+RQHDO2cEdDuFcnQqEcIJlTARY2esuyxVou0yBxJMXWxIBsw6gAnvkLo4edfi39Hh
-	JdsSVDhpsFeyPb3K1knDe9aAsjVVQN7BnYzgYIHxLSm9ps6Ti9vy9W/UtNyI6/Xjcl3i
-	cT/9xr/f7tZbDP5th401RA5boxht2OSbPugY6QYQljiQFCfEfUVpeE7JGmkcQfmCBFKg
-	aAWQHg/ROdDRgLgf058zIggUf86o3WOYrtzjOcU0gQHZGAEFnvSjzXAbT/MUr6gtfIIg
-	R7yuz441yhiANT/m9fFcr4jUYwIadbo81+mxSM/O/1hRO0f19T/cRxc4CmVuZHN0cmVh
-	bQplbmRvYmoKNiAwIG9iagoxNDQzCmVuZG9iagozIDAgb2JqCjw8IC9UeXBlIC9QYWdl
-	IC9QYXJlbnQgNCAwIFIgL1Jlc291cmNlcyA3IDAgUiAvQ29udGVudHMgNSAwIFIgL01l
-	ZGlhQm94IFswIDAgNDE0IDQ1MF0KPj4KZW5kb2JqCjcgMCBvYmoKPDwgL1Byb2NTZXQg
-	WyAvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJIF0gL0NvbG9yU3BhY2Ug
-	PDwgL0NzMSA4IDAgUgovQ3MyIDEzIDAgUiA+PiAvRm9udCA8PCAvRjMuMCAxNiAwIFIg
-	L0YyLjAgMTUgMCBSIC9GNC4wIDE3IDAgUiAvRjEuMCAxNCAwIFIKPj4gL1hPYmplY3Qg
-	PDwgL0ltMSA5IDAgUiAvSW0yIDExIDAgUiA+PiA+PgplbmRvYmoKOSAwIG9iago8PCAv
-	TGVuZ3RoIDEwIDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRo
-	IDYxMCAvSGVpZ2h0IDE0MCAvQ29sb3JTcGFjZQoxOCAwIFIgL1NNYXNrIDE5IDAgUiAv
-	Qml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4
-	Ae3QAQ0AAADCoPdP7ewBESgMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
-	AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
-	wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM
-	GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
-	AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
-	wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM
-	GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
-	AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
-	wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM
-	GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
-	AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
-	wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM
-	GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
-	AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
-	wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM
-	GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
-	AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
-	wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM
-	GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
-	AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
-	wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM
-	GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
-	AwYMGDBgwIABAwY+MOj1AAEKZW5kc3RyZWFtCmVuZG9iagoxMCAwIG9iagoxMTQwCmVu
-	ZG9iagoxMSAwIG9iago8PCAvTGVuZ3RoIDEyIDAgUiAvVHlwZSAvWE9iamVjdCAvU3Vi
-	dHlwZSAvSW1hZ2UgL1dpZHRoIDE3MiAvSGVpZ2h0IDk0IC9Db2xvclNwYWNlCjIxIDAg
-	UiAvU01hc2sgMjIgMCBSIC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVE
-	ZWNvZGUgPj4Kc3RyZWFtCngB7dCBAAAAAMOg+VMf5IVQYcCAAQMGDBgwYMCAAQMGDBgw
-	YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG
-	DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA
-	AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw
-	YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMDA+8AAvXgAAQplbmRz
-	dHJlYW0KZW5kb2JqCjEyIDAgb2JqCjIzNAplbmRvYmoKMjIgMCBvYmoKPDwgL0xlbmd0
-	aCAyMyAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0aCAxNzIg
-	L0hlaWdodCA5NCAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvQml0c1BlckNvbXBvbmVu
-	dCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae2ZiVJbSxJEjTGLAQmh
-	HdAuwAbEIrHZ/v8Pm5NZ3VpA8Jh5TAwvRhWB0HJvdVZ2VnV33S9fVrZiYMXAioEVAysG
-	VgysGFgxsGJgxcCKgRUD/1gG1v4ZyNdm9rkBG+fXML3/xGhBl4D632dGm6GuY1NuPye1
-	mdT19W/fMtpPqoMEVUi/bUzRfkqwAVVIN2xCm1T7yWSwgHQTE94M979YDpS+y20JQelC
-	MQinQri5tbW9vb21ADe7W+LgP/sqHEYCv/Kax5xDmK5Mk2+g3zHBDbywO/PmGwXvmad/
-	qxRz79Sjk1iFR6aUzja9Yv6NfwxGN8Xo951dbGdHcBNeZ5qum7/v2XsAvIviDFTulMUo
-	zf80pfMWY2q205Wz6zZj6gV0r4DtBV4RnOQgR1nBGWc44tVfvAetKU0ocajUCNtaML6L
-	8Rbj0KXic/u7ge4Vi8X9/f1iEbwCvCuC7Sfu5+a5QOUQyzH8FdpAGqUmsaORbVJeWHxO
-	EnQ8Hj9dx8R75vcKAC0dYKUScGVieAcfyYHDDYB6VaCY4JrcN8F6+p3AMYliJ5tY2Qty
-	9DYoMkcxsKPQxfqNCwFaBGi5gpUDsCFbEHP3C91CpCET5+AbYBOpGxvOimCHUcM09pxZ
-	hKIIC3waH5DI05fti9JypVqt1apV4bUdHCSGE8VpKrIfxQrrW3D7NlhBFambKX0Z1mqz
-	dw8terCSTCK0BIUwA/T1/lnXgbRWbzQadcHFjFocJwcp5xxkBCpamDE0ncEuLwcqU0Al
-	Nb5rdMix2Dx/MbAHNEmeV8MNlPtTfAfQZxYrorTeaMrAm60u2FwgYZScc7M407TtKQMT
-	2OWlS1BNKkgLwFRSaAqziaE0al1Wq1YgiCT3XBugr66FQWIdpIdHtkOMN8dHR4cGHg6g
-	IRw4ARlPBgMFgZUMvn5dqtg0/yJ1r7ifYHoGEyNNhmodM5qMoZsN0Ip0YGp6gQY4xZOJ
-	bHJLq421uO+Yd51Op91KHgRaDsq6f0aJ81BgtwEryS4jFqywKqiFYghNPCZaBO+43eli
-	HQ2OMaYGkwXjzWbibhYR+OIeQHa6vV5/0O/1Zh6ODlGy71eMDcWq6aqWDwwWFSzHKloF
-	dWe3sH9QqUpn4BQZ2bq9wRAb9BlP1m0LrcxXQlxLVwsc9MGliATeIO7oD4Ynp6enJ/bQ
-	x3q9TsuK8EgxV5qtRr1aLhX3dqUCiH3J6wJUkB4exaR1e/YKtP7w5OwHdnbGgNhw2OuA
-	1own+mCu1xsMhqAjlK6IDHxcfHJyevbzHLOD01O8DAd4SOoQIURnjTUbAosKgtgXhcAK
-	SKxWQcroMWkMwkgYQ11cjkaXF4z3E/txdqKx2mKPiKAPlL6OaE6El8+Ex5XAI8zzi9Ho
-	6iocCDSoh30UoXFseUKOmvXKQSJ2mQjWUMCmtLp/ANTjtsXF2KeMIiZPz36cX15d39xc
-	X40AjF2cn50ME30xvbqKyx0Hv8GlqLxQcBiBXt/c3oYDfOBFHiJE8xFa6bZbR43qwX4h
-	RPAyuYJWp1W1ftjqSJqaNUZmGJjhP0ONsVvwYhB0fsY0IpEBERkhV3H5hdA5QOLTVBDa
-	xeXl6OpmPLmbjMc32a5HXEaAGsbaIj7UQx40ayECBLsM67ryaq94UKk1W11pUw40sink
-	/+j6dnJ3f6/RbmU3VwylVCEkMMn0KmyaZzTiab9SWBhzMr67f8CBAh6PJxOiHnGdw9M0
-	cYfFQ8od1itJsEuxfttAAcVSudo47vSHwadZQWKMLVom9w+PDw/3d3cTBoKfq0vRZ+75
-	2YiMSdMcIAhQJGoebm7Hdw9PT09Ci91jk/ENnhXe1bWErAnUVHXbb2L9+hW1itZq46jd
-	G0pm0qSGzrzcjO811iODyeDXtIj8CwLJkJCkNSmV6nt9lAH1/unp169w8PDw+PR4P9Hk
-	iHHreKQAydhhr32UeF2qATJrS7SigOMuUElZT5z8RDZcQytjzaE1sc4aQZIyDEkTfHMt
-	GUCYJR7fT+4fn37//q1ohRRXj/cSv8KQIrhHYCG2l3hVgaUOPKtZqgIzWk9+uLpcXUGq
-	fFlwqPUBWgD7qMHQwuQ2IyJrNFqY8kd8hW7AEfIeE+qvP39+AxEDKu8e7vTbGMYtCLsL
-	rLVyqgMv14I1ltftHdero87gTNUpTFCXYQVvYM2InHXoOKWfsEbqK4AEKGEVWKD++Y12
-	HSApRxaMby1zqna31axSX7UWLFm3wLq5vVsolUMCKk8pIxLUSK2sgRmvIBppop0rOWkk
-	5cAaVW4BqzSQsaJYIlHKOnRuQgPDfueY+qp1a6lcAytypbaSWaSvzCJwJVWukltMnRTA
-	jEGEeR0p/RBcfKOcwxLWLFegSpPSwG9J4IG7n5AuGhBWZsJYLXKqYEqtgpeCJcvWmsrA
-	LsU1sJ5HEYn80vqCja4hzzUrADFpygYM8qBGCp7+QuUcUYxSzklHukahqmZhgFVuEZV4
-	DQ2oBorWtyXwBaxbGStl4NwFXeuN/lRJtJjHTLu6qkJGAoUEUuVNWJ3TCtCrqoAqRwkV
-	oSJMixqwmnepOQSkyC9+ao/R1hJbfG2FFVbxigYoWeSWSpaqNMaQP1XwyTcvsfbul6TJ
-	EfObpjGwKoqYi6i7qvOUlBQqt6pGwaVWMKtDYCm1VCwU0NeqpSqQdlkvtoQZq3Kr0z/1
-	kqmJj/0UKx/rKMIQRckYRCUGTT7DCu/KLMaNRcLLWcrAsaoZN1q+XMeiIcbRcl4FUcA8
-	rVSsJVhdB/ZZYdOy5Q2L+GSNZkeh3V1WBpyr8gqPtgvsE8Rr6BVtWAFA5U5iTruJWMOE
-	UwqXxtPy5mVL771gs6NtH2uBfZ1WNADWWGIPW92BNtUCqU21tz5sL/nSW2XRnSFo36El
-	P6WHVvrYkmijwL1nukWbNO8ZvBYqPiz2D6SCglXVQTQIgA2xN4Qqrj4ULD0VaC1QIaiZ
-	WA4bscOOHb427WzxtTsNY3q12cacdCpIMiHNs6n9a9yBK0ybMQEPB7Gt9V5TWw+tyMxf
-	31BridZXDoZaY9kPaOGqHx5795qPVZzkdPLkYJj2/tr9a2eraIzAlWmi2RdSNKht6QkD
-	E55M5y1tcrnYpy07MGRFEXtk7VkG7FxbnAlizYp14IVa2Rz4VIAISig2TgWcLXxiBajO
-	a02hjTMp5yhGNgT+QZeSTuu+FlMpktLDbMaBC/XIkw4qnGniGKaDGHdqX81pzqGfJqQc
-	bH0kiOV1iQKElQ0BxAZYcOmU5mOfz5Ucg2ughV21B3RoTKg1pjdlWpNlTjlDjZOYTny+
-	ySdifcen5MBU+LDWAzTTpyM4/RHtWrwTWA6V5ErHLTGrbslh7rCAU12z1JjigO0jtoLB
-	JAxvdkltVmRleKw9PQsnReuDeXQawq16HLkpEudlgHJ+r6s1IKgkllbXZQr4IqwQ65ZL
-	ie5ATVaVVdRZKWFz7SJaF7lt0Wp3+1QN0tnVSVnO6dStg0PH1ch9N/U79MFe40O6QO0B
-	pk89J3W41HKxWF+hFawQm8C6P6TejY1+U9E2azlNSWaQ4zbVLI6GWjkoT2w+Om2mUyAV
-	sGYl9ZEi8vzBqPWi5lK0mxiKvttbYtXG28QKLH0X9d1K7okJZCEal2qmh6nVFk02+DVY
-	UjzVMyW6Co+7R5WyI7an6IiG1/nuqPhwW5HZo+dGP9MdwtcVYKzuvNIj3ol+ZkG2l3r8
-	Ozv6NllBwQQ5zKXAKpeTkduGKuVJPGrShjlQu+Rzjlv/gZ6uS53X11YBcWqTCtTRNLW7
-	2QD5PfX2p834iMU9T/W9aNGocaIaSjq7RjqdBXOumzzn0W8TDW7WKxh1nf3cI3W0X0ms
-	wGqwgZanBGHbti0e8/jpX3z0I6v02KJMMYNZKk9uubGe0z0knYVTROHJ99lj8uDHEDGE
-	p0w4BVQPwDZS8z0oXP66BlhTmx5L+s4t4dywbWYTbCShzjdpCFj36ShgFDHKL1AralgH
-	UQDAh83v7ISPGfT8/zSW1tbX6lWGHmAlBMw+/Y6Xb7L8QT8yVDxm40FLpaqK6z6tG8gu
-	51Qez+j8k7c5B7O3GTuUBCfveFgkwGtGq4e+U2ACuf7M9Ks1AVyqw0GZqqOyQ5WKTi81
-	0h3/BFQ+pmZf00+8mcE2J+si9a9YNbsJbXpqab+69bmZ+0RuAWpddSiUfl6BUjNScARN
-	zx3MPi/yEN+DIs/12/8z3Jk7olww/WLqjday1bomc/Fh+qVSJYmlp+tjxqae9NUrpqHe
-	Rrj46wK0l3emLLQUlGZ+DKYChan46OmU0zmS5KUDj6avFwfyp0UkH/BpAa2ybGY7z5B+
-	wGh/14UKXKpwlJ0olXpVpZvj9O8O8zH3B7Wx1E3LJYVTpeeddedjgLzHS6RL1DdXyecV
-	8hWdvsf3h19DKoQQ5mokBfP9FfLDEb3hMIFVNY7qrmLpUsQvb9z3v/kpozXA6csnBBr0
-	PIPLx89H6dxECt/U5r5fvV0xsGJgxcD/MwP/AuA/ryUKZW5kc3RyZWFtCmVuZG9iagoy
-	MyAwIG9iagozMzYzCmVuZG9iagoxOSAwIG9iago8PCAvTGVuZ3RoIDIwIDAgUiAvVHlw
-	ZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDYxMCAvSGVpZ2h0IDE0MCAv
-	Q29sb3JTcGFjZQovRGV2aWNlR3JheSAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIg
-	L0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae2dB3cUSdK1d8cweA/CyCAkgZBB3nvvvRdI
-	CCe8h2Hczqz5499zI7K6q4VMN/vOd87sqTxnhpZU1ZUZeTPMjcisv/0taYkEEgkkEkgk
-	kEggkUAigUQCiQQSCSQSSCSQSCCRQCKBRAKJBBIJJBJIJJBIIJFAIoFEAokEEgkkEkgk
-	kEggkUAigUQCiQQSCSQSSCSQSCCRQCKBRAKJBBIJJBJIJJBIIJFAIoFEAokEEgkkEkgk
-	kEggkUAigUQCiQQSCSQSSCSQSCCRQCKBRAKJBBIJJBJIJJBIIJFAIoFEAokEEgn8j0jg
-	77Rvsmq68u//I6NOhvH/RQIpbH377bffWft+l+Z/+Y5rvjUgJjD7/zI5/wMPcdUFtISq
-	Q4cO/aB2+Itmv/7hBy7Qdd99ZzBLdNn/AAD+5CEYvgxehwSrI0eOHj16bM/GH48c4TKA
-	BspMmSUg+5Nn6C/+9QLYt2gv4HUEZB0/fuIk7dQeTX87ceL4sWNHgdkPBjIMZuKT/cVB
-	8Gd2PwBM+DoGuE6dPnPm7Nlz5/ds586dPXPmzGlwdvzY0cOHA8YSNfZnztFf+7ulwb7/
-	3vB18tQZsHXhYl7epcuXr+zaLl++fCkv7+KF8+Ds9MkT0mSHsJVosUSN/bVx8Kf1PgLY
-	0WPg69z5i3mXr1zNLygoLCq6tksrKioqLCgouHrlyqW8C+fPnjkFxg7/gD+WQOxPm6G/
-	+BdjI02DHTt+8szZC8CroPDateslJaVlZTdSrYzGD/qnrLS0pOR68bWignxAdv7cGfSY
-	qbHEF/uLI+HP6j4q7DtMpAB2/uLlqwWgq+xG+a1bFZVV3ip3topbt8pv3igtKb5WcPVy
-	3vmzqLEIYilDKT42G+ZW12WMTL84+E67KuO+8IP9IfMbd7vsb3/b+0L95cCu2+27f/OX
-	v/Vn7Rjol5elfmPX79OFvR+uv+xzY+pPui71OPug3xx8q12VeePBP0mFHTp89PipM+fz
-	rhRcKym7eauy+nZNbd2erba25nZ1VeWtm2UlYOzShXOnTxrEgi8W9VSsrAhaMWdfNGNu
-	I9oWFy5qJoN97ozuS/G9kaDsC1IStG/cY+y6MvPC6DsEu2w74N/ADXs8xX8dfWH0PH7O
-	7oZIBJnS+2L0sYdHj4ru/ELk+kX0Baneq0Nq/7fDjnWLtSwVBsDQYHlXCq+XlVdW19Q1
-	NDa3tLSqtVhrtuaf+X9zU2NjfV1NdeWtG2DsykUsZQQxpladTVG3uxO3h/XriLYN2QEf
-	tEApUTjn+wXjG250YaXTCinISLxq9mUILmOo+iEuzNSFKYQf3HWjnFN8s56zy0PCU1Pz
-	ZvMKPe39OugGROASMNo7QwQutvjowxjDsA4Q3t5iP2jGchn2TplLhf1w5JgAdrWo5EbF
-	7brG5tb2zq7u7h617i5aZ2j6bK2zo72tpamhrqaqvKy44EreeUEMd99n1kSUom73Im6h
-	bcXailATbWvN0HXQnSm+V0syDc8Im5K/faPgsgNiAf4+hX5d7Bu4Ppuui3COeu5374oZ
-	e1YaLb6ePAuy6/WAXx2QCPaTQObobYwRvAKl6Yx5FmKPMI/ohen9nsq3ZTnsnfiSDkOF
-	HTtxGg1WVHKzqraxpb2rt29gcGjY2tDgwMBAf39/X18f/+fzwID9pq+3u6u9pbHudsWN
-	64VX8mQoLaJUb7+zzmZQt6czGlSu0bYx1tamOwxzzztFAfuNfqejU/BES+gbtOqF2gBb
-	QSyOsTCH0YWmEfghwqkJWnLOogMSeZpvzniKy9jhYl2SGrIkSIyfjndr5w1Oe59I0d5B
-	druNPr0+Injt2ffTp1PSS5PlbjZNIP83w/4SYH8zFXb81NmLVwpLyqvqmtu7+4ZGxiYm
-	p6anp6emJicnxsfGxkZHR0ZGRkf5ND4+QeN3o8ODfd0dLY21VTdLCjGUuPsGMc20qLVj
-	CGgf6tZY29PgBdLWUgOscfDBVMTu3JX1PXcWvpc7RfcesTnjiTS/W/kuy2lFyYbY5Atg
-	0URYYix1oQvatcdBHaDn6Q6k+eYdoo0exYCYc9Ikx1kUAZS7kYdR3yyrEtHe574UwJcP
-	1wKL1ka877sS5nGxa4HIgMgjOVju2Q17hxTsRxB2+Cg28nLB9ZtVdS1dfUNjkzNz84tL
-	aosL83OzMzMGtSkwNzMzOzs3T+O3U5NjwwM97c11VTevF1y5cPbkcXgxenzokISqzADy
-	gboVd+vkLf+GdgnONu/ieaiOM6cCxrTQdePx+J26NbP5nSm6F/fPnAvL0lvG6wQtpeFs
-	LlOj9llHnHbhca7ThSlBC6Q7u75vB0A5tzPmzMfoeeFR0guCyympIZbTiWN0eDfyMADM
-	RHeClRlob5OdBHDFpbBj9J5QEUh267tuU/Nb9f9dxC49juBzkfs+w06JOv7BjOTJs3lX
-	r5VV1DZ39o9MzMwvra7dUVtfW11ZWloAUHOzDq2FpaXllZXV1ZWVpcX5mcmxod7Olrqq
-	G8UFl8wV02xrOZyAWjt/Ie/SFeNuCwozG4RtQT6U7eU852zBmKy8ku3gy+901hfe15ru
-	SLXYra7IQJlUkim/aC5dwWXMvWbd9KvECY5lNjJ0KF0/mur6AR24xAI5ZzkNQWYnxKJH
-	6esMLqZQUH1aTyEHkmEn4zeYAOAlXXZx4UkEPnpSKmctoeKW2rRQuu/Zid2NgMlOyyAr
-	ue8/7Diu0p+/+e7QkeOnz18qKLl1u7G9b2Rybmn1zua9Ldq9zc27d9ZWl02XzS8soNeW
-	V1fX79y5S7uzvro0PzMx3NfZXFtRdu0qrphoMdNDwOT8xUtX8sXdFkPe7mzXIWxhbEkM
-	kBeweTIbotXOOLnzKhkF7tzl1pJwL4Jmjs+eEUSscTN3a/ErnRWm0uY+mkpiGhF/tlzt
-	QpkMsqtup02FGsL37wDPp/OF0M2XWR/cLzVmMU70HNdgwjJfd/oMK81UEQpEoIyRh+lJ
-	MIChQXUDAshDAAVkVL6UgI3eH35RDxdeAZnEnup7tmKXLmJp8x+y02P3k3s2w06PJ/7p
-	7998f+joiTMXrlwrq6xr6R4CYOubWw8fPX78+NHD+1v3NoDYyvLSIk3qC3zddfiBvzur
-	S3OTw33tjbdvlRRevmAJJFSJpHThklID4m5vlsPeWitXu6mm7EBpyXVPCwgn5r8LITbO
-	cKdu5d7UXdyo+3VzCWxvISkF7jXjI6fYzLIyqthfpbPMhGHBooCSWXSA+XKNLpQeAmO4
-	ZKYE6TqsoHd9lw6E3pPVgG7Ov6L1wSy7FosjTMoSVa6VBlyUgyPVJlBK9eBOxPrFbGAj
-	xUma7j+npVl4rbgE2d3QiDMaow+SY4WJiFRe+IhUuCnfnMSu1YWjoKWJR/N/MOw4rtKf
-	QdgPxzCS+cU3bzd29I/NALAHj7afPnv29Mn2wwdbm3fXDWFBg60BsK2tBw8fPnrEHzfW
-	BbGeVuzktXxRFiwKOnzm3MXL+UXFJTfgbquqYG9pt2/frq4OSYKqqkrSApYVKLKsAO7Y
-	aayW6enL+YV2ZwV3VnMXt6XvC0mGilvloKy4SFMMluTkmFK6eAnbRnP1ckrq5RAMik99
-	YJaPuVqxC2Wogw6VHpSJZoKz7gAgBzIRxCIkS4VJWYIXFEOe4OK6GMXNaFE9DjGYnQiT
-	qRuM9ZbolFVRUoXBe/NPjB/RkVBhecJ1i4iU05nqew5i1+oMK1uCz8te7nsNOw2qjE8g
-	7PCxk+dkJGtbuoYmF9Y2H2w/ff7y5cvnz548fmgIQ4XJu8dKosNA2IOHj7efPHmy/ej+
-	5vrS7PhAZ1ONKTF5BjJ0AIzcwI1bVXC3dQ0NjdYaGurr60KrBXHVVRW3gIklngQTCoYI
-	DFB9uhPWt7auvl63cl90G//6d5BT0N0l1wrJWuH1086b22cGQjbMsllKNWAnw0SaCoP4
-	07STHMMMXyOHzzS5pEUOYNJC1/fsgPWF/tP9cqObgdgptFgayc5hi2I8fe5CNG9S4loV
-	8NOGyTj0BUnL2504JURKAOUVyA7hMV61mADqLJ+iZxcXKp0CSFwP0fe8nMRuA7fFKZf5
-	ALlnMewMWMV+MISdOn+5qKyqvq13dGb57v3Hz16+ev369cvnT7dB2B38MIsoCSIXllbW
-	7mBDH6Pjnj9/9vTxg831xemRXlNiVxEdvjMK9yLdLbtVRWqgqaW1rd1aW5vSA83NzU00
-	cENKAJRokhwluMJYOBZ8cVl51e06JRVa29ra26L7uKuZPIM1pRTqam9XeUbhct5FWh6u
-	cb5yqiTsZYCZyQtn8Qxt6m28ZoikV0ycXKgMfloPquc+wVl1ALa5urK8TFygK6W4OYbD
-	FsUYW2mmxqt0Q5HkZFosZr8tbwfALly6WnSdBXa7Fgk0abwhqeIDlwCbGhtAGaLTVwli
-	2DpchKjvWYvd1haOqC/sqwXZyX2fYcdAlfHx75AVx0/jht2obuwYGJ9fu/fo6cvXb96+
-	ffPqxTMQtrG+sjQ/J75iamZmbmFpdX0DhD159gItxwUPNlbnxwc6Gm/DWFxmuKgiqYHi
-	slvkBlpIDfT0elNyoLOjI8ANuTU11kcgQeGAEmFE67eimjvbOrrIKXBrT0/6vo7OTs8o
-	dLa3tzbD9lbeLC3GHSMeJ3qS81Qq4yIbyu8R/9lTx1FibiZlJJV91SwWFutCUyvSKqxm
-	BQcECVrKZbcO7kBIaVRX3ChxxEhZBnPs1tgAdkWCYKUBFhrQoMcl1/IVd6tjkXY10vuI
-	8nYArORmJQusqaWtvcNHq5RKh5oSK0iQpdqkbMoto7olczkJ1vfcxM64LyjGpVwrn3Th
-	fznsDFTFfzCEnbl4tbi8phkjuXT3wfbz12/fv3/39tXzJ5jBOyuLczNTE6JdxyenRWTc
-	2bz/6ImpOTD4eOvO0tRwd0stZpLVfE6zJIBV1DS2dHT3DgwNi6kdGRkeHhoY6O8ztPUI
-	bR3trS2N9TWaI7nMUDXooMJryLemQVmF/lhSIdzX29vnSQV9UY8yCrWmxlSuJqMHvmSY
-	lZfX74vygZjZSU295v2HIwIYvoosuHmHqCFhUabWRG2QyK4D3Z3tLQ010M1F0mJSlgEw
-	hhdBGVV+/UZFTX2TknA0bmisq75V6hCLYRL7fQhXxfN25ZZW6ey2wQ4Oekqlz1o/mRXW
-	HF/U2txQWw3EpKnNwzA7V8zTchE7kby0P56J0oX/5bDjoMr4/PdvDx0+cSYv/zpuWM/w
-	zMrmo2cv377/8OH9u9cvnjza2liDkpgcHwMiw6NjE1Oz88tSYk+ev3zzRmruycPN1dnR
-	3jbz9dEFjPRyPmqgprEN7nZ0fBLNB2M7PTU5MWZfMoTQBgURkk6tTSYnQQx2LL+gqLgU
-	gHFn7+AwWQVvE2OjI8N2F3msEaUVaKMjQwO9XbC9tytuqoromswj1kU5+6ZmLXFTFsS3
-	lsxSutQs10kAhp7kKbqQ9D3zhLVRoZuLmq7fzqID6hIdaGuCbtbSOpdWlgHK9qTrNxhO
-	a2cPSTiNure7vaX+9q0yj4oMk/IR7Y6jGFUlhsurSat0aWkyVBIo40qfaIWyVNWGhwcH
-	+nq7OloF1jJzBuKLIwexa9hUK19SwZYA9l8MOwNRO38AYUdAWEFJRR1u2Ozq1vaLN+8/
-	fvr08T0Ie7h1d3VxdmpijCkeGBweGZucRokZwl69fff+/ZtXz7a31ufH+9sbq28qA840
-	XTYxNbR1D4xMTM96bsBTA6AsZKBMTNJCTYJCaTHUGAF9CmD9w5ZWILjw3AHgRMgkrcYn
-	SWYZYgHs8EBvB1qE+g4cr1KCr4qqmgaS9jIkUm/lpdcw3J6SV9oSMuDkGQEMP4vsq/xD
-	rqurEsQKTIki6tLy6vrWLuvArJ7vHRjX8+nBmLJpSqfZihn2jAaaxJEsMyluPiikSwXF
-	NyprG9u7+8nCjU8w9pHB3q7WhttoMXyx0yeOHvY7UHpSYZa3U1qlo3cAAWig0NyWUWGt
-	RQuO1U6+rt/RXY6iRugXEDvmvfRWdS5iZ2GL9ca9UGx1u+G/GPZOUGX8LISdFMIq69v7
-	xubv3H/68u3HTz/++On9m5dPhbAFmHs0xkA/EBsdn5pdXL279ejpi9fvpOjevHzy4O7S
-	5GBn0+3yElkbqVwES/ZpYHRybnFZ/KxSA6vLiz5ZSnRKSEMDfT2dbSh7zTDBH14UJEXF
-	7fqWLksrLMK9rYiIW8AJtJvGmd0Z5awWaLiGnlDAUFXcgja6VUF8oKy9nLfuTrQLS7zY
-	5l7ZLFINkBHSYPgq1XVNbZghrjMtZBBD2Cbqytrm0IGlFZ6vMBovwdcGAJ+eceDNz89O
-	T4wO9rY31UA355sSw0x+Y9TpYRQSlSokSWoa23tYaeq38mzjw/0GMSzrxbOnjh059D13
-	cIvst0hvSa65szeet4sSd6wr4Q3ATQEyVldXW2NN5Q2ZeDJwUGgqW8hF7CzAQpmOqwVF
-	5oNFcv+aYUesSwayoh8MYWcvFZRWNbQPTCzcefjs9ftPP/70+dNHEPZo6+6KEIZm7scH
-	Yi1OBoS9NEX34d3rZw83l6eHu5rhK6R1caaulZSTHOgfnZpfIvAkOXDv3uYGrJpCUgmI
-	bLqvQymxgLCiQvwoeUeYiL7hyZlFYlbSBneUUdAUgzHUF7NL1kpJK5JZi3PTlrPC0MIR
-	VYoZaWzp7OkfxKAM9pMvxR6RzbpMRCnW3nhgPCP5KvXN7Vw3JJR3tTNPpkXzsdKImq73
-	0oGFZcubrUMG0m17PlpEPTDiWdhfmJ0aA2KNWltXLpw5cVS+vqzxoSPH5IQVKUnS1jOI
-	zOaXlsCq/I2RgS6ybBYWyYArANUt8sLsDiDZOzyOpVhZXVtXs7wdNkALS7S3wvrpyXHU
-	YWdLfXW5KSKkTvAi1yQHsQthBXCHLG3zTf6LYad4vQhUGf8GhBWWVRFKTi5uPHr+5sOP
-	P/0ExN6+fAbCTIfJ9qcRtrEFn/H2gyu65483V2bM1ccoXWFJFLoKG56cW4bYeCBqFm5W
-	uQGlMudwyuSTqTJDOqyeCrNSyH1z1OWEtXYPjc8set7Ks1Yey2KZbHqVVVBTzkoQA6Tw
-	HqrJrcfJlX2h9EP2yCwoEJMfroD+tKiIQnlGDVw3KMNFL/q78IwUbWCoITpNDQxaBzY2
-	WRmbG3oQGVg6LQVGRQB5szV1YY0OTI0JMJU3sHrEFI4X1UKZNaaQAIU8MDY1B8djd6zA
-	T4/0dzZzhxK5pz3QFU93+Nipc5DeN6rqbPzC98amNXVAeTva8rK0KnlilOr4CCa6sYbS
-	KThrV7/W9+zFTlCLDiPdIHqkmp5+/bC/zUaHCWGdg5NLm49fvP34+aeff/7p07tXRIob
-	EcJch5mV3IAxe4Up/fzjpw9vXmzfW50Z7mmprQBhjFV+dHVDe28qOfCU3MBjJQcEMddi
-	IMw9da8vg5QyFUZgX9fc0Tc6vbB69979hwDz/hZTLC2G7qNBlki3bTL398g1LGuGu9uh
-	LWprYXabWswiAcRZWdC+rtbG2kqFlEbKegiCj19rzjCOHm1ynJwX3roMNTurzB1p6x2h
-	A7Y4eD6pMdE1WDgaofSiigLuavZZMkvzkyPKmZWXgJdTRr19axErNjL/Gk5Yc2fI83ID
-	ityzbKi9GnPFBMpD5Myl9TCSlwtL0EKkVaYXVqT776vRAcMYHgOae20NfyPUHJAQljZE
-	iRUE9Sv9l4vYwaYQZoEPt371sL/PEWEv33366edffvnp0/vXzx7f38DTNz+M6kP5YdNz
-	S2ub97efvXq3G8JYE+KTapq6BibnVzcfPH76/MXLFyQHRP/fZapkcKTCDGAdcvRRYXL0
-	0dWaXy36CZTfPRJX29tKTG3eXVsRwlQ5hI1UTgHhP2DyPWXV19UG0QT7D8C63YMjUa+U
-	fH+XwCM2QjGTtlBhSKrqmrhsmPoRrN0ChnZQjhEB6XXCUaxFbVNH/7i0731oZVsYwgVO
-	l+swqbAoMUvPlmYnBrtYXGVFMpNiuCi+dKe9qFRGq3doYnZplTTI/ftaLndXl2bGB3va
-	GlKWFb2nDFNmZljKX3k5qX9bZHJkgZdpb1Saxoe97W5rgPuIpEfxaHMuYndHXyx1KWWB
-	yP0rh338CM5Bhlnc8cM33/1w9OS5y0UQrl2DU0ub2xHCfnz/+vn2/U3FkuPYNGpb5YZB
-	iJG3dIRZOJBhJfPzoe7k58N7LN3Zevz0xcvXr1/BzD55/OAeUNFUuYnsNz5LACtDRNwX
-	Ima8galFElePnzx99pQpvn/PKN+AMM3vxj03vWRFVxdnxgZ6OlrhueG/ifExsPMEFzhP
-	rItRC/VgjUrJkjsdSyCBCzYwgjeJn6P+TI3grCvaoGYDiFcj6qEpMmf3H20/CYlZR5gc
-	QekwJTXUA+b+Hi4E97fVk5W9evHMSWJDGm6+iu0wuGYjI30ouNgd06PmimEn887DcVgJ
-	oEBJZHBDaZWR6UVF649ZYduGcRwMR9i6+wfyzBZY9oMyk3Bi16hvuqb4pb41J7FjceTA
-	KQYlkOz52mGfOEKEswNUGT/uj7AHm5iCaZTY8BDcqfgwNPi9h9vPX+GHffr0AUv6cGNp
-	asg8fWgtrLpE2947Ore6+fDJi1dKDoT80921ZSNv8X4UR4p+hJgWVRAcCcxKE0aSxNWW
-	JQ2k+yxtJSs1Y27YylpIi6LgHty7szw7MQQt1tpCiqm9E+hMQddhRbHIS3PywztacPSU
-	/qRS4SbsurlgY9SPyM+RdiKriicF70sGqfSmSKHe4ZnlO1twykqLoXtZGcvyfIQwXPYA
-	cSk46OilmTGYmtvl1/PNEQMuYnXNpcJGdhC0zJtCeiTA2B3L81SjdDSp4Il4Unbye1d7
-	UJIWIWHnkDB5ObkXugfVJ4iZCktFP2jf4d4OAllcSDfwilv7chC7Rf5Ko3iI0DvytcM+
-	+jUI++XXX3/+/P4NhBizSMw0CVsKGzQpwnVtA/G/eP32w0c4M7EVdxYnBzpVwGMII5K0
-	9NPC+tZjcPie7AAQU/5JM4UKC05+ABh+krgoQlBoZdwwPGPMqxjdV6b7hKM1+bY05ndl
-	fQMPjby79AthCNPV391BHgUaDIZ3fHaJ7plBwkvTJHQajskjwWYQbLai58aI1ChQwsfB
-	ai1MDfW0QqqRZ4KxrappgrJhcaClyYq9dIivr5qrT9psbgElGmX+1YGV+QnP+xfknSN9
-	ACsSokKzkT3oVHVIHX4iwHipwMSQaR8KnowUO3RIWfJzEEa4FyTu5lagg1TcYuUtj3AU
-	UGLrAWAbVpiH8g2VeTia4puJUVienQPj2Ysd99RJZqJr+QZfOeyzJ4/+8BU6TAj76WMI
-	Js20TU6IjULCa3e3HiL+N+8+fPwI7/98e2ttnnXcQAQuayedW2Mxw90HT6A07Ko3SkCR
-	HlheIAgSXxg0GGQpsIRPJyV5tTAEchMS0jNSozHdl0IYGgQLtS35P3mMCV+YwhZ2kh9v
-	hwjD+s1D1jGfjx89IN01P40jLzfNg032ULXDpY7DRKzLzeKieyghzKRln8rKjCzxWSKx
-	8erNm1dATBfJEXNHMAVx68CDTSA+aPpbrj68G0WyUGHYSCNuB3DaV82nxOYLMIDSTXtX
-	a33VzWLRaILlYfSelYDWAJKJ+VVCqSfPnj23OyhvwUyixDCRd+9ubGzA4SiMBWH9nS1s
-	kpAHiQtpvhShWvZiV6ZMRQBGwuH+IvevGPa5r0DY+08//0qTq/98GyW26hGgR+ryQQEY
-	mcsPRrg+fbi5QtaoVQE4wS8Iw9EnwTm1vAmzRjjwI5ru7esXUGuegIJbg5CWBrutSgOl
-	PS5euEDVTqFF993DlhpFR76LdB+OGDrEdZhrkG3kL9duc20Br4Zvo3WQahqbRjk9tNq2
-	bYABlcc0oOI8FCCb3jOAj69A8QFf8dQwOjfW39EMO0tp301y7gTtk0t37uMGWPL/uSf/
-	QzSrxL8EYKUlwgsdmBzC1VftEvroGIWAx9FGRju0UJBuNhKXDnw9f07EI4iheKdGIUnq
-	KrGTlnIAlsa3Sod1WogkhD3HSnODXFHMJFoMhFkMq+pirAF+pqi1curkUGGikVu6h3MR
-	uyWRVaxkBDkp6a8YdsElVHfOOuz9j7/8+o9//PbL5w8ose0HKkE0Pkb8vMRL8dgbAPZR
-	qUtiATLf5oYZWSGEVdQy1OnVe4+fv4G7/fwZb+3NS4gPAql5eHBLKEYAw0TmUfVshQHX
-	cXTxVaeXNx4+RUfKvL6Mku9yxGQlgw6TShDCVh1hqtjo7O5DPcmFs7IPkMHaWJyZGCEb
-	qCw7flo3LBhkLlQIi4TakOdkxdYXzBG7TR3RjfLK2/XQUVN0APVLB97iQVr2X4tsjmyC
-	VZZYfabwwiPWF9MIg0GlQYVdKSqV3ekdJo5UvTAAe/7CalFUDwXy3RWDoxYpRpEq9ale
-	xh7XYY6wJ8ERuxMBbBP2WrwPbuZAd2s9gQxniChIud3QhvByEDvVJFS2XsonwHBwfsWw
-	c0UYwr23/er9519/+/3333/7+ccPIINVpzHRNnBAHjE1rxA+Tph5YTD6Xr1TTQKYMhqR
-	FRWEkiMzJDhJP4m7/VHumiNsjrzJAHvgSNuaBlNWTaUBGina2kIpS77jwElFvnqhEjTK
-	O1IIC36YAs1HUCnEggNEpbSuHjiIWQsvMLDYZVMXolrIsFAB1NXTp2yfpSRMC5t3yPrA
-	zBEOVJJ5UiSgWVpB/b56gwfpHXgoXx+IWXWciDr0n0gYRCMd5lYSHUZFjhIH0Y4HBbbm
-	hPnlL+VYUtUpiC1TGNzb3kAqVwGCalRVuGN+WLCSBBqKNKRn3dX3CXAmkOlYXZ6fGYdu
-	xv0lRlHWX44+3noOYj+tunMlt8TzfuWwhbBc/DAh7MmrDz/9+o/f//j9H7KTBrEH2hWy
-	Re2+al+xj6DrR5gKgPNi+/5deTIYSaX5aa5zqWRcA2HvPn0WwuxrpMNsvpW0hcq3Yjy8
-	TRHuNlKtJQXrMyxD7KscOHTIMyHM/KDg6RNL0pFtsbhbNlX9lNEEhOGG3XsEGQw2rPZI
-	hnkOtWlcC2zeBD6+BSqEIO+kIp8SCE8OdcvVd4SR5UEPUF9iboB1QEtMVZg0L78MiDGE
-	4YcNdKnCtwCEnTqhDRXOOrR2D45JXQYNJny9duJGECOEHeyWnRSPRo0qhedCGLFk8PTN
-	1Ac/TK6+ljg2MrU/h0TDLGwvwSRytECZdAgRfA5ipzaWx57LozIQhEnuXzNsVkjOCHsN
-	wn7/459//P4rSowSnmf4zdB/hENyv9+TLAI1yiqJqnh0b02+rmRcRApWNdBY9VaKNNa2
-	nrx6/+mnn37myveY24Cw0UHbxus0Rb6K1k9JwFSuaKRWZeuKHhjzdDPTaYQtkk0hCrR9
-	Kkz8Ovyl2Io2CmnFVUzOr0elIer5U2KBdYtfyYOqum3WfHzMqCJh4hT6v7lMdVsMYaYH
-	UhBXB+St2V4FGDTzQk2DZZZfQuqDMHJTp4KNVLZIqQkAFi4HYKjW16766PjYQKdyudhJ
-	tktxn/arxtkKuZryw2yvBBC7q1RGiueHvSZUNkdMpSXUU1IuAlmRi9hRnSqXu1LEFiBD
-	WO7DNpImF7bCdBgI++33f/7rn3/8Jl4fVwhVTaz9zLwv4GVhAKGmbOj2g7vLM2N97eIc
-	LSa8TG1YQNj9LxGG541bpHoGuQ+kc7STwbPSmpmyynqwiQ7bxoNLIexhSocRyuKIiSCH
-	8FQaCodmdABPvqUFLx5C3xAWMqYfCC9CAOuJa6NLcYuoC0HLQeahg0UXT7OThQINtjRh
-	Jd3S4EKaEsWBfIXrBLer5CDRnLmh5udh8J6yaJZnGT3m7jpI0Y4UqSIDCtmieTGHctnN
-	B1NhegQxhSiiehuqldGk1P4Upd3aEa102+gMjLNMsfgNqWqx+gAML3/LRx6yA7OY2jYj
-	WtiUdKuqVkTL7Fr2Yj9i5Uzn4wjLbdhsk4VoPpEL4+oI+xhH2NtXQIwGP4Xf/vmnX3/7
-	Bz7a77+ZCX32+J4FU1qMhSriy7tEyUpKh73UDUDRrOSjLdEHY8R2xJE1qg+0nDS7k8JI
-	2Slgd8qViBBmRhrqXHXcspLKGuEPmrEAeFD67Ahuo3gdRx4iIiDsI+GFO3+ySFFak6oI
-	qBY5+YyES9St59uGMOZpJ8KkrD/hCUqHh2jurqg4OQoyeIgF/BrZ4TuthLAzuDWmimHI
-	lftSakIAk5ePnRTC3rx+RWGwPEisc0tdRakOZJAjqtJzD3VEuZA1i5H6iiVlJG2TV8jX
-	Is2pUZKi5CMUBls6TAjbepKl2LXL0qiVwtKUDkPuOQzbg+GcskaRDpOV/OfvRJPYt1cE
-	TSmA/ay//Av99rsQ9uqpqTCRYTeKUUiQDlRp4ukHK2lDDZ7+U+KuZTLVJKRVV6OaANXR
-	azdQRCL5SNFheyEMvoQdwWzY3ICPx3AtzrIfuIsqwkYlJbtEoGMlX75TfGFdV7Do+wxm
-	KdAibe7lufhYHuPiR95bRYftijCLZd6iw4n/lIAG1w+selw4EVdHeW8gK+DntSeDPRU6
-	/ENszQDMPJooAOzFC9NjDjGFL2AT7SeeuhztRx00Z5sawrRjdWJOEaiKUh7blkExrjGE
-	ebZSyw5LC19xWy5kOUQL+ZA0wrIQ+yE2aIolKSzVjJn/6ysbBzirYTtHQ0nJ/pnveNYo
-	ePqfzdMHRPhhZiVlIjUthAB//Otf//73v/4phL19QX3rwqQqdypKVaxO4/we6685BMHT
-	lz9FdgCvaW5ylLImN5K2ScdPTww0ZWotpRFmyYBgJadJfQtiSiiqbEqU0AjZ7ebG+rr6
-	hqbWTsq6IoR9TiPMsqFU/8UQJm1sLEo2CEPlmKWSgQIwyOEd7Y2064ONlTntgjEn1Cr9
-	2WtZfEOmbmRqgeSiUk9osBeKCuHDTIu9Jc5VrmR90VOaBs4U9anktSIEeZvKfVp5iakw
-	xfKWkbWt0oo+lH+SC1nFPjl2J6ksxRHmAdaBYlcuQUzvrgjLYthaHcpk5IKwwcBW/AJb
-	QSj540fzdMmoISn4eRCGg/af//zn3yDs84c3UBUrrETfaKQ1LForjbCUNgFhtuAV/gz0
-	draaG3bd9gJ9qcOitWSxpNgK89ZDXlCGkpoINWh+nDopxLoa9laqNmxowhBGxjRlJS0Q
-	VUYgVGZAsFtCIlTxHmAltZgRNYzBwwfMtwAGE/j+A6Gq8S8YSQyV0hmU6sOQS4WzwGBt
-	ZSNFTYvVMCMgOwDE2NygXVzPoRlX56nLsMJN3yRAkERNLOkbSjeVXMXpUvUO2tP4Vttr
-	T0mTak6UsyA0X2AfIWaScwJvxRCWtdjJcO2iw7CSWQ07ne//4fv9KxDjOsxrK4zT/02R
-	JCYSE0ETT0G9jumwf//n3//64x+/fHr/8sn9O4tTeJv1VbDT4rXMSrgO87A5Za9s29ui
-	Sk5Mh6nmT44+cZQR4eKD4h4nbIXXaDurpeLQifFxK6NWPbIqkklwUp+DPmRjEfWHqplg
-	XsWRsBTIJAS+AmMCwCgYCjkv7TGA0TvI0ze6RH7YGwV/IIz2OOQyPoprFtNxb31hiso4
-	qye0anlSMB4PjmrnvAAm/wuE4bM/lSEAYSjAnfAkMWs7+UIKeniSgp+oRMiKIMkZEWZQ
-	tqQoWggj78/CU9qdfARl5BUkXeubyS3ih6UQhgT2FXumd5JmibIdtgyX1SxFm/IyKirS
-	P2QgjApEOuj1Yc63PiKScQ/kOdXVPyvKxEpCx5qRhKoISZMrtleSvbiucwMxE/O576ta
-	VqGkivNhcbSJzHbFi3C0rV9iK9wfSHFaQYX5bqeRYe2+8R0RKk8lKjXmtsJL9Nl6Mg7C
-	Hmsji7g0bBGZKmXwJtmDMaIj0Sg9Eh3GalFOIsVW7BJLGh/GFUpNKnNDMzbQPGEWudv9
-	SA2JC7RieedqyHxZbpGg4CUs6wsF49iBpwShr5UqEM0GPuXEycMgDKe4xPYiW9m1lyB5
-	isgqHVVZocOQFGmIClSMKTZwZW4CR6yB7eeVlSCMNFUKYSklvo/YSXF5BiLOVrhgshi2
-	kYCq003t4ktjKvNTDGGhxtWrqH9U4hu2UXn9O8YDvXjz4TP2U54+bthHhfqIeMATv5cv
-	GDWfiTA4/fhQpcPYbWM5SWr+tIlBfNhJtvMHbtkZV22o01o3X8fSi74XhdMXw8GMVNhb
-	clNOiEdSNWyVGRibzWBclQO0+snULgPfx2LhZMS4Bj4sHUsOG/WImjNOn0g6GEnT48ai
-	fPrk+TJxFf34CKoq0V4lbVHwKlUVxz3UnlLn8VWG466GIwyIYSc3ottVMK+6J+0SaGjt
-	Vt015WsW0VgphcoPBbGIbKauJ2Q0xBY3sq+5qqo6hrAsxc7KZgP8RQ9+A+Oa3bCtZMky
-	Eu6G7W8lY3X6Qpjq9M3KfHgX+HSx2Su4ng/Z5mYQ+8P4ftywR5ureLocWmFVxNBBOk8g
-	0mGWvoh5RKFadthLD2urBbGQNIJGYiO2gvUGFeCRtJEhs6yO2AapPrLlbOP1XeDsEeIz
-	LJh2DHIctg6pYYe5ljDgUE5TOzllXy0xOcq93V2dXd1s8h21tCQOEoltyyxpo9QXnD4d
-	YNu7Uu84YcwloSROkbth4unEpGkPgx2ogI/AplzfA0P1pSVgUGHk1qWyjNYQbyqEPVXB
-	hpl/LZ5HGFlOlfFKaKp82bGuIl8WyujkLLSMF1MQRAIw6vNTCFNONuT98VF62qgcSSHM
-	diOKEEwvbC9S3kXs2rugg1is8BHbIbnnMOw6uUaUXcrRzxph2glyl5Sc5QQx4nKyVxY8
-	DlvWgSlA7MefyYr/AyftPbuMNtzRr1HILcIxQliLVoTYdRIAbFqy3NN9ZXCmlCRkq5l2
-	LOvgBXFiivLtvAgRjtT/TS3dpUpbDgxeRCiQwCB2iLmPzsCg5NC26JMxoXTFaleseJGs
-	OVvWUR0vI4CRBxXpL05W+1yttEKkGBfxAHasL2bmJVupT7B970KHmApVppJtxlMg508y
-	wEzwO5XOqXRHnFYVzAspWa8WVaG9vDDxbkoViU6ENvWsiJJuZibF5JJwg61GB6qK0Gu8
-	vIzczwgUpKzJRKYRptQKQQOgVfJpmvQmnmi16zBVb+YgdhHEynwHGi7HYcMfFMoNsx1W
-	mWZxx0+RDrPdbOPsl1R1oZbvc20DUYHrOM6PmRdqWhRQUsT/8+dP75TUcxEZqeMIu6Dt
-	DNo8TnJPtRWq3hHl8Yx6bKplZyitQKMIYkp9qzoMZ0xRGNU71FRRzEv1jlkYInzjS60C
-	pweNxQ7tVKuvq63xo9axLwWch+KJX7sXNwvfOtyrAjH2/TbW1XF2hAr5VR5GyZa8cLto
-	zWorIOii2gqdrECJq3wofPxHVGdtWumMTJSFoW49BZAVFcg2s9vkujYe2m5LFbwPquBd
-	F3s5hVtZ6vTxoWQ43yDdaLe8wkn2pFl9RLHS174vVrsI/ChAFYYJYOJozEqqcMgKe6Si
-	rbiNHK8jrNkyXtmL/bxWdiB6qYbJbdiRG5Y1wvIKSm1HrlxlOB8oazCBF+N7JVWhTwhN
-	4T07QEwFi6ZPLULfa2M6jNwHrkhUqMTFKoRVAlsIox6AAFBGSyVbdXa4hB0aoQpEalzL
-	qTSHcNT5UioKTQNMaQCRElHz10WAT+3xCKXm6XsxR9G948NEA031HFVTVcV2tyZOOhDE
-	rBCc5LkiAerD2F5WzWEqbBrH1rIjYl76GlWBnvAT+nAU8IsIQwWxt+CDARmhjwrSjtxi
-	86M4bkUlNKLloow3PBhPoXIAj93iJasdiBG2hOLasIkulrEvZ6eddl7bPhVLU6m4FYSx
-	j23V8mVWmmYIizIK0DVCGAW8TexxmFZZXpZi5wgIHZ/H2Rq2LkzuWQ/buGI2rvuGvB1a
-	K/NH6bD0qQKUzmjxaX1zqs7CjIwMx5h0Y1+oRSECR8PhSah2QSbG4mUxjgXB03eENamM
-	LxRbflByL6K1wqYSQcyqm7VLQyjRTiCVX9veiTkAwIJ/iIm0Ai/yTM06pqeSoFwN9ucm
-	2V52QFD7Y5XAV1W9KHCMcS+lF3Yv9YcAjCpqEUYcXXirsrpWVdQMRBlD8ZlWaB+2goTU
-	i0J+lTGjcFQDSym/nW1l+yRN9Sm/qPUHoS/OVJsxbC8LmlSHP0Css1kAhFHopCPWPK0o
-	LSi6wcqfnMKQloVvGKVQlW0CGpBqbNknoNMYXIfZllwHmCAmjsz04A4dJitZqQ3vbT12
-	so2VFh8sdjboq4oa2RnCJLschk1KNZToat96JqR2/ATCDutkFDduUzJR0h/wLTB6luTR
-	CVZtlC7ABKq+l8TxaxYxHKpLiFWsrKSzFUIYFQIqRb4DNS/HVirM6vgoVZ3zTSXyxaSW
-	3N9n5zHnULLzWIXAnfJiSB9uwZKYkz88INILfcckeEu/t0vnolK9yIGLTlb2jVhFlt2r
-	JKiOMa5HQ4QiPamIFqh/tlSzIRHvXU8wZ5ktT3y7zbBMjTgNNszp76pu1YZzKsgXuYn9
-	ec8g6SmuJk6FUyd7zUkntqGsKDUA5MTXOyWfUoJsqKX4x1Kb8tUp/OLsNUv8GC0PwNGh
-	pH7aQRi0ig5ViCHMzzc1hMpMmn5F/O6HafFV2fLRpv2sxa7jCHSgpzaHaWHkMmznW8Pu
-	l28O9PRB2MWr15VOG1SRuGSjrWIAbLCHA/Pr6mrr2E/N1FjNpmVzFcNrp9s0axCEwb3B
-	O3ghoVUIcAKGwjqFhKBRDo0ShBRDT4nJ0pkV7BCSvx/ORbFjUUCYND2lx2ukee9GVdBt
-	XkZv3rD8erbv6qwee/egjvCzvdzgmurBIe5dJ23pxS1DbDXC/sma4q1FGzLh/tkLsoJK
-	oZCPDY9QSrhhikndSnGUrb4Es+Y91u5OnfkT2DStP1QTyQLuVRgatiwSClLJLCUsTp4t
-	Uewa1m5aylFtGzKZe3JeYa8Up+Ti4RH7zIwNdrcTE+voDWlZR5hZSUfYmukwwRP6wihX
-	I8TEVqACiDSQTnWlKEGnK3IQe6FYODvYyWrLJPcshz3Y7UcShr1SByIsnFAXHeNqwmH1
-	LlJ/1KPzk4wylhKGqbGdDWGzqsqBqTj3o6i9VjWEJiRSbUuYCpqJpizv4ilo9AFn0Ggz
-	CNGhLCVHtsneseNPmxnYj81D2KpB7tHKOEXb6xgdhZ1wRuxRllh0Fghna1KQdYIqOi+Z
-	Cape+yW5Vxv+OVOCs/51Ao9ObNHBmuxS4ewkjhTAq8SzYt+h6hM6mtj0bbvZbL+kSA82
-	vKxTsCO2FnhxZgdHKug8IEsYin61nY+WecZPtwH4jnEhTLsx7UQYXKhl20bDiEe0V4sT
-	UrRd6o7qcBRB4IZo16OpaFUPkVw0HTYxTZpepxf4Hu9Qw64NeEqIG/WhDSrOuLJdT1up
-	DJ3oX/OWsxK7ztTSoQIy7sYm5jJs22WQPcKOnTrv9X9EcqpFh4PBi/HBa7dhaSm7JOxU
-	HM9oSEDajK1d9X4Mg44rOmeHCNqx/NpPgcOOS0fmV6G1ViwzptXMxkMdR2ZqTBDz/dZQ
-	DqZCWrQPHyOhfdvU+uhoAJ0CJ5RoS5L8rgvEnueIK07pHGbOj/byRW1xQgHa8mdap7Q8
-	gA5clZ/UStikAwbRk9qTO8q+vMXF+bnpcWkBpRhKitlOgR3Vl0hdcZLJAkXfYuJ0dmOn
-	qA7tg8MAckAA6PAzKGwvhh1JoJODsMLazSSAqDFcuQWih2l9bJofm6AMMhxjIQRbN/HV
-	AYknF4UwvoCLZCalweTn810sHDlyCklVXeH7kW15SAGqfEcwsXN4sxS7VDuNQNzXXS7D
-	tgPuo/2eB/FhOimYc1xhSi2xjxCXOX6DMnCtLp3CxbtKOdteXhLxsO02XNXGKlBo5TPR
-	GxvEa1nqO/Das5wNAEtJRT1enRY9EmVOSUKHk1GMlTfWtJRTmgnWQbGt4VGqUXUWEn6U
-	ACY2AC0EqmiY4jMCF6XHx6zwx8voIEk8TqBSekZJS234pveUBqJdLW9gxzzbljmD2CS5
-	cJ1b4TuNjJECI36uAcTsrM6imoRbYa8ce8rZUi5XVD64uFC0EzyOCuWlJVGwNJ1JYH4e
-	ZzNxhIqd5mTwIlTqoMybzSo62VH75qWhYCCkIjkbQNEgr1J0hDUq3JVFXpQSU9OFQpjM
-	pErEcBB1nkZ0DLiVIN7gUHmDCXmjrMWu3eJG9Np5am1ierMeNvGNPKOztqP4YIT94PtB
-	VcPL9oVpDsjiOCXiMBOf1AeGKZ8TWrQj2v1QGz07uLnKzue4wSFtHOlsCNPLa7RnSP4u
-	iTQrNrGzd+ycJFUSRhBj47cfvsOW/uJiOyPTN2Urh8jOXT8/p4L990KJOGiAdeKEvyCI
-	Q+TtHTeU0dkm62vqXnvvgO6dgNjtNoCV8GpCnRd8VDk4pUgMYqYoYPl0DhdpF+ohWUZm
-	qG9amevgKCeF2bfQQ/QsR0/X1HFYZmevsgJzlHdwqtk0SVZ5QTGESc+jIMP5jWhqHE5i
-	Gp160MCx2pzN2mGqEGupU8jmRN5Q4AZnGnQY7jr+7qAd7QcK7awd4WtxEcAJYnIPce/k
-	38nCQ5ZQgSgL7/qXXQZZi50iUE6kwT0ttqWN9shl2Dki7CiHV9mWE86KYQFNSskM9ZG2
-	r+J8KnZr6LBPFZdA9yAAPz9tgf1dLHJQwGU3mUk/xFX77+ztNXKnsCgqLZfPQdgvlxfF
-	wNZWvp/JhXsNB4gp1mNHVpk2LErEA0o/DtrqTp8BhsryRk0Ae6vtnU86VUQnkVCDLSWm
-	0938XhgOM5FUkHJaMEeLU27nR6va68GAWF90zhjXuZsng6Fth/Yl+E2WDdDZUTb9tmUc
-	BaNpQP1BRNsRXqgQ3xPLClH3odz88NromEedaKwDyvVWATsfiE1RspacpegYViyls9t5
-	MQOWjhqR7n7XgphxKa9FJE0D1oaxwPPv2M6GCQj7ibMXu6wTSgwHUqcZa2bhPbMctk4u
-	k2xTx+TuYCjiP+qIxyPH2YgAGS9GGcmPckopNRAim3WqrZTTWV4ZcRXGSpYSYtzOgJwm
-	LlRRtE2lI0wHs9shmygxlQioCoXIzs5dkInUzmkkGx1Rl0aYsiZs+hPnybmnOiW3r0eL
-	288x1Eaxo3qRGO17bxyb+e23Ot2Ng2usyilfSoxjKaJ7OT6T5XE1z4+jFhSphuJECffF
-	MEY9vZy6C8Q92jSvV+Em59e10IH+fhHDFoq4jmCzBdspmy31RI2H13aIR+HIi2AlxXY0
-	6BRG4gI/qBYFKCZP8OGURrxxDjZoNkXGkaWjCqrZteBumPg46AqUmPYNg0AdVmaNV0pR
-	Qa6z5gUyNR3MiP6zo1Es5RTO9yOrmYPYQRg6TFG80AlXmMOw/YV8sYOY45Da+Tl2Php+
-	LktQ8pF063WmLVSqXgqggM3fP6mTb3F6JWT56xQUYiiwkqbD3EyKnGoUKcA5Ku5NIBOp
-	PB2RxPlxKDCjLHqDlbyl7CK+niAmWrSFc755RaodNU0keNk2RuvVQaEJWGocmhqdmur2
-	j/5zrx/6jPVC/+ZFR/h+o5OCj5ywg70saNVDOtpJX6lWTZ4AyYF8WFOdkhe+pK0JBwmy
-	wyZCbER5hCC9ZZMlYIdR6wL5YRYo6KBPEETzs7Z1njtUWwkn++ikf6N960lfaRENSMye
-	o4USFh+ng/TrMMY9OvkVLSdXMVqTdqxrCnN4kDqirkkHpKGI8p2Moes5iJ34yc6B0Pm5
-	RgVmPWzWhHyXaGIO8MP0fsnIzvj7SzslHxc9wLmod+ccDxvOYOfsjEpcVippKIpBylZ1
-	z+P0ag2iSU5CEEtcq3MGR3E4XCjSXjqMFWjRUMVDVvEQCnmYIvM5mSTFRPV6BTTF0QSR
-	EcDsvQsGKcFKLSyUcI4z+Kd0BnRA3NF0LzRFPlvM/DxerraVRJkQZhyI+UNIWCrvrEhV
-	carlFu1L6ACH1utAcRa6H90Cc6Soq9aUECIKR45bKGwn7GnjtY7CpweQ1Cruxr5y4opO
-	eFTQJpfHB2hvIRYOWUZ6ih92zOE/rDCyP60d3X0Ye1XDqWktq6k0bkpNJmB4kISrWY+w
-	OpQWVWIje7Fr3MrYQ1iYFnORZDVsl+4lbEvszPadqiv1c2pxYwXT0sU38DcCyEJBCrDx
-	3Q6Ipw6zqraBwEqlNKqhoZzQtIXeTqHmpABjxZxicdMlg3BCw5wRZcd+D3Bgd4/kywzb
-	1lxxXVqHDBVjpNetkAuxub9sR+r+sGeJCO80kScWnWIe7oVmQ37cq2DHazDNHThmg9BA
-	7ULy5/YQo2+x8NrvWXJDxkwd8G3peqGDzhAhOa9JxJDZCgCBqpuBqgVBEX7sPGz4aV4T
-	Q+ltBfhUvIZ+FNOiA4Z8MvWABr3xQxUiBsMS04O4ooweNSgdpzVs5XBDJjT7jGX15amj
-	EqTjrXDIaBzvXS5iZ/WSsEN16z0G18tu5jLsFDb00rCDdFg4a5udfrgo0pa1kPjIh2SI
-	xXBygWi8XI7tm5fsbQcSsl40r3WuGgn6Kk4fEkHvnNGbU1hOsnbays9R8oKVPBMKu3q6
-	1dAAkRVxgMGi2lALDGO3eGUUhoNXuuTbez2sQiTSWqml4R/ovg6F0xte8qF2OPKchupQ
-	iIL+lQpLIQxlrQtVKciF4SHFqlK7KC6E/BOvvUFTwV+qA6oNEr6knFHPWjtkt29y6DUi
-	kpB4i4xsqDIMKt4Ra+z32t0OLyqkSTHr28/Za3XQNYqaSSTyagkQbn0Nak4vneDrpYjZ
-	YswaFo2GzJAa//Gxj8YvRH/IRWR1sA/a9qCwPFQ8kIPYrQJU/KIquPWujOyHHb3x5owF
-	UVkgDA/lqMFHBxrf5JVgZCGUa0kBTD62WAGVonIakElBK1VFNKxi+hroBKpVeW+WQ0yL
-	UafbYwwMUwKVWpsaBV68dcZ0QKlOs2cZMlINVascj+QGIbim94K9QHyf7KrMpIWTghhv
-	dbN7OY+G16Zpv69OgPM15m9S0I4AvWQldSFG5pLYYlVL6dUtUP/pDjgPJz+UZq4ophJ8
-	GIyRkl6F5TrqEhrKMKYO4LVDwPAXe0dc9AY0W36qU9J02rvXKuwNdXalQCqCXfaKtxrV
-	Q22Ash2tQw0Jxl4743QyC4DlEb2yJjuxW1WL6isEfDuDNCX3A4fNnNn6NSPJcdp7rP6g
-	DMIUpd8ohYjKoLitANVQipNNI9zX9Nh7/SIha6EDxbBtCHftuL1AD4jhi/FiF0lKLo21
-	ZojLqMKLF2dJTzJH0gHaRhGGqpdo6tWdOM8qnTCAxd4AtEOB6UdXYqBfL2bkXt76CUcs
-	3aMN5SkVhiP2DS9GsGUSLrSH8HDeQ+og4gWoVs8S64BUM7kDNZ3yoPc3ypvixY/ASFLC
-	Bmp5XGSBpF8Aqt6n4QU3jJuh9IO9uA5tozHK80fOdDbCqIHUNZy9mg5hNakFofHJRehv
-	HcMEmw4gecYKCMYjB7HrzYXs1GT/jr0sG4xlP2ybG4hs8UDpN4btMjn+K4/4RUjaCuY5
-	yi6ztFVEz/t6ABjMwHecUMpRfZZn9hcgImVfq7qU2fR5QIp2jRwaf4edmRSZFY6MFndp
-	zUq8cIOBp4CkNBBvCTNDgjKgqlC5bezTaYEkUkO7DiGsEEGM/qMEafgX0kt4kLF7TYkd
-	5nic9IXhIeL8gQHhDBpYXxLrgI0rvPrXXkgKxvAXeWOkAVlP8uUhVSCMWAdwvWR5+WKc
-	WFHDsgL2EnFwir1VUKHXD0rQ+gq+g8YXmE/ktlYMGhKLhOYf/b2JWtim+52Jtkgsejtb
-	1mI3EaG60d0SfE7DVo7Ft1Nrbg7QYSiBb1ncoIe8ij3nqlS2mQ5QgwLRdxDtwzz5/BAu
-	os+lLIKQAxZhzrV/hROOZE1lC8hn3rIXcco5YkeMGhVesg6Kz8EXOiCM9JRev+djzbtE
-	CzPEBOklZnsPQoSF90w+oBxqT4yje/zltdG98QsZKBfqIQQoCpalZgxj4UuiDuhLBBGa
-	XFGtHjTgVcHYVoHhS8sjWh/Wd++8lN9Rf3G8lihrVG+qN/nQUdB4Rf4bvXVHzRaYY8y0
-	JARaBR5LZpPoKJY07WlqWhg+Rte1snMVe9x+i8pMy/2gYacWP3ODE7K/lQRh5srwSlfJ
-	j4WkpgWox6QAFiCGpZSnFQAvbaE4jMVqwvSQgLDTTJZgaLZAblVGk3nA/TD7wKNspCqT
-	OCltL62tZlPvANs3WpFuAmJ6DfFp3euZcZte6d/UvZBnuGxaJeHC1EMAkbTUYS0PTVRm
-	B8CI8bxyRXkGKkjwAB9CMuAAXnonfdAF1nWpZEvMH5YVsQWqReodFcakcPQ2IiXyM77B
-	og05dEhOZjRDbPxAFUIJcSfRhXSAVLz3/cgRMJaj2Jngk0rBiYtSj3IYNubV0GEmYu/V
-	HxkdW9zSYoxcE0zDPPsUSUKIRgyUdEW4ijkA8YK8yzhcq5XOS81NjckUyPl1Y1CsJvOb
-	auKIIlvC7QxU7Tgws7li1jRFOuXUdOg+q8RXiKbf4KG4z2QncGbocB+BXSi/3a4z+yh8
-	edcDxuyPqQ6AL1IIroIMx4KgrJrVeJgbZKGA1kfG1+r5wlfovERoiwFJC8hSe8rly49S
-	wlVLDPkLwGKpXHIpgYUPRbKrLjhQ7Eoy9D2o2KzF7urPHER16KR3Psth6+YjYf3sMzmO
-	MQ1c4PE5OslyPMWYfXoDwLgwLh+ThEPe62iCt6GAgKVua12qwGwRxoA6pNBU4aUWzEOo
-	8uJ2WVhsrJkqKTMDHTPP9KbnKFoTGf869tFi1n+/F8TKtgENrY5w+W4XgmzBy7NRoe/H
-	TJvGOuBaSK4oK0wYkz0PCJWkwvKQMkg/3lRfDF/qRKoH5kyASAkacEVfIFvnIEO9SU1K
-	dBnN5eaOq0+yK1gp55zFjnk13S3trfW5Q+77DTtj9UcCzpiWjB8cYpojdC1yotnD1Xmp
-	+GgNGhK5zOUjw+BYNE0dRiqQBZeW0MytlsxBRiP0UvDo6BQaNFDTf3SBb1cDc44RAWzf
-	MRj2WSLqv99rXxh6H7uXcUqJ7HZh0FLxv6U7IBmoOcaYSFvytgwMHGF52PrwvhtqFSGl
-	hOcCj3XVemp1IvQ2TLT1/7hAlpJcXHYSW0xupuGDgg1OnsE/fXOG0GWS42L3tWVMlCxP
-	JLushi182Oo3A5cBpt1/MNF7J5lhNc24Op8xvUE+Unc2lQGLmk+7WNnolEcb5iEyHGHR
-	p/8BnVq/vo6CEjEVqNFa8+/M6MEe3Q9LxPCRvndH77k3GucXF6rjoe87/saYwJa8hOhm
-	B6hDGRMToSPVbXVAXbfHR6sz6ngkQn9KkLQWl6JN06EmWmmTPSQXLepISdN1gd/kbkvb
-	4L/HzeYypsSeknpke9KyO2jYvoTs2bElHI1yl39NelqisnI+3pSIYvojJeUwDQ7FAEYf
-	ajTY9DyAQ3MyMv5najLoKZ8OuTo0HksLNRT+lQcPIfTLbtZE6SsiGWWMdseFug4gaIpC
-	s4nil7t1IH2zmIfQUsLSV+nZNH3cs+txUfvldr06rPuQLN8d1OEXonOxudKzBRjvuqnY
-	1M1f3Cv5x8Vui8CUAoOOHu59yej8bsNmRdgYkdrBs+MzYF9jK8HHySNd8Du+IFznHXIB
-	SSzR1RkTJbCGedBijbfU9Nh08KiUpEyTaMTRL3d0IAMwqR9cw3j/w83qCr9OXRKNUzOc
-	vjD15KCkdvlb7DuCIrOlqGFHzR4Z+1/41tidsW7sELVu4/qgiVwX2TqPMJyWW/QbaTwe
-	7TOkjqvZsDQvuYhdN4WmJ1v7svP+7VwQjVf/0mvdufsYY8NNfwydjB5o//K79AXRJx8M
-	k7SjS25KuMUGG0NrvF87Ppt0Mx6Z+cOuHYg6kvlv9NzUF+x1724X+jj5S+j83l8SXSFM
-	RC11dfwDF2Z2MPbTzqfE7+OzSXaHpOI/mtTC/KYeEjp20L32PTGxc1u4M94JfhXrLh+j
-	a6Ihu0b44rLMm3b5iTvibZcrwq+4Kt4hd1TSl+tLYn9PdSv+If13e2R0s/0Q/S/6Zbb/
-	Rvfp333v2e/C/f7mX6or0t3Xp/g99nnfp9sfd96S/ur4d8clxufYU3X/zqfwq9gVO+71
-	H9N/3/EF+jFqO7833bc9b9/9lj/9t1GP9/73T+/CX/YBe8vsC2DtHOM+t4Y/7bwj+TmR
-	QCKBRAKJBBIJJBJIJJBIIJFAIoFEAokEEgkkEkgkkEggkUAigUQCiQQSCSQSSCSQSCCR
-	QCKBRAKJBBIJJBJIJJBIIJFAIoFEAokEEgkkEkgkkEggkUAigUQCiQQSCSQSSCSQSCCR
-	QCKBRAKJBBIJJBJIJJBIIJFAIoFEAokEEgkkEkgkkEggkUAigUQC/9sS+H8SYUBOCmVu
-	ZHN0cmVhbQplbmRvYmoKMjAgMCBvYmoKMTgxODEKZW5kb2JqCjI0IDAgb2JqCjw8IC9M
-	ZW5ndGggMjUgMCBSIC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0Zs
-	YXRlRGVjb2RlID4+CnN0cmVhbQp4AYWUTUgUYRjH/7ONBLEG0ZcIxdDBJFQmC1IC0/Ur
-	U7Zl1UwJYp19d50cZ6eZ3S1FIoTomHWMLlZEh4hO4aFDpzpEBJl1iaCjRRAFXiK2/zuT
-	u2NUvjAzv3me//t8vcMAVY9SjmNFNGDKzrvJ3ph2enRM2/waVahGFFwpw3M6EokBn6mV
-	z/Vr9S0UaVlqlLHW+zZ8q3aZEFA0KndkAz4seTzg45Iv5J08NWckGxOpNNkhN7hDyU7y
-	LfLWbIjHQ5wWngFUtVOTMxyXcSI7yC1FIytjPiDrdtq0ye+lPe0ZU9Sw38g3OQvauPL9
-	QNseYNOLim3MAx7cA3bXVWz1NcDOEWDxUMX2PenPR9n1ysscavbDKdEYa/pQKn2vAzbf
-	AH5eL5V+3C6Vft5hDtbx1DIKbtHXsjDlJRDUG+xm/OQa/YuDnnxVC7DAOY5sAfqvADc/
-	AvsfAtsfA4lqYKgVkctsN7jy4iLnAnTmnGnXzE7ktWZdP6J18GiF1mcbTQ1ayrI03+Vp
-	rvCEWxTpJkxZBc7ZX9t4jwp7eJBP9he5JLzu36zMpVNdnCWa2NantOjqJjeQ72fMnj5y
-	Pa/3GbdnOGDlgJnvGwo4csq24jwXqYnU2OPxk2TGV1QnH5PzkDznFQdlTN9+LnUiQa6l
-	PTmZ65eaXdzbPjMxxDOSrFgzE53x3/zGLSRl3n3U3HUs/5tnbZFnGIUFARM27zY0JNGL
-	GBrhwEUOGXpMKkxapV/QasLD5F+VFhLlXRYVvVjhnhV/z3kUuFvGP4VYHHMN5Qia/k7/
-	oi/rC/pd/fN8baG+4plzz5rGq2tfGVdmltXIuEGNMr6sKYhvsNoOei1kaZ3iFfTklfWN
-	4eoy9nxt2aPJHOJqfDXUpQhlasQ448muZfdFssU34edby/av6VH7fPZJTSXXsrp4Zin6
-	fDZcDWv/s6tg0rKr8OSNkC48a6HuVQ+qfWqL2gpNPaa2q21qF9+OqgPlHcOclYkLrNtl
-	9Sn2YGOa3spJV2aL4N/CL4b/pV5hC9c0NPkPTbi5jGkJ3xHcNnCHlP/DX7MDDd4KZW5k
-	c3RyZWFtCmVuZG9iagoyNSAwIG9iago3OTIKZW5kb2JqCjggMCBvYmoKWyAvSUNDQmFz
-	ZWQgMjQgMCBSIF0KZW5kb2JqCjI2IDAgb2JqCjw8IC9MZW5ndGggMjcgMCBSIC9OIDEg
-	L0FsdGVybmF0ZSAvRGV2aWNlR3JheSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl
-	YW0KeAGFUk9IFFEc/s02EoSIQYV4iHcKCZUprKyg2nZ1WZVtW5XSohhn37qjszPTm9k1
-	xZMEXaI8dQ+iY3Ts0KGbl6LArEvXIKkgCDx16PvN7OoohG95O9/7/f1+33tEbZ2m7zsp
-	QVRzQ5UrpaduTk2Lgx8pRR3UTlimFfjpYnGMseu5kr+719Zn0tiy3se1dvv2PbWVZWAh
-	6i22txD6IZFmAB+ZnyhlgLPAHZav2D4BPFgOrBrwI6IDD5q5MNPRnHSlsi2RU+aiKCqv
-	YjtJrvv5uca+i7WJg/5cj2bWjr2z6qrRTNS090ShvA+uRBnPX1T2bDUUpw3jnEhDGiny
-	rtXfK0zHEZErEEoGUjVkuZ9qTp114HUYu126k+P49hClPslgqIm16bKZHYV9AHYqy+wQ
-	8AXo8bJiD+eBe2H/W1HDk8AnYT9kh3nWrR/2F65T4HuEPTXgzhSuxfHaih9eLQFD91Qj
-	aIxzTcTT1zlzpIjvMdQZmPdGOaYLMXeWqhM3gDthH1mqZgqxXfuu6iXuewJ30+M70Zs5
-	C1ygHElysRXZFNA8CVgUfYuwSQ48Ps4eVeB3qJjAHLmJ3M0o9x7VERtno1KBVnqNV8ZP
-	47nxxfhlbBjPgH6sdtd7fP/p4xV117Y+PPmNetw5rr2dG1VhVnFlC93/xzKEj9knOabB
-	06FZWGvYduQPmsxMsAwoxH8FPpf6khNV3NXu7bhFEsxQPixsJbpLVG4p1Oo9g0qsHCvY
-	AHZwksQsWhy4U2u6OXh32CJ6bflNV7Lrhv769nr72vIebcqoKSgTzbNEZpSxW6Pk3Xjb
-	/WaREZ84Or7nvYpayf5JRRA/hTlaKvIUVfRWUNbEb2cOfhu2flw/pef1Qf08CT2tn9Gv
-	6KMRvgx0Sc/Cc1Efo0nwsGkh4hKgioMz1E5UY40D4inx8rRbZJH9D0AZ/WYKZW5kc3Ry
-	ZWFtCmVuZG9iagoyNyAwIG9iago3MDQKZW5kb2JqCjEzIDAgb2JqClsgL0lDQ0Jhc2Vk
-	IDI2IDAgUiBdCmVuZG9iagoyOCAwIG9iago8PCAvTGVuZ3RoIDI5IDAgUiAvTiAzIC9B
-	bHRlcm5hdGUgL0RldmljZVJHQiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0K
-	eAGtkz9oE1Ecx79JLA1qo1bpYocbpFiI8lpR3ExtVKpVzhip7eTlcklOkstxd2kNOBQn
-	cbcVWlxaRKXgZq1TRag6CIJgS3HUTXQIZJFyft8dIV2Ciw9+9z7ve9/f7937c0BsRbPt
-	chRAxfKczKXzyq3JKaV7GzHsQQ+Ool/TXXtEVcdp6dCaXxGRr76ckLWez6/v/f3y1Y+3
-	gx/71V8bjzokteSEwwmBSJLCkWLIKcm5kLOSZzzbo6ckWS9pefI9ctLJZkbJz8iJYsiv
-	JedC/iB5Wi/K3C2ysPKmBUTj5LN5w9XJKXIu7+oV8jL5TaVSZf3YbfJx3XaYG3tAPib3
-	hT3bjADOpemfb2uTh4CVJtC30NYG5oDD34C1RltrbAV7FemLu4VTw0G5yL5VoGvO9xsT
-	QPcgsLPp+39WfX/nKefeBtabes2ZDrxcSOQT8K9xuOawOvD5fos6cbgvgYtrW0oBE7PA
-	FQqLjAF+X+8CoFLPphA9/a4V4R7SAsTTpmuXtXow+J+PSrnGcwpaF5/7DevmDfYJxnjB
-	uZhhz2/G1B3tssq+l/HQ9MbkvZGeRcO9IP0HGS+QhgkXNsrQUMdVVGFR8WCgBgcK8iSF
-	4zo9kky+1wOXhdq1nkJCWOK9WBJrYlP8FMu7KlSZr7KqxWyN9eUMCO8SZ8aZxzxLXM8+
-	+b4xdGBWKrubZ9zlPQNGq3bdMYslTxnhn2QklTFLP5lUhsWQwF/FaKjWCmVuZHN0cmVh
-	bQplbmRvYmoKMjkgMCBvYmoKNTUyCmVuZG9iagoxOCAwIG9iagpbIC9JQ0NCYXNlZCAy
-	OCAwIFIgXQplbmRvYmoKMzAgMCBvYmoKPDwgL0xlbmd0aCAzMSAwIFIgL04gMyAvQWx0
-	ZXJuYXRlIC9EZXZpY2VSR0IgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB
-	rZM/aBNRHMe/SSwNaqNW6WKHG6RYiPJaUdxMbVSqVc4Yqe3k5XJJTpLLcXdpDTgUJ3G3
-	FVpcWkSl4GatU0WoOgiCYEtx1E10CGSRcn7fHSFdgosPfvc+73vf3+/d+3NAbEWz7XIU
-	QMXynMyl88qtySmlexsx7EEPjqJf0117RFXHaenQml8Rka++nJC1ns+v7/398tWPt4Mf
-	+9VfG486JLXkhMMJgUiSwpFiyCnJuZCzkmc826OnJFkvaXnyPXLSyWZGyc/IiWLIryXn
-	Qv4geVovytwtsrDypgVE4+SzecPVySlyLu/qFfIy+U2lUmX92G3ycd12mBt7QD4m94U9
-	24wAzqXpn29rk4eAlSbQt9DWBuaAw9+AtUZba2wFexXpi7uFU8NBuci+VaBrzvcbE0D3
-	ILCz6ft/Vn1/5ynn3gbWm3rNmQ68XEjkE/CvcbjmsDrw+X6LOnG4L4GLa1tKAROzwBUK
-	i4wBfl/vAqBSz6YQPf2uFeEe0gLE06Zrl7V6MPifj0q5xnMKWhef+w3r5g32CcZ4wbmY
-	Yc9vxtQd7bLKvpfx0PTG5L2RnkXDvSD9BxkvkIYJFzbK0FDHVVRhUfFgoAYHCvIkheM6
-	PZJMvtcDl4XatZ5CQljivVgSa2JT/BTLuypUma+yqsVsjfXlDAjvEmfGmcc8S1zPPvm+
-	MXRgViq7m2fc5T0DRqt23TGLJU8Z4Z9kJJUxSz+ZVIbFkMBfxWio1gplbmRzdHJlYW0K
-	ZW5kb2JqCjMxIDAgb2JqCjU1MgplbmRvYmoKMjEgMCBvYmoKWyAvSUNDQmFzZWQgMzAg
-	MCBSIF0KZW5kb2JqCjQgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9NZWRpYUJveCBbMCAw
-	IDYxMiA3OTJdIC9Db3VudCAxIC9LaWRzIFsgMyAwIFIgXSA+PgplbmRvYmoKMzIgMCBv
-	YmoKPDwgL1R5cGUgL0NhdGFsb2cgL091dGxpbmVzIDIgMCBSIC9QYWdlcyA0IDAgUiAv
-	VmVyc2lvbiAvMS40ID4+CmVuZG9iagoyIDAgb2JqCjw8IC9MYXN0IDMzIDAgUiAvRmly
-	c3QgMzQgMCBSID4+CmVuZG9iagozNCAwIG9iago8PCAvQ291bnQgMCAvRGVzdCBbIDMg
-	MCBSIC9YWVogMCA0NTAgMCBdIC9UaXRsZSAoQ2FudmFzIDEpID4+CmVuZG9iagozMyAw
-	IG9iago8PCAvQ291bnQgMCAvRGVzdCBbIDMgMCBSIC9YWVogMCA0NTAgMCBdIC9UaXRs
-	ZSAoQ2FudmFzIDEpID4+CmVuZG9iagozNSAwIG9iago8PCAvTGVuZ3RoIDM2IDAgUiAv
-	TGVuZ3RoMSAyNjMyIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AYVWbWxb
-	Vxl+z73X324S2/GSze10by5J58SN03w0pXHru8ROGrJ2WboN36516zlpnFE3UXFLJ6gW
-	plDAiFGxiSI0tGwaC2JFc0oFTqqiQjTGRIUqPiTYh/jBNgqFSpvGfiSNw3PsGydFRVz7
-	3HOe95z7nuf9OvcSIyInTZJIWjKdmKAOugzJVbT9yZMZ+dyfvvFZInYf8PSRidH04R++
-	YgX+Ndro6NEnj+xfWOwnEluITJnUSGL4w++e+x6R9WWs35aCQPiNaRr4HeBPpdKZU9WH
-	hPNENkCSj44nE+ZJ6RNgGdidTpyaEFqEKeB2Pn8skR6pVJswtj0M3Dgx/vkMvcsagSeB
-	WyeOj0w0fPL914AvAj+LxvDjl5PMtBf9ENUZkqL4DjfBkInFXvqvFSZgM1mIFldmmCQc
-	hNLf7b989/abv//SwAevPv/t9B8unvjbI88tdZ183nohG1bPv33oqdet9VOf2V348PGe
-	ns5/LLyw1738k4ue+h1f/+fXrh05LR381sdd43/deObsloa35/viM8+8d3Pqy1u3vzw9
-	1LdU+ONRf3p3/eLrbx1I3Xj/+Jnajb+4dexZW/QFgUJE1RShGCVwT9EpznPlOzB4hkgA
-	a41R4GRUzon1UTWRqlVThyNb8mQPDOTJNhibZewZPc9WvpKnyKY5uF88FMe0IyDL0bFI
-	jh0GcAYgaFQw2hCQe6Godyim6nJWzvYPZ+VeOZUYzkn1xR4TI1k9KOdoX2wM94djSk7T
-	feXhiK7vgJ4KrgePYHlWh4YnDA3oi6LgMhZVBgbAumEw9lAsNxnx5bSI7lMUOZq7MhjL
-	XYn4FF3HqqoyUzA+PVZrcHaBc1Uj5t0lLfugAyr0bJbrBBIalNyVbNaXhSVFiarkGRmC
-	PBXXwGV5pg3G+JSmKr6iDxVVAQ+dO9ETGNgXi4KJom+BsykMr/9UuIWKsdCjmsysVs0m
-	WCSRkdkkioJJkshilpjAkFKMek8GO2spHAqGqpb5nwVDywDLIdrawvpTc4ijtT+VyGlD
-	se2uzjmyrlzZrre5FFd9m0sNsy8U3lhcFG4tS2HhKeyN2hCuI94b6G46i/g2XcKwDzoq
-	mhC3qkskAd1VRFLVPKFUSXK5P83n4OpreZLQ+96hPN0fjeWJBX1z4Lh3l24IiAuIdpcF
-	Ni6wccElclEPNPKdXNBiRXNAI6uaowrqudWyFaxbN7HqJlajbla9TPEqrZ3bdrL2zQ1T
-	bD6Tidw8f+04qyh8xCo2OiorHYI0/OTwwsICe/Ws2XbPrntsZuwMG+/F7YvIa4Hs9KC2
-	iTkcmtMswLsiXCzZrCaJ2S0AxETDuTUh7l/u2+XmZmo2HCuSY71jHdyxnW2bmafNo25W
-	LB/8Mln481JyJdNRuN7xo1zhFTZT0A8e5BwYxcHBDw4OGtUamdOpbbA7+KYCthd5qO02
-	CeGWrIg7DzVzrI91mAeaEzLiXRNqLl5rIXeuZ+Y0Qu5VvG1eFfc4+1XhpatXWZLNDBzo
-	Tz24xmm8yOlxg5PZYUfCgQ2YFYmBjN1mNkHEHFbL+vyDi2oMH9WUErBmXQbeiU6bV+lA
-	CnaATop1j44Wfs5mXnyxoF+4gMhw/+wCFwu5KV3KQzf1GtnhRh5WAJmKuVKBPHGjMeQK
-	H1eXs8/IrQfKyWblyWYtJZtI3VRVVCDiIRuSjKgbScZUb1srkooh2e5CtqmKl71240aw
-	MMlOtweThb+z+ERdoK7wEptpCMSHfsB9V+L7BPhuIO9a3fRiarVuTODrKSKTUTem2+rG
-	BBI1ZeZG3awx/z910/0/64abdHvdeAwD4+x0MrnjzedmEzdgHpsZGn5oenqaxU/Uba0D
-	cUb7YFgPbFLoq6UICLChpmiDgAjIZYtkcPeg0TW0YJ44NmNsNsZq2S4fD4CP1uyyc4F9
-	NSI9hot4RHxGRLA1RjgaeGx4yfOgmFWlrmEn60QKFQft27oYn7Cw9wvvMo/W3KwV/qUF
-	D7DOws1wS0t4aWerzh7T/V07uvz+LqerNeHvCnb5G7bZPTx+/J2O9vSbpvcOVYb+TVXi
-	dS5+42f+v5R7fmpcx6nMcC6vvtPxjCivVBNZ/Et7VvZLjxU18UdWLyv7mMJiHU0JZ+he
-	4TDFhd+iZdCyaOe4j2kX5egjFmJPs7eEiDAPCedjpQewTwRJLmCs4e2MAZvFAcxnGeqC
-	9/zroZZosH9PtFtv6k4c+1zfeCY1ltyyZ2R47EQa8wbXlR8jXHe6+BHegX120wDYPEKP
-	El1CaZjxiWNvarpMURzK7aQi8G6gXvLji6cWlcNR322o+7aVPdRK9+G50soI0Opz89hL
-	IheO+ftL71rNIuCEA49v8k+IaCpS+s+KIgazkoQ7/Qe9l1YkCmVuZHN0cmVhbQplbmRv
-	YmoKMzYgMCBvYmoKMTc3NwplbmRvYmoKMzcgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNj
-	cmlwdG9yIC9Bc2NlbnQgODAwIC9DYXBIZWlnaHQgNzExIC9EZXNjZW50IC0yMzYgL0Zs
-	YWdzIDMyCi9Gb250QkJveCBbMzAgMCA3NDQgNzY0XSAvRm9udE5hbWUgL1BJTUVCWStC
-	YW5rR290aGljLU1lZGl1bSAvSXRhbGljQW5nbGUKMCAvU3RlbVYgMCAvTWF4V2lkdGgg
-	MTgzMyAvWEhlaWdodCA1MzMgL0ZvbnRGaWxlMiAzNSAwIFIgPj4KZW5kb2JqCjM4IDAg
-	b2JqClsgODAyIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA2NDYgMCAwIDAgNjA4
-	IDAgMCA3MTggMCAwIDAgMCAwIDAgMCA2MjgKMCA2NTAgNjYzIF0KZW5kb2JqCjE2IDAg
-	b2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL1BJ
-	TUVCWStCYW5rR290aGljLU1lZGl1bSAvRm9udERlc2NyaXB0b3IKMzcgMCBSIC9XaWR0
-	aHMgMzggMCBSIC9GaXJzdENoYXIgODIgL0xhc3RDaGFyIDExNSAvRW5jb2RpbmcgL01h
-	Y1JvbWFuRW5jb2RpbmcKPj4KZW5kb2JqCjM5IDAgb2JqCjw8IC9MZW5ndGggNDAgMCBS
-	IC9MZW5ndGgxIDkxNjQgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBvVkL
-	dJTVtd7nf80jr5kk80wmM5OZZJLJTN7JZJKQ/AmTF8lASEJIMIGEEAwUMCiiiFAQFAhY
-	UKsg0ksteGux2iEoDlK4XEqXWuVefF2totQWEaUpLY1SCzNz9/kTUnC5vKx1XebPmX3e
-	5zvf3ucNBACiYQ2wIPYt7h2EM2Q2xryO7njf8mWWW6syRQCyDYB9YP7grYtP9X+6F4DX
-	AygTbl20Yn71tgMDAHEudM0D/b3zvvDt+hAg5V4sXzyAEYoHZCYMP49h+8DiZXf3bZWH
-	MfwehrsW3dbXm+5yYn3mQgznLu69e1C+UnkVw/MwbFnSu7j/hXeTX8Twegw7Bm+7YxmT
-	x9Zi+JcYbh68vX8w1LJpPoaxDPvfGEfwo3/RIMBBlBZoH4+Ror/2w3wt/H8F2fEMnCT5
-	67ILkl92Xcz1XjkGFKCEKMQVA7EQN56oAjX64tElQCJoQIvMHgM1fxzc/HYwcdWA3EXe
-	R/cBleHWyEX+FCgjocgIi4yRVOrOXCGJ8CuQwYuwGjh4E/YRBdhghOTD74mJOOE9CMMH
-	8Ecwwmb4Kf7WwHnyJeL5jGRgnmK4D/4NdkcGYRAq8TtPeERSAp9FVkZeiXwF1TAEJ4iM
-	JBBT5BDkwAb8dsIuEs3MjewHPTTBXbAG63gV3o8MRz7H+ovhE6ImOVxZ5ENggMcYL2yC
-	ffAisRIbcZJbIp9gvB4xdsG+iD+yHMtdxFw5MBVWYmsfEzNJJ1lkJ/mIHYmsifwI+5aM
-	aTOgD7/FsBZ2wC54Vso1l0vmNVi/Dxox7Udot+fhEhpBJqkmdzPvsJ+zf+XKuJ2RE4hj
-	BrbXA7sJi6zYyQwyjwySZ8nz5DfkS8bD9LJe9h1ukHsSsc2AjfAkHIGX4S34EC7ACPwT
-	QoRDTBVkGllJfoLl/sgUMN3MKmYL8z5zkc1jP+Jk3Gb+fv5whIu8E/knYk4BJ5RBHUyH
-	DujHbz4sgTvhh7CeyGA77IffINozON6UREVySB6pI23kFvIDsgIeInvJS+Q0OUvOkc8Q
-	XQJjZmxMDrMc27uP2cQ8ywwzh5gRVs0uY1exx9iP2C85DdfNHcPvDO/mlwnJQqNsevjH
-	4TMRd2RbZCfqRYufHTLBDRWEQxYXw3rU5CbkbBfshWfgORiG4cgV4oUT8Abi+hguwmXU
-	WDJ+VpJPSkgzmY4IF5HF5IdkByLcRw4iysPkMLxL3iVX8AuDgVEwbuYWppdZgd9O2MG8
-	JfETzVrZDNbNNrKtkb+xz7L72UtcGjeLW8qt5Ia4HdxuPpmfxM/kZ/GD/KP8Qf41/n/4
-	i/yoYBI2CHuF54W3ZHJZoWyHLExSEYuFpMHzcBSt7jF2EMN2mEzWo1bb4XW03hH4LVyB
-	r+AY/JyYIMxSbaZHnoRgZCNq8wi8wN4L5fAQ8wgzJVLJPs0qSH7kMtaVi/q69oHozMxw
-	pKfZbalWiznFlJxkNOh1Wk1iQrxaFRcbEx2lVMhlAs+xDAFXja22xxJI7wlw6bb6ejcN
-	23oxove6iJ6ABaNqb8wTsNByvZh0Q04Rc87/Wk5xLKc4kZOoLOVQ7nZZamyWwEmfzRIk
-	s6Z3oP9Bn63TEhiR/H7Jv03yx6DfasUClhr9gM8SID2WmkDt8oGhmh6f20UOiTgPKd0u
-	OAQgQhStOACTe1cN6FHQHDUBo81XEzDY0I9pbFpN77xA8/SOGl+S1drpdgXI5D7b3ADY
-	qgNxWePFaTkLZm3pwLbdrgUBxA+bo+fZ5m0OijC3h/p6uzoCbG9ngOmhbaizAjqbL6C7
-	5xP9v4LXfDVbrksMMGm1vf1DtQGxZzOSToM9NNS7BUONrRaslrm/syNA7kdwFISEfawX
-	/bYaGtOz0BJQ2KptA0MLe5BzaO4YNorGGluPrzMALR3DBtEgBdyuQ/rVZVYk5ZC7yl1F
-	ZZlVv3pMfrpuLP7NY1TqV5/4A8rGlgleCG3J1oAwA5Y+bAS5QKwl9Ke/BIb6SpA+/Osk
-	2MsFiGdygEFTYtMCfFpDb2BN6ziM3gHfOLiFvmGFwViDfeip7sT8PUOqUlQg5lfZLENf
-	AGrWNvLnG2N6x2OENNUXQBOp/idMKEB6r/mXS8TU2HoH9LYBqr7lkqoxbNPXXBeBYczk
-	cwfB6WoMgqK5Yz8hP+oMksj9QfCZDuECw86ZjclZ1OAW+LA5DLhcGOG0og8R1GIna6ll
-	WIYsQw3zhiy1lgE0KS5NkpjQP9SZg4S1diAt0NZhDYidSRPe/s7OUqwnm9aDRTD7UCfW
-	sHC8BpRSVE4IM+W4GlEJ6c0d0zsCa3xJAdHXiaSjER9r7ggcQ/vt7MRcuRNIEfGqBfpx
-	zHmIOdeJ6fljtbRiHVhF59AQrbO1w2YNHBsaShqio24sHCTw9QhxPCIINAt2vCZI1jRj
-	WRQ2axKNsFltVoTVSTktQAO+ZkBBKPx2hosmcGPJYkRbJDHs+Y4YLrkZhr03xXDpBNIb
-	GC5DzKWU4fLvj+FJNzBc8e0MV07gRpAioq2UGK76jhiuvhmGJ98Uw74JpDcwXIOYfZTh
-	2u+P4bobGK7/doYbJnAjyCmItkFiuPE7YrjpZhj23xTDUyeQ3sDwNMQ8lTLc/P0xPP0G
-	hlu+neHWCdwIsg3RtkoMz/iOGG6/GYZn3hTDHRNIb2C4EzF3UIZnfX8M33Idw4Ang514
-	QpuE5zMW9/cVopUXTLj/42QmFpQ8Z2JZxqgQZCYCBrlin3VRuT4ra+pouT9UPlX1Zblf
-	FSqHyvJQOXV5uQVqq9qBbie3J3j1JH/8nxVBruXKc7gJwxNrDnmeWczQdqxiPKSyxMif
-	wWgDx79jXVVLqz3brTrnh5yRvNwEq9qaw1SEjjPHw5cw01OIkUGMUZAThPqsl/AorIDG
-	rCAIqiCQU/ASYpdjxEuYAyTJ4rmxMSs3j2BN1z7uo6ujzOuhQjb3yh7Oyx0JvxyB8P3h
-	y1gx8rAeQR5ESLRkrqjmGIbIOUGnM3KQRgy88BJpBCsp2r9CYsAf8k6t6fedy4HKSux5
-	JlFbHeRg+L9I/uP8cTziEjyDALcPq+YhU4wDhqni5axRxqSBQZAFSfIBa8sz4zVNVZ2D
-	Sn+ocqzfausuUsi8f+USf/xKXfgy9oeBPdj/pViXEnfzHaLTYkvSa3hHQrqT4HHAmck4
-	THKTJTVB0KUKHl3STJXRBY60DEOWK0hSsKH28YaozvxnT4ROqOO9aq8XNVc5Eu/NCXnV
-	Om9eLnYh31NcVOhItxVrdSlEkyjIUvAIkqjT6jTWdEd6DskmNolNcop0DxR2debP++Dn
-	pbklC++ZP0Me7Qo/GytEE4bp2xg+Hn6LeYs7Hl6md977QLYxVOsr2ThzwWvOzO1P9PXb
-	vUlpeSkVVZsenB06ir1iYFfkfckG6X1BgZikxVqEKrVCq9UoPTFGPePRGHT6Y9aWce5H
-	aD8ocqgcqSxH+tFeEGUBhY/KTpQJVosjvYjsIl57ya8Pl9iJt2FjeG147aYGZjp//Ory
-	HbX33lu7gx26uvzCur/+dd0FdojaKAtlkY+4Em4O3md4oRS2itPKmKLiFWQT4d5LIel/
-	P+f81BYbw+MNQIIxC89RXHp2eraTRnBJUalJWlepWeZURrnyo0oT/ODPLi1yVqQby43+
-	JLfcX2QoK/81MYAV6slzMKaRkVGpK2fV3pOffCL1BgfSSa86XueN93oJldRloXK6oZvE
-	kjgiyARNIna12OMoptpKt6XKBJkV/dZ8PM0hDykE1ZVNHJjTlppeVOgp9iQwHyV5csVZ
-	jurppV1PsM9OS53UPavfmaIMjyjqlpKEA5s3M2xycvh3MUq2zN+17Mf/+cSMpwaZeLVG
-	Ea3SOVoaqhZtvaiMM3omF+SnVW7t2lZX99twdOGUkowYp7U0TXQX/eKJV2flacjblEcG
-	6iLvc4XIowlvDJaINY9rn9YyG5JJg6YjfiD+buWK+KDm5YRXNHI9I3CmNzl7ilGmjVVG
-	q16MtidGpaiK48xQnKIzGS3yYp3BbNlgrZ86ThjVvNobGh2hbI2gEXsry8ck5WgpkoSG
-	SinRSAZR7LEiDVYLU6SCgnxOR1iV3Jrbv60oObngwXltCmJTtj0Q/ir81T9I/N9OEl4f
-	TmIOT8qr3tq0+u6GjYva71t2mJR8RQykJPgZ2Sv1rRJtpJ8/Birs3TTRdT6aYGMmRsWC
-	zq6SCUqTXRmlYY0JZsHMOjij2VgcY0gx77DW11zXhdDoWRyD1HzxX42DMR4HIHSDVkcn
-	q6JYYksFCjl+bDymSjpn7tmZS6zhC5N2LfuP8BVC3n1xdX9Fy6o771rBdc30M/J/itt7
-	O0jRJaIj4tXbn9/6SnvhkS3bX0C7zomc5kpRHwJaXyo8IzbUyjckbiePKzmBKHhBxRsb
-	+VpVg+UBcn/cBrOS1bK6BG2Crl7epG3SNRi7tF26WcbT5APuM9OnlssW1RRSq9rIr1Nx
-	TJA8KhZMi50Te1ssGxubJNhTrTJdvCspSssyqWyxbmVqSk/0mmgm2mhnzLGPphhsdqRi
-	XJuhs6jObtTn2ZGcMTpOojZxXHeHkI2l3WRpN6Bt46yDExJ+Miv+0FEuaRUpUqugjJBT
-	i2PJYdnKWza+XycmRDEhrdBb1trhSdERW9SsLVdPhY8T8yeJ7LJ7Fy6988L8Jb1rGh/c
-	W52Zn5TbO283icZJLYlkU7sleEsIzGb+DdDB2qocDLHgQms2wzRcE+agw4GOMTrMGYX6
-	78J7TgVyGovzsgFjdXjjp8TcLN6I0plMAQ5MM+NN6MOY24D3gwYSixrowXuzMVsYPRvy
-	esvfHpWWErqS4LpaOdI9OkKtAWfdbIKK1xRobGgVtqICOpYLmHxXun5p1uHD4bO7d5VV
-	jPBvsOx5li2yWMpfvfoQe9urtb+qnosYqsPV3GzUeQzeQubCLFE1lIITCm/PzZHFC2kx
-	9swgqRQtyRaXPi6XMceb0xy5rgRjfvL6JLei2GXIy7/OZMemKTruzuK4C52sHPEiWBx+
-	dNDZr81C0pCLR0UVjc3BqXbHNYVNovOWLZUpKowv8DBHhtYtecybYil9LGrSgEg0dfeE
-	//2N8D9iSXF0UvbinYWpmTkzNr555dJHt3y+/aknfvZg45I5U4bY2w1Zd/zkypdv/SC4
-	d0++1nFr9a7aWlsVcVz9O2lkx/S3Adfc2fwR1ESlmMYzDqYjdiCWS9TFQ7RdJ1PJlPJi
-	3mhIUDnUBr3hqLV5fEhKmxn/iLQe4miUZltpBUTa6XKIw48OS3UFKWAnP1XkTgx/mOJY
-	vPTO8FmSXLFnFje7tn7S2odDa5jtHcVN27eEhvkjoctzGikmBu8jgezjX0ONyKBMTG2C
-	JtIFXXj1uh+tSZApFbjFAMFBZLjBGr4GSdpg0f0FGkWlH3dEOLEhAsntC5/BWUByHF5j
-	h++6cpTa7hoAYRc3C29Dj1f5wYMtE7RNBu2QgTR0C/COfiFa6AqU96DchHII5eMoH0f5
-	C3SH0H2Kth2L+a14s8qi9cbgHasbbZf+pmEfzFirCS1fjraeM271At6QK0gcllCDHxLR
-	l4LvFCa0/xS0+2zc+9mwvma8px+z+9AJFdr4aGjc7svLqemPqEbG9iG41KHx46dhx/nH
-	GfaaKsa8Vg0ueAW44Omo5Ldu8WarlEz4dGL6/OVuXfjjRPuCe5w6JElTlNO6fpW/wlLS
-	2rGIm1VS6231LAxNZw5WZDTNLWwI3cVs6nVNm+buDA1y4u4ZdtFT0NzjdmP/qS314vjR
-	Yh8bRTdPNCSNeEhH1ECUQOJVgsKOE1Isp9Txxbo4xmhQxzribrSqE2OLFV2qcIM8Uukd
-	t6xv7IuDHXo3fFrnXP5QcTLaVYInr2PDAq5r/8lQKrO9PbttZVV/aBghtqVVU2NnYFW4
-	lduJ+o5BpqeImboEuTLZyNgtMqOgtCdEGWLlMfqYYpUxVTAnmfUOg8GausPafG3mHaVT
-	r39EmnWlVWhiEbp+9SyKp1OsLdWRTrf1Y6Szy+5Y+0RpSn95y12rTEQRDr1+X3uOO3yO
-	qLML56xjdh9/ZOrdR/3u4OOMN3wufDH8h/CbVfaa0Cv8xSfrMhvomCB4Mw3MFa4LZ8Yp
-	h4AldQeYuBghSOpEQ4IsRohWWphcRmRYDQ4NJjbKEW1I1ATJvAPW5vnX7OdtyXT83XR8
-	4Dz0Nh0iuHjiUkHX/gmwzIdRCUnOmF+WWcMfE1V1XvMarouQ8GmWGaxcF7rMVR9dnDGZ
-	YmKgOvIB3t/3QhbO8KvFaQqVkG6IYRWcNSqqUdkQVWf1Weoz32XlplRLtJLTZnFao8sV
-	L+NcGVEuV5xGaTFp/akyjVvmTzNmR4PJH+cGf5bBnX3d7mUUFzeJ91G1l25ekH5p14eb
-	PtVJyfhnd88m3URa5qSlPw23M0WFaOqcjm7B6VRE9+N0cCQKNgtuckmfIqVoa1tfRkY4
-	cqipaeTd1wlJCP9JMOQs7Z7mdEb2zWj729Vw5At8zOhqsnjz83MNhknZNb4123+/5xWP
-	pbTUkafVlWRMb1n5s5O/f5pF48J1MPI5czc/gLY/5aDKFWeOdqlfIkuBI12iVgZdAhH0
-	qJo4YZRTOOBh1JM+SGIPWHuoet4uPxsqHy2n+vmLXzocjlTiuoGb9CJ6PqSL2dj+VSMT
-	sG9qzQ5i3L8/dWaMKXbD76bksotfI7nhU6+Fjk22EvIOL/PnzWd2U3uPnOdm4Hg04BzV
-	JGYrtUatU1uibZf1ywSjTAmCNjZGyeP+0RijdBj1UcZkUqw3JCX/a5qne+14rz/0tsQ5
-	3TnikQvZvv7sQPdeMrr9otDSyJNax+0PF+NzUfgCZ9FOXtV2qS2H/JmrDt3WndO6XFzA
-	TL9ydCefn1Dueq7nMPOQCbmj/IFn34lH5sSVfwFq+lAK8PKLmWcmpCZcLeySDr8KKT9N
-	wDJCZjgTn3nJ5dNXP4haPZFCU+mfjn8ZdjJeNNV9kMO3w1PoX8/9CXZh/B50u7g7oAxd
-	HcZVoszBfBr0V6PbgHk34av1GupHt4o1wX2Yp3o8zyqsvxC/FjwF/xLexJfGBxgns4O5
-	xD7A/pmbzwW4s/wW/rRQKqyXKWVtsqcldDpcT1hYhCsBg/sbuh8C2XllAu6RxliIH++D
-	QPdVs+qrJs+syqrvX7S8f9mCvl539W2L5tFxJ/1F6GviN/3pMJLFujNwVOZAEb7i+qAW
-	XyDroQGm4AtpE64q06EV3zfbYSZ0BKEFbwXq0VWgK0TnzNovF18i2yCxe1RUEDMHUeb3
-	DH85ilu+GDgn/QZIthgdA4q+deXmvnXr6jOrFHjW93AEzKQG7JL0DdufMQdJxbDdhmLS
-	mGCGPSYMgajw2M0hz1zzVU9QTsQk8z/sj5gvo/vSXmn+wp5nfgPznfLUmU9WYfqw+TVn
-	kEHxO3uQI2Kc+RX7WvMLnkzz854y87AD44bN+6tQHDTv9aw171kvxfzMKYkn7UGyc9j8
-	UyoOmndj/Y+tkxIeHSt435gYXC81dNsBSSw5EGSeOWhebE83z8WCRIwyd9sXmbvsXnNb
-	VZCkDZv9tNhBc5PjpLmRNj1sFscaKh6rvcguIc4fa9ZlP2zOGGshleYWE8wWe5PZhPW7
-	fvqY2WWfba5yBsnTL9ZnOO31jseKg2RUaoMKBErFkjHR5zhCfo76zCSz8Jrl8QP1mYiZ
-	bBs2r0Ox80B9hictyJ4X480HHPWO9eiK0aWhmxEkbaJLtl02TzZDViDLkmXK0mVWWYos
-	SZYoj5er5LHyaLlSLpcLck7OyEGeGIz8QcyiIy1RUFEhcPSXk/wqtEMiGSOaLl78MGhc
-	QQHu1y6v1FfGV6i9tb5v+OmRInt8Wf/6wwlw4k9PTIHH8NEjsM/UGcinnoipcyL1/+fp
-	r8byjS0rDrSsuNAuvZvZavp78PkssHk5Pm+umWux7L+wgibQF5yeuX0DVPb2B1bY+n2B
-	CzafZX+LVO5rye00ucXm2w/tNW0d+9vFft9wi9hC38U6DzTX1OO0jo1ca2vTRFv1Nd/Q
-	Vg2trJ621SyV+1pbU2lyM21rKm1rKm2rWWyW2srKqlnQWg3/C1CnSRgKZW5kc3RyZWFt
-	CmVuZG9iago0MCAwIG9iago2MDEzCmVuZG9iago0MSAwIG9iago8PCAvVHlwZSAvRm9u
-	dERlc2NyaXB0b3IgL0FzY2VudCA3NzAgL0NhcEhlaWdodCA2ODQgL0Rlc2NlbnQgLTIz
-	MCAvRmxhZ3MgMzIKL0ZvbnRCQm94IFsxMCAtMjE4IDgyNiA3MzRdIC9Gb250TmFtZSAv
-	WkhBQ1dBK0hlbHZldGljYS1Cb2xkIC9JdGFsaWNBbmdsZQowIC9TdGVtViAwIC9NYXhX
-	aWR0aCAxNTAwIC9YSGVpZ2h0IDUxMyAvRm9udEZpbGUyIDM5IDAgUiA+PgplbmRvYmoK
-	NDIgMCBvYmoKWyAyNzggMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMzMzIDAgMCAwIDAg
-	MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAowIDAgMCA2NjcgMCAwIDAgMjc4
-	IDAgMCA2MTEgMCAwIDAgMCAwIDcyMiAwIDAgNzIyIDAgMCAwIDAgMCAwIDAgMCAwIDAg
-	MCA1NTYKMCA1NTYgNjExIDU1NiAzMzMgNjExIDYxMSAyNzggMCAwIDAgODg5IDYxMSAw
-	IDYxMSAwIDM4OSA1NTYgMzMzIDYxMSBdCmVuZG9iagoxNSAwIG9iago8PCAvVHlwZSAv
-	Rm9udCAvU3VidHlwZSAvVHJ1ZVR5cGUgL0Jhc2VGb250IC9aSEFDV0ErSGVsdmV0aWNh
-	LUJvbGQgL0ZvbnREZXNjcmlwdG9yCjQxIDAgUiAvV2lkdGhzIDQyIDAgUiAvRmlyc3RD
-	aGFyIDMyIC9MYXN0Q2hhciAxMTcgL0VuY29kaW5nIC9NYWNSb21hbkVuY29kaW5nCj4+
-	CmVuZG9iago0MyAwIG9iago8PCAvTGVuZ3RoIDQ0IDAgUiAvTGVuZ3RoMSA3Mjg4IC9G
-	aWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ab1ZC1gbx7U+M7vSioeEAAECLHaF
-	EAIk8X7KPBaQACOwZYxd5AQbjHGwE8fE9kdsJ7g0NrYjEld52c3DTZPe9uZFsiZusjQv
-	N/Gt3dTOu75truOkX0mbzwlJH3H6SED37ILtuF9vvvS7/brDzJkz58yZM/+ZGe0OQAAg
-	FkaAAbFvY+8gJMEBbDmJOa9vaKvwlnb7h1j/C4DGu27wqo03t9VfA6CtBuBOX3XN9nWb
-	Pn41HcBgwrbYgf7etee/f18ngEnAPuUD2KCfMu5Dvgv5rIGNW7clPAIvIX8j8qZrNvX1
-	0tPsi1gNIx+7sXfboK47qhD5+5AXru3d2P/knm//CvlnkbcPbtqyNfIHxWHTFBauwc39
-	g1/8yYn2k4zozzpsI5iUJxa0kIG0H6LVFop1RhGoD4uz2Yq5EtI0yyGR2QhpAJG3MX+A
-	+Q+zKyOzmlJwzz4S+TWzAHt8bz6rncEKj8Cd8CJsg2Gs3wQy5EAeNKH9h6AdgjBFRCgE
-	CvfCXtT7DMzQDFeT93CMR2EAXkE9O/jgICRj+1oYwv7Z0Ii6P4IzUAFXwHY4DD+D02jb
-	BR2wHI7R8cgbUATfgdfI0ywTCaOlfCiHjbAb9kceAzfUoKUR2ENsZEtkGroxbUS/boMH
-	4a3IGzgvDlFQfKxGzaU40mESRTKISEYRJQMY0Z9CCOBIK7DHEaKjzZHN2CsRSkGEemiB
-	LvT7BrgF7kHPXoK3ySq6lRmPeCPPRV5FSLKwfzZ6UQWtsAQ2w1Yc4SA8BZPwV7KCGiJZ
-	kQcik5HjkU9Ql4IGLMBjnxrwo91uuAr2o10ZZ/xLeBvTFPyWxJKFpJ4EyCj5DjlO3qQ+
-	xs3sZSZYo4aP/AUWIDIOnE0eel0BC9HvK2E19OLIt8J/wDj6eA4+I2aSRUqJlzxALTSX
-	rqOb6DH6CcuwY+xU5JzqCcVIcIhkGXpeC22YliNu10MIPQrDHRi7A+jZQ3AUfo6ReRem
-	4a/wBdEQjuhIDilA64vQv1+Ss9RAk6mNNtB3GSdTy2xiX2enNL7Z/bN/jHRFgpHrIs/g
-	7M/iWMrMFZyugFXo8Vqc+xBGeyfGTkm7MO2D++GH8DCusCfgeRz5BI79CrwB7+D4H8JH
-	6MM0fIq78QuYQS9iiRFTElmAyU7ciFotRjVAlpIhspOMkF1kN9mPPh4iR8gz5GVEspl2
-	0W46TPfRZ+nr9E16hn5AP6J/ZqIYC2NFjH/GNrMr2cc0Bs1qzQ2aEc0T2vKZT2crZr8x
-	u2p2aPZUhIsYInmRochw5LsRGaP6exVJHcRBCtgwIk6MahssxhTAldYNa6AP1sHVGJtt
-	iOZBxPNenOHD8BjG6WlcSy/j7F7HqL8Dv8WZ/Rk+hxmYxU3MIs6puJ7zSDHOqBln1EmW
-	ky5yJVlFVpN1ZIBcR3aQG3COY5j2k9twlg+QJ8hh8hI5Rz4ln1GgGhpL46lAXRiZZroc
-	Uy+ug430BrqX3k7vovfQ++kP6X9SiR6hP0c0PqazTAxjYOxMBSYf08YsZnqZ65j9zPeZ
-	HzKPMieZ15hp5gtmhplhS9kqdgl7A3sn+yL7Nqbfa+I1BZpKzXLNWs3Vmms1Ic1dmnHN
-	hOYdzefacq3E2bgO7iZuH3eQG4fvwk/hbtxpX36ew3P36z73wuP0FPXBe/AhIrCLVuLe
-	KSKPQ4BdCcfw9FlA/0YPkJdxZfmhjzwByXjWUY0fLJjNzEHc1xD5DeZpzOdmG/AcRNns
-	c5HTjHJiboic1oxgDEO44xNwR5yCD9goshjPj9VMKa7ftXiyFKq7L08sLiosyHe7nHm5
-	OY5se5Yt0yrwGZYF6Wmp5pTkJFNiQrwxzqCPjYmO0nFaDctQAi6fralHkLJ7JDbb1tLi
-	VnhbLzb0fqmhRxKwqelyHUlQ+vWi6DJNETXX/Z2mOKcpXtQkRqEaqt0uwWcTpFNemyCT
-	lUu7sH6r1xYUpGm13q7W2WyV0SNjtWIPwWce8AoS6RF8UtPQQMjX43W7yGTN+McfRrtd
-	MBmfXDMeo1iWoLF3eMCMRNHwSWk2r09KtWEdZYzd17tWCizt8nnTrdag2yWRxj7bGgls
-	DVKcc767alniGiVtI5oW1ks4ARgTDruOhm6RjbCmxxm71ra298ouielFEz4p3iml2LxS
-	yo4p8yX2Qs13y7zwfRRK1N7U2x9qksSeMQRdYXsUrvcW5PzLBLRJR4NdEhlFw4LiruL6
-	3CT6bT6lpWeDIEXZGmwDoQ09iHlaSIKO7daJtDRxMoI/bj4h1Nlls0p16bZgr3fBYROE
-	OrY/mSoKqZdL3K5J886FVoRs0l3vrlfoQqt55xz93a659jeOKtS889h7SP0dF1EjiiO2
-	RTgLSegT0IEuG06lUin6KyHUV4ng4hMkCMJ6KaqxJ2T0YLQkjd1oE0LnAcNom/7o8pbe
-	+Rat3XgeFKES7IsLRiK9F+qS0ynl5WHMMT79GCZ0rVZtKHO7hqR026BRkNIRKgggjr1B
-	TwHibrUqIRuTRViDjDSytGuOF2BN+gSIBc6gRHsUydELkqTlimTkguRi9x4brsYj6stM
-	kqTLvvgXZ0xO9A14JJL8FeJ+VS5DscsvQ1Sg6zAh+4MyiYzK4LVMQhQwq1e5ZShRlvt6
-	L84fmVIXNuRZsVbmEpoQ9yZEOyiEhNCitSGhSRjABc3aVYqC/lCwAKe+rGs9lp1dVkkM
-	pl+s9geDHrRTrtjBLqgeCqKFDfMWkKpNBTOoVOHyY5CzA11Lu6QRb7okeoMYVNxCRxHW
-	o7h7gkHUqrzoKXo8vN4873MV+lyZh3LPnJVlaANNBEMhxeYyZX0eDYXSQ8qmn+NlAn/f
-	IM43yKCoKHtBJiMB7IvEZk1XGmxWmxXdCnpxqIW4fy4sUBmqvxrhmot+Y89a9LZGRbju
-	X4Sw+HUQrv9aCDdc9PQyhBvR5wYFYe+/D2HfZQg3fTXCzRf9Ridb0NtmFeFF/yKEW78O
-	wv6vhXDbRU8vQ7gdfW5TEF7870N4yZcQxncAqrwbaG34faS8ITeIUSznA43WR4lM88RE
-	hoFoLecjkKqjjE/DBqNmJ8k1YHYaP62eqV6MZftMNdRVG2eQxaKo0BZvjXdgTtSWy597
-	NJV/OyEzJ76oxKHwi0CM/I7xM3vxvT4XRsSlV8MOoFpOa0oxrTMNmfaabrYfNB1jT7Pv
-	s39iYzUsEXOt0dGZxkwHw4kma1KzsTE1JlfvWdCcp7B8CWgFrajt0b6q/USr1TrzCs6c
-	7p5+K63mZJrZOHTaPHMU6qaHzqTVnDCn1U3HJ1QVqNWiQrium3QnVJSXFOO7CxtHDCTJ
-	lFxSXFFekYLu2DKzy7LKy0qzbZnIYRJP/PTNxVfOPvHjKn30liX+zsIr0tyddx3Y8D1y
-	5++zbPXDxWV8fCL53WuvtTSHT6VwuUX2rjXFFn9KVfXVB2557hfrs92bmjr8OSWIAQPG
-	2S7mOHMzfrda8K3tJ+LwOvf17t1pe927vHfm3O064NXFuGIKaSXb1MZ6o1e7l1VtcO1w
-	bam8mz0QrfdaGhoFJtlRy3iShHqbozYutqi0wpecbPEwDtHjsUSV3iUUPx/lyOcsjpa4
-	1IrWtljPoDPspM62OM83fff7qM+n9ZQ8OlgRrqAV7W0FZ97qnpqpKuieNr6F+fQ0IlY3
-	81la6rRZxUtFjWC16kIGpZKQUhVfVVRIlA/QFERuHq2kBKw4sh35BKFLMqEEyivySVkp
-	IpvtyC4rVRBPKUmyZSDgCs6OTE7Vm+PKSF+isGzlrR7P4M33HMpNLsp9KS7twJbqrtnQ
-	luFUoUpoEfMrP3r8ip0xe9dptZ/fFpeWGJeWfuZ/zpy95wh50V7zfqjB//G1X+zevKQ6
-	NznV5B/rGi1OI3Rvo9FmyS3LKDK7Fq46eKIqMZCcZX3wxwxrsaRkdiz73rYf7V49tz57
-	I+foAo0IMfgNfkC032N+2CybmagFky7qcg3azdbUW1NJauoig92QypicWXZNIEYmK0R3
-	kdPm8hdxpsaMGCrodHqDgU/IyrJn5RTbjTQrIYvenvVg1h+zmKys6JLigpPOalLQfZ2z
-	2ug8yWnyncPGt8zkaIGK/flp42fTVBePCBPj0ImCbjMu2pNGcr5gHu55FBXEkjlmDmV1
-	5SpLVVm6peUVibWIebatrJZU1BLybY8nN3fhwtwM8rJBqzFlVloL06L9Re2LnFW6mFsY
-	tmzxskX2whVsv+jOF8X8/Lqzmpnyqpi4mNiFtvpkw/r8lpYiizOP0lhTdFa8NTpGq8NL
-	IOUGxh45x/wC17JI4sWHNI6MuhyH3VNlKs/dUHO342HHpONnjp8u/JXjzarTC+PYGrbW
-	saC8uqymuS4Ys6Lm+oy9CXckxcSUR1WYSXINKzqEnOYciyuG1FgTYjZF22L8cSXFGRaS
-	oK3Kiq+KyxEd1pxFOQ0ZJcXFfEKGJaMuPkEU+QT0o6oiOY4TcyA6q9EV47Wstey2MJas
-	DG/GmozdGWxGc4Mlw5iR0RBNjNDQUl8wdNJc4Kx2grGaDBfgUXbMqBk60X2i26ysfady
-	nE3vxagYho3Hjh3ba8g3Y4COKXtgSAmFOc2JVSU+ZjCenybnjWknjCeVXTFUUJOG4sIi
-	ch3ui5L5IOAZgnGoI8kpTLly4iifS1qOmT9yLp04l8KGe4IzEM4+nsxZC2NTDPUVwpNa
-	OrqjI7zZJdRE63ax0QZjmrfd0lHY4c+s07A7o7kUi39zo6+spoFuWGxNtFgZmhkdzTlY
-	zWzHM1c8EG9dYS7NmLXGOaPizDVr0za5l7gXxmcbyG9zSmLMtn1LB7/xg1/N36fBjY3P
-	H18dV32exOuUKMPxp3PfvUAj07Nd+Gsh4lkedUFfoVqYRZXYX888OPOgLk0H1K70uPho
-	2N9EpplbQWQBjLQKepEqGuUgkz00g9GqtjR4m8TgTQh2x5sqI94rAPcBdxpYVUrwG3Xu
-	xk+rfNe2tvl9DUFn5/qN/Vvci7b2XrO+TxmOKrd6mPvxPvAfPRpsbMHbqzZYKkOTE9/i
-	MBc7n6X3kVi8NOPpXROBKl6md4pOpGFtmKOHFo0vouObx8fooc2Hxug4P+6hh/hDHjou
-	jAfoIeFQgMo0/KSnlE+S6dhEM2+SaQhJokxvRpIg031I4mW6F4lRpnuQxMl0FIlBpruR
-	6GW6C0msTG9CEiPTbyGJlukIkiiZfhOJTqY7kXAyHUailemNSDQyvQEJK9MdSBiZbkeC
-	zmxDgr/f1yMBmQ6JcUgJIRBFKIKrE+tNtIZcC4OgJxvU8gq1XKaWJrU0qiV7ZFC/aVBf
-	H01exXtBPTmuln1qmSgaBvSfDOinBvTHB/T/NaB/ngzgpaieWNRSI5ra9afa9VK7PtSu
-	r27XF7fr89oVU39E+PVkSi2tapkhprTqP2vV/6JV/3qrfrxV39eqL23V21v1MvlvMX5U
-	/86o/uFRffao3jaqt4xi6+NH4vxxEPUM3oX40dhrEwEX/yx5CQScJU9+MiE8w9enkqPg
-	YRX++Xk6CbzKPwWNxI7tT0CnSh8Fh07R65kIlPEyWTURqEFy5URgJZKVE4FVSIITgTU4
-	xDcgoHbpnBCm+Pp40gGCanLx/BDtMIZXHzxpQ/oo0pYJ/irs7Z1oXMPXR5F6aFTVa3Hk
-	FSheoDherydJ82bi5z00oEyR64/wp/hpD/7GTPDn0I59gn+/U2bJBP+uQ6aPijH8WccU
-	fzJwB//zgEyx+cVObJ7gX3Bgl6f4x/nv8g8pihP8D5SWCf7QnNp9gqxD7QNz2nflqCbv
-	zJHJPU/xtztO8TuVIdH6MBrYkXOKv7ZRHXvjHLkqB3ujdF3OFL+G/xbf4VD7L8G7FnSw
-	rVMde5HnFN+co47dhC6Qp3ifcIpvULpO8CJuMXSqbo6rmDNbPseV8Kq1ojHVWsHcTNw4
-	RRd6i32d6KZdjOOz+M28tfEqfjkfxUeFnyG78AU2THaKVVz4fi48woW3cOGrufAGLryC
-	C7dw4UounM+FM7lwBmfSJeiMOoMuVhet0+m0OlZHcV+Y5Mh7Yp7yu2bS4n8ZCGjxmCLA
-	qnUjnixEOV6wBIo359Bab6Yh0NF9mPdg3o35JswjmHdivhHzDszbMA9hDkXee1LpPUlD
-	9MYjqtFJeiPdMd+4g+6Zr+2h2+Zr2+iQWsNN/KQyJtKJVsBDMzIqkVsl7T68fpDI/nQJ
-	rzv2B83JyUN15rqE2viqJu8/KHrUxh6v89Jj/qc7XOqLNeIPbH8Bl+nHCD1PXlDLw09x
-	/Csc/xinavqXoUJYVQirCmGCCuFXuPC8gtkiHcCvaukRS1AqVioRS9Av5Sv3VJO0jtb4
-	vJO0ViHBrkk4S+t8HUo7nPUGUW2lqoandh2qgUchqEYeAV5RQ5ceUdX65tQEWquoBRSC
-	avR6EFQ1gV6vqk0paoc3e3zewx4sUIV9DjarKpvZ576kMna5ypiqMjavkq5acTjQSiMW
-	wa7DmQ5UOOzIVC1kXRJ3zonz58T5qrjikjhnTtw8J25G8WXY/z+Z/oZ/xoBv/bKGZKir
-	w7clfHXlYiUt3mZytv/Lxpb5B4cA+F/ozlN1CmVuZHN0cmVhbQplbmRvYmoKNDQgMCBv
-	YmoKNDg5NAplbmRvYmoKNDUgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9B
-	c2NlbnQgNzUwIC9DYXBIZWlnaHQgNjY3IC9EZXNjZW50IC0yNTAgL0ZsYWdzIDk2Ci9G
-	b250QkJveCBbLTkgLTIwNyA3NjcgNjU2XSAvRm9udE5hbWUgL0pMS0VCWStUaW1lcy1J
-	dGFsaWMgL0l0YWxpY0FuZ2xlIC0xNQovU3RlbVYgMCAvTWF4V2lkdGggMTYxMCAvWEhl
-	aWdodCA1MDAgL0ZvbnRGaWxlMiA0MyAwIFIgPj4KZW5kb2JqCjQ2IDAgb2JqClsgNDQ0
-	IDAgNTAwIDAgMjc4IDAgMCAwIDAgNTAwIF0KZW5kb2JqCjE3IDAgb2JqCjw8IC9UeXBl
-	IC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL0pMS0VCWStUaW1lcy1J
-	dGFsaWMgL0ZvbnREZXNjcmlwdG9yCjQ1IDAgUiAvV2lkdGhzIDQ2IDAgUiAvRmlyc3RD
-	aGFyIDEwMSAvTGFzdENoYXIgMTEwIC9FbmNvZGluZyAvTWFjUm9tYW5FbmNvZGluZwo+
-	PgplbmRvYmoKNDcgMCBvYmoKPDwgL0xlbmd0aCA0OCAwIFIgL0xlbmd0aDEgMTAxMjgg
-	L0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBvTp5fFTVud+5y9w7SyYzyUxm
-	z8zNzWzZFxISEsgQkpAAiTFBTJBgAgQCgkaMqbFKo4JKRKpQA0KfglpWNUNIYQDxUR4W
-	6Wsr2rqhXSxg7XvNT9uHVguZed+5E1Loz9fnH/117pz93HO+7Xzfd849QABAB/3AQmjx
-	qo5u+Iwsx5qfYnhxcW+P5/E/THsGgNwDwK5c2r1slfG3//ETAO4CgEa3bGXfUufolyoA
-	/WcAyVVdnR1LLj3x/Q8B0ibh+8VdWKFJE/KxvBLL6V2reu7piKl/hOUnsLxk5R2LO0rX
-	TOvF8iUsT1rVcU+3eL/mKwA5gGXP7R2rOhvuuncDlmuxnNZ9x109zMPsY1im483tXt3Z
-	/cpDt+P48gmE7w2sI/jQnw5UsAPTHJg9XkNrGRpN/NiJ3NUMhxl+vIBYfc1PAPFrammV
-	GoMGgxaDDkMC6DFOBAMYIQmSMW8CM6SABXMAVv4EGPjjEOD7wc7lghsg9j6GczSN3hT7
-	mD8Nhuiq2J/YMux9hAYmWlEOJ+Bx2A5DiN0ezAdgIWyFM2QFHCELYATeIamIcT9wEIE5
-	8FMSi70JS+EF7N8DJ+EpOICQBWAVwjEHNhJv7F4shzC/CNbGnoN0KIGH4TiU4qgbYTS2
-	N3YQW5vgJtgH+/H9/yQyc4BLjr0cu4BUuBHHXIstb8bmxIYQwyyohEasXQuvEi97LtYF
-	VihD6L4Pz8JO+BH8kTxIRmJdsd7Y2dhHyAkrOKEZn/vJCPmIHeIejn0/9l+xKFIiABk4
-	aztshudx/CF8TiBbq8ltpIdsJk8xIeZBZoRbx1uiY0iHIMzEpxbugEeRAkfgFPwZviKf
-	MlbWwPawr8WKYv+DPJmNWFJMOqEXn0fw2Yg4HSMqkkdmkEZyP/keeYr8gslgbmJamG8x
-	9zAfsw3sAraP/QV3FzfMb+C3qrTRz2PHYqdjbyMPXXALrIY1iN1JOAuX4K+ExbGcxEvK
-	SCVZiE8/2c4cITvJEaaRnCBnmX3kN+Q8+ZRcZnhGx5iZTKaH2czsZ04yP2eXs0+xT7O/
-	YT/npvEMv5O/qPIKH0QXRddHfx4ri30U+xJXpwgScqYSGuBW6EBsu2ESfAexeAmfIeTa
-	KXgNzijPeeKEUfgSqQAkidhJAanHp4HcQJaS5eQZchSfVxVYvmCQEYyaMTIWxsk0M4uY
-	VUw/8zbTzzrYDHYWO58dwud19h32MnuZ47lkzszN5OpgA7eK24bPLm4PN8y9wZfy0/gG
-	fh7fz6/nN7CL+Tf5d1RrVBtVw6pPVZ8JAWGOcIewAblzBmUWV/81P46kI/QFcDssJlVk
-	EQwiN3aSDhhA6VpCHkV6dUMg1sauYWcyeSgNr8K3UVq3wf2wnl0AO2PvsfvgXZQUqg/6
-	YTdXCS5+C3LnQchDKRp/QsGMYMDv86bLaZLHnepyOuw2qyXFbEpOMhoSdFqNWhRUPMcy
-	BLKq5Zp2T9jXHuZ8cm1tNi3LHVjRcU1Fe9iDVTXX9wl76Hsd2HRdzxD2XPp3PUPxnqGJ
-	nsTgKYfy7CxPtewJ/6xK9kTI/BtbMP94ldzqCY8q+Xol/4SST8C8JOELnmprV5UnTNo9
-	1eGa3q6B6vaq7CxyJITk0GRnUcURAi0dOAwzOu7vsmJCe1SH7XJVddgmYx7bWG91x5Jw
-	440t1VUOSWrFOqxqasE5srOWhxFOeEy3RF7yWCQEi9pprmNBS5jtaA0z7XQsY2bYIleF
-	LfdetP6teDVXveGaxjDjrenoHKgJh9ofQ+LSYjstdWzA0uxmDw7LrGttCZN140BQGFcg
-	pBTcTrmawtW+whNWy5Vy18CKdiQuNLUM20P2armjqjUMjS3DtpBNKWRnHbGuKZMQ+yPZ
-	07On07RMsq6Jp79/KF7/1gmaWtec+i2ms5smCEDoTHIdwhn2LFYmkRHYEhp1lsDA4hKk
-	E/5aCaK5HOGZEWZQZlhvmPfWdYT7m6+C0VUVB659RdWw2manOLRXtmL/9gHDFOQU9jfI
-	noHPAVkoj/7x+pqO8RqV1/A50EbK6AlZCZOOq/lehTCIdZdV7qL87VV4imXZWn1NBZYp
-	aSjMYVO4YHZjixT2tGJFBDKzZkdA3dhygJCNrRESWxeBKtcRtGrsrQuxOYuK2vIqnB8L
-	2VlYkSFhLifLU4NY11BZ8Qx4BuqWDHhqPF0oTJxXSbGhc6A1FynY3IJ0grk4Y6jVMZHt
-	bG2dguPk0nHwFew+0IojrBgfAVOlKncMO+VlzUau+BpbbmwJ91c5wqGqVuQCiu+Jxpbw
-	CZTc1lbslT8BKUJ8/3LrOMwFCHN+BrYXxkdpxjFwiNaBATpmc4sshU8MDDgG6HqLlyME
-	/r4iNF4RAdoFEa+OkP5GfBcTWXLQClmSJQSrldJ0Eor0VYmKQNE/pnDxBNz45mSEtlih
-	cMk/icKl34TCU74RhcsmIL2OwuUIcxml8NR/HYWnXUfhin9M4dAE3AjkdIQ2pFC48p9E
-	4RnfhMJV34jC1ROQXkfhGoS5mlJ45r+OwrXXUbjuH1N41gTcCORshHaWQuE5/yQK138T
-	Cjd8IwrfMAHpdRRuRJhvoBS+8V9H4abrKNz8jyk8dwJuBPImhHauQuF5/yQK3/xNKNzy
-	jSjcOgHpdRSejzC3Ugrf8q+j8IJrKIwObyXuX8/i3osFASoi0JwZATEXjR8G0RABOIuB
-	ljHPfhgBDgNgXvgQjuIbAPMyj+IoPKZ5+YVGyejHUMltjFz5HX/8rzMiXP3lg9iLoF8L
-	pB/O4Ty+UDLJYDW8xWInS8DG8UukxZ3WzMyGS/VjDdWdVR9DRf1oft7kQrM89Oab53AT
-	SN/Pj73P2fltkA+nQu46XXN2Z3Bx9t3Bu7NVgz4yW8zUWDNNCexX+aaiBHQY5ZDJWGT4
-	TkJCvqMonReK8hOsg/4qY4TMCiVqSnLuYNxBzwOsnymcWWDoPWX95eilUcPnoxhDxWjF
-	aFJp7qWxjw2jhlFjUinBkJ83oy9UnJtn84Ga97m8aT4VsAHgWDFPEyBO2R0Au9caIBwR
-	Akg6jFIlR4DYfBhBJv4IBkM5zT3wwAPQRto4pqgwxZJSWFBcNMknp6mEolRSWDA5XhJU
-	gjxpcrFUgF455lOJ2QQySbn4ii5Qc3jjiz/cmeRNdvpSOqev3to5Uu3jh0O3E/MHn83M
-	qrnzO9E/f+knltcfq7hz6z3f6yXkWZbxlDxxW889lffu6H79P46sbSp0uQ/0/ywapXRl
-	4DwSd4STFP4XhOx8hsBmgErQqJE9PFnCgU1UL5HuuS/OoPKx8nEWIY8MyKVk5JIRw/k3
-	8cdJ58Y2K/xiYH7sHH8nfxF3H6lwIFTm4LeQQZ51Ezf3IHmEX5/MN4vswy6j0aya4mJ1
-	U8zqVCY11cbmM2WGfKPdo8632dyendKKpfGJRxsMX9Qjf5A1UDHOIzo/8mUKOC3eZJ/e
-	6/BpU9QFkGAyFJAkY6JBcGKJB7aAEIZjNVZdASQmYSTaVQXIKowoQ4ihnHImHiscQvaI
-	xCLnEDkNjIYkypbJhSpBJXn8PqMB+SJzqWSS8aT02vD70c//9OmHd01NPWnfNBR9NwYv
-	X3zxKJkZ4C9Gzx3buCv6RvS1aDT673tbn/zk345v/xl5kVSf/Z1Cd1wP3CiuOy2eOjSE
-	0oVUjtOyqQQ3oGKqRivqGJ2OAdVypkxt17OiF2wJ+gjRHpSeWj++VMopRS5dQOmkFEHG
-	VJRT6owhTySzZBwPZIjLvbKZzbzyNnvf5ZOMmz8+Eq3cF9UP4dT4I7gLBbJJWf8W9Htx
-	MdMjo5xMPDOhy57JzctPLjTKZ86cocsZGyWEG/O49ieF7ESVCgLDiVRY4DLDennussom
-	blhozWwwXKq/hFBduiov5fVj5fl5BEGTjVIRdyZq/EnUyB8f+uufeT0Sg8rivtj7fC6O
-	TU+GykOyhffzJQZWAww/xaBOYVNSTGqvzm4lXpPNYt0hPdV9rWxclYzyNpzFaKJrC5eT
-	sdBoEBjJw/psRCI95a2/GLsl/yd1D0c3RDesq2Nm8Mev9OxYseOlhc+yG66cjv5pU/QL
-	otlEEtlSXBFNsQ+VHX4int2Uw69CJRl5RGPQOnROf2GtYbl6hUEoFZN0atZRIKSrXQad
-	qyyTyQmWHS5jygoyvEkGgRed/jSLM0IGEB2XW/C7crSMq0hbLpSXO01CMGNPun2aI+ic
-	legvsU2d9grZggQ+QgZhHLNLitxfGDt1FTvUTshlY5KltA05nzOaM0r1k9ESV1GB4snm
-	NCA2LylOlMCa6pAgxWOSiJQGkxkJ7C6LhAzAiColFHxF3OMKKV2h11SiJ4kEZd1Miq9R
-	RtNQN+ERgdFEFdZksx5Xht/np4mvaFLx5GSiX91wa+ug1FWwalF+MxmZZtY9dO/jZZJm
-	D/+X54/33m3x6lKNGVm+towU9eSf3/fU8aNbBt6Yn1W360mzU6VPcOYuIyvFLGv2guY5
-	Gc0/3l5bu3VsizONZdfpVJVyqHbFDx996oVkgsesDOAJEHuWawA7OGB3KHe3jWy17hH3
-	WdlZonG7iWVNKpddSHCZtA7B4bAY/EkE1bzR7tL4LTanK0KEg9Lq+/8mN+X1o6WlX6dV
-	JqHi8+rMGh/okw2+uD6xYQn1iaToE21Kgg/1CUZqq8pH9Yn0NfpEUfaQEtcmSNY4BQsp
-	6ZgiAxQKzDvnLUOG1WtenJX36Kbuh2xDqZ8de+uvJOmXTq4h/O7ih/as2rHzw/Xfevs1
-	UvgxHl9NwfmhNnaOs+PJkxNPKb1EF+rbIj5t3+1meT2TyJvM+qREsymkC5nEoJ3M1h5i
-	T5Mfs6cd74nvq99xvyd/YvlE1p42nk5iFoi8lJ64LcWVXqoShBTJ5RQ0rhStV9ji3O08
-	7HzXyXlTEr1O3qbRCUa9P9Hl5+3+9BzBb7P5/L+UdrWNq6ILinL+5VhpUimKZikmuW0T
-	Whp1gGJHFV1dAzLHs3isR3hO5UZtmmRINpgMnErnTXOk+8ADLh9Jdaktgg+0Zr2PJOhl
-	u4RVPEaiFemfYMAoblPjahtlOCMz4wFyZxvc2daGpMbHLMWt6WQkNBpQlaLIoZD4/Iqt
-	JczIOyXFSYYrn/JPbHl8bp7pgHBDflPf9KbXo/9FrL8jbm1g1kv37eGJzM287aYbV856
-	7vnX2opnlj2Z0+g0EBnPNhlSGfXdXfPgwQGCB/x43A5To2XsJ8gTN2TjqfPhUH2xqU6s
-	U7eIrepHdXsde1x7/bsyjzi0IZFNSQvqT2nSUB1wqqDLpklyaRJzhJwc3snmpORkB3l7
-	nk7vT5jm8zttuXmPSKsrJ7RBKaX02IXPx7U+agM0hgp54wogSw7YU7XGdK/BJ6f6fBCw
-	Y2TU6iVI1OsSvK40H/E7gii3uiRU5HElEFcDcccEkHpFhUb0OqQ0nz/uoUwuVlZ6uhHF
-	FZB+41KM6oEw9y0sLNpV3h0989If9YcT/FMfeiPkY4u33v9y9DIRjpKqF77zao13830n
-	b8iKvslVTpNnPHKl4Ke957b/oNZfvmner5oa/0JcJIHkRHeeGL512w+PDy1ey2QrtmAt
-	2qUyxS4JUBxyChc5ND4qVvFLkP5BgaWeyT5pUZw45fWnxspPTdgaxYOkhov6JmsP44/L
-	uPwOf/yndOzYuWgjKVHGNlIj14xWj5rCeej7EurbUp8XU/VZtIJ67GDMPYocpr5uXj6R
-	iwrJNEINC1IJFaCflIyMRJ/ryx/xVYQTXG5u9OxXkzh5AXfo8uS7pyxi6Is4+HqMpipz
-	BkNmFJi4/8sEgUUP+Bo0/uZgUefKKK8fGVEsLx0DaaLycjPBB+tCZYIo6FWJFtGityT6
-	RT8uz1rbPO0yrU72auwu2aZhOItXcllcCSoBVA6nl03WBNBOG4OmCCHD9iAqQxLSAMnx
-	okDY/IEISTj4N3KOXTBcGr101SG3lKOLUT+K/rBFcYipSwxt6PyhlaCmwXLVQshGxZ01
-	I+UnKYsNc2uHQ5Na7+xvyEovf67zvYaMY7fVr3j6sD3YvXT3CJe79Yb0qRXpNfOavz93
-	49hk5pPbGjfuGnuSObaqYPYzb4y9TnU+4s2O4tqyodZfGMo/rDqtYjiVSeU39ap6BN6k
-	Y0xWg4tHNK1ajV2w20EXVNudJMcatIHNgeZXdR1mirqKW1TEa9RYWkriCBGK0jWoUAxQ
-	f+gJYkHW7p+zr+tCY9ZhV96aUHBWSbZjhOxG+Bc2PXvzc2M3Ms8vKl+SkFJZdOfysTcQ
-	WJSYMtyzSGirdPh9xwZPhAq3ioOGp1N+wO0Rdxn2pkTE18V3uYv6P5h0U0SVyyroXEla
-	m2CzmRl/ot2h9pttdkeEqNFijWvauBc84QsoKjULLJxPm6xGrWhkfESwYI5PwJzGpPOh
-	PGMkpqCBYvUYUYOvRJlomNKTisZ5hFYpCV1dBv2EuFH67bq8OUd/MDj4PH5EuxL9y6+i
-	V0jS71U9JHHX4MLvXRnef4E9F/1j9FJ0LPoyybyCTkOIRz71Rm/ivIi6HtKgJ5S1V9xt
-	YQKix2nUq1xmIVGldzm1aXrGb7Wna3IMOVIwLdEmpz8iHY+jhx7ihbgpUYwHZcz41suZ
-	4gDe7uN84EDE+BSMiE3vA9ai4KRgRN2YdNw/xXlmpg4gGZdP/LBBlyq6LEaZ+fFub83R
-	Y9VejKM5Q8WhW759KHq4Z1tfU17ZSN8v3upfcODYkm333byLPbCxLlAe/QPi+NzgrUWp
-	dWO/Gl/HzCZcg0a4IeTzs76EyexMjtOLBkavNqp1fpGKoVEj2pNJjiFoBFtScoRUo/it
-	UZQ4xbHBgFvcivqKU2OnqLWMbzCV1URFL8VipjsPFYrc+v3mF27jrS6Dw/DoJlwqR4q3
-	M+yrLDO0emwrXReVsXfZQ9xstDe5JCf03RL1Vn4w6WnTVvPWDFUg3esvlmqkmekz/fPS
-	b/YvTV/m69P1JfTpe+We9B5vj29X6p6sZBbNLJ/N5SSD3eywOK3mbFNOIFG7XPR5i72M
-	Ny1Bw2UmW3/sdCULnCtnW6Y2V1DrDYwAuVKu3W1Nsfot0wI+wR+w5+vdfsM08OfY8vKH
-	J3wDVCFxm1VqwBxFtzQXY1xylMfUm6Uq5U5FkueQbMZn9tp9kt4tgdonSITNQn8Y96QS
-	cSVhncNklYgnMU0CKU2fIPo1EvF51RqSjRtYVRCjVKNTIrYUjBQXQdnUKVFc6Kn4o5jg
-	Bi/56ubb78ulbgG6sVSPCXLcRaDi4ybUkzDFdfynordqz5KtU/13fXf99J4Pjvz5thnM
-	Pt437emly6sDDd86Wbn8/V9/elogh0nj/Lybb76lOh29qrSMuge2vrJxftfUgpkNoZoM
-	W7IrN6v6e989+/4O5ivU55bYp4yan4/aoemHCTmaE3oSIRUhL5dSamFVeo3Rjuoav6QG
-	waw3J7JulmGvpNhs9ivSsnEPdqyt9FQudbDihi+XKumx8lHD2AXFeNC9ubIRGvfZfUVG
-	tF57Du3f7zPnJ6Sa3DP8a+Y/+SQ/P/r25rHqkmQtYTaqxQeWMa9tRpvFQH/sPPtrXM8W
-	hHBhaErE9LqJUSeLJluyzRRQfYt9VxBE4PUaUCVoeNRdVsFqRbc4RxPUae12EqTAvnXV
-	pNRT5UXFf8J3qSinAkENCWm7bscmT1Z8NuSK0UtK7HkPvVLlHdnHyJOWbb7YnE23tGOl
-	TZPa98z/N0Z/+c1npmbMfbppPfOena5PvHHAfsTlYlpELfv4PpZFK67CoEZLjttqVJVJ
-	pUfxZsDVnDieo7tdB7GoiYx/kvqHL776ILqF9H0c/SIavUD6uNzoI6SPH7s89gHZFL2d
-	8cZtO43h1//9yJ9uTSz/HIzxSxGnDwd/Q+tpih5HmcqLpyH0ZgShtfjDVBWMBvGCBPmy
-	88qo9smJlng7gI1PgkqmFIa4uyAf0/N4D2I+Pw+GMH+GOw8SlvdhWxMHUIZpLYap5DSs
-	Jadj5zBdr9oHa7GOBtrey+yD9diXjmnBcj/m6Q2NSTAXv45nkVfw+7eVqWE2si3sOe4F
-	fg5/Lz+CX6+bVC8LPmGr8GvxVbVe3aV+ToHUht/dWbgNTwIYvNdhgDYA4RONDqlKMSR4
-	CyKOqQrbYO7sujlz5mfWdq7s7exZvrgDezBxNGOdeA/h6342rDTiSYAL/Z0A3qiYjDcy
-	qqAGbzfMwvsL9XCDcsOiCW9N3ATz4GZogVvi55d16MdVYCjCkJk53Qr9ZBc8gWEHBhaW
-	k8egD8N6DE9j4CZye7F0hDw2zImho6QP7HhaqOXcc002t1Wjdb+FbsTIM+73reePERve
-	aPmI2IYTQD1dQ3aQZ2EJuMkPcDd2L8IXINsOBle627FpL3Rj6MfAKjEhe4dTC9yvkizw
-	cgTf8UEqRw65f5+f7b6YH2HIsPukP8Jh8qNULIUS3Sdcz7j/3bXM/SqG/fGmfUHscci9
-	17XSvTk1QrYNuzdRZ27Y/WQ8uduFrx5yrwoOupfkK+1zBiPM/mF3KbbPC2ndxSWSu8h1
-	wZ3rj4gEy9muOe6M/J+50/FF7ObBQb0ho9vp2uyegk2prmr/FAzHyD6yHTLI9mHvLPdR
-	zCK6B+uCJYMR8u2DtYF8b4TcGyquDQwGa/3e4By3N1jj92N+3uvCWuEWYbpQIGTiBQhU
-	7IJDMIlJokHUizpRI4qiECEvDle4VcfIfqhAsuw/KKpEPkJexkruGHlJqXzpsMiJjAii
-	KRL77QiVMXRl94+geBHAzCGVklNFyEt45kyrXgq5UcQJcEqDASUOD9hQrFAwGSIyKEhh
-	8nhEBetSeiusFUnTjKU1Vf9X1K60XI2pJfk/flbiCg/it87wPlcrflbGTMzVerUvOgH/
-	z6/nbuzQWZmZObup72Bv94qlymdyubqzHb+Whx/rxWsL/Ys8ngMrusfvAPjaFy3uot9p
-	OzrD3XJnVXiFXOU50Ku8R6uvaV5Km3vlqgOwtHpuy4Gloc6q4d5QbzW9LnBwUeXqtuvm
-	Wj8x1+rKr5mrkg62ms61SHnv7+Zqo82L6FxtdK42Otei0CJlLkqC6uXNlXf1oHTip3T8
-	lB1oDtfdOL8Fb4y0VkXILvp9/W74X1inI44KZW5kc3RyZWFtCmVuZG9iago0OCAwIG9i
-	ago2Nzc4CmVuZG9iago0OSAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0Fz
-	Y2VudCA3NzAgL0NhcEhlaWdodCA2ODQgL0Rlc2NlbnQgLTIzMCAvRmxhZ3MgMzIKL0Zv
-	bnRCQm94IFstMTkgLTIyMSA3NjggNzM3XSAvRm9udE5hbWUgL1RLSUxMWitIZWx2ZXRp
-	Y2EgL0l0YWxpY0FuZ2xlIDAgL1N0ZW1WCjAgL01heFdpZHRoIDE1MDAgL1hIZWlnaHQg
-	NTEzIC9Gb250RmlsZTIgNDcgMCBSID4+CmVuZG9iago1MCAwIG9iagpbIDI3OCAwIDAg
-	MCAwIDU1NiAwIDAgMCAwIDAgMCAyNzggMCAwIDAgMCAwIDAgMCAwIDcyMiAwIDY2NyAw
-	IDAgMCAyNzggMCAwCjAgMCAwIDAgMCAwIDAgMCA2MTEgNzIyIDAgMCAwIDAgMCAwIDAg
-	MCAwIDAgMCA1NTYgMCA1MDAgMCA1NTYgMCA1NTYgMCAyMjIKMjIyIDAgMjIyIDgzMyA1
-	NTYgNTU2IDU1NiAwIDMzMyA1MDAgMjc4IDU1NiAwIDAgNTAwIF0KZW5kb2JqCjE0IDAg
-	b2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL1RL
-	SUxMWitIZWx2ZXRpY2EgL0ZvbnREZXNjcmlwdG9yCjQ5IDAgUiAvV2lkdGhzIDUwIDAg
-	UiAvRmlyc3RDaGFyIDQ2IC9MYXN0Q2hhciAxMjAgL0VuY29kaW5nIC9NYWNSb21hbkVu
-	Y29kaW5nCj4+CmVuZG9iagoxIDAgb2JqCjw8IC9UaXRsZSAoVW50aXRsZWQpIC9BdXRo
-	b3IgKEplZmZyZXkgT3ZlcmJleSkgL0NyZWF0b3IgKE9tbmlHcmFmZmxlKSAvUHJvZHVj
-	ZXIKKE1hYyBPUyBYIDEwLjUuOCBRdWFydHogUERGQ29udGV4dCkgL0NyZWF0aW9uRGF0
-	ZSAoRDoyMDEwMDMwNTIxMzYzMVowMCcwMCcpCi9Nb2REYXRlIChEOjIwMTAwMzA1MjEz
-	NjMxWjAwJzAwJykgPj4KZW5kb2JqCnhyZWYKMCA1MQowMDAwMDAwMDAwIDY1NTM1IGYg
-	CjAwMDAwNTEzMjMgMDAwMDAgbiAKMDAwMDAyODk5MSAwMDAwMCBuIAowMDAwMDAxNTU5
-	IDAwMDAwIG4gCjAwMDAwMjg4MjggMDAwMDAgbiAKMDAwMDAwMDAyMiAwMDAwMCBuIAow
-	MDAwMDAxNTM5IDAwMDAwIG4gCjAwMDAwMDE2NjMgMDAwMDAgbiAKMDAwMDAyNjUwMyAw
-	MDAwMCBuIAowMDAwMDAxODc1IDAwMDAwIG4gCjAwMDAwMDMxOTcgMDAwMDAgbiAKMDAw
-	MDAwMzIxOCAwMDAwMCBuIAowMDAwMDAzNjM0IDAwMDAwIG4gCjAwMDAwMjczNjcgMDAw
-	MDAgbiAKMDAwMDA1MTE0OCAwMDAwMCBuIAowMDAwMDM4MTgwIDAwMDAwIG4gCjAwMDAw
-	MzE0MTEgMDAwMDAgbiAKMDAwMDA0MzYzOSAwMDAwMCBuIAowMDAwMDI4MDc5IDAwMDAw
-	IG4gCjAwMDAwMDcyMTEgMDAwMDAgbiAKMDAwMDAyNTU2NiAwMDAwMCBuIAowMDAwMDI4
-	NzkxIDAwMDAwIG4gCjAwMDAwMDM2NTQgMDAwMDAgbiAKMDAwMDAwNzE5MCAwMDAwMCBu
-	IAowMDAwMDI1NTg4IDAwMDAwIG4gCjAwMDAwMjY0ODMgMDAwMDAgbiAKMDAwMDAyNjUz
-	OSAwMDAwMCBuIAowMDAwMDI3MzQ3IDAwMDAwIG4gCjAwMDAwMjc0MDQgMDAwMDAgbiAK
-	MDAwMDAyODA1OSAwMDAwMCBuIAowMDAwMDI4MTE2IDAwMDAwIG4gCjAwMDAwMjg3NzEg
-	MDAwMDAgbiAKMDAwMDAyODkxMSAwMDAwMCBuIAowMDAwMDI5MTE3IDAwMDAwIG4gCjAw
-	MDAwMjkwMzkgMDAwMDAgbiAKMDAwMDAyOTE5NSAwMDAwMCBuIAowMDAwMDMxMDYyIDAw
-	MDAwIG4gCjAwMDAwMzEwODMgMDAwMDAgbiAKMDAwMDAzMTMwOSAwMDAwMCBuIAowMDAw
-	MDMxNTk0IDAwMDAwIG4gCjAwMDAwMzc2OTcgMDAwMDAgbiAKMDAwMDAzNzcxOCAwMDAw
-	MCBuIAowMDAwMDM3OTQ0IDAwMDAwIG4gCjAwMDAwMzgzNjAgMDAwMDAgbiAKMDAwMDA0
-	MzM0NCAwMDAwMCBuIAowMDAwMDQzMzY1IDAwMDAwIG4gCjAwMDAwNDM1OTEgMDAwMDAg
-	biAKMDAwMDA0MzgxOCAwMDAwMCBuIAowMDAwMDUwNjg3IDAwMDAwIG4gCjAwMDAwNTA3
-	MDggMDAwMDAgbiAKMDAwMDA1MDkzMCAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDUx
-	IC9Sb290IDMyIDAgUiAvSW5mbyAxIDAgUiAvSUQgWyA8MzU5N2YwMWRmMGI0NmQzYmRh
-	OGJjNDgzNjYwOTlmZWY+CjwzNTk3ZjAxZGYwYjQ2ZDNiZGE4YmM0ODM2NjA5OWZlZj4g
-	XSA+PgpzdGFydHhyZWYKNTE1MzIKJSVFT0YKMSAwIG9iago8PC9BdXRob3IgKEplZmZy
-	ZXkgT3ZlcmJleSkvQ3JlYXRpb25EYXRlIChEOjIwMTAwMjI0MjE1MzAwWikvQ3JlYXRv
-	ciAoT21uaUdyYWZmbGUgNS4yLjEpL01vZERhdGUgKEQ6MjAxMDAzMDUyMTM2MDBaKS9Q
-	cm9kdWNlciAoTWFjIE9TIFggMTAuNS44IFF1YXJ0eiBQREZDb250ZXh0KS9UaXRsZSAo
-	YXJjaGl0ZWN0dXJlLmdyYWZmbGUpPj4KZW5kb2JqCnhyZWYKMSAxCjAwMDAwNTI3MTAg
-	MDAwMDAgbiAKdHJhaWxlcgo8PC9JRCBbPDM1OTdmMDFkZjBiNDZkM2JkYThiYzQ4MzY2
-	MDk5ZmVmPiA8MzU5N2YwMWRmMGI0NmQzYmRhOGJjNDgzNjYwOTlmZWY+XSAvSW5mbyAx
-	IDAgUiAvUHJldiA1MTUzMiAvUm9vdCAzMiAwIFIgL1NpemUgNTE+PgpzdGFydHhyZWYK
-	NTI5MTgKJSVFT0YK
-	</data>
-	<key>QuickLookThumbnail</key>
-	<data>
-	TU0AKgAAE1CAP+BACCQWDQeEQmFQuGQ2HQ+IRGJROKRWLReMRmNQJ/xqPR+QSGRSOSSW
-	TRGOSeVSuWS2XS+YSmYTOaTWbTeWzKcQSdQsAz+d0GhUOTT2cwJ9Ul6Uukvp+U+EAOpA
-	aqAmrAisVIB0SuV2vQqjSx92N3WVvWd42l/WutQW1v4HXEMXMLXWsAh+3l83uwgK/VQD
-	ATBW+m3l+zqfgGtAfGYm3xytYICQXDYaC34BRyx5t94if1rAZLMZS85uC1oC6mEYa9vn
-	N54A5LGAfMay94bYaCqYmm09+WHJaHBaOwQOYPjkNzlEPmOrnQ6rAk29M19UGde0vF4d
-	vDVrF4y4g7ovfydt4eR74mEXfw6kC5u39cGeHEvP7ffE9HfdmlvSOMwjjJAhAYJQKBUD
-	sM7KyncwzwwKCS7t8+51wo9C3oK2TGApDbAP7Bb0NOqTJAXEgGxMt53xSe0VoKxMAsEC
-	MYxlEgFoWsKVnrHJqx2JceuiNEgAnITfOcdRGyOEUklPJcDgUVEnk/KLLswvytBLK5KS
-	yVstkrLqOMTFyBBHMY/TLJpDTQjg+zWDU2sSdE4DHOQfzoMM7N8Pc8x2aswJ+jjACvQI
-	yUHIQJxyepy0SPNFuUbhGUeGdIwe1pz0rLJKF7TKmvUggM08QNQBNURxVIL1TMNKlUsk
-	S9WQGCA+VhPc+gCt7Z0CK9BjICtduIg0bpU/pqWEJtiPCPVj0KzZ2WXWA+LmDBVWigsu
-	krVhLjdbFdgq+QH26DdvhZcJJ3GRFyjpc8TAa9xmXYV13E3eAUXlbA3MMQV7zaDTJHJf
-	gu38I+ADvgTNjNgr0CxhEm0PLZWvRTJew2CllnZhlQEDbQQYySONg/jrDVIcQgZEH2SX
-	kFC2oIY2VVuJWWmxl4k5iIuZhpmsZXTVwa51FJ3jFnzkHwLWhLvFZ7FZo70F9pQPaZlF
-	fOMl9g2EJmqOzboHsctbfHlrgq68RWwP6SWx3gTYkbPGWOg+6o1xlQ9HkYRe5OmNrwru
-	Z28FfvRRb5jIQbpkAX8FJqC6AYfD2IJo7cW30gDQ1os8i91Dllyui4eu5t80LfOBvz2/
-	Ef0OwEUKfSybSpz4AI4OdZfOsn9bQudl1gOG12wndxcIWSuEtXYKM2TI5zRt58MSm6EL
-	TJaKWPmaKYHn9ppyC1+k9Dz3HolskKnt0aXHvbVhAsCf8e/Z5jZIk19OYiTVwO/cM/4Q
-	foHQkf0YT/uwCtMSFv+WOPR6E7BhZAzoGqTTMKHaUL5xLiw7ONSA8NbSiRylafcB1yIW
-	XiqHfoKODipgvHucqLIyUHBRwVP7CEYsKTXkCM2NaFz2wqN0G/DNxLulRAmXSnIMbvDM
-	Dgh9DpRsEVEwUfc8gNkR1tK9em1AlzRVGszCKxF9Imi7rUSiJ8HsWRExbb8fdcYk1Lxb
-	ESBeMiNGrl1AsjKKYhY2C0jct8DaMjUGpNmhQdbyC3iQj1HArQ44/OJfWwIO5b4dGAYs
-	MeRAh5FOqDxI1bQ3ZIBSkk0wDx0TSD9GvJl34apODpk8ICUCtzAFvPQJ2Uzug/ypZA6p
-	W4QZXNXSaoWMgFzzBllsYBe4gpEDHkUId1SeQ9u8Rkpxp5HSYFNdQDqZSngMvMFifI8w
-	lppNyEW7qEi2ppCWjYIUhyz28DOFBOF/zLxsSzXSrMjkdnShTMSKWd0aDMR2BhPOdaiw
-	8kFeQdGUwnSODBn8G+gAKaBKXlyOGg0JF0kFP7GIWFDRdUPavDCchYVCtwCNRcc1GYCE
-	RFXR1+4J3wyzE5SMjjhxhhwpQCqlTfBRJjBHMSJcxiXlvP60UrSNDZmbOya0wCNKFH9K
-	WhcghiT3LpNmW+nhVEmmAIWa1Q6tTGI0MS0U9FRDVEEKad82hflDmtjmAUyxBC7mzIKZ
-	tQ5HD3Ecq6XuoQAFZnRMka1nhrU/lUI4bM6JiWQL5OiVo1pTTANXau9InkTCYkcagrMt
-	xa6wgAacRw3Fhq3GfKlTAg8SiG1tsVYWxCLSgWcSmAKxZbx/H/L9MSzBBq2mrLzYhqBh
-	lDsPhmN+KDcHsUmDlbmfZ6HsDKt8yY7KjaDDhm3N8zZ8mWhKPcQh6hX7nXPJs0Uad0xS
-	XVB3deeYMA63bVyuwZjVAmTuFKjRzgW3zxHDYJ69Tngbi8vc45S7qnVNXuWQe5t0L8X5
-	JU0UXd/aTRQOjAlGh0QXYFYtbkOSSQRCDwYHHBy1sEMWd+2WAIOMLNXtTfe/WG8OEeM2
-	0VopdzMG+PgWsU2J310dFW78xJszDGJq8VIw2AyrVkOLTLDuOcdEbIEb4t86LXFNLON5
-	oCrpmGzTCP/JJCDMFatTTHHeUcpEuLfj4tdVgC5PJFhrKeXcvY8plZYk+XMv5lzNfrMm
-	Z81ZrKJmnNmb84EzzdnHOmdSS5zztnnPRGM8EzUaSAEmgc6Z/I/oEEmewAZ9Jgo3QxF9
-	GaCzjo/Q5FtJaI0US8ZOmTJEaavjnRpEBkahvqRjTuHdPkV0uS7Sue9VkP1bnnV5E9Uk
-	t1iQ8t59z3OEIsb7TZJdakL1/ZkteuDU66IrrwwRJtgkP1mSzZZC2uDyGztOSlbWitXH
-	btmrRhimmzPoT9VxGtnkH3GQnaO0xst+tcP87MaHUGSPkdkzDVy3nR3CRncqNrJFd3yQ
-	faMkBu4KpMCvgjIGI5OL80BGhm0FsRd5mIim/QAcSILv+SGCpMjXQeoczB8iC0ZHNgpD
-	55Em8EBXxAifFL7b7K5yoABm7ZnRPCoe451zAGJeGs+aB20ZGG1KRjiXLuYQzPkk3D6K
-	zo0+IIo08LEWgZY5/o45WpyKbNJXy4hChzfI016QY3yqbRa06npDV3Y9Jkh6OPYwEliC
-	Fvy0STrFoLodxIMzzjLajMNAMwxOZhvkmnm6oR/oPZiRtAm/S7aJ4Yew+o2SrunVvHeE
-	I+ntQ50TDHyYmq4xJmD0YFBcSPwY3PAkhVkT+yI/zMHuo/1fyWqOWFE7oQjaJrTEqHYi
-	zzn8nh0uoiyD30HrSHexIbtE2fIEZEFN8xH1nouydV9eUP4RId19v6l8zs/wfgZ28f88
-	oWhCaKH6UTT0ewDlE2/AiQm34yIeQzhkPBWiCL/uSTlH9mbzN6j/gRP+9V8df1zY+i1g
-	+yw4/8zWaALu/yIrAMKw/o+5AQIMh8HAb9AcInAhAkx3AIzUQWQfAmIlA0QLAYxxA4IU
-	jsW1BEIhBIV3BBBMIYX4HIdpBWIdBbBfAvAbA4P649BgIZBuOvBVByIRAA+1AEw3AwzO
-	7cL9B8IXCM7C/7BrAnCAzrCezlCaIkoADesayi2QMnCQITCzB6JCvQcdC3DEK9AJDASB
-	DHDQKHDKiPDCIyt8GUGXDipUBUlcCCIWOyuG88JMFnD4ZAZIB8f4Ba/IG4PkWeIdAhD4
-	FmW0fCIWn8GCToB+1CGQ5M0yGSCJEuIpDfDiGXDnDqIchcGsPMvYsIJZDWDZDaIwimko
-	pMuyZAjQ90UiBmmcZMNa5M4Ako3QhuUOZA50OufGCeWad1Dmmcjgcyc0BlGQYivcF4jg
-	XSZAwcDil2YeZECAGjGsOyvBGWNawQiukkCkWs1OdoGbHGd03RCrFUaYpMhujgNa4yBD
-	HeFzHjGoN85APdGQBk3QLuDBH2JBFNFQIuimo+YeUOVcK0mUB0dsG0XSuGIKdkC4nCFA
-	deMwQWVcMku2DqMkTKD8uSMBITAgKaRoYiWeZ5AgjsVcDnJQGfJUumGmBzJdHiFy0MTg
-	HQoEBSeeGAXyRoWfJubVJYWeMARkZqBocEBfICfuYePcPCRkuyFtKaI4LuNbKEI5ISGl
-	Kqd4XODpH7CmIjDMDQI0yGjhISPkZ4gSBtLNECP6UOMSbUZUGMWeOyVcLuZ4Ro9WIIGh
-	Lu90do5mRyWEGoF/L+k4DUQeN8UONmZ5HuYnHGGaLuWeRoLvL6mYo+MNEkd0dQQWo+T2
-	0MjMW7LAW/ISPDAgkoQedQPuPCI4+OIIUOasW6/eI/H9DOJaYm+UK+P6N83vDSJpAIuy
-	NMymO6KlNwIJN8K3BpBCI9CqfOy7NWAfOAABOVC8JBOOY2y7JnENOBOoLnOeI/OiEiy6
-	dQmZOZO8U9OzOMoBOQym8SLjOZPQAdPGI1O2IWe8FwaAudNkQ3OZPqAoK6Pcew31OLPd
-	PLOkIUFvQGgrOZQMIanIhhP6JHPfQFQIfcI0WiFUCtQoYmPCQWRoKa66tCILQ0OHCOII
-	XTQlEuCIqgAPKaFtG8OyMSNFRA5eLHRNRRRULSMwLeu9DqmcdUPRE20MXyM2PCSKPc3Q
-	ZMxsAAPcMNJu96QAIEgORzOqI9QSe3QWJFQaITQGFvQKIyi+bolSD/HeBCiCV2psKkau
-	MSN8Z4yaKkZ4SbEDBa2iMkMk2yHaYjBaVcPdLgQGMNTgMFTlToX4UKOCKolsDKiuI4Pu
-	MkgrJ2eeULGsGig9JUGePcMkqmRXLMBtEcRkPlJnEChCguB5U+I1SiCpSmJDSqIRSvSy
-	Iwj0EgpdTkmYMkLfISUOnMRMM2MSjsUO5MUKwsBxPiPcLeaKSK5M2jEq5MOiUKqeLXWC
-	OdWGa5V+LWMA5Mu8PcLuOyYi0MhCPkUPFjJZKI4BBQAqYURyavUahvV4jcFoouCMjRVC
-	ZfQUxvQZQBO5QdSxQgJhEco/SeIRXwfvX0IzIShvQOIrVFP6imeoYinWIXVMIOEJYavw
-	aK2NDTYgQOucWbP6EzYwuuB2IW3RYSIVYWINPibOCQucj8HHVTDTZNZQKFZEbPYvYyuv
-	Y42nY8ITZAILZbZIK/YmAVDS24KSfzN/ZYe9ZHZeEzY1ZkGzZoIRZsIJZwudCizZAgM2
-	ULA3aEFxaIxvYxaNZiIVY6dLYVXlPhaHZcK/OEw3PiJBawIYQXZM5NQ2JxadazZhY3a7
-	Zna/Y/bCIVbiK9agJOl7FIIpD02EH8M3SKJnbVZvbHZyISI5a1aPbraTbvZrbyITb2K6
-	PuoSv1csztc2ABc6pjcda4ITa8CnbADfPNcrcUucgkjhbPdUz3c7c+s5a0rURydo5NdJ
-	dNdQIRdkKC90lnddavbIJe5AXyJndjdfcYIFa0LeaAW0uzdzbxdPQDdTeFcWK6Z5NQvz
-	d6JApMRoQXRJePeTcTetaKNmUOPdIPejcnenXnercQK4tnS/eDfgJIv6F3E2pcVvfFfK
-	IPd7cbYxHuMxSLfXaXcpd5fGK4NbcMuhe4y2IE5QJZeRf7eUH/dDbpdHbtdLeld3f9gS
-	9hCEK/gczXgnfrdBbnaRaUIPaZc9g+KGsAKpeCJsPNNvcPeHfJhNdnhRchhUINhZhGJt
-	flHfOZiAJhf/eXh3gzcjg3fZg7ZDhcKFhoQHOZC6K5iPgtiSIRgLhXgPg9goK7d+jJiJ
-	igJvd6PMkaDw7YISRowYEHd1epgQFwvxTkULOZA8AkudhyAAtnL7AtiVh6ILh+e8ucUO
-	QwMFgZCQ3RLqK9j1j4WFj9i1g1jffdjjj1iChmN8jhYjC3L6d0K7d7kcGpkgIPi3h9i7
-	ifi/i9bThuIUZAT2fXOY/kBFk/jJlDlGINlLkDlPhxlYIMbGEkqYIzluvxksK5JvGplp
-	lSINlsYzhTclgNfbbFmVl5evc5jIK7PXmTkahnj7mbh5mfi5mjb1jJiKzNnKJ3nOJblB
-	m5kfm9j/nBlNnFffl7moIdEcvYlIPINbZNS+qKRM2iQeyHO+II2iMTL6Yi4ya8Cq+pi9
-	mKKI/ORritlrnZlFndkjiXknmlj1hGpY5A8wWWvZTkP6OiMwPMbpXQx+J+tmMMNmfChJ
-	UHk2IZnSJugSCFptm1noIJlCkpDekoXzlyIJkFmnabmuIJJvRMPMYjTkMAgqtnUggvL6
-	P6WeXSdQPkK091F+/wIbpmJsuGbVpxmrmXooMAFrrLS/RJqAABqFo3qKI8UaMMpdn5iH
-	nVraJ2eEc04es+KDnWG/L6OihSGLUsdprTrXpzhbqGzhq4JhL+F+PQd4d4KHr5L6XzGW
-	hu0NsJl3qJsRbQzYLeT3DmMwMTodfJlXrCIRITDfG9piJtskWEPc5AP7DrsxnlkrsMzy
-	Z4LvDfIPq0IYm3oYIeBjuCIcUoUrmGJbfrtaGo2iIKPdJrtnidnrByPMPcm/Us5vr1ui
-	z1hLsNlDZM97GXrRklg5jhobttBM3kL9KqGlS+MSWfJhtGzPu3tNp1ooM2ZAuyULufvJ
-	lRvhBg2iYnJY1GuS0RvkIXmYBBmdiZmhuhs1v7B8jsyHsAhuvAJHUayGW0jsQWwVZMg8
-	JXwKIVwPwToznHsRYFuyJAYeaAKaP6RkYmYnKxw9g/uTuMABv1kpvLvnxNxPgeyUJ/CU
-	+QKfbeJJw+ITxDm/wVnDwZsPwdOBsUylyIIRyNnfyRnjyVydDFs5AduRonr7nbwRyPxH
-	nnxzx1NxjMO2n3BwISYjG9zCIRYaEJFjzJzJMVYtXhSpsyABzeChz3zlx1RQgZVJOhzx
-	VRXtz7QPYJztVL0HQeA70NYF0RgrXjtoIP0J0b0dQN0guZK2IhhZ0r0v0xXdSl0T0F0n
-	lQRB0/OAMBP51HO1zx1R1f01P8IzhZ1h1q7l0V1L1t100T02IepQDhCJ13B8ICAAAA4B
-	AAADAAAAAQBlAAABAQADAAAAAQB7AAABAgADAAAAAwAAE/4BAwADAAAAAQAFAAABBgAD
-	AAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQADAAABFgADAAAA
-	AQGwAAABFwAEAAAAAQAAE0cBHAADAAAAAQABAAABPQADAAAAAQACAAABUwADAAAAAwAA
-	FASHcwAHAAADrAAAFAoAAAAAAAgACAAIAAEAAQABAAADrGFwcGwCAAAAbW50clJHQiBY
-	WVogB9oAAwAEAA0AGwAcYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbW
-	AAEAAAAA0y1hcHBsqZfACu+vtuXBKckcUO7GlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-	AAAAAAAAAAAOclhZWgAAASwAAAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAA
-	AWgAAAAUY2hhZAAAAXwAAAAsclRSQwAAAagAAAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgA
-	AAAOdmNndAAAAdgAAAAwbmRpbgAAAggAAAA4ZGVzYwAAAkAAAABiZHNjbQAAAqQAAAC6
-	bW1vZAAAA2AAAAAoY3BydAAAA4gAAAAkWFlaIAAAAAAAAHcwAAA/RAAAApdYWVogAAAA
-	AAAAWREAAKz2AAAWm1hZWiAAAAAAAAAmlgAAE9wAALnzWFlaIAAAAAAAAPPYAAEAAAAB
-	FghzZjMyAAAAAAABC7cAAAWW///zVwAABykAAP3X///7t////aYAAAPaAADA9mN1cnYA
-	AAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAA
-	AAAAAQAA0IIAAAAAAAEAAAAA0IIAAAAAAAEAAAAA0IIAAAAAAAEAAG5kaW4AAAAAAAAA
-	MAAAo0AAAFeAAABLAAAAnAAAACa3AAASmwAAUEAAAFRAAAI1wwACNcMAAjXDZGVzYwAA
-	AAAAAAAIRGlzcGxheQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAA
-	AAAABQAAAAxlblVTAAAADgAAAExmckZSAAAAMAAAAFpqYUpQAAAAEgAAAIppdElUAAAA
-	DgAAAJxlc0VTAAAAEAAAAKoARABpAHMAcABsAGEAeQBNAG8AbgBpAHQAZQB1AHIAIABk
-	AGUAIAB0AHkAcABlACAAaQBuAGMAbwBuAG4AdU4NZg4wbjDHMKMwuTDXMOwwpABNAG8A
-	bgBpAHQAbwByAFAAYQBuAHQAYQBsAGwAYQAAbW1vZAAAAAAAADaYAAADAFFUnuTGMQ+A
-	AAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29weXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDEw
-	AA==
-	</data>
-	<key>ReadOnly</key>
-	<string>NO</string>
-	<key>RowAlign</key>
-	<integer>1</integer>
-	<key>RowSpacing</key>
-	<real>36</real>
-	<key>SheetTitle</key>
-	<string>Canvas 1</string>
-	<key>SmartAlignmentGuidesActive</key>
-	<string>YES</string>
-	<key>SmartDistanceGuidesActive</key>
-	<string>YES</string>
-	<key>UniqueID</key>
-	<integer>1</integer>
-	<key>UseEntirePage</key>
-	<false/>
-	<key>VPages</key>
-	<integer>1</integer>
-	<key>WindowInfo</key>
-	<dict>
-		<key>CurrentSheet</key>
-		<integer>0</integer>
-		<key>ExpandedCanvases</key>
-		<array>
-			<dict>
-				<key>name</key>
-				<string>Canvas 1</string>
-			</dict>
-		</array>
-		<key>Frame</key>
-		<string>{{28, 42}, {1085, 704}}</string>
-		<key>ListView</key>
-		<true/>
-		<key>OutlineWidth</key>
-		<integer>142</integer>
-		<key>RightSidebar</key>
-		<false/>
-		<key>ShowRuler</key>
-		<true/>
-		<key>Sidebar</key>
-		<true/>
-		<key>SidebarWidth</key>
-		<integer>120</integer>
-		<key>VisibleRegion</key>
-		<string>{{-268, -50}, {950, 550}}</string>
-		<key>Zoom</key>
-		<real>1</real>
-		<key>ZoomValues</key>
-		<array>
-			<array>
-				<string>Canvas 1</string>
-				<real>1</real>
-				<real>2</real>
-			</array>
-		</array>
-	</dict>
-	<key>saveQuickLookFiles</key>
-	<string>YES</string>
-</dict>
-</plist>
diff --git a/org.eclipse.rephraserengine.doc.isv/images/architecture.png b/org.eclipse.rephraserengine.doc.isv/images/architecture.png
deleted file mode 100644
index f59da8d..0000000
--- a/org.eclipse.rephraserengine.doc.isv/images/architecture.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.rephraserengine.doc.isv/plugin.xml b/org.eclipse.rephraserengine.doc.isv/plugin.xml
deleted file mode 100644
index 8b546a7..0000000
--- a/org.eclipse.rephraserengine.doc.isv/plugin.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.help.toc">
-      <toc
-            file="toc.xml"
-            primary="true">
-      </toc>
-      <toc
-            file="tocconcepts.xml">
-      </toc>
-      <toc
-            file="tocsamples.xml">
-      </toc>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.rephraserengine.doc.isv/toc.xml b/org.eclipse.rephraserengine.doc.isv/toc.xml
deleted file mode 100644
index 96759ac..0000000
--- a/org.eclipse.rephraserengine.doc.isv/toc.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Rephraser Engine Plug-in Developer Guide">
-   <topic label="Concepts">
-      <anchor id="concepts"/>
-   </topic>
-   <topic label="Tasks">
-      <anchor id="tasks"/>
-   </topic>
-   <topic label="Samples">
-      <anchor id="samples"/>
-   </topic>
-</toc>
diff --git a/org.eclipse.rephraserengine.doc.isv/tocconcepts.xml b/org.eclipse.rephraserengine.doc.isv/tocconcepts.xml
deleted file mode 100644
index c00f10d..0000000
--- a/org.eclipse.rephraserengine.doc.isv/tocconcepts.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Concepts" link_to="toc.xml#concepts">
-    <topic label="Introduction"  href="html/concepts/introduction.html" />
-    <topic label="Contributing Refactorings"  href="html/concepts/refactorings.html" />
-    <topic label="Contributing a Virtual Program Graph"  href="html/concepts/vpg.html" />
-</toc>
diff --git a/org.eclipse.rephraserengine.doc.isv/tocsamples.xml b/org.eclipse.rephraserengine.doc.isv/tocsamples.xml
deleted file mode 100644
index 186714f..0000000
--- a/org.eclipse.rephraserengine.doc.isv/tocsamples.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Samples" link_to="toc.xml#samples">
-	<topic label="Samples"  href="html/samples/samples.html" />
-</toc>
diff --git a/org.eclipse.rephraserengine.doc.isv/toctasks.xml b/org.eclipse.rephraserengine.doc.isv/toctasks.xml
deleted file mode 100644
index 994cdd8..0000000
--- a/org.eclipse.rephraserengine.doc.isv/toctasks.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Tasks" link_to="toc.xml#tasks">
-    <topic label="Contributing the VPG &quot;(Debugging)&quot; Action Set to a Perspective" href="html/tasks/contribute-vpg-actions-perspective.html" />
-    <topic label="Contributing the VPG &quot;(Debugging)&quot; Action Set to an Editor" href="html/tasks/contribute-vpg-actions-editor.html" />
-</toc>
diff --git a/org.eclipse.rephraserengine.examples.testing/.classpath b/org.eclipse.rephraserengine.examples.testing/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/org.eclipse.rephraserengine.examples.testing/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.examples.testing/.project b/org.eclipse.rephraserengine.examples.testing/.project
deleted file mode 100644
index 9886c31..0000000
--- a/org.eclipse.rephraserengine.examples.testing/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine.examples.testing</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.examples.testing/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.examples.testing/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 1facd69..0000000
--- a/org.eclipse.rephraserengine.examples.testing/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 09:50:33 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.examples.testing/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.examples.testing/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4a93907..0000000
--- a/org.eclipse.rephraserengine.examples.testing/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Fri Feb 12 01:04:05 CST 2010
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n *    UIUC - Initial API and implementation\r\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * \r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.examples.testing/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.examples.testing/META-INF/MANIFEST.MF
deleted file mode 100644
index b2171c0..0000000
--- a/org.eclipse.rephraserengine.examples.testing/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Rephraser Engine Unit Testing Examples
-Bundle-SymbolicName: org.eclipse.rephraserengine.examples.testing
-Bundle-Version: 3.0.0.qualifier
-Bundle-Vendor: Eclipse.org - Photran
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.rephraserengine.testing.junit3,
- org.junit,
- org.eclipse.rephraserengine.core,
- org.eclipse.rephraserengine.core.vpg,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.jface.text
diff --git a/org.eclipse.rephraserengine.examples.testing/build.properties b/org.eclipse.rephraserengine.examples.testing/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/org.eclipse.rephraserengine.examples.testing/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/ForEachExamples.java b/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/ForEachExamples.java
deleted file mode 100644
index e72ca97..0000000
--- a/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/ForEachExamples.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.examples.testing;
-
-import java.util.Arrays;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.rephraserengine.core.util.MathUtil;
-import org.eclipse.rephraserengine.core.util.Pair;
-import org.eclipse.rephraserengine.testing.combinatorial.ForEach;
-
-/**
- * Examples of how to use {@link ForEach} methods.
- * 
- * @author Jeff Overbey
- */
-public class ForEachExamples extends TestCase
-{
-    private final List<String> people = Arrays.asList("Jim", "Kathy", "Bob", "Alice", "Sam", "Eor");
-
-    private final List<Integer> numbers = Arrays.asList(Integer.MIN_VALUE, -19, -18, -17, -11, -5,
-        -2, -1, 0, 1, 2, 5, 10, 11, 16, 17, 18, 19, Integer.MAX_VALUE);
-
-    private final List<String> colors = Arrays.asList("Red", "Blue");
-
-    /**
-     * Illustrates a simple use of {@link ForEach#combinationOf(List)}.
-     * <p>
-     * This example prints all combinations of 1 to 4 people to {@link System#out}.
-     */
-    public void testForeachCombination()
-    {
-        for (List<String> combination : ForEach.combinationOf(people))
-            System.out.println(combination);
-    }
-
-    /**
-     * This test verifies that {@link ForEach#combinationOf(int, int, List)} returns the expected
-     * number of results.
-     */
-    public void testCountCombinations()
-    {
-        for (int min = 1; min <= people.size(); min++)
-        {
-            for (int max = min; max <= people.size(); max++)
-            {
-                System.out.println("Choosing at least " + min + " and at most " + max + " people");
-
-                long actualCombinations = 0;
-                for (List<String> combination : ForEach.combinationOf(min, max, people))
-                {
-                    System.out.println(combination);
-                    actualCombinations++;
-                }
-
-                long expectedCombinations = 0L;
-                for (int k = min; k <= max; k++)
-                    expectedCombinations += MathUtil.binomialCoefficient(people.size(), k);
-
-                assertEquals(expectedCombinations, actualCombinations);
-            }
-        }
-    }
-
-    /**
-     * Illustrates a simple use of {@link ForEach#pairOf(List)}.
-     * <p>
-     * This example tests that an alternative implementation of the modulo operator (
-     * {@link #mod(int, int)}) returns the same results as Java's <code>%</code> operator.
-     */
-    public void testForEachPair()
-    {
-        for (Pair<Integer, Integer> pair : ForEach.pairOf(numbers))
-        {
-            if (pair.snd == 0) continue;
-
-            int expected = pair.fst % pair.snd;
-            int actual = mod(pair.fst, pair.snd);
-            System.out.println("Checking mod(" + pair.fst + ", " + pair.snd + ") == " + expected);
-            assertEquals(expected, actual);
-        }
-    }
-
-    /**
-     * Alternative definition of the modulo operator.
-     * <p>
-     * See, for example, http://en.wikipedia.org/wiki/Modulo_operation
-     * 
-     * @return lhs % rhs
-     */
-    private static int mod(int lhs, int rhs)
-    {
-        return lhs - rhs * (lhs / rhs);
-    }
-
-    /**
-     * Illustrates a simple use of {@link ForEach#combinationOf(List)}.
-     * <p>
-     * This example prints all combinations of 1 to 4 people to {@link System#out}.
-     */
-    @SuppressWarnings("unchecked")
-    public void testForeachTuple1()
-    {
-        for (List<Integer> tuple : ForEach.tupleOf(numbers, numbers))
-            System.out.println(tuple);
-    }
-
-    /**
-     * Illustrates a simple use of {@link ForEach#combinationOf(List)}.
-     * <p>
-     * This example prints all combinations of 1 to 4 people to {@link System#out}.
-     */
-    @SuppressWarnings("unchecked")
-    public void testForeachTuple2()
-    {
-        for (List<Object> tuple : ForEach.<Object> tupleOf(people, numbers, colors))
-            System.out.println(tuple);
-    }
-
-    /**
-     * This test verifies that {@link ForEach#combinationOf(int, int, List)} returns the expected
-     * number of results.
-     */
-    @SuppressWarnings("unused")
-    public void testCountTuples()
-    {
-        for (int tupleSize = 1; tupleSize <= 5; tupleSize++)
-        {
-            List<?>[] sets = new List<?>[tupleSize];
-            for (int i = 0; i < sets.length; i++)
-                sets[i] = numbers;
-
-            int count = 0;
-            for (List<?> tuple : ForEach.tupleOf(sets))
-                count++;
-
-            assertEquals((int)Math.pow(numbers.size(), tupleSize), count);
-        }
-    }
-}
diff --git a/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/GeneralTestSuiteFromFilesExample.java b/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/GeneralTestSuiteFromFilesExample.java
deleted file mode 100644
index bd6ef7b..0000000
--- a/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/GeneralTestSuiteFromFilesExample.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.examples.testing;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-
-import org.eclipse.rephraserengine.core.util.StringUtil;
-import org.eclipse.rephraserengine.testing.junit3.GeneralTestSuiteFromFiles;
-
-/**
- * Simple example illustrating how to use {@link GeneralTestSuiteFromFiles}.
- * 
- * @author Jeff Overbey
- */
-public class GeneralTestSuiteFromFilesExample extends GeneralTestSuiteFromFiles
-{
-    public static Test suite() throws Exception
-    {
-        return new GeneralTestSuiteFromFilesExample();
-    }
-
-    public GeneralTestSuiteFromFilesExample() throws FileNotFoundException, IOException
-    {
-        super("Running GeneralTestSuiteFromFilesExample on", "test-files-1", ".txt");
-    }
-
-    // To prevent the JUnit runner from trying to instantiate and run ExampleTestCase,
-    // we make it abstract and instantiate it as an anonymous inner class
-
-    public static abstract class ExampleTestCase extends TestCase
-    {
-        private final File file;
-        
-        public ExampleTestCase(File file)
-        {
-            super("testExample"); // Argument is the name of the test method to run
-            this.file = file;
-        }
-
-        public void testExample() throws IOException
-        {
-            assertEquals("This is " + file.getName().toLowerCase(), StringUtil.read(file).trim());
-        }
-    }
-    
-    @Override
-    protected Test createTestFor(File file)
-    {
-        return new ExampleTestCase(file) {};
-    }
-}
diff --git a/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/GeneralTestSuiteFromMarkersExample.java b/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/GeneralTestSuiteFromMarkersExample.java
deleted file mode 100644
index a66f13e..0000000
--- a/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/GeneralTestSuiteFromMarkersExample.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.examples.testing;
-
-import java.io.File;
-import java.io.IOException;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.rephraserengine.core.util.StringUtil;
-import org.eclipse.rephraserengine.testing.junit3.GeneralTestSuiteFromMarkers;
-
-/**
- * Simple example illustrating how to use {@link GeneralTestSuiteFromMarkers}.
- * 
- * @author Jeff Overbey
- */
-public class GeneralTestSuiteFromMarkersExample extends GeneralTestSuiteFromMarkers
-{
-    public static Test suite() throws Exception
-    {
-        return new GeneralTestSuiteFromMarkersExample();
-    }
-
-    public GeneralTestSuiteFromMarkersExample() throws Exception
-    {
-        super("Running GeneralTestSuiteFromMarkersExample in", "<<<", new File("test-files-2"), ".txt");
-    }
-
-    // To prevent the JUnit runner from trying to instantiate and run ExampleTestCase,
-    // we make it abstract and instantiate it as an anonymous inner class
-
-    public static abstract class ExampleTestCase extends TestCase
-    {
-        private final File fileContainingMarker;
-        private final String markerText;
-
-        public ExampleTestCase(File fileContainingMarker, String markerText)
-        {
-            super("testExample"); // Argument is the name of the test method to run
-            this.fileContainingMarker = fileContainingMarker;
-            this.markerText = markerText;
-        }
-
-        public void testExample() throws IOException
-        {
-            String[] lineColStrings = markerText.split(",");
-            for (int i = 0; i < lineColStrings.length; i++)
-                lineColStrings[i] = lineColStrings[i].trim();
-            
-            assertTrue(lineColStrings.length >= 2);
-            int line = Integer.parseInt(lineColStrings[0]);
-            int col = Integer.parseInt(lineColStrings[1]);
-            
-            String fileContents = StringUtil.read(fileContainingMarker);
-            int offset = StringUtil.offsetOf(line, col, fileContents);
-            assertTrue(offset >= 0);
-            assertEquals("is", fileContents.substring(offset, offset+2));
-        }
-    }
-
-    @Override
-    protected Test createTestFor(File fileContainingMarker,
-                                 int markerOffset,
-                                 String markerText)
-    {
-        TestSuite suite = new TestSuite(fileContainingMarker.getName() + " - " + markerText);
-        suite.addTest(new ExampleTestCase(fileContainingMarker, markerText) {});
-        return suite;
-    }
-}
diff --git a/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/TestSuiteFromFilesExample.java b/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/TestSuiteFromFilesExample.java
deleted file mode 100644
index 6a79388..0000000
--- a/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/TestSuiteFromFilesExample.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.examples.testing;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Assert;
-import junit.framework.Test;
-
-import org.eclipse.rephraserengine.core.util.StringUtil;
-import org.eclipse.rephraserengine.testing.junit3.TestSuiteFromFiles;
-
-/**
- * Simple example illustrating how to use {@link TestSuiteFromFiles}.
- * 
- * @author Jeff Overbey
- */
-public class TestSuiteFromFilesExample extends TestSuiteFromFiles
-{
-    public static Test suite() throws Exception
-    {
-        return new TestSuiteFromFilesExample();
-    }
-
-    public TestSuiteFromFilesExample() throws FileNotFoundException, IOException
-    {
-        super("Running TestSuiteFromFilesExample on", "test-files-1", ".txt");
-    }
-
-    @Override protected void test(File file) throws Exception
-    {
-        Assert.assertEquals("This is " + file.getName().toLowerCase(), StringUtil.read(file).trim());
-    }
-}
diff --git a/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/TestSuiteFromMarkersExample.java b/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/TestSuiteFromMarkersExample.java
deleted file mode 100644
index f4a6eac..0000000
--- a/org.eclipse.rephraserengine.examples.testing/src/org/eclipse/rephraserengine/internal/examples/testing/TestSuiteFromMarkersExample.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.examples.testing;
-
-import java.io.File;
-
-import junit.framework.Assert;
-import junit.framework.Test;
-
-import org.eclipse.rephraserengine.core.util.StringUtil;
-import org.eclipse.rephraserengine.testing.junit3.TestSuiteFromMarkers;
-
-/**
- * Simple example illustrating how to use {@link TestSuiteFromMarkers}.
- * 
- * @author Jeff Overbey
- */
-public class TestSuiteFromMarkersExample extends TestSuiteFromMarkers
-{
-    public static Test suite() throws Exception
-    {
-        return new TestSuiteFromMarkersExample();
-    }
-
-    public TestSuiteFromMarkersExample() throws Exception
-    {
-        super("Running TestSuiteFromMarkersExample in", "<<<", new File("test-files-2"), ".txt");
-    }
-
-    @Override
-    protected void test(File fileContainingMarker,
-                        int markerOffset,
-                        String markerText) throws Exception
-    {
-        String[] lineColStrings = markerText.split(",");
-        for (int i = 0; i < lineColStrings.length; i++)
-            lineColStrings[i] = lineColStrings[i].trim();
-        
-        Assert.assertTrue(lineColStrings.length >= 2);
-        int line = Integer.parseInt(lineColStrings[0]);
-        int col = Integer.parseInt(lineColStrings[1]);
-        
-        String fileContents = StringUtil.read(fileContainingMarker);
-        int offset = StringUtil.offsetOf(line, col, fileContents);
-        Assert.assertTrue(offset >= 0);
-        Assert.assertEquals("is", fileContents.substring(offset, offset+2));
-    }
-}
diff --git a/org.eclipse.rephraserengine.examples.testing/test-files-1/file1.txt b/org.eclipse.rephraserengine.examples.testing/test-files-1/file1.txt
deleted file mode 100644
index 97f701c..0000000
--- a/org.eclipse.rephraserengine.examples.testing/test-files-1/file1.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is file1.txt
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.examples.testing/test-files-1/file2.txt b/org.eclipse.rephraserengine.examples.testing/test-files-1/file2.txt
deleted file mode 100644
index 4649318..0000000
--- a/org.eclipse.rephraserengine.examples.testing/test-files-1/file2.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is file2.txt
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.examples.testing/test-files-2/file-with-markers-1.txt b/org.eclipse.rephraserengine.examples.testing/test-files-2/file-with-markers-1.txt
deleted file mode 100644
index 05c4eda..0000000
--- a/org.eclipse.rephraserengine.examples.testing/test-files-2/file-with-markers-1.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This example illustrates a simple use of markers.                      <<<1,3
-For this example, the marker consists of three less-than symbols.      <<<2,7 <<<2,34
-Each marker is followed by a line and column where the substring "is"  <<<3,13 <<<3,67
-appears.
diff --git a/org.eclipse.rephraserengine.examples.testing/test-files-2/file-with-markers-2.txt b/org.eclipse.rephraserengine.examples.testing/test-files-2/file-with-markers-2.txt
deleted file mode 100644
index 2199458..0000000
--- a/org.eclipse.rephraserengine.examples.testing/test-files-2/file-with-markers-2.txt
+++ /dev/null
@@ -1 +0,0 @@
-See file-with-markers-1.txt for details of what this is. <<<1,51 <<< 1, 54
diff --git a/org.eclipse.rephraserengine.examples.text/.classpath b/org.eclipse.rephraserengine.examples.text/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/org.eclipse.rephraserengine.examples.text/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.examples.text/.project b/org.eclipse.rephraserengine.examples.text/.project
deleted file mode 100644
index 51add19..0000000
--- a/org.eclipse.rephraserengine.examples.text/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine.examples.text</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index da92793..0000000
--- a/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu May 27 09:50:48 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4f04746..0000000
--- a/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed Oct 14 16:59:49 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.examples.text/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.examples.text/META-INF/MANIFEST.MF
deleted file mode 100644
index 177ca53..0000000
--- a/org.eclipse.rephraserengine.examples.text/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Rephraser Engine Text File Manipulation Example
-Bundle-SymbolicName: org.eclipse.rephraserengine.examples.text;singleton:=true
-Bundle-Version: 3.0.0.qualifier
-Bundle-Vendor: Eclipse.org - Photran
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.rephraserengine.core,
- org.eclipse.rephraserengine.core.refactoring,
- org.eclipse.rephraserengine.ui,
- org.eclipse.rephraserengine.ui.refactoring,
- org.eclipse.core.resources,
- org.eclipse.jface.text,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.search
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.rephraserengine.examples.text/README.txt b/org.eclipse.rephraserengine.examples.text/README.txt
deleted file mode 100644
index 8f7fa31..0000000
--- a/org.eclipse.rephraserengine.examples.text/README.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-REPHRASER ENGINE - TEXT EXAMPLE
-
-This is a simple example of
-(1) how to contribute a refactoring to the Rephraser Refactoring UI and
-(2) how to contribute a search page to the workbench Search dialog using several supporting
-    classes from the Rephraser UI plug-in.
-(Note that this does *not* use the VPG components of the Rephraser engine.)
-
-(1) This plug-in contributes a "Convert Tabs to Spaces" item to the Refactor menu.  The Refactor
-    menu will be visible in the menu bar in the Resource and Java perspectives (among others).
-    To use the refactoring, open any text file (including source code), and select
-    Refactor > Convert Tabs to Spaces.  A Refactor sub-menu should also be available when you
-    select and then right-click one or more text files, folders, or projects in the Project
-    Explorer view (i.e., when the current selection in the workbench is a resource).  The
-    refactoring itself is defined in ConvertTabsToSpacesRefactoring.java.  That class is
-    contributed to the Rephraser Engine's refactoring extension point.
-
-(2) A "resource filter" is also contributed, which determines when this refactoring will be
-    available.  We contribute a resource filter class defined in TextFileResourceFilter.java,
-    which accepts any file that has a text content type (according to the Eclipse Platform's
-    content type manager); this includes .txt files as well as most source code (e.g., .java files,
-    .c files, etc.)
-
-(3) This plug-in also contributes a "Text Search" page to the workbench Search dialog and adds
-    a "Text..." item to the Search menu in the menu bar.  This is implemented in TextSearchPage.java
-    (which includes two inner classes) and is contributed to the usual platform extension points.
-    The Rephraser Engine provides many of the superclasses used to implement the search functions.
-
-For details, see the plugin.xml file, and then look in the classes referenced in there.
-
-Notice that, in the plugin.xml file, we contribute the ConvertTabsToSpacesRefactoring class, but
-we don't give it a name, and we don't provide any user interface for it.  In this case,
-* the name is determined by calling the refactoring's getName() method, and
-* the user input dialog is constructed by looking for @UserInputString and @UserInputBoolean
-  annotations in the ConvertTabsToSpacesRefactoring class.  In this case, there is one method with
-  a @UserInputBoolean annotation, so the dialog has a single checkbox.  When the user checks or
-  unchecks the checkbox, that method is invoked on the refactoring class.
-Of course, it is possible to customize the name and/or the user interface, but we do not need to
-in this simple example.
-
---Jeff Overbey 10/14/09, 2/25/10
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.examples.text/about.html b/org.eclipse.rephraserengine.examples.text/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.examples.text/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.examples.text/build.properties b/org.eclipse.rephraserengine.examples.text/build.properties
deleted file mode 100644
index c9723d4..0000000
--- a/org.eclipse.rephraserengine.examples.text/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               icons/
-src.includes = README.txt,\
-               about.html,\
-               test/,\
-               icons/
diff --git a/org.eclipse.rephraserengine.examples.text/icons/search_obj.gif b/org.eclipse.rephraserengine.examples.text/icons/search_obj.gif
deleted file mode 100644
index 304c01d..0000000
--- a/org.eclipse.rephraserengine.examples.text/icons/search_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.rephraserengine.examples.text/plugin.xml b/org.eclipse.rephraserengine.examples.text/plugin.xml
deleted file mode 100644
index 1c9f557..0000000
--- a/org.eclipse.rephraserengine.examples.text/plugin.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-   <extension
-         point="org.eclipse.rephraserengine.ui.refactoring.refactorings">
-
-      <!-- Define a ResourceFilter, which tells what types of projects and files we can refactor -->
-      <resourceFilter class="org.eclipse.rephraserengine.internal.examples.text.TextFileResourceFilter" />
-
-      <!-- Add a new group to the Refactor menu... -->
-      <group>
-         <!-- ...and put our refactoring in that group -->
-         <resourceRefactoring
-            class="org.eclipse.rephraserengine.internal.examples.text.ConvertTabsToSpacesRefactoring" />
-      </group>
-   </extension>
-
-   <!-- Associate the "(Debugging)" action set with the workbench text editor -->
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation targetID="org.eclipse.rephraserengine.ui.DebugActionSet">
-         <part id="org.eclipse.ui.DefaultTextEditor"/>
-      </actionSetPartAssociation>
-   </extension>
-
-   <!-- Add a Text page to the Search dialog -->
-   <extension point="org.eclipse.search.searchPages">
-     <page
-        canSearchEnclosingProjects="true"
-        class="org.eclipse.rephraserengine.internal.examples.text.TextSearchPage"
-        id="org.eclipse.rephraserengine.examples.text.searchPage"
-        label="Text Search"
-        icon="icons/search_obj.gif"
-        showScopeSection="true"
-        sizeHint="460, 160"/>
-   </extension>
-   
-   <!-- Add a Search > Text menu item -->
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            description="Text Search"
-            id="org.eclipse.rephraserengine.examples.text.searchActionSet"
-            label="Text Search"
-            visible="true">
-         <action
-               class="org.eclipse.rephraserengine.internal.examples.text.TextSearchPage$OpenTextSearchPageAction"
-               id="org.eclipse.rephraserengine.examples.text.openTextSearchPage"
-               label="Te&amp;xt..."
-               icon="icons/search_obj.gif"
-               menubarPath="org.eclipse.search.menu/dialogGroup" />
-      </actionSet>
-   </extension>
-</plugin>
diff --git a/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/ConvertTabsToSpacesRefactoring.java b/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/ConvertTabsToSpacesRefactoring.java
deleted file mode 100644
index a8c6461..0000000
--- a/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/ConvertTabsToSpacesRefactoring.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.examples.text;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.TextFileChange;
-import org.eclipse.rephraserengine.core.refactorings.IResourceRefactoring;
-import org.eclipse.rephraserengine.core.refactorings.UserInputBoolean;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.ReplaceEdit;
-
-/**
- * A "refactoring" (sort of) that converts tabs to spaces in a text file.
- *
- * @author Jeff Overbey
- */
-public final class ConvertTabsToSpacesRefactoring extends Refactoring implements IResourceRefactoring
-{
-    private List<IFile> files = null;
-
-    private int tabWidth = 4;
-
-    public void initialize(List<IFile> files)
-    {
-        this.files = files;
-    }
-
-    @Override
-    public RefactoringStatus checkInitialConditions(IProgressMonitor pm)
-    {
-        assert files != null && !files.isEmpty();
-
-        pm.beginTask("Checking files", files.size());
-        pm.setTaskName("Checking files");
-        for (IFile file : files)
-        {
-            if (!file.isAccessible())
-                return fatalError("The file " + file.getName() + " is not accessible.");
-
-            if (file.isReadOnly())
-                return fatalError("The file " + file.getName() + " is read-only.");
-
-            pm.worked(1);
-        }
-        pm.done();
-
-        return new RefactoringStatus();
-    }
-
-    private RefactoringStatus fatalError(String message)
-    {
-        return RefactoringStatus.createFatalErrorStatus(message);
-    }
-
-    @UserInputBoolean(label="Use 8-character instead of 4-character tab stops", defaultValue=false)
-    public void setWideTabs(boolean useWideTabs)
-    {
-        tabWidth = useWideTabs ? 8 : 4;
-    }
-
-    @Override
-    public RefactoringStatus checkFinalConditions(IProgressMonitor pm)
-    {
-        assert files != null && !files.isEmpty();
-
-        return new RefactoringStatus();
-    }
-
-    @Override
-    public Change createChange(IProgressMonitor pm) throws CoreException
-    {
-        assert files != null && !files.isEmpty();
-
-        CompositeChange change = new CompositeChange(getName());
-        pm.beginTask("Converting tabs", files.size());
-        pm.setTaskName("Converting tabs");
-
-        for (IFile file : files)
-        {
-            try
-            {
-                pm.subTask("Modifying " + file.getName());
-                TextFileChange fileChange = change(file);
-                if (fileChange != null)
-                    change.add(fileChange);
-            }
-            catch (IOException e)
-            {
-                throw new CoreException(new Status(
-                    IStatus.ERROR,
-                    "org.eclipse.rephraserengine.examples.text",
-                    IStatus.OK,
-                    "The file " + file.getName() + " could not be read",
-                    e));
-            }
-            pm.worked(1);
-        }
-
-        pm.done();
-        return change;
-    }
-
-    /** @return a TextFileChange that will replace all tabs with spaces in the given file, or
-     *          <code>null</code> if there are no tab characters in the file */
-    private TextFileChange change(IFile file) throws IOException, CoreException
-    {
-        TextFileChange change = new TextFileChange("Replace tabs in " + file.getName(), file);
-        change.setEdit(new MultiTextEdit());
-
-        Reader in = new BufferedReader(new InputStreamReader(file.getContents(true),
-                                                             file.getCharset()));
-        int offset = 0;
-        int column = 0;
-        int numberOfTabsReplaced = 0;
-        for (int ch = in.read(); ch >= 0; ch = in.read())
-        {
-            if (ch == '\t')
-            {
-                int spacesToNextTabStop = tabWidth - (column % tabWidth);
-                change.addEdit(new ReplaceEdit(offset, 1, spaces(spacesToNextTabStop)));
-                column += spacesToNextTabStop;
-                numberOfTabsReplaced += 1;
-            }
-            else if (ch == '\n')
-            {
-                column = 0;
-            }
-            else
-            {
-                column++;
-            }
-            offset++;
-        }
-        in.close();
-
-        if (numberOfTabsReplaced == 0)
-            return null;
-        else
-            return change;
-    }
-
-    private String spaces(int count)
-    {
-        assert 0 <= count && count <= tabWidth && tabWidth <= 8;
-
-        switch (count)
-        {
-            case 0: return "";
-            case 1: return " ";
-            case 2: return "  ";
-            case 3: return "   ";
-            case 4: return "    ";
-            case 5: return "     ";
-            case 6: return "      ";
-            case 7: return "       ";
-            case 8: return "        ";
-            default: throw new IllegalArgumentException();
-        }
-    }
-
-    @Override
-    public String getName()
-    {
-        return "Convert Tabs to Spaces";
-    }
-}
diff --git a/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextFileResourceFilter.java b/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextFileResourceFilter.java
deleted file mode 100644
index 583e719..0000000
--- a/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextFileResourceFilter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.examples.text;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.rephraserengine.core.resources.IResourceFilter;
-
-/**
- * Resource filter that accepts any kind of text file (but not binaries) in any project or folder,
- * excluding files named *makefile or .*
- * <p>
- * Only resources that are accessible and not "derived resources" (according to the Eclipse
- * Platform) are considered.
- *
- * @author Jeff Overbey
- */
-public class TextFileResourceFilter implements IResourceFilter
-{
-    private static final IContentType TEXT_CONTENT_TYPE =
-        Platform.getContentTypeManager().getContentType(IContentTypeManager.CT_TEXT);
-
-    public boolean shouldProcess(IResource resource)
-    {
-        if (!(resource instanceof IFile)) return true; // Process all projects, all folders
-
-        String filename = resource.getName();
-        if (filename.toLowerCase().endsWith("makefile") || filename.startsWith(".")) return false;
-
-        IContentType contentType = Platform.getContentTypeManager().findContentTypeFor(filename);
-        return contentType != null
-            && contentType.isKindOf(TEXT_CONTENT_TYPE)
-            && resource.isAccessible()
-            && !resource.isDerived();
-    }
-
-    public String getError(IResource resource)
-    {
-        return "The file " + resource.getName() + " is not a text file, or it is not accessible.";
-    }
-}
diff --git a/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextSearchPage.java b/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextSearchPage.java
deleted file mode 100644
index 7b02f66..0000000
--- a/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextSearchPage.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.examples.text;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.rephraserengine.core.util.Pair;
-import org.eclipse.rephraserengine.core.util.StringUtil;
-import org.eclipse.rephraserengine.ui.search.OpenSearchPageAction;
-import org.eclipse.rephraserengine.ui.search.SearchMatch;
-import org.eclipse.rephraserengine.ui.search.SearchPage;
-import org.eclipse.rephraserengine.ui.search.SearchQuery;
-import org.eclipse.rephraserengine.ui.search.SearchResult;
-import org.eclipse.search.ui.ISearchQuery;
-
-/**
- * A new page ("Text Search") that is contributed to the workbench Search dialog and added to the
- * Search menu in the menu bar.
- * 
- * @author Jeff Overbey
- */
-public class TextSearchPage extends SearchPage
-{
-    public static final String SEARCH_PAGE_ID = "org.eclipse.rephraserengine.examples.text.searchPage";
-    
-    /**
-     * An action that opens the Text Search dialog.  This appears as the Search &gt; Text...
-     * menu item.
-     * 
-     * @author Jeff Overbey
-     */
-    public static class OpenTextSearchPageAction extends OpenSearchPageAction
-    {
-        @Override
-        protected String searchPageID()
-        {
-            return SEARCH_PAGE_ID;
-        }
-    }
-    
-    public static class TextSearchQuery extends SearchQuery<SearchResult>
-    {
-        public TextSearchQuery(List<IResource> scope, String scopeDescription,
-            String patternDescription, String patternRegex, int flags)
-        {
-            super(scope, scopeDescription, patternDescription, patternRegex, flags);
-        }
-
-        public static final int FIND_TEXT = 0x10;
-        
-        public static final int FIND_ALL_OCCURRENCES = 0x01;
-        public static final int FIND_FIRST_OCCURRENCES = 0x02;
-        
-        @Override
-        protected SearchResult createInitialSearchResult()
-        {
-            return new SearchResult(this);
-        }
-
-        @Override
-        protected boolean shouldProcess(IResource resource)
-        {
-            return new TextFileResourceFilter().shouldProcess(resource);
-        }
-
-        @Override
-        protected void search(IFile file)
-        {
-            String contents = StringUtil.readOrReturnNull(file);
-            Matcher matcher = Pattern.compile(patternRegex).matcher(contents == null ? "" : contents);
-            if ((searchFlags & FIND_ALL_OCCURRENCES) != 0)
-                while (matcher.find())
-                    result.addMatch(new SearchMatch(file, matcher.start(), matcher.end()-matcher.start()));
-            else
-                if (matcher.find())
-                    result.addMatch(new SearchMatch(file, matcher.start(), matcher.end()-matcher.start()));
-        }
-    }
-
-    @Override protected String PAGE_NAME() { return "RephraserExampleTextSearchPage"; }
-
-    @Override protected List<Pair<String, Integer>> searchFor()
-    {
-        List<Pair<String, Integer>> searchFor = new ArrayList<Pair<String, Integer>>(6);
-        searchFor.add(Pair.of("Text", TextSearchQuery.FIND_TEXT));
-        return searchFor;
-    }
-
-    @Override protected List<Pair<String, Integer>> limitTo()
-    {
-        List<Pair<String, Integer>> searchFor = new ArrayList<Pair<String, Integer>>(3);
-        searchFor.add(Pair.of("All occurrences", TextSearchQuery.FIND_ALL_OCCURRENCES));
-        searchFor.add(Pair.of("First occurrences", TextSearchQuery.FIND_FIRST_OCCURRENCES));
-        return searchFor;
-    }
-    
-    @Override protected ISearchQuery createSearchQuery(
-        List<IResource> scope,
-        String scopeDesc,
-        String patternDesc,
-        String patternRegex,
-        int searchFlags)
-    {
-        return new TextSearchQuery(scope, scopeDesc, patternDesc, patternRegex, searchFlags);
-    }
-    
-    @Override protected int defaultSearchFlags()
-    {
-        return TextSearchQuery.FIND_TEXT | TextSearchQuery.FIND_ALL_OCCURRENCES;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.examples.text/test/tab-example.txt b/org.eclipse.rephraserengine.examples.text/test/tab-example.txt
deleted file mode 100644
index eca9272..0000000
--- a/org.eclipse.rephraserengine.examples.text/test/tab-example.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-program tabs
-    implicit none
-	!
- 	!
-  	!
-   	!
-    	!
-     	!
-      	!
-       	!
-        	!
-         	!
-          	!
-           	!
-        		!
-         		!
-          		!
-           		!
-        	a	!
-         	ab	!
-          	abc	!
-           	abcd	!
-end program tabs
diff --git a/org.eclipse.rephraserengine.testing.junit3/.classpath b/org.eclipse.rephraserengine.testing.junit3/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.testing.junit3/.project b/org.eclipse.rephraserengine.testing.junit3/.project
deleted file mode 100644
index 35d12b2..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine.testing.junit3</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.testing.junit3/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.testing.junit3/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7e988b1..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 16:30:35 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.testing.junit3/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.testing.junit3/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 9a7644f..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Thu Feb 11 19:44:47 CST 2010
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.php.ui.editor.templates.php.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="false" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.php.ui.editor.templates.php.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="false" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.php.ui.editor.templates.php.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.php.ui.editor.templates.php.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.php.ui.editor.templates.php.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.php.ui.editor.templates.php.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created JavaScript files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for vars" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-JSDoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created function stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated function stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.testing.junit3/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.testing.junit3/META-INF/MANIFEST.MF
deleted file mode 100644
index 68a8695..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Rephraser Engine JUnit 3 Testing Support
-Bundle-SymbolicName: org.eclipse.rephraserengine.testing.junit3
-Bundle-Version: 3.0.0.qualifier
-Bundle-Vendor: Eclipse.org - Photran
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.junit,
- org.eclipse.rephraserengine.core,
- org.eclipse.rephraserengine.core.refactoring,
- org.eclipse.rephraserengine.core.vpg,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.jface.text
-Export-Package: org.eclipse.rephraserengine.testing.combinatorial,
- org.eclipse.rephraserengine.testing.junit3
diff --git a/org.eclipse.rephraserengine.testing.junit3/build.properties b/org.eclipse.rephraserengine.testing.junit3/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/combinatorial/CombinationGenerator.java b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/combinatorial/CombinationGenerator.java
deleted file mode 100644
index fcfe4f6..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/combinatorial/CombinationGenerator.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.testing.combinatorial;
-
-import java.util.Iterator;
-
-/**
- * Generates all combinations of non-negative integers within specified limits.
- * <p>
- * If a {@link CombinationGenerator} is constructed with parameters (5, 2), it will generate all
- * combinations of up to two integers, each in the range 0..4. Successive calls to
- * {@link #nextCombination(int[])} will return the following int arrays:
- * <pre>
- * 0
- * 1
- * 2
- * 3
- * 4
- * 0 1
- * 0 2
- * 0 3
- * 0 4
- * 1 2
- * 1 3
- * 1 4
- * 2 3
- * 2 4
- * 3 4
- * null
- * </pre>
- * 
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-public class CombinationGenerator implements Iterable<int[]>
-{
-    private int maxValuePlusOne, maxItems;
-
-    public CombinationGenerator(int maxValuePlusOne, int maxItems)
-    {
-        this.maxValuePlusOne = maxValuePlusOne;
-        this.maxItems = Math.min(maxItems, maxValuePlusOne);
-    }
-
-    /**
-     * Returns the first combination of integers. This is always {0}.
-     * <p>
-     * It can be passed to {@link #nextCombination(int[])} to generate the next combination.
-     * 
-     * @return the first combination of integers (always {0})
-     * */
-    public int[] firstCombination()
-    {
-        return new int[] { 0 };
-    }
-
-    /**
-     * Returns the first combination of <i>n</i> integers. This is always {0, 1, ..., n-1}.
-     * <p>
-     * It can be passed to {@link #nextCombination(int[])} to generate the next combination.
-     * 
-     * @return the first combination of <i>n</i> integers (always {0, 1, ..., n-1})
-     * */
-    public int[] firstCombination(int n)
-    {
-        int[] result = new int[n];
-        for (int i = 0; i < n; i++)
-            result[i] = i;
-        return result;
-    }
-
-    /**
-     * Returns the next combination of integers (according to the parameters pass to this
-     * {@link CombinationGenerator}'s constructor), given the previous combination returned by this
-     * method or by {@link #firstCombination()}.  <i>Note that the <code>lastCombination</code>
-     * array is modified in-place.</i>
-     * 
-     * @param lastCombination an array returned by {@link #firstCombination()} or
-     *            {@link #nextCombination(int[])}
-     * 
-     * @return a combination of integers, or <code>null</code> if there are no more combinations to
-     *         generate
-     */
-    public int[] nextCombination(int[] lastCombination)
-    {
-        if (lastCombination == null) return null;
-
-        int indexToIncrement = findIndexToIncrement(lastCombination);
-        if (indexToIncrement < 0)
-        {
-            return increaseLength(lastCombination);
-        }
-        else
-        {
-            incrementIndex(indexToIncrement, lastCombination);
-            return lastCombination;
-        }
-    }
-
-    private int findIndexToIncrement(int[] configuration)
-    {
-        int indexToIncrement = configuration.length - 1;
-
-        // The goal is to do something like this:
-        // if (configuration[7] == maxValue-1)
-        // indexToIncrement = 6;
-        // if (configuration[6] == maxValue-2)
-        // indexToIncrement = 5;
-
-        for (int i = configuration.length - 1; i >= 0; i--)
-        {
-            if (configuration[i] == maxValuePlusOne - (configuration.length - i))
-            {
-                indexToIncrement--;
-            }
-        }
-
-        return indexToIncrement;
-    }
-
-    private void incrementIndex(int indexToIncrement, int[] configuration)
-    {
-        configuration[indexToIncrement]++;
-
-        for (int i = indexToIncrement + 1; i < configuration.length; i++)
-            configuration[i] = configuration[i - 1] + 1;
-    }
-
-    private int[] increaseLength(int[] configuration)
-    {
-        if (configuration.length == maxItems) return null;
-
-        int[] newConfig = new int[configuration.length + 1];
-        for (int i = 0; i < newConfig.length; i++)
-            newConfig[i] = i;
-        return newConfig;
-    }
-
-    /* @see java.lang.Iterable#iterator() */
-    public Iterator<int[]> iterator()
-    {
-        return new Iterator<int[]>()
-        {
-            private int[] nextCombination = firstCombination();
-            
-            public boolean hasNext()
-            {
-                return nextCombination != null;
-            }
-
-            public int[] next()
-            {
-                int[] result = nextCombination.clone();
-                nextCombination = nextCombination(nextCombination);
-                return result;
-            }
-
-            public void remove()
-            {
-                throw new UnsupportedOperationException();
-            }
-        };
-    }
-}
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/combinatorial/ForEach.java b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/combinatorial/ForEach.java
deleted file mode 100644
index 3e22af6..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/combinatorial/ForEach.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.testing.combinatorial;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.rephraserengine.core.util.Pair;
-
-/**
- * 
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-public class ForEach
-{
-    private ForEach() {;}
-    
-    public static <T> Iterable<List<T>> combinationOf(List<T> list)
-    {
-        return combinationOf(1, list.size(), list);
-    }
-    
-    public static <T> Iterable<List<T>> combinationOf(int numElementsToChoose,
-                                                      List<T> list)
-    {
-        return combinationOf(numElementsToChoose, numElementsToChoose, list);
-    }
-
-    public static <T> Iterable<List<T>> combinationOf(final int minNumElementsInCombination,
-                                                      final int maxNumElementsInCombination,
-                                                      final List<T> list)
-    {
-        return new Iterable<List<T>>()
-        {
-            public Iterator<List<T>> iterator()
-            {
-                return new CombinationIterator<T>(minNumElementsInCombination,
-                                                  maxNumElementsInCombination,
-                                                  list);
-            }
-        };
-    }
-    
-    private static class CombinationIterator<T> implements Iterator<List<T>>
-    {
-        protected List<T> list;
-        protected CombinationGenerator gen;
-        protected int[] nextCombination;
-        
-        public CombinationIterator(int minNumElementsInCombination,
-                                   int maxNumElementsInCombination,
-                                   List<T> list)
-        {
-            if (minNumElementsInCombination < 1
-                || minNumElementsInCombination > list.size()
-                || maxNumElementsInCombination < 0
-                || maxNumElementsInCombination > list.size())
-                throw new IllegalArgumentException();
-            
-            this.list = list;
-            this.gen = new CombinationGenerator(list.size(), maxNumElementsInCombination);
-            this.nextCombination = gen.firstCombination(minNumElementsInCombination);
-        }
-
-        public boolean hasNext()
-        {
-            return nextCombination != null;
-        }
-
-        public List<T> next()
-        {
-            if (nextCombination == null) return null;
-            
-            List<T> combination = new ArrayList<T>(nextCombination.length);
-            for (int i = 0; i < nextCombination.length; i++)
-                combination.add(list.get(nextCombination[i]));
-            
-            nextCombination = gen.nextCombination(nextCombination);
-            return combination;
-        }
-
-        public void remove()
-        {
-            throw new UnsupportedOperationException();
-        }
-    }
-
-    /**
-     * @return all pairs of two objects from the given set
-     */
-    public static <T> Iterable<Pair<T,T>> pairOf(final List<T> objects)
-    {
-        return new Iterable<Pair<T,T>>()
-        {
-            public Iterator<Pair<T,T>> iterator()
-            {
-                return new PairIterator<T>(objects);
-            }
-        };
-    }
-    
-    private static class PairIterator<T> implements Iterator<Pair<T,T>>
-    {
-        /** Set of objects from which pairs will be generated */
-        protected final List<T> objects;
-        
-        /** Index of the first component of the pair in {@link #objects} */
-        protected int fstIndex;
-        
-        /** Index of the second component of the pair in {@link #objects} */
-        protected int sndIndex;
-        
-        public PairIterator(List<T> objects)
-        {
-            if (objects == null) throw new IllegalArgumentException();
-            if (objects == null || objects.isEmpty())
-                throw new IllegalArgumentException();
-            
-            this.objects = objects;
-            this.fstIndex = 0;
-            this.sndIndex = 0;
-        }
-
-        public boolean hasNext()
-        {
-            return fstIndex < objects.size();
-        }
-
-        public Pair<T,T> next()
-        {
-            if (fstIndex == objects.size()) return null;
-            
-            Pair<T,T> result = new Pair<T,T>(objects.get(fstIndex), objects.get(sndIndex));
-            
-            if (++sndIndex == objects.size())
-            {
-                ++fstIndex;
-                sndIndex = 0;
-            }
-            
-            return result;
-        }
-
-        public void remove()
-        {
-            throw new UnsupportedOperationException();
-        }
-    }
-
-    /**
-     * @return all tuples of objects with one component from each of the given sets
-     */
-    public static <T> Iterable<List<T>> tupleOf(final List<? extends T>... objects)
-    {
-        return new Iterable<List<T>>()
-        {
-            public Iterator<List<T>> iterator()
-            {
-                return new TupleIterator<T>(objects);
-            }
-        };
-    }
-    
-    private static class TupleIterator<T> implements Iterator<List<T>>
-    {
-        /** Sets of objects from which pairs will be generated */
-        protected final List<? extends T>[] objects;
-        
-        /** Indices of the components of the tuple: <code>index[i]</code> is an
-         * index into {@link #objects}[i] */
-        protected int[] indices;
-        
-        public TupleIterator(List<? extends T>... objects)
-        {
-            if (objects == null) throw new IllegalArgumentException();
-            for (List<? extends T> list : objects)
-                if (list == null || list.isEmpty())
-                    throw new IllegalArgumentException();
-            
-            this.objects = objects;
-            this.indices = new int[objects.length];
-        }
-
-        public boolean hasNext()
-        {
-            return indices[0] < objects[0].size();
-        }
-
-        public List<T> next()
-        {
-            if (indices[0] == objects[0].size()) return null;
-            
-            List<T> result = new ArrayList<T>(indices.length);
-            for (int i = 0; i < indices.length; i++)
-                result.add(objects[i].get(indices[i]));
-            incrementIndices();
-            return result;
-        }
-
-        private void incrementIndices()
-        {
-            for (int i = indices.length-1; i >= 0; i--)
-            {
-                indices[i]++;
-                if (indices[i] < objects[i].size())
-                    break;
-                else if (i > 0)
-                    indices[i] = 0;
-            }
-        }
-
-        public void remove()
-        {
-            throw new UnsupportedOperationException();
-        }
-    }
-}
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/GeneralTestSuiteFromFiles.java b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/GeneralTestSuiteFromFiles.java
deleted file mode 100644
index 01c77cc..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/GeneralTestSuiteFromFiles.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.testing.junit3;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * A {@link TestSuite} containing a test for each file found in the subdirectories of a particular
- * directory.
- * <p>
- * Most people will want to subclass from {@link TestSuiteFromFiles} instead.
- * <p>
- * Subclasses must override {@link #createTestFor(File)}.
- * 
- * @author Jeff Overbey
- * @see TestSuiteFromFiles
- * 
- * @since 2.0
- */
-public abstract class GeneralTestSuiteFromFiles extends TestSuite
-{
-    protected final String description;
-    protected final String testDirectory;
-    protected final FilenameFilter filenameFilter;
-
-    public GeneralTestSuiteFromFiles(String description, String directorySuffix, FilenameFilter filenameFilter,
-        boolean mustExist, Object... initializationData) throws FileNotFoundException, IOException
-    {
-        this.description = description;
-        this.testDirectory = getFullPath(directorySuffix);
-        this.filenameFilter = filenameFilter;
-
-        setName(getDescription(directorySuffix, mustExist));
-
-        initialize(initializationData);
-        
-        File dir = new File(testDirectory);
-        if (mustExist && !dir.exists())
-            throw new FileNotFoundException(Messages.bind(Messages.GeneralTestSuiteFromFiles_DirectoryNotFound, dir.getAbsolutePath()));
-
-        if (dir.exists())
-        {
-            processDirectory(dir, getFilesToSkip(dir));
-    
-            if (this.countTestCases() == 0)
-                throw new FileNotFoundException(Messages.bind(Messages.GeneralTestSuiteFromFiles_NoTestFilesFoundInDirectory, dir.getAbsolutePath()));
-        }
-    }
-
-    public GeneralTestSuiteFromFiles(String description, String directorySuffix, FilenameFilter filenameFilter)
-        throws FileNotFoundException, IOException
-    {
-        this(description, directorySuffix, filenameFilter, true);
-    }
-
-    public GeneralTestSuiteFromFiles(String description, String directorySuffix, final String filenameExtension,
-        boolean mustExist) throws FileNotFoundException, IOException
-    {
-        this(description, directorySuffix, new FilenameFilter()
-        {
-            public boolean accept(File dir, String name)
-            {
-                return name.endsWith(filenameExtension);
-            }
-        }, mustExist);
-    }
-
-    public GeneralTestSuiteFromFiles(String description, String directorySuffix, final String filenameExtension)
-        throws FileNotFoundException, IOException
-    {
-        this(description, directorySuffix, filenameExtension, true);
-    }
-
-    protected void initialize(Object... initializationData)
-    {
-    }
-    
-    protected String getDescription(String directorySuffix, boolean mustExist)
-    {
-        String dir = getFullPath(directorySuffix);
-
-        StringBuffer sb = new StringBuffer(256);
-        sb.append(description);
-        sb.append(' ');
-        sb.append(directorySuffix);
-        String message = sb.toString();
-
-        if (!new File(dir).exists())
-        {
-            if (mustExist)
-                throw new Error(
-                    Messages.bind(
-                        Messages.GeneralTestSuiteFromFiles_UnableToFindDirectory,
-                        dir,
-                        getWorkingDirectory()));
-            else
-                message = Messages.bind(Messages.GeneralTestSuiteFromFiles_SomeOptionalTestFilesAreNotPresent, dir);
-        }
-
-        return message;
-    }
-
-    private String getWorkingDirectory()
-    {
-        try
-        {
-            return new File(".").getCanonicalPath(); //$NON-NLS-1$
-        }
-        catch (IOException e)
-        {
-            return "???"; //$NON-NLS-1$
-        }
-    }
-
-    private String getFullPath(String directorySuffix)
-    {
-        StringBuilder sb = new StringBuilder();
-
-        String rootDirectory = getRootDirectory();
-        sb.append(rootDirectory);
-        if (!rootDirectory.equals("") && !rootDirectory.endsWith("/")) sb.append('/'); //$NON-NLS-1$ //$NON-NLS-2$
-
-        sb.append(directorySuffix);
-        if (!directorySuffix.endsWith("/")) sb.append('/'); //$NON-NLS-1$
-
-        return sb.toString();
-    }
-
-    protected String getRootDirectory()
-    {
-        return ""; //$NON-NLS-1$
-    }
-
-    protected Set<String> getFilesToSkip(File subdirectory)
-    {
-        File list = new File(subdirectory, nameOfTextFileContainingFilesToSkip());
-        if (!list.exists())
-            list = new File(testDirectory, nameOfTextFileContainingFilesToSkip());
-        if (!list.exists())
-            list = new File(getRootDirectory(), nameOfTextFileContainingFilesToSkip());
-
-        if (list.exists() && list.canRead())
-            return filesListedIn(list);
-        else
-            return Collections.<String> emptySet();
-    }
-
-    protected String nameOfTextFileContainingFilesToSkip()
-    {
-        return "FILES-TO-SKIP.txt"; //$NON-NLS-1$
-    }
-
-    protected Set<String> filesListedIn(File list)
-    {
-        try
-        {
-            Set<String> result = new HashSet<String>();
-
-            BufferedReader r = new BufferedReader(new FileReader(list));
-            for (String line = r.readLine(); line != null; line = r.readLine())
-            {
-                line = line.trim();
-                if (!line.equals("") && !line.startsWith("#")) //$NON-NLS-1$ //$NON-NLS-2$
-                    result.add(line);
-            }
-
-            return result;
-        }
-        catch (IOException e)
-        {
-            throw new Error(e);
-        }
-    }
-
-    private void processDirectory(File dir, Set<String> filenamesToSkip)
-    {
-        addTestsFor(dir.listFiles(filenameFilter), filenamesToSkip);
-
-        for (File subdir : dir.listFiles(DIRECTORY_FILTER))
-            processDirectory(subdir, filenamesToSkip);
-    }
-
-    private void addTestsFor(File[] filesInDirectory, Set<String> filenamesToSkip)
-    {
-        for (File file : filesInDirectory)
-        {
-            if (!file.isDirectory() && !shouldSkip(file, filenamesToSkip))
-            {
-                TestSuite subSuite = new TestSuite(description + " " + describe(file)); //$NON-NLS-1$
-                subSuite.addTest(createTestFor(file));
-                addTest(subSuite);
-            }
-        }
-    }
-
-    protected boolean shouldSkip(File file, Set<String> filenamesToSkip)
-    {
-        for (String filename : filenamesToSkip)
-            if (file.getAbsolutePath().replace('\\', '/').endsWith(filename.replace('\\', '/')))
-                return true;
-
-        return false;
-    }
-
-    protected String describe(File file)
-    {
-        return file.getAbsolutePath().substring(file.getAbsolutePath().lastIndexOf(File.separatorChar) + 1);
-    }
-
-    private static FileFilter DIRECTORY_FILTER = new FileFilter()
-    {
-        public boolean accept(File f)
-        {
-            return f.isDirectory();
-        }
-    };
-
-    public void test() {} // to keep JUnit quiet
-
-    protected abstract Test createTestFor(File file);
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/GeneralTestSuiteFromMarkers.java b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/GeneralTestSuiteFromMarkers.java
deleted file mode 100644
index 396803a..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/GeneralTestSuiteFromMarkers.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.testing.junit3;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.io.IOException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.rephraserengine.core.util.StringUtil;
-
-/**
- * A {@link TestSuite} containing a test for each <i>marker</i> found in the files in a particular
- * directory.  A <i>marker</i> is an arbitrary string (Photran uses <pre>!&lt;&lt;&lt;&lt;&lt;</pre>),
- * since <pre>!</pre> is the comment character in Fortran) followed by arbitrary text which continues
- * to the end of the line or the next marker, whichever appears first.
- * <p>
- * Most people will want to subclass from {@link TestSuiteFromMarkers} instead.
- * <p>
- * Subclasses must override {@link #createTestFor(List, File, int, String))}.
- * 
- * @author Jeff Overbey
- * @see TestSuiteFromMarkers
- * 
- * @since 2.0
- */
-public abstract class GeneralTestSuiteFromMarkers extends TestSuite
-{
-    protected final String description;
-    protected final String marker;
-    /** @since 3.0 */
-    protected final String markerEnd;
-    
-    /**
-     * Constructor.  Creates this {@link TestSuite} and populates it with test cases.
-     * 
-     * @param description
-     * @param marker
-     * @param fileOrDirectory
-     * @param filenameFilter
-     * @param initializationData these arguments (if any) will be passed directly to {@link #initialize(Object...)} before adding tests to the test suite
-     * @throws Exception
-     */
-    public GeneralTestSuiteFromMarkers(String description, String marker, File fileOrDirectory, FilenameFilter filenameFilter, Object... initializationData) throws Exception
-    {
-        this(description, marker, "\n", fileOrDirectory, filenameFilter, initializationData); //$NON-NLS-1$
-    }
-    
-    /**
-     * Constructor.  Creates this {@link TestSuite} and populates it with test cases.
-     * 
-     * @param description
-     * @param marker
-     * @param markerEnd
-     * @param fileOrDirectory
-     * @param filenameFilter
-     * @param initializationData these arguments (if any) will be passed directly to {@link #initialize(Object...)} before adding tests to the test suite
-     * @throws Exception
-     * 
-     * @since 3.0
-     */
-    public GeneralTestSuiteFromMarkers(String description, String marker, String markerEnd, File fileOrDirectory, FilenameFilter filenameFilter, Object... initializationData) throws Exception
-    {
-        this.description = description;
-        this.marker = marker;
-        this.markerEnd = markerEnd;
-        setName(getDescription(fileOrDirectory));
-        
-        initialize(initializationData);
-        
-        addTestsForFileOrDirectory(fileOrDirectory, filenameFilter);
-
-        if (countTestCases() == 0)
-            throw new Exception(Messages.bind(Messages.GeneralTestSuiteFromMarkers_NoMarkersFound, marker, fileOrDirectory.getName()));
-    }
-
-    /**
-     * Callback method which is invoked before adding tests to this test suite.
-     * <p>
-     * This may be overridden to configure the object (e.g., set field values) before tests are added.
-     * 
-     * @param initializationData the <code>initializationData</code> argument(s) passed to the constructor
-     */
-    protected void initialize(Object... initializationData)
-    {
-    }
-
-    public GeneralTestSuiteFromMarkers(String description, String marker, File fileOrDirectory, final String filenameExtension)
-        throws Exception
-    {
-        this(description, marker, fileOrDirectory, new FilenameFilter()
-        {
-            public boolean accept(File dir, String name)
-            {
-                return name.endsWith(filenameExtension);
-            }
-        });
-    }
-
-    private void addTestsForFileOrDirectory(File fileOrDirectory, FilenameFilter filenameFilter) throws Exception
-    {
-        if (!fileOrDirectory.exists())
-            throw new FileNotFoundException(Messages.bind(Messages.GeneralTestSuiteFromMarkers_FileNotFound, fileOrDirectory.getAbsolutePath()));
-        if (!fileOrDirectory.canRead())
-            throw new IOException(Messages.bind(Messages.GeneralTestSuiteFromMarkers_FileCannotBeRead, fileOrDirectory.getAbsolutePath()));
-
-        if (fileOrDirectory.isDirectory())
-            for (File file : fileOrDirectory.listFiles(filenameFilter))
-                addTestsForFileOrDirectory(file, filenameFilter);
-        else
-            addTestForFile(fileOrDirectory);
-    }
-
-    private void addTestForFile(File file) throws IOException, Exception
-    {
-        String fileContents = StringUtil.read(file);
-        for (int index = fileContents.indexOf(marker);
-             index >= 0;
-             index = fileContents.indexOf(marker, index+1))
-        {
-            int endOfLine = fileContents.indexOf(markerEnd, index);
-            if (endOfLine < 0) endOfLine = fileContents.length();
-            
-            int nextMarker = fileContents.indexOf(marker, index+1);
-            if (nextMarker < 0) nextMarker = fileContents.length();
-            
-            int markerEnd = Math.min(endOfLine, nextMarker);
-
-            this.addTest(createTestFor(file, index,
-                fileContents.substring(index+marker.length(), markerEnd).trim()));
-        }
-    }
-
-    protected String getDescription(File fileOrDirectory)
-    {
-        StringBuffer sb = new StringBuffer(256);
-        sb.append(description);
-        sb.append(' ');
-        sb.append(fileOrDirectory.getName());
-        String message = sb.toString();
-
-        if (!fileOrDirectory.exists())
-        {
-            message = Messages.bind(Messages.GeneralTestSuiteFromMarkers_SomeOptionalTestFilesAreNotPresent, fileOrDirectory);
-        }
-
-        return message;
-    }
- 
-    public void test() {} // to keep JUnit quiet
-
-    protected abstract Test createTestFor(File fileContainingMarker, int markerOffset, String markerText) throws Exception;
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/MarkerUtil.java b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/MarkerUtil.java
deleted file mode 100644
index 16f97a6..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/MarkerUtil.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.testing.junit3;
-
-import java.util.LinkedList;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.TextSelection;
-
-/**
- * Utility methods for
- * 
- * @author Jeff Overbey
- * 
- * @since 3.0
- */
-public class MarkerUtil
-{
-    private MarkerUtil() {;}
-
-    public static TextSelection determineSelection(String markerText, IDocument document) throws BadLocationException
-    {
-        return determineSelection(parseMarker(markerText), document);
-    }
-    
-    public static LinkedList<String> parseMarker(String markerText)
-    {
-        LinkedList<String> result = new LinkedList<String>();
-        for (String field : markerText.split(",")) //$NON-NLS-1$
-            result.add(field.trim());
-        return result;
-    }
-
-    public static TextSelection determineSelection(LinkedList<String> markerFields, IDocument document) throws BadLocationException
-    {
-        if (markerFields.size() < 2) throw new IllegalArgumentException();
-        
-        int fromLine = Integer.parseInt(markerFields.removeFirst());
-        int fromCol = Integer.parseInt(markerFields.removeFirst());
-        int toLine = fromLine;
-        int toCol = fromCol;
-        if (markerFields.size() >= 2 && isInteger(markerFields.get(0)) && isInteger(markerFields.get(1)))
-        {
-            toLine = Integer.parseInt(markerFields.removeFirst());
-            toCol = Integer.parseInt(markerFields.removeFirst());
-        }
-        
-        IRegion fromLineRegion = document.getLineInformation(fromLine-1);
-        IRegion toLineRegion = document.getLineInformation(toLine-1);
-        
-        int fromOffset = fromLineRegion.getOffset() + fromCol - 1;
-        int toOffset = toLineRegion.getOffset() + toCol - 1;
-        int length = toOffset - fromOffset;
-        
-        return new TextSelection(document, fromOffset, length);
-    }
-
-    /**
-     * @return true iff {@link Integer#parseInt(String)} can successfully parse the given
-     *         string can be parsed as an integer
-     */
-    private static boolean isInteger(String string)
-    {
-        try
-        {
-            Integer.parseInt(string);
-            return true;
-        }
-        catch (NumberFormatException e)
-        {
-            return false;
-        }
-    }
-}
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/Messages.java b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/Messages.java
deleted file mode 100644
index 493a544..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/Messages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.testing.junit3;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.testing.junit3.messages"; //$NON-NLS-1$
-
-    public static String GeneralTestSuiteFromFiles_DirectoryNotFound;
-
-    public static String GeneralTestSuiteFromFiles_NoTestFilesFoundInDirectory;
-
-    public static String GeneralTestSuiteFromFiles_SomeOptionalTestFilesAreNotPresent;
-
-    public static String GeneralTestSuiteFromFiles_UnableToFindDirectory;
-
-    public static String GeneralTestSuiteFromMarkers_FileCannotBeRead;
-
-    public static String GeneralTestSuiteFromMarkers_FileNotFound;
-
-    public static String GeneralTestSuiteFromMarkers_NoMarkersFound;
-
-    public static String GeneralTestSuiteFromMarkers_SomeOptionalTestFilesAreNotPresent;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/RefactoringTestCase.java b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/RefactoringTestCase.java
deleted file mode 100644
index 2899274..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/RefactoringTestCase.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.testing.junit3;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.rephraserengine.core.refactorings.IEditorRefactoring;
-import org.eclipse.rephraserengine.core.refactorings.IResourceRefactoring;
-import org.eclipse.rephraserengine.core.util.StringUtil;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-
-/**
- * Test case for a refactoring (used in a {@link GeneralTestSuiteFromMarkers}).
- * <p>
- * Most clients will want to subclass {@link RefactoringTestSuite} instead of manually constructing
- * a suite of {@link RefactoringTestCase}s.
- * <p>
- * Assuming the marker prefix is &quot;!&lt;&lt;&lt;&lt;&lt;&quot; and the marker suffix is
- * &quot;\n&quot;, markers are expected to have one of the following forms:
- * <ol>
- * <li> <tt>!&lt;&lt;&lt;&lt;&lt; line, col, ..., pass</tt>
- * <li> <tt>!&lt;&lt;&lt;&lt;&lt; fromLine, fromCol, toLine, toCol, ..., pass</tt>
- * </ol>
- * That is, the first two fields in each marker are expected to be a line and column number; the
- * text selection passed to the refactoring will be the offset of that line and column. The third
- * fourth fields may also be a line and column number; then, the selection passed to the refactoring
- * will extend from the first line/column to the second line/column.
- * <p>
- * The line and column numbers may be followed by an arbitrary number of fields that contain data
- * specific to the refactoring being invoked. Many refactorings don't require any additional data;
- * the Extract Local Variable test suite uses one field for the new variable declaration; the Add
- * ONLY to USE Statement test suite uses these fields to list the module entities to add; etc.
- * <p>
- * The final field must be either &quot;pass&quot;, &quot;fail-initial&quot;, or
- * &quot;fail-final&quot;, indicating whether the refactoring should succeed, fail its initial
- * precondition check, or fail its final precondition check.
- * <p>
- * If the refactoring is expected to succeed, the program may be compiled and run before and after
- * the refactoring in order to ensure that the refactoring actually preserved behavior. See the
- * documentation for {@link RefactoringTestCase} for more information.
- * 
- * @author Jeff Overbey
- * 
- * @see RefactoringTestSuite
- * @see GeneralTestSuiteFromMarkers
- * 
- * @since 3.0
- */
-public abstract class RefactoringTestCase<R extends Refactoring> extends WorkspaceTestCase
-{
-    /** Text of the last marker field when a refactoring is pass all precondition checks */
-    protected static final String PASS = "pass"; //$NON-NLS-1$
-    /** Text of the last marker field when a refactoring is expected to fail initial precondition check */
-    protected static final String FAIL_INITIAL = "fail-initial"; //$NON-NLS-1$
-    /** Text of the last marker field when a refactoring is expected to fail final precondition check */
-    protected static final String FAIL_FINAL = "fail-final"; //$NON-NLS-1$
-
-    private final File jioFileContainingMarker;
-    private final String markerText;
-    private final FilenameFilter filenameFilter;
-    private String description;
-    private Map<String, IFile> files;
-
-    public RefactoringTestCase(File fileContainingMarker,
-                               int markerOffset,
-                               String markerText,
-                               FilenameFilter filenameFilter) throws Exception {
-        this(fileContainingMarker, markerOffset, markerText, null, filenameFilter);
-    }
-
-    public RefactoringTestCase(File fileContainingMarker,
-                               int markerOffset,
-                               String markerText,
-                               EclipseVPG<?,?,?> vpg,
-                               FilenameFilter filenameFilter) throws Exception {
-        super("test", vpg); //$NON-NLS-1$
-        this.jioFileContainingMarker = fileContainingMarker;
-        this.markerText = markerText;
-        this.filenameFilter = filenameFilter;
-        this.description = fileContainingMarker.getName();
-    }
-
-    public void test() throws Exception
-    {
-        this.files = importFiles();
-        
-        IFile fileContainingMarker = files.get(jioFileContainingMarker.getName());
-        assertNotNull(fileContainingMarker);
-        
-        R refactoring = createRefactoring();
-
-        LinkedList<String> markerFields = MarkerUtil.parseMarker(markerText);
-        TextSelection selection = MarkerUtil.determineSelection(markerFields, createDocument(fileContainingMarker));
-
-        appendFilenameToDescription(markerFields);
-
-        RefactoringStatus status =
-            checkInitialConditions(refactoring,
-                initializeRefactoring(refactoring, fileContainingMarker, selection, markerFields));
-
-        if (!status.hasFatalError())
-        {
-            String before = shouldCompile(fileContainingMarker)
-                ? compileAndRunProgram(files)
-                : ""; //$NON-NLS-1$
-            
-            status = checkFinalConditions(refactoring,
-                configureRefactoring(refactoring, fileContainingMarker, selection, markerFields));
-
-            if (!status.hasFatalError())
-            {
-                performChange(refactoring);
-                refreshProject();
-                
-                if (!status.hasError() && shouldCompile(fileContainingMarker))
-                    assertEquals(before, compileAndRunProgram(files));
-                compareAgainstResultFile();
-            }
-        }
-        
-        deinitializeRefactoring(refactoring, fileContainingMarker, selection, markerFields);
-    }
-
-    protected Map<String, IFile> importFiles() throws Exception
-    {
-        Map<String, IFile> result = importAllFiles(jioFileContainingMarker.getParentFile(), filenameFilter);
-        refreshProject();
-        return result;
-    }
-
-    protected void refreshProject() throws CoreException
-    {
-        NullProgressMonitor pm = new NullProgressMonitor();
-        project.refreshLocal(IResource.DEPTH_INFINITE, pm);
-        if (vpg != null) vpg.ensureVPGIsUpToDate(pm);
-    }
-
-    /**
-     * This method is invoked to instantiate the refactoring class.
-     */
-    protected abstract R createRefactoring() throws Exception;
-
-    private void appendFilenameToDescription(LinkedList<String> markerStrings)
-    {
-        description += " (" + jioFileContainingMarker.getName() + " " + markerStrings + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-    }
-
-    /**
-     * This method is invoked after the refactoring is created ({@link #createRefactoring()}) but
-     * before {@link Refactoring#checkInitialConditions(org.eclipse.core.runtime.IProgressMonitor)}
-     * is invoked.  Override if necessary.
-     *
-     * @return true iff the refactoring is expected to pass initial precondition checking
-     */
-    protected boolean initializeRefactoring(R refactoring, IFile file, TextSelection selection, LinkedList<String> markerFields)
-    {
-        if (refactoring instanceof IEditorRefactoring)
-            ((IEditorRefactoring)refactoring).initialize(file, selection);
-        else if (refactoring instanceof IResourceRefactoring)
-            ((IResourceRefactoring)refactoring).initialize(Collections.singletonList(file));
-        else
-            throw new IllegalStateException("Must override #initializeRefactoring"); //$NON-NLS-1$
-        
-        if (lastMarkerField(markerFields).equals(PASS) || lastMarkerField(markerFields).equals(FAIL_FINAL))
-            return true;
-        else if (lastMarkerField(markerFields).equals(FAIL_INITIAL))
-            return false;
-        else
-            throw new IllegalStateException("Last marker field should be pass, fail-initial, or fail-final"); //$NON-NLS-1$
-    }
-
-    protected String lastMarkerField(LinkedList<String> markerFields)
-    {
-        return markerFields.getLast();
-    }
-
-    /**
-     * This method is invoked after initial preconditions have been checked
-     * ({@link Refactoring#checkInitialConditions(org.eclipse.core.runtime.IProgressMonitor)})
-     * but before final preconditions are checked
-     * ({@link Refactoring#checkFinalConditions(org.eclipse.core.runtime.IProgressMonitor)}).
-     * Override if necessary to supply user input.
-     *
-     * @return true iff the refactoring is expected to pass final precondition checking
-     */
-    protected boolean configureRefactoring(R refactoring, IFile file, TextSelection selection, LinkedList<String> markerFields)
-    {
-        if (lastMarkerField(markerFields).equals(PASS))
-            return true;
-        else if (lastMarkerField(markerFields).equals(FAIL_FINAL))
-            return false;
-        else
-            throw new IllegalStateException();
-    }
-
-    private RefactoringStatus checkInitialConditions(R refactoring, boolean shouldSucceed) throws OperationCanceledException, CoreException
-    {
-        RefactoringStatus status = refactoring.checkInitialConditions(new NullProgressMonitor());
-        if (shouldSucceed)
-            assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError()); //$NON-NLS-1$
-        else
-            assertTrue(description + " should have failed initial precondition check but did not: " + status.toString(), status.hasError()); //$NON-NLS-1$
-        return status;
-    }
-
-    private RefactoringStatus checkFinalConditions(R refactoring, boolean shouldSucceed) throws OperationCanceledException, CoreException
-    {
-        RefactoringStatus status;
-        status = refactoring.checkFinalConditions(new NullProgressMonitor());
-        if (shouldSucceed)
-            assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError()); //$NON-NLS-1$
-        else
-            assertTrue(description + " should have failed final precondition check but did not: " + status.toString(), status.hasError()); //$NON-NLS-1$
-        return status;
-    }
-
-    private void performChange(R refactoring) throws CoreException
-    {
-        IProgressMonitor pm = new NullProgressMonitor();
-        Change change = refactoring.createChange(pm);
-        assertNotNull(description + " returned null Change object", change); //$NON-NLS-1$
-        assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK()); //$NON-NLS-1$
-        change.perform(pm);
-    }
-
-    private void compareAgainstResultFile() throws IOException, URISyntaxException, CoreException
-    {
-        for (String filename : files.keySet())
-        {
-            if (resultFileFor(filename).exists())
-            {
-                String expected = StringUtil.read(resultFileFor(filename)).replaceAll("\\r", ""); //$NON-NLS-1$ //$NON-NLS-2$
-                String actual = readWorkspaceFile(filename).replaceAll("\\r", ""); //$NON-NLS-1$ //$NON-NLS-2$
-                assertEquals(expected, actual);
-            }
-        }
-    }
-
-    private File resultFileFor(String filename)
-    {
-        return new File(jioFileContainingMarker.getParent()
-            + File.separator
-            + filename
-            +  ".result"); //$NON-NLS-1$
-    }
-
-    /**
-     * @return true iff the program should be compiled and run using {@link #compileAndRunProgram(Map)}
-     */
-    protected boolean shouldCompile(IFile fileContainingMarker)
-    {
-        return false;
-    }
-
-    /**
-     * Compiles and runs the test program.
-     * <p>
-     * This method is invoked iff {@link #shouldCompile(IFile)} returns <code>true</code>.
-     * 
-     * @return the output of running the program
-     * 
-     * @throws Exception if compilation or execution fails
-     */
-    protected String compileAndRunProgram(Map<String, IFile> files) throws Exception
-    {
-        throw new UnsupportedOperationException("Must override #compileAndRunProgram if #shouldCompile can return true"); //$NON-NLS-1$
-    }
-
-    /**
-     * This method is invoked after the refactoring has been performed (after
-     * {@link Refactoring#createChange(IProgressMonitor)} and
-     * {@link Change#perform(IProgressMonitor)}. Override if necessary.
-     * 
-     * @throws Exception 
-     */
-    protected void deinitializeRefactoring(R refactoring, IFile file, TextSelection selection, LinkedList<String> markerFields) throws Exception
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/RefactoringTestSuite.java b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/RefactoringTestSuite.java
deleted file mode 100644
index 76054fd..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/RefactoringTestSuite.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.testing.junit3;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.util.LinkedList;
-import java.util.Map;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.testing.junit3.GeneralTestSuiteFromMarkers;
-
-/**
- * Test suite for a refactoring.
- * <p>
- * The test suite is constructed by importing files from a directory in the source tree, searching
- * its files for <i>markers,</i> and adding one test case to the suite for each marker.
- * <p>
- * The prefix and suffix of the marker are passed as the <code>marker</code> and
- * <code>markerEnd</code> arguments to the constructor. Assuming <code>marker</code> is
- * &quot;!&lt;&lt;&lt;&lt;&lt;&quot; and <code>markerEnd</code> is &quot;\n&quot;, markers are
- * expected to have one of the following forms:
- * <ol>
- * <li> <tt>!&lt;&lt;&lt;&lt;&lt; line, col, ..., pass</tt>
- * <li> <tt>!&lt;&lt;&lt;&lt;&lt; fromLine, fromCol, toLine, toCol, ..., pass</tt>
- * </ol>
- * That is, the first two fields in each marker are expected to be a line and column number; the
- * text selection passed to the refactoring will be the offset of that line and column. The third
- * fourth fields may also be a line and column number; then, the selection passed to the refactoring
- * will extend from the first line/column to the second line/column.
- * <p>
- * The line and column numbers may be followed by an arbitrary number of fields that contain data
- * specific to the refactoring being invoked. Many refactorings don't require any additional data;
- * the Extract Local Variable test suite uses one field for the new variable declaration; the Add
- * ONLY to USE Statement test suite uses these fields to list the module entities to add; etc.
- * <p>
- * The final field must be either &quot;pass&quot;, &quot;fail-initial&quot;, or
- * &quot;fail-final&quot;, indicating whether the refactoring should succeed, fail its initial
- * precondition check, or fail its final precondition check.
- * <p>
- * If the refactoring is expected to succeed, the program may be compiled and run before and after
- * the refactoring in order to ensure that the refactoring actually preserved behavior.  See the
- * documentation for {@link RefactoringTestCase} for more information.
- * 
- * @author Jeff Overbey
- * 
- * @see RefactoringTestCase
- * @see GeneralTestSuiteFromMarkers
- * 
- * @since 3.0
- */
-public class RefactoringTestSuite<R extends Refactoring> extends GeneralTestSuiteFromMarkers {
-
-    private Class<R> refactoringClass;
-    private EclipseVPG<?, ?, ?> vpg;
-    private FilenameFilter filenameFilter;
-
-    public RefactoringTestSuite(Class<R> refactoringClass,
-                                String marker,
-                                String markerEnd,
-                                File fileOrDirectory,
-                                FilenameFilter filenameFilter) throws Exception {
-        this(refactoringClass, marker, markerEnd, fileOrDirectory, filenameFilter, null);
-    }
-
-    public RefactoringTestSuite(Class<R> refactoringClass,
-                                String marker,
-                                String markerEnd,
-                                File fileOrDirectory,
-                                FilenameFilter filenameFilter,
-                                EclipseVPG<?,?,?> vpg) throws Exception {
-        super(refactoringClass.getName(),
-              marker,
-              markerEnd,
-              fileOrDirectory,
-              filenameFilter,
-              // Initialization data:
-              refactoringClass,
-              filenameFilter,
-              vpg);
-    }
-
-    // Callback method which is invoked before adding tests to this test suite.
-    @SuppressWarnings("unchecked")
-    @Override
-    protected void initialize(Object... initializationData)
-    {
-        this.refactoringClass = (Class<R>)initializationData[0];
-        this.filenameFilter = (FilenameFilter)initializationData[1];
-        this.vpg = (EclipseVPG<?,?,?>)initializationData[2];
-    }
-
-    @Override
-    protected Test createTestFor(File fileContainingMarker, int markerOffset, String markerText)
-            throws Exception {
-        return new IndividualRefactoringTestCase(
-                fileContainingMarker,
-                markerOffset,
-                markerText,
-                refactoringClass,
-                vpg,
-                filenameFilter);
-    }
-    
-    public class IndividualRefactoringTestCase extends RefactoringTestCase<R> {
-        private final Class<R> refactoringClass;
-        
-        public IndividualRefactoringTestCase(File fileContainingMarker, int markerOffset, String markerText, Class<R> refactoringClass, EclipseVPG<?,?,?> vpg, FilenameFilter filenameFilter) throws Exception {
-            super(fileContainingMarker, markerOffset, markerText, vpg, filenameFilter);
-            this.refactoringClass = refactoringClass;
-        }
-        
-        @Override
-        protected R createRefactoring() throws Exception {
-            return refactoringClass.newInstance();
-        }
-
-        @Override
-        protected boolean initializeRefactoring(R refactoring, IFile file, TextSelection selection, LinkedList<String> markerFields) {
-            RefactoringTestSuite.this.initializeRefactoring(refactoring, file, selection, markerFields);
-            return super.initializeRefactoring(refactoring, file, selection, markerFields);
-        }
-
-        @Override
-        protected boolean configureRefactoring(R refactoring, IFile file, TextSelection selection, LinkedList<String> markerFields) {
-            RefactoringTestSuite.this.configureRefactoring(refactoring, file, selection, markerFields);
-            return super.configureRefactoring(refactoring, file, selection, markerFields);
-        }
-
-        @Override
-        protected boolean shouldCompile(IFile fileContainingMarker)
-        {
-            return RefactoringTestSuite.this.shouldCompile(fileContainingMarker);
-        }
-
-        @Override
-        protected String compileAndRunProgram(Map<String, IFile> files) throws Exception
-        {
-            return RefactoringTestSuite.this.compileAndRunProgram(files);
-        }
-
-        @Override
-        protected void deinitializeRefactoring(R refactoring, IFile file, TextSelection selection, LinkedList<String> markerFields) throws Exception {
-            RefactoringTestSuite.this.deinitializeRefactoring(refactoring, file, selection, markerFields);
-            super.deinitializeRefactoring(refactoring, file, selection, markerFields);
-        }
-    }
-    
-    /**
-     * This method is invoked after the refactoring is created ({@link #createRefactoring()}) but
-     * before {@link Refactoring#checkInitialConditions(org.eclipse.core.runtime.IProgressMonitor)}
-     * is invoked.  Override if necessary.
-     */
-    protected void initializeRefactoring(R refactoring, IFile file, TextSelection selection, LinkedList<String> markerFields) {
-        ;
-    }
-
-    /**
-     * This method is invoked after initial preconditions have been checked
-     * ({@link Refactoring#checkInitialConditions(org.eclipse.core.runtime.IProgressMonitor)})
-     * but before final preconditions are checked
-     * ({@link Refactoring#checkFinalConditions(org.eclipse.core.runtime.IProgressMonitor)}).
-     * Override if necessary to supply user input.
-     */
-    protected void configureRefactoring(R refactoring, IFile file, TextSelection selection, LinkedList<String> markerFields) {
-        ;
-    }
-
-    /**
-     * @return true iff the program should be compiled and run using {@link #compileAndRunProgram(Map)}
-     */
-    protected boolean shouldCompile(IFile fileContainingMarker)
-    {
-        return false;
-    }
-
-    /**
-     * Compiles and runs the test program.
-     * <p>
-     * This method is invoked iff {@link #shouldCompile(IFile)} returns <code>true</code>.
-     * 
-     * @return the output of running the program
-     * 
-     * @throws Exception if compilation or execution fails
-     */
-    protected String compileAndRunProgram(Map<String, IFile> files) throws Exception
-    {
-        throw new UnsupportedOperationException("Must override #compileAndRunProgram if #shouldCompile can return true"); //$NON-NLS-1$
-    }
-
-    /**
-     * This method is invoked after the refactoring has been performed (after
-     * {@link Refactoring#createChange(IProgressMonitor)} and
-     * {@link Change#perform(IProgressMonitor)}. Override if necessary.
-     * 
-     * @throws Exception 
-     */
-    protected void deinitializeRefactoring(R refactoring, IFile file, TextSelection selection, LinkedList<String> markerFields) throws Exception {
-        ;
-    }
-}
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/TestSuiteFromFiles.java b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/TestSuiteFromFiles.java
deleted file mode 100644
index b3fa8c6..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/TestSuiteFromFiles.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.rephraserengine.testing.junit3;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.io.IOException;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-/**
- * A {@link TestSuite} containing a test for each file found in the subdirectories of a particular
- * directory.
- * <p>
- * Subclasses must override {@link #test(File)}.
- * <p>
- * To run an entire suite of tests for the given file, or to construct an arbitrary TestCase,
- * subclass from {@link GeneralTestSuiteFromFiles} instead.
- * 
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-public abstract class TestSuiteFromFiles extends GeneralTestSuiteFromFiles
-{
-    public TestSuiteFromFiles(String description, String directorySuffix, FilenameFilter filenameFilter,
-        boolean mustExist) throws FileNotFoundException, IOException
-    {
-        super(description, directorySuffix, filenameFilter, mustExist);
-    }
-
-    public TestSuiteFromFiles(String description, String directorySuffix, FilenameFilter filenameFilter)
-        throws FileNotFoundException, IOException
-    {
-        super(description, directorySuffix, filenameFilter);
-    }
-
-    public TestSuiteFromFiles(String description, String directorySuffix, final String filenameExtension,
-        boolean mustExist) throws FileNotFoundException, IOException
-    {
-        super(description, directorySuffix, filenameExtension, mustExist);
-    }
-
-    public TestSuiteFromFiles(String description, String directorySuffix, final String filenameExtension)
-        throws FileNotFoundException, IOException
-    {
-        super(description, directorySuffix, filenameExtension);
-    }
-
-    @Override
-    protected final Test createTestFor(final File file)
-    {
-        return new SimpleFileTestCase(file) {};
-    }
-
-    public abstract class SimpleFileTestCase extends TestCase
-    {
-        protected File file;
-
-        public SimpleFileTestCase(File file)
-        {
-            super("test"); //$NON-NLS-1$
-            this.file = file;
-        }
-
-        public void test() throws Exception
-        {
-            TestSuiteFromFiles.this.test(file);
-        }
-    }
-
-    protected abstract void test(File file) throws Exception;
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/TestSuiteFromMarkers.java b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/TestSuiteFromMarkers.java
deleted file mode 100644
index 4cadcb6..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/TestSuiteFromMarkers.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.eclipse.rephraserengine.testing.junit3;
-
-import java.io.File;
-import java.io.FilenameFilter;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-/**
- * A {@link TestSuite} containing a test for each <i>marker</i> found in the files in a particular
- * directory.  A <i>marker</i> is an arbitrary string (Photran uses <pre>!&lt;&lt;&lt;&lt;&lt;</pre>),
- * since <pre>!</pre> is the comment character in Fortran) followed by arbitrary text which continues
- * to the end of the line or the next marker, whichever appears first.
- * <p>
- * Subclasses must override {@link #createTestFor(List, File, int, String))}.
- * <p>
- * To run an entire suite of tests for the given file, or to construct an arbitrary TestCase,
- * subclass from {@link GeneralTestSuiteFromMarkers} instead.
- * 
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-public abstract class TestSuiteFromMarkers extends GeneralTestSuiteFromMarkers
-{
-    public TestSuiteFromMarkers(String description, String marker, File fileOrDirectory, FilenameFilter filenameFilter) throws Exception
-    {
-        super(description, marker, fileOrDirectory, filenameFilter);
-    }
-
-    public TestSuiteFromMarkers(String description, String marker, File fileOrDirectory, final String filenameExtension) throws Exception
-    {
-        super(description, marker, fileOrDirectory, filenameExtension);
-    }
-
-    @Override
-    protected final Test createTestFor(File fileContainingMarker, int markerOffset, String markerText)
-    {
-        TestSuite suite = new TestSuite(fileContainingMarker.getName() + " - " + markerText); //$NON-NLS-1$
-        suite.addTest(new SimpleFileTestCase(fileContainingMarker, markerOffset, markerText) {});
-        return suite;
-    }
-
-    public abstract class SimpleFileTestCase extends TestCase
-    {
-        protected final File fileContainingMarker;
-        protected final int markerOffset;
-        protected final String markerText;
-
-        public SimpleFileTestCase(File fileContainingMarker, int markerOffset, String markerText)
-        {
-            super("test"); //$NON-NLS-1$
-            this.fileContainingMarker = fileContainingMarker;
-            this.markerOffset = markerOffset;
-            this.markerText = markerText;
-        }
-
-        public void test() throws Exception
-        {
-            TestSuiteFromMarkers.this.test(fileContainingMarker, markerOffset, markerText);
-        }
-    }
-
-    protected abstract void test(File fileContainingMarker, int markerOffset, String markerText) throws Exception;
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/WorkspaceTestCase.java b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/WorkspaceTestCase.java
deleted file mode 100644
index debe903..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/WorkspaceTestCase.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-/*
- * Created on Oct 4, 2004
- */
-package org.eclipse.rephraserengine.testing.junit3;
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Map;
-import java.util.TreeMap;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.rephraserengine.core.util.StringUtil;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-
-/**
- * Base class for a test case that imports files into the runtime workspace and then operates on the
- * runtime workspace.
- * <p>
- * This class is based on org.eclipse.cdt.core.tests.BaseTestFramework.
- * 
- * @author aniefer
- * @author Jeff Overbey
- * 
- * @since 3.0
- */
-public abstract class WorkspaceTestCase extends TestCase
-{
-    /** Used to give each project a new name */
-    protected static int n = 0;
-    
-    protected IWorkspace workspace;
-    protected IProject project;
-    protected final EclipseVPG<?,?,?> vpg;
-    
-    public WorkspaceTestCase()
-    {
-        super();
-        this.vpg = null;
-    }
-
-    public WorkspaceTestCase(String name)
-    {
-        super(name);
-        this.vpg = null;
-    }
-
-    public WorkspaceTestCase(String name, EclipseVPG<?,?,?> vpg)
-    {
-        super(name);
-        this.vpg = vpg;
-    }
-    
-	@Override
-	protected void setUp() throws Exception
-	{
-		super.setUp();
-
-        if (project != null) return;
-
-        if (vpg != null)
-        {
-            vpg.releaseAllASTs();
-            vpg.clearDatabase();
-        }
-        
-        workspace = ResourcesPlugin.getWorkspace();
-        project = createProject("TestProject" + (++n)); //$NON-NLS-1$
-        if (project == null)
-            fail("Unable to create project"); //$NON-NLS-1$
-	}
-            
-    protected static IProject createProject(final String projectName) throws CoreException
-    {
-        class CreateProject implements IWorkspaceRunnable
-        {
-            IProject project = null;
-            
-            public void run(IProgressMonitor monitor) throws CoreException {
-                IWorkspace workspace = ResourcesPlugin.getWorkspace();
-                project = workspace.getRoot().getProject(projectName);
-                if (!project.exists())
-                    project.create(monitor);
-                else
-                    project.refreshLocal(IResource.DEPTH_INFINITE, null);
-                if (!project.isOpen())
-                    project.open(monitor);
-            }
-        }
-        
-        CreateProject runnable = new CreateProject();
-        runnable.run(new NullProgressMonitor());
-        return runnable.project;
-    }
-
-	@Override
-	protected void tearDown() throws Exception
-	{
-        if (project == null || !project.exists()) return;
-        
-        try
-        {
-            project.delete(true, true, new NullProgressMonitor());
-        }
-        catch (Throwable e)
-        {
-            project.close(new NullProgressMonitor());
-        }
-        finally
-        {
-            if (vpg != null)
-            {
-                // To speed things up a bit and conserve memory...
-                vpg.releaseAllASTs();
-                vpg.clearDatabase();
-            }
-
-            project = null;
-        }
-	}
-
-    protected IFile importFile(String fileName, String contents) throws Exception
-    {
-        IFile file = project.getProject().getFile(fileName);
-        InputStream stream = new ByteArrayInputStream(contents.getBytes());
-
-        if (file.exists())
-            file.setContents(stream, false, false, new NullProgressMonitor());
-        else
-            file.create(stream, false, new NullProgressMonitor());
-
-        return file;
-    }
-
-    protected IFile importFile(String fileName, File fileToCopyIntoWorkspace) throws Exception
-    {
-        return importFile(fileName, StringUtil.read(fileToCopyIntoWorkspace));
-    }
-
-    protected IFile importFile(File fileToCopyIntoWorkspace) throws Exception
-    {
-        return importFile(fileToCopyIntoWorkspace.getName(), fileToCopyIntoWorkspace);
-    }
-
-    protected IFile importFile(Plugin activator, String path) throws Exception
-    {
-        int lastSeparator = Math.max(path.lastIndexOf('/'), path.lastIndexOf('\\'));
-        String filename = path.substring(lastSeparator+1);
-        
-        //project.getProject().getFile(filename).delete(true, new NullProgressMonitor());
-        IFile result = importFile(filename, readTestFile(activator, path));
-        //project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-        return result;
-    }
-
-    protected String readTestFile(Plugin activator, String path) throws IOException, URISyntaxException
-    {
-        URL resource = activator.getBundle().getResource(path);
-        assertNotNull(resource);
-        return StringUtil.read(resource.openStream());
-    }
-
-    protected Map<String, IFile> importAllFiles(File directory, FilenameFilter filenameFilter) throws Exception
-    {
-        Map<String, IFile> filesImported = new TreeMap<String, IFile>();
-        for (File file : directory.listFiles(filenameFilter))
-        {
-            IFile thisFile = importFile(file);
-            filesImported.put(thisFile.getName(), thisFile);
-        }
-        return filesImported;
-    }
-
-    protected String readWorkspaceFile(String filename) throws IOException, CoreException
-    {
-        return StringUtil.read(project.getFile(filename).getContents(true));
-    }
-
-    protected IDocument createDocument(IFile file) throws IOException, CoreException
-    {
-        return new Document(readWorkspaceFile(file.getName()));
-    }
-}
diff --git a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/messages.properties b/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/messages.properties
deleted file mode 100644
index 8529e4b..0000000
--- a/org.eclipse.rephraserengine.testing.junit3/src/org/eclipse/rephraserengine/testing/junit3/messages.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-GeneralTestSuiteFromFiles_DirectoryNotFound=Directory {0} not found
-GeneralTestSuiteFromFiles_NoTestFilesFoundInDirectory=No test files found in {0}
-GeneralTestSuiteFromFiles_SomeOptionalTestFilesAreNotPresent=NOTE: Some optional test files are not present: directory {0} does not exist
-GeneralTestSuiteFromFiles_UnableToFindDirectory=Unable to find directory {0} (working directory is {1})
-GeneralTestSuiteFromMarkers_FileCannotBeRead={0} cannot be read
-GeneralTestSuiteFromMarkers_FileNotFound={0} not found
-GeneralTestSuiteFromMarkers_NoMarkersFound=No markers of the form {0} found in {1}
-GeneralTestSuiteFromMarkers_SomeOptionalTestFilesAreNotPresent=NOTE: Some optional test files are not present: directory {0} does not exist
diff --git a/org.eclipse.rephraserengine.ui.refactoring/.classpath b/org.eclipse.rephraserengine.ui.refactoring/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.ui.refactoring/.project b/org.eclipse.rephraserengine.ui.refactoring/.project
deleted file mode 100644
index 4f27bea..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine.ui.refactoring</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.ui.refactoring/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.ui.refactoring/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ff07332..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu May 27 11:15:32 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.ui.refactoring/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.ui.refactoring/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 12869a9..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Fri Oct 09 01:03:24 CDT 2009
-cleanup_settings_version=2
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.ui.refactoring/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.ui.refactoring/META-INF/MANIFEST.MF
deleted file mode 100644
index b7fb310..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.rephraserengine.ui.refactoring;singleton:=true
-Bundle-Version: 3.0.0.qualifier
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.jface.text,
- org.eclipse.ui.ide,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.ltk.ui.refactoring,
- org.eclipse.rephraserengine.core.refactoring,
- org.eclipse.rephraserengine.core,
- org.eclipse.rephraserengine.ui,
- org.eclipse.core.expressions
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.rephraserengine.ui.menus,
- org.eclipse.rephraserengine.ui.refactoring
diff --git a/org.eclipse.rephraserengine.ui.refactoring/OSGI-INF/l10n/bundle.properties b/org.eclipse.rephraserengine.ui.refactoring/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index a409861..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Properties file for org.eclipse.rephraserengine.ui.refactoring
-menu.label = Refac&tor
-menu.label.0 = Refac&tor
-extension-point.name = Refactorings
-Bundle-Vendor = Eclipse.org - Photran
-Bundle-Name = Rephraser Engine UI Plug-in
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.refactoring/about.html b/org.eclipse.rephraserengine.ui.refactoring/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.refactoring/build.properties b/org.eclipse.rephraserengine.ui.refactoring/build.properties
deleted file mode 100644
index 7e745c5..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               icons/,\
-               schema/,\
-               about.html,\
-               OSGI-INF/l10n/bundle.properties
-src.includes = about.html,\
-               icons/,\
-               schema/
diff --git a/org.eclipse.rephraserengine.ui.refactoring/icons/sample.gif b/org.eclipse.rephraserengine.ui.refactoring/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.rephraserengine.ui.refactoring/plugin.xml b/org.eclipse.rephraserengine.ui.refactoring/plugin.xml
deleted file mode 100644
index 16b0f3c..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/plugin.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <!--=============================-->
-   <!-- Refactoring Extension Point -->
-   <!--=============================-->
-   <extension-point id="refactorings" name="%extension-point.name" schema="schema/refactorings.exsd" />
-
-   <!--===============-->
-   <!-- Refactor Menu -->
-   <!--===============-->
-   <extension point="org.eclipse.core.expressions.definitions">
-      <definition id="org.eclipse.rephraserengine.ui.refactoring.isRefactorableResource">
-           <with variable="selection">
-               <iterate operator="or" ifEmpty="false">
-                 <or>
-                   <adapt type="org.eclipse.core.resources.IResource">
-                     <test
-                        property="org.eclipse.rephraserengine.ui.refactoring.isRefactorable"
-                        forcePluginActivation="true" />
-                   </adapt>
-                   <adapt type="org.eclipse.jface.text.ITextSelection">
-                     <test
-                        property="org.eclipse.rephraserengine.ui.refactoring.isRefactorable"
-                        forcePluginActivation="true" />
-                   </adapt>
-                 </or>
-               </iterate>
-            </with>
-      </definition>
-   </extension>
-   <extension point="org.eclipse.ui.menus">
-
-      <!-- Refactor menu in the menu bar -->
-      <!-- ============================= -->
-      <!-- Always visible -->
-      <menuContribution
-            locationURI="menu:org.eclipse.ui.main.menu?before=navigate">
-         <!-- Menu mimicks org.eclipse.jdt.ui's (as does CDT's Refactor menu)
-              http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.ui/plugin.xml?view=markup -->
-         <menu
-               label="%menu.label"
-               id="org.eclipse.jdt.ui.refactoring.menu">
-            <!-- http://wiki.eclipse.org/Command_Core_Expressions -->
-            <visibleWhen checkEnabled="false">
-               <reference definitionId="org.eclipse.rephraserengine.ui.refactoring.isRefactorableResource" />
-            </visibleWhen>
-            <dynamic
-                  class="org.eclipse.rephraserengine.ui.menus.RefactorMenu"
-                  id="org.eclipse.rephraserengine.ui.menus.refactor">
-            </dynamic>
-         </menu>
-      </menuContribution>
-
-      <!-- Refactor sub-menu in popup menus -->
-      <!--  (e.g., in the Navigator view)   -->
-      <!-- ================================ -->
-      <!-- Visible when at least one IResource is selected -->
-      <menuContribution
-            locationURI="popup:org.eclipse.ui.popup.any?after=group.reorganize">
-         <menu
-               label="%menu.label.0"
-               id="org.eclipse.jdt.ui.refactoring.menu">
-            <!-- http://wiki.eclipse.org/Command_Core_Expressions -->
-            <visibleWhen checkEnabled="false">
-               <reference definitionId="org.eclipse.rephraserengine.ui.refactoring.isRefactorableResource" />
-            </visibleWhen>
-            <dynamic
-                  class="org.eclipse.rephraserengine.ui.menus.RefactorMenu"
-                  id="org.eclipse.rephraserengine.ui.menus.refactor">
-            </dynamic>
-         </menu>
-      </menuContribution>
-
-   </extension>
-
-   <!--=================-->
-   <!-- Property Tester -->
-   <!--=================-->
-  <extension
-        point="org.eclipse.core.expressions.propertyTesters">
-      <propertyTester
-           id="org.eclipse.rephraserengine.ui.refactoring.isRefactorable"
-           class="org.eclipse.rephraserengine.internal.ui.menus.RefactorableResourcePropertyTester"
-           namespace="org.eclipse.rephraserengine.ui.refactoring"
-           properties="isRefactorable"
-           type="java.lang.Object"/>
-  </extension>
-
-</plugin>
diff --git a/org.eclipse.rephraserengine.ui.refactoring/schema/refactorings.exsd b/org.eclipse.rephraserengine.ui.refactoring/schema/refactorings.exsd
deleted file mode 100644
index 9f9e0e7..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/schema/refactorings.exsd
+++ /dev/null
@@ -1,290 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.rephraserengine.ui.refactoring" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.rephraserengine.ui.refactoring" id="refactorings" name="Refactorings"/>
-      </appInfo>
-      <documentation>
-         Allows plug-ins to contribute to the Refactor menu.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <choice minOccurs="0" maxOccurs="1">
-               <element ref="resourceFilter"/>
-            </choice>
-            <choice minOccurs="1" maxOccurs="unbounded">
-               <element ref="group"/>
-               <element ref="submenu"/>
-               <element ref="resourceRefactoring"/>
-               <element ref="command"/>
-               <element ref="editorRefactoring"/>
-            </choice>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="resourceRefactoring">
-      <complexType>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.rephraserengine.core.refactorings.IResourceRefactoring"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="command" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="identifier" basedOn="org.eclipse.ui.commands/command/@id"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="inputPage" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.rephraserengine.ui.refactoring.CustomUserInputPage:"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="require_env" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="editorRefactoring">
-      <complexType>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.rephraserengine.core.refactorings.IEditorRefactoring"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="command" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="identifier" basedOn="org.eclipse.ui.commands/command/@id"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="inputPage" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.rephraserengine.ui.refactoring.CustomUserInputPage:"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="require_env" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="group">
-      <complexType>
-         <sequence>
-            <choice minOccurs="1" maxOccurs="unbounded">
-               <element ref="command"/>
-               <element ref="resourceRefactoring"/>
-               <element ref="editorRefactoring"/>
-               <element ref="submenu"/>
-            </choice>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="submenu">
-      <complexType>
-         <sequence>
-            <choice minOccurs="1" maxOccurs="unbounded">
-               <element ref="group"/>
-               <element ref="submenu"/>
-               <element ref="resourceRefactoring"/>
-               <element ref="command"/>
-               <element ref="editorRefactoring"/>
-            </choice>
-         </sequence>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="command">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="identifier" basedOn="org.eclipse.ui.commands/command/@id"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="resourceFilter">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.rephraserengine.core.refactorings.IResourceFilter"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;extension
-         point=&quot;org.eclipse.rephraserengine.ui.refactoring.refactorings&quot;&gt;
-
-      &lt;!-- The resource filter determines what must be selected for these refactorings to be visible --&gt;
-      &lt;resourceFilter class=&quot;org.eclipse.rephraserengine.examples.text.TextFileResourceFilter&quot; /&gt;
-
-      &lt;!-- Each group defines a new (separated) section in the Refactor menu --&gt;
-      &lt;group&gt;
-
-         &lt;!-- A resource refactoring which uses an auto-generated user interface --&gt;
-         &lt;resourceRefactoring
-            class=&quot;org.eclipse.rephraserengine.examples.text.ConvertTabsToSpacesRefactoring&quot; /&gt;
-
-         &lt;!-- An editor refactoring which uses an auto-generated user interface --&gt;
-         &lt;editorRefactoring
-             class=&quot;org.eclipse.photran.internal.core.refactoring.MakePrivateEntityPublicRefactoring&quot; /&gt;
-
-         &lt;!-- Same as previous, except the given label (&quot;Increase Visibility&quot;) will appear in the menu;
-              when the label attribute is absent, the label will be whatever is returned by the refactoring&apos;s
-              #getName method --&gt;
-         &lt;editorRefactoring
-             label=&quot;Increase Visibility&quot;
-             class=&quot;org.eclipse.photran.internal.core.refactoring.MakePrivateEntityPublicRefactoring&quot; /&gt;
-
-         &lt;!-- An editor refactoring which uses a custom user interface --&gt;
-         &lt;editorRefactoring
-             class=&quot;org.eclipse.photran.internal.core.refactoring.AddOnlyToUseStmtRefactoring&quot;
-             inputPage=&quot;org.eclipse.photran.internal.refactoring.ui.AddOnlyToUseStmtInputPage&quot; /&gt;
-
-         &lt;!-- A command which is contributed as an editor refactoring --&gt;
-         &lt;!-- Note that this is the only way to give a refactoring a key binding --&gt;
-         &lt;editorRefactoring command=&quot;org.eclipse.photran.ui.RenameRefactoringCommand&quot; /&gt;
-
-         &lt;!-- An editor refactoring which only appears in the menu when the
-              PHOTRAN_INCLUDE_TEST_REFACTORINGS environment variable is set to a non-null value --&gt;
-         &lt;editorRefactoring
-             require_env=&quot;PHOTRAN_INCLUDE_TEST_REFACTORINGS&quot;
-             class=&quot;org.eclipse.photran.internal.core.refactoring.AddEmptySubprogramRefactoring&quot; /&gt;
-
-      &lt;/group&gt;
-      &lt;!-- A submenu defines a pop-out menu with the given name --&gt;
-      &lt;submenu name=&quot;&amp;amp;Submenu&quot;&gt;
-         &lt;resourceRefactoring
-            class=&quot;org.eclipse.rephraserengine.examples.text.ConvertTabsToSpacesRefactoring&quot; /&gt;
-      &lt;/submenu&gt;
-   &lt;/extension&gt;
-      </documentation>
-   </annotation>
-
-
-
-
-</schema>
diff --git a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/Messages.java b/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/Messages.java
deleted file mode 100644
index c911640..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/Messages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.actions;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.internal.ui.actions.messages"; //$NON-NLS-1$
-
-    public static String RefactoringAction_ClickOKToRunTheRefactoring;
-
-    public static String RefactoringAction_UnhandledExceptionTitle;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/RefactoringAction.java b/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/RefactoringAction.java
deleted file mode 100644
index f456183..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/RefactoringAction.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.ui.refactoring.RefactoringWizard;
-import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation;
-import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;
-import org.eclipse.rephraserengine.core.refactorings.IRefactoring;
-import org.eclipse.rephraserengine.core.refactorings.UserInputBoolean;
-import org.eclipse.rephraserengine.core.refactorings.UserInputString;
-import org.eclipse.rephraserengine.ui.UIUtil;
-import org.eclipse.rephraserengine.ui.menus.RefactorMenu;
-import org.eclipse.rephraserengine.ui.refactoring.CustomUserInputPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * A default action for refactorings, which provides a refactoring wizard and optionally generates
- * a simple user input page for that wizard based on {@link UserInputString} and
- * {@link UserInputBoolean} method annotations..
- *
- * @author Jeff Overbey
- *
- * @see RefactorMenu
- * @see UserInputString
- * @see UserInputBoolean
- *
- * @since 1.0
- */
-public class RefactoringAction<T extends Refactoring>
-    implements IWorkbenchWindowActionDelegate,
-               //IEditorActionDelegate,
-               IRunnableWithProgress
-{
-    private IWorkbenchWindow activeWindow = null;
-    private Shell activeShell = null;
-
-    protected IRefactoring refactoring;
-    protected CustomUserInputPage<T> customUserInputPage = null;
-
-    public RefactoringAction(IRefactoring refactoring)
-    {
-        this(refactoring, null);
-    }
-
-    public RefactoringAction(IRefactoring refactoring,
-                             CustomUserInputPage<T> customUserInputPage)
-    {
-        this.refactoring = refactoring;
-        this.customUserInputPage = customUserInputPage;
-    }
-
-    public void init(IWorkbenchWindow window)
-    {
-        activeWindow = window;
-        if (activeWindow != null)
-            activeShell = activeWindow.getShell();
-    }
-
-    public void dispose() {;}
-    public void selectionChanged(IAction action, ISelection selection) {;}
-
-    public void run()
-    {
-        run((IAction)null);
-    }
-
-    public void run(IAction action)
-    {
-        if (!(refactoring instanceof Refactoring))
-        {
-            UIUtil.displayErrorDialog("ERROR: " + refactoring.getClass().getName() + //$NON-NLS-1$
-                " is not a subclass of org.eclipse.ltk.core.refactoring.Refactoring." + //$NON-NLS-1$
-                " A custom Action must be provided."); //$NON-NLS-1$
-            return;
-        }
-
-        IProgressService context = PlatformUI.getWorkbench().getProgressService();
-        ISchedulingRule lockEntireWorkspace = ResourcesPlugin.getWorkspace().getRoot();
-        try
-        {
-            context.runInUI(context, this, lockEntireWorkspace);
-        }
-        catch (InvocationTargetException e)
-        {
-            e.printStackTrace();
-            MessageDialog.openError(
-                    activeShell,
-                    Messages.RefactoringAction_UnhandledExceptionTitle,
-                    e.getMessage());
-        }
-        catch (InterruptedException e)
-        {
-            // Do nothing
-        }
-    }
-
-    public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException
-    {
-        if (filesSavedAsNecessary())
-        {
-            String name = refactoring.getName();
-            DefaultRefactoringWizard wizard = new DefaultRefactoringWizard();
-            RefactoringWizardOpenOperation wiz = new RefactoringWizardOpenOperation(wizard);
-            if (activeShell == null) activeShell = UIUtil.determineActiveShell();
-            wiz.run(activeShell, name);
-        }
-    }
-
-    private boolean filesSavedAsNecessary()
-    {
-        return UIUtil.askUserToSaveModifiedFiles();
-    }
-
-    public class DefaultRefactoringWizard extends RefactoringWizard
-    {
-        @SuppressWarnings("unchecked")
-        public DefaultRefactoringWizard()
-        {
-            // CHECK_INITIAL_CONDITIONS_ON_OPEN causes the initial conditions to be checked
-            // twice, which may lead to duplicate or missing error messages
-            // (missing if, say, an INCLUDE could not be found, but the AST was already
-            // loaded into the workspace on the second invocation)
-            super((Refactoring)refactoring, DIALOG_BASED_USER_INTERFACE /*| CHECK_INITIAL_CONDITIONS_ON_OPEN*/);
-            setNeedsProgressMonitor(true);
-            setChangeCreationCancelable(false);
-            setWindowTitle(getRefactoring().getName());
-
-            if (customUserInputPage != null)
-                customUserInputPage.setRefactoring((T)getRefactoring());
-        }
-
-        @Override
-        protected final void addUserInputPages()
-        {
-            setDefaultPageTitle(refactoring.getName());
-            if (customUserInputPage != null)
-                addPage(customUserInputPage);
-            else if (hasAnnotatedMethods())
-                addPage(new SimpleUserInputWizardPage(refactoring.getName()));
-            else
-                addPage(new NoUserInputWizardPage(refactoring.getName()));
-        }
-
-        private boolean hasAnnotatedMethods()
-        {
-            for (Method method : refactoring.getClass().getMethods())
-            {
-                if (method.getAnnotation(UserInputString.class) != null
-                    || method.getAnnotation(UserInputBoolean.class) != null)
-                {
-                    return true;
-                }
-            }
-
-            return false;
-        }
-    }
-
-    private final class NoUserInputWizardPage extends UserInputWizardPage
-    {
-        private NoUserInputWizardPage(String name)
-        {
-            super(name);
-        }
-
-        public void createControl(Composite parent)
-        {
-            Composite top = new Composite(parent, SWT.NONE);
-            initializeDialogUnits(top);
-            setControl(top);
-
-            top.setLayout(new GridLayout(1, false));
-
-            Label lbl = new Label(top, SWT.NONE);
-            lbl.setText(
-                Messages.bind(
-                    Messages.RefactoringAction_ClickOKToRunTheRefactoring,
-                    refactoring.getName()));
-        }
-    }
-
-    private final class SimpleUserInputWizardPage extends UserInputWizardPage
-    {
-        private Control firstField = null;
-
-        private SimpleUserInputWizardPage(String name)
-        {
-            super(name);
-        }
-
-        public void createControl(Composite parent)
-        {
-            Composite top = new Composite(parent, SWT.NONE);
-            initializeDialogUnits(top);
-            setControl(top);
-
-            top.setLayout(new GridLayout(2, false));
-
-            addContolsFromAnnotatedFields(top);
-        }
-
-        private void addContolsFromAnnotatedFields(Composite group)
-        {
-            for (Method method : refactoring.getClass().getMethods())
-            {
-                UserInputString stringAnnotation = method.getAnnotation(UserInputString.class);
-                if (stringAnnotation != null)
-                {
-                    checkMethodSignature(method, String.class);
-                    String defaultValue = getDefaultValue(refactoring, stringAnnotation.defaultValueMethod());
-                    addTextField(group, stringAnnotation.label(), defaultValue, method);
-                }
-
-                UserInputBoolean annotation = method.getAnnotation(UserInputBoolean.class);
-                if (annotation != null)
-                {
-                    checkMethodSignature(method, Boolean.TYPE);
-                    addCheckBoxField(group, annotation.label(), annotation.defaultValue(), method);
-                }
-            }
-        }
-
-        private void checkMethodSignature(Method method, Class<?> parameterType)
-        {
-            if (!method.getReturnType().equals(Void.TYPE)
-                || method.getParameterTypes().length != 1
-                || !method.getParameterTypes()[0].equals(parameterType))
-            {
-                throw new IllegalArgumentException(
-                    "The method " + method.getName() + " may not have the @UserInput " + //$NON-NLS-1$ //$NON-NLS-2$
-                    "annotation unless it has the following signature:\n" + //$NON-NLS-1$
-                    "    void " + method.getName() + "(" + parameterType.getSimpleName() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-            }
-        }
-
-        private String getDefaultValue(IRefactoring refactoring, String defaultValueMethod)
-        {
-            try
-            {
-                if (defaultValueMethod != null && !defaultValueMethod.equals("")) //$NON-NLS-1$
-                {
-                    Method getter = refactoring.getClass().getMethod(defaultValueMethod);
-                    String result = getter.invoke(refactoring).toString();
-                    return result == null ? "" : result; //$NON-NLS-1$
-                }
-                else return ""; //$NON-NLS-1$
-            }
-            catch (Throwable e)
-            {
-                e.printStackTrace();
-                return ""; //$NON-NLS-1$
-            }
-        }
-
-        private void addTextField(Composite group, String label, String defaultValue, final Method method)
-        {
-            Label lbl = new Label(group, SWT.NONE);
-            lbl.setText(label);
-
-            final Text newNameField = new Text(group, SWT.BORDER);
-            newNameField.setText(defaultValue);
-            setString(method, defaultValue);
-            newNameField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-            newNameField.selectAll();
-            newNameField.addModifyListener(new ModifyListener()
-            {
-                public void modifyText(ModifyEvent e)
-                {
-                    setString(method, newNameField.getText());
-                }
-            });
-
-            if (firstField == null) firstField = newNameField;
-        }
-
-        private void setString(Method method, String value)
-        {
-            try
-            {
-                method.invoke(refactoring, value);
-            }
-            catch (Exception x)
-            {
-                throw new Error(x);
-            }
-        }
-
-        private void addCheckBoxField(Composite group, String label, boolean defaultValue, final Method method)
-        {
-            new Label(group, SWT.NONE).setText(""); //$NON-NLS-1$
-
-            final Button button = new Button(group, SWT.CHECK);
-            button.setText(label);
-            button.setSelection(defaultValue);
-            setBoolean(method, defaultValue);
-            button.addSelectionListener(new SelectionListener()
-            {
-                public void widgetDefaultSelected(SelectionEvent e)
-                {
-                    widgetSelected(e);
-                }
-
-                public void widgetSelected(SelectionEvent e)
-                {
-                    setBoolean(method, button.getSelection());
-                }
-            });
-
-            if (firstField == null) firstField = button;
-        }
-
-        private void setBoolean(Method method, boolean isChecked)
-        {
-            try
-            {
-                method.invoke(refactoring, isChecked);
-            }
-            catch (Exception x)
-            {
-                throw new Error(x);
-            }
-        }
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/messages.properties b/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/messages.properties
deleted file mode 100644
index 9be4458..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/actions/messages.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-RefactoringAction_ClickOKToRunTheRefactoring=Click OK to run the {0} refactoring.\nTo see what changes will be made, click Preview.
-RefactoringAction_UnhandledExceptionTitle=Unhandled Exception
diff --git a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/menus/RefactorableResourcePropertyTester.java b/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/menus/RefactorableResourcePropertyTester.java
deleted file mode 100644
index 4b5ce8d..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/internal/ui/menus/RefactorableResourcePropertyTester.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.menus;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.rephraserengine.ui.menus.RefactorMenu;
-
-/**
- * A property tester that returns true iff the Refactor menu for the current selection is non-empty.
- * 
- * @author Jeff Overbey
- */
-public class RefactorableResourcePropertyTester extends PropertyTester
-{
-    public boolean test(Object receiver, String property, Object[] args, Object expectedValue)
-    {
-        // This is run every time the workbench selection changes, so it needs to be very fast
-        return !new RefactorMenu().isEmpty();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/Messages.java b/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/Messages.java
deleted file mode 100644
index c6cdb8f..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.menus;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- * 
- * @since 2.0
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.ui.menus.messages"; //$NON-NLS-1$
-
-    public static String RefactorMenu_NoRefactoringsAvailable;
-
-    /** @since 3.0 */
-    public static String RefactorMenu_NoSelectedFilesAreRefactorable;
-    
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/RefactorMenu.java b/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/RefactorMenu.java
deleted file mode 100644
index fa5d6f0..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/RefactorMenu.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2011 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.menus;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.rephraserengine.core.refactorings.IEditorRefactoring;
-import org.eclipse.rephraserengine.core.refactorings.IResourceRefactoring;
-import org.eclipse.rephraserengine.core.resources.IResourceFilter;
-import org.eclipse.rephraserengine.internal.ui.actions.RefactoringAction;
-import org.eclipse.rephraserengine.ui.WorkbenchSelectionInfo;
-import org.eclipse.rephraserengine.ui.refactoring.CustomUserInputPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.actions.CompoundContributionItem;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.menus.CommandContributionItem;
-
-/**
- * A dynamically-populated set of menu items for the Refactor menu in the menu bar and for various
- * pop-up menus.
- * <p>
- * This class iterates through the contributions to the <i>refactorings</i> extension point and uses
- * them to populate the menu.
- * <ul>
- * <li> When a <i>resourceRefactoring</i> is contributed, if there is some way to get at least one
- *      {@link IResource} from the current selection in the workbench, then that refactoring is
- *      shown in the menu.
- * <li> When a <i>editorRefactoring<i> is selected, if an editor is active and there is an
- *      {@link ITextSelection} available from that editor, then that refactoring is
- *      shown in the menu.
- * <li> When a <i>command</i> is contributed, the Eclipse Platform determines how it is displayed,
- *      whether it is enabled, etc.  It is always shown in the menu, but it might be disabled
- *      depending on the current selection.
- * </ul>
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-@SuppressWarnings("restriction")
-public final class RefactorMenu extends CompoundContributionItem
-{
-    private static final String REFACTORING_EXTENSION_POINT_ID = "org.eclipse.rephraserengine.ui.refactoring.refactorings"; //$NON-NLS-1$
-
-    private WorkbenchSelectionInfo selection;
-
-    /** @since 3.0 */
-    @Override
-    public IContributionItem[] getContributionItems()
-    {
-        selection = new WorkbenchSelectionInfo();
-        LinkedList<IContributionItem> result = loadRefactoringsFromExtensionPoint();
-        return fixMenu(result);
-    }
-
-    private IContributionItem[] fixMenu(LinkedList<IContributionItem> result)
-    {
-        // The last item in a menu should never be a separator, and there
-        // should never be two separators in a row (e.g., if this menu is
-        // followed by another group of commands).  Both of those look
-        // strange, and they can be avoided by never ending the list of
-        // contribution items with a separator.
-        if (!result.isEmpty() && result.getLast() instanceof SeparatorContributionItem)
-            result.removeLast();
-
-        // Adds an informative item ("No refactorings available") when
-        // necessary, since an empty menu looks like a bug.
-        if (result.isEmpty())
-            return new IContributionItem[] { new EmptyMenuContributionItem() };
-
-        return result.toArray(new IContributionItem[result.size()]);
-    }
-
-    private LinkedList<IContributionItem> loadRefactoringsFromExtensionPoint()
-    {
-        return loadRefactoringsFrom(Platform.getExtensionRegistry().getConfigurationElementsFor(REFACTORING_EXTENSION_POINT_ID));
-    }
-
-    private LinkedList<IContributionItem> loadRefactoringsFrom(IConfigurationElement[] configs)
-    {
-        LinkedList<IContributionItem> result = new LinkedList<IContributionItem>();
-
-        for (IConfigurationElement elt : configs)
-        {
-            try
-            {
-                processConfigElt(elt, result);
-            }
-            catch (CoreException e)
-            {
-                e.printStackTrace();
-            }
-        }
-
-        return result;
-    }
-
-    private void processConfigElt(IConfigurationElement elt, LinkedList<IContributionItem> result)
-        throws CoreException
-    {
-        if (elt.getName().equals("resourceFilter")) //$NON-NLS-1$
-        {
-            IResourceFilter resourceFilter = (IResourceFilter)elt.createExecutableExtension("class"); //$NON-NLS-1$
-            selection = new WorkbenchSelectionInfo(resourceFilter); // since resourceFilter changed
-        }
-        else if (elt.getName().equals("group")) //$NON-NLS-1$
-        {
-            if (!result.isEmpty() && !(result.getLast() instanceof SeparatorContributionItem))
-                result.add(new SeparatorContributionItem());
-
-            result.addAll(loadRefactoringsFrom(elt.getChildren()));
-        }
-        else if (elt.getName().equals("submenu")) //$NON-NLS-1$
-        {
-            IContributionItem[] subitems = fixMenu(loadRefactoringsFrom(elt.getChildren()));
-            if (!isEmpty(subitems))
-            {
-                MenuManager submenu = new MenuManager(elt.getAttribute("name")); //$NON-NLS-1$
-                for (IContributionItem subitem : subitems)
-                    submenu.add(subitem);
-                result.add(submenu);
-            }
-        }
-        else if (elt.getName().equals("resourceRefactoring")) //$NON-NLS-1$
-        {
-            addResourceRefactoring(elt, result);
-        }
-        else if (elt.getName().equals("editorRefactoring")) //$NON-NLS-1$
-        {
-            addEditorRefactoring(elt, result);
-        }
-        else if (elt.getName().equals("command")) //$NON-NLS-1$
-        {
-            addCommand(elt, result);
-        }
-    }
-
-    @SuppressWarnings("rawtypes")
-    private void addResourceRefactoring(IConfigurationElement elt,
-        LinkedList<IContributionItem> result) throws CoreException
-    {
-        if (selection.someFilesAreSelected(true))
-        {
-            if (elt.getAttribute("class") != null && environmentOK(elt)) //$NON-NLS-1$
-            {
-                try
-                {
-                    IResourceRefactoring refactoring = (IResourceRefactoring)elt.createExecutableExtension("class"); //$NON-NLS-1$
-                    String label = elt.getAttribute("label"); //$NON-NLS-1$
-                    CustomUserInputPage customInputPage =
-                        elt.getAttribute("inputPage") == null //$NON-NLS-1$
-                        ? null
-                        : (CustomUserInputPage)elt.createExecutableExtension("inputPage"); //$NON-NLS-1$
-                    result.add(new ResourceRefactoringContributionItem(
-                        refactoring,
-                        label,
-                        customInputPage,
-                        selection));
-                }
-                catch (Throwable t)
-                {
-                    t.printStackTrace();
-                }
-            }
-            else if (elt.getAttribute("command") != null) //$NON-NLS-1$
-            {
-                result.add(commandContribution(elt.getAttribute("command"))); //$NON-NLS-1$
-            }
-        }
-    }
-
-    @SuppressWarnings("rawtypes")
-    private void addEditorRefactoring(IConfigurationElement elt,
-        LinkedList<IContributionItem> result) throws CoreException
-    {
-        if (selection.editingAnIFile() && selection.isTextSelectedInEditor())
-        {
-            if (elt.getAttribute("class") != null && environmentOK(elt)) //$NON-NLS-1$
-            {
-                try
-                {
-                    IEditorRefactoring refactoring = (IEditorRefactoring)elt.createExecutableExtension("class"); //$NON-NLS-1$
-                    String label = elt.getAttribute("label"); //$NON-NLS-1$
-                    CustomUserInputPage customInputPage =
-                        elt.getAttribute("inputPage") == null //$NON-NLS-1$
-                        ? null
-                        : (CustomUserInputPage)elt.createExecutableExtension("inputPage"); //$NON-NLS-1$
-                    result.add(new EditorRefactoringContributionItem(
-                        refactoring,
-                        label,
-                        customInputPage,
-                        selection.getFileInEditor(),
-                        selection.getSelectionInEditor()));
-                }
-                catch (Throwable t)
-                {
-                    t.printStackTrace();
-                }
-            }
-            else if (elt.getAttribute("command") != null) //$NON-NLS-1$
-            {
-                result.add(commandContribution(elt.getAttribute("command"))); //$NON-NLS-1$
-            }
-        }
-    }
-
-    private boolean environmentOK(IConfigurationElement elt)
-    {
-        if (elt.getAttribute("require_env") != null) //$NON-NLS-1$
-            return System.getenv(elt.getAttribute("require_env")) != null; //$NON-NLS-1$
-        else
-            return true;
-    }
-
-    private void addCommand(IConfigurationElement elt, LinkedList<IContributionItem> result)
-    {
-        result.add(commandContribution(elt.getAttribute("id"))); //$NON-NLS-1$
-    }
-
-    @SuppressWarnings("deprecation")
-    private CommandContributionItem commandContribution(String commandID)
-    {
-//        CommandContributionItemParameter param = new CommandContributionItemParameter(
-//            Workbench.getInstance().getServiceLocator(),    // Service locator
-//            null,                                           // ID
-//            commandID,                                      // Command ID
-//            CommandContributionItem.STYLE_PUSH);            // Style
-//        return new CommandContributionItem(param);
-        
-        return new CommandContributionItem(
-            Workbench.getInstance().getActiveWorkbenchWindow(), // Service locator
-            null,                                           // ID
-            commandID,                                      // Command ID
-            null,
-            null,
-            null,
-            null,
-            null,
-            null,
-            null,
-            CommandContributionItem.STYLE_PUSH);            // Style
-    }
-
-    @SuppressWarnings("rawtypes")
-    private static class ResourceRefactoringContributionItem extends ContributionItem
-    {
-        private IResourceRefactoring refactoring;
-        private String label;
-        private CustomUserInputPage customInputPage;
-        private WorkbenchSelectionInfo selection;
-
-        public ResourceRefactoringContributionItem(
-            IResourceRefactoring refactoring,
-            String label,
-            CustomUserInputPage customInputPage,
-            WorkbenchSelectionInfo selection)
-        {
-            this.refactoring = refactoring;
-            this.label = label != null ? label : refactoring.getName() + "..."; //$NON-NLS-1$
-            this.customInputPage = customInputPage;
-            this.selection = selection;
-        }
-
-        @Override public void fill(final Menu parent, int index)
-        {
-            MenuItem menuItem = new MenuItem(parent, SWT.NONE, index);
-            menuItem.setText(label);
-            menuItem.addSelectionListener(new SelectionAdapter()
-            {
-                @SuppressWarnings("unchecked")
-                @Override public void widgetSelected(SelectionEvent e)
-                {
-                    List<IFile> selectedFiles = selection.getAllFilesInSelectedResources();
-                    if (selectedFiles.isEmpty())
-                    {
-                        MessageDialog.openError(parent.getShell(), "Error", //$NON-NLS-1$
-                            Messages.RefactorMenu_NoSelectedFilesAreRefactorable);
-                    }
-                    else
-                    {
-                        refactoring.initialize(selectedFiles);
-                        new RefactoringAction(refactoring, customInputPage).run();
-                    }
-                }
-            });
-        }
-    };
-
-    @SuppressWarnings("rawtypes")
-    private static class EditorRefactoringContributionItem extends ContributionItem
-    {
-        private IEditorRefactoring refactoring;
-        private String label;
-        private CustomUserInputPage customInputPage;
-        private IFile fileInEditor;
-        private ITextSelection textSelection;
-
-        public EditorRefactoringContributionItem(
-            IEditorRefactoring refactoring,
-            String label,
-            CustomUserInputPage customInputPage,
-            IFile fileInEditor,
-            ITextSelection textSelection)
-        {
-            this.refactoring = refactoring;
-            this.label = label != null ? label : refactoring.getName() + "..."; //$NON-NLS-1$
-            this.customInputPage = customInputPage;
-            this.fileInEditor = fileInEditor;
-            this.textSelection = textSelection;
-        }
-
-        @Override public void fill(Menu parent, int index)
-        {
-            MenuItem menuItem = new MenuItem(parent, SWT.NONE, index);
-            menuItem.setText(label);
-            menuItem.addSelectionListener(new SelectionAdapter()
-            {
-                @SuppressWarnings("unchecked")
-                @Override public void widgetSelected(SelectionEvent e)
-                {
-                    refactoring.initialize(fileInEditor, textSelection);
-                    new RefactoringAction(refactoring, customInputPage).run();
-                }
-            });
-        }
-    }
-
-    private static class SeparatorContributionItem extends ContributionItem
-    {
-        @Override public void fill(Menu parent, int index)
-        {
-            new MenuItem(parent, SWT.SEPARATOR, index);
-        }
-    };
-
-    private static class EmptyMenuContributionItem extends ContributionItem
-    {
-        @Override public void fill(Menu parent, int index)
-        {
-            MenuItem item = new MenuItem(parent, SWT.NONE, index);
-            item.setText(Messages.RefactorMenu_NoRefactoringsAvailable);
-            item.setEnabled(false);
-        }
-    };
-    
-    /** @since 3.0 */
-    public boolean isEmpty()
-    {
-        return isEmpty(getContributionItems());
-    }
-
-    private boolean isEmpty(IContributionItem[] items)
-    {
-        if (items.length == 0)
-            return true;
-        else if (items.length == 1 && items[0] instanceof EmptyMenuContributionItem)
-            return true;
-        else
-            return false;
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/messages.properties b/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/messages.properties
deleted file mode 100644
index 3e9f089..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/menus/messages.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-RefactorMenu_NoRefactoringsAvailable=(No refactorings available)
-RefactorMenu_NoSelectedFilesAreRefactorable=There are no files that can be refactored in the selected folder(s).
diff --git a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/CustomUserInputPage.java b/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/CustomUserInputPage.java
deleted file mode 100644
index 7dab9c5..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/CustomUserInputPage.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.refactoring;
-
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * In a plugin.xml file, when a refactoring is contributed to the <i>refactorings</i> extension
- * point using either the <tt>resourceRefactoring</tt> or <tt>editorRefactoring</tt> tag, if
- * the <code>inputPage</code> attribute is supplied, this must be the base class of the class
- * named in that attribute.
- * <p>
- * This is essentially just a {@link UserInputWizardPage} with a no-argument constructor and a
- * field (with accessor and mutator methods) to store a refactoring.
- *
- * @author Jeff Overbey
- *
- * @param R the type of refactoring for which this wizard page provides input
- * 
- * @since 1.0
- */
-public abstract class CustomUserInputPage<R extends Refactoring> extends UserInputWizardPage
-{
-    protected R refactoring = null;
-
-    public CustomUserInputPage()
-    {
-        super(Messages.CustomUserInputPage_RefactoringTitle);
-    }
-
-    /**
-     * Sets the refactoring on which this wizard will operate.
-     *
-     * @param refactoring non-<code>null</code>
-     */
-    public final void setRefactoring(R refactoring)
-    {
-        if (refactoring == null)
-            throw new IllegalArgumentException(
-                "CustomUserInputPage#setRefactoring(R refactoring): refactoring may not be null"); //$NON-NLS-1$
-
-        this.refactoring = refactoring;
-    }
-
-    /**
-     * Returns the refactoring on which this wizard will operate.
-     *
-     * @return the refactoring on which this wizard will operate (non-<code>null</code>)
-     */
-    @Override public final R getRefactoring()
-    {
-        if (refactoring == null)
-            throw new IllegalStateException(
-                "CustomUserInputPage#getRefactoring() may not be invoked until " + //$NON-NLS-1$
-                "CustomUserInputPage#setRefactoring(R) has been invoked"); //$NON-NLS-1$
-
-        return refactoring;
-    }
-
-    public abstract void createControl(Composite parent);
-}
diff --git a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/Messages.java b/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/Messages.java
deleted file mode 100644
index 3e87ca8..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/Messages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.refactoring;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- * 
- * @since 2.0
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.ui.refactoring.messages"; //$NON-NLS-1$
-
-    public static String CustomUserInputPage_RefactoringTitle;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/messages.properties b/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/messages.properties
deleted file mode 100644
index ea9ea39..0000000
--- a/org.eclipse.rephraserengine.ui.refactoring/src/org/eclipse/rephraserengine/ui/refactoring/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-CustomUserInputPage_RefactoringTitle=Refactoring
diff --git a/org.eclipse.rephraserengine.ui.vpg/.classpath b/org.eclipse.rephraserengine.ui.vpg/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.ui.vpg/.project b/org.eclipse.rephraserengine.ui.vpg/.project
deleted file mode 100644
index c014c91..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine.ui.vpg</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.ui.vpg/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.ui.vpg/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4865a70..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,335 +0,0 @@
-#Thu May 27 11:15:39 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.ui.vpg/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.ui.vpg/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 5b28946..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed Oct 14 14:50:13 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.ui.vpg/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.ui.vpg/META-INF/MANIFEST.MF
deleted file mode 100644
index b303c79..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.rephraserengine.ui.vpg;singleton:=true
-Bundle-Version: 3.0.0.qualifier
-Bundle-Vendor: %Bundle-Vendor
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.rephraserengine.core.vpg,
- org.eclipse.rephraserengine.core,
- org.eclipse.rephraserengine.ui,
- org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.ltk.ui.refactoring,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.jface.text,
- org.eclipse.core.filebuffers
-Export-Package: org.eclipse.rephraserengine.ui,
- org.eclipse.rephraserengine.ui.actions
diff --git a/org.eclipse.rephraserengine.ui.vpg/OSGI-INF/l10n/bundle.properties b/org.eclipse.rephraserengine.ui.vpg/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 91cde47..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-#Properties file for org.eclipse.rephraserengine.ui.vpg
-actionSet.description = Refactoring Debugging Actions
-actionSet.label = Refactoring Debugging Actions
-menu.label = Refac&tor
-menu.label.0 = (&Debugging)
-action.label = Display &Error/Warning Log
-action.label.0 = &Reset Database Statistics
-action.label.1 = Display Database &Statistics
-action.label.2 = Clear and Rebuild Database
-action.label.3 = Ensure Database is Up-to-Date
-action.label.4 = Display Edge Model of Current File
-action.label.5 = Display Database
-extension-point.name = VPG
-Bundle-Vendor = Eclipse.org - Photran
-Bundle-Name = Rephraser Engine VPG User Interface Plug-in
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.vpg/about.html b/org.eclipse.rephraserengine.ui.vpg/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.vpg/build.properties b/org.eclipse.rephraserengine.ui.vpg/build.properties
deleted file mode 100644
index 8e0cc20..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               schema/,\
-               about.html,\
-               OSGI-INF/l10n/bundle.properties
-src.includes = about.html,\
-               schema/
diff --git a/org.eclipse.rephraserengine.ui.vpg/plugin.xml b/org.eclipse.rephraserengine.ui.vpg/plugin.xml
deleted file mode 100644
index 02d0987..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/plugin.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <!--===============================-->
-   <!-- VPG Extension Point -->
-   <!--===============================-->
-   <extension-point id="vpg" name="%extension-point.name" schema="schema/vpg.exsd" />
-
-   <!--=======================================-->
-   <!-- Debugging Actions in Refactoring Menu -->
-   <!--=======================================-->
-   <extension point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%actionSet.label"
-            description="%actionSet.description"
-            visible="false"
-            id="org.eclipse.rephraserengine.ui.DebugActionSet">
-         <!-- Menu mimicks org.eclipse.jdt.ui's (as does CDT's Refactor menu)
-              http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.ui/plugin.xml?view=markup -->
-         <menu
-               label="%menu.label"
-               path="edit"
-               id="org.eclipse.jdt.ui.refactoring.menu">
-                                                          <!-- JAVA REFACTORINGS IN THIS GROUP: -->
-            <separator name="undoRedoGroup"/>             <!-- ================================ -->
-            <separator name="reorgGroup"/>                <!-- Rename, Move -->
-            <separator name="codingGroup"/>               <!-- Change Signature, Extract Var/Method, Inline -->
-            <separator name="reorgGroup2"/>               <!-- Convert -->
-            <separator name="typeGroup"/>                 <!-- Extract Superclass, Pull Up, Push Down -->
-            <separator name="typeGroup2"/>                <!-- Extract Class, Intro Parameter Obj -->
-            <separator name="codingGroup2"/>              <!-- Introduce Factory, Encapsulate -->
-            <separator name="typeGroup3"/>                <!-- Generalize Type, Infer Generics -->
-            <separator name="scriptGroup"/>               <!-- Create/Apply Script, History -->
-         </menu>
-
-         <menu
-               label="%menu.label.0"
-               path="org.eclipse.jdt.ui.refactoring.menu/scriptGroup"
-               id="debugging">
-            <separator name="debugging"/>
-            <separator name="debugginginterfaces"/>
-            <separator name="vpgstats"/>
-            <separator name="vpgdb"/>
-         </menu>
-         <action
-               class="org.eclipse.rephraserengine.internal.ui.actions.DisplayVPGErrorLogAction"
-               id="org.eclipse.rephraserengine.ui.DisplayVPGErrorLogAction"
-               label="%action.label"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/debugging"/>
-         <!-- -->
-         <action
-               class="org.eclipse.rephraserengine.internal.ui.actions.ResetDBStatisticsAction"
-               id="org.eclipse.rephraserengine.ui.ResetVPGStatisticsAction"
-               label="%action.label.0"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/vpgstats"/>
-         <action
-               class="org.eclipse.rephraserengine.internal.ui.actions.DisplayDBStatisticsAction"
-               id="org.eclipse.rephraserengine.ui.DisplayVPGStatisticsAction"
-               label="%action.label.1"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/vpgstats"/>
-         <!-- -->
-         <action
-               class="org.eclipse.rephraserengine.internal.ui.actions.ClearDBAction"
-               id="org.eclipse.rephraserengine.ui.ClearVPGDatabaseAction"
-               label="%action.label.2"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/vpgdb"/>
-         <action
-               class="org.eclipse.rephraserengine.internal.ui.actions.EnsureDBUpToDateAction"
-               id="org.eclipse.rephraserengine.ui.RefreshVPGDatabaseAction"
-               label="%action.label.3"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/vpgdb"/>
-         <action
-               class="org.eclipse.rephraserengine.internal.ui.actions.DisplayModelAction"
-               id="org.eclipse.rephraserengine.ui.DisplayVPGModelAction"
-               label="%action.label.4"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/vpgdb"/>
-         <action
-               class="org.eclipse.rephraserengine.internal.ui.actions.DisplayDBAction"
-               id="org.eclipse.rephraserengine.ui.DisplayVPGDatabaseAction"
-               label="%action.label.5"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/vpgdb"/>
-      </actionSet>
-   </extension>
-
-   <!-- Associate the action set with the Resource perspective -->
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension targetID="org.eclipse.ui.resourcePerspective">
-         <actionSet id="org.eclipse.rephraserengine.ui.DebugActionSet"/>
-      </perspectiveExtension>
-   </extension>
-
-   <!--==============================================-->
-   <!-- Browse Action in Refactor > (Debugging) Menu -->
-   <!--==============================================-->
-
-   <!-- 1. Define the command -->
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="VPG Debugging Commands"
-            id="org.eclipse.rephraserengine.ui.VPGDebuggingCategory">
-      </category>
-      <command
-            name="Browse VPG"
-            categoryId="org.eclipse.rephraserengine.ui.VPGDebuggingCategory"
-            id="org.eclipse.rephraserengine.ui.BrowseCommand">
-      </command>
-   </extension>
-
-   <!-- 2. Optionally associate the command with an accelerator key -->
-   <!--  win32:  M1=CTRL,    M2=SHIFT, M3=ALT, M4=-
-         carbon: M1=COMMAND, M2=SHIFT, M3=ALT, M4=CTRL -->
-   <extension
-         point="org.eclipse.ui.bindings">
-     <key
-            sequence="M1+M2+M3+B"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            commandId="org.eclipse.rephraserengine.ui.BrowseCommand"
-     />
-   </extension>
-
-   <!-- 3. Define an action set -->
-   <extension point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="VPG Browser Action"
-            description="VPG Browser Action"
-            visible="false"
-            id="org.eclipse.rephraserengine.ui.vpg.BrowserActionSet">
-         <action
-               class="org.eclipse.rephraserengine.internal.ui.browser.BrowseDBAction"
-               id="org.eclipse.rephraserengine.ui.BrowseVPGDatabaseAction"
-               definitionId="org.eclipse.rephraserengine.ui.BrowseCommand"
-               label="Browse VPG Database"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/debugging/vpgdb"/>
-      </actionSet>
-   </extension>
-
-   <!-- 4. Associate the action set with the Resource perspective -->
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension targetID="org.eclipse.ui.resourcePerspective">
-         <actionSet id="org.eclipse.rephraserengine.ui.vpg.BrowserActionSet"/>
-      </perspectiveExtension>
-   </extension>
-
-
-   <!--=========================================================================-->
-   <!-- Refactoring Status Context Viewer for PostTransformationContext Objects -->
-   <!--=========================================================================-->
-   <extension
-         point="org.eclipse.ltk.ui.refactoring.statusContextViewers">
-      <statusContextViewer
-            class="org.eclipse.rephraserengine.internal.ui.preservation.PostTransformationStatusContextViewer"
-            id="org.eclipse.rephraserengine.ui.vpg.postTransformationStatusContextViewer">
-         <enablement>
-            <instanceof value="org.eclipse.rephraserengine.core.preservation.PostTransformationContext"/>
-         </enablement>
-      </statusContextViewer>
-   </extension>
-</plugin>
diff --git a/org.eclipse.rephraserengine.ui.vpg/schema/vpg.exsd b/org.eclipse.rephraserengine.ui.vpg/schema/vpg.exsd
deleted file mode 100644
index f0a1978..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/schema/vpg.exsd
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.rephraserengine.ui.vpg" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.rephraserengine.ui.vpg" id="vpg" name="VPG"/>
-      </appInfo>
-      <documentation>
-         Allows plug-ins to contribute a VPG to the common Rephraser Engine action set.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element />
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="vpg"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="vpg">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.rephraserengine.ui.IEclipseVPGFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-            &lt;!-- This will automatically add some actions to the (Debugging) sub-menu of the Refactor
-        menu in the menu bar, such as Display VPG Database, Refresh VPG Database, etc. --&gt;
-   &lt;extension
-         point=&quot;org.eclipse.rephraserengine.ui.vpg.vpg&quot;&gt;
-      &lt;vpg
-         id=&quot;org.eclipse.photran.ui.vpg&quot;
-         name=&quot;Fortran&quot;
-         class=&quot;org.eclipse.photran.internal.ui.PhotranVPGContribution&quot; /&gt;
-   &lt;/extension&gt;
-
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiinfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/ClearDBAction.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/ClearDBAction.java
deleted file mode 100644
index 5a26bf7..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/ClearDBAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.actions.VPGWindowActionDelegate;
-
-/**
- * Implements the Clear and Rebuild VPG Database action in the Refactor/(Debugging) menu
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-public class ClearDBAction extends VPGWindowActionDelegate
-{
-    @Override
-    protected void run(EclipseVPG vpg, IProgressMonitor progressMonitor) throws Exception
-    {
-        progressMonitor.beginTask(Messages.ClearDBAction_ClearingAndRebuildingDatabase, IProgressMonitor.UNKNOWN);
-
-        vpg.clearDatabase();
-        vpg.queueJobToEnsureVPGIsUpToDate();
-
-        progressMonitor.done();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayDBAction.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayDBAction.java
deleted file mode 100644
index 1901465..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayDBAction.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.actions;
-
-import java.io.PrintStream;
-
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.actions.VPGOutputWindowAction;
-
-/**
- * Implements the Display VPG Database action in the Refactor/(Debugging) menu
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-public class DisplayDBAction extends VPGOutputWindowAction
-{
-    @Override
-    protected void writeOutput(EclipseVPG vpg, PrintStream ps)
-    {
-        vpg.printDatabaseOn(ps);
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayDBStatisticsAction.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayDBStatisticsAction.java
deleted file mode 100644
index 4432390..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayDBStatisticsAction.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.actions;
-
-import java.io.PrintStream;
-
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.actions.VPGOutputWindowAction;
-
-/**
- * Implements the Display VPG Statistics action in the Refactor/(Debugging) menu
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-public class DisplayDBStatisticsAction extends VPGOutputWindowAction
-{
-    @Override
-    protected void writeOutput(EclipseVPG vpg, PrintStream ps)
-    {
-        vpg.printDatabaseStatisticsOn(ps);
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayModelAction.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayModelAction.java
deleted file mode 100644
index c0a8f65..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayModelAction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.actions;
-
-import java.io.PrintStream;
-
-import org.eclipse.rephraserengine.core.preservation.PreservationAnalysis;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.WorkbenchSelectionInfo;
-import org.eclipse.rephraserengine.ui.actions.VPGOutputWindowAction;
-
-/**
- * Implements the Display Edge Model action in the Refactor/(Debugging) menu
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-public class DisplayModelAction extends VPGOutputWindowAction
-{
-    @Override
-    protected void writeOutput(EclipseVPG vpg, PrintStream ps)
-    {
-        try
-        {
-            WorkbenchSelectionInfo info = new WorkbenchSelectionInfo();
-            if (!info.editingAnIFile() || !PreservationAnalysis.printModelOn(ps, info.getFileInEditor(), vpg))
-                ps.print(Messages.DisplayModelAction_EditorMustBeOpen);
-        }
-        catch (Exception e)
-        {
-            ps.print(Messages.DisplayModelAction_AnErrorOccurred + "\n"); //$NON-NLS-1$
-            e.printStackTrace(ps);
-        }
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayVPGErrorLogAction.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayVPGErrorLogAction.java
deleted file mode 100644
index 8f9e2c2..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/DisplayVPGErrorLogAction.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.actions;
-
-import java.io.PrintStream;
-
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.actions.VPGOutputWindowAction;
-
-/**
- * Implements the Display VPG Database action in the Refactor/(Debugging) menu
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-public class DisplayVPGErrorLogAction extends VPGOutputWindowAction
-{
-    @Override
-    protected void writeOutput(EclipseVPG vpg, PrintStream ps)
-    {
-        vpg.getLog().printOn(ps);
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/EnsureDBUpToDateAction.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/EnsureDBUpToDateAction.java
deleted file mode 100644
index 9357646..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/EnsureDBUpToDateAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.actions.VPGWindowActionDelegate;
-
-/**
- * Implements the Refresh VPG Database action in the Refactor/(Debugging) menu
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-public class EnsureDBUpToDateAction extends VPGWindowActionDelegate
-{
-    @Override
-    protected void run(EclipseVPG vpg, IProgressMonitor progressMonitor) throws Exception
-    {
-        progressMonitor.beginTask(Messages.EnsureDBUpToDateAction_RefreshingDatabase, IProgressMonitor.UNKNOWN);
-        vpg.queueJobToEnsureVPGIsUpToDate();
-        progressMonitor.done();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/Messages.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/Messages.java
deleted file mode 100644
index 4ed7c1e..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.actions;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.internal.ui.actions.messages"; //$NON-NLS-1$
-
-    public static String ClearDBAction_ClearingAndRebuildingDatabase;
-
-    public static String DisplayModelAction_AnErrorOccurred;
-
-    public static String DisplayModelAction_EditorMustBeOpen;
-
-    public static String EnsureDBUpToDateAction_RefreshingDatabase;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/ResetDBStatisticsAction.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/ResetDBStatisticsAction.java
deleted file mode 100644
index 9bdfc56..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/ResetDBStatisticsAction.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.actions;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.actions.VPGWindowActionDelegate;
-
-/**
- * Implements the Reset Database Statistics action in the Refactor/(Debugging) menu
- *
- * @author Jeff Overbey
- *
- * @since 1.0
- */
-public class ResetDBStatisticsAction extends VPGWindowActionDelegate
-{
-    @Override
-    protected void run(EclipseVPG vpg, IProgressMonitor progressMonitor) throws Exception
-    {
-        vpg.resetDatabaseStatistics();
-    }
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/messages.properties b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/messages.properties
deleted file mode 100644
index 367fc3e..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/actions/messages.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-ClearDBAction_ClearingAndRebuildingDatabase=Clearing and rebuilding database
-DisplayModelAction_AnErrorOccurred=An error occurred:
-DisplayModelAction_EditorMustBeOpen=Please open in the file in the editor before invoking this action.
-EnsureDBUpToDateAction_RefreshingDatabase=Refreshing database
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/AnnotationsTab.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/AnnotationsTab.java
deleted file mode 100644
index 5ff7758..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/AnnotationsTab.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    Abhishek Sharma, UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.rephraserengine.internal.ui.browser;

-

-import java.util.ArrayList;

-import java.util.Collections;

-import java.util.HashMap;

-import java.util.HashSet;

-import java.util.List;

-import java.util.Set;

-

-import org.eclipse.jface.resource.JFaceResources;

-import org.eclipse.rephraserengine.core.util.Pair;

-import org.eclipse.rephraserengine.core.vpg.IVPGNode;

-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.CaretEvent;

-import org.eclipse.swt.custom.CaretListener;

-import org.eclipse.swt.custom.SashForm;

-import org.eclipse.swt.custom.StyledText;

-import org.eclipse.swt.events.PaintEvent;

-import org.eclipse.swt.events.PaintListener;

-import org.eclipse.swt.graphics.Rectangle;

-import org.eclipse.swt.layout.FillLayout;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.swt.widgets.TabFolder;

-import org.eclipse.swt.widgets.TabItem;

-import org.eclipse.swt.widgets.Text;

-

-/**

- * The Annotations tab in the VPG Browser.

- * 

- * @author Abhishek Sharma

- */

-class AnnotationsTab

-{

-    private EclipseVPG vpg;

-    private TabItem annotations;

-    private SashForm annotationsSash;

-    private StyledText styledText;

-    private TabFolder annotationsTabFolder;

-    private Composite composite ;

-    private Label label;

-    private String filename;

-    private List<Pair<? extends IVPGNode, Integer>> annotationsInFile;

-    private Set<Pair<? extends IVPGNode, Integer>> annotationsToShow;

-    private HashMap<Integer, TabItem> hashMap;   //to decide which tab to display the annotation in depending upon the type

-    

-    public AnnotationsTab(TabItem annotations, TabFolder tabFolder, EclipseVPG vpg)

-    {

-        this.annotations = annotations;

-        this.annotationsInFile = Collections.emptyList();

-        this.annotationsToShow = Collections.emptySet();

-        this.vpg = vpg;

-        this.hashMap = new HashMap<Integer, TabItem>();

-        createControls(tabFolder);

-    }

-

-    

-    private void createControls(TabFolder tabFolder)

-    {

-        createHorizontalSash(tabFolder);

-        createStyledText();

-        createComposite();

-        createAnnotationsTabFolder();

-        createLabel();

-    }

-

-    private void createComposite()

-    {

-        composite = new Composite(annotationsSash,SWT.NONE);

-        GridLayout layout = new GridLayout();

-        layout.numColumns = 1;

-        composite.setLayout(layout);   

-    }

-

-    private void createAnnotationsTabFolder()

-    {

-        annotationsTabFolder = new TabFolder(composite, SWT.NULL | SWT.FILL);

-        annotationsTabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL,true,true));

-    }

-

-    private void createLabel()

-    {

-        label = new Label(composite,SWT.NONE);

-        label.setText(""); //$NON-NLS-1$

-        label.setLayoutData(new GridData(SWT.LEFT,SWT.TOP,false,false));  

-    }

-    

-    private void createNewTab(int annotationType, String description)

-    {

-        if (!hashMap.containsKey(annotationType))

-        {

-            TabItem tabItem = new TabItem(annotationsTabFolder, SWT.NULL);

-            tabItem.setText(description);

-            hashMap.put(annotationType, tabItem);

-        }

-    }

-

-    private void createHorizontalSash(TabFolder tabFolder)

-    {

-        annotationsSash = new SashForm(tabFolder, SWT.VERTICAL);

-        annotationsSash.setLayout(new FillLayout());

-        annotationsSash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

-        annotations.setControl(annotationsSash);

-    }

-

-    private void createStyledText()

-    {

-        styledText = new StyledText(annotationsSash, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL

-                                    | SWT.READ_ONLY);

-

-        GridData gridData = new GridData();

-        gridData.horizontalAlignment = GridData.FILL;

-        gridData.verticalAlignment = GridData.FILL;

-        gridData.grabExcessVerticalSpace = true;

-        gridData.grabExcessHorizontalSpace = true;

-        gridData.horizontalSpan = 3;

-        gridData.verticalSpan = 1;

-        styledText.setLayoutData(gridData);

-

-        styledText.setFont(JFaceResources.getTextFont());

-        styledText.addPaintListener(new RectanglePainter(styledText));

-        styledText.addCaretListener(new ShowEdgeCaretListener());

-

-    }

-

-    @SuppressWarnings("unchecked")

-    public void showAnnotations(String filename)

-    {

-        this.filename = filename;

-        Object ast = vpg.acquireTransientAST(filename);

-        

-        if (ast == null)

-            styledText.setText(Messages.bind(Messages.AnnotationsTab_UnableToParse, filename));

-        else

-            styledText.setText(vpg.getSourceCodeFromAST(ast));

-

-        annotationsInFile = new ArrayList<Pair<? extends IVPGNode, Integer>>();

-       

-        for (Pair<? extends IVPGNode, Integer> pair :

-                (Iterable<Pair<? extends IVPGNode, Integer>>)vpg.getAllAnnotationsFor(filename))

-        {

-            annotationsInFile.add(pair);

-        }

-

-        for (Pair<? extends IVPGNode, Integer> pair : annotationsInFile)

-        {

-            createNewTab(pair.snd, vpg.describeAnnotationType(pair.snd));

-        }

-    }

-

-    private final class ShowEdgeCaretListener implements CaretListener

-    {

-        private Set<Pair<? extends IVPGNode, Integer>> collectSelectedAnnotations(int caretOffset)

-        {

-            // if the care offset happens to be within the edge 

-            //then add the edge to the edgesToShow list

-            HashSet<Pair<? extends IVPGNode, Integer>> AnnotationsToShow = new HashSet<Pair<? extends IVPGNode, Integer>>();

-          

-            for (Pair<? extends IVPGNode, Integer> pair : annotationsInFile)

-            {

-                IVPGNode tokenRef = pair.fst;

-

-                if (tokenRef.getOffset() <= caretOffset && tokenRef.getEndOffset() >= caretOffset)

-                    AnnotationsToShow.add(pair);

-

-            }

-            return AnnotationsToShow;

-        }

-

-        public void caretMoved(CaretEvent event)

-        {

-            annotationsToShow = collectSelectedAnnotations(event.caretOffset);

-            displayAnnotations();

-            displayCaretInformation(event);

-            styledText.redraw();

-        }

-

-        private void displayAnnotations()

-        {

-            Text blankText = new Text(annotationsTabFolder, SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI

-                                        | SWT.READ_ONLY);

-            blankText.setText(Messages.AnnotationsTab_NoAnnotationsToShow);

-          

-            for (int type : hashMap.keySet())

-            {

-                hashMap.get(type).setControl(blankText);

-            }

-            

-            for (Pair<? extends IVPGNode, Integer> pair : annotationsToShow)

-            {

-                IVPGNode tokenRef = pair.fst;

-                int annotationType = pair.snd;

-                Text textField = new Text(annotationsTabFolder, SWT.V_SCROLL | SWT.H_SCROLL

-                                          | SWT.MULTI | SWT.READ_ONLY);

-                textField.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

-                String text = tokenRef.getAnnotation(annotationType).toString();

-                textField.setText(text);

-                hashMap.get(annotationType).setControl(textField);

-            }

-

-        }

-        private void displayCaretInformation(CaretEvent event)

-        { 

-            int caretLine = styledText.getLineAtOffset(styledText.getCaretOffset());

-            int lineOffset = styledText.getOffsetAtLine(caretLine);

-            int caretOffset = styledText.getCaretOffset();

-            int caretColumn = caretOffset-lineOffset+1 ; 

-           

-            label.setText(

-                Messages.bind(Messages.AnnotationsTab_LineColOffset, new Object[] {

-                    caretLine+1,

-                    caretColumn,

-                    styledText.getCaretOffset() }));

-            label.pack();

-        }

-    }

-

-    private final class RectanglePainter implements PaintListener

-    {

-        @SuppressWarnings("unused")

-        private final StyledText styledText;

-

-        private RectanglePainter(StyledText styledText)

-        {

-            this.styledText = styledText;

-        }

-

-        public void paintControl(PaintEvent e)

-        {

-            for (Pair<? extends IVPGNode, Integer> pair : annotationsInFile)

-            {

-                IVPGNode tokenRef = pair.fst;

-                if (tokenRef.getFilename().equals(filename))

-                    drawRectangle(e, tokenRef.getOffset(), tokenRef.getEndOffset());

-            }

-        }

-

-    }

-

-    private Rectangle drawRectangle(PaintEvent e, int startOffset, int endOffset)

-    {

-        if (isValid(startOffset) && isValid(endOffset))

-        {

-            Rectangle srcRect = styledText.getTextBounds(startOffset, Math.max(startOffset, Math.max(0, endOffset - 1)));

-            e.gc.drawRectangle(srcRect);

-            return srcRect;

-        }

-        else

-            return null;

-    }

-

-    private boolean isValid(int offset)

-    {

-        return offset >= 0 && offset < styledText.getCharCount();

-    }

-

-}

diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/BrowseDBAction.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/BrowseDBAction.java
deleted file mode 100644
index f34a2af..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/BrowseDBAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Jeff Overbey, UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.browser;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.actions.VPGWindowActionDelegate;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Implements the Browse VPG Database action in the Refactor/(Debugging) menu
- *
- * @author Jeff Overbey
- */
-public class BrowseDBAction extends VPGWindowActionDelegate implements Runnable
-{
-    private EclipseVPG vpg;
-
-    @Override
-    protected void run(EclipseVPG vpg, IProgressMonitor progressMonitor) throws Exception
-    {
-        this.vpg = vpg;
-        Display.getDefault().asyncExec(this);
-    }
-
-    public void run()
-    {
-        new VPGBrowser(this.vpg).open();
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/DependenciesTab.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/DependenciesTab.java
deleted file mode 100644
index 27c8e06..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/DependenciesTab.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    Abhishek Sharma, UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.rephraserengine.internal.ui.browser;

-

-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.layout.FillLayout;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Group;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.swt.widgets.List;

-import org.eclipse.swt.widgets.TabFolder;

-import org.eclipse.swt.widgets.TabItem;

-import org.eclipse.swt.widgets.Text;

-

-/**

- * The Dependencies tab in the VPG Browser.

- * 

- * @author Abhishek Sharma

- */

-class DependenciesTab

-{

-    private List incomingDependenciesList;

-    private List outgoingDependenciesList;

-    private Text fileNameTextBox;

-    private Text timestampTextBox;

-

-    public DependenciesTab(TabItem dependenciesTab, TabFolder tabfolder)

-    {

-        Composite composite = new Composite(tabfolder, SWT.NONE);

-        GridLayout layout = new GridLayout();

-        layout.numColumns = 2;

-        composite.setLayout(layout);

-       

-        createDependentsList(composite);

-        createFileNameField(composite);

-        createTimeStampField(composite);

-        createDependenciesList(composite);

-

-        dependenciesTab.setControl(composite);

-    }

-

-    /**

-     * Creates the group that shows files dependent on the selected file.

-     * Consists of a group that contains a list.

-     */

-    private void createDependentsList(Composite composite)

-    {

-        Group group = new Group(composite, SWT.NULL);

-        group.setLayout(new FillLayout());

-        group.setText(Messages.DependenciesTab_FilesThatDependOnTheSelectedFile);

-

-        GridData gridData = new GridData();

-        gridData.horizontalAlignment = GridData.FILL;

-        gridData.verticalAlignment = GridData.FILL;

-        gridData.grabExcessVerticalSpace = true;

-        gridData.grabExcessHorizontalSpace = true;

-        gridData.horizontalSpan = 2;

-        group.setLayoutData(gridData);

-

-        incomingDependenciesList = new List(group, SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL);

-    }

-

-    private void createFileNameField(Composite composite)

-    {

-        Label label = new Label(composite, SWT.NONE);

-        label.setText(Messages.DependenciesTab_FileName);

-

-        fileNameTextBox = new Text(composite, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);

-        fileNameTextBox.setBounds(100, 100, 100, 100);

-        fileNameTextBox.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));

-    }

-

-    private void createTimeStampField(Composite composite)

-    {

-        Label label = new Label(composite, SWT.NONE);

-        label.setText(Messages.DependenciesTab_TimeStamp);

-

-        timestampTextBox = new Text(composite, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);

-        timestampTextBox.setBounds(100, 100, 100, 100);

-        timestampTextBox.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));

-    }

-

-

-    /**

-     * Creates the group that shows the files

-     * that the current file depends on. Consists of a group that contains a list.

-     */

-    private void createDependenciesList(Composite composite)

-    {

-        Group group = new Group(composite, SWT.NULL);

-        group.setLayout(new FillLayout());

-        group.setText(Messages.DependenciesTab_FilesTheSelectedFileDependsOn);

-

-        outgoingDependenciesList = new List(group, SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL);

-

-        GridData gridData = new GridData();

-        gridData.horizontalAlignment = GridData.FILL;

-        gridData.verticalAlignment = GridData.FILL;

-        gridData.grabExcessVerticalSpace = true;

-        gridData.grabExcessHorizontalSpace = true;

-        gridData.horizontalSpan = 2;

-        group.setLayoutData(gridData);

-    }

-

-    /**

-     * Once a file is selected, clears whatever was previously in the dependents and dependencies

-     * section and shows data related to the current file. Dependents and Dependencies are pulled

-     * from the database.

-     */

-    @SuppressWarnings("unchecked")

-    public void showDependentsAndDependencies(String filename, EclipseVPG vpg)

-    {

-        incomingDependenciesList.removeAll();

-        outgoingDependenciesList.removeAll();

-

-        fileNameTextBox.setText(filename);

-

-        for (String dependentFile : (Iterable<String>)vpg.getIncomingDependenciesTo(filename))

-            incomingDependenciesList.add(dependentFile);

-

-        for (String dependentFile : (Iterable<String>)vpg.getOutgoingDependenciesFrom(filename))

-            outgoingDependenciesList.add(dependentFile);

-    }

-}

diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/EdgeArrow.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/EdgeArrow.java
deleted file mode 100644
index ae5cabb..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/EdgeArrow.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    Abhishek Sharma, UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.rephraserengine.internal.ui.browser;

-

-import org.eclipse.swt.graphics.GC;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.graphics.Rectangle;

-

-/**

- * An edge in the {@link EdgesTab}.

- * 

- * @author Abhishek Sharma

- */

-class EdgeArrow

-{

-    public static final int arrowAngle = 30;

-    public static final int arrowLength = 15;

-

-    private Point source;

-    private Point target;

-    private Point midpoint;

-    private Double angle;

-

-    public EdgeArrow(Rectangle srcRect, Rectangle sinkRect)

-    {

-        setTargetAndSourcePoint(srcRect, sinkRect);

-        setMidpoint();

-        setAngleBetweenLineAndXAxis();

-    }

-

-    private void setTargetAndSourcePoint(Rectangle srcRect, Rectangle sinkRect)

-    {

-        if (srcRect.y < sinkRect.y)

-        {

-            target = new Point(sinkRect.x, sinkRect.y);

-            source = new Point(srcRect.x, srcRect.y + srcRect.height);

-

-        }

-        else if (srcRect.y > sinkRect.y)

-        {

-            target = new Point(sinkRect.x, sinkRect.y + sinkRect.height);

-            source = new Point(srcRect.x, srcRect.y);

-        }

-        else

-        {

-            target = new Point(sinkRect.x, (sinkRect.height) / 2 + sinkRect.y);

-            source = new Point(srcRect.x, (srcRect.height) / 2 + srcRect.y);

-        }

-    }

-

-    private void setMidpoint()

-    {

-        midpoint = new Point((source.x + target.x) / 2, (target.y + source.y) / 2);

-    }

-

-    private void setAngleBetweenLineAndXAxis()

-    {

-        // atan2 -returns the angle between the line drawn between the source and sink rectangles

-        // and the positive x-axis

-        angle = Math.atan2((target.y - source.y), (target.x - source.x));

-    }

-

-    public void drawOn(GC gc)

-    {

-        drawLine(gc);

-        drawArrow(gc);

-    }

-

-    private void drawLine(GC gc)

-    {

-        gc.drawLine(source.x, source.y, target.x, target.y);

-    }

-

-    private void drawArrow(GC gc)

-    {

-        int degreesBetweenArrowsAndLine = getDegrees(angle) + arrowAngle + 180;

-        double radiansBetweenArrowsAndLine = getRadians(degreesBetweenArrowsAndLine);

-

-        Point arrowPoint1 = new Point(midpoint.x

-            + (int)(arrowLength * Math.cos(radiansBetweenArrowsAndLine)), midpoint.y

-            + (int)(arrowLength * Math.sin(radiansBetweenArrowsAndLine)));

-

-        // refers to the degrees between the second arrowpoint and the line between source and sink

-        degreesBetweenArrowsAndLine = getDegrees(angle) - arrowAngle + 180;

-        radiansBetweenArrowsAndLine = getRadians(degreesBetweenArrowsAndLine);

-

-        // sets the x and y coordinates of arrowpoint1 in the direction obtained from the degrees

-        // calculated

-        // relative to the line drawn between source and sink rectangle

-        Point arrowPoint2 = new Point(midpoint.x

-            + (int)(arrowLength * Math.cos(radiansBetweenArrowsAndLine)), midpoint.y

-            + (int)(arrowLength * Math.sin(radiansBetweenArrowsAndLine)));

-

-        gc.setLineWidth(gc.getLineWidth() + 2);

-        gc.drawLine(midpoint.x, midpoint.y, arrowPoint1.x, arrowPoint1.y);

-        gc.drawLine(midpoint.x, midpoint.y, arrowPoint2.x, arrowPoint2.y);

-        gc.setLineWidth(gc.getLineWidth() - 2);

-    }

-

-    private double getRadians(double d)

-    {

-        return (d) * Math.PI / 180;

-    }

-

-    private int getDegrees(Double radians)

-    {

-        double degrees = (180 / Math.PI) * radians;

-        return (int)(degrees);

-    }

-}

diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/EdgesTab.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/EdgesTab.java
deleted file mode 100644
index e057206..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/EdgesTab.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    Abhishek Sharma, UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.rephraserengine.internal.ui.browser;

-

-import java.util.ArrayList;

-import java.util.Collections;

-import java.util.HashSet;

-import java.util.List;

-import java.util.Set;

-

-import org.eclipse.jface.resource.JFaceResources;

-import org.eclipse.rephraserengine.core.vpg.IVPGNode;

-import org.eclipse.rephraserengine.core.vpg.VPGEdge;

-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.CaretEvent;

-import org.eclipse.swt.custom.CaretListener;

-import org.eclipse.swt.custom.StyledText;

-import org.eclipse.swt.events.PaintEvent;

-import org.eclipse.swt.events.PaintListener;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.events.SelectionListener;

-import org.eclipse.swt.graphics.Color;

-import org.eclipse.swt.graphics.GC;

-import org.eclipse.swt.graphics.RGB;

-import org.eclipse.swt.graphics.Rectangle;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.swt.widgets.Menu;

-import org.eclipse.swt.widgets.MenuItem;

-import org.eclipse.swt.widgets.TabFolder;

-import org.eclipse.swt.widgets.TabItem;

-

-/**

- * The Edges tab in the VPG Browser.

- * 

- * @author Abhishek Sharma

- */

-class EdgesTab

-{

-    private TabItem edges;

-    private Composite composite;

-    private StyledText styledText;

-    private Button showAll;

-    private Button showSelected;

-    private Button edgeButton ;

-    private String filename;

-    private List<VPGEdge<?,?,?>> edgesInFile;

-    private Set<VPGEdge<?,?,?>> showEdges;

-    private EclipseVPG vpg;

-    private Set<Integer> edgeTypes;

-    private Set<Integer> edgeTypesToShow;

-    private List<Color> color ;

-    private Label label;

-

-    public EdgesTab(TabItem edges, TabFolder tabFolder, EclipseVPG vpg)

-    {

-        this.vpg = vpg ;

-        this.filename = null;

-        this.edgesInFile = Collections.emptyList();

-        this.showEdges = Collections.emptySet();

-        this.edges = edges;

-        this.edgeTypes = Collections.emptySet();

-        this.edgeTypesToShow = new HashSet<Integer>();

-        this.color = Collections.emptyList();

-       

-        color = new ArrayList<Color>();

-        addColors();

-        createControls(tabFolder);   

-    }

-

-    /** Adds three new colors red,green and blue to the color list

-     * 

-     */

-    private void addColors()

-    {

-        //Adds three new colors red,green and blue to the color list

-        color.add(new Color(null, new RGB(192,0,0)));

-        color.add(new Color(null, new RGB(0,192,0)));

-        color.add(new Color(null, new RGB(0,0,192)));

-    }

-

-    private void createControls(TabFolder tabfolder)

-    {

-        createComposite(tabfolder);

-        createRadioButtons();

-        createEdgesMenu();

-        createStyledText();

-        createLabel();   

-    }

-

-   

-    private void createLabel()

-    {

-        label= new Label(composite, SWT.NONE);

-        label.setText(""); //$NON-NLS-1$

-    }

-

-    private void createEdgesMenu()

-    {

-        edgeButton = new Button(composite, SWT.FLAT);

-        edgeButton.setText(Messages.EdgesTab_EdgeTypes);

-        edgeButton.addSelectionListener(new ShowEdgeTypesMenu());

-    }

-    

-    private class ShowEdgeTypesMenu implements SelectionListener

-    {

-        public void widgetSelected(SelectionEvent e)

-        {

-            Menu popupMenu = new Menu(edgeButton);

-            

-            //This loop creates the Menu items and adds them to the menu.The Menu items

-            //are the types of edges present in the file

-            for (Integer type : edgeTypes)

-            {

-                MenuItem menuItem = new MenuItem(popupMenu, SWT.CHECK);

-                menuItem.setText(vpg.describeEdgeType(type));

-                menuItem.addSelectionListener(new MenuItemSelectionListener(type));

-                menuItem.setSelection(edgeTypesToShow.contains(type));

-            }

-            

-            new MenuItem(popupMenu, SWT.SEPARATOR);

-            

-            MenuItem menuItem = new MenuItem(popupMenu, SWT.CHECK);

-            menuItem.setText(Messages.EdgesTab_ShowAllEdges);

-            menuItem.addSelectionListener(new SelectAllSelectionListener());

-            popupMenu.setVisible(true);

-

-            while (!popupMenu.isDisposed() && popupMenu.isVisible())

-                if (!popupMenu.getDisplay().readAndDispatch())

-                    popupMenu.getDisplay().sleep();

-            popupMenu.dispose();

-        }

-

-        public void widgetDefaultSelected(SelectionEvent e)

-        {

-            widgetSelected(e);

-        }

-    }

-

-    private class MenuItemSelectionListener implements SelectionListener

-    {

-        private int edgeType;

-        

-        public MenuItemSelectionListener(int type)

-        {

-            this.edgeType = type;     

-        }

-

-        public void widgetSelected(SelectionEvent e)

-        {

-          //If the menu item has already been selected and clicked on once again

-          //de-select it

-            if (edgeTypesToShow.contains(edgeType)){

-                edgeTypesToShow.remove(edgeType);

-                

-            }

-            else

-                edgeTypesToShow.add(edgeType);

-            

-            styledText.redraw();

-        }

-

-        public void widgetDefaultSelected(SelectionEvent e)

-        {

-            widgetSelected(e);

-        }

-    }

-

-    private class SelectAllSelectionListener implements SelectionListener{

-        

-        public SelectAllSelectionListener(){

-            

-        }

-

-        /* (non-Javadoc)

-         * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)

-         */

-        public void widgetSelected(SelectionEvent e)

-        {

-            edgeTypesToShow.addAll(edgeTypes);   

-            showEdges = collectSelectedEdges(styledText.getCaretOffset());

-            styledText.redraw();

-        }

-

-        /* (non-Javadoc)

-         * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)

-         */

-        public void widgetDefaultSelected(SelectionEvent e)

-        {

-            widgetSelected(e);

-            

-        }

-    }

-

-    private Set<VPGEdge<?,?,?>> collectSelectedEdges(int caretOffset)

-    {

-       //if the care offset happens to be within the edge then add the edge to the edgesToShow list

-        HashSet<VPGEdge<?,?,?>> edgesToShow = new HashSet<VPGEdge<?,?,?>>();

-        for (VPGEdge<?,?,?> edge : edgesInFile)

-        {

-            if (edge.getSource().getOffset() <= caretOffset

-                && edge.getSource().getEndOffset() >= caretOffset)

-            {

-                edgesToShow.add(edge);

-            }

-            else if (edge.getSink().getOffset() <= caretOffset

-                && edge.getSink().getEndOffset() >= caretOffset)

-            {

-                edgesToShow.add(edge);

-            }

-        }

-        return edgesToShow;

-    }

-

-    private void createComposite(TabFolder tabfolder)

-    {

-        GridLayout layout = new GridLayout();

-        layout.numColumns = 3;

-        composite = new Composite(tabfolder, SWT.NONE);

-        composite.setLayout(layout);

-        edges.setControl(composite);

-    }

-

-    private void createRadioButtons()

-    {

-        createShowAllButton();

-        createShowSelectedButton();

-    }

-

-    private void createShowAllButton()

-    {

-        showAll = new Button(composite, SWT.RADIO);

-        showAll.setText(Messages.EdgesTab_ShowAllEdges);

-        showAll.setSelection(false);

-        showAll.addSelectionListener(new RadioButtonSelectionListener());

-    }

-

-    private void createShowSelectedButton()

-    {

-        showSelected = new Button(composite, SWT.RADIO);

-        showSelected.setText(Messages.EdgesTab_ShowSelectedEdges);

-        showSelected.setSelection(true);

-        showSelected.addSelectionListener(new RadioButtonSelectionListener());

-    }

-

-    private final class RadioButtonSelectionListener implements SelectionListener

-    {

-        public void widgetSelected(SelectionEvent e)

-        {

-            styledText.redraw();

-        }

-

-        public void widgetDefaultSelected(SelectionEvent e)

-        {

-            widgetSelected(e);

-        }

-    }

-

-    private void createStyledText()

-    {

-        styledText = new StyledText(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.READ_ONLY);

-

-        GridData gridData = new GridData();

-        gridData.horizontalAlignment = GridData.FILL;

-        gridData.verticalAlignment = GridData.FILL;

-        gridData.grabExcessVerticalSpace = true;

-        gridData.grabExcessHorizontalSpace = true;

-        gridData.horizontalSpan = 3;

-        gridData.verticalSpan = 1;

-        styledText.setLayoutData(gridData);

-

-        styledText.setFont(JFaceResources.getTextFont());

-        styledText.addPaintListener(new EdgePainter(styledText));

-        styledText.addCaretListener(new ShowEdgeCaretListener());  

-    }

-

-    private final class ShowEdgeCaretListener implements CaretListener

-    {

-        

-        public void caretMoved(CaretEvent event)

-        {

-            showEdges = collectSelectedEdges(event.caretOffset);

-            displayCaretInformation(event);

-            styledText.redraw();

-        }

-

-        

-        private void displayCaretInformation(CaretEvent event)

-        {

-            int caretLine =  styledText.getLineAtOffset(styledText.getCaretOffset());

-            int lineOffset = styledText.getOffsetAtLine(caretLine);

-            int caretOffset = styledText.getCaretOffset();

-            int caretColumn = caretOffset-lineOffset+1 ; 

-           

-            label.setText(

-                Messages.bind(

-                    Messages.EdgesTab_LineColOffset, new Object[] {

-                        caretLine+1,

-                        caretColumn,

-                        styledText.getCaretOffset() }));

-            label.pack();

-        }

-    }

-

-    private final class EdgePainter implements PaintListener

-    {

-  

-        private final StyledText styledText;       

-        

-        private EdgePainter(StyledText styledText)

-        {

-            this.styledText = styledText;     

-        }

-       

-

-        public void paintControl(PaintEvent e)

-        {

-           //Depending  upon whether if edgesTypesToShow list contains an edge this loop draws a rectangle around

-            //the edge and calls the constructor of the DrawEdgesAndArrows class to draw lines between the source and sink

-            for (VPGEdge< ? , ? , ? > edge : edgesInFile)

-            {

-                if (edgeTypesToShow.contains(edge.getType()))

-                {

-                    Color defaultColor = e.gc.getForeground();

-                   //depending upon the type of edge the color of the edges and lines is decided.

-                    e.gc.setForeground(setColor(edge.getType()));

-                    IVPGNode source = edge.getSource();

-                    IVPGNode sink = edge.getSink();

-                    

-                    

-                    if (source.getFilename().equals(filename) && sink.getFilename().equals(filename))

-                    {

-                        Rectangle srcRect = drawRectangle(e, source.getOffset(), source.getEndOffset());

-                        Rectangle sinkRect = drawRectangle(e, sink.getOffset(), sink.getEndOffset());

-    

-                        if (srcRect != null && sinkRect != null)

-                        {

-                            if(showAll.getSelection()||showEdges.contains(edge)){

-                                displayEdgesAndArrows(e.gc,sinkRect,srcRect);

-                                

-                            }

-                            

-                        }

-                    }

-                    else

-                    {

-                        // TODO: Handle this case later

-                    }

-                    e.gc.setForeground(defaultColor);

-                }

-            }

-        }

-  

-        private void displayEdgesAndArrows(GC gc, Rectangle sinkRect, Rectangle srcRect)

-        {

-            new EdgeArrow(srcRect, sinkRect).drawOn(gc);

-        }

-        

-        private Color setColor(int type)

-        {

-            return color.get(type%color.size());    

-        }

-

-

-        private Rectangle drawRectangle(PaintEvent e, int startOffset, int endOffset)

-        {

-            if (isValid(startOffset) && isValid(endOffset))

-            {

-                Rectangle srcRect = styledText.getTextBounds(startOffset, Math.max(0, endOffset-1));

-                e.gc.drawRectangle(srcRect);

-                return srcRect;

-            }

-            else

-                return null;

-        }

-

-        private boolean isValid(int offset)

-        {

-            return offset >= 0 && offset < styledText.getCharCount();

-        }

-    }       

-

-    @SuppressWarnings("unchecked")

-    public void showEdges(String file_selected, EclipseVPG vpg)

-    {

-        this.filename = file_selected;

-        Object ast = vpg.acquireTransientAST(filename);

-        

-        if (ast == null)

-            styledText.setText(Messages.bind(Messages.EdgesTab_UnableToParse, filename));

-        else

-            styledText.setText(vpg.getSourceCodeFromAST(ast));

- 

-        edgesInFile = new ArrayList<VPGEdge< ? , ? , ? >>();

-        

-        for (VPGEdge< ? , ? , ? > edge : (Iterable<VPGEdge< ? , ? , ? >>)vpg.getAllEdgesFor(filename))

-            edgesInFile.add(edge);

-        

-        edgeTypes = new HashSet<Integer>();

-        

-        for (VPGEdge<?,?,?> edge : (Iterable<VPGEdge<?,?,? >>)vpg.getAllEdgesFor(filename))

-            edgeTypes.add(edge.getType());

-        

-        edgeButton.setEnabled(edgeTypes.size() != 0);

-    }

-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/Messages.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/Messages.java
deleted file mode 100644
index 4472906..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/Messages.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.browser;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.internal.ui.browser.messages"; //$NON-NLS-1$
-
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-
-    public static String AnnotationsTab_LineColOffset;
-    public static String AnnotationsTab_NoAnnotationsToShow;
-    public static String AnnotationsTab_UnableToParse;
-    public static String DependenciesTab_FileName;
-    public static String DependenciesTab_FilesThatDependOnTheSelectedFile;
-    public static String DependenciesTab_FilesTheSelectedFileDependsOn;
-    public static String DependenciesTab_TimeStamp;
-    public static String EdgesTab_EdgeTypes;
-    public static String EdgesTab_LineColOffset;
-    public static String EdgesTab_ShowAllEdges;
-    public static String EdgesTab_ShowSelectedEdges;
-    public static String EdgesTab_UnableToParse;
-    public static String VPGBrowser_Annotations;
-    public static String VPGBrowser_Dependencies;
-    public static String VPGBrowser_Edges;
-    public static String VPGBrowser_FileNmae;
-    public static String VPGBrowser_Files;
-    public static String VPGBrowser_WindowTitle;
-}
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/VPGBrowser.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/VPGBrowser.java
deleted file mode 100644
index 0985242..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/VPGBrowser.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    Abhishek Sharma, UIUC - Initial API and implementation

- *******************************************************************************/

-package org.eclipse.rephraserengine.internal.ui.browser;

-

-import java.util.ArrayList;

-

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.SashForm;

-import org.eclipse.swt.events.ModifyEvent;

-import org.eclipse.swt.events.ModifyListener;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.events.SelectionListener;

-import org.eclipse.swt.graphics.Rectangle;

-import org.eclipse.swt.layout.FillLayout;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Display;

-import org.eclipse.swt.widgets.Event;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.swt.widgets.List;

-import org.eclipse.swt.widgets.Listener;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.swt.widgets.TabFolder;

-import org.eclipse.swt.widgets.TabItem;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.ui.internal.Workbench;

-

-/**

- * Creates the VPG Browser shell.

- *

- * @author Abhishek Sharma

- */

-@SuppressWarnings("restriction")

-public class VPGBrowser

-{

-    private EclipseVPG vpg;

-    private ArrayList<String> fileNameArray; //to copy all file names

-

-    private Shell shell;

-    private SashForm sashForm;

-    private Composite composite;

-    private Text fileNameTextBox;

-    private List fileList;

-    private TabFolder tabFolder;

-    private DependenciesTab dependenciesTab;

-    private EdgesTab edgesTab ;

- 

-    private AnnotationsTab annotationsTab ;

-

-    public VPGBrowser(EclipseVPG vpg)

-    {

-        this.vpg = vpg;

-

-        createShell();

-        createSashForm();

-        createComposite();

-        createFileTextField();

-        createList();

-        createTabFolder();

-

-        listAllFiles();

-    }

-

-    private void createShell()

-    {

-        shell = new Shell(Workbench.getInstance().getDisplay());

-        shell.setText(Messages.VPGBrowser_WindowTitle);

-        centerShellInDisplay();

-        closeShellWhenEscapeIsPressed();

-        shell.setLayout(new GridLayout());

-        

-    }

-

-    private void centerShellInDisplay()

-    {

-        Rectangle monitor = shell.getDisplay().getPrimaryMonitor().getBounds();

-        shell.setSize(monitor.width * 3 / 4, monitor.height * 3 / 4);

-        Rectangle window = shell.getBounds();

-        int x = monitor.x + (monitor.width - window.width) / 2;

-        int y = monitor.y + (monitor.height - window.height) / 2;

-        shell.setLocation(x, y);

-    }

-

-    private void closeShellWhenEscapeIsPressed()

-    {

-        shell.addListener(SWT.Traverse, new Listener()

-        {

-            public void handleEvent(Event event)

-            {

-                switch (event.detail)

-                {

-                    case SWT.TRAVERSE_ESCAPE:

-                        shell.close();

-                        event.detail = SWT.TRAVERSE_NONE;

-                        event.doit = false;

-                        break;

-                }

-            }

-        });

-    }

-

-    /** Creates the sashform with the parent being shell*/

-    private void createSashForm()

-    {

-        sashForm = new SashForm(shell, SWT.HORIZONTAL);

-        sashForm.setLayout(new FillLayout());

-        sashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

-    }

-

-    /** Creates the composite on left side of sash with the parent being sash */

-    private void createComposite()

-    {

-        composite = new Composite(sashForm, SWT.NONE);

-        composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

-        GridLayout gridLayout = new GridLayout();

-        gridLayout.numColumns = 1;

-        composite.setLayout(gridLayout);

-    }

-

-    /** Creates the text field on top left side with the parent being composite */

-    private void createFileTextField()

-    {

-        // creating a label for the text field

-        Label fileNameLabel = new Label(composite, SWT.NONE);

-        fileNameLabel.setText(Messages.VPGBrowser_FileNmae);

-

-       

-        fileNameTextBox = new Text(composite, SWT.SINGLE | SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH);

-        fileNameTextBox.setBounds(100, 100, 100, 100);

-        fileNameTextBox.setText(""); //$NON-NLS-1$

-        fileNameTextBox.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));

-        fileNameTextBox.addModifyListener(new TextBoxModifyListener());

-    }

-

-    /** Filters the list of filenames when the user enters text in the text box */

-    private final class TextBoxModifyListener implements ModifyListener

-    {

-        public void modifyText(ModifyEvent e)

-        {

-            if (fileNameTextBox.getText().length() == 0)

-                listAllFiles();

-            else

-                listFilteredFiles();

-        }

-

-        private void listFilteredFiles()

-        {

-            fileList.removeAll();

-

-            // this loop checks if the user typed string is a substring of any of the

-            // files present in the workspace and filters the list based

-            // on the user-inputted string

-            for (int i = 0; i < fileNameArray.size(); i++)

-            {

-                int substringIndex = fileNameArray.get(i).toLowerCase().indexOf(fileNameTextBox.getText().toLowerCase());

-                if (substringIndex != -1)

-                    fileList.add(fileNameArray.get(i));

-            }

-

-            if (fileList.getItemCount() == 1){

-                fileList.setSelection(0); 

-                showFile(fileList.getItem(0));

-            }

-        }

-    }

-

-    /**

-     * @param index index of the file to display in {@link #fileNameArray}

-     */

-    private void showFile(String filename)

-    {

-        dependenciesTab.showDependentsAndDependencies(filename, vpg);

-        edgesTab.showEdges(filename, vpg) ;

-        annotationsTab.showAnnotations(filename);

-    }

-

-    /** Creates the List for files on bottom left side with the parent being composite */

-    private void createList()

-    {

-        // creating a label for the list

-        Label fileNameLabel = new Label(composite, SWT.NONE);

-        fileNameLabel.setText(Messages.VPGBrowser_Files);

-

-        

-        fileList = new List(composite, SWT.PUSH | SWT.SINGLE | SWT.V_SCROLL); // TODO: Remove SWT.PUSH?

-        fileList.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

-        fileList.addSelectionListener(new FileListSelectionListener());

-    }

-

-    /** Shows the contents of the selected file when the user selects a file in the file list */

-    private final class FileListSelectionListener implements SelectionListener

-    {

-        public void widgetSelected(SelectionEvent e)

-        {

-            int index = fileList.getSelectionIndex();

-            if (index < 0) return;

-

-            String filename = fileList.getItem(index);

-            

-            showFile(filename);

-        }

-

-        public void widgetDefaultSelected(SelectionEvent e)

-        {

-            widgetSelected(e);

-        }

-    }

-

-    /** Creates the tab folder on the right side with the parent being composite. Two tabs are created. */

-    private void createTabFolder()

-    {

-        tabFolder = new TabFolder(sashForm, SWT.NULL);

-

-        TabItem edges = new TabItem(tabFolder, SWT.NULL);

-        edges.setText(Messages.VPGBrowser_Edges);

-        edgesTab = new EdgesTab(edges,tabFolder,vpg);

-

-        TabItem dependencies = new TabItem(tabFolder, SWT.NULL);

-        dependencies.setText(Messages.VPGBrowser_Dependencies);

-        dependenciesTab = new DependenciesTab(dependencies, tabFolder);

-        

-        TabItem annotations = new TabItem(tabFolder, SWT.NULL);

-        annotations.setText(Messages.VPGBrowser_Annotations);

-        annotationsTab = new AnnotationsTab(annotations,tabFolder,vpg);

-    }

-

-    /** Return the shell to the {@link BrowseDBAction} class*/

-    public Shell getShell()

-    {

-        return shell;

-    }

-

-    /** Populates the filename list with all files from the workspace */

-    @SuppressWarnings("unchecked")

-    private void listAllFiles()

-    {

-        fileList.removeAll();

-        fileNameArray = new ArrayList<String>();

-        int i = 0;

-        //this loops gets all the files from the workspace

-        for (String filename : (Iterable<String>)vpg.listAllFilenames())

-        {

-            fileList.add(filename);

-            fileNameArray.add(filename);

-            i++;

-        }

-    }

-

-    /**

-     * Opens the VPG Browser window.

-     */

-    public void open()

-    {

-        shell.open();

-        runEventLoop();

-    }

-

-    private void runEventLoop()

-    {

-        Display display = shell.getDisplay();

-

-        while (shell != null && !shell.isDisposed())

-        {

-            try

-            {

-                if (!display.readAndDispatch())

-                    display.sleep();

-            }

-            catch (Throwable e)

-            {

-                e.printStackTrace();

-                //Activator.log(e);

-                MessageDialog.openError(null,

-                    e.getClass().getName(),

-                    describe(e));

-            }

-        }

-

-        if (!display.isDisposed())

-            display.update();

-    }

-

-    private String describe(Throwable e)

-    {

-        return e.getClass().getName() + ": " + e.getMessage() //$NON-NLS-1$

-            + "\n\nPlease see the stack trace printed to the console."; //$NON-NLS-1$

-    }

-}

diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/messages.properties b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/messages.properties
deleted file mode 100644
index f2dcde0..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/browser/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-AnnotationsTab_LineColOffset=Offset {2} (Line {0}, Column {1})
-AnnotationsTab_NoAnnotationsToShow=No annotations to show
-AnnotationsTab_UnableToParse=(Unable to parse {0})
-DependenciesTab_FileName=File name:
-DependenciesTab_FilesThatDependOnTheSelectedFile=Files that depend on the selected file
-DependenciesTab_FilesTheSelectedFileDependsOn=Files the selected file depends on
-DependenciesTab_TimeStamp=Time stamp:
-EdgesTab_EdgeTypes=Edge Types
-EdgesTab_LineColOffset=Offset {2} (Line {0}, Column {1})
-EdgesTab_ShowAllEdges=Show All Edges
-EdgesTab_ShowSelectedEdges=Show Only Selected Edges
-EdgesTab_UnableToParse=(Unable to parse {0})
-VPGBrowser_Annotations=Annotations
-VPGBrowser_Dependencies=Dependencies
-VPGBrowser_Edges=Edges
-VPGBrowser_FileNmae=File name:
-VPGBrowser_Files=Files:
-VPGBrowser_WindowTitle=VPG Browser
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/preservation/PostTransformationStatusContextViewer.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/preservation/PostTransformationStatusContextViewer.java
deleted file mode 100644
index af23c44..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/internal/ui/preservation/PostTransformationStatusContextViewer.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.preservation;
-
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.ltk.core.refactoring.RefactoringStatusContext;
-import org.eclipse.ltk.internal.ui.refactoring.FileStatusContextViewer;
-import org.eclipse.ltk.ui.refactoring.TextStatusContextViewer;
-import org.eclipse.rephraserengine.core.preservation.PostTransformationContext;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Based on {@link FileStatusContextViewer}
- *
- * @author Jeff Overbey
- * 
- * @since 1.0
- */
-@SuppressWarnings("restriction")
-public class PostTransformationStatusContextViewer extends TextStatusContextViewer
-{
-    @Override public void createControl(Composite parent)
-    {
-        super.createControl(parent);
-        getSourceViewer().configure(new SourceViewerConfiguration());
-    }
-
-    public void setInput(RefactoringStatusContext context)
-    {
-        PostTransformationContext fc = (PostTransformationContext)context;
-        updateTitle(fc.getFile());
-        IDocument document = new Document(fc.getFileContents());
-        IRegion region = fc.getTextRegion();
-        if (region != null && document.getLength() >= region.getOffset() + region.getLength())
-            setInput(document, region);
-        else
-            setInput(document, new Region(0, 0));
-    }
-
-    @Override protected SourceViewer createSourceViewer(Composite parent)
-    {
-        return new SourceViewer(parent, null,
-            SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/IEclipseVPGFactory.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/IEclipseVPGFactory.java
deleted file mode 100644
index 132c4b2..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/IEclipseVPGFactory.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui;
-
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-
-/**
- * Interface implemented by classes contributed to the <i>vpg</i> extension point.
- *
- * @author Jeff Overbey
- * 
- * @since 1.0
- */
-public interface IEclipseVPGFactory
-{
-    /**
-     * @return an {@link EclipseVPG}, which may be a Singleton (i.e., it is permissible for this
-     * method to return the same VPG object on every invocation, as well as for different
-     * {@link IEclipseVPGFactory} instantiations to return the same VPG object)
-     */
-     EclipseVPG getVPG();
-}
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/Messages.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/Messages.java
deleted file mode 100644
index a1f9771..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/Messages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.actions;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- * 
- * @since 2.0
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.ui.actions.messages"; //$NON-NLS-1$
-
-    public static String VPGOutputWindowAction_PreparingTextForDisplay;
-
-    public static String VPGWindowActionDelegate_0;
-
-    public static String VPGWindowActionDelegate_ErrorTitle;
-
-    public static String VPGWindowActionDelegate_NoVPGsAvailable;
-
-    public static String VPGWindowActionDelegate_SelectDatabaseToUse;
-
-    public static String VPGWindowActionDelegate_SelectVPGTitle;
-
-    public static String VPGWindowActionDelegate_UnhandledExceptionTitle;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/VPGOutputWindowAction.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/VPGOutputWindowAction.java
deleted file mode 100644
index b8b8b2a..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/VPGOutputWindowAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.actions;
-
-import java.io.File;
-import java.io.PrintStream;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.ui.UIUtil;
-
-/**
- * Abstract class for an action that simply prints some text and then opens it in a window for the
- * user to view.
- *
- * @author Jeff Overbey
- * 
- * @since 1.0
- */
-public abstract class VPGOutputWindowAction extends VPGWindowActionDelegate
-{
-    @Override
-    protected final void run(EclipseVPG vpg, IProgressMonitor progressMonitor) throws Exception
-    {
-        progressMonitor.beginTask(Messages.VPGOutputWindowAction_PreparingTextForDisplay,
-            IProgressMonitor.UNKNOWN);
-
-        File temp = UIUtil.createTempFile();
-        final PrintStream ps = UIUtil.createPrintStream(temp);
-        writeOutput(vpg, ps);
-        ps.close();
-
-        UIUtil.openHtmlViewerOn("", temp); //$NON-NLS-1$
-
-        progressMonitor.done();
-    }
-
-    /**
-     * Subclasses must override this method and write text to the given {@link PrintStream}; this
-     * text will be displayed to the user.
-     *
-     * @param vpg an {@link EclipseVPG} contributed to the <i>vpg</i> extension point; if only one
-     *            has been contributed, it will be that; otherwise, the user will have been prompted
-     *            to select a VPG, and this will be the VPG selected by the user
-     * @param ps  a {@link PrintStream} to which the text to display to the user should be written
-     */
-    protected abstract void writeOutput(EclipseVPG vpg, PrintStream ps);
-}
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/VPGWindowActionDelegate.java b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/VPGWindowActionDelegate.java
deleted file mode 100644
index 372cac9..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/VPGWindowActionDelegate.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.Map.Entry;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG;
-import org.eclipse.rephraserengine.core.vpg.eclipse.VPGSchedulingRule;
-import org.eclipse.rephraserengine.ui.IEclipseVPGFactory;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ListDialog;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * Abstract class for an {@link IWorkbenchWindowActionDelegate} that requires access to a VPG.
- * <p>
- * The user interface will allow this action to be run on any VPG contributed to the <i>vpg</i>
- * extension point.  If there is only one VPG, it will run on that; if multiple VPGs are available,
- * the user will be asked to select one.
- * <p>
- * This class schedules itself to run after it can successfully lock all of the resources in the
- * workspace; this guarantees that only one such action will be accessing the VPG at a time.
- *
- * @author Jeff Overbey
- * 
- * @since 1.0
- */
-public abstract class VPGWindowActionDelegate
-           implements IWorkbenchWindowActionDelegate,
-                      IRunnableWithProgress
-{
-    private static final String VPG_EXTENSION_POINT_ID = Messages.VPGWindowActionDelegate_0;
-
-    private EclipseVPG vpg = null;
-
-    /** The active workbench window; may be <code>null</code> */
-    protected IWorkbenchWindow activeWindow = null;
-
-    /** The active shell; may be <code>null</code> */
-    protected Shell activeShell = null;
-
-    public final void init(IWorkbenchWindow window)
-    {
-        activeWindow = window;
-        if (activeWindow != null)
-            activeShell = activeWindow.getShell();
-    }
-
-    public void dispose() {;}
-    public void selectionChanged(IAction action, ISelection selection) {;}
-
-    public final void run(IAction action)
-    {
-        vpg = determineVPG();
-
-        if (vpg == null)
-        {
-            MessageDialog.openError(
-                    activeShell,
-                    Messages.VPGWindowActionDelegate_ErrorTitle,
-                    Messages.VPGWindowActionDelegate_NoVPGsAvailable);
-        }
-        else
-        {
-            scheduleThisUsingVPGSchedulingRule();
-        }
-    }
-
-    private void scheduleThisUsingVPGSchedulingRule()
-    {
-        IProgressService context = PlatformUI.getWorkbench().getProgressService();
-
-        ISchedulingRule lockEntireWorkspace = ResourcesPlugin.getWorkspace().getRoot();
-        ISchedulingRule vpgSched = VPGSchedulingRule.getInstance();
-        ISchedulingRule schedulingRule = MultiRule.combine(lockEntireWorkspace, vpgSched);
-
-        try
-        {
-            context.runInUI(context, this, schedulingRule);
-        }
-        catch (InvocationTargetException e)
-        {
-            e.printStackTrace();
-            MessageDialog.openError(
-                    activeShell,
-                    Messages.VPGWindowActionDelegate_UnhandledExceptionTitle,
-                    e.getMessage());
-        }
-        catch (InterruptedException e)
-        {
-            // Do nothing
-        }
-    }
-
-    private EclipseVPG determineVPG()
-    {
-        IConfigurationElement[] configs = Platform.getExtensionRegistry().getConfigurationElementsFor(VPG_EXTENSION_POINT_ID);
-        if (configs.length == 0)
-            return null;
-        else
-            return createVPG(configs, determineWhichVPGToUse(configs));
-    }
-
-    private EclipseVPG createVPG(IConfigurationElement[] configs, int index)
-    {
-        try
-        {
-            if (index < 0)
-            {
-                return null;
-            }
-            else
-            {
-//                MessageDialog.openInformation(
-//                        activeShell,
-//                        "FYI",
-//                        "You chose " + configs[index].getAttribute("name"));
-
-                IEclipseVPGFactory factory = (IEclipseVPGFactory)configs[index].createExecutableExtension("class"); //$NON-NLS-1$
-                return factory.getVPG();
-            }
-        }
-        catch (CoreException e)
-        {
-            return null;
-        }
-    }
-
-    private int determineWhichVPGToUse(IConfigurationElement[] configs)
-    {
-        if (configs.length == 1)
-            return 0;
-        else
-            return askUserWhichVPGToUse(configs);
-    }
-
-    @SuppressWarnings("unchecked")
-    private int askUserWhichVPGToUse(IConfigurationElement[] configs)
-    {
-        Map<Integer, String> vpgs = new TreeMap<Integer, String>();
-        for (int i = 0; i < configs.length; i++)
-            vpgs.put(i, configs[i].getAttribute("name")); //$NON-NLS-1$
-
-        ListDialog dlg = new ListDialog(activeShell);
-        dlg.setInput(vpgs);
-        dlg.setTitle(Messages.VPGWindowActionDelegate_SelectVPGTitle);
-        dlg.setContentProvider(new ArrayPairContentProvider());
-        dlg.setLabelProvider(new ArrayPairLabelProvider());
-        dlg.setMessage(Messages.VPGWindowActionDelegate_SelectDatabaseToUse);
-        dlg.setBlockOnOpen(true);
-        if (dlg.open() == ListDialog.OK
-                && dlg.getResult() != null
-                && dlg.getResult().length > 0)
-        {
-            return ((Entry<Integer, String>)dlg.getResult()[0]).getKey();
-        }
-        else
-        {
-            return -1;
-        }
-    }
-
-    private static final class ArrayPairContentProvider implements IStructuredContentProvider
-    {
-        @SuppressWarnings("unchecked")
-        public Object[] getElements(Object inputElement)
-        {
-            return ((Map<Integer, String>)inputElement).entrySet().toArray();
-        }
-
-        public void dispose() {;}
-        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {;}
-    }
-
-    private static final class ArrayPairLabelProvider extends LabelProvider
-    {
-        @SuppressWarnings("unchecked")
-        @Override
-        public String getText(Object element)
-        {
-            return ((Entry<Integer, String>)element).getValue();
-        }
-    }
-
-    public final void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException
-    {
-        try
-        {
-            run(vpg, progressMonitor);
-        }
-        catch (Throwable e)
-        {
-            throw new InvocationTargetException(e);
-        }
-        finally
-        {
-            progressMonitor.done();
-        }
-    }
-
-    /**
-     * Subclasses must override this method; this is where the action-specific VPG work is defined.
-     *
-     * @param vpg an {@link EclipseVPG} contributed to the <i>vpg</i> extension point; if only one
-     *            has been contributed, it will be that; otherwise, the user will have been prompted
-     *            to select a VPG, and this will be the VPG selected by the user
-     * @param progressMonitor an {@link IProgressMonitor} for displaying status information to the
-     *            user (if the operation is long-running)
-     *
-     * @throws Exception
-     */
-    protected abstract void run(EclipseVPG vpg, IProgressMonitor progressMonitor) throws Exception;
-
-    ///////////////////////////////////////////////////////////////////////////
-    // Utility Methods for Subclasses
-    ///////////////////////////////////////////////////////////////////////////
-
-    /** @return the active shell, or <code>null</code> if no shell is active */
-    protected Shell getShell()
-    {
-        return activeShell;
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/messages.properties b/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/messages.properties
deleted file mode 100644
index b4368ed..0000000
--- a/org.eclipse.rephraserengine.ui.vpg/src/org/eclipse/rephraserengine/ui/actions/messages.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-VPGOutputWindowAction_PreparingTextForDisplay=Preparing text for display; please wait...
-VPGWindowActionDelegate_0=org.eclipse.rephraserengine.ui.vpg.vpg
-VPGWindowActionDelegate_ErrorTitle=Error
-VPGWindowActionDelegate_NoVPGsAvailable=None of the available refactoring engines have made their program databases (VPGs) available to this action.
-VPGWindowActionDelegate_SelectDatabaseToUse=Please select which refactoring engine's database to use.
-VPGWindowActionDelegate_SelectVPGTitle=Select VPG
-VPGWindowActionDelegate_UnhandledExceptionTitle=Unhandled Exception
diff --git a/org.eclipse.rephraserengine.ui/.classpath b/org.eclipse.rephraserengine.ui/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/org.eclipse.rephraserengine.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.ui/.project b/org.eclipse.rephraserengine.ui/.project
deleted file mode 100644
index e576ac3..0000000
--- a/org.eclipse.rephraserengine.ui/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.rephraserengine.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sourceforge.metrics.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>net.sourceforge.metrics.nature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9228c88..0000000
--- a/org.eclipse.rephraserengine.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,331 +0,0 @@
-#Thu May 27 11:15:25 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 10e1e6b..0000000
--- a/org.eclipse.rephraserengine.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed Oct 14 14:50:23 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *    UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.ui/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 79810d1..0000000
--- a/org.eclipse.rephraserengine.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.rephraserengine.ui;singleton:=true
-Bundle-Version: 3.0.0.qualifier
-Bundle-Vendor: %Bundle-Vendor
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.jface.text,
- org.eclipse.ui.ide,
- org.eclipse.rephraserengine.core,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.search,
- org.eclipse.ui.editors
-Export-Package: org.eclipse.rephraserengine.ui,
- org.eclipse.rephraserengine.ui.search
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.rephraserengine.internal.ui.Activator
diff --git a/org.eclipse.rephraserengine.ui/OSGI-INF/l10n/bundle.properties b/org.eclipse.rephraserengine.ui/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 6e2e766..0000000
--- a/org.eclipse.rephraserengine.ui/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Properties file for org.eclipse.rephraserengine.ui
-menu.label = Se&arch
-Bundle-Vendor = Eclipse.org - Photran
-Bundle-Name = Rephraser Engine User Interface Plug-in
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui/about.html b/org.eclipse.rephraserengine.ui/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.ui/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content").  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL").  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.ui/build.properties b/org.eclipse.rephraserengine.ui/build.properties
deleted file mode 100644
index bba3177..0000000
--- a/org.eclipse.rephraserengine.ui/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               plugin.xml,\
-               icons/,\
-               OSGI-INF/l10n/bundle.properties
-src.includes = about.html,\
-               icons/,
diff --git a/org.eclipse.rephraserengine.ui/icons/search_obj.gif b/org.eclipse.rephraserengine.ui/icons/search_obj.gif
deleted file mode 100644
index 304c01d..0000000
--- a/org.eclipse.rephraserengine.ui/icons/search_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.rephraserengine.ui/plugin.xml b/org.eclipse.rephraserengine.ui/plugin.xml
deleted file mode 100644
index 41c10b6..0000000
--- a/org.eclipse.rephraserengine.ui/plugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
-   <!-- Supply a viewer for search results -->
-   <extension
-         point="org.eclipse.search.searchResultViewPages">
-      <viewPage
-            class="org.eclipse.rephraserengine.internal.ui.search.SearchViewPage"
-            id="org.eclipse.rephraserengine.ui.searchViewPage"
-            searchResultClass="org.eclipse.rephraserengine.ui.search.SearchResult"/>
-   </extension>
-
-   <!-- Search menu from org.eclipse.search
-        Duplicated here to prevent errors like
-          !ENTRY org.eclipse.ui 4 4 2010-03-12 10:45:24.324
-          !MESSAGE Plug-in 'org.eclipse.rephraserengine.examples.text' contributed an invalid Menu Extension (Path: 'org.eclipse.search.menu' is invalid): org.eclipse.rephraserengine.examples.text.openTextSearchPage
-        (Note that the original org.eclipse.search.menu is defined in an actionSet.)
-   -->
-   <extension point="org.eclipse.ui.menus">
-      <menuContribution
-            locationURI="menu:org.eclipse.ui.main.menu?after=navigate">
-        <menu
-           id="org.eclipse.search.menu"
-           label="%menu.label">
-           <!--groupMarker name="dialogGroup"/-->           <!-- to be used by clients      -->
-           <separator name="dialogGroup"/> <!-- to be used by clients      -->
-           <separator name="fileSearchContextMenuActionsGroup"/> <!-- to be used by clients      -->
-           <separator name="contextMenuActionsGroup"/> <!-- to be used by clients -->
-           <separator name="occurencesActionsGroup"/> <!-- to be used by clients -->
-           <separator name="extraSearchGroup"/> <!-- to be used by clients -->
-        </menu>
-     </menuContribution>
-  </extension>
-
-</plugin>
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/Activator.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/Activator.java
deleted file mode 100644
index 2a9934b..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/Activator.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.rephraserengine.internal.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- * 
- * @since 2.0
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.rephraserengine.ui"; //$NON-NLS-1$
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	@Override
-    public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	@Override
-    public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-    
-    public static void log(Throwable e) {
-        log("Error", e); //$NON-NLS-1$
-    }
-
-    public static void log(String message, Throwable e) {
-        log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, message, e));
-    }
-
-    public static void log(IStatus status) {
-        getDefault().getLog().log(status);
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/ISearchContentProvider.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/ISearchContentProvider.java
deleted file mode 100644
index ecff809..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/ISearchContentProvider.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.ui.search;
-
-/**
- * @author Doug Schaefer
- *
- * @since 2.0
- */
-public interface ISearchContentProvider {
-
-	public void elementsChanged(Object[] elements);
-
-	public void clear();
-
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/Messages.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/Messages.java
deleted file mode 100644
index 79f2c6a..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/Messages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.search;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.internal.ui.search.messages"; //$NON-NLS-1$
-
-    public static String SearchLabelProvider_nMatches;
-    public static String SearchLabelProvider_OneMatch;
-
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchLabelProvider.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchLabelProvider.java
deleted file mode 100644
index c23458f..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchLabelProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Markus Schorn - initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.ui.search;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.search.ui.text.AbstractTextSearchViewPage;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * @author Markus Schorn
- * @author Doug Schaefer
- * @author Jeff Overbey
- *
- * @since 2.0
- */
-public class SearchLabelProvider extends LabelProvider
-{
-    private final AbstractTextSearchViewPage page;
-    private final WorkbenchLabelProvider wrappedProvider;
-
-    public SearchLabelProvider(AbstractTextSearchViewPage page)
-    {
-        this.page = page;
-        this.wrappedProvider = new WorkbenchLabelProvider();
-    }
-
-    @Override public Image getImage(Object element)
-    {
-        return wrappedProvider.getImage(element);
-    }
-
-    @Override public String getText(Object element)
-    {
-        String text = wrappedProvider.getText(element);
-        int count = getMatchCount(element);
-        switch (count)
-        {
-            case 0:  return text;
-            case 1:  return text + " " + Messages.SearchLabelProvider_OneMatch; //$NON-NLS-1$
-            default: return text + " " + Messages.bind(Messages.SearchLabelProvider_nMatches, count); //$NON-NLS-1$
-        }
-    }
-
-    protected int getMatchCount(Object element)
-    {
-        return page.getInput().getMatchCount(element);
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchListContentProvider.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchListContentProvider.java
deleted file mode 100644
index 14bb046..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchListContentProvider.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.ui.search;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.rephraserengine.ui.search.SearchResult;
-
-/**
- * @author Doug Schaefer
- *
- * @since 2.0
- */
-public class SearchListContentProvider implements
-		IStructuredContentProvider, ISearchContentProvider {
-
-	private TableViewer viewer;
-	private SearchResult result;
-	
-	public Object[] getElements(Object inputElement) {
-		return result.getElements();
-	}
-
-	public void dispose() {
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		this.viewer = (TableViewer)viewer;
-		result = (SearchResult)newInput;
-	}
-
-	public void elementsChanged(Object[] elements) {
-		if (result == null)
-			return;
-		
-		for (int i= 0; i < elements.length; i++) {
-			if (result.getMatchCount(elements[i]) > 0) {
-				if (viewer.testFindItem(elements[i]) != null)
-					viewer.refresh(elements[i]);
-				else
-					viewer.add(elements[i]);
-			} else {
-				viewer.remove(elements[i]);
-			}
-		}
-	}
-	
-	public void clear() {
-		viewer.refresh();
-	}
-
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchTreeContentProvider.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchTreeContentProvider.java
deleted file mode 100644
index 0a64751..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchTreeContentProvider.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- * Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.ui.search;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.rephraserengine.ui.search.SearchResult;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @author Doug Schaefer
- *
- * @since 2.0
- */
-public class SearchTreeContentProvider implements ITreeContentProvider, ISearchContentProvider{
-
-	private TreeViewer viewer;
-	private SearchResult result;
-	private Map<Object, Set<Object>> tree = new HashMap<Object, Set<Object>>();
-	
-	public Object[] getChildren(Object parentElement) {
-		Set<Object> children = tree.get(parentElement);
-		if (children == null)
-			return new Object[0];
-		return children.toArray();
-	}
-
-	public Object getParent(Object element) {
-		Iterator<Object> p = tree.keySet().iterator();
-		while (p.hasNext()) {
-			Object parent = p.next();
-			Set<Object> children = tree.get(parent);
-			if (children.contains(element))
-				return parent;
-		}
-		return null;
-	}
-
- 	public boolean hasChildren(Object element) {
- 		return tree.get(element) != null;
-	}
-
-	public Object[] getElements(Object inputElement) {
-		return getChildren(result);
-	}
-
-	public void dispose() {
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		this.viewer = (TreeViewer)viewer;
-		result = (SearchResult)newInput;
-		tree.clear();
-		if (result != null) {
-			Object[] elements = result.getElements();
-			for (int i = 0; i < elements.length; ++i) {
-				insertSearchElement((IFile)elements[i]);
-			}
-		}
-	}
-
-	private void insertChild(Object parent, Object child) {
-		Object l_parent = parent;
-		if (l_parent == null)	l_parent = result;
-		Set<Object> children = tree.get(l_parent);
-		if (children == null) {
-			children = new HashSet<Object>();
-			tree.put(l_parent, children);
-		}
-		children.add(child);
-	}
-	
-	private void insertSearchElement(IFile element) {
-		IContainer l_cur = element.getParent();
-		insertChild(l_cur, element);
-		while (l_cur != null) {
-			insertChild(l_cur.getParent(), l_cur);
-			l_cur = l_cur.getParent();
-		}
-	}
-	
-	public void elementsChanged(Object[] elements) {
-		if (elements != null) {
-			for (int i = 0; i < elements.length; ++i) {
-				IFile element = (IFile)elements[i];
-				if (result.getMatchCount(element) > 0)
-					insertSearchElement(element);
-				else
-					remove(element);
-			}
-		}
-		
-		Display d= PlatformUI.getWorkbench().getDisplay();
-		d.asyncExec(new Runnable() {
-			public void run() {
-				if (!viewer.getTree().isDisposed()) {
-					viewer.refresh();
-				}
-			}
-		});
-	}
-	
-	public void clear() {
-		tree.clear();
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-			    try {
-			        viewer.refresh();
-			    } catch (SWTException x) {
-			        // Widget is disposed
-			        // (occurs when running JUnit tests)
-			    }
-			}
-		});
-	}
-	
-	protected void remove(Object element) {
-		Object parent = getParent(element);
-		if (parent == null)
-			// reached the search result
-			return;
-		
-		Set<Object> siblings = tree.get(parent);
-		siblings.remove(element);
-		
-		if (siblings.isEmpty()) {
-			// remove the parent
-			remove(parent);
-			tree.remove(parent);
-		}
-	}
-	
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchViewPage.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchViewPage.java
deleted file mode 100644
index 0f6eaf6..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/SearchViewPage.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.ui.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.rephraserengine.internal.ui.Activator;
-import org.eclipse.search.ui.text.AbstractTextSearchViewPage;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * @author Doug Schaefer
- * @author Jeff Overbey
- *
- * @since 2.0
- */
-@SuppressWarnings("restriction")
-public class SearchViewPage extends AbstractTextSearchViewPage {
-
-	private ISearchContentProvider contentProvider;
-	
-	public SearchViewPage(int supportedLayouts) {
-		super(supportedLayouts);
-	}
-
-	public SearchViewPage() {
-		super();
-	}
-
-	@Override
-	protected void elementsChanged(Object[] objects) {
-		if (contentProvider != null)
-			contentProvider.elementsChanged(objects);
-	}
-
-	@Override
-	protected void clear() {
-		if (contentProvider != null)
-			contentProvider.clear();
-	}
-
-	@Override
-	protected void configureTreeViewer(TreeViewer viewer) {
-		contentProvider = new SearchTreeContentProvider();
-		viewer.setContentProvider((SearchTreeContentProvider)contentProvider);
-		viewer.setLabelProvider(new SearchLabelProvider(this));
-	}
-
-	@Override
-	protected void configureTableViewer(TableViewer viewer) {
-		contentProvider = new SearchListContentProvider();
-		viewer.setContentProvider((SearchListContentProvider)contentProvider);
-		viewer.setLabelProvider(new SearchLabelProvider(this));
-	}
-
-    @Override
-	protected void showMatch(Match match, int currentOffset, int currentLength, boolean activate) throws PartInitException  {
-		try {
-			IEditorPart editor = openInEditor((IFile)match.getElement());
-			if (editor instanceof ITextEditor) {
-				ITextEditor textEditor = (ITextEditor)editor;
-				textEditor.selectAndReveal(currentOffset, currentLength);
-			}
-		} catch (CoreException e) {
-			Activator.log(e);
-		}
-	}
-
-    private IEditorPart openInEditor(IFile file) throws PartInitException
-    {
-        IWorkbenchPage page = Workbench.getInstance().getActiveWorkbenchWindow().getActivePage();
-        return page == null ? null : IDE.openEditor(page, file);
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/messages.properties b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/messages.properties
deleted file mode 100644
index d03455e..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/internal/ui/search/messages.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-SearchLabelProvider_nMatches=({0} matches)
-SearchLabelProvider_OneMatch=(1 match)
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/Messages.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/Messages.java
deleted file mode 100644
index c9e3f42..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/Messages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- * 
- * @since 2.0
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.ui.messages"; //$NON-NLS-1$
-
-    public static String UIUtil_ErrorTitle;
-
-    public static String UIUtil_FilesBeingEditedHaveUnsavedChanges;
-
-    public static String UIUtil_NoteTitle;
-
-    public static String UIUtil_SaveFileTitle;
-
-    public static String UIUtil_UnableToCreateTempFile;
-
-    public static String UIUtil_UnableToOpenWebBrowser;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/UIUtil.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/UIUtil.java
deleted file mode 100644
index 3a06ead..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/UIUtil.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * A collection of static utility methods for use by Eclipse user interfaces.
- *
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-@SuppressWarnings("restriction")
-public final class UIUtil
-{
-    private UIUtil() {;}
-
-    public static File createTempFile() throws IOException
-    {
-        File tempFile = File.createTempFile("rephraser-tmp", ".txt"); //$NON-NLS-1$ //$NON-NLS-2$
-        tempFile.deleteOnExit();
-        return tempFile;
-    }
-
-    public static PrintStream createPrintStream(File tempFile) throws FileNotFoundException
-    {
-        return new PrintStream(new BufferedOutputStream(new FileOutputStream(tempFile)));
-    }
-
-    public static void openHtmlViewerOn(String title, String str)
-    {
-        try
-        {
-            File temp = createTempFile();
-            PrintStream text = createPrintStream(temp);
-            text.print(str);
-            text.close();
-            openHtmlViewerOn(title, temp);
-        }
-        catch (IOException e)
-        {
-            MessageDialog.openError(determineActiveShell(),
-                                    Messages.UIUtil_ErrorTitle,
-                                    Messages.UIUtil_UnableToCreateTempFile + "\n\n" + e.getMessage()); //$NON-NLS-1$
-        }
-    }
-
-    public static void openHtmlViewerOn(final String title, final File file)
-    {
-        final class HtmlRunnable implements Runnable
-        {
-            public void run()
-            {
-                try
-                {
-                    // This is cheating, but it works
-                    //new URLHyperlink(new Region(0, 0), filPath).open();
-
-                    PlatformUI.getWorkbench().getBrowserSupport().createBrowser(0, null, title, null).openURL(file.toURI().toURL());
-                }
-                catch (final Throwable e)
-                {
-                    Display.getDefault().asyncExec(new Runnable()
-                    {
-                        public void run()
-                        {
-                            MessageDialog.openError(determineActiveShell(),
-                                                    Messages.UIUtil_ErrorTitle,
-                                                    Messages.UIUtil_UnableToOpenWebBrowser + "\n\n" + e.getMessage()); //$NON-NLS-1$
-                        }
-                    });
-                }
-            }
-        }
-
-        Display.getDefault().syncExec(new HtmlRunnable());
-    }
-
-    public static Shell determineActiveShell()
-    {
-        if (Workbench.getInstance().getWorkbenchWindowCount() == 0)
-            return null;
-        else
-            return Workbench.getInstance().getActiveWorkbenchWindow().getShell();
-    }
-
-    public static void displayErrorDialog(String message)
-    {
-        MessageDialog.openError(determineActiveShell(),
-                                Messages.UIUtil_ErrorTitle,
-                                message);
-    }
-
-    public static void displayInfoDialog(String message)
-    {
-        MessageDialog.openInformation(determineActiveShell(),
-                                      Messages.UIUtil_NoteTitle,
-                                      message);
-    }
-
-    public static IEditorPart[] getDirtyEditors()
-    {
-        IWorkbenchWindow window = Workbench.getInstance().getActiveWorkbenchWindow();
-        if (window == null) return new IEditorPart[0];
-
-        IWorkbenchPage page = window.getActivePage();
-        if (page == null) return new IEditorPart[0];
-
-        return page.getDirtyEditors();
-    }
-
-    /**
-     * @return false iff the given file was open in an editor and had been modified, but
-     *         the user refused to save those changes
-     */
-    public static boolean askUserToSaveModifiedFiles()
-    {
-        return askUserToSaveModifiedFiles((List<IFile>)null);
-    }
-
-    /**
-     * @return false iff the given file was open in an editor and had been modified, but
-     *         the user refused to save those changes
-     */
-    public static boolean askUserToSaveModifiedFiles(IFile fileInEditor)
-    {
-        return askUserToSaveModifiedFiles(Collections.<IFile>singletonList(fileInEditor));
-    }
-
-    /**
-     * @return false iff one of the given files was open in an editor and had been modified, but
-     *         the user refused to save those changes
-     */
-    public static boolean askUserToSaveModifiedFiles(List<IFile> filesToCheck)
-    {
-        return askUserToSaveModifiedFiles(filesToCheck, getDirtyEditors());
-    }
-
-    /**
-     * @return false iff one of the given files was open in one of the given editors and had been
-     *         modified, but the user refused to save those changes
-     */
-    public static boolean askUserToSaveModifiedFiles(List<IFile> filesToCheck, IEditorPart[] dirtyEditors)
-    {
-        boolean promptUser = true;
-        for (int i = 0; i < dirtyEditors.length; i++)
-        {
-            IEditorInput editorInput = dirtyEditors[i].getEditorInput();
-            if (editorInput instanceof IFileEditorInput)
-            {
-                IFileEditorInput fileEditorInput = (IFileEditorInput)editorInput;
-                IFile file = fileEditorInput.getFile();
-                IPath fullPath = file == null ? null : file.getFullPath();
-                if (fullPath != null && hasFile(filesToCheck, fullPath) && dirtyEditors[i].isDirty())
-                {
-                    if (promptUser(promptUser))
-                    {
-                        //If user agreed to save files, proceed
-                        saveFileInEditorIfDirty(dirtyEditors[i]);
-                    }
-                    else return false;
-
-                    //Make sure the user is not prompted for every file
-                    promptUser = false;
-                }
-            }
-        }
-        return true;
-    }
-
-    private static boolean hasFile(List<IFile> files, IPath fullPath)
-    {
-        if (files == null) return true;
-
-        for (IFile f : files)
-        {
-            IPath fileFullPath = f.getFullPath();
-            if (fileFullPath != null && fileFullPath.equals(fullPath))
-                return true;
-        }
-        return false;
-    }
-
-    //This function returns user selection (OK or Cancel) as a boolean.
-    // If it is passed in "false", user is not prompted, and "true" is returned by default
-    private static boolean promptUser(boolean shouldPrompt)
-    {
-        boolean userSelection = true;
-
-        if (shouldPrompt)
-        {
-            userSelection = MessageDialog.openConfirm(null,
-                Messages.UIUtil_SaveFileTitle,
-                Messages.UIUtil_FilesBeingEditedHaveUnsavedChanges);
-        }
-
-        return userSelection;
-    }
-
-    //TODO: Possibly prompt the user if he/she wants to save the files that
-    // we are trying to refactor? Or should we save them by default?
-    private static void saveFileInEditorIfDirty(IEditorPart editor)
-    {
-        if (editor.isDirty())
-            editor.doSave(null);
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/WorkbenchSelectionInfo.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/WorkbenchSelectionInfo.java
deleted file mode 100644
index 99172fe..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/WorkbenchSelectionInfo.java
+++ /dev/null
@@ -1,437 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.rephraserengine.core.resources.DefaultResourceFilter;
-import org.eclipse.rephraserengine.core.resources.IResourceFilter;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Class providing information about the active page/editor/shell, current selection, etc. in the
- * Eclipse workbench.
- * <p>
- * This information is populated immediately when the class is constructed and is not updated.  If
- * the workbench selection changes between the time this object is constructed and the time one of
- * its methods is called, the information provided will be based on the old selection (i.e., what
- * was selected when the constructor was called).  Thus, {@link WorkbenchSelectionInfo} objects
- * should be created and then immediately used and disposed of.
- *
- * @author Jeff Overbey, Tim Yuvashev
- * 
- * @since 1.0
- */
-@SuppressWarnings("restriction")
-public class WorkbenchSelectionInfo
-{
-    private IResourceFilter resourceFilter;
-    private String errorMsg;
-
-    private IEditorPart activeEditor;
-    private IFile fileInEditor;
-    private ISelection selection;
-    private List<IResource> selectedResources;
-    private List<IFile> allFilesInSelectedResources;
-    private ITextSelection selectionInEditor;
-    private Boolean someFilesAreSelected;
-
-    /**
-     * Default constructor; uses a {@link DefaultResourceFilter} and tracks the selection in the
-     * active workbench window.
-     *
-     * @see #WorkbenchSelectionInfo(IResourceFilter)
-     */
-    public WorkbenchSelectionInfo()
-    {
-        this(new DefaultResourceFilter());
-    }
-
-    /**
-     * Constructor; uses the given resource filter and tracks the selection in the active workbench
-     * window.
-     *
-     * @param resourceFilter the resource filter that will be used to determine what resources are
-     *                       included in the results of {@link #getAllFilesInSelectedResources()}
-     *                       and {@link #getFileInEditor()}
-     */
-    public WorkbenchSelectionInfo(IResourceFilter resourceFilter)
-    {
-        this(resourceFilter, Workbench.getInstance().getActiveWorkbenchWindow());
-    }
-
-    /**
-     * Constructor; uses a {@link DefaultResourceFilter} and tracks the selection in the active
-     * workbench window.
-     *
-     * @see #WorkbenchSelectionInfo(IResourceFilter)
-     *
-     * @since 2.0
-     */
-    public WorkbenchSelectionInfo(IWorkbenchWindow workbenchWindow)
-    {
-        this(new DefaultResourceFilter(), workbenchWindow);
-    }
-
-    /**
-     * Constructor; uses the given resource filter and tracks the selection in the given workbench
-     * window.
-     *
-     * @param resourceFilter  the resource filter that will be used to determine what resources are
-     *                        included in the results of {@link #getAllFilesInSelectedResources()}
-     *                        and {@link #getFileInEditor()}
-     * @param workbenchWindow the workbench window whose selection will be tracked
-     *
-     * @since 2.0
-     */
-    public WorkbenchSelectionInfo(IResourceFilter resourceFilter, IWorkbenchWindow workbenchWindow)
-    {
-        this.resourceFilter = resourceFilter;
-
-        selection = null;
-        selectedResources = Collections.<IResource>emptyList();
-        activeEditor = null;
-        fileInEditor = null;
-        selectionInEditor = null;
-
-        if (workbenchWindow == null) return;
-
-        selection = workbenchWindow.getSelectionService().getSelection();
-
-        if (selection instanceof IStructuredSelection)
-        {
-            selectedResources = getResourcesSelectedIn((IStructuredSelection)selection);
-            allFilesInSelectedResources = null; // Populate on demand (see getAllFilesInSelectedResources())
-        }
-
-        IWorkbenchPage activePage = workbenchWindow.getActivePage();
-        if (activePage == null) return;
-
-        activeEditor = activePage.getActiveEditor();
-        if (activeEditor == null) return;
-
-        IEditorInput input = activeEditor.getEditorInput();
-        if (!(input instanceof IFileEditorInput)) return;
-
-        IFileEditorInput fileInput = (IFileEditorInput)input;
-        fileInEditor = fileInput.getFile();
-        if (!resourceFilter.shouldProcess(fileInEditor))
-        {
-            errorMsg = resourceFilter.getError(fileInEditor);
-            fileInEditor = null;
-        }
-
-        if (selection instanceof ITextSelection)
-        {
-            selectionInEditor = (ITextSelection)selection;
-            if (fileInEditor != null)
-            {
-                selectedResources = Collections.<IResource>singletonList(fileInEditor);
-                allFilesInSelectedResources = Collections.<IFile>singletonList(fileInEditor);
-            }
-        }
-    }
-
-    private List<IResource> getResourcesSelectedIn(IStructuredSelection selection)
-    {
-        List<IResource> result = new ArrayList<IResource>();
-
-        for (Object selectedItem : selection.toList())
-        {
-            if (selectedItem instanceof IAdaptable)
-            {
-                IAdaptable item = (IAdaptable)selectedItem;
-                IResource res = (IResource)item.getAdapter(IResource.class);
-                if (res != null)
-                {
-                    if (resourceFilter.shouldProcess(res))
-                        result.add(res);
-                    else
-                        errorMsg = resourceFilter.getError(res);
-                }
-            }
-        }
-
-        if (!result.isEmpty()) errorMsg = null;
-        return result;
-    }
-
-    /**
-     * Returns true if there is at least one file selected.
-     * <p>
-     * If the <code>canGuess</code> parameter is <code>true</code>, folders and projects will not be
-     * traversed recursively; instead, the method will optimistically return true iff the project is
-     * refactorable. The caller must then test whether {@link #getAllFilesInSelectedResources()} is
-     * empty. This can be used to improve performance.
-     * <p>
-     * If the <code>canGuess</code> parameter is <code>false<c/ode>, then this method returns true
-     * iff {@link #getAllFilesInSelectedResources()} is non-empty.
-     * 
-     * @since 3.0
-     */
-    public boolean someFilesAreSelected(boolean canGuess)
-    {
-        if (someFilesAreSelected == null)
-            someFilesAreSelected = internalSomeFilesAreSelected(canGuess);
-        
-        return someFilesAreSelected;
-    }
-
-    public boolean someFilesAreSelected()
-    {
-        return someFilesAreSelected(false);
-    }
-
-    private boolean internalSomeFilesAreSelected(boolean canGuess)
-    {
-        if (allFilesInSelectedResources != null)
-            return !allFilesInSelectedResources.isEmpty();
-        else
-            return internalSomeFilesAreSelected(
-                selectedResources.toArray(new IResource[selectedResources.size()]),
-                canGuess);
-    }
-
-    private boolean internalSomeFilesAreSelected(IResource[] resources, boolean canGuess)
-    {
-        for (IResource r : resources)
-        {
-            if (resourceFilter.shouldProcess(r))
-            {
-                if (r instanceof IFile)
-                {
-                    return true;
-                }
-                else if (r instanceof IFolder || r instanceof IProject)
-                {
-                    if (r.isAccessible())
-                    {
-                        if (canGuess)
-                        {
-                            // Guess that there are resources iff the project is refactorable
-                            return resourceFilter.shouldProcess(r.getProject());
-                        }
-                        else
-                        {
-                            try
-                            {
-                                if (internalSomeFilesAreSelected(((IContainer)r).members(), canGuess))
-                                    return true;
-                            }
-                            catch (CoreException e)
-                            {
-                                e.printStackTrace();
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-        return false;
-    }
-
-    /** @return true iff the active editor in the workbench is editing a document based on an
-     *          {@link IFile}, and that file was accepted by the resource filter passed to the
-     *          <code>WorkbenchSelectionInfo</code> constructor
-     *  @see #WorkbenchSelectionInfo(IResourceFilter)
-     */
-    public boolean editingAnIFile()
-    {
-        return fileInEditor != null;
-    }
-
-    /**
-     * @return the active editor in the workbench, or <code>null</code> if no editor is active 
-     * @since 2.0
-     */
-    public IEditorPart getActiveEditor()
-    {
-        return activeEditor;
-    }
-
-    /**
-     * @return the active editor in the workbench, if it is a text editor, or <code>null</code>
-     * if no editor is active or it is not a text editor
-     * @since 2.0
-     */
-    public ITextEditor getActiveTextEditor()
-    {
-        return activeEditor instanceof ITextEditor ? (ITextEditor)activeEditor : null;
-    }
-
-    /** @return the file open in the active editor in the workbench, or <code>null</code> if there
-     *          is no editor open, it is editing a document not based on an {@link IFile}, or the
-     *          file being edited was not accepted by the resource filter passed to the
-     *          <code>WorkbenchSelectionInfo</code> constructor
-     *  @see #WorkbenchSelectionInfo(IResourceFilter)
-     */
-    public IFile getFileInEditor()
-    {
-        return fileInEditor;
-    }
-
-    /** @return true iff the active editor in the workbench is a text editor, and the current
-     *          workbench selection is a text selection
-     */
-    public boolean isTextSelectedInEditor()
-    {
-        return selectionInEditor != null;
-    }
-
-    /** @return the text selection in the active editor in the workbench (if the active editor is a
-     *          text editor and the current workbench selection is a text selection), or
-     *          <code>null</code>
-     */
-    public ITextSelection getSelectionInEditor()
-    {
-        return selectionInEditor;
-    }
-
-    /**
-     * @return the contents of the active editor in the workbench (if the active editor is a
-     *         text editor and its contents can be retrieved), or <code>null</code> otherwise.
-     *         Note that, if the editor's contents have not been saved, the <i>unsaved</i>
-     *         version (i.e., the current text in the editor) will be returned.
-     * @since 2.0
-     */
-    public String getEditorContents()
-    {
-        if (activeEditor == null || !(activeEditor instanceof ITextEditor)) return null;
-
-        ITextEditor textEditor = (ITextEditor)activeEditor;
-        
-        IDocumentProvider dp = textEditor.getDocumentProvider();
-        if (dp == null) return null;
-        
-        IDocument doc = dp.getDocument(textEditor.getEditorInput());
-        if (doc == null) return null;
-        
-        return doc.get();
-    }
-
-    /**
-     * Returns a list of all of the resources in the current workbench selection.
-     * <p>
-     * If the user has selected one or more resources (i.e., files, folder, or projects, usually
-     * selected in the Project Explorer view), then this list will include all of those resources
-     * that are acceptable to the resource filter passed to the <code>WorkbenchSelectionInfo</code>
-     * constructor.
-     * <p>
-     * If the selection includes projects or folders, the {@link IResource} objects for the projects
-     * or folders themselves will be returned. To traverse these recursively and retrieve the files
-     * in them, use {@link #getAllFilesInSelectedResources()} instead.
-     * <p>
-     * If the user has selected text in a text editor, and the active editor in the workbench is
-     * editing a document based on an {@link IFile}, and that file was accepted by the resource
-     * filter passed to the <code>WorkbenchSelectionInfo</code> constructor, then this list contains
-     * only one file: the file in the active editor.
-     * 
-     * @see #WorkbenchSelectionInfo(IResourceFilter)
-     * 
-     * @since 2.0
-     */
-    public List<IResource> getSelectedResources()
-    {
-        return selectedResources;
-    }
-    
-    /**
-     * Returns a list of all acceptable files in the current workbench selection.
-     * <p>
-     * If the user has selected one or more resources (i.e., files, folder, or projects, usually
-     * selected in the Project Explorer view), then this list will include all of the files in the
-     * selected resources that are acceptable to the resource filter passed to the
-     * <code>WorkbenchSelectionInfo</code> constructor.  Projects and folders acceptable to the
-     * resource filter are traversed recursively, so this list will include all acceptable files
-     * in those resources.
-     * <p>
-     * If the user has selected text in a text editor, and the active editor in the workbench is
-     * editing a document based on an {@link IFile}, and that file was accepted by the resource
-     * filter passed to the <code>WorkbenchSelectionInfo</code> constructor, then this list contains
-     * only one file: the file in the active editor.
-     *
-     *  @see #WorkbenchSelectionInfo(IResourceFilter)
-     */
-    public List<IFile> getAllFilesInSelectedResources()
-    {
-        if (allFilesInSelectedResources == null)
-            allFilesInSelectedResources = findAllFilesIn(selectedResources);
-        
-        return allFilesInSelectedResources;
-    }
-
-    private List<IFile> findAllFilesIn(Collection<IResource> resources)
-    {
-        return findAllFilesIn(resources.toArray(new IResource[resources.size()]));
-    }
-
-    private List<IFile> findAllFilesIn(IResource[] resources)
-    {
-        ArrayList<IFile> files = new ArrayList<IFile>();
-        for (IResource r : resources)
-        {
-            if (resourceFilter.shouldProcess(r))
-            {
-                if (r instanceof IFile)
-                {
-                    files.add((IFile)r);
-                }
-                else if (r instanceof IFolder || r instanceof IProject)
-                {
-                    if (r.isAccessible())
-                    {
-                        try
-                        {
-                            files.addAll(findAllFilesIn(((IContainer)r).members()));
-                        }
-                        catch (CoreException e)
-                        {
-                            e.printStackTrace();
-                        }
-                    }
-                }
-            }
-        }
-        return files;
-    }
-
-    /**
-     * @return an error message to display to the user, if all of the files in the selection were
-     * filtered out, which describes why that happened and possibly what the user can do about it;
-     * may be <code>null</code>
-     */
-    public String getErrorMessage()
-    {
-        return errorMsg;
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/messages.properties b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/messages.properties
deleted file mode 100644
index 580fc1b..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/messages.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-UIUtil_ErrorTitle=Error
-UIUtil_FilesBeingEditedHaveUnsavedChanges=Some file(s) currently being edited have unsaved changes; these must be saved before the refactoring can proceed.\n\nDo you want to save these changes?
-UIUtil_NoteTitle=Note
-UIUtil_SaveFileTitle=Save Files Before Refactoring
-UIUtil_UnableToCreateTempFile=Unable to create temporary file.
-UIUtil_UnableToOpenWebBrowser=Unable to open Web browser.
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/Messages.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/Messages.java
deleted file mode 100644
index ba48434..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/Messages.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.search;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Externalized strings.
- * 
- * @since 2.0
- */
-public class Messages extends NLS
-{
-    private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.ui.search.messages"; //$NON-NLS-1$
-
-    public static String SearchPage_11;
-
-    public static String SearchPage_AnyStringAnyCharLabel;
-
-    public static String SearchPage_IllegalCharacterInPatternString;
-
-    public static String SearchPage_InvalidSearchPatternTitle;
-
-    public static String SearchPage_LimitToLabel;
-
-    public static String SearchPage_RegularExpressionLabel;
-
-    public static String SearchPage_ScopeDescription_EnclosingProjects;
-
-    public static String SearchPage_ScopeDescription_SelectedResources;
-
-    public static String SearchPage_ScopeDescription_WorkingSet;
-
-    public static String SearchPage_ScopeDescription_Workspace;
-
-    public static String SearchPage_SearchForLabel;
-
-    public static String SearchPage_SearchPatternIsInvalid;
-
-    public static String SearchPage_SearchPatternLabel;
-
-    public static String SearchQuery_nMatches;
-
-    public static String SearchQuery_OneMatch;
-
-    public static String SearchQuery_Searching;
-
-    public static String SearchQuery_SearchingFor;
-
-    public static String SearchResult_SearchResultTooltip;
-    static
-    {
-        // initialize resource bundle
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-    }
-
-    private Messages()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/OpenSearchPageAction.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/OpenSearchPageAction.java
deleted file mode 100644
index 868f8da..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/OpenSearchPageAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     UIUC - Fortran modifications, Rephraser Engine modifications
- *******************************************************************************/
-/*
- * Created on Jul 11, 2003
- */
-package org.eclipse.rephraserengine.ui.search;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.internal.Workbench;
-
-/**
- * Implements the Search/Fortran menu item; an action contribution that opens the Fortran Search
- * dialog.
- * <p>
- * Based on org.eclipse.cdt.internal.ui.search.OpenCSearchPageAction
- * 
- * @author bgheorgh
- * @author Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- * @author Jeff Overbey - moved into Rephraser Engine
- * 
- * @since 2.0
- */
-@SuppressWarnings("restriction")
-public abstract class OpenSearchPageAction implements IWorkbenchWindowActionDelegate
-{
-    private IWorkbenchWindow fWindow;
-
-    public void init(IWorkbenchWindow window)
-    {
-        fWindow = window;
-    }
-
-    public void run(IAction action)
-    {
-        if (fWindow == null || fWindow.getActivePage() == null)
-        {
-            beep();
-            return;
-        }
-
-        NewSearchUI.openSearchDialog(fWindow, searchPageID());
-    }
-
-    /**
-     * @return the ID of a search page, i.e., the ID of a <tt>page</tt> element contributed to the
-     *         <tt>org.eclipse.search.searchPages</tt> extension point
-     */
-    protected abstract String searchPageID();
-
-    public void selectionChanged(IAction action, ISelection selection)
-    {
-        // do nothing since the action isn't selection dependent.
-    }
-
-    public void dispose()
-    {
-        fWindow = null;
-    }
-
-    protected void beep()
-    {
-        IWorkbenchWindow window = Workbench.getInstance().getActiveWorkbenchWindow();
-        Shell shell;
-
-        if (window == null)
-        {
-            shell = null;
-        }
-        else
-        {
-            shell = window.getShell();
-        }
-
-        if (shell != null && shell.getDisplay() != null) shell.getDisplay().beep();
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchMatch.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchMatch.java
deleted file mode 100644
index 86961d8..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchMatch.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    QNX - Initial API and implementation
- *    Markus Schorn (Wind River Systems)
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.search.ui.text.Match;
-
-/**
- * A match returned from a search.
- * <p>
- * This class is identical to {@link Match}, except that it defines {@link #equals(Object)} (so
- * duplicates can be eliminated) and a more useful {@link #toString()}.
- * <p>
- * Based on org.eclipse.cdt.internal.ui.search.PDOMSearchMatch.
- * 
- * @author Quillback
- * @author Jeff Overbey
- * 
- * @since 2.0
- */
-public class SearchMatch extends Match
-{
-    public SearchMatch(IFile element, int offset, int length)
-    {
-        super(element, offset, length);
-    }
-    
-    @Override
-    public boolean equals(Object obj)
-    {
-        if (obj == this) return true;
-        if (!(obj instanceof SearchMatch)) return false;
-        
-        SearchMatch other = (SearchMatch)obj;
-        return getElement().equals(other.getElement())
-            && getOffset() == other.getOffset()
-            && getLength() == other.getLength();
-    }
-    
-    @Override
-    public int hashCode()
-    {
-        return 19*getElement().hashCode() + 11*getOffset() + getLength();
-    }
-    
-    @Override
-    public String toString()
-    {
-        return this.getElement().toString() +
-            ", offset " + this.getOffset() + //$NON-NLS-1$
-            ", length " + this.getLength(); //$NON-NLS-1$
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchPage.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchPage.java
deleted file mode 100644
index 821ef8c..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchPage.java
+++ /dev/null
@@ -1,664 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   QNX - Initial API and implementation
- *   IBM Corporation
- *   UIUC
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.search;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Pattern;
-import java.util.regex.PatternSyntaxException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.DialogPage;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.rephraserengine.core.util.Pair;
-import org.eclipse.rephraserengine.internal.ui.Activator;
-import org.eclipse.rephraserengine.ui.WorkbenchSelectionInfo;
-import org.eclipse.search.ui.ISearchPage;
-import org.eclipse.search.ui.ISearchPageContainer;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * A generic search page with "Search For" and "Limit To" panes.
- * <p>
- * Based on org.eclipse.cdt.internal.ui.search.PDOMSearchPage
- *
- * @author Doug Schaefer
- * @author Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- * @author Jeff Overbey - Rephraser Engine generalization
- *
- * @since 2.0
- */
-public abstract class SearchPage extends DialogPage implements ISearchPage
-{
-    // Dialog store id constants
-    /** @return a string used as a key to store dialog settings; should be unique per search page */
-    protected abstract String PAGE_NAME();
-    private final static String STORE_PREVIOUS_PATTERNS = "previousPatterns"; //$NON-NLS-1$
-    private final static String STORE_REGEX_SEARCH = "regexSearch"; //$NON-NLS-1$
-    private final static String STORE_SEARCH_FLAGS = "searchFlags"; //$NON-NLS-1$
-
-    private Combo patternCombo;
-    private String[] previousPatterns;
-
-    private MessageBox errorBox;
-
-    private Button regexButton;
-
-    private boolean isRegex;
-    private boolean firstTime = true;
-    private IStructuredSelection structuredSelection;
-    private ITextSelection textSelection;
-
-    private ISearchPageContainer pageContainer;
-
-    private Label patternLabel;
-    private final String globPatternString = Messages.SearchPage_AnyStringAnyCharLabel;
-    
-    /**
-     * This method receives the workbench selection as an argument and returns the corresponding
-     * {@link IResource}, if any.
-     * <p>
-     * This implementation can only identify a resource if the selection <i>is</i> an
-     * {@link IResource}, or if an editor is open and it is editing an {@link IFile}. Override this
-     * method to support other types of selections. (E.g., Photran overrides this method to handle
-     * the case where an <code>ICElement</code> -- a C model element -- is selected.)
-     */
-    protected IResource getResource(Object obj)
-    {
-        if (obj instanceof IResource)
-        {
-            return (IResource)obj;
-        }
-        else if (obj instanceof IAdaptable)
-        {
-            Object res = ((IAdaptable)obj).getAdapter(IResource.class);
-            return res == null ? null : (IResource)res;
-        }
-        else return null;
-    }
-
-    
-    /**
-     * Performs the search when the Search button is clicked
-     */
-    public boolean performAction()
-    {
-        String patternStr = patternCombo.getText();
-
-        // get the list of elements for the scope
-        List<IResource> scope = new ArrayList<IResource>();
-        String scopeDescription = determineScope(scope);
-
-        int searchFlags = getSearchFlagsFromSelectedButtons();
-
-        ISearchQuery job;
-        try
-        {
-            patternStr = patternStr.trim();
-            job = createSearchQuery(scope, scopeDescription, patternStr, convertPattern(isRegex, patternStr), searchFlags);
-        }
-        catch (PatternSyntaxException e)
-        {
-            errorBox = new MessageBox(this.getShell(), SWT.ICON_ERROR | SWT.OK);
-            errorBox.setText(Messages.SearchPage_InvalidSearchPatternTitle);
-            errorBox.setMessage(Messages.SearchPage_SearchPatternIsInvalid + e.getMessage());
-            errorBox.open();
-            return false;
-        }
-
-        NewSearchUI.activateSearchResultView();
-
-        NewSearchUI.runQueryInBackground(job);
-
-        saveDialogSettings(patternStr, searchFlags);
-
-        return true;
-    }
-    
-    /**
-     * @param isRegex is this a regular expression or not
-     * @param patternStr the string to be converted
-     * @return the converted string
-     * If the input string is a regex, compile it and return the same string.
-     * If the input string is not a regex (e.g. a Glob), convert the Glob to regex syntax
-     * and pass
-     */
-    protected String convertPattern(boolean isRegex, String patternStr) throws PatternSyntaxException
-    {
-        if (isRegex)
-        {
-            Pattern.compile(patternStr);
-            return patternStr;
-        }
-        else
-        {
-            return convertGlobToRegex(patternStr);
-        }
-    }
-
-    public static String convertGlobToRegex(String patternStr)
-    {
-        StringBuffer buff = new StringBuffer();
-        for (int i = 0; i < patternStr.length(); ++i) {
-            char c = patternStr.charAt(i);
-            switch (c) {
-            case '*':
-                buff.append(".*"); //$NON-NLS-1$
-                break;
-            case '?':
-                buff.append("."); //$NON-NLS-1$
-                break;
-            case '$':
-                buff.append("\\$"); //$NON-NLS-1$
-                break;
-            default:
-                if (!Character.toString(c).matches("[0-9a-zA-Z._]")) { //$NON-NLS-1$
-                    throw new PatternSyntaxException(Messages.SearchPage_IllegalCharacterInPatternString, patternStr, i+1);
-                }
-                buff.append(Messages.SearchPage_11 + c);
-            }
-        }
-        return buff.toString();
-    }
-    
-    protected abstract ISearchQuery createSearchQuery(
-        List<IResource> scope,
-        String scopeDescription,
-        String patternDescription,
-        String patternRegex,
-        int searchFlags);
-    
-    /**
-     * @param scope The list of resources to be populated. This function populates the list.
-     * @return the description of the search Scope.
-     */
-    private String determineScope(List<IResource> scope)
-    {
-        String scopeDescription;
-        switch (getContainer().getSelectedScope())
-        {
-            case ISearchPageContainer.SELECTED_PROJECTS_SCOPE:
-                scopeDescription = Messages.SearchPage_ScopeDescription_EnclosingProjects;
-                if (structuredSelection != null)
-                {
-                    for (Iterator< ? > i = structuredSelection.iterator(); i.hasNext();)
-                    {
-                        IResource res = getResource(i.next());
-                        if (res != null)
-                        {
-                            scope.add(res);
-                        }
-                    }
-                }
-                else
-                {
-                    IFile fileInEditor = new WorkbenchSelectionInfo().getFileInEditor();
-                    if (fileInEditor != null) scope.add(fileInEditor.getProject());
-                }
-                break;
-                
-            case ISearchPageContainer.SELECTION_SCOPE:
-                scopeDescription = Messages.SearchPage_ScopeDescription_SelectedResources;
-                if (structuredSelection != null)
-                {
-                    for (Iterator< ? > i = structuredSelection.iterator(); i.hasNext();)
-                    {
-                        IResource res = getResource(i.next());
-                        if (res != null)
-                        {
-                            scope.add(res);
-                        }
-                    }
-                }
-                break;
-                
-            case ISearchPageContainer.WORKING_SET_SCOPE:
-                IWorkingSet[] workingSets = getContainer().getSelectedWorkingSets();
-                scopeDescription = Messages.SearchPage_ScopeDescription_WorkingSet + toString(workingSets); // CSearchUtil.toString(workingSets);
-                for (int i = 0; i < workingSets.length; ++i)
-                {
-                    IAdaptable[] wsElements = workingSets[i].getElements();
-                    for (IAdaptable elem : wsElements)
-                    {
-                        IResource res = getResource(elem);
-                        if (res != null)
-                        {
-                            scope.add(res);
-                        }
-                    }
-                }
-                break;
-                
-            case ISearchPageContainer.WORKSPACE_SCOPE:
-            default:
-                scope.add(ResourcesPlugin.getWorkspace().getRoot());
-                scopeDescription = Messages.SearchPage_ScopeDescription_Workspace;
-                break;
-        }
-        return scopeDescription;
-    }
-    
-    /**
-     * @param patternStr The search string
-     * @param searchFlags The search flags (e.g. The check-boxes and radio buttons)
-     * Saves all the settings in search page, so that when the user re-opens the page,
-     * the same settings are restored.
-     */
-    private void saveDialogSettings(String patternStr, int searchFlags)
-    {
-        IDialogSettings settings = getDialogSettings();
-
-        settings.put(STORE_REGEX_SEARCH, isRegex);
-
-        if (previousPatterns == null)
-            previousPatterns = new String[] { patternStr };
-        else
-        {
-            // Add only if we don't have it already
-            boolean addit = true;
-            for (int i = 0; i < previousPatterns.length; ++i)
-            {
-                if (patternStr.equals(previousPatterns[i]))
-                {
-
-                    // move used pattern to the top of the list
-                    String tmpPattern = previousPatterns[i];
-                    System.arraycopy(previousPatterns, 0, previousPatterns, 1, i);
-                    previousPatterns[0] = tmpPattern;
-
-                    addit = false;
-                    break;
-                }
-            }
-            if (addit)
-            {
-                // Insert it into the beginning of the list
-                String[] newPatterns = new String[previousPatterns.length + 1];
-                System.arraycopy(previousPatterns, 0, newPatterns, 1, previousPatterns.length);
-                newPatterns[0] = patternStr;
-                previousPatterns = newPatterns;
-            }
-        }
-
-        settings.put(STORE_PREVIOUS_PATTERNS, previousPatterns);
-        settings.put(STORE_SEARCH_FLAGS, searchFlags);
-    }
-
-    public void createControl(Composite parent)
-    {
-        initializeDialogUnits(parent);
-        
-        GridData gd;
-        Composite result = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout(2, false);
-        layout.horizontalSpacing = 10;
-        result.setLayout(layout);
-        result.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-        gd = new GridData();
-        gd.horizontalAlignment = GridData.FILL;
-        gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_FILL;
-        gd.horizontalSpan = 2;
-
-        Label label = new Label(result, SWT.LEFT);
-        label.setText(Messages.SearchPage_SearchPatternLabel);
-        label.setLayoutData(gd);
-
-        // Pattern combo
-        patternCombo = new Combo(result, SWT.SINGLE | SWT.BORDER);
-
-        patternCombo.addModifyListener(new ModifyListener()
-        {
-            public void modifyText(ModifyEvent e)
-            {
-                setPerformActionEnabled();
-            }
-        });
-        
-        gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-        regexButton = new Button(result, SWT.CHECK);
-        regexButton.setText(Messages.SearchPage_RegularExpressionLabel);
-        gd = new GridData();
-        regexButton.setLayoutData(gd);
-        regexButton.addSelectionListener(new SelectionAdapter()
-        {
-            @Override
-            public void widgetSelected(SelectionEvent e)
-            {
-                isRegex = regexButton.getSelection();
-                setPerformActionEnabled();
-            }
-        });
-
-        gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-        gd.horizontalIndent = -gd.horizontalIndent;
-        patternCombo.setLayoutData(gd);
-        
-        gd = new GridData();
-        gd.horizontalAlignment = GridData.FILL;
-        gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_FILL;
-        gd.horizontalSpan = 2;
-        patternLabel = new Label(result, SWT.LEFT);
-        patternLabel.setText(globPatternString);
-        patternLabel.setLayoutData(gd);
-
-        Composite groupsComposite = new Composite(result, SWT.NONE);
-        layout = new GridLayout(2, false);
-        groupsComposite.setLayout(layout);
-        
-        gd = new GridData(GridData.FILL_HORIZONTAL);
-        gd.horizontalSpan = 2;
-        groupsComposite.setLayoutData(gd);
-
-        prepareToCreateSearchAndLimitButtons(groupsComposite);
-        
-        Group group = new Group(groupsComposite, SWT.NONE);
-        group.setText(Messages.SearchPage_SearchForLabel);
-        layout = new GridLayout();
-        layout.numColumns = 2;
-        group.setLayout(layout);
-        group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
-
-        addSelectionListener(createSearchForButtons(group));
-
-        group = new Group(groupsComposite, SWT.NONE);
-        group.setText(Messages.SearchPage_LimitToLabel);
-        layout = new GridLayout();
-        layout.numColumns = 1;
-        group.setLayout(layout);
-        group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
-
-        addSelectionListener(createLimitToButtons(group));
-
-        createAdditionalGroups(groupsComposite);
-        
-        setControl(result);
-        
-        Dialog.applyDialogFont(result);
-    }
-
-    private void addSelectionListener(Button[] buttons)
-    {
-        for (Button button : buttons)
-        {
-            button.addSelectionListener(new SelectionAdapter()
-            {
-                @Override
-                public void widgetSelected(SelectionEvent e)
-                {
-                    setPerformActionEnabled();
-                }
-            });
-        }
-    }
-
-    /**
-     * If any groups other than "Search For" and "Limit To" should appear in this dialog,
-     * this method should be overridden and those groups created here.
-     */
-    protected void createAdditionalGroups(Composite groupsComposite)
-    {
-    }
-
-    public void setContainer(ISearchPageContainer container)
-    {
-        pageContainer = container;
-    }
-
-    private ISearchPageContainer getContainer()
-    {
-        return pageContainer;
-    }
-
-    protected void setPerformActionEnabled()
-    {
-        boolean enable = true;
-
-        // if regex button is checked, remove description.
-        patternLabel.setVisible(!isRegex);
-
-        // Need a text string to search
-        if (patternCombo.getText().length() == 0) enable = false;
-
-        // Need a type
-        if (!isAtLeastOneSearchForButtonChecked()) enable = false;
-
-        getContainer().setPerformActionEnabled(enable);
-    }
-    
-    private IDialogSettings getDialogSettings()
-    {
-        IDialogSettings settings = Activator.getDefault().getDialogSettings();
-        IDialogSettings searchSettings = settings.getSection(PAGE_NAME());
-        if (searchSettings == null) searchSettings = settings.addNewSection(PAGE_NAME());
-        return searchSettings;
-    }
-
-    @Override
-    public void setVisible(boolean visible)
-    {
-        if (visible)
-        {
-            if (firstTime)
-            {
-                firstTime = false;
-                restoreDialogSettings();
-            }
-
-            patternCombo.setFocus();
-            setPerformActionEnabled();
-        }
-        super.setVisible(visible);
-    }
-    
-    private void restoreDialogSettings()
-    {
-        IDialogSettings settings = getDialogSettings();
-
-        int searchFlags = defaultSearchFlags();
-        try
-        {
-            searchFlags = settings.getInt(STORE_SEARCH_FLAGS);
-        }
-        catch (NumberFormatException e)
-        {
-            // was uninitialized, assume the defaults
-        }
-
-        previousPatterns = settings.getArray(STORE_PREVIOUS_PATTERNS);
-        if (previousPatterns != null) patternCombo.setItems(previousPatterns);
-        // Initialize the selection
-        ISelection selection = getContainer().getSelection();
-        if (selection instanceof IStructuredSelection)
-        {
-            structuredSelection = (IStructuredSelection)selection;
-        }
-        else if (selection instanceof ITextSelection)
-        {
-            textSelection = (ITextSelection)selection;
-            patternCombo.setText(textSelection.getText());
-        }
-
-        checkButtonsCorrespondingTo(searchFlags);
-
-        isRegex = settings.getBoolean(STORE_REGEX_SEARCH);
-        regexButton.setSelection(isRegex);
-    }
-
-    protected abstract int defaultSearchFlags();
-    
-    // Copy of CSearchUtil#toString
-    public static String toString(IWorkingSet[] workingSets)
-    {
-        if (workingSets != null && workingSets.length > 0)
-        {
-            String string = new String();
-            for (int i = 0; i < workingSets.length; i++)
-            {
-                if (i > 0) string += ", "; //$NON-NLS-1$
-                string += workingSets[i].getName();
-            }
-
-            return string;
-        }
-
-        return null;
-    }
-    
-    ////////////////////////////// SEARCH FOR, LIMIT TO BUTTONS //////////////////////////////
-    
-    // If this is too restrictive (i.e., check boxes and option buttons aren't sufficient),
-    // override the protected methods in this section to create custom controls and give
-    // the "search flags" integer a custom meaning.
-
-    private String[] searchForText;
-    private Integer[] searchForData;
-
-    private String[] limitToText;
-    private Integer[] limitToData;
-    
-    private Button[] searchForButtons;
-    private Button[] limitToButtons;
-
-    protected void prepareToCreateSearchAndLimitButtons(Composite groupsComposite)
-    {
-        List<Pair<String, Integer>> searchFor = searchFor();
-        searchForText = new String[searchFor.size()];
-        searchForData = new Integer[searchFor.size()];
-        int i = 0;
-        for (Pair<String, Integer> pair : searchFor)
-        {
-            searchForText[i] = pair.fst;
-            searchForData[i] = pair.snd;
-            i++;
-        }
-
-        List<Pair<String, Integer>> limitTo = limitTo();
-        limitToText = new String[limitTo.size()];
-        limitToData = new Integer[limitTo.size()];
-        i = 0;
-        for (Pair<String, Integer> pair : limitTo)
-        {
-            limitToText[i] = pair.fst;
-            limitToData[i] = pair.snd;
-            i++;
-        }
-    }
-
-    protected Button[] createSearchForButtons(Group group)
-    {
-        searchForButtons = new Button[searchForText.length];
-        for (int i = 0; i < searchForText.length; i++)
-        {
-            Button button = new Button(group, SWT.CHECK);
-            button.setText(searchForText[i]);
-            button.setData(searchForData[i]);
-            searchForButtons[i] = button;
-        }
-        return searchForButtons;
-    }
-
-    protected Button[] createLimitToButtons(Group group)
-    {
-        limitToButtons = new Button[limitToText.length];
-        for (int i = 0; i < limitToText.length; i++)
-        {
-            Button button = new Button(group, SWT.RADIO);
-            button.setText(limitToText[i]);
-            button.setData(limitToData[i]);
-            limitToButtons[i] = button;
-        }
-        return limitToButtons;
-    }
-
-    protected boolean isAtLeastOneSearchForButtonChecked()
-    {
-        for (int i = 0; i < searchForButtons.length; ++i)
-            if (searchForButtons[i].getSelection())
-                return true;
-        return false;
-    }
-
-    protected int getSearchFlagsFromSelectedButtons()
-    {
-        int searchFlags = 0;
-        for (int i = 0; i < searchForButtons.length; ++i) {
-            if (searchForButtons[i].getSelection())
-                searchFlags |= ((Integer)searchForButtons[i].getData()).intValue();
-        }
-        for (int i = 0; i < limitToButtons.length; ++i) {
-            if (limitToButtons[i].getSelection())
-                searchFlags |= ((Integer)limitToButtons[i].getData()).intValue();
-        }
-        return searchFlags;
-    }
-
-    protected void checkButtonsCorrespondingTo(int searchFlags)
-    {
-        checkAllSearchForButtonsCorrespondingTo(searchFlags);
-        selectFirstLimitToButtonCorrespondingTo(searchFlags);
-    }
-
-    protected void checkAllSearchForButtonsCorrespondingTo(int searchFlags)
-    {
-        for (int i = 0; i < searchForButtons.length; ++i)
-        {
-            boolean shouldCheck = (searchFlags & ((Integer)searchForButtons[i].getData()).intValue()) != 0;
-            searchForButtons[i].setSelection(shouldCheck);
-        }
-    }
-
-    protected void selectFirstLimitToButtonCorrespondingTo(int searchFlags)
-    {
-        boolean buttonHasBeenSelected = false;
-        for (int i = 0; i < limitToButtons.length; ++i)
-        {
-            if (buttonHasBeenSelected)
-            {
-                limitToButtons[i].setSelection(false);
-            }
-            else
-            {
-                buttonHasBeenSelected = (searchFlags & ((Integer)limitToButtons[i].getData()).intValue()) != 0;
-                limitToButtons[i].setSelection(buttonHasBeenSelected);
-            }
-        }
-    }
-
-    protected abstract List<Pair<String, Integer>> searchFor();
-
-    protected abstract List<Pair<String, Integer>> limitTo();
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchQuery.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchQuery.java
deleted file mode 100644
index 9bac711..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchQuery.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    QNX - Initial API and implementation
- *    Markus Schorn (Wind River Systems)
- *    Ed Swartz (Nokia)
- *    Quillback: Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.search;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-
-/**
- * An implementation of {@link ISearchQuery} that performs searches using
- * Photran's VPG.  Based on org.eclipse.cdt.internal.ui.search.PDOMSearchQuery
- * from CDT 5.0.
- *
- * @author Doug Schaefer
- * @author Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- * @author Kurt Hendle
- * @author Jeff Overbey
- * 
- * @param <T>
- * 
- * @since 2.0
- */
-public abstract class SearchQuery<T extends AbstractTextSearchResult> implements ISearchQuery
-{
-    protected List<IResource> scope;
-    protected String scopeDesc;
-    protected String patternDescription;
-    protected String patternRegex;
-    protected int searchFlags;
-
-    protected T result;
-
-    public SearchQuery(
-            List<IResource> scope,
-            String scopeDesc,
-            String patternDescription,
-            String patternRegex,
-            int flags)
-    {
-        this.scope = scope;
-        this.scopeDesc = scopeDesc;
-        this.patternDescription = patternDescription;
-        this.patternRegex = patternRegex;
-        this.searchFlags = flags;
-        
-        this.result = createInitialSearchResult();
-    }
-
-    protected abstract T createInitialSearchResult();
-
-    public String getLabel()
-    {
-        String description = "'" + patternDescription + "' - "; //$NON-NLS-1$ //$NON-NLS-2$
-        int count = result.getMatchCount();
-        if (count == 1)
-            return description + Messages.bind(Messages.SearchQuery_OneMatch, scopeDesc);
-        else
-            return description + Messages.bind(Messages.SearchQuery_nMatches, count, scopeDesc);
-    }
-
-    public boolean canRerun()
-    {
-        return true;
-    }
-
-    public boolean canRunInBackground()
-    {
-        return true;
-    }
-
-    public T getSearchResult()
-    {
-        return result;
-    }
-
-    /**
-     * Runs this search query, adding the results to the search result
-     */
-    public final IStatus run(IProgressMonitor monitor)
-    {
-        try
-        {
-            prepareToSearch(new SubProgressMonitor(monitor, 0));
-            result.removeAll();
-            runSearch(monitor);
-            finishSearch();
-        }
-        catch (CoreException e)
-        {
-            return e.getStatus();
-        }
-
-        return Status.OK_STATUS;
-    }
-
-    protected void prepareToSearch(IProgressMonitor monitor)
-    {
-    }
-
-    protected void runSearch(IProgressMonitor monitor) throws CoreException
-    {
-        int numResources = countResources();
-        int numPasses = numPasses();
-
-        monitor.beginTask(
-            Messages.bind(Messages.SearchQuery_SearchingFor, patternDescription, scopeDesc),
-            numResources*numPasses);
-
-        SearchResourceVisitor visitor = new SearchResourceVisitor(monitor);
-        for (IResource resource : scope)
-            resource.accept(visitor);
-        
-        for (int i = 1; i < numPasses; i++)
-            runAdditionalSearchPass(i+1, new SubProgressMonitor(monitor, numResources));
-        
-        monitor.done();
-    }
-
-    private int countResources() throws CoreException
-    {
-        final int[] counter = new int[] { 0 };
-        CountResourceVisitor countVisitor = new CountResourceVisitor(counter);
-        for (IResource resource : scope)
-        {
-            resource.accept(countVisitor);
-        }
-        int numResources = counter[0];
-        return numResources;
-    }
-
-    /**
-     * @return the number of search passes, i.e., the number of times the search resources will be iterated through
-     */
-    protected int numPasses()
-    {
-        return 1;
-    }
-
-    /**
-     * @param passNum pass number (2, 3, 4, ...)
-     * @param monitor
-     */
-    protected void runAdditionalSearchPass(int passNum, IProgressMonitor monitor) throws CoreException
-    {
-    }
-
-    /**
-     * An IResourceVisitor to just count the number of nodes that we'll visit when searching through
-     * the given resources.
-     */
-    private class CountResourceVisitor implements IResourceVisitor
-    {
-        private int[] counter;
-
-        public CountResourceVisitor(int[] counter)
-        {
-            this.counter = counter;
-        }
-
-        public boolean visit(IResource resource)
-        {
-            if (!shouldProcess(resource))
-            {
-                return false;
-            }
-            else
-            {
-                counter[0]++;
-                return !(resource instanceof IFile);
-            }
-        }
-    }
-    
-    protected abstract boolean shouldProcess(IResource resource);
-    
-    private class SearchResourceVisitor implements IResourceVisitor
-    {
-        private IProgressMonitor monitor;
-
-        public SearchResourceVisitor(IProgressMonitor monitor)
-        {
-            this.monitor = monitor;
-        }
-
-        public boolean visit(IResource resource)
-        {
-            if (!shouldProcess(resource)) return false;
-
-            monitor.worked(1);
-
-            if (resource instanceof IFile)
-            {
-                monitor.subTask(Messages.bind(Messages.SearchQuery_Searching, resource.getName()));
-                search((IFile)resource);
-                return false;
-            }
-            else return true;
-        }
-    }
-    
-    protected abstract void search(IFile file);
-
-    protected void finishSearch()
-    {
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchResult.java b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchResult.java
deleted file mode 100644
index 95f929e..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/SearchResult.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.ui.search;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.text.AbstractTextSearchResult;
-import org.eclipse.search.ui.text.IEditorMatchAdapter;
-import org.eclipse.search.ui.text.IFileMatchAdapter;
-import org.eclipse.search.ui.text.Match;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPathEditorInput;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.editors.text.ILocationProvider;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * A generic search result for a result in a text file.
- * <p>
- * This was originally used for Fortran Search Results.
- * 
- * @author kdecker3, slieter2
- * 
- * @since 2.0
- */
-public class SearchResult
-    extends AbstractTextSearchResult
-    implements IEditorMatchAdapter, IFileMatchAdapter
-{
-    private ISearchQuery query;
-
-    public SearchResult(ISearchQuery query)
-    {
-        super();
-        this.query = query;
-    }
-
-    @Override
-    public IEditorMatchAdapter getEditorMatchAdapter()
-    {
-        return this;
-    }
-
-    @Override
-    public IFileMatchAdapter getFileMatchAdapter()
-    {
-        return this;
-    }
-
-    public ImageDescriptor getImageDescriptor()
-    {
-        return null;
-    }
-
-    public String getLabel()
-    {
-        return getQuery().getLabel();
-    }
-
-    public ISearchQuery getQuery()
-    {
-        return query;
-    }
-
-    public String getTooltip()
-    {
-        return Messages.SearchResult_SearchResultTooltip;
-    }
-
-    /* IFileMatchAdapter Implementation */
-    public Match[] computeContainedMatches(AbstractTextSearchResult result,
-                                           IFile file)
-    {
-        return getMatches(file);
-    }
-
-    public IFile getFile(Object element)
-    {
-        return (IFile)element;
-    }
-
-    /* IEditorMatchAdapter Implementation */
-    public Match[] computeContainedMatches(AbstractTextSearchResult result,
-                                           IEditorPart editor)
-    {
-        IPath path = getFileName(editor);
-        IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
-        return getMatches(res);
-    }
-
-    public boolean isShownInEditor(Match match, IEditorPart editor)
-    {
-        IPath path = getFileName(editor);
-        return path != null && path.equals(((IFile)match.getElement()).getLocation());
-    }
-
-    /*
-     * Sourced From:
-     *  org.eclipse.cdt.internal.ui.search.PDOMSearchResult.getFileName(IEditorPart)
-     *  Tag: CDT_4_0_1 
-     */
-    private IPath getFileName(IEditorPart editor)
-    {
-        IEditorInput input = editor.getEditorInput();
-        if (input instanceof FileEditorInput)
-        {
-            FileEditorInput fileInput = (FileEditorInput)input;
-            return fileInput.getFile().getLocation();
-        }
-        else if (input instanceof IStorageEditorInput)
-        {
-            try
-            {
-                IStorage storage = ((IStorageEditorInput)input).getStorage();
-                if (storage.getFullPath() != null) { return storage.getFullPath(); }
-            }
-            catch (CoreException exc)
-            {
-                // ignore
-            }
-        }
-        else if (input instanceof IPathEditorInput)
-        {
-            return ((IPathEditorInput)input).getPath();
-        }
-        
-        ILocationProvider provider = (ILocationProvider)input.getAdapter(ILocationProvider.class);
-        if (provider != null)
-            return provider.getPath(input);
-        else
-            return null;
-    }
-}
diff --git a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/messages.properties b/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/messages.properties
deleted file mode 100644
index a7f8595..0000000
--- a/org.eclipse.rephraserengine.ui/src/org/eclipse/rephraserengine/ui/search/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-SearchPage_11=
-SearchPage_AnyStringAnyCharLabel=(* = any string, ? = any character)
-SearchPage_IllegalCharacterInPatternString=Illegal character in pattern string
-SearchPage_InvalidSearchPatternTitle=Invalid Search Pattern
-SearchPage_LimitToLabel=Limit to
-SearchPage_RegularExpressionLabel=Regular e&xpression
-SearchPage_ScopeDescription_EnclosingProjects=enclosing projects
-SearchPage_ScopeDescription_SelectedResources=selected resources
-SearchPage_ScopeDescription_WorkingSet=Working Set - 
-SearchPage_ScopeDescription_Workspace=Workspace
-SearchPage_SearchForLabel=Search for
-SearchPage_SearchPatternIsInvalid=The search pattern entered is invalid:\n
-SearchPage_SearchPatternLabel=Search pattern:
-SearchQuery_nMatches={0} matches in {1}
-SearchQuery_OneMatch=1 match in {0}
-SearchQuery_Searching=Searching {0}
-SearchQuery_SearchingFor=Searching for {0} in {1}
-SearchResult_SearchResultTooltip=Search Result